新增 subagent_codex 工具,把任务委派给本机 OpenAI Codex CLI 在独立外部进程中执行,与主对话完全隔离。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:mjylfz/dsh-subagent-codex
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
让 DeepSeek Harness 里的 agent,把活儿丢给真正的 OpenAI Codex 去干。
English | 中文
一句话说清楚
这是一个 DSH 插件。装上它,你的 DSH 会话里会多一个 subagent_codex 工具——你(或你的主 agent)把任务扔给它,它就在你本机的 Codex CLI 里独立跑一遍,再把结果拿回来。任务在 Codex 自己的环境里执行,用的是 Codex 的模型和工具链,跟 DSH 主对话完全隔离。
简单说:DSH 负责统筹,Codex 负责干活。
什么时候用它?
举几个真实场景(都是有点分量的活儿,Codex 很擅长):
- 职场:竞品调研 ——
让 codex 帮我做一份竞品分析:把市面上 3 款主流笔记软件的定价、功能、优缺点都对比一遍,再结合我的使用场景给出选型建议,最后整理成一份能直接发给老板的汇报材料—— Codex 自己上网查、横向对比、按你的需求给结论,回来就是一份能直接用的成品。 - 学习:把一个陌生领域彻底搞懂 ——
让 codex 帮我彻底搞懂"什么是区块链":它会把这个问题拆成 5 个递进的小问题(是什么、怎么运作、解决了什么问题、和传统方案差在哪、有哪些争议),每个问题查多个来源交叉验证,用生活类比 + 图解 + 术语对照表讲清楚,最后输出一份带 FAQ 的完整学习文档—— 这不再是"查个资料写篇文":Codex 会像做研究一样系统地拆解、验证、组织,一次交付一份结构完整的深度学习材料。 - 创作:内容策划 ——
让 codex 帮我策划一篇小红书爆款笔记:给出 3 个选题方向,每个配上标题、开头钩子和正文大纲,再帮我搜集 5 条支撑素材—— 一次调用给你整套创作方案,从选题到素材一步到位。 - 开发:跨模块改造 ——
让 codex 把用户认证从 JWT 迁移到 OAuth2:改鉴权中间件、补数据库迁移脚本、写单元测试和集成测试,全部跑通后整理成一份提交说明—— 一整条开发流水线:动手改代码、补测试、跑通、总结,交付整套改动,你只负责 review。
什么时候不适合用它:任务需要在 DSH 内部完成时(比如要调用 DSH 的记忆、会话历史、其他 DSH 工具)——那种活儿留给普通 subagent。
快速开始
1. 前提
- 已安装 Codex CLI 并登录(
~/.codex/auth.json存在)。 - 已安装 DeepSeek Harness。
2. 安装
# 通过 dsh 插件命令安装(dsh.bundle 声明会自动把插件加进 bundle 栈)
dsh plugin --profile web add dsh-subagent-codex
# 或本地 tgz 安装
dsh plugin --profile web add file:/path/to/dsh-subagent-codex-0.1.1.tgz
3. 重启,开聊
重启 DSH 后新开一个会话,直接说:
让 codex 调研一下大语言模型推理加速的最新论文进展,整理成一篇带对比的综述
让 codex 子 agent 做 XX
工具名是 subagent_codex,每次调用 = 启动一次独立的 Codex CLI 任务。
配置
插件在配置树里注册两行:
| id | 作用 |
|---|---|
subagent-codex |
codex provider 插件行 |
tool-subagent-codex-enabled |
subagent_codex 工具行(one-shot) |
provider 行支持的配置项:
- id: subagent-codex
name: 'dsh-subagent-codex'
config:
command: codex # codex CLI 可执行文件(PATH 名或绝对路径)
cwd: /path/to/workdir # 可选,子任务工作目录(缺省继承父会话 workspace)
model: o3 # 可选,指定模型(codex exec -m)
sandbox: workspace-write # 可选:read-only | workspace-write | danger-full-access
timeoutMs: 600000 # 单次任务超时(毫秒)
maxOutputChars: 40000 # 返回给委派方的输出上限
工作原理(技术细节)
- 插件实现 DSH 的 SubagentProvider 接口(
@deepseek-ai/dsh-subagent的 out-of-process 契约),注册名为codex的 provider。 - 因为是外部进程,provider 不声明任何 start 能力(
NO_START_CAPABILITIES):外部 CLI 无法强制执行outputSchema/maxDepth/toolFilter/persona。 - 每次委派
spawn一次codex exec --json --skip-git-repo-check <prompt>,解析 JSONL 事件流,取最后一条agent_message文本作为最终输出。 - 支持取消(AbortSignal → SIGKILL)、超时、输出截断。结果永远 resolve(正常 / 中止 / 失败都解析为终态),不会把异常抛给主对话。
可追溯性:每次运行都有完整记录
插件不带 --ephemeral,所以每次调用 Codex 都会把完整会话写到磁盘:
~/.codex/sessions/<YYYY>/<MM>/<DD>/rollout-<timestamp>-<session-id>.jsonl
这个文件里是这次任务的完整对话(输入、Codex 的中间过程、最终输出)。你可以:
- 用
codex resume找回这个会话继续聊; - 需要长期归档时执行
codex archive <session-id>,会移入~/.codex/archived_sessions/。
常见问题
Q: 为什么 DSH 侧边栏看不到 codex 子 agent 的运行记录?
A: 设计如此。DSH 的侧边栏子 agent 树只显示 DSH 内部子 agent(有 DSH 会话)。Codex 是外部进程 provider,运行时不创建 DSH 会话,所以 GUI 里不显示。想看运行过程,去上面说的 ~/.codex/sessions/ 目录。
Q: 需要装 Codex 的桌面 app 吗?
A: 不需要。插件直接调用 codex CLI。桌面 app 装不装都不影响。
Q: 报错说找不到 codex 命令(spawn … ENOENT)怎么办?
A: 插件在你本机的 PATH 里找 codex 可执行文件。如果找不到,先确认 Codex CLI 已安装:codex --version。如果已安装但不在 PATH(比如装在非默认位置),在配置里把 command 指向它的绝对路径:command: /path/to/codex。
Q: 会消耗我的 OpenAI 额度吗?
A: 会。每次调用都用你 ~/.codex 登录的账号跑 Codex,消耗的是 Codex 的 token 额度。
License
MIT
链接
同类插件
Tencent/WeKnora#dsh-weknora★ 21359
把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己带引用的 RAG 或 ReAct agent 回答(含可续聊的 session id)。
superdesigndev/treg★ 1189
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
anysearch-team/anysearch-dsh★ 399
基于 AnySearch 的实时网页与垂直搜索插件,为 DeepSeek Harness 提供搜索工具。
EthanYoQ/Invoice-Downloader#dsh-invoice-downloader★ 379
面向 DeepSeek Harness 的本地 IMAP 发票下载、OCR 识别、归档与 Excel 报销汇总。
omdsh-dev/dsh-data-agent★ 184
让 AI 帮你连数据库、写 SQL。
zhaoolee/notes#dsh-plugin★ 158
将 DSH 对话导出为锤子便签风格 PNG,或在配置的账号工作区中新建和更新 Markdown 便签。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。