前言¶
在 DeepSeek Harness(DSH)里派子智能体或队友时,常见需求是:主 Agent 用一套模型,具体任务用另一套——复杂推理走强模型,整理、检索类活走便宜模型。原生 spawn_teammate 没有模型字段,队友会继承主 Agent 的路由;subagent 虽有模型参数,但每次调用都要手写,还要过白名单。改起来碎、也不直观。
下面介绍社区插件 dsh-switchboard(维护者 cslkkl):把「谁用哪个模型」做成一块接线板,同一对话里的成员列在板上,点一下就换,规则与默认路由可配,运行时生效,一般不用重启 Harness。
这是什么¶
dsh-switchboard 是 DSH 的 Web 端插件,分类为模型推理。一句话:给每个子智能体和智能体团队队友单独接通模型,主 Agent 路由不变。零 npm 依赖(README 标注 dependencies: 0),配置保存在本地 rules.json,保存即生效。
- 目录页:https://www.skillhub.cn/plugins/cslkkl/dsh-switchboard
- 源码与文档:https://github.com/cslkkl/dsh-switchboard
- 许可证:MIT(
package.json版本 0.1.0,Node>=20)
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,运行时改路由,多数情况不用重启。