dsh-switchboard:为 DSH 子智能体与队友逐人指定模型

前言

在 DeepSeek Harness(DSH)里派子智能体或队友时,常见需求是:主 Agent 用一套模型,具体任务用另一套——复杂推理走强模型,整理、检索类活走便宜模型。原生 spawn_teammate 没有模型字段,队友会继承主 Agent 的路由;subagent 虽有模型参数,但每次调用都要手写,还要过白名单。改起来碎、也不直观。

下面介绍社区插件 dsh-switchboard(维护者 cslkkl):把「谁用哪个模型」做成一块接线板,同一对话里的成员列在板上,点一下就换,规则与默认路由可配,运行时生效,一般不用重启 Harness。

这是什么

dsh-switchboard 是 DSH 的 Web 端插件,分类为模型推理。一句话:给每个子智能体和智能体团队队友单独接通模型,主 Agent 路由不变。零 npm 依赖(README 标注 dependencies: 0),配置保存在本地 rules.json,保存即生效。

SkillHub 为社区插件目录,与 DeepSeek / 幻方无官方从属关系;安装前建议自行阅读源码与许可证。插件以当前 DSH 进程权限运行。

路由怎么决定

每个成员实际使用的模型,按下面顺序从前到后匹配,命中即止。界面会标明命中哪一层,不必猜。

顺序 来源 命中条件
1 点名指定 members[队友名],或 members['#<子会话 id>']
2 本对话默认 sessions[<本对话 id>]
3 规则 队友名精确 → 队友名包含 → 委派描述包含
4 全局默认 defaultRoute
5 继承 主 Agent 当前的路由

核心功能

README 中列出的能力如下(均已在上表路由逻辑之上实现)。

能力 说明
点成员换模型 对话头部「模型」列出全部队友与子智能体,点一行即换
按规则批量指定 一条规则可命中多个成员,匹配名字或任务描述,子串、不区分大小写
按模型选档位 规则与全局默认可指定推理档位;换模型时自动调和,新模型不支持的档退回「自动」
按对话设默认 首次派活问一次,之后整个对话沿用
运行时生效 运行中的成员下一步就用新模型,无需重启 Harness
一键全换 本会话所有成员切到同一模型,或一键退回继承;批量操作二次确认,成功后 5 秒内可撤销
点名表清理 面板底部列出点名表全部键,可单条恢复继承或整表清空
面板内新建 可直接创建队友或子智能体,首个请求跑在所选模型上
规则试算 规则行尾填成员名或任务描述点「试算」,下发前可见命中层与模型
失败可见 换不成时面板顶部红条说明原因,可展开历史
失败不误伤 档位不兼容时保留继承路由,子会话不会被「打死」

成员状态在界面上分三种:运行中(下一步生效)、待唤醒使用(下次唤醒生效)、未运行(下次创建生效)。

安装与启用

将插件目录加入 Web profile(命令来自官方 README,<本插件目录> 需替换为你本机上的实际路径):

dsh plugin --profile web add "<本插件目录>"

首次安装后需要重启一次 Harness,浏览器端界面才会加载插件。此后改插件代码不需要重启;只有改动 package.json 的 dsh.client 段时才需要再重启。

配置与典型用法

配置写在 $DSH_HOME/storages/dsh-switchboard/rules.json,保存即时生效。最小示例:

{
  "rules": [
    { "match": "cheap", "provider": "cpa-trae", "model": "trae/deepseek-v4.1-flash" }
  ]
}

含义:委派描述等信息命中子串 cheap(不区分大小写)时,走对应 provider 与 model。成员点名以该设置文件为准;patch 里的 members 仅作初始值,界面或 /spawn 写过之后只认文件。增删成员请走面板或 HTTP 接口,不要手改 patch。

完整字段、规则结构、九个 HTTP 端点等见仓库内 docs/ARCHITECTURE.md。

界面入口

入口 位置 用途
「模型」按钮 对话头部操作区 点成员换模型、批量换、本对话默认、新建成员
「子智能体模型」卡片 插件详情页 规则编辑与试算、生效范围、委派与操作记录、失败红条、点名表

面板分三块:本对话默认、批量设置(渠道 / 模型 / 推理档位)、成员(逐行切换)。

适用场景与注意

适合谁:经常在同一 Harness 对话里混用多个子智能体或队友,且希望按人、按任务描述或按对话默认分配模型,又不想每次 subagent 手写参数的开发者。

边界(README 原文):

  • 只管本地子会话;外部后端(Codex、Claude Code、ACP)没有本地 Agent,管不到。
  • 主 Agent 不受影响。
  • 换模型不改 provider 的 maxTokens 上限。
  • 与 monkey-patch spawnTeammate 的同类插件互斥,只启用一个。

兼容性:插件依赖 DSH 内部接缝(如 agent/created、agent/request、agent/disposed 等),不是稳定公开 API。宿主升级后若界面不出现或换模型无效,应先对照 README「兼容性」表排查接缝是否变化,而非先怀疑配置写错。本插件未做跨版本兼容层。

结尾

dsh-switchboard 把「子智能体 / 队友用哪个模型」从散落的调用参数,收成一块可点、可配、可试算的接线板;规则和对话默认写进 rules.json,运行时改路由,多数情况不用重启。

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

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

小夜