前言¶
在 DeepSeek Harness (DSH) 的开发实践中,区分插件声明的能力与实际运行时产生的行为是安全与合规的基础。插件作者可能声明支持网络访问或文件写入,但当前进程窗口内并未触发这些操作。dsh-runtime-nutrition-label 插件旨在解决这一信息不对称问题,通过观察 DSH 工具和文件系统的事件接缝,生成包含声明、观察和推断证据的 JSON 快照。
是什么¶
这是一个社区维护的插件,为 DeepSeek Harness 的插件和工具命名空间提供基于证据的运行时“营养标签”。它将作者或部署者的声明与实际观测到的指标分离,帮助开发者确认插件在当前会话中的真实行为模式。该插件使用 MIT 许可证。
核心功能¶
插件主要包含以下能力:
- 能力声明与观测:支持网络、凭证、子进程、持久性、域等能力的声明,并收集实际调用的成功/失败统计。
- 指标采集:
- 工具指标:记录 schema 字节数、调用次数、成功率、失败率、持续时间统计。
- 文件系统指标:记录读写次数、唯一目标数量,并提供隐私控制的路径样本。
- 网络扫描:仅扫描 HTTP(S) URL 中的主机名,不记录完整 URL、查询参数、片段或凭证。
- 证据记录:提供包含声明、观测和推断来源的有界证据记录。
- 自动集成:通过
dsh.bundle补丁自动集成到指定 Profile 并挂载服务与命令。
安装与启用¶
通过 DSH 命令行安装插件到指定 Profile:
dsh plugin --profile web add dsh-runtime-nutrition-label
安装后,插件会自动将自身添加到 dsh.profile.bundles,并挂载 ctx.runtimeNutritionLabels 服务和 /nutrition-label 命令。默认情况下,未配置属性的工具有效标签为 unattributed。
典型用法¶
1. 配置属性映射¶
在 Profile 的 cordis.patch.yml 中覆盖 runtime-nutrition-label 行,明确指定插件 ID、工具前缀及其能力声明和副作用分类:
- id: runtime-nutrition-label
config:
plugins:
- id: mcp-github
displayName: GitHub MCP
tools:
prefixes:
- mcp__github__
declared:
network: true
credentials: true
domains:
- api.github.com
effects:
- prefixes:
- mcp__github__create_
- mcp__github__merge_
effect: write
2. 查看快照¶
通过 /nutrition-label [plugin-id] 命令或 API 获取快照:
/nutrition-label
在代码中调用:
ctx.runtimeNutritionLabels.snapshot()
ctx.runtimeNutritionLabels.snapshot('mcp-github')
快照包含 ISO 时间戳、单调递增的 revision、配置的声明、观测到的聚合指标以及有界证据记录。
适用场景与注意¶
- 隐私优先模型:插件不存储原始工具参数、原始结果、文件内容或凭证值。网络扫描仅保留主机名,文件样本默认为
omit。 - 本地诊断:证据记录有上限,旨在用于本地诊断,而非长期审计存档。
- 依赖运行时对等项:由于当前公共 DSH 依赖图不完整,插件需要特定的 DSH 运行时对等项(如
dsh-tools,dsh-fs等)才能正常工作。 - 非官方维护:这是一个社区维护的包,并非 DeepSeek AI 官方组件。在集成前应检查源码与许可证。
短结尾¶
该插件通过将声明与事实分离,为 DSH 插件的运行时行为提供了可观测的骨架。通过 /nutrition-label 命令或 API,开发者可以快速验证插件在当前会话中的权限使用情况与行为模式。
- GitHub 仓库: https://github.com/biubiukam/dsh-runtime-nutrition-label
- 社区目录: https://www.skillhub.cn/plugins/biubiukam/dsh-runtime-nutrition-label