自定义模型 / 服务商的排列顺序:拖一下,把常用的模型顶到选择器最前面。
30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/20 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add mengge237/dsh-model-priority该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · browser
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 14 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意未发布到 npm registry,仅可从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-model-priority(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/8 08:45:01
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 8 处,展示前 7 条)
- 发起网络请求lib/client.js:211
fetch(url, { headers: { Accept: 'application/json' } }) - 发起网络请求lib/client.js:261
fetch('/dsh-model-priority/settings-order', { - 发起网络请求lib/client.js:286
fetch('/dsh-model-priority/suggest?route=' + encodeURIComponent(route) + '&mode=' + mode, - 发起网络请求lib/client.js:309
fetch('/dsh-model-priority/order/move', { - 发起网络请求lib/client.js:446
fetch(STATE_ROUTE, { headers: { Accept: 'application/json' } }) - 发起网络请求lib/client.js:490
const res = await fetch(UI_ORDER_ROUTE, { headers: { Accept: 'application/json' } }) - 发起网络请求lib/proxy.js:167
up = await fetch(url, { method: req.method, headers: headers,
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 拖拽调整模型顺序
- 自定义提供方排序
- 修改前自动备份
DSH 插件:自定义模型/提供方顺序——侧边栏拖拽排序,宿主的模型列表按这份顺序返回;顺序写进 settings.yaml 前自动备份
README
由 DeepSeek 最新模型翻译生成dsh-model-priority
自定义模型 / 服务商的排列顺序:拖一下,把常用的模型顶到选择器最前面。
模型顺序:点开「模型顺序」行即展开
真机录屏(隔离 dsh web 实例,真实界面):装上前是宿主原顺序;装上后模型页的服务商卡片里多出「模型顺序」扩展区,点开即展开,拖拽保存后选择器按新顺序返回。
静态对照:展开后的「模型顺序」区
宿主的模型选择列表按适配器注册顺序排,常用的模型常常排在后面;这个插件让你在模型设置页里拖一下,把它顶到前面去。
长什么样
两个入口:
- 侧边栏「模型排序」页(需 dsh-better-sidebar):下拉选服务商 → 分组模型列表拖拽,覆盖 llm-pi-ai 家族的自定义服务商。
- 设置 → 模型 的 DeepSeek 卡片内扩展区(keyed 槽 settings.models.provider-card,key=llm-deepseek):内置 DeepSeek 家族在卡片内拖拽。
默认模型带 ★ 固定不可拖;「恢复默认」回到宿主原顺序。百炼一个路由上百个模型,列表按 qwen/glm/kimi 家族分组各自折叠。
展开完整文档(README 剩余 1 节)
dsh-model-priority
自定义模型 / 服务商的排列顺序:拖一下,把常用的模型顶到选择器最前面。
模型顺序:点开「模型顺序」行即展开
真机录屏(隔离 dsh web 实例,真实界面):装上前是宿主原顺序;装上后模型页的服务商卡片里多出「模型顺序」扩展区,点开即展开,拖拽保存后选择器按新顺序返回。
静态对照:展开后的「模型顺序」区
宿主的模型选择列表按适配器注册顺序排,常用的模型常常排在后面;这个插件让你在模型设置页里拖一下,把它顶到前面去。
长什么样
两个入口:
- 侧边栏「模型排序」页(需 dsh-better-sidebar):下拉选服务商 → 分组模型列表拖拽,覆盖 llm-pi-ai 家族的自定义服务商。
- 设置 → 模型 的 DeepSeek 卡片内扩展区(keyed 槽 settings.models.provider-card,key=llm-deepseek):内置 DeepSeek 家族在卡片内拖拽。
默认模型带 ★ 固定不可拖;「恢复默认」回到宿主原顺序。百炼一个路由上百个模型,列表按 qwen/glm/kimi 家族分组各自折叠。
装 / 卸
dsh plugin --profile web add "<本仓目录,或 git 地址>"
dsh plugin --profile web remove dsh-model-priority
- 装完要重启 dsh web:服务端半边(注册路由、挂钩)与浏览器侧半边(进 boot 图的 combo)都是启动时装配的。顺序文件每次调用现读,改它不用重启。
- 拿不到 slots 时卡片格不挂;没装 better-sidebar 时侧边栏页 warn 跳过、卡片格照常 —— 那几条 HTTP 路由任何情况下都可用。
它会动你的哪些文件
| 文件 | 什么时候 | 怎么收拾 |
| ~/.dsh/model-order.json | 每次点「保存」 | 删掉就回默认 |
| ~/.dsh/profiles//cordis.patch.yml(0.1.7 线起的真源) | 点「保存」并同步宿主时 | 写之前先备份成 cordis.patch.yml.bak-<ISO 时间戳> |
| ~/.dsh/settings.yaml(0.1.5 线) | 同上 | 同样先备份;内容没变就不写也不备份 |
| ~/.dsh/model-priority-proxy.json | 只有启用轮换代理才会创建 | 删掉即停用 |
为什么要写盘:宿主按 models 数组的顺序渲染列表(设置页与选择器都看它)。只在读的时候排序,会出现「设置页一个顺序、选择器另一个顺序」,两套来源必然打架。本包两代形状都认,有回归测试盯着(test/settings-source.test.mjs)。
它怎么生效(摘要)
- 排序来源 = settings 真源里该服务商 models 数组的物理顺序(文本块级重排)。
- 默认模型钉位:agent-default-model 声明的那个模型写回时强制钉回原位。
- 双端镜像:写活动层的同时镜像到其它带 llm-pi-ai 的 profile 层(web↔desktop),config: { mirror: false } 可关。
- 服务端半边在 ctx.llm 的实例属性上包一层,让 listProviders() / listConfigurableProviders() / listModels(provider) 按这份顺序返回;稳定排序,没被点过名的条目保持相对位置。
实现取舍、三条必须守住的契约(同步返回 / 形参个数 / 只重排不改条目)、以及为什么改实例属性同时覆盖直调与远端两条路,见 docs/internals.md。
路由(裸路由,自判来源)
| 路由 | 作用 |
| GET /dsh-model-priority/state.json | 目录快照 + 当前顺序 + 挂钩状态 |
| GET /dsh-model-priority/provider-models?route=<route> | 某路由当前的模型 id 顺序 |
| GET /dsh-model-priority/suggest?route=<route>&mode=capability\|cheap\|quota | 建议顺序 |
| PUT /dsh-model-priority/order.json | 保存顺序文件({"reset":true} 清空) |
| POST /dsh-model-priority/settings-order | 按给定顺序重排当前生效真源里该服务商的 models |
这些路由注册在 ctx.webServer 上,是裸路由(宿主鉴权只覆盖 client-connection 的通道与首页),所以本包自己判来源:Host 必须 loopback 或宿主登记的权威、sec-fetch-site 不是 cross-site、有 Origin 时主机名与 Host 一致;跨域一律 403,响应不带 Access-Control-Allow-Origin。本机 shell 里 curl 照常可用。
边界
- 只在 ctx.llm 真的暴露上述方法的宿主版本上生效;挂不上时 state.json 的 hook.ok 为 false 并带原因,页面顶部会显示,顺序文件仍可编辑。
- 可拖拽并写回的是你自己配置的服务商(llm-pi-ai 家族);内置 DeepSeek 卡片里显示为只读 —— 那份清单不在本机配置真源里,插件不碰。
- 不改宿主任何一行代码,但会按你的操作重排当前生效真源里对应服务商的 models 数组。
- 靠改配置里 provider 的键顺序来排序不可靠:registrationFacts 会对 provider 做 sort 判断"是否变化",单纯调键序不触发 replace,运行中不立刻生效,而且被 replace 的那批路由会被挪到 Map 末尾。
- 某个适配器不支持列举模型时,那个服务商下面是空的 —— 这是适配器能力边界,不是排序没生效。
它不管什么
- 只管「列表顺序」:不做请求路由、不做故障转移、不做用量统计。那三件事各有人在管,塞进一个插件最容易互相打架。
- 上游没有「调整模型顺序」的入口(2026-09-10 提过 discussion,至今零回复)。这个插件补的就是那一格。
自检
npm test
五个脚本合计 54 项,都不启动 dsh、不碰 3080 端口(数据层 / 服务端八条路由端到端 / 浏览器侧 bundle / 配置真源两代 / 读侧失败态)。逐脚本说明见 docs/internals.md。
附带的轮换代理(默认关)
包内另有一个小的本机转发层:把某服务商的 baseURL 指到本插件的 rotate 端点,在 .credentials.yaml 的多把 key 之间依次试(429 / 额度尽才换)。默认不开、无页面入口,只能走 HTTP 逐个 route 启用;路径里带 32 字节随机 token,不知道 token 一律 403。细节见 docs/rotate-proxy.md。
更新日志
见 CHANGELOG.md。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
mengge237/dsh-model-priority
自定义模型 / 服务商的排列顺序:拖一下,把常用的模型顶到选择器最前面。
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,928已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4
这是你的仓库?认领条目