Releases: 2275803244-cpu/dsh-model-switcher
Release list
v0.6.0
v0.6.0 — 替换原生模型选择器,只显示当前服务商模型
输入框右下角的原生模型选择器被替换为增强版:默认只显示当前服务商的模型列表,点击「切换服务商 →」弹出服务商列表,两级联动。
变更
- 替换
conversation.input.model席位(原 ui-model-selection 的 ModelSelect) - 默认显示当前服务商的模型,不再显示所有服务商的所有模型
- 点击「切换服务商 →」可换服务商,选中后模型列表立即切换到该服务商
- 返回按钮
← 返回回到模型列表 - 当前服务商/模型以 ✓ 标记
两处协同
- 输入框右下角模型选择器:默认显示当前服务商的模型,切换服务商含两级菜单
- 头部滑块按钮:完整服务商管理面板(只显示有 key 的)
v0.5.0
v0.5.0 — 输入栏右侧模型快速切换器
在输入框右下角新增一个紧凑模型选择器:显示当前模型名,点击弹出当前服务商的所有模型,选模型即切换。
变更
- 新增
conversation.input.right槽位注册:输入栏右侧显示当前模型名(如DeepSeek / deepseek-v4-pro) - 点击弹出当前服务商的所有模型,选模型即切换(服务商不变)——专注模型快速切换
- 服务商切换仍用头部面板(滑块按钮)
配合使用
- 头部滑块按钮:选服务商(深色面板,两级联动)
- 输入栏右侧模型选择器:在当前服务商内快速切换模型
- 面板只显示已配置好(有 key)的服务商;输入栏选择器只显示当前服务商的模型
v0.4.0
v0.4.0 — 只显示配置好的服务商和模型
面板现在只列出真正配置好(有 key / 无需 key)的服务商和模型:通过 llm.providers + settings.describe + credentials.describe 检查每个路由的凭据状态,没有 key 的服务商不再出现(补 key 后自动亮起)。
变更
- 打开面板时检查每个服务商的 key 状态(凭据库/环境变量)
- 只有
active且 key 已配置(或无需 key,如 Ollama)的服务商才显示 - 全部不可用时给出一行指引:
缺 key 的服务商:…
配合一键多服务商
docs/llm-pi-ai.example.yaml 写入 $DSH_HOME/settings.yaml(热重载)后,给哪个服务商补了 key,它就出现在面板;没补的不显示。
v0.3.0
v0.3.0 — 两级联动切换:先点服务商,再选模型
面板改为两级联动:顶部一排服务商 chips(带模型数),先点服务商,下方联动显示该服务商的模型列表,点模型即切换——服务商及其 endpoint(baseURL)自动跟随。
变更
- 服务商 chips 行:每个可用服务商一个标签(名称 + 模型数),当前服务商高亮,默认选中会话当前使用的服务商
- 下方列表只显示选中服务商的模型:模型名 + id + 当前 ✓
- 缺 key 的服务商仍在底部一行摘要提示,补 key 自动亮起
配合一键多服务商
docs/llm-pi-ai.example.yaml 写入 $DSH_HOME/settings.yaml(热重载)后,OpenAI / Anthropic / Gemini / Groq / xAI / OpenRouter / Mistral / Ollama 全部出现在服务商 chips 里,点一下看模型、再点模型切换。
v0.2.0
v0.2.0 — 平铺模型列表,一键切换(服务商自动跟随)
面板从「按服务商分组」改为平铺模型列表:所有服务商的所有模型一列排开,每行带服务商标签,点模型直接切换——provider 及其 endpoint(baseURL)自动跟随,不用先选服务商。
变更
- 平铺列表:模型名 + 服务商标签 + 模型 id + 当前 ✓,一行一个模型
- 缺 key 的服务商不再打断列表,压缩为底部一行摘要:
N 个服务商暂不可用(…)——在「设置 → 模型」补 key 后自动亮起 - 切换逻辑不变:
directory.select({ provider, model }),一次提交服务商+模型
配合一键多服务商
把 docs/llm-pi-ai.example.yaml 的 llm-pi-ai 段写入 $DSH_HOME/settings.yaml(热重载),OpenAI / Anthropic / Gemini / Groq / xAI / OpenRouter / Mistral / Ollama 全部进入平铺列表;有 key 的亮起,补 key 自动出现。
v0.1.0
v0.1.0 — 一键服务商/模型切换插件
DeepSeek Harness Web GUI 客户端插件:会话标题栏一个按钮,列出所有已配置服务商和模型,点一下即切换。
功能
- 一键切换:服务商分组下列出全部模型,点模型行即切换(provider + model 一次提交)
- 当前状态:面板顶部显示当前服务商/模型,当前项高亮 + ✓
- 实时目录:打开自动刷新,与
/model命令、composer 模型席位共享同一份状态 - 异常提示:服务商不可用、目录失败、失败列表都会显示
安装
pnpm --dir "$HOME\.dsh\profiles\web" add github:2275803244-cpu/dsh-model-switchercordis.patch.yml 添加 ui-model-switcher 行后重启 dsh web。
技术要点
- 槽位
conversation.session.header.actions(order=25) - 服务
modelDirectories:directoryFor(sessionId)拿每会话目录控制器 useSyncExternalStore订阅目录 store;directory.select({provider, model})切换- 与
/model弹窗和 composer 模型席位同一控制器,Host 为唯一事实源 - 纯浏览器侧,手写 ModuleLoader bundle,零构建、零依赖(仅 react)