前言¶
DeepSeek Harness(DSH)里主代理擅长编排对话与工具,但有些任务更适合交给另一套本地智能体栈:独立会话、沿用对方自己的模型与沙箱策略。官方已有「Codex 子智能体」「Claude Code 子智能体」等同类能力;若你本机已安装 Reasonix,可以用社区插件 Reasonix 子智能体(仓库 SivanCola/dsh-subagent-reasonix)通过 Agent Client Protocol(ACP)把单个任务委派给 Reasonix,用法与上述子智能体插件一致。
下面介绍插件定位、安装方式、对话里的典型用法,以及配置与安全上的注意点。事实以仓库 README 与 package.json 为准;插件在 SkillHub 目录 分类为「工作流」,由维护者 SivanCola 发布。
这是什么¶
Reasonix 子智能体是 DSH 的纯配置 bundle 插件(无自有 JS 代码):在 profile 的 Cordis 补丁里挂载通用 ACP 提供方,每次委派启动新的 reasonix acp 进程,并暴露全局工具 subagent_reasonix。Reasonix 使用 ~/.reasonix 下的原生配置与鉴权,模型、provider、沙箱与写入范围不经过 DSH 二次封装。
一句话:A DeepSeek Harness plugin that delegates one task to your local Reasonix over the Agent Client Protocol, using Reasonix’s native authentication and settings.
前置条件¶
安装与使用前需满足:
- DeepSeek Harness 0.2.1-rc.2(插件依赖
@deepseek-ai/dsh-subagent-acp锁定为同版本;DSH 升级后插件需同步发版)。 - 本机已安装 Reasonix,且 DSH 宿主能在 PATH 中找到
reasonix(Desktop 会读取登录 shell 的 PATH)。 - Reasonix 已完成模型与密钥配置(
reasonix setup),可用reasonix doctor自检。
核心功能¶
- 全局工具
subagent_reasonix:装好后默认启用,对所有 agent 可见;主代理调用后先返回子智能体 id,Reasonix 在当前会话工作目录新建会话独立执行,完成后以通知形式把最终答案带回对话。 - 一次委派、全新会话:Reasonix 看不到你与 DSH 的对话历史;任务描述需自洽(路径、验收标准、完成条件)。不能在同一委派里追问;中间步骤在
~/.reasonix/sessions/,不回传 DSH。 - 实现方式:
cordis.patch.yml插入两项——subagent-reasonix(@deepseek-ai/dsh-subagent-acp)与tool-subagent-reasonix(@deepseek-ai/dsh-tool-subagent)。ACP 提供方会清理父进程里疑似凭据的环境变量,不影响 Reasonix 读自己的配置。
安装与启用¶
Desktop / Web 插件页:插件 → 添加插件 → 安装第三方插件,填入:
github:SivanCola/dsh-subagent-reasonix
命令行(<profile> 换成你的 profile 名):
dsh plugin --profile <profile> add github:SivanCola/dsh-subagent-reasonix
装完后重启该 profile(Desktop 需重启应用)。插件默认启用。
社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系,仅为第三方插件收录站点;安装前建议浏览 GitHub 仓库 源码与 MIT 许可。插件以当前 DSH 进程权限运行,子智能体侧的实际边界取决于 Reasonix 的沙箱与写入范围设置。
典型用法¶
在对话里明确要求 DSH 使用 subagent_reasonix,并把任务写完整。README 示例:
用 subagent_reasonix 让 Reasonix 去做:给 src/utils/date.ts 的 formatDate 补单元测试,跑通 npm test 后告诉我结果。
流程简述:
- DSH 调用
subagent_reasonix,先返回子智能体 id。 - Reasonix 在工作目录新建会话并执行任务。
- 完成后最终答案作为通知回到对话,DSH 再继续回复。
若遇到父代理用 sleep 阻塞等待(见下文已知问题),可在请求里补充:启动后直接结束本轮,等完成通知。
调整配置¶
需在 profile 的 cordis.patch.yml 中按 id 覆盖;覆盖会替换整个 config,需写全。PATH 找不到 reasonix 时可指定绝对路径,并可用 reasonix acp --help 中的参数收紧行为,例如:
- id: subagent-reasonix
config:
providerName: reasonix
command: /absolute/path/to/reasonix # PATH 里找不到 reasonix 时
args: [acp, --workspace-only, --sandbox-bash, enforce] # 收紧写入范围与 bash 沙箱
permission: allow
args 还可包含 --model、--profile economy|balanced|delivery 等(以 reasonix acp --help 为准)。
安全与权限¶
permission: allow 会自动批准 Reasonix 的所有权限请求(子智能体无人值守)。若 Reasonix 关闭了 bash 沙箱,子智能体执行的命令不受沙箱限制;需要时可按上文加上 --workspace-only 与 --sandbox-bash enforce。
已知问题与兼容性¶
- dsh-external/issues#668:父代理可能不知道如何等待外部子代理,或用
sleep阻塞,导致结果晚到。 - dsh-external/issues#669:DSH 的 ACP 提供方可能把子智能体的过程说明与最终答案拼在一起回传。
插件当前包版本为 0.1.0(见 package.json)。
结尾¶
若你已在 DSH 里使用其他 ACP 子智能体,Reasonix 子智能体只是把委派端换成本机 Reasonix,任务写法与验收习惯可以保持一致:写清路径、步骤与「怎样算完成」。更多信息见 SkillHub 目录页 与 GitHub:SivanCola/dsh-subagent-reasonix。