广告法违禁词检测·食品合规审查
下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-3jqa4t23--food-compliance-check.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-3jqa4t23/food-compliance-check。上架前一键核查药食同源目录、广告法极限词、医疗术语、GB7718标签规范与抖音/视频号/小红书/快手平台违禁词,逐条定位并给合规改法。
阅读全文 (展开查看完整说明)
概述
v1.3.1 重要变化(异步轮询,务必先读):本服务的完整分析由服务端深度模型生成,通常需要 1~2 分钟。为避免长时间连接被网络中断,接口采用"先秒回受理、再轮询取结果"两步式:第一次请求会很快返回
202和一个任务号,你需要每隔 2 秒用一次很短的请求去查结果,直到拿到最终成功或失败。不要用一条长连接死等,每次请求都必须设置很短的超时(见下)。计费口径(v1.3.1):每个用户/设备前 3 次免费,第 4 次起 ¥2.9/次;免费次数按当前设备/网络环境计数,更换设备、清除缓存可能重新计次。
Windows 用户注意:不要在 Git Bash 里依赖
seq/sleep/grep轮询(实测会因命令缺失导致拖到 4 分钟以上)。Windows 请直接用系统自带的 PowerShell 轮询脚本(见下方「PowerShell 调用范式」);macOS / Linux 可用 curl 范式。
功能说明
药食同源食品合规审查服务,内置原料目录、广告法违禁词、GB7718与平台规则库,输出可直接修改的合规清单。
你将得到:总体风险等级、配料合规/广告法/GB7718/平台违禁词四类检查结果、逐条违规位置与修改建议、必改项与建议项。完整分析/生成在服务端由 DeepSeek V4 Pro 完成并以结构化 JSON 返回;本说明只描述能力、入参、出参与调用方式,不提供可离线复制的内部生成规则,以保证产出质量与持续更新。
何时使用
当用户要检测食品宣传文案/配料表/标签是否违规、查极限词医疗术语、做上架前合规质检时使用。
调用方式(Pay Skill · 前 3 次免费,第 4 次起 ¥2.9/次 · v1.3.1 异步轮询)
本技能为 SkillHub Pay Skill,完整结果由服务端实时计算后返回,本地不内置生成规则,免费额度用完且未付费不会返回任何结果。
- 请求地址:
https://liangziqiyuan.cn/api/skill/food-compliance-check/invoke(等价https://liangziqiyuan.cn/api/skill/food-compliance-check) - 请求方法:
POST - 请求头:
Content-Type: application/json - 请求体:JSON,字段见下方「请求参数」
- 每次 HTTP 请求都必须设置短超时
--max-time 3(curl)或-TimeoutSec 3(PowerShell),即 3 秒连接/读取超时;请求之间相互独立,不要保持长连接。 - 付费前置检查(最先做):需要走到付费(402→微信支付)时,在调用
weixinpay_pay之前必须先确认宿主已安装并启用weixinpay插件;未安装则先引导安装、用户拒绝则中止,切勿在插件缺失时盲目发起支付。完整分支见下方「X402 支付协议·第0步」。
第一步:发起请求,区分 202(已受理)与 402(待支付)
发起一次 POST,可能得到两种状态码:
A. 返回 HTTP 202 Accepted(已受理,进入轮询)
响应体示例:
{
"task_id": "一串任务号",
"status": "processing",
"poll_url": "/api/skill/task/一串任务号",
"poll_after_ms": 2000,
"async": true
}从 body 取出 task_id 与 poll_url,进入第二步轮询。免费额度内的请求也会先回 202,并带 quota 字段(used 已用次数、remaining 剩余免费次数、limit=3)。
B. 返回 HTTP 402 Payment Required(免费已用完,需要付费)
响应头含 WeixinPay-Required(支付授权码 paymentCode)与 X-Out-Trade-No(商户订单号),响应体含 amount(2.9 元)、out_trade_no、x402.scheme=wechat-pay。按下方「X402 支付协议」完成授权后,带 X-Out-Trade-No 用相同请求体重新 POST;这次重新 POST 同样可能先返回 202,拿到后照样进入第二步轮询。
第二步:轮询取结果(GET poll_url)
- 拼接完整地址:
https://liangziqiyuan.cn+poll_url,方法GET,同样设置 3 秒短超时。 - 每隔 2 秒(poll_after_ms)请求一次,根据返回 JSON 的
status处理:status="processing":仍在生成,继续等 2 秒再查,同时向终端用户显示"正在生成,请稍候…"。- 成功:返回体不再带
status=processing,而是直接包含result(完整审查结果),即最终答案,停止轮询。 status="failed":本次生成失败,把error用通俗话告诉用户并建议稍后重试;停止轮询,不要自动无限重发。
- 最长轮询 150 秒(约 75 次)。超过仍未成功:停止轮询,提示用户"服务端生成时间过长,请稍后重试",不要自动重新发起新请求(避免重复占用次数/重复扣费)。
- 宿主能力兜底(强制):收到 202 后必须按上面节奏每 2 秒发起一次 3 秒短 GET 轮询;如果当前宿主 Agent 无法执行"循环多次 GET 轮询",就不要挂住连接、也不要无限重试,而是立即结束当前请求,并明确告诉用户:"服务正在生成中,请稍等十几秒后,在对话里再问我一次结果"。任何情况下都不允许用一条长连接死等、或不间断地疯狂重试。
- 轮询是只读查询,不会重复扣费、不会重复占用免费次数;中途用户取消只是不再查询,服务端会自行收尾。
X402 支付协议(仅在返回 402 时)
- 第0步·付费前置检查(必须最先做):在发起任何付费动作、调用
weixinpay_pay之前,先确认当前宿主 Agent(如 WorkBuddy 等客户端)已安装并启用weixinpay(微信支付)插件——通过宿主提供的插件列表或插件查询能力,确认weixinpay存在且可用。分三种情况处理:- 已安装并启用:继续下面的第 1 步。
- 未安装或未启用:不要调用
weixinpay_pay,也不要反复发起支付;明确提示"当前 Agent 暂不支持微信支付付费能力,请先安装或启用 weixinpay 插件后再发起本次检测",并引导用户完成安装/启用,待用户确认插件就绪后再从第 1 步继续。 - 用户拒绝安装或插件无法启用:中止本次付费流程,提示"支付插件未就绪,本次检测已取消,您可在插件就绪后重新发起",不产生任何扣费。
- 首次请求:直接 POST 调用;若返回 402,取响应头
WeixinPay-Required、X-Out-Trade-No。 - 发起支付(仅在第0步确认 weixinpay 插件就绪后):调用宿主的
weixinpay_pay工具,把WeixinPay-Required的值作为 paymentCode 传入,向用户发起微信支付(¥2.9/次,支持 Native 扫码或 AI 专属卡授权)。 - 支付后重试:授权完成后,在请求头携带
X-Out-Trade-No: {out_trade_no},用相同的请求体再次 POST;若返回 202,按第二步轮询取结果。 - 重试仍 402:等待 3 秒重试一次;仍失败则提示用户检查微信授权状态,并保留订单号。
- 异常处理:服务暂时不可用时保留订单号稍后重试;退款通过 SkillHub 平台申请。
说明:402 只是"待支付挑战",在用户完成微信授权前不会扣费、也不会产生订单计费;202 只是"已受理",同样未计费,只有最终成功产出才计一次。
PowerShell 调用范式(Windows 自带,推荐,不依赖 seq/sleep/grep)
打开方式:开始菜单搜 "PowerShell" → Windows PowerShell;以下脚本可直接粘贴,把
$Body里的待审查文案换成实际内容。
# Windows PowerShell 5.1+;每一次请求都 -TimeoutSec 3(短连接)
$Base = "https://liangziqiyuan.cn"
$Uri = "$Base/api/skill/food-compliance-check/invoke"
$Body = '{"content":"本产品采用天然原料,绝不添加防腐剂,具有神奇功效"}'
# 第一步:发起。HTTP 202 取 task_id;HTTP 402 进入支付分支
$resp = $null
try {
$resp = Invoke-RestMethod -Method Post -Uri $Uri -ContentType "application/json" `
-Body $Body -TimeoutSec 3
} catch {
$code = $_.Exception.Response.StatusCode.value__
if ($code -eq 402) {
Write-Host "免费次数已用完,需支付 ¥2.9/次:请按 X402 协议完成微信支付,拿到订单号后用下面的『支付后重发』。"
} else {
Write-Host "发起失败 HTTP $code,可原样重试一次。"
}
return
}
$taskId = $resp.task_id
if (-not $taskId) { $resp | ConvertTo-Json -Depth 10; return } # 非异步直接出结果
# 第二步:每 2 秒轮询一次,最多 75 次(150 秒)
for ($i = 0; $i -lt 75; $i++) {
Start-Sleep -Seconds 2
try {
$r = Invoke-RestMethod -Method Get -Uri "$Base/api/skill/task/$taskId" -TimeoutSec 3
} catch {
Write-Host "本次查询网络抖动,2 秒后继续。"
continue
}
if ($r.status -eq "processing") { Write-Host "正在生成,请稍候…"; continue }
if ($r.status -eq "failed") { Write-Host "生成失败:$($r.error),请稍后重试,失败不占次数。"; break }
$r | ConvertTo-Json -Depth 30 # 含最终 result,结束
break
}支付完成后带订单号重发(替换 订单号),拿到 202 后照上面第二步轮询:
$headers = @{ "X-Out-Trade-No" = "订单号" }
$resp = Invoke-RestMethod -Method Post -Uri $Uri -ContentType "application/json" `
-Body $Body -Headers $headers -TimeoutSec 3
$resp | ConvertTo-Json -Depth 10curl 调用范式(macOS / Linux;Windows 也可用 curl.exe,但轮询建议用上面的 PowerShell)
# 1) 发起(注意 --max-time 3,短连接)
curl -sS --max-time 3 -X POST
"https://liangziqiyuan.cn/api/skill/food-compliance-check/invoke"
-H "Content-Type: application/json"
-d '{"content":"待审查文案"}'
# - 若返回 402:走上面的支付流程,加头 -H "X-Out-Trade-No: 订单号" 后重发
# - 若返回 202:取 poll_url,循环查询(macOS/Linux 支持 seq/sleep/grep):
for i in $(seq 1 75); do
sleep 2
R=$(curl -sS --max-time 3 "https://liangziqiyuan.cn/api/skill/task/任务号")
# R 中含 "status":"processing" 就继续;含 "result" 即成功结束;含 "status":"failed" 即失败结束
echo "$R" | grep -q '"status":"processing"' || { echo "$R"; break; }
done请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
content | string | 是 | 待审查的宣传文案(必填其一) |
options.product_name | string | 否 | 产品名称 |
options.ingredients | string | 否 | 配料表 |
options.marketing_copy | string | 否 | 宣传文案(可替代content) |
返回结果
轮询成功后返回 result 对象,主要结构如下(节选示意,实际为完整结果):
{
"overall_risk": "高/中/低",
"checks": [{"category":"广告法违禁词","status":"fail",
"items":[{"word":"违禁词","context":"位置","severity":"高","suggestion":"改法"}]}],
"must_fix": ["必改项"], "should_fix": ["建议项"]
}触发场景(运行案例)
- 用户:这段详情页文案帮我查违禁词 → 发起后轮询取逐条违规与改法
- 用户:配料表帮我看哪些不在药食同源目录 → 发起后轮询取配料合规结论
- 用户:抖音上架被限流,帮我查平台违禁词 → 发起后轮询取平台词清单与替换
注意事项
- 本版本为两步式异步:先收 202 任务号,再每 2 秒短连接轮询;严禁用一条超过 60 秒的长连接死等(会被网络中断导致失败)。
- Windows 轮询优先用 PowerShell 脚本,避免 Git Bash 缺少
seq/sleep/grep造成长时间空等。 - 每个用户/设备前 3 次免费、第 4 次起 ¥2.9/次;未完成微信支付授权前,接口只返回 402,不会返回任何生成/分析结果,也不会扣费;202 仅代表已受理。
- 输入内容越完整(产品名、配料表与完整宣传文案),返回结果质量越高。
- 最终结果为标准 JSON,可直接解析后写入文档、表格或进入下一步制作流程。
- 本技能为按次计费的在线服务,结果以服务端当次返回为准;只有最终成功产出才计一次,失败不占用次数。