dsh-agent-bench

DSH PLUGIN开发与运行时

仓库 songrui111/dsh-agent-bench

开发与运行时 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

dsh-agent-bench 是 songrui111 维护的 开发与运行时 类 DSH 可安装插件, 仓库为 songrui111/dsh-agent-bench,许可证 MIT。 下面按「装什么、怎么装、验没验过、跑起来要注意什么」逐项列出。

一句话选型结论

按资料字段整理

dsh-agent-bench 是开发与运行时类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类开发与运行时 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 1 复刻 0 · 未关闭 issue 0
最近更新 2026-10-26 创建于 2026-10-26
README 6.5 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:songrui111/dsh-agent-bench
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

开发与运行时
字段来自项目仓库与公开索引,中文说明由本站标注

上游标签

dsh-plugin

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在开发与运行时场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-agent-bench当前 L5 · 运行验证通过 低风险 1 未标注 有
deepseek-harness L3 · 安装规范通过 低风险 24.6 万 未标注 无
rea L4 · 沙盒安装通过 低风险 2.6 万 0.1.1-rc.2 有
dsh-TUI L4 · 沙盒安装通过 中风险 4,292 0.1.7-rc.2 等 5 个 有
mirage L3 · 安装规范通过 低风险 3,681 未标注 无
dashi-taskboard L4 · 沙盒安装通过 低风险 3,311 0.1.1-rc.2 有

仓库档案

开发与运行时
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方songrui111仓库 dsh-agent-bench · 默认分支 main
分类开发与运行时dev
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue1 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-26 · 2026-10-26最后推送 2026-10-26
本站收录2026-10-30首次进入本站目录的时间

README 全文

6.5 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-agent-bench

给 DSH 里的 agent 做回归测试用的。换模型、改系统提示词、升级 DSH 之后,跑一遍就能知道
它是不是变差了,差在哪一条。

装

npm i -g @deepseek-ai/dsh          # 跑真实 agent 需要 dsh CLI
dsh plugin --profile web add dsh-agent-bench

要求 DSH ≥ 0.2.0-rc.2、Node ≥ 22.19,并且已经登录 DeepSeek 账号(或者设了
DEEPSEEK_API_KEY)。装完在工作区里让我调用 bench_suites 就能用,首次运行会自动
准备一套隔离环境,不用手工配路径。

命令行安装需要本机 PATH 上有 pnpm(dsh plugin 内部会调用它)。桌面版的 pnpm
打包在运行时目录里、没加进 PATH,所以从开始菜单启动的用户如果只用命令行装,可能
要先自己装一个 pnpm;通过插件市场安装则不受影响,市场自己会处理。

它测什么

一条用例 = 一份起始文件 + 一句任务 + 一组判分规则。比如内置的这条:

benchmarks/core/fix-bug-keep-tests/
case.json          "calc.js 里 add() 写成了减法,修好它,别动 test.js"
fixture/calc.js    有 bug 的实现
fixture/test.js    测试(跑起来是红的)
expect/test.js     测试文件的逐字节副本,用来锁死它

跑的时候把 fixture/ 复制到一个空目录,agent 在里面干活,干完按 case.json 里的
规则判分。所以每次的起点都完全一样,两次运行之间的差别只可能来自模型或宿主。

判分只认确定性的东西:

断言 作用
file-exists / file-absent 文件在不在
file-contains / file-not-contains 有没有某个字符串
file-matches 正则匹配
file-equals-expect 和 expect/ 下的文件逐字节比对
command 在沙箱里执行命令,比对退出码

断言里的路径都被限制在沙箱内,写 ../ 会直接报错。

用例可以额外写一段 llmReview,让模型按标准打个分。这个分数不参与回归判定,
只作为参考记在成绩卡里——评审模型的心情变化不该被当成能力退化。对比两次运行时,
如果评审结论变了但断言没变,会单独列成「漂移」。

跑一次看看

> bench_run core

✅ 4/4 条用例通过(100%)
套件 core  ·  运行 20261026010837-896ec37d  ·  1分01秒

✅ fix-bug-keep-tests     31.4s   评审 1.0
✅ fix-off-by-one          9.7s   评审 1.0
✅ rename-across-files    10.0s   评审 1.0
✅ write-fizzbuzz         10.0s   评审 1.0

下一步:换模型 / 改提示词 / 升级 DSH 之后重跑同一套件,再对比两次运行。
成绩卡:…\.agent-bench\runs\20261026010837-896ec37d\core.json
可读报告:…\.agent-bench\runs\20261026010837-896ec37d\core.md

失败会直接指出是哪条断言挂的:

