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

模型白名单 swyc520/dsh-plugin-model-whitelist

DeepSeek Harness
swyc52012 天前有提交已提供中文文档扫描:未发现敏感能力

DeepSeek Harness (dsh) 插件:在「设置 → 模型」里逐个勾选要显示的模型,未勾选的从模型选择器菜单中隐藏。

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
数据截至 2026/11/02·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 12 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-model-whitelist 给 DeepSeek Harness(dsh)的模型选择器加一道白名单:在「设置 → 模型」里逐个勾选,没勾的模型就从输入框的模型菜单里消失。 - 默认不隐藏任何模型 —— 空白名单的行为与官方完全一致,装上去看不出区别。 - 随时可恢复 —— 隐藏的模型仍列在设置页里,勾回来即可。 - 不遮蔽官方界面 —— 模型菜单、推理等级、键盘操作、失败提示全部保持官方原样。 它解决什么问题 模型多了以后,选择器菜单会变得很长:多个 provider、几十个模型、还有地区受限或常年不可用的条目夹杂其中。每次切换模型都要在一长串列表里翻找。 这个插件让你把不用的模型收起来,只留下常用的那几个。 它不是用来禁用或卸载模型的 —— 隐藏只影响选择器菜单的显示,模型本身、provider 配置和调用链路都不受影响。 安装 命令行(纯 dsh web) dsh plugin --profile web add @swyc520/dsh-plugin-model-whitelist dsh --profile web --dump-config # 确认插件行已进入配置树 安装后重启一次 dsh web。
展开完整文档(README 剩余 1 节)
dsh-plugin-model-whitelist

给 DeepSeek Harness(dsh)的模型选择器加一道白名单:在「设置 → 模型」里逐个勾选,没勾的模型就从输入框的模型菜单里消失。

- 默认不隐藏任何模型 —— 空白名单的行为与官方完全一致,装上去看不出区别。
- 随时可恢复 —— 隐藏的模型仍列在设置页里,勾回来即可。
- 不遮蔽官方界面 —— 模型菜单、推理等级、键盘操作、失败提示全部保持官方原样。

它解决什么问题

模型多了以后,选择器菜单会变得很长:多个 provider、几十个模型、还有地区受限或常年不可用的条目夹杂其中。每次切换模型都要在一长串列表里翻找。

这个插件让你把不用的模型收起来,只留下常用的那几个。

它不是用来禁用或卸载模型的 —— 隐藏只影响选择器菜单的显示,模型本身、provider 配置和调用链路都不受影响。

安装

命令行(纯 dsh web)

dsh plugin --profile web add @swyc520/dsh-plugin-model-whitelist
dsh --profile web --dump-config # 确认插件行已进入配置树

安装后重启一次 dsh web。

桌面端 / DSHEAC AIO

桌面端的 profile 由 Electron 应用独占,命令行 dsh plugin add 无法写入。请在应用内的插件管理器里安装;若手工安装,注意桌面端的 profile 闸门不允许 link: 依赖或目录 junction,必须是真实目录。

使用

1. 打开 设置 → 模型。
2. 滚到页面底部,找到「模型显示」面板。
3. 取消勾选不想看到的模型。

面板顶部显示 显示 N/M,每个 provider 一张卡片。五个按钮: 全部显示、全部隐藏、全部展开、全部折叠、重新读取。

折叠分组

点 provider 卡片的标题行即可折叠 / 展开该组:箭头会转向,标题右侧显示该组的模型数(有隐藏时改为显示已隐藏数量)。折叠状态会被记住,刷新后保持。

折叠纯粹是阅读便利:它不会隐藏任何模型,选择器菜单完全不受影响。provider 多的时候用「全部折叠」一次收起来。

改完立刻生效,无需刷新。

如果面板里显示「还没有读到模型清单」,打开一次模型选择器即可 —— 模型目录由官方模型选择插件按需加载,本插件读取的是同一份数据。

工作原理

这一节说明插件为什么这样实现,以及它在什么情况下会失效。

白名单存在浏览器本地存储里

键名 dsh-model-whitelist/v1,按「浏览器 + Web 地址」隔离。它不写入 settings.yaml、不改动任何 provider 配置,也不上传。清除浏览器数据会一并清掉白名单。

存两类状态:hidden(不进选择器的模型)与 collapsed(面板里折叠的 provider 卡片)。
两者刻意分开 —— 折叠是阅读便利,绝不能和「隐藏模型」混为一谈。

