在 DeepSeek Harness (DSH) 的开发流程中,构建产物和检查结果的验证往往依赖远程或复杂的 CI 流水线。本地开发者需要一个轻量级的机制,在合并代码前生成确定的交付证明。dsh-shipgate 提供了这种本地优先的方案。
定位与背景¶
dsh-shipgate 是一个本地优先的预合并交付收据生成插件。它作为 DSH Bundle 使用,向 Harness 注入 tools 服务,并注册 shipgate_inspect 工具。该插件复用本地的 inspect 核心作为 CLI,不执行检查、不上传源码,也不宣称代码正确。
核心能力¶
- 本地优先的预合并收据生成。
- 注入 DSH
tools服务,注册shipgate_inspect工具。 - 复用本地 inspect 核心作为命令行接口。
- 不执行检查逻辑、不上传源码、不宣称代码正确。
安装与启用¶
根据你的 DSH Bundle 工作流进行安装。插件会将 DSH tools 服务注入 Harness 环境,并完成 shipgate_inspect 工具的注册。
典型用法¶
命令行调用¶
运行构建好的 CLI,指定 Git 对比基准、检查证据文件和意图说明。
node /Users/albert.liu/Projects/dsh-delivery-gate/shipgate/dist/cli.js inspect --base origin/main --checks checks. --intent "Add checkout validation"
DSH 工具调用¶
在 Harness 中调用注册好的 shipgate_inspect 工具。至少需要提供 base 和 checks 参数。
{
"base": "origin/main",
"checks": "checks.",
"ci": true
}
工具返回收据 ID、结果状态、风险级别、产物路径以及 Markdown 摘要。默认情况下 ci: false 为建议模式;设置 ci: true 会应用项目的配置失败策略。
适用场景与注意¶
适用场景: 需要在本地生成交付证明,或在 CI 中快速验证检查结果,而不希望上传源码或依赖远程执行环境。
注意:
* 本地模式是建议性的。若需应用项目的失败策略,请在调用时添加 ci: true。
* 产品的边界和验证标准定义在 PROJECT.md 中。
* 插件在用户的 GitHub Runner 中执行,不上传源码或 Receipt。
* 环境要求 Node.js 20 或更高版本。
* 使用 GitHub Action 时,必须配合 actions/checkout@v4 并设置 fetch-depth: 0 以解析 merge base。
总结¶
dsh-shipgate 专注于本地交付证明的生成,通过复用 inspect 核心,为 DSH 流程提供了一个轻量、可控的验证方案。