dsh-model-switcher

DSH PLUGIN模型与账号接入

仓库 skyrocks/dsh-model-switcher · npm @skyrocks/dsh-model-switcher

模型与账号接入 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

为 DeepSeek Harness 提供 find_models 与 switch_model 两个工具,让模型在对话中按自然语言查询并切换模型,多候选时列给你选。

一句话选型结论

按资料字段整理

dsh-model-switcher 是模型与账号接入类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,列出 5 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类模型与账号接入 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 1 复刻 0 · 未关闭 issue 0
最近更新 2026-11-06 创建于 2026-11-06
README 11.6 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:skyrocks/dsh-model-switcher#v0.2.1
  1. 1
    确认版本与运行环境

    兼容的 DSH 版本为 0.2.2-rc.1,Node.js 要求 >=18;版本不匹配时安装会报错。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本0.2.2-rc.1版本不匹配时安装会报错
Node.js 要求>=18来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名@skyrocks/dsh-model-switcher可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-model-switcher:让 DeepSeek Harness 的模型自己查目录、自己切模型

  • 自然语言查模型目录
  • 一句话切换模型
  • 多候选时列出待选
  • 与 /model 同源切换
  • 零运行时依赖

适用场景

智能体编排

上游标签

deepseek-harnessdshdsh-pluginfunction-callmodel-switchertool

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-11-11): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 结论说明 静态扫描 低;动态审计无结论(以下以静态为准)→ 总评级 低。
  • 风险计数 严重 0 / 高 0

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 标注了兼容的 DSH 版本(0.2.2-rc.1),按版本装不容易报错。
  • 列出了 5 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在模型与账号接入场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-model-switcher当前 L5 · 运行验证通过 低风险 1 0.2.2-rc.1 有
archify L4 · 沙盒安装通过 低风险 8.0 万 未标注 有
DeepSeek-Reasonix L4 · 沙盒安装通过 低风险 3.6 万 未标注 有
nocobase L3 · 安装规范通过 低风险 2.5 万 0.1.1-rc.2 无
voyager L3 · 安装规范通过 低风险 2.1 万 未标注 无
learn-harness-engineering L4 · 沙盒安装通过 低风险 2.0 万 未标注 有

仓库档案

模型与账号接入
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方skyrocks仓库 dsh-model-switcher · 默认分支 main
分类模型与账号接入ai
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue1 / 0 / 0收录时的数值,非实时
创建 / 更新2026-11-06 · 2026-11-06最后推送 2026-11-06
本站收录2026-11-07首次进入本站目录的时间

README 全文

11.6 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-model-switcher

English | 简体中文

给 DeepSeek Harness(dsh)用的模型切换工具插件:把「查目录 / 切模型」做成模型可调用的
function call,你在对话里说一句「换到 glm」就够了。手动选模型仍然用内置 /model 弹窗——
这里不重造轮子,只是让模型也能拿到同一份目录、走同一条切换路径。

你:有哪些便宜又快的模型?

当前模型:DeepSeek V4.1 Flash · provider: opencode-go · model: deepseek-v4.1-flash
匹配到 4 个(目录里共 31 个):
- DeepSeek-V4.1-Flash · provider: deepseek-account · model: deepseek-flash · 推理档位 off/low/high/max(默认 high)
- Qwen3.8 Flash · provider: opencode-go · model: qwen3.8-flash · 推理档位 off/minimal/low/medium/high
- GLM-5.3-Flash · provider: opencode-go · model: glm-5.3-flash · 推理档位 low/high/max
- MiMo-V2.6-Flash · provider: opencode-go · model: mimo-v2.6-flash · 推理档位 off/minimal/low/medium/high
→ 候选不止一个:请把上面的候选列给用户,等用户选定后再调用 switch_model。

你:那就 GLM-5.3-Flash

已切换到 GLM-5.3-Flash(推理档位 low) · provider: opencode-go · model: glm-5.3-flash
已对当前会话生效,并保存为默认模型。

为什么用它

  • 一句自然语言就够:不用记精确 id,也不用去弹窗里翻 30 多个模型。
  • 和 /model 同源:候选来自 DSH 自己的模型目录(sessionController.modelCatalog()),
    切换走同一个 selectModel(),看到什么就切到什么,不硬编码、不猜测。
  • 多版本时让你决定:说「glm」会命中 glm-5.2 / glm-5.3 / glm-5.3-flash,
    插件不会替你挑,而是把候选摆出来等你选。
  • 零运行时依赖:没有 zod、没有原生模块,GitHub 目录直装也不会缺包。
  • 不碰你的东西:不读写文件、不跑 shell、不发外部请求。

两个工具

工具 参数 做什么
find_models query?(自然语言或关键词) 查当前会话真正可选的模型。不带 query 给完整目录;带 query 按相关度排序,最多 25 条
switch_model model(必填)、provider?、reasoningEffort? 真正切换,从下一次模型请求起生效,同时保存为默认模型

find_models 的返回值里带 current(当前模型)、models(候选,含推理档位)、
failures(某个 provider 目录读取失败时如实转述,不影响其它 provider)。


