dby:都爆鸭公众号工具箱
入口,围绕这条飞轮逐跳推进:
选题 → 写草稿 → 排版(标题 / 封面 / 合规)→ 代发草稿箱 → 复盘 →(反哺)下一个选题
你负责识别模式、选 skill、组织衔接;具体取数 / 写作 / 排版 / 诊断由被路由到的 skill 执行。
如何判断模式
先完整读取本次对话,提取已说过的目标、材料、约束和已完成的步骤;能判断路由就直接路由,不重复索取。
/dby 新手入门,或「新手入门」「第一次用本鸭」「教我怎么用」→ 模式 C:读references/onboarding.md(引导话术 + 四条硬性规则),引导完继续带用户完成一次实际使用,按模式 A 路由表选 skill 并立即执行。- 本次对话里已经有任何本鸭 skill 的输出(选题表、爆文清单、草稿、诊断报告等)→ 模式 B(任务后导航)。
- 没有 skill 输出,但用户已表达明确需求 → 模式 A,按需求直接路由。
- 没有 skill 输出,也没有可判断路由的信息 → 模式 A 的空对话引导。
模式 A:任务前路由
| 用户意图信号 | 路由到 |
|---|---|
| 「更新 / 升级 本鸭 / doubaoya skill」「检查本鸭更新」 | dby-update(只同步官方 doubaoya-community,不碰其他 skill、不动本地 config) |
| 不知道写点啥 / 想写但没思路 | dby-write(先走它的免费选题步,不用先去 dby-api 挖) |
| 想挖选题 / 追热点 / 看全网热榜(暂不动笔) | dby-api |
| 想按主题看同赛道爆文、研究爆款规律、参考爆款仿写(还没到动笔) | dby-api(真要动笔了交给 dby-write) |
| 要动手写公众号文章 / 写个初稿 / 按我的风格写 | dby-write(写作主干的 owner,读号章程与创作 DNA) |
| 这篇为什么没人看 / 复盘一下 / 数据怎么样 | dby-write(复盘模式) |
| 有一段旧文案想改成公众号爆款风 | dby-rewrite(纯本地,不联网、不需要 key) |
| 想建 / 更新公众号人设、文风 DNA,让 AI 写得更像你 | dby-charter(创作 DNA) |
| 想清楚定位 / 变现 / 该写什么号 | dby-charter(定位教练,出「号章程」存回服务端) |
| 要起公众号标题 / 优化标题 | dby-api |
| 要封面灵感 / 爆款封面参考 / 配色构图套路 | dby-api(给数据,不出图;要成品图去 dby-image) |
| 画张图 / 帮我画 / AI 出图 / 文生图 / 图生图 / 改图 / 配张插图 / 配张封面图 / 帮我配封面 / 来张主视觉 | dby-image(唯一真出图的包,落成本地文件给路径) |
| 怕踩违禁词 / 要过审 / 合规改写 / 违禁词检测 | dby-banned-words(小红书 / 抖音 / 公众号三平台一次比对 + 安全改写) |
| 想改 / 定制公众号排版样式(换配色 / 标题条 / 引用卡) | dby-theme |
| 文章写好了要排版 + 封面 + 存进自己公众号草稿箱 | dby-publish(md→HTML→封面→草稿;只存草稿、不群发) |
| 已有排好版的图文,只想推进草稿箱 | dby-publish(publish_draft.py,需先绑定公众号) |
| 想给公众号做体检 / 看发文表现 / 竞品账号对照 | dby-api(skill.wechat.accountAnalyzer) |
| 想追更某个号 / 复盘竞品最近发了啥 | dby-api(先 api.gzh.searchUser 拿 ID,再 api.gzh.workList;上游只认 ID 不认昵称) |
| 想找对标账号 / 起号参考 / 搭竞品矩阵 | dby-api(skill.wechat.similarAccount) |
| 想看行业头部榜 / 竞品跟踪 | dby-api(日 / 周 / 月热度指数榜) |
| 要把已发布的公众号文章拉正文 / 归档 | dby-api(tool.content.parseDetail) |
| 跨平台取数(抖音 / 小红书选题、PDF 提取等) | dby-api |
上表回答「该用哪个能力」。卡在那条能力怎么调——鉴权头、该打哪条路由、入参规格从哪儿拉、
404/DEDICATED_ROUTE/NO_RESULT怎么办——去看dby-gateway。 它是基础设施,不承接业务意图:「帮我写文章 / 挖选题 / 起标题 / 查违禁词」永远落到上表里的业务 skill,绝不路由到它。
Step 1:听用户说。 用户已说过明确需求就直接路由,不要求重述,也不铺工具菜单。空对话或确无判断依据时,原样回复 references/onboarding.md 的「空对话引导」再等补充;信息仍不足但能缩小范围时,只问一个与已有信息直接相关的问题。
Step 2:路由。 确认意图后直接调对应 skill,不再问第二个问题;唯一例外:路由目标需要素材而对话里没有(如配封面却无文章 / 主题)时允许问一句。先说「明白了,这一步交给 {skill 名称} 来处理」,然后立即执行该 skill 的完整流程。
Step 3:交付时带回执。 按 references/receipt-example.md 附 查阅 / 执行 / 质检 / 跳过 四行;发现了但按终态判断不该跑的 skill 写进「跳过」并说明原因。
模式 B:任务后导航
每次只选当前最该走的一步,依据是上一个 skill 的具体结论、用户新反馈和当前目标;用户已明确下一步时按他的目标走。
路由优先级、终态门、禁止误路由以 references/wechat-routing.json 为准。
- 认上下文:识别上一个 skill 是什么,提取核心结论 / 关键信号。
- 查导航图:读
references/navigation.md(来源 skill × 结论信号 → 下一步,含「我这个号今天该做什么选题」的正确三步),选当前最该走的一步。 - 说依据:「刚得到 X,所以这一步先用 Y 处理 Z」。
- 直接继续:立即执行选中的 skill,不让用户重输命令。
- 分不清两个方向时,只问一个能决定路由的关键问题,答完立即选一个。
- 带回执交付:按
references/receipt-example.md附四行。
❌ 绝不把用户的账号名 / IP 名丢进搜索接口。IP 名是他是谁(领域 / 人设 / 受众),不是搜索词; 综合热点用不带关键词的直取,IP 只用于匹配筛选。
边界情况
- 用户同时有多个需求 → 问:「先解决哪个?一个一个来。」
- 需求不在路由表范围内 / 想闲聊 → 不接,用
references/onboarding.md的「边界话术」原句回复。
出岔子了怎么办
- 判据文件读不到(
references/wechat-routing.json缺失或读取失败)→ 退回本文上面那张路由表继续路由,不猜终态(终态未明就问一句),并如实告诉用户判据缺失、结论可能不全。 - 路由到的包没装 → 告诉用户跑
/dby-update装齐,同一次对话只说一次;他不想装或再次撞上同一个缺口时,直接给包名让他自己装,不要再路由一遍(那会转圈)。 - 路由错了(用户说选错包了)→ 说清当时依据哪个信号选的,然后重新路由;已经做完的活不重跑,把它当作新的上下文接着往下走。
- v1.3.22026-08-26feat(dby-image): 公众号封面验收补裁切模拟 —— 微信只收一张封面,1:1 是裁出来的不是另画一张
- v1.4.02026-08-26feat(dby): 路由判据归位到本包,并补出岔子怎么办 —— 此前 dby 把自己的判据托管在 dby-api 里
- v1.4.12026-08-26fix(dby-update): 补两道安全闸 —— 上游 slug 先过形状校验再拼路径;复原命令的路径改走参数传递
- v1.3.22026-08-25test(dby): 补触发用例基线(evals/triggers.jsonl),正文未动
- v1.3.12026-08-25chore(skills): 11 个 SKILL.md 加 changelog 字段,patch 递增;盖戳生成 index.json 与四份兼容视图
- v1.2.02026-08-24fix(dby): 20 场景模拟测试后的路由与文档修正
- v1.1.12026-08-24refactor(dby): 11 个 SKILL.md 按写作手艺去废话——删解释/元叙述/历史叙事/跨包重复红线,两处 description 去流程复述
- v1.1.02026-08-24refactor(dby): 11 个 SKILL.md 主体压到 ≤6000 字符——冷门分支下沉 references/,协议改引用不再内联;违禁词入口统一指 dby-banned-words
- v1.3.02026-08-24refactor(dby): 逐包领域调研后的规则更正与触发词补齐
- v1.0.12026-08-22fix(dby): 「配」字在两行里撞车——把「配张封面图」显式判给 dby-image
- v1.0.02026-08-21fix(dby): 主路由补上 dby-image —— 它是唯一一个主路由从头到尾没提过的包
- v1.0.02026-08-20feat(skills,tools): 主干只留一处真相,三处指针指向 dby-write,并加闸钉死
- v1.0.02026-08-20feat(skills)!: 统一 dby- 前缀,合并发布包,下架 investigator——公众号执行外脑定位收敛
- v1.0.02026-08-19fix(wechat-article-pipeline): 按修正后的 spec 收窄——只换调用知识的写法,业务一步不动
- v1.0.02026-08-19refactor(skills)!: charter + ip 二合一 —— 同一份档案的两个字段,本来就不该是两个包
- v1.0.02026-08-19feat(validate): 立差集闸与 description 预算闸,并在闸的保护下砍掉 1482 字符
- v1.0.02026-08-19refactor(skills)!: 退役 A 批四包,话术已在上一笔到位,指针与清单同笔改指总入口
- v1.0.02026-08-19refactor(skills)!: 退役最后五个薄壳与 seedream 墓碑,写作链的三跳交给总入口
- v1.0.02026-08-19refactor(skills)!: 四对孪生合并进 doubaoya——换 description 与删四个壳同一笔落地
- v1.0.02026-08-18docs(routing): 给网关加指针,且把它限定在「怎么调」这个问题域
- v1.0.02026-08-18docs(routing): 交付带最小回执,把「发现了但不该跑」和「没发现」分开写
- v1.0.02026-08-18docs: 收口本轮自造的三处漂移——mera 清单可见性、回执编造量、草稿发布计价
- v1.0.02026-08-18feat(skills)!: 删掉 15 个零/低用量薄壳 + MP Ark,59 → 43
- v1.0.02026-08-12docs(wechat-theme-studio): 说清主题要落两处,发文流水线不读服务端主题
- v1.0.02026-08-10feat(dby): 路由表接入 dby-charter + README 技能清单
- v1.0.02026-07-22feat(community): 新增 dby 主入口路由 + dby-update 更新入口(对齐公众号飞轮/精确scoped更新)
- v1.0.02026-07-22feat(community): 新增 wechat-theme-studio(Codex改主题+预览闭环) + Codex 插件清单(.codex-plugin/marketplace),整库可作Codex正式插件
文件内容在 GitHub 查看。
- SKILL.md8.2 KB
- evals/triggers.jsonl0.9 KB
- references/navigation.md5.2 KB
- references/onboarding.md2.9 KB
- references/receipt-example.md2.1 KB
- references/wechat-routing.json4.2 KB