DeepSeek Harness 插件

dsh-runtime-nutrition-label

Evidence-backed runtime nutrition labels for DeepSeek Harness plugins and tool namespaces(英文原文)

跳到安装方式

来源信息

GitHub 仓库
biubiukam/dsh-runtime-nutrition-label
最近更新
2026年8月18日
分类
工具与能力
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/biubiukam/dsh-runtime-nutrition-label
插件名:dsh-runtime-nutrition-label
作者:biubiukam

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh.md来源说明 · 只读预览
README 语言

dsh-runtime-nutrition-label

English | 中文

为 DeepSeek Harness 工具命名空间与插件身份提供基于证据的运行时营养标签。

这是由 biubiukam/dsh-runtime-nutrition-label 发布的社区维护插件,不是 DeepSeek AI 官方包,也不代表官方背书。

提供的能力

该插件监听 DSH 工具与文件系统事件 seam,为每个已配置的插件身份发布有界 JSON 快照。标签会区分作者或部署者声明,以及当前进程窗口中观察到的事实。

  • 声明能力:网络、凭据、子进程、持久化和预期域名。
  • 观察到的工具指标:schema 字节数、调用次数、成功数、失败数、耗时统计、参数/结果字节总数和配置的副作用分类。
  • 观察到的文件系统指标:读取、写入、唯一目标数和受隐私策略控制的路径样本。
  • 观察到的网络目标:从 HTTP(S) URL 参数中提取的主机名,绝不保存完整 URL。
  • 带有 declaredobservedinferred 来源的有界证据记录。

首个版本不会把这些字段压缩成单一总分。声明、运行时观察和部署策略具有不同的证据质量,必须保持可区分。

使用 DSH 安装

dsh plugin --profile web add dsh-runtime-nutrition-label
dsh --profile web

该包声明了 dsh.bundle patch,因此 dsh plugin 会将它安装到指定 profile、追加到 dsh.profile.bundles,并自动挂载 ctx.runtimeNutritionLabels 服务和 /nutrition-label 命令。在 profile 提供显式映射前,默认配置会把可见工具归入保留标签 unattributed

对于不使用 DSH profile 的直接 Cordis 组合,可将包安装为普通依赖:

pnpm add dsh-runtime-nutrition-label

该包对 @deepseek-ai/cordis 声明普通 peer dependency。由于当前公开 DSH RC 依赖图没有发布独立安装所需的全部传递类型包,DSH runtime 包被列在包专用的 dsh.runtimePeers 元数据中。启用结构化 Web 报告路径时,DSH 部署还必须提供兼容的 @deepseek-ai/dsh-tools@deepseek-ai/dsh-fs@deepseek-ai/dsh-commands@deepseek-ai/dsh-invariants@deepseek-ai/dsh-session@deepseek-ai/dsh-session-projection 实现。公开依赖图完整后,可以将这些元数据恢复为普通 peer dependencies。

组合

包内的 [cordis.patch.yml](cordis.patch.yml) 会插入服务和命令行。归属关系是显式的:该插件不会从不透明的运行时对象推断 Cordis fiber 归属,因此 profile 需要在自己的 cordis.patch.yml 中覆盖 runtime-nutrition-label 行,配置精确工具名或前缀:

- 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

Bundle 默认启用独立的人工命令消费者。如果 profile 只需要采集标签而不暴露 /nutrition-label [plugin-id],可以只禁用该行:

- id: runtime-nutrition-label-command
  disabled: true

完整 profile 覆盖示例见 [examples/cordis.patch.yml](examples/cordis.patch.yml)。

配置

plugins[].tools 至少需要一个精确名称或前缀。精确工具归属不能重复,前缀范围也不能重叠。未匹配工具会在 includeUnattributed 开启时归入保留标签 id unattributed

effects 是限定在一个配置插件内的有序规则。精确名称优先于前缀;没有匹配规则的工具副作用为 unknown。该副作用是配置的分类,不是提供方实际执行操作的证明。

evidenceLimitcallSampleLimitfileSampleLimitdomainSampleLimitargumentScanMaxDepthargumentScanMaxNodes 会在加载时校验为正数或非负安全整数。callSampleLimit 限制当前窗口工具轨迹长度;pathDisplay 接受 omitbasenamefull;共享报告建议使用 omit

快照契约

服务提供以下 API:

ctx.runtimeNutritionLabels.snapshot()
ctx.runtimeNutritionLabels.snapshot('mcp-github')
ctx.runtimeNutritionLabels.snapshotFor(agent)
ctx.runtimeNutritionLabels.snapshotFor(agent, 'mcp-github')
ctx.runtimeNutritionLabels.reset()
ctx.runtimeNutritionLabels.ownerOfTool('mcp__github__create_issue')

按 agent 作用域生成的快照会使用 DSH 的真实 agent scope 查询 schema,并关联同一个 agent 的运行时事件。/nutrition-label 命令会自动使用接收命令的 agent,因此只挂载在 Web preset 中的工具会出现在该 agent 的报告中,而不会继续显示为空的 root 报告。

快照会深度冻结,并带有 schemaVersion: 1。其中包括 ISO 时间戳、进程内单调递增的 revision、配置声明、观察聚合结果和有界证据记录。服务绝不保存原始工具参数、原始工具结果、文件内容、凭据值或完整 URL。

证据语义

Declared