选择「隐藏集」而不是「显示集」来持久化:新模型(新版本、新接入的 provider)默认可见。
若持久化「显示集」,每个新模型都会被静默隐藏,那读起来像 bug。

过滤是「投影」,不是「遮蔽」

dsh 为每个 UI 扩展位(slot)都标注了 replaceRisk。官方的模型选择器位于
conversation.input.model,标注为 shadows-shipped-ui —— 注册到那里会替换官方控件,连带它的菜单、推理等级子菜单、键盘处理和失败行一起接管。对一个「显示偏好」来说这是很差的交换。

官方选择器读取模型目录的链路是公开的:

ctx.modelDirectories.catalog.store.getSnapshot()
-> { value: { groups: [{ id, name, models: [...] }], default, failures },
status, error }

createSnapshotStore 返回的是普通对象({ getSnapshot, subscribe, update, set }), getSnapshot 是普通方法。本插件因此包装这一个方法,返回过滤后的快照:

- 官方组件照常渲染它自己的界面,只是它读到的列表少了被隐藏的模型;
- 真实 store 从不被写入,subscribe 仍然报告真实变化,所以目录更新与白名单改动都会触发重渲染;
- 投影是幂等且全函数式的:只复制 groups 数组,且仅在确实隐藏了东西时才复制。

插件在注销时恢复原方法。

因此它不会拖垮启动

客户端插件若在激活阶段抛异常,宿主会以 web boot: 1 entry did not activate 中止启动。
本插件对此做了两件事:

1. 导出 cordis 需要的 inject 数组(['locale', 'slots']),让宿主等到依赖就绪再调用 apply;
2. 每一处可能失败的读取(require 官方组件库、取服务、读本地存储、投影快照)都包在 try/catch 内并降级:拿不到官方组件库就退回普通元素,拿不到服务就显示空状态,读存储失败就当作空白名单,投影出错就返回未过滤的快照。

最坏情况是「不隐藏任何模型」,而不是打不开应用。

兼容性

在 dsh 0.2.0-rc.2(桌面端 @deepseek-ai/dsh-desktop 0.2.0-rc.2,Electron 44, Node 24.18.1)上实测通过:面板正常显示、勾选后选择器菜单立即少掉对应模型、勾回后恢复。

插件依赖的公开面是 ctx.modelDirectories.catalog.store 的快照形状与 settings.models.footer 座位。前者是官方模型选择插件对外的服务字段,后者由 dsh 的 slot 契约文档化并标注 replaceRisk: none。两者若在未来版本改变形状,插件会退化为「面板为空」或「不过滤」,不会中断启动。

未在 0.1.x 系列上验证。

已知限制

- 白名单只影响选择器菜单的显示。已选中的模型若被隐藏,它仍会继续工作;当前会话正在使用的模型你仍可在设置页里隐藏,不影响正在进行的对话。
- 面板在打开时读取一次目录,并订阅后续变化;若某个 provider 的模型清单是懒加载的,需先触发一次加载(打开一次模型选择器)才会出现在面板里。
- 白名单与折叠状态按浏览器与地址隔离。换端口、换浏览器或清空站点数据都会丢。
- 没有「按 provider 整组隐藏」的批量操作(只有全部显示 / 全部隐藏)。折叠可以整组收起,但它不改变哪些模型可见。
- 折叠功能只做在设置面板里。模型选择器菜单本身由官方组件渲染,往那里加折叠需要遮蔽官方界面(replaceRisk: shadows-shipped-ui),本插件刻意不这么做。

开发

node scripts/verify-client.mjs

该脚本用一个打桩的模块表和小型渲染器载入 lib/client.js,然后断言:工厂与导出形态正确、 inject 数组存在、座位注册命中 settings.models.footer、投影确实过滤掉了被隐藏的模型、 折叠只影响渲染而不影响 hidden 集或选择器,同时覆盖空/畸形快照、服务缺失、本地存储被拒等降级路径。

许可证

MIT。见 LICENSE 与 THIRD_PARTY_NOTICES.md。

版本变更见 CHANGELOG.md。
预览分享卡片长什么样 ↓swyc520/dsh-plugin-model-whitelist
分享 · DeepSeek Harness Hub
swyc520/dsh-plugin-model-whitelist

DeepSeek Harness (dsh) 插件:在「设置 → 模型」里逐个勾选要显示的模型,未勾选的从模型选择器菜单中隐藏。

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部