都爆鸭
技能包玩法更新日志关于我们
登录 / 注册
都爆鸭

把选题、写稿、查违禁词这类新媒体运营活,封装成一句话就能交给你的 Agent 执行的技能与接口。

登录 / 注册

产品

技能包接口玩法接入更新日志关于我们

资源

AI 纯文本开源技能库

支持

Email隐私政策服务条款
© 2026 都爆鸭 Hub · 深圳观原生息科技有限公司粤ICP备2026109612号统一社会信用代码:91440300MAKD15WB8P深圳办公地址:广东省深圳市宝安区银田工业区331创意园H515联系电话:17673992597
开源技能包/dby-banned-words
dby-banned-wordsv1.3.0最近更新 2026-08-26

违禁词检测

发布前扫描敏感词与平台风险词,高亮命中位置,帮你安全过审。

#合规#违禁词

多平台违禁词检测

一段文案,一次比对小红书 / 抖音 / 公众号违禁词口径,出对照表 + 全平台安全改写。


流程

  1. 收文案。
  2. 逐平台检测——对 xiaohongshu、douyin、gongzhonghao 各调用一次都爆鸭接口。 用户没指定平台时先问一句要哪几个,默认三平台各计费一次。
  3. 风险对照——把各平台结果并排成一张表:平台 / 判定 / 风险类别 / 命中词 / 建议。
  4. 统一改写——本鸭综合所有平台的营销语境命中,给出一版改完即可全平台发布的安全文案。

每个平台是一次独立计费调用。用户只关心某几个平台时用 --platforms 缩小范围。


运行脚本

请求由 scripts/check_multi.py 代发;只有绕开脚本自己拼请求时才读 dby-gateway/references/protocol.md。

# 默认三平台全查
python3 scripts/check_multi.py "这款美白神器三天见效,全网最低价,无效退款"

# 只查指定平台(逗号分隔,省额度)
python3 scripts/check_multi.py "你的文案" --platforms xiaohongshu,douyin
  • 脚本对每个平台 POST 一次,把所有平台结果汇成一个 map 后以 JSON(ensure_ascii=False,缩进 2)打印。 raw 里与 content / originalContent 重复的两键默认剥掉,加 --raw 保留。
  • 单个平台失败不影响其它平台:失败的平台在 map 里记 error,其余照常返回。

接口契约

  • 地址:POST https://doubaoya.com/api/apis/tool/check-banned-words/call
  • 鉴权:请求头 Authorization: Bearer $DOUBAOYA_API_KEY
  • 请求体(每个平台一次,参数严格如下):
{ "platform": "xiaohongshu", "content": "<待检测文案>" }

platform 取值依次迭代:"xiaohongshu"、"douyin"、"gongzhonghao"。

  • 返回信封:
{
  "success": true,
  "requestId": "req_xxx",
  "data": {
    "source": "contentSafety.sensitiveWords",
    "content": "这款美白神器三天见效,<span class=\"sensitive-word\">全网</span><span class=\"banned-word\">最低</span>价",
    "originalContent": "这款美白神器三天见效,全网最低价",
    "prohibitedWordsType": ["禁用词", "敏感词"],
    "raw": {}
  },
  "error": null
}

每次调用都先看 success:为 true 时读 data 里这五个字段(就这五个); 为 false 时读 error.code / error.message。

字段含义
originalContent未标注的原文
content标注版正文,命中处被 <span> 包裹——唯一能定位「哪几个词命中」的地方。类名带信息:banned-word = 禁用词,sensitive-word = 敏感词,industry-banned-word = 行业禁用词,与 prohibitedWordsType 里的类别一一对应 ⇒ 能逐词说出它是哪一类
prohibitedWordsType命中的风险类别数组(类别名,不是命中词)
source / raw来源标识与上游原始返回

🔴 接口不返回「风险等级」「命中词清单」「替换建议」这三类字段,别去读不存在的字段。 命中词要靠上面那条从 content 的 <span> 里取,替换建议由你结合上下文给。

🔴 零命中照常计费(与 NO_RESULT 免费口径无关),别当 bug 报。

命中分级:哪些改,哪些只报

上游按子串匹配,不看语境。命中分两档,对照表两档都列,改写只动第一档:

  • 营销语境命中 → 改:极限词 / 功效承诺 / 医疗用语等落在卖货、承诺、比较句里的(「全网最低」「三天见效」)。
  • 只报不改:营销语境外的程度副词(「最后一步」「第一次」「一定要备份」「完全免费开源」里的 最后 / 第一 / 一定 / 完全)与英文子串误中(Assistant 命中 ass)。对照表照列命中词, 「建议」一列写「语境不构成广告承诺,保留」。 《广告绝对化用语执法指南》(市场监管总局 2023)第五、六条列的不适用情形也归这档: 只表经营理念 / 愿望(「顾客第一」)、同品牌自我比较(「我们最贵的一款」)、消费提示 (「最佳食用时间」)、国标分级用语、商品名 / 商标 / 奖项本身含极限词、限定时间地域的事实 (「2025 年本市销量第一」——但要能举证)。
  • 必改且从重:医疗、医美、药品、器械、保健食品、投资理财、教育培训里的疗效 / 收益 / 效果承诺 (「有效率 100%」「保过」「稳赚」),指南第十一条明说这三类不算轻微,不享受首违免罚。
  • 平台自有口径,接口未必查得到:小红书对种草夸大词(绝绝子 / yyds / 闭眼买)限流, 对外站导流(加 vx / 私信 / 留言扣 1)禁言扣分;抖音把「夸张表达功效」判劣质营销。 文案里见到这几类,即使三平台都回「无命中」,也在对照表「建议」一列提一句。

