核对工具实测证据,拦截未经验证的完成断言
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/Yangxingyu789/dsh-doubt.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 29 处,展示前 18 条)
- 执行外部命令固定命令lib/verify.js:64
? spawn('cmd.exe', ['/d', '/s', '/c', [bin, ...argv.slice(1)].map(winQuote).join(' ')], { - 执行外部命令来自配置/变量lib/verify.js:69
: spawn(bin, argv.slice(1), { cwd: opts.cwd, windowsHide: true, stdio: ['ignore', 'pipe', 'pipe'] }); - 执行外部命令固定命令lib/verify.js:95
spawn('taskkill', ['/pid', String(child.pid), '/T', '/F'], { stdio: 'ignore', windowsHide: true }); - 读取本地文件lib/verify.js:125
const st = statSync(p); - 读取本地文件lib/verify.js:147
const st = statSync(p); - 读取本地文件lib/verify.js:153
text = readFileSync(p, 'utf8'); - 发起网络请求lib/verify.js:184
const res = await fetch(url, { method: 'GET', redirect: 'follow', signal: AbortSignal.timeout(budget) }); - 执行外部命令来自配置/变量lib/verify.js:218
child = spawn(process.execPath, ['--input-type=module', '-e', EXPR_RUNNER], { windowsHide: true, stdio: ['pipe', 'pipe', 'ignore'] }); - 发起网络请求lib/evidence.js:25
const res = await fetch(url, { signal: AbortSignal.timeout(cfg.onlineTimeoutMs) }); - 读取本地文件lib/evidence.js:85
statSync(root); - 读取本地文件lib/evidence.js:102
const st = statSync(p); - 读取本地文件lib/local.js:6
return walkUp(dirname(fileURLToPath(import.meta.url)), (d) => existsSync(join(d, 'package.json'))) ?? ''; - 读取本地文件lib/local.js:74
return JSON.parse(readFileSync(path, 'utf8')); - 读取本地文件lib/local.js:87
if (existsSync(direct) && statSync(direct).isFile()) - 读取本地文件lib/local.js:87
if (existsSync(direct) && statSync(direct).isFile()) - 读取本地文件lib/local.js:115
if (existsSync(cand) && statSync(cand).isFile()) - 读取本地文件lib/local.js:115
if (existsSync(cand) && statSync(cand).isFile()) - 发起网络请求lib/network.js:23
const res = await fetch(url, { method: 'GET', redirect: 'follow', signal: AbortSignal.timeout(this.opts.timeoutMs) });
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
README
由 DeepSeek 最新模型翻译生成dsh-doubt
English ·中文 ·中文文档
DeepSeek Harness(DSH)的回答完成度守卫:在最终回答显示前核对它引用的真实工具证据,避免模型把未验证的断言当成已完成的任务。
为什么需要它
Agent 的回答经常“听起来完成了”:文件写了却没读回、依赖靠猜、命令没跑过就宣布成功。
默认失败模式是自信的叙述加一条没有证据的断言。
dsh-doubt 在回合结束处加一道审核边界。它不问模型“你确定吗”,而是检查本轮实际发生的工具调用和结果。
它做什么
- 执行前闸门:写 .dsh/profiles、.dsh/plugins、杀进程、改服务/注册表、递归删除、写系统目录等 live 变更,会在工具执行前走宿主审批;没有审批通道时直接拒绝执行。
- 最终回答审核:回答显示前,由一个无工具 reviewer 把可执行断言(命令、路径、版本、符号、实测数字)与本轮真实工具调用/结果逐条对照;未通过的草稿不会显示,审核无法完成时按原稿放行并记录状态。
- verify_claims 工具:在本机真实执行提交的检查(命令 / 文件 / HTTP / 表达式),返回实测输出,让断言有据可依。
- 交付文档溯源:写 Markdown/TXT 交付物但正文没有出处标注时,要求补逐步骤溯源表。
展开完整文档(README 剩余 1 节)
dsh-doubt English ·中文 ·中文文档 DeepSeek Harness(DSH)的回答完成度守卫:在最终回答显示前核对它引用的真实工具证据,避免模型把未验证的断言当成已完成的任务。 为什么需要它 Agent 的回答经常“听起来完成了”:文件写了却没读回、依赖靠猜、命令没跑过就宣布成功。 默认失败模式是自信的叙述加一条没有证据的断言。 dsh-doubt 在回合结束处加一道审核边界。它不问模型“你确定吗”,而是检查本轮实际发生的工具调用和结果。 它做什么 - 执行前闸门:写 .dsh/profiles、.dsh/plugins、杀进程、改服务/注册表、递归删除、写系统目录等 live 变更,会在工具执行前走宿主审批;没有审批通道时直接拒绝执行。 - 最终回答审核:回答显示前,由一个无工具 reviewer 把可执行断言(命令、路径、版本、符号、实测数字)与本轮真实工具调用/结果逐条对照;未通过的草稿不会显示,审核无法完成时按原稿放行并记录状态。 - verify_claims 工具:在本机真实执行提交的检查(命令 / 文件 / HTTP / 表达式),返回实测输出,让断言有据可依。 - 交付文档溯源:写 Markdown/TXT 交付物但正文没有出处标注时,要求补逐步骤溯源表。 - live 变更守卫:已执行的 live 变更必须披露备份位置、可直接执行的回滚命令和动作后健康检查。 它做的是证据核对,不保证回答一定正确。 Token 开销与循环保护 doubt_review 是插件内部回执,注册在宿主中执行,但从模型工具列表中隐藏。 模型不应手动调用或猜测 reviewId。旧会话仍可能诱发误调用:混合调用中的正常工具照常执行;仅有误调用时停止该循环并如实说明尚未完成验证,避免反复消耗整段上下文。 正常的“审核提出缺口 → 补查 → 再审核”流程保留。 审核缺少材料时不会通过删除更多证据重审;不支持的 reasoning 参数在同一次分段审核及格式重试中只探测一次。每次审核在插件日志中记录 审核用量,包括输入/输出字符数、耗时和模型返回的 token/缓存计数;未返回 usage 表示未知,不能当作零或用字符数替代。 这些日志不记录提示词、工具原文或凭据。详见 检查记录。 工作方式 dsh-doubt 请求流程 工具调用先经过执行前闸门;最终回答在显示前经过无工具证据审核。边界说明见架构文档,完整配置见 配置参考,常见问题见 FAQ。 要求 - Node.js ^22.19 或 >=24 - 集成测试(verify:host*)需要 DSH 桌面应用或宿主包 - 已在 DSH 桌面运行时 0.2.1-rc.2 上测试;见 兼容性 - 主要平台是 Windows;Linux/macOS 可用于开发和 CI 安装 DSH 插件管理器(推荐) dsh plugin --profile web add github:Yangxingyu789/dsh-doubt#v0.1.7 重启 harness 并刷新界面;插件在 Settings → Plugins 中管理,可随时启用/禁用。 需要可复现安装时请固定 tag 或 commit。 Windows 桌面(离线安装) 下载 dsh-doubt-0.1.7-source.zip Release 资产(或 clone v0.1.7 tag),在解压后的源码目录运行 PowerShell: pnpm install node .\scripts\install-local.mjs --profile desktop cd "$env:USERPROFILE\.dsh\profiles\desktop" pnpm install --offline 安装脚本会构建插件,把 lib/、配置、资源和文档复制到 $DSH_HOME\plugins\dsh-doubt,备份 profile 的 package.json,并把依赖和 bundle 写入目标 profile。升级前请先备份现有插件目录。完成后重启 DSH;如果 profile 配置里禁用了插件,需要显式启用。 --profile <name> 可切换到其他 profile,目标 profile 目录必须已存在。 从源码安装 git clone --branch v0.1.7 https://github.com/Yangxingyu789/dsh-doubt.git cd dsh-doubt pnpm install node scripts/install-local.mjs --profile desktop 如果只是开发插件本身: pnpm install npm run build npm test 快速开始 重启 DSH 后,问一个需要真实证据的问题,例如: 读取 package.json,只回答它的版本号。 最终回答会先与真实 read 结果对照;未通过审核的草稿不会显示。需要直接核对断言时可用 verify_claims。插件日志中的 审核用量 记录字符数与 provider usage,不记录提示词、工具原文或凭据。 配置(节选) 配置都在插件的 config: 块里(见 cordis.patch.yml)。 | 键 | 默认 | 含义 | | guardPreExecute | true | 危险 live 变更在工具执行前询问/拒绝 | | guardLiveMutation | true | 已执行的 live 变更要求备份、回滚命令与健康检查 | | requireOperationEvidence | true | 用工具证据审核最终回答 | | reviewMaterialOnly | true | 草稿没有实质断言时跳过审核模型 | | reviewNotice | off | 审核未完成时的末尾提示:banner / short / off | | requireProvenance | true | 交付文档无出处标注时要求溯源表 | 版本与发布历史 - 公开发布序列:0.1.x。 首个公开版本是 0.1.0。 - 0.7.x、0.8.x 是公开前的内部开发 tag,不是安装目标,也不应当按“更新的公开版本”排序。 - 请使用最新的 v0.1.x GitHub Release 及其源码资产。插件版本以 package.json、 dsh-plugin.json 和运行时插件横幅为准。 限制 - 闸门与扫描器是命令/文本启发式;特殊引号、变量、嵌套 shell 或其他编码载荷可能被保守拦截或漏判。闸门不是安全边界。 - 最终审核依赖一次模型调用;无法完成时会 fail-open 放行,日志有记录,但默认 reviewNotice: off 不会在回答后追加可见提示。审核本身也会消耗模型 token。 - reviewer 检查证据,不检查语义正确性或用户意图;用户原话的复述可能被当作上下文,而不是新的模型断言。 - 主要目标是 Windows;Linux/macOS 支持覆盖开发和 CI。 - 公开的 0.1.x 接口与配置项可能变化。 安全 漏洞报告方式见 SECURITY.md。不要在公开 issue 中粘贴凭据、token、本地会话内容或可利用载荷。 开发 npm run check # tsc --noEmit npm run build # 编译到 lib/ npm test # 12 个单元测试文件 npm run smoke # 在裸 Cordis 应用里加载插件 npm run audit # 仓库一致性自检 npm run verify # 完整验证链(有 DSH_APP_DIR 时包含宿主测试) 贡献说明见 CONTRIBUTING.md,完整中文文档索引见 docs/zh/README.md。 验证溯源 历史验证快照、命令和已知限制记录在 docs/provenance.md。 Token 审计记录见 docs/token-audit-2026-10-21.md。 许可证 MIT,见 LICENSE。更新日志:CHANGELOG.md。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Yangxingyu789/dsh-doubt
核对工具实测证据,拦截未经验证的完成断言
相关插件 · 安全 / 权限
智能体逆向工程morluto/rea
用智能体逆向工程任何东西,从应用行为到原生二进制。
★ 415,267已汉化DSH
73.3
智能体集群框架ruvnet/ruflo
面向 Claude Code 与 Codex 的智能体元基座meta-harness。
★ 80,414已汉化MCP
71.9
WorkBuddy 模型接入corrinehu/dsh-workbuddy-connect
2026 年 10 月 20 日起,WorkBuddy…
★ 1,604已汉化DSH
71.7
破甲一键通z91772524-ai/pojia-next
十五个 AI…
★ 967已汉化DSH
71.6
AI 代理虚拟终端strukto-ai/mirage
Mirage 是给 AI 智能体用的虚拟终端:一层 shell,统管数据、命令行和运行时。Unix…
★ 3,756已汉化DSH
70.8
Agent 操作层agentic-os-org/ANOLISA
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture)|智能体操作系统,带运行时、安全、可观测性,以及 Tokenless 响应压缩,降低 token 用量与成本。
★ 649已汉化DSH
70.7