前言¶
在 DSH 中比较多个模型或 Agent 时,一个具体的偏差来源是“先知道参赛者是谁”。一旦提前看到模型身份,后续对提示、输出和最终判断的评价都可能受到影响。
dsh-blind-arena 针对这个问题提供一个本地插件:同一任务、同一 commit、隔离 worktrees、共享验证,先盲评,再揭晓。
这是什么¶
dsh-blind-arena 是由 changer-changer 发布的 DSH 插件,许可证为 MIT。
它把 DSH Web 变成一个本地 Agent 竞技场:同一任务、同一 commit、隔离 worktrees、共享验证,参与者身份在 reveal 前不进入公共实验记录。
核心能力¶
2–4 lane races:每条 lane 有实时进度,包括 tool calls、turns、tokens。Anonymity contract:公共 wire typeArenaExperiment不包含 identity field;redactExperiment在 serve 前移除身份相关字段。Shared verification:用户定义 verify 命令对每条 lane 运行,展示 exit code、timeout、duration。Blind verdict → reveal:先选择结果,再查看 per-lane diffs 和 final answers。Offline export:导出 self-contained HTML report、raw JSON、per-lane unified patch,不依赖网络。Winner branch:把获胜 lane 的 worktree 提升为arena/<id>/<label>,仅适用于 real lanes。Zero-cost demo mode:使用 deterministic scripted lanes,包括focused、verbose、broken、timeout,跑完整 pipeline,不需要 API key。Cleanup:从 UI 清理 stale worktrees 和实验状态。Full client UI:注入到 DSH Web,覆盖 create / list / live race / review / reveal。
安装与启用¶
运行环境需要:
Node ^22.19.0 || >=24.0.0
DSH (DeepSeek Harness) with Web client runtime
@deepseek-ai/dsh-agent
@deepseek-ai/dsh-llm
@deepseek-ai/dsh-session
其中 @deepseek-ai/dsh-agent、@deepseek-ai/dsh-llm、@deepseek-ai/dsh-session 的版本为 0.1.0-rc.7。
安装命令:
npm install dsh-blind-arena
安装后打开 DSH Web,界面中会出现 Arena 插件行。
典型用法¶
1、创建实验:指向本地仓库,写任务,添加 verify 命令,选择 contestants。
2、观察 race:查看每条 lane 的 live progress feed。
3、盲评后揭晓:先根据行为、diff、final answer、tokens 与验证耗时判断,再执行 reveal。
4、导出报告:得到 self-contained HTML report、raw JSON 和 per-lane unified patch。
5、没有 credentials 时,先运行 demo mode:它使用 scripted lanes 走完整流程,便于在花费 token 前评估流程。
适用场景与注意¶
适合在 DSH Web 中做本地、可重复的 Agent 对比,尤其是希望减少模型身份偏见、保留离线报告、并能在本地控制实验生命周期的场景。
注意:
- 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
- 本地存储路径为:
~/.dsh/arena/
- 公共实验记录不包含 participant identity;身份保存在 server-side
secrets.json,仅在 reveal 后合并到视图。 - 一切在本地完成;除浏览器自身访问外,实验数据不离开本机。
链接¶
- 目录页:
https://www.skillhub.cn/plugins/changer-changer/dsh-blind-arena - GitHub:
https://github.com/changer-changer/dsh-blind-arena