跳到主内容

subagent-codex 使用指南

让 DSH 在委托会话里一次性无人工地拉起官方 Codex 子代理:通过 app-server 协议把一条纯文本任务交给 Codex 跑并按严格成功条件回传最终答案。

本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。

本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。

快速上手

subagent-codex

— 源: plugin_wiki.wiki_content

安装与验证

dsh plugin --profile web add github:fufankeji/deepseek-harness-studio#path:packages/subagent/subagent-codex

复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。

— 源: plugins.install

关键要点

  • Electron 桌面端:提供应用窗口、系统托盘、单实例运行、外部链接处理和安全的 preload 通信接口。
  • 本地 Harness Host:桌面主进程启动 dsh web,等待本地服务就绪,并在应用退出时关闭 Host 进程。
  • Web 工作区:保留 DeepSeek Harness 的会话、工作区、模型、工具、Skills 和插件运行能力。
  • 插件发现与推荐:自动读取在线目录,通过精选、最近更新、生态热门、场景分类和搜索,帮助用户快速找到值得尝试的插件。
  • Agent 智能找插件:用一句自然语言描述需求,Agent 自动检索公开 dsh-plugin 目录、筛选相关候选并说明推荐理由。

— 源: plugin_wiki.readme_zh (fallback readme_raw)

常见问题

这个包和 dsh 直接连 Codex 模型有什么区别?

它不是把 DSH 主对话换成 Codex,而是让 DSH 临时把一段文本任务委托给另一个独立的 Codex 子进程来跑——子进程走的是 Codex 原生的 app-server 协议、沙箱、账户和 settings,跟 dsh-base 里配的 DeepSeek 主模型在进程级别互不干扰;子进程与父会话之间不共享对话历史、模型或工具(README.md:5 / src/index.ts:60-62)。

子进程需要联网吗?怎么给它 API key?

需要。Codex 子进程走的是 Codex 自己的原生账户认证,DSH 这边只负责把环境变量透传过去;最稳的做法是把 key 写在 Profile 配置的 env.OPENAI_API_KEY 里,其它看起来像凭证的进程环境变量在子进程启动前会被显式剥离(README.md:42 / src/run.ts:321)。

安装了但模型从来没自动调用过,正常吗?

正常。安装只让 dsh-base 多挂一个叫 codex 的"休眠" provider,到底哪次会话能用它要由具体的 Agent Preset 决定——full Preset 默认把 subagent_codex 工具行设成 disabled: true,需要复制一份 Preset 再去掉该字段才会暴露给模型(README.md:52)。

permissionMode 该选哪个?bypass 安全吗?

默认的 never 让 Codex 不发审批请求,未授权操作会被直接拒绝;approve-for-me 让 Codex 走自动评审而不是问人;dangerously-bypass-approvals-and-sandbox 会同时关掉审批和沙箱、让子进程能写任何路径下任何文件,只能在受控环境里使用(README.md:34-40 / src/wire.ts:25-36)。

失败诊断里的 stage 字段代表什么?

失败会把 lifecycle 阶段拼成最多 4096 字节的摘要:initialize / thread-start 多半是启动期问题,turn-start / turn 是协议层出错,process 是 CLI 退出但没出结果,teardown 是清理阶段出问题;同时出现的 exit code / signal 行就是进程层的真实退出原因(src/run.ts:84-101 / src/wire.ts)。

任务给一半可以中途取消吗?取消和超时是一回事吗?

可以中途取消,但本包没有按经过时长触发的"超时"——委派方自己调用 abort signal 才能停下任务,没有取消的话任务跑多久 DSH 就等多久,且取消前子进程已经动过的文件或外部状态不会被自动回滚(README.md:143-149)。

能选 Codex 模型吗?能看到子 Codex 内部的推理过程吗?

模型、instructions、tool 都由 Codex 原生配置说了算,DSH 不替它挑模型;同一个 provider 实例每次跑都一样。子进程的推理、中间消息、工具调用、stderr、用量信息、产物 diff 都只留在 Codex 那侧,DSH 最多拿回"最终一段文字"或失败诊断(README.md:42, 147 / src/run.ts)。

卸载这个包会不会带走什么副作用?

没有持久副作用。卸载后下一次 Profile 启动就把这个 provider 注销,本包没有任何独立磁盘写入或独立账户创建;登录态、Codex settings 文件、缓存都还在 Codex 那一侧独立保留(README.md:44 / README.md:142-144)。

哪些平台可用?装了但报 unknown 错误怎么办?

实际可执行的 CLI 由 @openai/[email protected] 的平台子包按系统/CPU 选择,darwin-arm64 自带 codex / codex-code-mode-host / rg / zsh;如果安装时跳过了 optional dependencies、平台不被支持、或载荷文件缺失,provider 注册仍能成功但第一次委派会立刻抛 initialize / unknown,原始原因只在日志里(README.md:97-101)。

— 源: plugin_wiki.faq_json

兼容性

  • DSH: 0.1.0-rc.8
  • Node: ^22.19.0 || >=24.0.0
  • Platforms: macOS, Windows, Linux
  • Native modules: @openai/codex 平台子包(自带 codex / codex-code-mode-host / rg / zsh 原生二进制)

— 源: plugin_wiki.compatibility_json

踩坑提醒

安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。

— 来源:通用规则