前言¶
在 DSH 里调试 Agent 行为时,经常会想确认相邻两次请求之间发生了什么变化:provider/model 是否变化、system 是否变化、tools 目录是否变化、skills 或 AGENTS 来源类别是否有差异。
但直接读取请求体容易把 prompt 文本、message 内容、tool schema、原始路径等敏感内容暴露出来。
dsh-context-provenance 是用于这个场景的 DSH 插件:它不返回这些原始内容,而是把相邻请求证据标成 Observed、Estimated 或 Unavailable,并只依赖公共运行时接口能证明的信息。
这是什么¶
dsh-context-provenance 是 030611 维护的 MIT 许可插件,属于社区维护项目,不是 DeepSeek 官方项目。
它的定位是一个 observe-only provenance ledger,面向 public DeepSeek Harness runtime evidence。
插件本身是 observe-only、CPU-only、local-only,不做文件、网络、子进程、GPU、持久化、session、permission、tool、model-routing 或请求变更。
它只保留最近两条 ordinary agent-loop request observations,并在内存中保存;观察结果通过现有 Cordis inspect 查询机制暴露。
核心功能¶
- 比较相邻请求证据,并把字段标成
Observed、Estimated或Unavailable。 - 不返回 prompt text、message content、tool schemas 或 raw paths。
- 只保留最近两条普通 agent-loop 请求观察。
- 不执行文件、网络、子进程、GPU、持久化、session、permission、tool、model-routing 或请求变更。
- 当 official Cordis inspect service 存在时,添加 Host provider
ContextProvenance,方法为report。 - 缺少 service、projection key、可选字段或不完整 skill discovery 时,按字段降级;absence 不会被静默转成 zero。
请求体在 llm/stream 边界做同步 reduction。system text、messages、tool descriptions、JSON parameter schemas、raw plugin identifiers、raw skill provider/source identifiers,以及 AGENTS paths or contents,不会被返回。
安装与启用¶
先确认 DSH 版本和 Node.js 版本。该插件 0.1.1 只支持 DSH 0.1.1-rc.2,Node.js 要求为 ^22.19.0 || >=24.0.0。
DSH 0.1.0-rc.8 和 0.1.1-rc.1 与该版本显式不兼容。
安装到指定 profile:
dsh plugin --profile <profile> add dsh-context-provenance
检查解析后的配置:
dsh --profile <profile> --dump-config
安装前建议核对 registry version、source tag 和 release notes,不要直接把没有 tag 的 repository checkout 当作 release artifact。
安装完成后,需要重启 DSH,然后用现有 inspect tools 查询 Host provider ContextProvenance,方法 report。如果环境中没有 official Cordis inspect service,插件仍可挂载 observer,但没有查询面。
典型用法¶
以 web profile 为例:
dsh plugin --profile web add dsh-context-provenance
dsh --profile web --dump-config
上面的命令会把插件 bundle 加到 web profile,并输出该 profile 的配置。
之后重启 DSH,再通过现有 inspect tools 查询 ContextProvenance 的 report 方法。
注意:观察数据只在内存中保留最近两条请求观察;重启或卸载插件会丢失所有 observations。
适用场景与注意¶
这个插件适合以下场景:
- 想比较相邻请求之间的证据变化,而不是直接查看请求体。
- 希望明确区分
Observed、Estimated和Unavailable。 - 不想让插件额外做文件、网络、子进程、GPU、持久化或请求修改。
- 需要查看现有 Cordis inspect 能暴露的公共运行时信息。
需要注意:
- 该插件不是完整的 context provenance graph,也不能解释所有行为差异。
- 它只保留最近两条普通 agent-loop 请求观察,重启或卸载后观察会丢失。
- 缺少 official Cordis inspect service 时,查询面不可用。
- DSH 插件会以当前 dsh 进程权限运行,安装前应检查源码、依赖、许可证和 release 版本。
链接¶
GitHub:
https://github.com/030611/dsh-context-provenance
社区目录页(线索中给出,未确认,可自查):
https://www.skillhub.cn/plugins/030611/dsh-context-provenance