每个平台怎么判「有没有命中」

  • 有命中:prohibitedWordsType 非空数组,或 content 与 originalContent 不相等(任一成立即算)。
  • 确实没命中:拿到了 content 或 originalContent(证明检测跑过了),且上面两条都不成立。
  • 没拿到结果:该平台条目里有 error,或 content 与 originalContent 都缺失/为 null。 🔴 这时该平台一律标「检测失败」,绝不能填成「合规」/「low」,不替用户下合规结论。

错误处理

脚本逐平台处理 HTTPError / URLError,把错误写进对应平台条目并继续其它平台: 单平台失败不影响其余平台,报错码怎么办照 dby-gateway/references/protocol.md 第 6 条。


输出模板

脚本返回的是 JSON map,本鸭须解析后填入下面的模板,禁止把原始 JSON 直接甩给用户。

1. 逐平台风险对照表

平台判定风险类别 (prohibitedWordsType)命中词(从 content 的标注提取)建议(本鸭给)
小红书【命中 / 无命中 / 检测失败】【类别,逗号分隔】【命中词,逗号分隔】【替换建议】
抖音【…】【…】【…】【…】
公众号【…】【…】【…】【…】
  • 平台名用中文(小红书 / 抖音 / 公众号)。
  • 「判定」一列严格按上面判据填,三选一,不要自创风险等级——接口不回等级。
  • 某平台走「没拿到结果」分支(有 error,或正文字段全缺)时,该行判定填检测失败并附 code/缺了哪个字段, 🔴 不许填「无命中」,也不许编造结果。
  • 「建议」一列由本鸭结合上下文给出——接口不提供建议。
  • 全平台均判定为「无命中」时,对照表照常列出,判定一列写「无命中」。

2. 全平台安全改写

综合所有平台的命中词与建议,给出一版改完即可在所有目标平台发布的文案:

【安全改写后的整段文案。要求:覆盖各平台所有营销语境命中(只报不改的那档原样保留);语义通顺、语气与风格不变; 不加 emoji、不重写结构、不加引用或代码块,直接输出。改动处可加粗斜体标出。】


输出规则

  1. 先出逐平台风险对照表,再出全平台安全改写,不输出开场白与结束语。
  2. 脚本返回 JSON 后必须解析填模板,禁止直接输出原始 JSON。
  3. 安全改写要同时满足所有平台口径:以命中最多的平台为基线消词。
  4. 某平台失败时,照常输出其余平台结果,并在对照表标注该平台失败原因; 🔴 有平台检测失败时,末尾必须提示「该平台未完成检测,别当它通过」,不要写成全平台可发。
  5. 全平台都判定为「无命中」时:对照表如实标注,安全改写处写「原文已可全平台发布,无需改动」。
  6. 绝不回显 DOUBAOYA_API_KEY。

其他

  • PROVIDER_FAILED(502)是上游临时抖动,已自动退款,直接重试,不会重复扣费。
  • 文案经 HTTPS 发至都爆鸭后端,脚本本地不持久化原文与结果。

关于响应里的 notice 字段

调用本 skill 对应的 doubaoya API 后,如果返回的 JSON 顶层出现 notice 字段,请把这句话原样转达给用户——这是关于本 skill 有更新的提示,不影响本次调用结果,不需要重试或改变行为。

  1. v1.3.02026-08-26feat(dby-banned-words): 接手合规话术 —— 过审 / 合规检测 / 公众号违禁词从 dby-api 迁入
  2. v1.2.32026-08-25fix(dby-banned-words): SKILL.md 承诺转达的 notice 是条死指令 —— 脚本把整个信封丢了,闸只扫 .mjs 所以一直没红
  3. v1.2.22026-08-25chore(skills): 11 个 SKILL.md 加 changelog 字段,patch 递增;盖戳生成 index.json 与四份兼容视图
  4. v1.1.02026-08-24refactor(dby): 11 个 SKILL.md 主体压到 ≤6000 字符——冷门分支下沉 references/,协议改引用不再内联;违禁词入口统一指 dby-banned-words
  5. v1.1.12026-08-24refactor(dby): 11 个 SKILL.md 按写作手艺去废话——删解释/元叙述/历史叙事/跨包重复红线,两处 description 去流程复述
  6. v1.2.02026-08-24fix(dby): 20 场景模拟测试后的路由与文档修正
  7. v1.1.12026-08-24fix(dby-scripts): 外部 agent 模拟测试暴露的四处脚本缺口
  8. v1.2.12026-08-24refactor(dby): 逐包领域调研后的规则更正与触发词补齐
  9. v1.0.12026-08-22docs(dby-banned-words): 实调校准两处——span 类名带类别信息,零命中照样计费
  10. v1.0.02026-08-20feat(skills)!: 统一 dby- 前缀,合并发布包,下架 investigator——公众号执行外脑定位收敛

文件内容在 GitHub 查看。

  • SKILL.md9.7 KB
  • evals/triggers.jsonl1.0 KB
  • scripts/check_multi.py7.0 KB

一键安装

curl -fsSL https://doubaoya.com/install.sh | sh

已装过?让你的 agent 跑 dby-update 对齐最新版。

技能包信息

当前版本
v1.3.0
版本迭代
10 次
首次发布
2026-08-20
最近更新
2026-08-26
包内文件
3 个
许可证
PolyForm Noncommercial 1.0.0

开放源码

全部源码公开可审计。

在 GitHub 查看

相关技能包

公众号写作引擎

从选题到成稿的公众号写作主链:钩子、结构、口语化,全程按你的号章程走。

查看详情

公众号发布

把排好版的图文一键存进你自己授权的公众号草稿箱,只存草稿、不群发。

查看详情