前言¶
做 DSH 智能体时,常见需求是在每轮结束后保留一些执行痕迹:这一轮记录过多少次工具调用?是否出现类似 test、lint、build 的验证类信号?但完整会话日志往往包含工具参数、命令输出、用户消息、模型名和提供方,直接落盘会引入额外隐私面。
DSH Verification Receipt 是一个社区维护的 DeepSeek Harness 被动 Profile Bundle。它在每次 durable turn/end 后向本地 JSONL 文件追加一条隐私最小化的启发式执行摘要,不注册新工具,也不改变模型历史。
这是什么¶
DSH Verification Receipt 的一句话定位是:Privacy-minimal heuristic per-turn execution summaries for DeepSeek Harness。
维护者是 030611,许可证为 MIT。资料明确说明它是社区维护,不是官方 DeepSeek 项目。它解决的是“如何在本地留一条可检查的执行痕迹,同时尽量不保存敏感内容”的问题。
package.json 声明 dsh.bundle.patch;cordis.patch.yml 插入一个普通 observer plugin。
核心功能¶
只做被动观察¶
根据已核实资料,插件不注册新工具、不追加 Session event、不添加 prompt section、不注入上下文、不发起模型调用、不改变模型历史。
它对模型体验的影响是:Token 成本为 None;模型没有新工具;Session log 不变;Prompt and context 不变。
记录执行计数与启发式信号¶
摘要记录已记录的工具调用计数,以及基于词汇匹配的验证类信号。
当工具名称,或 shell-like 工具的 command / cmd 参数形似以下工作时,会发出启发式信号:
testtypechecklintbuildcheckverifyvalidate
保存下来的验证信号仅保留 source、粗粒度 category 和 observed status。
不保存哪些内容¶
持久化 receipt 不包含:
- 工具参数或调用 id;
- 工具结果内容或错误信息;
- 助手或用户消息文本;
- 原始 session id、工作目录、提供方名称或模型名称。
安装与启用¶
安装到指定 profile¶
先选择需要输出 receipts 的 profile。例如 web:
dsh plugin --profile web add dsh-verification-receipt
dsh --profile web --dump-config
第一条命令把插件加入 web profile。第二条命令导出该 profile 的配置,用于确认插件已生效。
如果 headless 等其他 profile 也需要 receipts,用另一个 profile 名重复第一条 add 命令:
dsh plugin --profile headless add dsh-verification-receipt
本地开发安装¶
本地开发时,克隆仓库后运行检查命令,再把 checkout 路径传给 DSH 插件安装命令:
pnpm install --frozen-lockfile && pnpm run check
资料给出的安装方式是将 checkout 路径传给 dsh plugin ... add,而不是只传包名。
覆盖输出路径¶
默认输出路径是:
$DSH_HOME/verification-receipts/v1/receipts.jsonl
如果 DSH_HOME 未设置,路径会解析到 ~/.dsh 下。
也可以在 profile 的 cordis.patch.yml 中设置 config.outputPath,覆盖为绝对私有路径:
- id: verification-receipt
config:
outputPath: /absolute/private/path/receipts.jsonl
这里的 outputPath 需要是绝对路径。
版本与兼容性¶
package.json 声明插件版本为 0.1.0,Node engines 为:
^22.19.0 || >=24.0.0
兼容性证据基于 DeepSeek Harness commit:
47f943859bef60e4160492346772ded9b24f765a
该 commit 的 manifest 声明:
@deepseek-ai/dsh-session0.1.0-rc.5- Cordis
4.0.1 - Schemastery
3.18.1
资料同时说明:范围内但未列出的版本是兼容性预期,不是测试证据。
适用场景与注意¶
适合场景:
- 需要在 DSH 每轮结束后本地保留最小化执行摘要;
- 希望只记录工具调用计数和词汇层面的验证信号;
- 不希望把工具参数、命令输出、消息文本、原始 session id、工作目录、提供方名称或模型名称写入文件;
- 只需要被动观察,不改变模型工具集、prompt 或 session log。
需要注意:
- 它只记录执行痕迹,不证明测试已运行、命令正确、断言充分、输出真实或助手结论正确。
- 它不是证据审计台账:没有哈希链、工件捕获、claim-evidence 链接或协议证明。
receiptHash是无键 SHA-256,可被拥有编辑权限的人重算;不是签名、可信时间戳、哈希链、承诺或防篡改日志。sessionIdHash是确定性、无键、域分离的假名化标识,可跨文件关联。如果 Session id 可预测或低熵,观察者可能离线猜测候选并重新计算。- 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证;本插件许可证为 MIT。
结尾¶
DSH Verification Receipt 的价值在于把“这一轮有没有可检查的执行信号”压缩成一条本地 JSONL 记录,同时尽量避开敏感内容。它适合轻量观测,不适合作为审计、取证或质量门禁。
目录页:当前资料未给出明确 URL,不在此列出不确定的目录地址。
GitHub 仓库:
- https://github.com/030611/dsh-verification-receipt