前言¶
做 DSH 插件或候选 profile 对比时,常见的问题是:同一个任务、同一份仓库快照下,多个候选 profile 谁更稳?哪些跑法应该先被硬门槛拦下来?质量、时长、token、成本之间怎么做取舍?
dsh-arena 针对这类本地实验:用同一个任务、同一份仓库快照对比多个候选 profile,先做确定性 hard gates,再做 Pareto 排名与 winner 汇总,并能在 Web 矩阵里查看结果。下面介绍它的定位、能力、安装方式和适用边界。
这是什么¶
dsh-arena 是 DeepSeek Harness(DSH)的本地实验与评估工作台插件。维护者是 Apageoflove,许可证为 MIT。
package.json 中声明版本为 0.2.0,并设置 private: true;已核实资料说明它还没发 npm。
它把下面这些事情放在一个本地工作台里:
- 同一个任务、同一份仓库快照下的候选 profile 对比
- 确定性 hard gates
- Pareto 排名与 winner 汇总
- 本地持久化、运行队列、中止和超时
- Web 矩阵界面
- 导出报告前自动脱敏常见凭据
- 导入本地 Arena JSON 报告并离线渲染
核心能力¶
候选 profile 对比¶
先做同一任务、同一份仓库快照下的对比,再比较多个候选 profile 的运行结果。
hard gates 与 Pareto¶
- Hard gates 是确定性的:不满足直接判失败,不进入排序。
- 排序使用 Pareto 排名,并汇总 winner。
- 报告相关视图包含 run 与 hard gate 状态、质量、时长、token、成本指标、Pareto 候选与建议 winner、审计告警。
本地运行与持久化¶
- 本地持久化是原子化的。
- 运行队列有并发上限。
- 支持中止和超时。
- 路径都限制在
dataRoot内,越界路径直接拒绝。 - 可以通过
persistencePath: false关闭持久化。
adapter 驱动¶
执行走 adapter 驱动,不猜、不调 DSH 没文档化的 headless 命令。
只有 bindExecutor 能创建运行编排器,adapter 必须由调用方传入。它不会自己发明 DSH headless 命令,也不会悄悄发起模型调用。
Web 矩阵与离线报告¶
- Web 矩阵界面实时刷新。
- 支持导入本地 Arena JSON 报告,并离线渲染候选/模型运行矩阵、run 与 hard gate 状态、质量/时长/token/成本指标、Pareto 候选与建议 winner、审计告警。
- 导出 JSON/JSONL/Markdown 前,会按字段名和值对内联的
authorization/token/key/secret/password/cookie做脱敏。 - 文件留在浏览器里,没有上传或遥测。
安装与启用¶
先构建,再执行安装和验证命令:
npm run build
npm test
pnpm dsh plugin --profile arena add <本目录路径>
pnpm dsh --profile arena --dump-config
pnpm dsh --profile arena web
如果用本地 tgz 文件安装,可以使用:
pnpm dsh plugin --profile arena add dsh-arena-0.2.0.tgz
经过上面的步骤后,pnpm dsh --profile arena --dump-config 用来查看配置,pnpm dsh --profile arena web 用来启动 Web 端。
典型用法¶
构建与测试¶
npm run build
npm test
已核实资料中,package.json 的 engines 要求 node >=22.18.0,并提到 Node 24 上构建和测试不需要额外依赖。
本地开发 patch¶
本地开发可以使用 cordis.local.patch.yml:
pnpm dsh web --patch <本目录>/cordis.local.patch.yml
这个命令使用本目录下的 cordis.local.patch.yml 作为本地 patch。
运行边界¶
- 第一次修改前先
await arena.ready。 - 只有
bindExecutor能创建运行编排器,adapter 必须由调用方传入。 - 路径都限制在
dataRoot内,越界路径直接拒绝。 - Windows 上
pnpm/dsh是.cmd启动器,必须经命令解释器拉起。 - 任务文本拼入命令前已做引号转义。
适用场景与注意¶
适合在本地做 DSH 候选 profile 对比、hard gates 判定、Pareto 排名、报告导出和 Web 查看的开发者。
安装前建议检查源码与许可证。本项目许可证为 MIT。插件会以当前 dsh 进程权限运行,安装前确认你信任该目录中的代码。
需要注意的边界:
- 只按官方文档化的 Cordis 契约写;不碰 DSH Client/Host 没文档化的内部接口。
- 能力识别用特性探测(
ctx.arena),不用私有槽位。 - 真实 DSH 上的 Web / Headless E2E 还没跑通,所以本仓库不声称 100% 兼容。
dsh.compatibility.dshReleases中0.1.0-rc.8、0.1.1-rc.1、0.1.1-rc.2均为unknown。peerDependencies要求@deepseek-ai/cordis ^4.0.1和@deepseek-ai/schemastery ^3.18.1。- 已核实资料只给出本地路径或本地 tgz 的安装命令,没有给出 npm 包安装方式或远端安装命令。
结尾¶
dsh-arena 的价值是把 DSH 候选 profile 的本地评估流程集中起来:hard gates、Pareto、指标、脱敏报告和本地 Web 查看都在一个工作台里完成。
GitHub:https://github.com/Apageoflove/DSH-arena
社区目录页:已核实资料未提供 URL。