返回目录

dsh-eval-harness

精选清单收录维护状态: 活跃

biboyang/dsh-eval-harness

DSH 插件评测工具:YAML 用例驱动真实 agent 回归评测 + baseline 对比 PASS/WARN/FAIL 门禁|Regression eval harness for DeepSeek Harness plugins

前往 GitHub
$ dsh plugin --profile headless add github:BiBoyang/dsh-eval-harness

14

星标

1

Fork

TypeScript

语言

2026-08-13

创建于

2026-10-31

最近推送

DSH 评测门禁:用 YAML 用例驱动真实 headless agent,断言 session trace 并与 baseline 对比给出 CI 退出码——只从 GitHub 安装,仓库未声明 license、也没有 release tag。

DSH 适配

原生运行时

作者声明

安全审计

未审计

最后核验

2026-11-13

许可证

作者未说明

01它能帮你完成什么?

  • 在发布前给 DSH 插件 / skill 装一道回归评测门禁

    每次运行产出 report.json + report.md,并由 baseline 对比给出 CI 退出码(OVERALL=PASS|WARN|FAIL|N/A)

    需要拦住 prompt、工具与协议回归的 DSH 插件 / skill 作者

  • 断言真实 agent 的 session trace,而不是只比对回答文本

    每条用例独占 workspace 与 session 落盘目录,断言覆盖 turn_end、工具调用顺序、工具结果、step/token 上限与可选的 LLM judge

    想证明工具真被调用、并返回了期望内容的开发者

  • 不花 API key 也能离线跑协议故障回归

    确定性的 F0-F5 故障矩阵用例,外加两条 mock 哨兵——仪表坏了就报 `healthy: false`

    要给流式异常路径做零成本、不 flaky 门禁的 CI 维护者

02如何接入 DeepSeek Harness?

前置条件

  • 可用的 `dsh` CLI——每条用例都会 fork 一个 `dsh --profile headless --patch <overlay> <prompt>` 子进程
  • 真实模型评测需要模型凭据;仓库自己的 CI 通过 `DEEPSEEK_API_KEY` secret 传入

安装步骤

  1. 01

    `dsh plugin --profile headless add github:BiBoyang/dsh-eval-harness` 从 GitHub 源码安装——npm 渠道已废弃,registry 上停在 0.3.1

    $ dsh plugin --profile headless add github:BiBoyang/dsh-eval-harness

验证接入成功

  • `dsh --profile headless --dump-config | grep dsh-eval-harness` 能查到该插件

03DSH 适配与能力边界

DSH 适配原生运行时

装在 headless profile 里的 DSH 插件:四个工具(eval_run / eval_gate / eval_judge_validate / eval_tps_run)加一个 `eval` skill,由 YAML 用例驱动

  • eval_run —— headless 评测执行器

    cases_dir 下的 *.yml 用例(prompt + 断言,可选 mock / plugins / trials)→report.json + report.md:用例状态、attempt 历史、token 分字段统计与可靠性

    每条用例 fork 一个 `dsh --profile headless` 子进程,并写入隔离的 session 根与 workspace在输出目录生成 `eval-overlay-*.patch.yml`
  • eval_gate —— baseline 门禁

    before(baseline 的 report.json)与 after(本次 report.json)→OVERALL / EXIT_CODE 的 key=value 文本行,或给 CI 用的单条 JSON 判定

  • eval_judge_validate —— judge 校准

    人工标注的 JSONL(每行 `rubric` / `output` / `expect`)→混淆矩阵,TPR 与 TNR 分开报告,外加 `calibrated` 判定

    逐条调用 judge,需要 `EVAL_JUDGE_API_KEY` 或 `DEEPSEEK_API_KEY`
  • eval_tps_run —— 长上下文 TPS 横评

    tps.yml(模型、名义上下文台阶、重复次数、budget_tokens)→拟合的 tps(n)=1/(a+b·n)、半速点 n½ 与横评表

    向 OpenAI 兼容端点发真实流式请求,并消耗声明的 token 预算严格串行执行,计划估算超预算时直接拒跑
  • `eval` skill

    教模型用例格式、断言写法与内置 YAML 子集的解析限制

04适合谁?何时不该用?

适合

  • 需要拦住 prompt、工具与协议回归的 DSH 插件 / skill 作者
  • 想证明工具真被调用、并返回了期望内容的开发者
  • 要给流式异常路径做零成本、不 flaky 门禁的 CI 维护者

