🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

模型排序隐藏 Faust-zyb/dsh-models-sort

DeepSeek Harness
Faust-zyb11 天前有提交已提供中文文档扫描:含敏感能力

拖拽调整供应商顺序并隐藏,改动即时保存

30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/23 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Faust-zyb/dsh-models-sort
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · other
装得上吗
本站尚未做安装检查
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 14 处,展示前 13 条)
  • 写入本地文件
    lib/index.js:22
    appendFileSync(LOG_FILE, `${new Date().toISOString()} ${line}\n`, "utf8");
  • 读取本地文件
    lib/index.js:232
    const parsed = JSON.parse(readFileSync(hiddenFile(), "utf8"));
  • 写入本地文件
    lib/index.js:241
    writeFileSync(hiddenFile(), JSON.stringify([...hiddenState.keys], null, 2), "utf8");
  • 读取本地文件
    lib/index.js:301
    const parsed = parseProviders(readFileSync(file, "utf8"));
  • 读取本地文件
    lib/index.js:306
    sendJson(res, 200, { ok: true, patch: file, exists: existsSync(file), providers, runtime });
  • 读取本地文件
    lib/index.js:312
    const text = existsSync(file) ? readFileSync(file, "utf8") : "";
  • 读取本地文件
    lib/index.js:312
    const text = existsSync(file) ? readFileSync(file, "utf8") : "";
  • 读取本地文件
    lib/index.js:367
    if (!existsSync(file)) {
  • 写入本地文件
    lib/index.js:386
    copyFileSync(file, `${file}.bak-${Date.now()}`);
  • 写入本地文件
    lib/index.js:387
    writeFileSync(file, result.text, "utf8");
  • 发起网络请求
    lib/client.js:389
    return fetch(url, init).then((r) => r.json().catch(() => ({ ok: false, error: "HTTP " + r.status })).then((body) => ({ ok: r.ok, body })));
  • 发起网络请求
    lib/client.js:415
    const out = await fetch("/dsh-models-sort/hidden").then((r) => r.json());
  • 发起网络请求
    lib/client.js:489
    const out = await fetch("/dsh-models-sort/hidden", {
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

给 DSH 设置页的模型供应商列表加 CC Switch 式拖拽排序与隐藏:松手顺序立即生效并写回 cordis.patch.yml(自动备份),可整行隐藏供应商并从聊天框模型选择器移除。

README

由 DeepSeek 最新模型翻译生成
dsh-models-sort 给 DeepSeek Harness(DSH)设置页的模型供应商列表加上 CC Switch 式拖拽排序与隐藏能力。 按住卡片左侧的 ⠿ 手柄上下拖动,周围的卡片会边压边让开,松手顺序立即生效,同时写回配置永久保存。每张卡片还有一个「隐藏」按钮,隐藏的供应商集中到列表底部的「已隐藏」分组,并从聊天框的模型选择器里移除。 演示:拖动排序与隐藏 安装(一行) dsh plugin add github:Faust-zyb/dsh-models-sort 桌面版也可以走 设置 → 插件 → 从来源安装,或直接对 DSH 说「帮我装 github:Faust-zyb/dsh-models-sort」。安装后重启一次 DSH。npm 与手动方式见下文。 功能 拖拽排序 - 卡片贴着指针 1:1 跟随,不跳格、不掉手; - 连续让位:拖动卡片的边一压到别的卡片,那张卡片立刻顺方向滑开,压多深让多少,最多让一格,全程无跳变; - 上下左右方向都能拖,落点按位移四舍五入到最近槽位; - 顺序立即生效(运行时重排,无需重启),并写回 cordis.patch.yml 永久保存; - 聊天框模型选择器的分组顺序跟着一起变; - 单纯点击手柄不会改变卡片尺寸或触发动画; - 尊重系统「减少动态效果」设置。
展开完整文档(README 剩余 1 节)
dsh-models-sort

给 DeepSeek Harness(DSH)设置页的模型供应商列表加上 CC Switch 式拖拽排序与隐藏能力。

按住卡片左侧的 ⠿ 手柄上下拖动,周围的卡片会边压边让开,松手顺序立即生效,同时写回配置永久保存。每张卡片还有一个「隐藏」按钮,隐藏的供应商集中到列表底部的「已隐藏」分组,并从聊天框的模型选择器里移除。

演示:拖动排序与隐藏

安装(一行)

dsh plugin add github:Faust-zyb/dsh-models-sort

桌面版也可以走 设置 → 插件 → 从来源安装,或直接对 DSH 说「帮我装 github:Faust-zyb/dsh-models-sort」。安装后重启一次 DSH。npm 与手动方式见下文。

功能

拖拽排序
- 卡片贴着指针 1:1 跟随,不跳格、不掉手;
- 连续让位:拖动卡片的边一压到别的卡片,那张卡片立刻顺方向滑开,压多深让多少,最多让一格,全程无跳变;
- 上下左右方向都能拖,落点按位移四舍五入到最近槽位;
- 顺序立即生效(运行时重排,无需重启),并写回 cordis.patch.yml 永久保存;
- 聊天框模型选择器的分组顺序跟着一起变;
- 单纯点击手柄不会改变卡片尺寸或触发动画;
- 尊重系统「减少动态效果」设置。

隐藏供应商
- 每张卡片的操作区多一个「隐藏」按钮(外观与「编辑」按钮完全一致);
- 隐藏后卡片变淡、按钮变「显示」,自动移到列表底部的「已隐藏」分组;
- 聊天框模型选择器里这家的所有模型不再显示,设置页保留该行,随时点「显示」恢复;
- 只影响选择器,不影响已配置的密钥和路由。

安装

三种方式任选其一。安装后重启一次 DSH 生效。

方式 A:DSH 插件管理页(推荐)

1. 打开 DSH 设置 → 插件(模型之外的插件管理页);
2. 选择「从 npm 安装」或「从本地安装」,填入包名 dsh-models-sort(或本地目录 / 压缩包路径);
3. 安装完成后重启 DSH。

方式 B:让 DSH 帮你装

DSH 内置了插件管理工具,直接对 DSH 说:

帮我安装插件 dsh-models-sort

或指定来源:

帮我安装插件,路径是 C:\Downloads\dsh-models-sort

DSH 会调用 install_bundle(底层是 pnpm add),支持 npm 包名、本地目录、.tgz 压缩包、GitHub 仓库,并自动写入 dsh.profile.bundles 启用。

方式 C:手动安装

1. 把本目录整个复制到 DSH 配置目录的 node_modules 下:

%USERPROFILE%\.dsh\profiles\desktop\node_modules\dsh-models-sort\

2. 编辑同目录下的 package.json,把 dsh-models-sort 加进 dsh.profile.bundles:

"dsh": {
"profile": {
"bundles": ["dsh-pet", "dsh-models-sort"]
}
}

3. 重启 DSH。

卸载

- 插件管理页点「卸载」,或对 DSH 说「帮我卸载插件 dsh-models-sort」(remove_bundle);
- 手动安装的,删掉 node_modules/dsh-models-sort 并从 dsh.profile.bundles 移除即可。

卸载后拖拽手柄与隐藏按钮消失,供应商顺序保持卸载前的最后一次保存值(顺序本来就写在 cordis.patch.yml 里,不受卸载影响)。

数据与文件

| 文件 | 说明 |
| %USERPROFILE%\.dsh\profiles\desktop\cordis.patch.yml | 供应商顺序的持久化位置(插件直接改写 providers: 段的顺序) |
| cordis.patch.yml.bak-<时间戳> | 每次改写前的自动备份,可手动回滚 |
| %USERPROFILE%\.dsh\profiles\desktop\dsh-models-sort.hidden.json | 隐藏的供应商键列表 |
| %TEMP%\dsh-models-sort.log | 运行日志,排查问题用 |

安全性:改写 cordis.patch.yml 时会先备份,只调整 providers: 下各块的顺序,不改动任何字段内容。

与同类插件的区别

生态里已经有两个做"模型顺序"的插件,先说清楚差异,免得你装重了:

| | 本插件 | dsh-llm-providers-ui | dsh-model-priority |
| 做法 | 增强现有设置页(DOM 层) | 接管整个 LLM 供应商设置页 | 增强 + 改写宿主返回顺序 |
| 拖拽排序 | ✅ | ✅ | ✅ |
| 隐藏整行供应商 | ✅ | ❌ | ❌ |
| 顺序写回 | cordis.patch.yml(带备份) | 自己的 settings 命名空间 | settings.yaml(带备份) |
| 依赖 | 仅 DOM,装上即用 | 需要各供应商插件配合注册卡片 | 需要装它自己的宿主侧 |

结论:如果你只是想要"能拖动排序",三个都能用;本插件独有的部分是隐藏——把某家供应商从聊天模型选择器里摘掉、但设置页保留随时恢复。

⚠️ 与本插件不兼容:dsh-llm-providers-ui 会接管并重绘整个设置页,本插件靠识别「编辑/删除」按钮来找卡片,页面被接管后会失效(不会报错,只是不生效)。两者请二选一。

兼容性

| DSH 版本 | 状态 |
| 0.2.1-rc.2 | 兼容(实测) |
| 0.2.0-rc.x / 0.1.7-rc.2 | 未测试 |

本插件用到了 DSH 的内部接口(llm.adapters / llm.listProviders / llm.listConfigurableProviders),并以 DOM 方式增强设置页。DSH 大版本更新后可能失效,届时请等插件更新或提 Issue。

已知限制

- 只能排序自定义服务商;内置的 DeepSeek 账号 / 官方行固定在最前(DSH 自身的排序规则);
- 隐藏当前正在使用的服务商会让当前模型选择失效,请先换一个模型再隐藏;
- 首次拖拽后如发现顺序未同步到聊天选择器,重启一次 DSH 即可(运行时同步依赖内部接口)。

License

MIT
预览分享卡片长什么样 ↓Faust-zyb/dsh-models-sort
分享 · DeepSeek Harness Hub
Faust-zyb/dsh-models-sort

拖拽调整供应商顺序并隐藏,改动即时保存

这是你的仓库?认领条目

回到顶部