dsh-codex-delegate:把执行全部委托给 Codex 子代理的 DSH Agent 预设

前言

在 DeepSeek Harness(DSH)里跑 Agent 时,常见做法是主代理自己读文件、跑命令、搜资料。任务一复杂,主会话上下文会被工具输出堆满,调度与执行也混在一起。若你更希望主代理只做理解需求、拆任务和验收汇总,而把动手部分固定交给 Codex,就需要一个以「委托」为中心的预设 bundle,而不是靠提示词单独约束。

下面介绍社区插件 dsh-codex-delegate(维护者 lidaqi001):它在 DSH 里注册名为 Codex 委托 的 Agent 预设,实质工作通过 subagent_codex 完成,并在运行时用 guard 禁止主代理直接调用其它工具。

这是什么

dsh-codex-delegate 是一个 DSH Agent 预设 bundle(npm 包名 dsh-codex-delegate,当前资料版本 1.0.2,许可证 MIT)。DSH Agent 预设 id 为 codex。实现上是纯 YAML 配置(cordis.patch.yml)加上一个很小的 Host 插件(index.js,约 1 KB),无需编译。

装上之后,新建会话在「Agent 预设」里选择 Codex 委托:主代理不再自己读写文件、跑命令、搜网页,而是把每个任务派给 Codex 子代理执行,最后汇总结果。

插件归类为工作流,目录页见 skillhub.cn/plugins/lidaqi001/dsh-codex-delegate,源码与说明见 GitHub 仓库。

模式怎么工作

预设由几块配置共同约束行为,README 里用表格归纳如下,此处按组成说明。

组成 作用
persona(complete: true) 该会话唯一的系统提示词:只做调度,不直接动手;委派须自包含(子代理看不到会话、一次性、不接受追问);异步等待不轮询;多阶段先派第一步;结果先核对验收再汇报
subagent_codex(scoped) 唯一的「干活」工具,maxDepth: provider-managed;指向 bundle 自带 provider codex-delegate(permissionMode: approve-for-me),遮蔽全局同名工具
ask_user_question 需求有歧义时向用户确认
todo_write 多步委派的进度跟踪(只写会话日志)
codex-only-guard 工具级硬限制:除上述工具外,任何工具调用都会被拒绝
compaction 长会话里委派结果持续累积时自动压缩

预设里只挂载委派、澄清、进度、压缩四类能力,没有 bash / 文件 / 搜索工具。profile 里 Host 级注册的全局工具(MCP、Agent Teams 等)仍可能出现在工具列表里,但 codex-only-guard 会在执行时拒绝调用,并提示改为委派。

README 说明:未用 ctx.tools.restrict 做可见性遮罩,是因为 restrict 会把 preset 层注册的 ask_user_question、todo_write 一并过滤;guard 按工具名拒绝调用,不误伤 preset 自有工具,也不影响其它预设或其它会话。

安装与启用

在 DSH 会话里用自然语言让代理安装(版本以资料为准):

# 在 DSH 会话里直接说:
帮我安装 dsh-codex-delegate@1.0.2

代理会调用 plugin_manager 的 install_bundle,target 为 dsh-codex-delegate(可带版本号或装 latest)。

装完建议验证:

  1. plugin_manager → list_plugins:应出现 preset-codex,且 enabled: true、fiberPhase: active。
  2. cordis_inspect_query → Config.listConfigs(name = @deepseek-ai/dsh-agent-preset)能看到 include:preset-codex。
  3. 新建会话 →「Agent 预设」选 Codex 委托 → 给一个需要动手的任务,确认主代理只派发、不自己执行。

卸载:plugin_manager → remove_bundle,target dsh-codex-delegate;或在设置 → 插件里停用/移除。

前置条件

安装前需满足 README 列出的条件:

  1. DeepSeek Harness ^0.2.2-rc.1(见 peerDependencies)。
  2. profile 里已安装 codex 子代理 bundle @deepseek-ai/dsh-subagent-codex。本 bundle 在 Host 层插入 provider codex-delegate;若该依赖无法解析,provider 与委派工具都不会注册。
  3. codex CLI 已安装且已登录(codex login status 显示已登录,或已配置等效认证)。子代理用的模型、provider、是否免审批,由本机 codex 原生配置决定。
  4. 通过 link: 或 registry 安装均可;若用 link:,目录不要移动或删除。

典型用法

启用 Codex 委托 预设后,与普通 Agent 会话的区别在于交互方式:你描述目标,主代理拆成自包含的子任务文案,调用 subagent_codex 执行;有歧义时用 ask_user_question;多步委派可用 todo_write 记进度。你不应期望主代理在本预设下直接编辑仓库或执行 shell——这类调用会被 codex-only-guard 拒绝。

连通性自检:委派一个简单任务(README 建议例如 echo),确认子代理能返回且权限与沙箱符合预期。

本地开发与 patch 迭代(维护者流程,摘自 README):

# 装进当前 profile(目录形式,改完即时生效)
# 在 DSH 里:帮我安装 /abs/path/to/dsh-codex-delegate

npm pack           # 打 tarball(install_bundle 也支持 .tgz)

改 cordis.patch.yml 后重新 install_bundle;profile 若配了 patchReload: live,新会话即生效。

可调项与权限

允许列表:codex-only-guard 的 allowed 可改(默认 subagent_codex、ask_user_question、todo_write)。若去掉澄清或进度工具,需同时删掉对应插件行。

codex 权限与沙箱:permissionMode 写在 provider 行(subagent-codex-delegate),不是工具行:

  • approve-for-me(当前默认):approvalPolicy: on-request + 自动审批 + sandbox: workspace-write → 工作区可写,无人值守也能跑;越界操作走 codex 自动审批。
  • never:实测为只读沙箱,工作区内也无法写文件,仅读/检索/联网可用。
  • dangerously-bypass-approvals-and-sandbox:无审批、全盘可写,慎用。

~/.codex/config.toml 仍会叠加,例如 network_access、模型选择等。

若只想保留委派:去掉 tool-todo、tool-ask-user,并删掉 persona 里对应规则。

DSH 大版本升级后,需核对 patch 里的包名与字段;codex 大版本变更可能影响 permissionMode 映射,升级后应再跑一次连通性验证。

适用场景与注意

适合谁:希望 DSH 主会话保持「项目经理」角色、统一用 Codex 做实现与验证的团队或个人;已有 @deepseek-ai/dsh-subagent-codex 与可用 codex CLI 的环境。

注意:

  • 插件与 DSH 进程同权限运行;安装前请阅读仓库源码与 MIT 许可证,自行判断是否信任维护者与依赖链。
  • 社区目录 skillhub.cn 独立于 DeepSeek / 幻方,并非官方应用商店;DSH 生态遵循「一切皆插件」,本 bundle 是其中一种工作流预设。
  • 委派任务必须一次写清:子代理不能在中途向用户追问,决策要提前写进任务说明。

结尾

dsh-codex-delegate 把「全部交给 codex」从提示词约束升级为运行时 guard,配合专用 provider 与完整 persona,适合需要清晰调度边界的 DSH 用户。进一步了解可访问 插件目录页 与 GitHub:lidaqi001/dsh-codex-delegate。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