dsh-capability-receipt:DeepSeek Harness skill 加載回執

前言

DSH 的理念是「一切皆插件」;社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。做 DSH / 智能體開發時,常見的一步是確認某個 skill 在運行時是否按可信來源生效。dsh-capability-receipt 處理這一步:對 DeepSeek Harness 實際加載的 skill 生成內容尋址回執,讓運行時觀察結果可以被離線複覈。

這是什麼

dsh-capability-receipt 是 MIT 許可的 DSH 插件,當前版本 0.3.0,要求 Node.js 22 或更高版本。倉庫爲 dongsheng123132/dsh-capability-receipt

它通過哈希 ctx.skills.get() 返回的 effective instruction body,記錄 winning provider/source/invocation policy;當資源基是本地目錄時,對 bounded local resource-directory closure 做哈希。隨後,它把這次運行時觀察與 trusted pinned hashes 比較,並寫出 deterministic content-addressed receipt。

它只觀察目標能力,不執行目標能力。

核心功能

DSH tools

插件暴露三個 DSH tools:

  • dsh_capability_receipt_inspect
  • dsh_capability_receipt_issue
  • dsh_capability_receipt_issue_from_pack

dsh_capability_receipt_issue 使用必填的 expectedContentSha256,並配合顯式的 workspace-relative artifactDir 寫入回執。

dsh_capability_receipt_issue_from_pack 使用 skillNamepackLockPathartifactDir,讀取 workspace-relative 的 pack-agent agent-pack/lock/v1 lock,重新計算 directory 與 portable-bundle skill hashes。

MCP proof surface

插件還暴露兩個 MCP stdio tools:

  • capability_receipt_inspect_lock
  • capability_receipt_verify_recorded

MCP 面是 proof-only 和 in-memory:它不能 inspect the live DSH registry,不能 read files,不能 access the network,不能 execute a capability,也不能 write a receipt。

pack-agent bridge

pack-agent lock 在這裏是 evidence input,不是 signature 或 trust anchor。插件通過重新計算 pack-agent 的 directory 與 portable-bundle skill hashes,把 lock 與 DSH 運行時觀察進行比對。

安裝與啓用

建議在隔離 DSH profile 中安裝,並固定已審閱 commit。命令如下:

dsh plugin --profile capability-proof add \
  github:dongsheng123132/dsh-capability-receipt#<commit>

安裝前應檢查源碼與許可證。插件以當前 dsh 進程權限運行。包聲明 DSH bundle,並攜帶 cordis.patch.yml;不使用 install lifecycle scripts。

典型用法

先固定可信來源 artifact,再做 DSH 內回執生成,最後離線驗證。

生成回執

先準備可信來源 artifact 和 expected SHA-256。在 DSH 內可調用:

  • dsh_capability_receipt_issue:必填 expectedContentSha256,顯式指定 workspace-relative artifactDir
  • dsh_capability_receipt_issue_from_pack:必填 skillNamepackLockPathartifactDir

經過上面的步驟,會得到內容尋址回執 artifact。

離線驗證

CLI 不發現或加載 skill,只驗證已生成 artifact:

dsh-capability-receipt verify \
  --receipt artifacts/capability-receipt-<sha256>.json \
  --require-verified

stdout 輸出一個 JSON result。驗證失敗寫到 stderr,並退出碼 4;使用錯誤退出碼 1。

本地檢查

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

適用場景與注意

適合:

  • 需要證明 DSH 中實際加載的 skill 與可信來源一致。
  • 需要把 pack-agent lock 作爲 evidence input,而不是 signature 或 trust anchor。
  • 需要離線複覈已經生成的回執。

回執會 fail closed:

  • DSH catalog 不完整或觀察期間發生變化。
  • 加載定義與其 catalog entry 不一致。
  • expectation mismatch。
  • resources 無法被安全關閉。

資源安全默認值:

  • 最多 256 個 regular files。
  • 單文件最大 1 MiB。
  • 總大小最大 8 MiB。
  • 拒絕 symbolic links 和 special files。
  • URL 與 opaque resource bases 被披露爲 unavailable,而不是被獲取。

邊界:

  • 回執證明的是運行時觀察與可信固定哈希一致。
  • pack-agent lock 是 evidence input,不是 signature 或 trust anchor。
  • 插件不執行目標能力。

結尾

dsh-capability-receipt 把“DSH 實際加載了什麼”變成可複覈的內容尋址證據。

GitHub:https://github.com/dongsheng123132/dsh-capability-receipt
插件目錄線索:https://www.skillhub.cn/plugins/dongsheng123132/dsh-capability-receipt(該地址來自插件線索,未作爲已覈實事實引用)

羽毛球分组比赛记分
小程序二维码

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

小夜