多版本怎么处理(这个插件的重点)

「换成 glm」在真实目录里通常不止一个候选,此时:

  • find_models 返回全部候选,并在结果里明确要求模型把候选逐个列给你、等你选;
  • switch_model 遇到歧义会直接报错并列出候选,绝不替你猜;
  • 只有「整串字面命中且唯一」才会自动选:haiku → claude-haiku-5-5 可以,
    gpt-9 不会被当成 gpt-6-luna。

同一个 model id 出现在两个 provider 下时(比如 deepseek-v4-pro),必须带 provider。
宁可多问一句,也不切错模型。


环境要求

项 要求
DSH >= 0.2.1-rc.3 < 0.3.0(桌面版与 dsh web 均可)
Node >= 18(桌面版内置 Node 24)
依赖 无(零运行时依赖,纯 ESM)
系统 macOS 已验证;Windows / Linux 预期可用(无平台分支)

安装

在 DSH 桌面端安装(图形界面,推荐)

  1. 打开 DSH 桌面端,进入插件管理页(设置 →「插件」)。
  2. 点「添加插件」,在弹窗里粘贴:
github:skyrocks/dsh-model-switcher
  1. 确认安装,等待依赖解析完成。
  2. 完全退出 DSH 再重新打开(macOS 用 Cmd+Q;Windows 从托盘退出)。
    只关窗口不够——Host 插件只在启动时加载。
  3. 新开一个会话,说「列一下模型」验证。插件列表里会显示 @skyrocks/dsh-model-switcher
    (插件行 id 为 model-switcher)。

从命令行安装(可选)

# GitHub(推荐)
dsh plugin --profile desktop add github:skyrocks/dsh-model-switcher

# 本地目录(开发)
dsh plugin --profile desktop add /absolute/path/to/dsh-model-switcher

> desktop 是桌面版 profile;如果你用的是 dsh web,换成 --profile web。
> 安装完成后同样要完全退出并重启 DSH。


用法

在对话里直接说,模型自己决定调工具:

有哪些模型?
列一下 glm 系列
换到 claude haiku
用最便宜的那个
切到 deepseek 推理

也可以直接报精确 id(换成 glm-5.3),一步到位。切错了用内置 /model 换回去即可。

支持的表述:中英文混说、口语指令(「帮我换成…」「切到…」「switch to …」)、
同义词扩展(最快 → flash / turbo / mini / lite,最强 → pro / max / ultra,
推理 → reasoner / thinking,智谱 → glm,月之暗面 → kimi / moonshot 等)。


工作原理

用户在对话里说「换到 glm」
│
▼
模型调用工具                         ┌──────────────── Host(Node)────────────────┐
find_models("换到 glm") ──────────▶│ ctx.get("sessionController")               │
switch_model("glm-5.3")   ────────▶│  ├─ modelCatalog()                         │
│  │    ← ctx.llm.listProviders()/listModels()│
│  │      (与 /model 弹窗同源)              │
│  ├─ agents.get(sessionId).model.current()  │
│  │    (当前选中项,读不到退回部署默认)    │
│  └─ selectModel({ sessionId, provider,     │
│        model, reasoningEffort? })          │
│       ← /model 弹窗同一条写入路径          │
└────────────────────────────────────────────┘
  • sessionId 取 (exec.agent).id:工具永远作用于触发它的那个会话。
  • 不 import 任何 @deepseek-ai 包:本地 link: 安装时插件目录解析不到 profile 的
    node_modules,所以工具定义用原生 JSON Schema 手写(ctx.tools.register 接受原始
    ToolDefinition,defineTool 只是带类型的语法糖),服务只在运行时用 ctx.get() 取。
  • 目录读取失败(例如 provider 缺 Key)不会让工具整体报错,会出现在 failures 里。

版本注记

早期版本走的是 ctx.apiProxy.sessions.models/selectModel;DSH 0.2.1-rc.3 已移除该服务,
照旧写会报「没有挂载 apiProxy 网关」。0.2.1 起改用 sessionController。


兼容性

  • 已验证:DSH 0.2.1-rc.3(macOS 桌面版),实测目录 31 个模型、两个 provider 正常读取与切换。
  • 服务契约:host 服务 sessionController(@deepseek-ai/dsh-api-session-controller)
    提供 modelCatalog() / selectModel();当前选中项读 agents 服务的
    agent.model.current()。
  • 0.2.0 及更早:依赖已被移除的 apiProxy,在 0.2.1-rc.3 上两个工具都会报错,
    请升级到 0.2.1。
  • 0.3.x:engines.dsh 会拒绝安装;如确需尝试,可用 dsh plugin allow-version 放行,
    但服务名与签名可能已变。

常见问题