❌ write-fizzbuzz        9.1s
└ command: exit 1 (want 0): FAIL Fizz

换成别的模型或版本之后再跑一次,然后:

> bench_compare core

🔴 回归     通过率 100% → 75%(-25%)
## 回归用例
- fix-off-by-one — command: exit 1 (want 0)

每次运行会在 .agent-bench/runs// 下留一份 JSON 和一份 Markdown。JSON 给
bench_compare 做机器对比,Markdown 是给人看的,可以直接贴进 issue。

命令

工具 做什么
bench_suites 列出套件和用例数
bench_init 把内置套件复制到工作区,之后随便改
bench_run 跑套件
bench_compare 对比两次运行
bench_history 看跑过的记录

也支持 /bench list、/bench runs、/bench compare <套件>。

内置套件

core 和 workflow 各 4 条,一装上就有东西能跑:

  • core:修 off-by-one、修 bug 但不许改测试、跨文件重命名、从零实现 fizzbuzz
  • workflow:只改该改的文件、补边界用例、照规格实现、抽取重复代码

这些只是示例。真正有用的是把你自己工作流里的规矩写成用例,比如「改完代码要自己跑
测试」「重构后测试要全绿」。

隔离

基准要真跑 agent,就得有模型凭据,但不能动你现有的配置。插件在
/.agent-bench/home 建一个独立的 DSH_HOME:

  • 把真实 home 的 .credentials.yaml 复制进去(已存在就不覆盖,只读)
  • 检测到账号授权时,自动挂上 account provider;否则沿用环境里的 API key
  • 会话、存储、profile 都在这个目录里,跑完不影响你平时的东西

CLI 的位置按 cliPath 配置 → DSH_BENCH_CLI 环境变量 → PATH 上的 dsh 依次查找。

配置

都有默认值。机器相关的路径建议写在 profile 的 cordis.patch.yml 里:

键 默认 说明
suitesRoot benchmarks 用例目录(相对工作区)
scorecardRoot .agent-bench 成绩卡目录
sandboxRoot .agent-bench/sandboxes 沙箱目录
caseTimeoutMs 300000 单条用例超时
keepSandboxes false 跑完保留沙箱,方便排查
llmReviewEnabled true 评审总开关,用例里还得声明 llmReview
maxArtifactBytes 262144 单个产物读取上限
cliPath '' dsh CLI 入口,空则自动找
dshHome '' 隔离 home,空则用 .agent-bench/home
cliArgs ["--profile","headless"] 启动参数,空则用自举结果
llmProvider / llmModel '' 评审用哪个模型,空则用宿主当前选中的
language zh 输出语言,zh 或 en

开发

要改插件本身的话:

node --test test/*.test.js        # 65 个单测,不需要模型
node scripts/negative-control.mjs # 确认好坏 agent 判分不同
node scripts/vacuity-check.mjs    # 确认空转 agent 每条都失败
node scripts/run-suite.mjs core   # 真跑一个套件(要 DSH_BENCH_CLI)
node scripts/preview-report.mjs   # 用已有成绩卡预览输出格式

改完代码记得重启 DSH。cordis.yml 里的 HMR 只管客户端,服务端插件不会热重载。

已知问题

  • 每条用例都是一次真实的模型调用。8 条全跑大概 2–4 分钟,会消耗额度。
  • 串行跑是故意的。并发会让耗时和成本在版本之间没法比。
  • 只在 Windows 上完整跑通过。代码里路径处理是按跨平台写的,但没实测。
  • 评审偶尔会返回空文本(模型把预算全花在推理上)。现在会重试三次,仍失败就把错误
    记在成绩卡里,不影响判分。

License

MIT

常见问题

6 问
答案由本站依据条目字段整理,不引用上游原文
dsh-agent-bench 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:songrui111/dsh-agent-bench` 即可。

dsh-agent-bench 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-agent-bench 安全吗?

低风险。

dsh-agent-bench 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-agent-bench 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

开发与运行时
按星标排序,可作替代方案

rea

rea

L4 · 沙盒安装通过 2.6 万 星

dsh-TUI

dsh-TUI

Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。

L4 · 沙盒安装通过 4,292 星

mirage

mirage

把文件系统与 bash 提供者换成 mirage 虚拟工作区:文件工具与 shell 命令作用于挂载的资源(RAM、S3、Redis、Sla

L3 · 安装规范通过 3,681 星

dashi-taskboard

dashi-taskboard

把当前已安装并运行中的 Codex Taskboard 嵌入 DeepSeek Harness 侧边栏,并通过 Launcher 运行时描述

L4 · 沙盒安装通过 3,311 星

songrui111 的其它插件

2 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。