declared 字段来自插件作者或部署配置。它们描述预期或可能的能力,即使当前进程尚未使用这些能力,也会保留。

Observed

observed 字段来自 DSH 事件 payload 或可见工具 schema 注册表。只有写入或编辑意图之后又收到权威 fs/observed 事件,文件系统写入才会计入。

Inferred

inferred 证据记录解释由显式配置推导出的分类,例如效果规则将某工具标记为 write。推断不会被呈现为提供方已经观察到的事实。

隐私模型

  • 工具和结果只保留字节数,不保留 payload。
  • URL 扫描只保留主机名,忽略 URL 路径、查询串、片段和凭据。
  • 文件样本是可选的,可以完全省略;采集器不会读取文件内容。
  • 每个标签的证据记录都有上限,定位是本地诊断资料,不是审计归档。
  • 凭据声明只包含布尔值和预期引用元数据;秘密值永远不会进入快照。

模型体验

该包不会添加面向模型的工具或 prompt section。可选的 /nutrition-label 命令由人工命令消费者调度,不会改变模型历史。

人工命令报告

/nutrition-label 会为接收命令的 agent 返回摘要优先的报告。只支持文本的 adapter 会收到 Unicode 线框表格;Web 客户端可以通过 keyed command slot 将同一份 Host 报告渲染成真正的 HTML 表格。报告开头显示 scope、command id、snapshot revision、生成时间和每个标签的统计窗口。每个标签随后包含:

  • 状态区,明确工具是否已加载、当前窗口是否观察到调用,以及是否配置了插件归属;
  • 运行摘要,展示可见工具、schema 大小、调用、成功、失败、文件系统活动和观察到的网络域名;
  • 能力表,将作者或部署声明与运行时观察分开。No runtime evidence 表示采集器没有观察到证据,不表示该能力绝对不可能存在;
  • 工具目录,列出每个可见工具名称、schema 大小、调用次数、成功次数、失败次数、平均耗时、P95 耗时、累计输入/输出字节数和配置的副作用分类;
  • 点击工具后展开该工具保留的有界调用记录,列出开始时间、持续时间、输入/输出字节数、结果状态、副作用分类和安全的失败类别;
  • 证据与调用轨迹是否达到上限的标记,使“已截断”和“当前窗口完整”可区分;
  • 归属说明。未匹配工具会显示为 Unattributed tools,并明确说明工具已经加载,但仍等待 profile 配置归属。

命令会自动使用接收命令的 agent,因此报告的 scope 和工具目录与实际调用它的 agent 一致。底层 snapshot JSON 契约保持不变;如果 session API 可用,结构化报告会作为独立的 log-only 事件写入,并通过 sourceEventSeq 与命令结果关联。

Web renderer 会先呈现产品标签,再提供调试细节。默认打开时显示运行时身份、紧凑状态徽章、一句话结论,以及一条只包含工具、schema、调用和失败的摘要行;文件与域名活动降为次级信息。声明与观察能力矩阵、归属提示都采用扁平区块,不再堆叠指标卡片。主要工具目录会默认显示在有界滚动区域中,列为 ToolStateUsageAvgP95Input / OutputEffect;State 只使用 IdleActiveHealthyFailedDiscarded,Usage 根据有界 report 显示调用、成功、失败或进行中的调用。点击工具后会展开该工具保留的逐次调用记录,显示开始时间、持续时间、输入/输出字节数、结果状态、副作用分类和安全失败类别。当前窗口全量调用轨迹仍然通过渐进展开进入。当前事件契约提供的是字节数,而不是 tokenizer 生成的真实 token 数,因此 UI 会标注 bytes,不会估算 token。这次视觉调整不会改变 Host report、Unicode fallback、snapshot schema、有界证据或原始 payload 保留策略。

#### 模型看到的内容

没有。命令和报告事件都只面向人工调试,不会增加 prompt 内容。

#### Token 影响

直接 token 数为零。调用方可以选择将报告复制到对话中,但这不属于本包。

#### KV Cache 影响

不会直接发起模型请求,也不会使缓存失效。运行时观察独立于模型 prompt 组装继续进行。

已知限制与暂缓事项

  • 工具归属依赖部署提供的精确名称和前缀;通用运行时事件不能证明 Cordis 插件归属。
  • 通用 DSH 事件无法完整证明子进程创建、凭据解析、持久化或提供方内部网络活动。
  • 网络证据只覆盖有界工具参数中发现的 HTTP(S) URL 字符串。
  • 该包有意不发布单一安全或信任总分。
  • 在公开 DSH RC 依赖图完整前,独立包使用 dsh.runtimePeers
  • 聚合 snapshot 保持进程内;可选的报告事件是有界的 log-only 记录,不是长期审计归档。

扩展点

采集器是纯状态 fold,可以脱离命令插件使用。部署可以添加其他渲染器、将快照导出到本地 telemetry sink,或在相同的 tools/*fs/* 事件上附加策略决策,而无需改变 JSON 契约。

开发

CI=1 pnpm install --frozen-lockfile
CI=1 pnpm check

pnpm check 会运行 oxlint、TypeScript、覆盖率、构建和包 hygiene。贡献流程见 [CONTRIBUTING.md](CONTRIBUTING.md),实现模型见 [docs/architecture.md](docs/architecture.md)。

许可证

MIT,详见 [LICENSE](LICENSE)。