现象 可能原因 处理
工具列表里没有 find_models 没重启,或装到了别的 profile 完全退出重启;确认装的是当前 profile(desktop / web)
报「没有挂载 sessionController 服务」 DSH 版本太旧,或部署未挂载 session controller 升级到 0.2.1-rc.3+
报「没有挂载 apiProxy 网关」 装的是 0.2.0 及更早版本 升级到 0.2.1
find_models 里有 failures 条目 该 provider 目录读取失败(常见于缺 Key) 在「设置 → 模型」补上凭据;其它 provider 不受影响
说「换到 glm」后只列候选没切换 命中了多个模型,按设计等你选 回一句精确的名字,如「GLM-5.3」
切换后当前这轮回复仍是旧模型 选择从下一次模型请求起生效 下一条消息即生效
切完发现默认模型也被改了 与 /model 行为一致,会一并保存默认 用 /model 换回去即可
同一个名字报「provider 不唯一」 该 id 在多个 provider 下都存在 带上 provider,如「opencode-go 的 deepseek-v4-pro」

开发

node test/smoke.mjs     # 匹配逻辑 + 工具契约 + 失败路径(不需要 DSH 在跑)
node test/manifest.mjs  # 包清单自检:入口存在、插件行名 == 包名、零运行时依赖
node --check index.js match.js

本地迭代:

# 1. 以目录方式安装(link:)
dsh plugin --profile desktop add /absolute/path/to/dsh-model-switcher

# 2. 改源码

# 3. Cmd+Q 完全退出并重启 DSH

改动 package.json 的 dsh.bundle 声明后,需要重新执行一次 add。
CI 会在 Ubuntu / macOS / Windows 的 Node 22、24 上跑同一套测试。


项目结构

dsh-model-switcher/
├── index.js            # 两个工具的注册与实现(Host 半,零依赖)
├── match.js            # 纯函数:查询归一化、别名扩展、候选打分、歧义解析
├── cordis.patch.yml    # 插件行(安装后自动注入 profile)
├── package.json        # dsh.bundle 声明 + exports + files 白名单
├── test/smoke.mjs      # 回归测试:匹配、歧义、schema、失败路径
├── test/manifest.mjs   # 包清单自检(CI 也会跑)
├── README.md           # 中文说明
└── README.en.md        # English readme

隐私与安全

  • 只在 Host 进程内调用 DSH 已有的服务,不额外发任何网络请求。
  • 不读写文件、不执行 shell、没有遥测。
  • 工具输出只包含 provider、model id、显示名、推理档位与 provider 读取失败原因。
  • 本插件与 DeepSeek 无隶属关系,是社区插件。

已知限制

  • 只有工具,没有界面:想手动点选请继续用 /model。
  • 不缓存目录:每次调用都读一次实时目录(目录本身由 DSH 缓存)。
  • 排序是启发式的:别名表覆盖常见说法,生僻昵称可能匹配不到,这时直接报精确 id。
  • 子会话(subagent)里同样可用,作用域是当前 agent 自己的会话。

路线图

  • [ ] 目录结果的本地短缓存,减少连续调用时的重复读取
  • [ ] 支持按能力标签(视觉 / 代码 / 长上下文)筛选
  • [ ] 切换前展示价格与上下文窗口对比
  • [ ] Windows 实机验证与 CI 全绿截图

参与贡献

欢迎 issue 和 PR。反馈时请附上:

  • DSH 版本与操作系统;
  • find_models 的完整输出(可以脱敏 provider 名);
  • 触发时的原话。

提交 PR 前请确保 node test/smoke.mjs、node test/manifest.mjs 通过,并保持
零运行时依赖。


License

MIT

> 非官方插件,与 DeepSeek 无隶属关系。

常见问题

9 问
答案由本站依据条目字段整理,不引用上游原文
dsh-model-switcher 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:skyrocks/dsh-model-switcher#v0.2.1` 即可。对应的 npm 包名是 `@skyrocks/dsh-model-switcher`。

dsh-model-switcher 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-model-switcher 安全吗?

低风险。静态扫描 低;动态审计无结论(以下以静态为准)→ 总评级 低。

dsh-model-switcher 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-model-switcher 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.2-rc.1。

dsh-model-switcher 需要什么运行环境?

Node.js >=18。环境不满足时安装会失败,建议先确认本机版本。

dsh-model-switcher 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-model-switcher 有哪些功能?

自然语言查模型目录、一句话切换模型、多候选时列出待选、与 /model 同源切换、零运行时依赖。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

同名或近似条目

3 条
不同作者的仓库分开列,请确认你要装的是哪一个
模型与账号接入
按星标排序,可作替代方案

archify

archify

从仓库或系统描述生成经过校验的自包含交互式架构图、流程图、时序图、数据流图和生命周期图。

L4 · 沙盒安装通过 8.0 万 星

nocobase

nocobase

L3 · 安装规范通过 2.5 万 星

voyager

voyager

Enhancement suite for Gemini, AI Studio, Claude, ChatGPT & DeepSeek —

L3 · 安装规范通过 2.1 万 星

dsh-our-free-model

dsh-our-free-model

为 DeepSeek Harness 挂载免登录、免 API Key 的免费前沿模型通道,装完即用,并附用量看板与 OpenAI 兼容本地转

未标注验证等级 8,064 星

skyrocks 的其它插件

6 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-11-11。