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(该地址来自插件线索,未作为已核实事实引用)

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

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

小夜