dby-feedback:现场写好反馈,用户过目后提交
用户遇到问题或想提改进建议时,你(agent)当场把经过写成完整反馈——你在现场, 复现步骤、原始错误文本、实际 vs 期望这三样你天然拿得到,而它们恰恰是用户最难提供的。
什么时候动
- 用户自然抱怨(「怎么又失败了」「这里好烦」「这个不对吧」「能不能改改」)→ 提议记一笔反馈: 一句话,不打断他正在做的事,不要求用户先学任何命令。例:「这个问题我可以当场写成反馈提交给维护者,要吗?」
- 提议可忽略:用户没回应就继续原任务;同一问题在同一会话内不再提第二次(同一错误再次出现也不提)。
- 用户直接点名(「给作者提个反馈」「报个 bug」)→ 直接进流程,不需要先制造一次失败。
- 🔴 绝不自动发送。发送永远发生在用户看过全文并明确同意之后。
流程
1. 分类并成文
先判定 bug(做了某事没得到该有的结果)/ friction(结果对了但过程别扭)/ idea
(希望多做点什么)三类之一,然后读 references/report-protocol.md,按该类分支的提问自查成文
(三支问的不是同一套东西;报告骨架固定、节内自由写)。写完按协议做真实性拦截:
每个细节必须对应本次会话真实发生过的工具调用,对不上的删掉或标「未核实」;观察与推测分开;
正文只取三类素材(本次会话的动作 / 错误与返回 / 白名单机器事实),绝不引用用户正文与资料。
报告存成一个临时 markdown 文件(如 feedback-report.md)。
2. 拼载荷(机器事实由脚本按白名单采集)
python3 scripts/submit_feedback.py prepare --category bug \
--report feedback-report.md --out feedback-payload.json \
--agent claude-code --command "1:node reconcile.mjs --dry-run"
--command 是本次会话里执行过的本仓命令与退出码(格式「退出码:命令」,可多次)。
机器事实只采白名单:各包 .dby/origin.json 的 slug/version/hash/ref/installedAt、scope 根 lock、
Node 版本、操作系统、agent 类型、上述命令。白名单之外一律不采——绝不采集
DOUBAOYA_API_KEY 或任何凭证、appid、author、publicAccountName、targetAccount、ipProfile、
用户文章正文、号章程、创作 DNA。别自己动手读配置文件“补充环境信息”,采集只走脚本。
脚本会对全部待发送内容(含你写的正文)跑凭证与高熵检测:命中则不发,按它指出的位置 处理后重新 prepare。
3. 用户过目全文
把 prepare 打印的全文原样呈现给用户——这就是将要发出去的那份(与 --out 文件逐字节一致),
不是摘要、不是改写。呈现后明确问一句「确认提交吗?」。
4. 只在明确同意后发送
- 用户明确说发 →
python3 scripts/submit_feedback.py send --payload feedback-payload.json --user-consented - 用户拒绝或没回应 → 不发。想留底就
keep --payload feedback-payload.json(只落本地,零请求); 不想留就删掉载荷与报告文件。--user-consented只在用户明确同意后才许传。
5. 交代结果
- 成功:告诉用户已提交,并给出返回的 requestId(后续追问可引用)。响应里出现
notice字段就原样转达。 - 端点不通 / 未配置 / 返回失败:脚本会把反馈落成本地 markdown(退出码 2),把它打印的绝对路径与 手动送达方式原样告诉用户——反馈已写好,不会因为端点不通而丢。
安装标识(对用户怎么说)
随反馈发送一个本地随机生成的安装标识:不含用户的任何身份信息(不从机器名/用户名/邮箱/密钥派生),
用户可随时 python3 scripts/submit_feedback.py reset-id 重置。用户问起时照这句说,
别用「匿名」二字——措辞红线见 references/maintainer-loop.md(维护者侧的消费路径也在那里)。
出岔子了怎么办
- 本机没有 python3 → 报告 markdown 已经写好了,直接给用户留存,并告诉他手动送达方式 (GitHub 仓库 zizhanovo/doubaoya-community 开 issue 贴入内容)。
- 端点长期不通 → 每次都会落本地文件,如实告诉用户目前只能手动送达,别反复重试刷失败。
- 用户中途改主意 → 立刻停下;已生成的本地文件按用户意愿保留或删除。
- v1.0.02026-08-30feat(dby-feedback): 新增反馈包 —— 现场 agent 当场写成完整反馈,用户过目后提交
文件内容在 GitHub 查看。
- SKILL.md5.5 KB
- evals/triggers.jsonl1.4 KB
- references/maintainer-loop.md1.8 KB
- references/report-protocol.md4.6 KB
- scripts/endpoint.json0.5 KB
- scripts/submit_feedback.py33.9 KB