dsh-subagent-codex-pro: A Codex Delegation Tool for Specifying Model and Reasoning Effort

前言

DeepSeek Harness(DSH)的生态强调「一切皆插件」。在使用 Codex 进行子代理委派时,官方提供的 @deepseek-ai/dsh-subagent-codex 插件存在两个限制:其一,其 Schema 仅暴露 description 和 prompt,无法在每次调用中指定具体的模型或推理强度;其二,它作为全局 Host 工具存在,无法按预设关闭,且在与某些配置组合时可能引发冲突。dsh-subagent-codex-pro 插件旨在填补这一空白,它通过在 Agent 上下文中注册委派工具,实现了为每次调用携带独立模型与推理强度的能力。

插件简介

  • 名称:dsh-subagent-codex-pro
  • 定位:DeepSeek Harness 插件,提供 Codex 委派能力
  • 核心能力:允许调用者为每次委派指定 model(模型)和 reasoning_effort(推理强度)
  • 维护者:ckanner
  • 许可证:MIT

安装与启用

作为 DSH 的一个插件,安装过程遵循 DSH 的插件管理规范。在桌面 profile 下安装该插件:

dsh plugin --profile desktop add dsh-subagent-codex-pro

安装后,插件会自动注册所需的工具。

功能与用法

该插件支持在工具调用中传递模型、推理强度、结构化输出模式以及图像输入。

1. 指定模型与推理强度

在调用 tools.subagent_codex 时,可以通过 model 和 reasoning_effort 参数覆盖 Codex 的默认配置。

tools.subagent_codex({
  description: "Probe output PROBE_OK",
  prompt: "Output exactly one line of text: PROBE_OK",
  model: "gpt-6-astra",
  reasoning_effort: "xhigh",
})

2. 结构化 JSON 输出

通过 output_schema 参数,可以让 Codex 返回符合特定 JSON Schema 的结构化数据,便于后续处理。

tools.subagent_codex({
  description: "Smoke verdict",
  prompt: "Assess whether both endpoints returned 200.",
  output_schema: {
    type: "object",
    properties: {
      verdict: { type: "string", enum: ["pass", "fail"] },
      count: { type: "number" }
    },
    required: ["verdict", "count"],
    additionalProperties: false,
  },
})

3. 视觉输入

插件支持将图片作为输入,images 参数接受一个绝对路径数组。

tools.subagent_codex({
  description: "Match this design",
  prompt: "Rebuild this screen's layout in the component below.",
  images: ["/tmp/design.png"],
})

注意事项

在使用该插件时,需注意以下行为与限制:

  • 冲突避免:插件注册的 tool 名为 subagent_codex。由于该名称与官方全局 Host 工具冲突,绝不能在同一预设中启用同名的 tool-subagent 行,否则会引发注册冲突。
  • 配置显示:如果需要隐藏模型和推理强度字段,需将 modelSelection 设置为 false。
  • 图像路径有效性:传入的 images 路径必须是绝对路径且文件必须存在。App-server 会静默忽略无效的本地图像路径,这可能导致任务在视觉输入上失败而不会抛出错误。
  • 默认值策略:当调用中未指定 model 和 reasoning_effort 时,插件不设置默认值,而是依赖 Codex 自身的配置(~/.codex/config.toml)。

技术实现细节

该插件通过两层机制解决官方适配器无法传递参数的问题:

  1. 执行层:实现了官方适配器的协议逻辑(线程启动、轮次启动、通知处理),但在 thread/start 和 turn/start 中显式传递了 model 和 reasoning_effort。它使用自定义的 JSON-RPC 传输和通过 PATH 启动的 app-server --stdio,而非依赖官方适配器。
  2. 注册层:插件在 agent/created 事件中,将自己注册到该 Agent 的本地上下文(agent.ctx.tools)中。这种作用域内的注册会覆盖全局的 Host 工具,从而实现了对特定 Agent 的精细控制。

结语

dsh-subagent-codex-pro 解决了 DSH 中 Codex 委派无法精细化控制模型与推理强度的问题。通过在 Agent 作用域内注册工具,它绕开了官方全局工具的限制,并提供了结构化输出与视觉输入的支持。代码开源,基于 MIT 许可证,适合需要在复杂推理任务中动态切换模型策略的开发者使用。

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

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

Xiaoye