dsh-todo-guard ✅
DeepSeek Harness(dsh)web 的可靠 todo 面板插件:重启后照常显示(绕过官方面板重启后不显示的 bug),勾"完成"时自动校验证据。
非官方项目:社区成员独立开发维护,非 DeepSeek 官方产品。
截图

运行要求
- DSH web(≥ 0.1.0-rc.6)(
npx @deepseek-ai/dsh web启动) - 版本兼容(尽力兼容——设置卡片用双字段
key+id注册,同满足 rc.6(id 契约)与 rc.7+(key 契约);已在本地实测 rc.6/rc.8/0.1.1-rc.2,不保证每个 DSH 版本):
- DSH 0.1.0-rc.6 及以上(含 0.1.1-rc.1/rc.2):装 main(默认)。 - 保守回退(升级前的最后版本):DSH 0.1.0-rc.7/rc.8 → v0.1.4(dsh plugin add github:a903067276-rgb/dsh-todo-guard#v0.1.4);DSH 0.1.0-rc.6 → 冻结 rc6-compat(不再维护)。
- 维护策略:本插件将持续跟随 DSH 最新版本演进;对旧版 DSH 的兼容仅是尽力而为、不保证长期有效。
功能
- 重启不丢显示——顶替官方 todo 面板(
conversation.input.dock格子,priority: -1shadow);重启 dsh 后重新打开会话,todo 列表照常显示 - 完成校验三态——agent 勾"完成"时自动检查证据:
- (证据:路径) 且文件存在 → ✅ 绿勾(已验证) - (证据:路径) 但查无此物 → 🚫 拦截,agent 收到明确报错并需修正 - 无证据标记 → ⚠️ 放行,面板黄标"未验证"(不误伤"做了但忘写证据";未验证项肉眼可查)
证据写法
todo 条目内容里写 (证据:路径)(支持多条)。相对路径按会话工作目录解析,绝对路径直接用:
改完按钮(证据:lib/index.js)
跑通测试(证据:test/run.log)(证据:docs/结果.md)安装
dsh plugin --profile web add "github:a903067276-rgb/dsh-todo-guard#main"
# 重启 dsh web 生效工作原理(为什么重启后能显示)
- 数据:todo 存于会话事件流(官方
todo/write,last-wins 全量),dsh 重启后仍在磁盘——官方面板只是重启后没重新渲染 - 面板:官方
useProjection('todos')投影 + 槽位同 id 顶替(priority: -1,最低者渲染)——纯官方接口 - 校验:官方
tools/pre-execute瀑布在写入前拦截todo_write;证据不过则拒绝写入并给出可读原因
说明
- 纯本地逻辑:零模型调用,零 token 成本
- "伪造文件"是校验边界:证据文件存在 ≠ 真做了,但黄标体系让未验证项肉眼可查
- 严格模式(无证据也拦截)预留 v2
License
MIT