前言¶
在 DSH 环境中,智能体或操作流程常需证明变更结算是否严格发生在声明的维护窗口内。AWS 和 Azure 等平台定义了窗口规则(如开始时间、最大持续时间、截断时间等),但需要工具去验证实际发生的变更账本是否合规。dsh-change-window-proof 专注于解决这一窄问题:验证提供的变更账本是否在声明的时间边界内结算,并保持与变更收据、工件、环境和策略的绑定。
这是什么¶
这是一个离线、确定性证据生成插件。它提供无头核心,支持通过 DSH bundle、独立 MCP stdio server、JavaScript API 和 CLI 使用。报告在写入后经过脱敏和验证,采用内容寻址机制。
核心功能¶
- 离线与确定性:在无网络或实时依赖的情况下生成可验证的证据。
- 内容寻址报告:生成的报告基于内容哈希,确保数据完整性。
- 维护窗口验证:检查结算开始/结束时间是否包含在声明窗口内,验证连续的
start → step* → finish序列及单调递增的 UTC 时间戳。 - 时长与截断检查:验证最大持续时间,并确保没有在截断时间后启动新步骤。
- 绑定验证:确保每个事件绑定相同的窗口、收据、工件和环境。
- SHA-256 链验证:验证事件链的哈希绑定及声明的账本头。
- 多接入点:提供 MCP stdio server、JavaScript API 和 CLI 三种使用方式。
安装与启用¶
通过 DSH bundle 安装,支持本地路径或 GitHub 提交哈希。
dsh plugin install /absolute/path/to/dsh-change-window-proof
dsh plugin install github:dongsheng123132/dsh-change-window-proof#<commit>
典型用法¶
插件提供多种工具进行检查和验证:
- CLI 检查与验证
# 检查示例文件
node bin/dsh-change-window-proof.mjs inspect examples/compliant.json
# 验证示例文件并生成内容寻址报告
node bin/dsh-change-window-proof.mjs verify examples/compliant.json
-
DSH 工具
插件安装后会提供以下命令行工具:dsh_change_window_inspect:接受内联manifestJson,返回边界哈希和计数。dsh_change_window_verify:接受工作区相对路径的manifestPath和artifactDir,写入并回读内容寻址的 JSON 判定结果。
-
MCP 工具
启动 stdio server 后,可调用 MCP 工具change_window_inspect和change_window_verify,使用换行符分隔的 JSON-RPC 协议通信。
适用场景与注意¶
- 适用场景:用于审计变更日志,确保变更操作严格符合维护窗口的时间限制和策略要求。
- 边界说明:
- 此插件仅用于验证证据,不批准、授权、豁免、排程或执行变更。
- 不用于认证记录器或收据。
- 不查询实时基础设施。
- 不证明未记录的动作发生。
- 清单限制:Manifest(清单)仅应包含标识符、时间戳、计数和 SHA-256 绑定,不应包含凭据、原始日志、提示词、请求体、聊天文本或源文档。
- 路径要求:输入和输出路径必须是工作区相对路径,且不支持符号链接。
- 许可证:MIT 许可证。
短结尾¶
dsh-change-window-proof 提供了验证变更结算合规性的基础能力。它与 dsh-action-parity、dsh-policy-waiver-proof 等插件共同构成证据栈,用于不同维度的变更管理验证。