dsh-subagent-model-picker
by ringoage
主模型选择器旁的子代理模型选择器:按会话选择模型与思考程度,应用到所有进程内子代理。
A GUI subagent-model selector beside the main model seat: pick a model and reasoning effort per session, applied to every in-process subagent.
安装
dsh plugin --profile web add github:ringoage/dsh-subagent-model-pickerGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
面向 DeepSeek Harness 的可视化、手动子代理模型选择器。
在主模型选择器旁边,为每一个进程内子代理挑一个更便宜 / 更快的模型(以及思考程度), 按会话持久化,零猜测。
为什么做它
「给子代理换便宜模型」这两天被做了很多遍,但它们都是替你决定:
| 方案 | 如何选择 | 谁决定 | 可预测? |
|---|---|---|---|
| 工具式 | 模型自己调用一个工具 | 模型 | ❌ 依赖当次运行 |
| 自动式 | 规则 / 计划模式判断 | 插件的策略 | ⚠️ 只跟它的规则一样好 |
| 命令式 | 你输入 /命令 |
你,命令式 | ✅ 但无可视状态 |
| 手动 GUI(本项目) | 主模型座旁的座位 | 你,可视化 | ✅ 确定 + 始终可见 |
dsh-subagent-model-picker 是这个分类里唯一一个可视化、手动的选择器:
主模型座旁的一个 GUI 控件,选择显式、一眼可见,并确定性地覆盖每一条子代理路径。
它给你什么
- 手动 — 你来选;不是策略,也不是模型自己。
- 可视化 — 主模型座旁的下拉(悬停胶囊 + 点击外部收起 + Esc)。
- 可预测 — 选择是会话状态;每个子代理都拿到你选的那个。
- 全局覆盖 — 一个 host 侧
agent/request监听器覆盖subagent、subagent_fork与 workflow 扇出(任意深度)。 - 思考程度 — 提供推理等级的模型(如
off/high/max)会有对应的「思考程度」菜单。 - 默认继承 — 在你选择之前,子代理沿用主模型。
- 按会话 + 持久 — 选择跟随会话,重启后仍保留。
- 本地化 —
zh/en文案。
互补,而非替代
自动路由插件(tier/smart/adaptive 路由、计划模式分类)与工具式 / 命令式回答的是 「替我选」;本项目回答的是「让我选」。它们可以组合:把自动路由当默认策略, 再用本选择器手动覆盖某个会话——或反过来。
工作原理
两个半区协作,完全不触碰 apiProxy 的 settings 白名单:
Host 半区(
lib/index.js)注册一个agent/request瀑布监听器。dsh-scope允许事件向上冒泡,因此这个 host-root 监听器能看到所有 agent 的请求;子代理通过agent.options.subagentDepth >= 1识别。它沿父链走到根会话,只对子代理覆盖{ provider, model, reasoningEffort? }。持久化 + 传输 走一个 Typert Remote 服务(
subagent-model-picker,wire 命名空间subagent-model-picker),暴露get/set/clear。Client 半区挂载 Remote 贡献 (ctx.remote.$mount)并调用remote.subagent-model-picker.*;服务在 host 侧 把sessionId -> { provider, model, reasoningEffort? }映射写入,因此完全不经过 apiProxy 的exposedNamespaces()白名单。
安装
一行命令(GitHub,兼容插件市场)
dsh plugin --profile web add github:ringoage/dsh-subagent-model-picker
这就是插件市场使用的 github: 安装路径,可直接从本仓库安装。
手动(编辑 profile)
在你的 web profile(.dsh/profiles/web/package.json)中,把包加为依赖并列入
dsh.profile.bundles:
{
"dependencies": {
"dsh-subagent-model-picker": "^1.0.0"
},
"dsh": {
"profile": {
"bundles": ["dsh-subagent-model-picker"]
}
}
}
然后重启 harness。本地开发可用 link: 依赖指向本目录。
使用
主模型选择器左侧会出现 子代理模型。选择一个模型(若提供,再选思考程度), 该会话派生出的所有子代理都会使用它。选择「继承主模型(默认)」即可恢复默认路由。
限制
- 只路由 进程内子代理:
subagent、subagent_fork与 workflow 扇出子任务。 外部 CLI agent(如claude-code、codex)自行管理模型选择,不受影响。 - 选择器是 Web 客户端 功能;host 路由在 GUI 未打开时依然生效,但选项本身在 Web 输入框中编辑。
开发
lib/index.js— host 半区(Remote 服务 +agent/request路由)。lib/client.js— client 半区(slot UI + Remote 贡献 + locale)。cordis.patch.yml— 挂载插件行的dsh.bundle.patch插入层。
Remote 服务运行在 SRC 模式:方法用纯 JS 手动施加 @Remote(name) 契约(无需生成
typert.host.js),client 贡献则手写 strict 描述符。
License
原始 README: https://github.com/ringoage/dsh-subagent-model-picker/blob/main/README.zh.md ↗
同类插件
查看全部 →
agent-vision-toolkit
为纯文本模型"看图“设计更好的视觉工具箱和技能,支持多图理解,图片问答,前端UI还原、GUI 自动化等,并可选无缝接入多个主流agent,直接识别粘贴图片| A vision toolkit and skill designed for text-only llms — image Q&A, long-screenshot OCR, frontend UI restoration, and GUI automation, with optional seamless integration for Codex, Claude Code, Pi, Oh My Pi, and OpenCode

api-relay-audit
从 DeepSeek Harness 对 AI API 中转站和 LLM 代理运行本地安全审计,生成 Markdown 报告,覆盖提示词注入、模型替换信号、工具调用改写、错误泄漏、流完整性和按 profile 启用的 Web3 风险。

OpenStory
✨ OpenStory 现已支持 DeepSeek Harness 插件! 现在可以通过 dsh-openstory 将 OpenStory 多智能体推演接入 DeepSeek Harness,让 agent 直接启动模拟、查看角色、下达指令并逐回合推进故事。查看 DSH 插件配置与使用指南。

phi
pi的编码代理 ∞ 提供者、子代理、hashline编辑和权限门

anysearch-dsh
DeepSeek Harness(DSH)的 AnySearch 网络搜索提供方与高级搜索工具。

codex-switch
Codex Switch 是一个 macOS 工具,一键配置 Codex 的自定义 API,同时保留官方 OpenAI 登录。保存后 Codex 的模型选择器里只会出现你选的那个 provider 的模型。也支持 Claude Code 的官方 / 自定义 API 切换。Codex Switch is a lightweight helper for configuring multiple coding-agent API routes. For Codex, it keeps Official OpenAI and a custom API provider configured in parallel, registers the custom model in Codex's mod