dsh-submodel-change:子代理模型选择器

前言

DeepSeek Harness 允许在代理之间进行协作,通常通过调用子代理来分担任务。默认情况下,这些子代理会继承父级会话的模型配置。dsh-submodel-change 插件允许用户在 AI 决定调用子代理时,选择该子代理由哪个模型驱动。这解决了在处理复杂任务时,需要子代理使用不同模型(例如用推理模型处理逻辑,用普通模型处理总结)的需求。

插件简介

这是由 Anna-la 维护的一个 DeepSeek Harness 插件,属于“模型推理”类别。它通过利用 agent/request waterfall 的“替换 LlmCallConfig”能力,在子代理发起请求前拦截模型路由,实现模型选择。

核心功能

  1. 弹窗选择:在 GUI 中,当 AI 判断需要派发子代理时,会话里会弹出一张卡片供用户选择模型。
  2. 零依赖:不依赖任何 @deepseek-ai/* 包,纯 JavaScript (ESM),无需构建。
  3. 仅对 in-process 生效:只对 provider: spawn 生效。其他 provider 的 child 事件带不到本进程,自然跳过,不影响原有功能。
  4. 复用与继承:
    - 默认同一父会话的后续子代理复用第一次的选择。
    - 嵌套子代理自动继承父路由,不会连环弹窗。

安装与启用

安装插件后必须完全重启 DSH Desktop 才能生效。

方式 A:自动安装脚本(推荐)

将整个 dsh-submodel-change 文件夹放到一个稳定的位置,例如:

C:\Users\Jason\Desktop\dsh-better\dsh-submodel-change\

在该目录下执行安装脚本:

node tools/install.mjs

脚本会自动处理 junction 建立和 cordis.patch.yml 的配置。如果补丁文件被别的工具重写过,再次执行该命令即可恢复。

注意:不要在 cordis.patch.yml 里用 name: 'file:///...' 挂载。Desktop 会把这种行判定为“未安装”,插件虽然加载了,但拿不到 userQuestions / llm / agents 服务,导致插件无法工作。

方式 B:作为 bundle 安装

在 dsh-submodel-change 的上一级目录执行:

dsh plugin --profile web add ./dsh-submodel-change

卸载命令为:

dsh plugin --profile web remove dsh-submodel-change

配置项

在补丁文件的插件行下添加 config: 即可覆盖默认值:

- insert:
    - id: submodel-change
      name: '@jason666not/dsh-submodel-change'
      config:
        enabled: true          # 总开关
        askOncePerParent: true # 同一父会话的后续子代理复用第一次的选择;
                               #   设为 false 则每个子代理都重新弹窗
        allowDefault: true     # 选项里包含「使用默认模型(跟随父级,不修改)」
        extraModels: []        # 手动追加适配器目录未列出的模型路由,
                               #   格式 ['provider/model', ...]

工作原理

  1. 识别子代理:拦截带有 origin: 'subagent' 与 parentSession header 的请求。
  2. 提问位置:在 agent/request waterfall 中触发,向实时根 agent(通过 userQuestions.ask)弹窗。提问总发生在根会话,UI 卡片也渲染在根会话。
  3. 注入模型:用户选中的 { provider, model } 被写回该次 LlmCallConfig,子代理随后使用该路由发起请求。
  4. 清理:在 subagent/end / agent/disposed 事件中释放选择与提问标记。

注意事项

  • 需要完全重启 DSH Desktop 才能加载服务。
  • 仅对 provider: spawn 生效。
  • 需要依赖 userQuestions / llm / agents 服务。

结语

该插件通过官方扩展点提供了子代理模型选择的灵活性,适合需要在多模型策略下精细控制子任务执行的智能体开发者。

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

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

小夜