按厂商分组挑选模型并设置推理等级与可见性
30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/cjc-github/dsh-model-provider-picker.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 2 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 2 处,展示前 2 条)
- 读取本地文件docs/screenshot.mjs:22
const text = readFileSync(LOG, "utf8"); - 写入本地文件docs/screenshot.mjs:30
mkdirSync(OUT, { recursive: true });
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
dsh 模型服务商选择器
README
由 DeepSeek 最新模型翻译生成dsh-model-provider-picker
为 DeepSeek Harness 提供厂商优先的模型选择器,以及一套按厂商/模型隐藏的可见性设置。
官方模型选择器把所有厂商的模型平铺在一个列表里,按厂商分组显示标题。本插件把它改成两级结构:先看厂商,点开展开该厂商的模型,选中模型后再选推理等级;同时把「哪些厂商/模型不该出现」交给用户自己决定。
界面预览
| composer 的模型位 | 两级列表(默认只显示厂商) |
| 触发器 | 两级列表 |
| 点厂商,在下方展开模型 | 选中模型后选推理等级 |
| 展开厂商 | 推理等级 |
设置面板里的「模型选择器」分区:
设置页
截图取自真实运行环境。为便于阅读,截图会话里隐藏了桌宠贴纸、并把菜单的毛玻璃材质换成了实底(headless 环境渲染不出 backdrop-filter)。
功能
1. 两级模型列表
composer 的模型位显示 模型名 推理等级(等级用更小更淡的字体),点击后弹出选择器:
选择模型 点厂商展开模型 ──────────────────────────────────────── Raccoon 4 MiniMax 国内 2 SenseNova 3
默认只显示厂商。
展开完整文档(README 剩余 1 节)
dsh-model-provider-picker
为 DeepSeek Harness 提供厂商优先的模型选择器,以及一套按厂商/模型隐藏的可见性设置。
官方模型选择器把所有厂商的模型平铺在一个列表里,按厂商分组显示标题。本插件把它改成两级结构:先看厂商,点开展开该厂商的模型,选中模型后再选推理等级;同时把「哪些厂商/模型不该出现」交给用户自己决定。
界面预览
| composer 的模型位 | 两级列表(默认只显示厂商) |
| 触发器 | 两级列表 |
| 点厂商,在下方展开模型 | 选中模型后选推理等级 |
| 展开厂商 | 推理等级 |
设置面板里的「模型选择器」分区:
设置页
截图取自真实运行环境。为便于阅读,截图会话里隐藏了桌宠贴纸、并把菜单的毛玻璃材质换成了实底(headless 环境渲染不出 backdrop-filter)。
功能
1. 两级模型列表
composer 的模型位显示 模型名 推理等级(等级用更小更淡的字体),点击后弹出选择器:
选择模型 点厂商展开模型 ──────────────────────────────────────── Raccoon 4 MiniMax 国内 2 SenseNova 3
默认只显示厂商。点厂商整行,在它下方展开该厂商的模型:
Raccoon 4
DeepSeek-V4.1-Flash 开启 sn-... ✓ Kimi K3 sn-kimi-k3 MiniMax-M3 sn-minimax-m3 GLM-5.2 sn-glm-5.2
2. 选中模型后再选推理等级
点一个有推理等级的模型,选择器切到第二屏:
← 选择推理等级 DeepSeek-V4.1-Flash ──────────────────────────────────────── ● 关闭 ● 开启
- 提供等级的模型 → 进这一屏选等级
- 不提供等级的模型 → 点一下直接选中,不弹第二屏
推理等级严格绑定到「厂商 + 模型」:同名模型(例如 deepseek-chat 同时出现在「DeepSeek 账号」和「开放平台」)各自保留自己的档位,互不串台。
3. 搜索
选择器顶部的搜索框支持三类关键词:
| 搜索 | 行为 |
| 模型名 / 模型 id | 列出命中的模型,并保留其厂商 |
| 厂商名 | 展开该厂商的全部模型 |
| 推理等级名(如 max) | 列出提供该等级的模型 |
搜索期间厂商自动展开,折叠状态被忽略。
4. 可见性设置
设置面板里新增一个 「模型选择器」 分区:
- 每个厂商一个主开关 —— 关掉后该厂商及其全部模型都不出现在选择器里
- 展开厂商后,每个模型一个独立开关 —— 可以只藏掉某一个模型
- 每个模型旁边标注「N 档强度」,隐藏前就能看到它有没有推理等级
规则立即写回 Host,选择器实时同步。
安装
本插件是一个 DSH profile 插件(Host 半身 + Client 半身),通过 profile 的 package.json 与 cordis.patch.yml 挂载。
方式一:直接引用本地目录(开发用)
在 DSH 的 profile 目录(通常是 <DSH_HOME>/profiles/web)执行:
pnpm add link:/path/to/dsh-model-provider-picker
然后把包名加进 package.json 的 dsh.profile.bundles:
{
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dsh-model-provider-picker"
]
}
}
}
link: 会建立 junction/符号链接,改源码后重启 Harness 即可生效,不必重新安装。
方式二:打包安装
pnpm pack
pnpm add file:/path/to/dsh-model-provider-picker-1.0.0.tgz
激活
重启 Harness(关闭并重新打开 DSH Desktop,或重启 dsh web 进程)。
插件列表里出现 dsh-model-provider-picker 即为加载成功;设置面板里会出现「模型选择器」分区。
Client 半身是 window.__ModuleLoader__.load(...) 形式的 bundle,改代码后需要重启宿主进程并刷新页面才能拿到新 bundle —— 桌面版的 HMR 只监听配置层,不做模块热替换。
数据存储
隐藏规则存在 Host 设置文档的 model-provider-picker 命名空间下,由 lib/index.js 的 volatile Config 声明:
model-provider-picker:
hiddenProviders: [raccoon] # 整厂商隐藏
hiddenModels: [raccoon/sn-glm-5.2] # 单模型隐藏(provider/model)
两组都是字符串数组,因此 DSH 的 settings 表单能安全地投影、编辑与持久化它们。厂商被整体隐藏后,它下面的模型规则自然失效。
开发
npm test # 跑规则引擎 + 原型的逻辑测试
也可以直接用浏览器打开 prototype/index.html 看交互原型 —— 它和 lib/client.js 里的实现共用同一套规则语义,是调 UI 时最快的反馈回路。
重新生成界面截图
README 里的截图由 docs/screenshot.mjs 驱动真实 GUI 生成(playwright-core + 系统 Edge,不下载额外浏览器):
npm i -D playwright-core
node docs/screenshot.mjs
脚本会从 Harness 日志里读当前启动的 GUI 地址,登录后依次操作:点模型位 → 展开厂商 → 打开推理等级屏 → 打开设置面板,输出到 docs/screenshots/。它会在截图会话里临时隐藏桌宠、并把菜单换成实底,避免遮挡和 headless 下的毛玻璃失真。
目录结构
├── lib/
│ ├── index.js # Host 半身:声明可见性 Config 命名空间 │ └── client.js # Client 半身:选择器 + 设置页(手写 ModuleLoader bundle) ├── prototype/ │ └── index.html # 可交互原型(纯前端,无需 DSH) ├── test/ │ ├── visibility.test.mjs # 可见性规则引擎 │ └── prototype.test.mjs # 原型交互逻辑 ├── docs/ │ ├── screenshot.mjs # 驱动真实 GUI 生成截图 │ └── screenshots/ # README 引用的界面图 ├── cordis.patch.yml # 把 Host 半身插进 profile 的 loader └── package.json
实现要点
Client 半身没有构建步骤。 它是一份手写的 window.__ModuleLoader__.load({ id, factory }) bundle,只 require 平台已经提供的静态模块(react、@deepseek-ai/dsh-client-store、@deepseek-ai/dsh-client-ui-primitives)。改代码无需打包,重启宿主即可。
遮蔽 composer 的模型位。 官方 @deepseek-ai/dsh-client-ui-model-selection 把模型位注册在 conversation.input.model 这个 single slot 上(priority 0)。本插件注册同一个 slot 但 priority 为 -10——DSH 的 slot 按 priority 升序取第一个存活条目,因此本插件排前面并遮蔽官方实现。官方的注册仍留在 ledger 上,它声明的子 slot conversation.input.model.label 因此继续可用。
复用官方的会话目录。 目录与提交都走官方插件提供的 modelDirectories 服务(directoryFor(sessionId) → store / load() / select()),所以本插件的选择器与官方 /model 命令读到的是同一份事实,唯一区别是多了一层可见性过滤。服务缺席时选择器那一段保持等待,不会拖垮整个插件。
注入的两个坑。 DSH 的 slot inject 只有在 hooks 字段内的 observable 才会被渲染层转成 use<Name> 选择器 Hook;平铺返回的 observable 只是普通 prop,组件拿不到订阅。另外 Hook 必须无条件调用,因此代码里用 useEmptyRules / useEmptyCatalog 兜底,而不是在调用点做条件判断。
已知限制
- 只影响 Web / 桌面 GUI。 纯 Host 侧的模型路由不受影响;被隐藏的模型仍可通过直接构造请求使用。
- 依赖官方 model-selection 插件。 若上游移除 conversation.input.model slot 或 modelDirectories 服务,本插件的选择器会等待而不再渲染(设置页仍可用)。
- 不做键盘导航。 当前支持鼠标点击、搜索与 Esc 关闭;官方实现里的 ↑/↓ 循环、Tab 焦点移交等尚未移植。
- 规则是这台机器上的偏好。 存在 Host 设置文档里,随 profile 走,不跨设备同步。
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
cjc-github/dsh-model-provider-picker
按厂商分组挑选模型并设置推理等级与可见性
相关插件 · 模型接入
API 中继安全审计toby-bridges/api-relay-audit
面向 AI API 中转与 LLM 代理的本地安全审计。
★ 897已汉化DSH
69.4
免费搜索插件DDDMUC/dsh-free-search
DeepSeek Harness 免费搜索插件 —— 无需 API key,零成本,多引擎可切换。 一个给…
★ 761已汉化DSH
68.7
免费联网搜索liustack/modsearch
在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X…
★ 863已汉化DSH
68.5
OpenCode 免费模型FishBottle7/opencode2dsh
在 DSHDeepSeek Harness里原生使用 OpenCode Zen 的免费匿名模型。
★ 379已汉化DSH
67.8
AI 模型网关tingly-dev/tingly-box
Tingly Box Web UI 演示
★ 373已汉化DSH
67.4
WorkBuddy 账号池XDTrees/dsh-xdpool
把你能白嫖的模型额度接进 DSH 同一个池:WorkBuddy 多账号自动容错、十三家扫码登录、76…
★ 359已汉化DSH
67.1