donecheck
A plugin for DSH that checks whether your work has actually been completed. It automatically loops over the model’s responses to check for errors or shortcomings.
- Stars
- 1
- Language
- TypeScript
- Created
- Aug 15, 2026
- Updated
- Aug 16, 2026
Introduction
DoneCheck(完工核查)
DSH 插件:LLM 复查-修复闭环,阻止 agent 提前声称完成。
每次回答结束时,插件用独立复查(低温 0.2、JSON 判定契约、实际工具记录为证据)核对原始问题的每一条要求;发现问题就 steer 一轮真实修复(最多 4 轮),并把结果渲染为对话流里的"自动复查"卡片。
安装(需先装 dsh-super-injector)
dev_inject_plugin {"dir": "<本仓库路径>"}
注入后重启 DSH 自动恢复(注入器清单持久化),无需重复安装。
卸载
dev_uninject_plugin {"match": "dsh-donecheck"}
验证
dev_plugin_status # 应看到 @dsh-external/dsh-donecheck active(host ✓ / client ✓)
报告接口:GET /doublecheck/api/report?sessionId=<会话ID>&turn=<轮次>
可调参数(src/index.ts 顶部常量)
| 常量 | 默认 | 说明 |
|---|---|---|
REVIEW_TEMPERATURE | 0.2 | 复查温度(严格) |
MAX_FIX_ROUNDS | 4 | 最多修复轮数 |
TRIGGER_MIN_CHARS | 60 | 回答短于该长度不复查 |
JUDGE_PROVIDER / JUDGE_MODEL | 空 | 留空用回答模型复查;填了用独立判官 |
MAX_ANSWER_CHARS | 8000 | 复查时回答截断上限 |
MAX_TOOL_LOG_CHARS | 24000 | 工具记录截断上限;撞顶时复查提示词带截断警告 |
构建(离线,用 DSH checkout 的 tsdown)
# 在 DSH checkout 的 node_modules 有 tsdown 的前提下:
& <checkout>\node_modules\.bin\tsdown.cmd # 在仓库根目录执行
dev_reload_package {"packageName": "dsh-donecheck"} # 热重载(失败自动回滚)
产物:lib/index.js(host,零外部依赖)+ lib/client.js(浏览器 bundle)。
依赖说明
- 宿主侧:
webServer(报告前缀路由/doublecheck/api)、agent/turn-stopping事件、llm服务; - 客户端:
conversation.chat.turnTail槽(链式 select + 卡片)。 - 注入器校验白名单需含
conversation.chat.turnTail:dsh-super-injector ≥ 补丁版(KNOWN_SLOTS 已加入该槽位);若你的注入器版本较旧,注入会被"client 骨架校验"拦截,参照注入器源码KNOWN_SLOTS自行补上。