dsh-orquestrator: DeepSeek Harness 子代理模型与推理控制插件

前言

在 DeepSeek Harness (DSH) 中,子代理(subagent)通常继承主代理的模型配置。如果缺乏显式控制,子代理在处理复杂任务时可能消耗过多的推理算力或输出 Token,导致成本失控或任务超时。

dsh-orquestrator 插件通过在代码层面强制执行模型选择、推理努力上限和输出 Token 限制,解决了这一问题。无论通过何种工具启动子 DSH,插件都会介入,确保子代理使用指定的模型和配置。

插件定位

  • 名称:dsh-orquestrator
  • 描述:DeepSeek Harness 插件,用于选择子代理运行的模型,带有推理努力上限和输出 Token 限制,在每次子 DSH 启动时强制执行。
  • 维护者:frederico-kluser
  • 类别:模型推理
  • 许可证:MIT

核心功能

  1. 模型选择
    允许用户为子代理指定特定的模型。该选项适用于所有类型的子代理,包括 workflow 启动的代理、ralph 轮次、单次后台任务以及代理团队。如果未选择,子代理将继承主代理的模型。

  2. 推理努力上限与输出 Token 限制
    插件为每个受控的子代理设置了推理努力上限和输出 Token 限制。这防止了子代理在处理边缘情况时耗尽整个预算。

  3. 代码强制执行
    与普通的提示词指令不同,此插件在代码层面进行强制。插件充当了 DSH 启动子进程的守门人,主代理无法通过指令绕过这些限制。

  4. 全局代理技能
    插件内置了全局代理技能 orchestrate-subagents。默认情况下,该技能在对话框中处于勾选状态,并随消息发送。该技能旨在教导主代理将工作拆解为小块,并行运行子代理,并使用验证子代理检查结果。

  5. 原生 UI 集成
    插件提供与 DSH 原生外观一致的对话框。用户可以在发送消息前进行配置。

安装与启用

使用官方安装命令添加插件:

dsh plugin --profile web add github:frederico-kluser/dsh-orquestrator

重要提示:安装或更新插件后,必须重启 dsh 进程,而不仅仅是刷新浏览器页面。插件的宿主端在 dsh 启动时加载,浏览器端仅在页面加载时加载。仅刷新页面会保留旧的宿主端运行(以及旧的守门机制),导致插件行为异常。

典型用法

  1. 发送消息
    在编辑器中输入任何内容并发送。无论消息是纯文本、@file 引用还是 /skill 调用,插件都会在消息发送前弹出一个对话框。

  2. 配置选项

    • 子代理模型:开启开关并从下拉列表中选择模型。该模型将应用于所有子代理。如果关闭,子代理将使用主代理的模型。
    • 推理努力:选择推理努力级别(低到高)或“模型默认”。该选项始终可见。
    • 编排技能:勾选“orchestrate-subagents”复选框以应用内置技能。如果消息中已包含 /orchestrate-subagents 令牌,该复选框将锁定并显示为已选中。
  3. 发送与取消

    • 点击“Send with these options”发送消息。
    • 点击“Cancel”、“Esc”或“✕”按钮将中止发送。这不会发送任何内容,不会出现气泡,且文本保留在编辑器中作为草稿。
  4. 按需打开
    使用 /orquestrar 命令可随时打开相同的对话框,用于修改或清除已存储的配置。

适用场景与注意事项

  • 适用场景:需要精细控制子代理模型和资源消耗的开发者,希望避免子代理无限制消耗 Token 或推理算力的情况。
  • 注意事项:
    • 对话框针对每次发送都会弹出,无法设置“不再询问”选项。
    • 插件以 DSH 进程的权限运行,安装前应检查源码与许可证(MIT)。
羽毛球分组比赛记分
小程序二维码

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

小夜