dsh-report-card: Implementing a dynamic report card for the DSH plugin in an isolated profile

前言

在 DeepSeek Harness(DSH)里挑插件或评估自研包时,常见做法是看 manifest、静态扫描或目录里的质量分。这些手段能反映文件结构与元数据,但很难说清「装上去之后」启动慢多少、每轮对话 hook 多耗多少时间、请求里多了多少 token、模型侧多了哪些 tools 与风险面。

dsh-report-card(npm 包名 dsh-report-card,维护者 tespio,GitHub 仓库 tespio/dsh-report-card)的定位是:在一次性 throwaway profile 里安装待测插件,启动真实 harness,跑一轮脚本化 turn,把启动增量、每轮开销、上下文税、能力面与静态风险标记写成可复现的「成绩单」。分类上落在 DSH 插件目录的工作流类;数字来自真实进程(墙钟、子进程 CPU、实际发出的请求字节),而非源码估算。与 dsh-plugin-scorecard、dsh-quality-score 等只读包的静态评分,以及 dsh-xray 等对当前已加载 profile 的计量不同,本插件针对候选插件在隔离环境里做动态测量,可与现有工具互补。

这是什么

一句话:dsh-report-card 是面向 DSH 插件的独立动态基准工具——在 disposable DSH_HOME 中安装 subject 插件,启动 harness,对本地 fixture 完成固定一轮对话,输出 boot delta、per-turn 组装开销、context tax、capability surface diff 与 static risk flags。

当前 npm 发布版本为 1.2.0(package.json),许可证 MIT,要求 Node.js >= 24.9.0,dsh >= 0.2.2-rc.1 < 0.3.0。社区目录页:dsh-report-card | SkillHub(与 DeepSeek / 幻方无官方从属,仅为社区插件站点)。

成绩单里有什么

README 将各维度与测量方式整理为下表(节选要点)。

维度 含义(资料原文)
Boot wall / Boot CPU / Launch 从进程启动到 probe 报告插件树组装完成;CPU 为子进程 user+system,作分级用的 boot figures
Turn / step 固定脚本 turn 上的 turn_start → turn_end、step_start → step_end
Assembly 从 session log 的 step/start 到请求抵达 fixture:prompt 组装与序列化,插件 hook 主要所在阶段,作 per-turn 分级依据
Context tax harness 实际发出的请求中模型可见字节(system + tools + messages),按文档 4 字符/token 启发式换算 token
Capability surface 相对无插件同 profile 的 diff:tools/schemas、prompt 段落大小、事件监听、loader、prompt 变量等
Static risk flags 安装脚本、二进制、网络主机、子进程、动态代码、写文件、process.exit 等,附文件与行号;不执行代码生成
Health ok、install-rejected、install-failed、boot-failed、turn-failed 等;未成功激活的插件记为失败卡,不算通过

每张卡以三种形式落盘:JSON(数据)、Markdown(可读报告)、SVG(1200×900 自包含图)。终端 TTY 下 CLI 可打印彩色框线卡;重定向流则输出 Markdown。卡含样本、摘要与可复现命令;对 canonical JSON 做 sha256(digest 字段除外),同目录重跑可对比 drift。完整示例见仓库 docs/example-card.md 与 docs/example-card.svg。

测量思路(隔离、无真模型、成对差分)

下面介绍 harness 侧如何保证结果可对照、且不污染你的日常 profile。

  1. Fresh state:每次报告新建 DSH_HOME,从内置 headless 模板复制 profile rc-measured,工作目录为空;不打开你真实 profile。
  2. No model calls:DEEPSEEK_BASE_URL 指向本机 loopback fixture,返回固定一行 SSE 文本;turn 确定性强,请求体原文用于 context tax。
  3. No background noise:fixture 覆盖层关闭会话标题生成与 telemetry;采样前有丢弃式 warm-up 预热文件缓存。
  4. Round-paired deltas:每次 subject 与前一轮 baseline 成对,delta 取成对差的中位数;分级只对超过机器噪声底(成对差标准误)的部分计分,原始数与噪声底仍写在卡上。

流程示意(摘自 README):

subject package → throwaway DSH_HOME / profile "rc-measured"
  → probe:dump surface(boot wall/CPU + surface)
  → turn:assembly/step + 捕获发往 fixture 的 exact request

安装与启用

资料给出的官方安装路径是 bundle(同时装依赖并在 profile bundle 列表里启用),不要用凭名称拼出的 github:owner/repo 命令。

插件管理器(README 示例,install_bundle 的 target 版本以你实际选用的包版本为准;npm 当前为 1.2.0):

plugin_manager install_bundle  target: "dsh-report-card@1.0.0"
plugin_manager remove_bundle   target: "dsh-report-card"

终端向 profile 添加 bundle(README 原文):

dsh plugin --profile web add dsh-report-card

从本地 checkout 开发时可用目录 spec,例如 file:C:/path/to/dsh-report-card;README 强调 install_bundle 才是推荐路径,因为 bundle 经 profile 的 bundle 列表组合,而非仅 node_modules。Bundle 插入项 dsh-report-card 对外贡献 一个 tool。

典型用法

会话内(面向模型的 tool)

在已启用 bundle 的 session 中调用(README 示例,pluginSpec 换成你要测的包与版本):

report_card(pluginSpec: "dsh-trust-check@0.2.6", samples: 3)
report_cards_recent(limit: 10)

report_card 按需测量;report_cards_recent 读取磁盘上的卡索引,可查看后台自动跑出的最近结果。samples 控制采样次数,与 README 中的成对差分逻辑一致。

终端 CLI

与同一套 harness 代码路径,适合 CI 或本地调试(README 截断处保留的可复现示例):

node harness/cli.mjs ./test/fixtures/fake-plugin

将路径或包 spec 换成你的 subject;TTY 下为终端卡,非 TTY 偏 Markdown 流输出。仓库 package.json 中 npm run card 等价于 node harness/cli.mjs。

适用场景与注意

适合谁:在装插件进日常 profile 之前,想对比多个候选的启动与每轮开销、上下文增量和能力面;需要与静态 scorecard / trust-check 结论对照,用运行时读数补全图景的 DSH 用户与插件作者。

务必注意:

  • 插件在当前 dsh 进程的权限下运行;安装前请自行查阅源码、许可证(本包 MIT)与静态 risk flags 输出,勿盲目信任目录描述。
  • 测量在 throwaway profile 完成,不保证与复杂生产 profile 里每一层叠加完全一致,但设计目标就是「候选插件隔离评测」。
  • 依赖 Node 24.9+ 与 README 声明的 dsh 版本区间;环境不符时可能 install/boot 失败,health 字段会如实标记。
  • SkillHub 目录星标等展示数据以站点为准;撰写时 GitHub 星标为 0,不代表功能缺失,仅反映仓库曝光度。

结尾

dsh-report-card 把「装候选插件 → 真 boot → 固定 turn → 抓请求」收成一张可哈希、可复现的成绩单,补上生态里「只读包」和「只计量已加载 profile」工具留出的动态评测空白。要进一步看字段样例与图示,请打开仓库文档与示例卡;安装与条目信息亦可从社区目录进入。

  • 目录页:https://www.skillhub.cn/plugins/tespio/dsh-report-card
  • GitHub:https://github.com/tespio/dsh-report-card
羽毛球分组比赛记分
小程序二维码

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

Xiaoye