前言¶
DeepSeek Harness 可以通过插件为 agent 增加新的工具。dsh-autoresearch 解决的是候选修改如何被自动评估和筛选的问题:在固定指标下,先建立 baseline,再对候选修改执行 bounded keep/reject 判定。
插件把该过程放在隔离 Git worktree 中运行,并用 SQLite 保存运行记录。
这是什么¶
- 插件名:
dsh-autoresearch - 维护者:
EveGoodEvening - 许可证:MIT
- 定位:
Bounded, metric-driven autoresearch plugin for DeepSeek Harness - 核心工具:为 DeepSeek Harness agent 提供
autoresearch工具 - 默认运行形态:
dsh-jobsbackground jobs
它把“候选修改”和“指标判定”分开处理。Host 提供 evaluator_id,以及可信的注册、argv、metric、环境和 dataset 身份;插件基于这些材料执行 baseline-first、bounded keep/reject 优化循环。
核心能力¶
单一标量指标判定¶
autoresearch 使用单一标量指标进行严格 minimize / maximize 判定。候选结果与 baseline 比较,按改进保留或回退。
可信 evaluator 身份¶
新 run 使用 evaluator_id 命名部署注册。插件使用 Host 提供的可信注册、argv、metric、环境和 dataset 身份。
proposal model 不能提交 evaluator commands、metric definitions、dataset authority 或 evaluator environment。
受控可写范围¶
优化循环运行在隔离 Git worktree 中。可写范围受 mutable_globs 限制,只有匹配的路径可以变更。
持久化与恢复¶
插件使用 SQLite 保存 run、experiment、attempt 和 bounded artifact 记录。
恢复采用 fail-closed recovery:resume 前先核对 durable Host evidence。
后台任务管理¶
插件默认以 dsh-jobs background jobs 运行。运行过程中,可以用通用 job tools 检查或停止任务。
安装与启用¶
安装前需要满足以下版本要求:
- Node.js
^22.19.0 || >=24.0.0 - pnpm
11.7.0 - DeepSeek Harness
0.1.1-rc.2
Host 必须提供 agents、jobs、subprocess、systemPrompt 和 tools。背景模式还要求调用 Agent 挂载 dsh-tool-jobs。
在目标 profile 中安装插件:
dsh plugin --profile <name> add dsh-autoresearch
dsh --profile <name> --dump-config
将 <name> 替换为实际 profile 名。第二条命令用于检查当前 profile 的配置 dump。dump 中应包含:
id: autoresearch
name: dsh-autoresearch
典型用法¶
1、安装插件后,用 dsh --profile <name> --dump-config 确认 id: autoresearch 和 name: dsh-autoresearch 出现在配置中。
2、新 run 使用 evaluator_id 命名部署注册。
3、插件在隔离 Git worktree 中运行 baseline-first、bounded keep/reject 循环。
4、候选修改只允许发生在 mutable_globs 路径内。
5、插件按单一标量指标的 minimize / maximize 结果做 keep/reject 判定。
6、任务以 dsh-jobs background jobs 运行;可用通用 job tools 检查或停止。
7、需要恢复时,先进行 fail-closed recovery,核对 durable Host evidence 后再继续。
适用场景与注意¶
适合以下使用方式:
- 有明确标量指标,并需要 agent 在受限路径中自动迭代候选修改。
- 需要把运行状态、实验和 attempt 记录保存在 SQLite 中。
- 需要以 DSH 后台任务方式运行,并可通过通用 job tools 管理任务。
使用前需要明确边界:
- 该插件不提供 OS 级沙箱、进程、网络、同 UID 或权限隔离。
- 隔离 Git worktree 不是 OS 安全边界。
proposal model不能提交 evaluator commands、metric definitions、dataset authority 或 evaluator environment。- Cordis patch row 的配置是整段替换,不是 deep-merge。
- 插件以当前 DSH 进程权限运行;安装前应检查源码与许可证。