linkage18/donecheck

linkage18★ 1JavaScriptLast synced: 2026-08-15

Open on GitHub

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.

README excerpt

DoneCheck(完工核查) 让 LLM 代理不再"自以为做完"——自动复查-修复循环插件,面向 DeepSeek Harness (DSH) 动态插件运行时。 LLM 代理最常见的隐性失败不是"答错",而是 提前自我终止 :它认为自己已经完成任务、改完了代码,实际上没有。DoneCheck 在每次回答结束后自动执行一轮 带实际操作结果的复查 ,发现问题就带着工具权限迭代修复,直到满足要求或达到轮次上限——并全程把"做了什么、为什么停"讲清楚。 项目对外名称: DoneCheck ;代码内部标识符沿用 doublecheck 。 适用模型 :特别适合 deepseek-flash 这类轻量高速模型 ——速度快但更容易"自以为做完",复查-修复闭环正好把完成度兜住;对更强模型同样有效,收益随模型可靠性递减。 核心特性 - 复查看实据 :复查员能看到回答全文 + 实际操作记录(改了什么文件、命令输出、失败信息),判定的是"实际完成度",不是"两遍回答像不像"; - 修复是真步骤 :修复轮是正式会话消息,模型保留工具权限——能真改代码、真跑命令,而不是嘴上说改; - 多轮迭代闭环 :复查-修复循环最多 4 轮,满足要求或达到上限即停止,并明确说明结束原因; - 来源可追溯 :每轮修复新增/修改的内容按轮次标记( 【复查A2补充】 …),一眼看出哪段是哪一轮补的; - 判定可靠 :复查输出 JSON 契约,三级解析回退,无法解析时保守处理—— 宁可不动,不乱动 ; - 零侵入 :不修改会话日志、不污染模型上下文、不干扰正常回合;任何失败都静默兜底。 背景:它解决什么问题 代理模型在工具型任务(改代码、跑命令、写文档)上经常犯一个隐蔽错误: 任务只完成了一部分,模型却宣布完成 。典型表现: - 改了 A 文件,B 文件的要求被遗漏; - 声称"测试通过",实际没跑; - 输出里写着"已实现",代码里根本没有。 为什么"让它再想一遍"不够?因为 独立重答看不到实际操作结果 ——闭卷重考只能发现"问题没覆盖",发现不了"代码没改到位、命令没跑通"。DoneCheck 的核心转变:复查员带着 实际结果 (工具调用/输出的累积记录)去核对完成度。 工作原理 总体流程 复查协议(Review Protocol) 要素 说明 输入 【原始问题】+【待复查的回答】+【执行工具的实际记录】(工具调用名/参数/结果,按执行顺序,含失败标记) 判定契约 严格 JSON: {"completed": true, "problems": []} 或 {"completed": false, "problems": ["问题1(引用原文证据)", ...]} 检查要点 ① 每条要求是否真正完成(代码改到位?命令跑通?结果符合要求?)② 是否存在"自认为完成实际没做完"③ 有无遗漏要求 长消息…

View full README on GitHub →
Tools / Devdsh-plugin

Category