dsh-outsourcing-expert:强制委托的 DSH Agent 预设

前言

DeepSeek Harness (DSH) 的插件机制允许开发者自定义 Agent 的行为。在常见的 Agent 工作流中,顶层 Agent 往往会直接调用工具(如读取文件、搜索网页、执行代码)。dsh-outsourcing-expert 插件提供了一套预设,强制顶层 Agent 不执行任何非管理类的工具调用,所有具体工作必须通过 subagent 委托给子智能体完成。

核心机制:硬拦截与委托

该插件在 tools/pre-execute 阶段对工具调用进行拦截。

对于非管理类工具(read, write, pwsh, bash, grep, web_search, workflow, skill 等),插件会直接返回 { kind: 'deny' },并要求 Agent 改用 subagent 或 subagent_fork 将任务外包。

仅允许的“管理类”工具包括:
* 沟通与规划:ask_user_question、todo_write、exit_plan_mode
* 目标管理:get_goal、create_goal、update_goal(需先询问下属建议)
* 委派操作:subagent、subagent_fork
* 照看下属:list_subagent_models、list_agents、send_message、interrupt_agent

子 Agent 不会受到同样的拦截限制。

侦察与能力表

在第一次委托前,插件要求执行一次“侦察”流程,以建立可用模型的能力表。

  1. 列出模型:调用 list_subagent_models 获取授权模型列表。
  2. 联网调研:随机挑选一个模型作为“侦察兵”,通过 web_search 查询各模型的擅长领域与口碑,并将结果按固定格式整理成能力表。
  3. 缓存结果:侦察结果会被持久化到 <DSH_HOME>/outsourcing-expert/models.json(即 ~/.dsh 目录)。
  4. 后续使用:后续会话直接读取该 JSON 文件,不再重复联网搜索。

该能力表只作为选人依据,不会直接展示给用户。

三个预设模式

插件包声明了三个 Agent preset,其区别在于选人规则和纪律强度:

outsourcing-expert(外包高手)

标准模式。按照任务类型和难度,从能力表中选择最合适的模型。难度分级为:简单(轻量快速)、中等(均衡)、困难(代码专精)、极难(旗舰强推理)。

outsourcing-expert-reverse(独具慧眼)

反向模式。配置项 reverseHiring 为 true。故意选择能力表中“不适合该任务”的模型进行委派。

leader(领导模式)

配置项 mode: leader。不硬拦截任何干活工具,保留 Agent 的执行者身份。插件仅将其作为执行者 + 委派者,并注入同样的全局能力表供其参考。

安装与启用

使用官方 npm 包安装:

dsh plugin --profile <profile> add dsh-outsourcing-expert

安装后,新建会话并选择对应的 preset。该插件仅对声明了这三个 preset 的会话生效,其他 preset 完全不受影响。

注意事项

  • 首次使用:必须先完成一次侦察,否则无法发起第一条委托。
  • 领导模式差异:领导模式不硬拦截,仅提供能力表参考,具体纪律仍由 Agent 自身遵守。
  • 缓存管理:能力表缓存由插件自动管理。可通过命令 /outsourcing-models 查看缓存状态,或 /outsourcing-models-clear 清空。
羽毛球分组比赛记分
小程序二维码

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

小夜