dsh-release-proof:爲 DeepSeek Harness 生成可復現的多源發佈證據

前言

DSH 的「一切皆插件」理念下,發佈驗證也可以作爲一個工具接入工作流。常見的問題是:一次構建通過之後,多個下載源提供給用戶的文件是否一致。下面介紹 dsh-release-proof:它根據顯式發佈清單下載所有鏡像,校驗 HTTP 狀態、長度、SHA-256 和版本,並寫出內容尋址的 JSON 證據文件。

定位

dsh-release-proof 的定位是 “Reproducible multi-source release evidence for DeepSeek Harness”。在已覈實的 0.2.0 版本中,它是一個正式 Codex 插件,也是獨立 stdio MCP server。它同時提供 DSH 工具、MCP 工具和 CLI 命令,要求 Node.js 22 或更新版本,許可證爲 MIT。

核心功能

  • 下載顯式發佈清單中聲明的所有鏡像。
  • 校驗 HTTP 狀態、聲明長度、實際長度、SHA-256 和發佈版本。
  • 寫出內容尋址的 JSON 證據文件。
  • 註冊 DSH 工具 dsh_release_proof_inspectdsh_release_proof_verify
  • 暴露獨立 stdio MCP server,提供 release_manifest_inspectrelease_verify
  • 支持 CLI 的 inspectverify 命令。

安全邊界

已覈實的安全約束如下:

  • 只允許匿名 HTTP(S);拒絕 source credentials、custom headers、cookies、query strings 和 URL fragments。
  • 每個請求都有 manifest-bounded timeout、redirect count 和 maximum response size。
  • worker pool 限制總併發源檢查,範圍爲 1-16。
  • 清單必須聲明 expected version、bytes 和 SHA-256;每個 artifact 至少需要兩個 source。
  • 唯一寫入目標是顯式聲明的 workspace-relative artifactDir;拒絕 traversal 和 symlink escape。
  • 證據文件按內容尋址,獨佔寫入,讀回並做 SHA-256 校驗。
  • 證據不包含 timestamp 或 latency 測量;相同觀察會產生字節一致的 JSON。
  • 它不證明發布者身份,也不驗證 signed release attestations;如果威脅模型需要這些能力,應搭配簽名或來源驗證工具。

安裝與啓用

需要 Node.js 22 或更新版本。使用已覈實的安裝命令:

dsh plugin --profile web add github:dongsheng123132/dsh-release-proof

該包已覈實沒有 install lifecycle scripts,運行時依賴只有可選的 DSH tool SDK peer。許可證爲 MIT。安裝前建議查看倉庫源碼與許可證;該插件在 DSH 中運行時會使用當前 dsh 進程的權限。

DSH 工具用法

0.2.0 註冊兩個 DSH 工具:dsh_release_proof_inspectdsh_release_proof_verify

典型工具參數如下。manifestPath 指向發佈清單,artifactDir 指定證據輸出目錄。

{
  "manifestPath": "release/release-manifest.json",
  "artifactDir": "release/evidence"
}

MCP 用法

它暴露獨立 stdio MCP server,提供兩個工具:

release_manifest_inspect
release_verify

已覈實信息中,MCP 接受顯式內聯 manifestJson,大小最多 1 MiB,並且不讀取或寫入文件系統。

CLI 用法

CLI 提供 inspectverify 兩個命令。先運行 inspect,再運行 verify 執行多源檢查並寫證據。

dsh-release-proof inspect \
  --root /path/to/workspace \
  --manifest release/release-manifest.json
dsh-release-proof verify \
  --root /path/to/workspace \
  --manifest release/release-manifest.json \
  --artifact-dir release/evidence

退出碼含義如下:

  • 0:所有檢查通過。
  • 2:已寫出有效證據,但發佈未通過驗證。
  • 1:操作性錯誤或清單錯誤。

本地檢查

在倉庫中可使用已覈實的檢查命令:

npm test
npm run check
npm run smoke:plugin
npm run smoke:mcp

適用場景與注意

適合:

  • 需要確認多個下載源返回相同版本、相同長度和相同 SHA-256 的發佈鏈路。
  • 需要在 DSH 工具、MCP 工具或 CLI 中復現多源發佈證據。
  • 需要把證據文件寫到顯式 artifactDir,並保留內容尋址的 JSON 文件。

注意:

  • 它校驗的是清單給定的期望值,不證明發布者身份或簽名證明。
  • 它只走匿名 HTTP(S),不能攜帶憑據、自定義頭、Cookie、query string 或 URL fragment。
  • 清單必須聲明版本、字節數和 SHA-256,且每個 artifact 至少需要兩個 source。
  • 插件以當前 dsh 進程權限運行;安裝前應檢查源碼、MIT 許可證和依賴關係。

結尾

dsh-release-proof 的價值,是把多源發佈一致性檢查落到可執行的證據文件上。GitHub 倉庫地址:

https://github.com/dongsheng123132/dsh-release-proof
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