禁用多余模型并自定义选择器排序,改完即时生效
29.3/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/chen1880216/dsh-model-guard.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 7 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
README
由 DeepSeek 最新模型翻译生成dsh-model-guard
DSH(DeepSeek Harness)插件:禁用模型 / 服务商,并自定义模型选择器的显示顺序。
本开源项目已链接并认可 LINUX DO 社区。
被禁用的模型或服务商不会出现在对话的模型选择器里,也无法被选中或提交;排序决定选择器里服务商的先后,以及每个服务商内部模型的先后。
功能
- 禁用单个模型:勾掉后它从模型选择器消失,且 Host 侧拒绝选中/提交该模型。
- 禁用整个服务商:该 provider 的全部模型一并隐藏,连分组都不再出现。
- 两级排序:
- 手工顺序:每个服务商、每个模型都有「置顶 / 上移 / 下移」。
- 自动顺序:可选「按名称」排列未被手工调整过的项。
- 规则恒为 显式顺序 > 回退策略 > 原顺序,未列出的新模型自动排在后面,模型增减无需重写配置。
- 全部设置改完即时生效,不需要重启 DSH。
使用位置
安装后,在 DSH 的 设置 → 模型禁用与排序 中使用。
安装
要求 DSH 0.2.x(@deepseek-ai/dsh),Node >=22。
展开完整文档(README 剩余 1 节)
dsh-model-guard
DSH(DeepSeek Harness)插件:禁用模型 / 服务商,并自定义模型选择器的显示顺序。
本开源项目已链接并认可 LINUX DO 社区。
被禁用的模型或服务商不会出现在对话的模型选择器里,也无法被选中或提交;排序决定选择器里服务商的先后,以及每个服务商内部模型的先后。
功能
- 禁用单个模型:勾掉后它从模型选择器消失,且 Host 侧拒绝选中/提交该模型。
- 禁用整个服务商:该 provider 的全部模型一并隐藏,连分组都不再出现。
- 两级排序:
- 手工顺序:每个服务商、每个模型都有「置顶 / 上移 / 下移」。
- 自动顺序:可选「按名称」排列未被手工调整过的项。
- 规则恒为 显式顺序 > 回退策略 > 原顺序,未列出的新模型自动排在后面,模型增减无需重写配置。
- 全部设置改完即时生效,不需要重启 DSH。
使用位置
安装后,在 DSH 的 设置 → 模型禁用与排序 中使用。
安装
要求 DSH 0.2.x(@deepseek-ai/dsh),Node >=22。
从本仓库目录安装到 web profile
dsh plugin --profile web add /path/to/dsh-model-guard
dsh plugin add 会把包写进 profile 的 dependencies 与 dsh.profile.bundles,随后 HMR 自动组合。
若用 link: 方式安装,profile 的 package.json 需要同时出现在两处:
{
"dependencies": { "@local/dsh-model-guard": "link:/path/to/dsh-model-guard" },
"dsh": { "profile": { "bundles": [ /* … /, "@local/dsh-model-guard" ] } }
}
link: 安装必须声明 peerDependencies(本包已声明 @deepseek-ai/cordis、@deepseek-ai/schemastery)。
DSH 的 ResolutionRouter.routeLinked() 只对「在祖先 node_modules 里被声明为 peer」的裸包名走 interception 路由,否则退回 Node 原生解析、从插件目录向上找不到 DSH 安装目录里的包,直接 ERR_MODULE_NOT_FOUND。
生效时机
dsh-hmr 监视 profile 的 cordis.patch.yml、$DSH_HOME/cordis.patch.yml 与 profile package.json 的 bundles。
前两者按内容比较,所以只 touch 不触发重组合——改内容才会。
配置
全部字段可在设置页编辑,也可直接写进 profile 的 cordis.patch.yml:
- id: model-guard
config:
disabledModels: [] # "provider/model",禁用单个模型
disabledProviders: [] # provider id,禁用整个服务商
providerOrder: [] # 服务商显示顺序(id 列表)
modelOrder: [] # 模型显示顺序("provider/model" 列表)
providerSort: natural # natural | name
modelSort: natural # natural | name
这些字段都是 volatile(),改动即时生效。
实现要点
不改动 DSH 已发布的包,而是作为 profile 层 bundle,在 internal/get waterfall 上拦截对 llm 服务的属性读取,返回一个缓存的 Proxy,覆盖 listModels() 与 listProviders() 做过滤与重排;其余成员原样透传并 bind 回真实实例。
选这两个方法是因为 GUI 目录(buildModelCatalog)与提交校验(modelAvailable → selectModel / requireModel)都只经它们取目录——过滤一处即可同时挡住「显示」与「选择/提交」,重排一处即可决定选择器顺序。
核心路由不复用该目录,所以本插件是纯减法 + 重排:不新增模型、不改路由,resolveCallConfig() / stream() 仍走原始实例。
已知限制
- deepseek-account 与 deepseek-official 的顺序无法调整:客户端 orderModelProviders() 无条件把这两个排在最前, Host 侧怎么排都压不过。页面的排序说明里已写明。
- 已在会话中选中的模型被禁用后不会自动回退:菜单里消失、显示 fallback 标签,发消息时才报 session/model-unavailable,需要手动另选一个。
- 只收窄人的选择面,不阻断内部调用:已被 subagent、compaction 等组件显式指定的模型仍能运行。
- 依赖 internal/get 这个带 internal 前缀的 waterfall,它不是公开契约。DSH 大版本升级后若菜单不再隐藏/顺序不再跟随设置,说明该事件签名变了。
- 排序是纯显示层重排,不影响默认模型(默认模型由 profile 的 agent-default-model 行决定)。
许可
本项目采用 MIT License 开源。
DSH(DeepSeek Harness)插件,用来禁用模型 / 服务商,并自定义它们在模型选择器里的显示顺序。
禁用的模型或服务商会从对话模型选择器里隐藏,既不能选中,也不能提交。排序决定选择器里服务商的先后顺序,以及每个服务商内部模型的顺序。
本项目是开源项目,链接并认可 LINUX DO 社区。
功能
- 禁用单个模型:取消勾选后,它从选择器里消失,Host 也会拒绝选中或提交它。
- 禁用整个服务商:该服务商的所有模型都隐藏,它所在的分组也不再出现。
- 两级排序:
- 手动排序:每个服务商、每个模型都有「置顶 / 上移 / 下移」。
- 自动排序:可选按「名称」排序那些你没手动移动过的条目。
- 规则始终是 显式顺序 > 兜底策略 > 原始顺序,所以新加的模型会自动排在末尾——模型增删时不用重写配置。
- 所有设置立即生效,无需重启 DSH。
在哪里找到它
安装后,在 DSH 里打开 Settings → Models & ordering。
安装
需要 DSH 0.2.x(@deepseek-ai/dsh)和 Node >=22。
Install from this repository's directory into the web profile
dsh plugin --profile web add /path/to/dsh-model-guard
dsh plugin add 会把包写入配置档的 dependencies 和 dsh.profile.bundles,之后 HMR 会自动组合它。
如果以 link: 依赖安装,配置档的 package.json 必须在两处都列出它:
{
"dependencies": { "@local/dsh-model-guard": "link:/path/to/dsh-model-guard" },
"dsh": { "profile": { "bundles": [ / … */, "@local/dsh-model-guard" ] } }
}
link: 安装必须声明 peerDependencies(本包声明了 @deepseek-ai/cordis 和 @deepseek-ai/schemastery)。
只有当祖先 node_modules 把它们声明为 peer 时,DSH 的 ResolutionRouter.routeLinked() 才会通过拦截路由裸包名;否则解析会退回 Node 原生查找,而从插件目录向上查找时,找不到 DSH 安装目录里的这些包,结果就是 ERR_MODULE_NOT_FOUND。
改动何时生效
dsh-hmr 监听配置档的 cordis.patch.yml、$DSH_HOME/cordis.patch.yml,以及配置档 package.json 的 bundles 字段。
前两者按内容比较,所以单纯 touch 不会触发重新组合——内容必须变化。
配置
每个字段都能在设置页里改,也可以直接改配置档的 cordis.patch.yml:
- id: model-guard
config:
disabledModels: [] # "provider/model" — disable a single model
disabledProviders: [] # provider id — disable a whole provider
providerOrder: [] # provider display order (list of ids)
modelOrder: [] # model display order (list of "provider/model")
providerSort: natural # natural | name
modelSort: natural # natural | name
这些字段都是 volatile(),改动立即生效。
实现说明
这个插件不去改已发布的 DSH 包,而是以配置档层 bundle 的形式发布,在 internal/get waterfall 上拦截对 llm 服务的属性读取。它返回一个缓存的 Proxy,覆盖 listModels() 和 listProviders() 做过滤和重排;其余成员原样透传,并重新绑定到真实实例。
之所以选这两个方法作为拦截点,是因为 GUI 目录(buildModelCatalog)和提交校验(modelAvailable → selectModel / requireModel)都只通过它们读目录——在一处过滤就同时覆盖「显示」和「选择/提交」,在一处重排就决定选择器的顺序。核心路由不复用这份目录,所以这个插件是纯减法 + 重排:不加模型、不改路由,resolveCallConfig() / stream() 仍然走原实例。
已知限制
- deepseek-account 和 deepseek-official 的顺序改不了:客户端的 orderModelProviders() 无条件把这两个排在最前,Host 侧任何排序都覆盖不了。设置页也写明了这一点。
- 会话里已选中的模型被禁用后不会自动回退:它会从菜单消失并显示回退标签;只有你发消息时才会抛出 session/model-unavailable,所以需要你手动换一个模型。
- 它只收窄人的选择,不拦内部调用:子代理、压缩等组件显式请求的模型照常运行。
- 它依赖 internal/get waterfall(注意 internal 前缀),这不是公开契约。如果 DSH 大版本升级后菜单不再过滤、或顺序不再跟随设置,说明该事件的签名变了。
- 排序只是显示层重排,不影响默认模型(默认模型由配置档的 agent-default-model 行设定)。
许可证
基于 MIT License 发布。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
chen1880216/dsh-model-guard
禁用多余模型并自定义选择器排序,改完即时生效
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,344已汉化DSH
71.5
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,045已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,202已汉化DSH
71.1
这是你的仓库?认领条目