不适合

  • npm 渠道已废弃:registry 上的版本停在 0.3.1,README 明确说不要从 npm 安装,分发只走 GitHub。
  • 声明 `mock.plugins` 即授权被测插件的安装期构建脚本在本机执行(任意代码运行)——只声明信得过源码的插件,并钉死版本或 commit。
  • mock 模式只覆盖结构性断言与协议故障路径;`output_judge` 语义评审和任何依赖真实模型能力的用例仍需真实 API,mock 不是全面断网方案。

05兼容性、维护与安全提示

  • npm 渠道已废弃:registry 上的版本停在 0.3.1,README 明确说不要从 npm 安装,分发只走 GitHub。
  • 声明 `mock.plugins` 即授权被测插件的安装期构建脚本在本机执行(任意代码运行)——只声明信得过源码的插件,并钉死版本或 commit。
  • 安装 `mock.plugins` 声明的 spec 需要网络(本工具不做离线安装);真实模型用例还需要模型端点与 `DEEPSEEK_API_KEY`。
  • mock 模式只覆盖结构性断言与协议故障路径;`output_judge` 语义评审和任何依赖真实模型能力的用例仍需真实 API,mock 不是全面断网方案。
2026-08-132026-10-31作者未说明

未声明 license · 没有 release tag(npm 渠道已废弃,只走 GitHub 分发)· 仅 README 证据,未做安全审计

06常见问题

怎么把它装进 DeepSeek Harness?

只从 GitHub 安装:`dsh plugin --profile headless add github:BiBoyang/dsh-eval-harness`,再用 `dsh --profile headless --dump-config | grep dsh-eval-harness` 验证挂载。npm 渠道已废弃——registry 上的版本停在 0.3.1,README 明确不要从 npm 安装;仓库也没有声明 license,也没有 release tag。

eval_run 在 DSH 里到底做了什么?

对每条用例 fork 一个 `dsh --profile headless --patch <overlay> <prompt>` 子进程,跑在独立 workspace 与独立 session 目录里,解析落盘的 `session.jsonl` / `session.jsonl.zstd` trace,执行断言,写出 report.json + report.md。per-case 的 `--patch` overlay 把会话落盘切到隔离根,所以用例可以并行跑,也不会碰你真实的 `~/.dsh`。

没有 API key 也能在 CI 里跑门禁吗?

带 `mock:` 段的用例会在 127.0.0.1 随机端口起一个临时 mock provider,生成隔离的 `DSH_HOME`,按 F0-F5 故障矩阵回放,因此 chaos 包可以完全离线跑。但 `output_judge` 语义评审和依赖真实模型能力的用例仍需真实端点与 key。

声明 mock.plugins 会在本机执行第三方代码吗?

会。eval_run 用 dsh 自己的安装器(`dsh plugin --profile headless add <spec>`)逐个安装声明的 spec,这等于授权这些插件的安装期构建脚本在本机执行。只声明信得过源码的插件,并钉死版本或 commit——README 明确写了这条风险语义。

eval_gate 怎么判 PASS / WARN / FAIL?

拿本次报告与 baseline 对比:PASS 变 FAIL/error、新增 FAIL/error 用例、baseline 有而本次缺席的用例判 FAIL(退出码 1);改善、token total 涨幅超阈值、新增 flaky、新增工具错误自愈判 WARN(退出码 0,strict 为 2);没有 baseline 判 N/A(退出码 2)。mock 哨兵一旦破,与 baseline 无关直接判 FAIL。

08数据与来源

  • 作者声明github.com2184ae446b7d…

    DSH 插件/skill 作者的回归评测门禁:写 yaml 用例 → headless 驱动真实 agent 跑 → 解析 session trace 断言 → 对比 baseline 出 PASS/WARN/FAIL 报告与 CI 退出码…

  • 作者声明github.com2184ae446b7d…

    | `eval_run` | 跑 cases_dir 下全部用例:headless 驱动真实 agent → 采集 session trace → 断言 → 写 report.json/report.md |

  • 作者声明github.com2184ae446b7d…

    | `eval_gate` | 对比 baseline 与本次报告,输出门禁判定(OVERALL/EXIT_CODE),strict 模式收紧 WARN 退出码 |

页面基于项目公开文档、仓库元数据和 DSH Plugins 的结构化解析生成;最后核验于 2026-11-13。发现错误?提交更正。

🏆

最佳 DeepSeek Harness 插件

从全目录挑出的 12 个值得优先安装的插件,覆盖各个分类。

DSH Plugins 是独立的 DeepSeek Harness 插件目录,与 DeepSeek 官方无关,也不代表官方背书。第三方插件未经安全审计,安装前请审查源码。

每周获取最新的 DeepSeek Harness 插件,绝不滥发。