DeepSeek Harness Hub
← 返回列表

ManoloRemiddi/dsh-model-picker-augmented

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

MIT 许可证 — 版权所有 c 2026 Manolo Remiddi

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/10 · 已提供中文文档

在 DeepSeek Harness 中搜索、固定和隐藏模型;刷新提供商目录。

综合分
30.5
GitHub 分
30.5
用户评分
★ Stars
2
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add ManoloRemiddi/dsh-model-picker-augmented
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-model-picker-augmented

MIT 许可证 — 版权所有 (c) 2026 Manolo Remiddi
SPDX-License-Identifier: MIT — 完整许可证文本见 LICENSE。

适用于 DeepSeek Harness 的可搜索、精选的编辑器模型选择器。

此插件将编辑器中的模型选择器替换为可搜索版本,
并新增一个 Model Picker Augmented 设置页面,让你可以精确控制
哪些模型出现在列表中,以及哪些模型被固定到顶部。

功能

- 实时模型搜索 — 模型列表顶部的搜索字段会在你输入时
进行过滤,同时匹配模型名称和提供商名称。没有匹配项的
分组会消失;查询为空时恢复完整列表。
- 显示 / 隐藏模型 — 通过设置页面将你从不使用的模型从选择器
列表中隐藏。隐藏的模型仍会列在设置中(标记为已隐藏),
以便你随时将它们恢复。
- 固定到顶部 — 固定你最喜欢的模型;它们会显示在模型列表
最顶部的已固定区域中(并从下方所属的提供商分组中移除,
以避免重复)。在设置中使用上/下箭头调整它们的顺序。
- 刷新提供商 — 此按钮首先强制
正在运行的 harness 从磁盘重新读取 ~/.dsh/settings.yaml,这样
你添加到文件中的提供商和模型无需重启 harness 即可出现
—— 刷新完成时,文件中新增的提供商块就会被提供。随后它会重新读取
实时目录,并且对于每个拥有 baseURL 的活动提供商,检查该提供商的
端点,并将文件中尚未列出的任何模型追加到 settings.yaml 中该提供商的
models 列表 —— 一个拥有 baseURL 但尚无 models 列表的提供商
只需单击一次即可自动填充,无需手动编辑。如果文件同步
本身失败,刷新会继续并报告该情况(settings.yaml sync
failed: …)。该页面还会跟随宿主推送的 harness
目录变更(设置提交、适配器
重新注册、凭据更新),因此视图保持实时。
- 其余选择器保持与出厂完全一致:两级模型/强度
菜单、强度级别、键盘导航、错误/重试状态,以及与 /model 命令的
完全同步(两者使用同一个共享模型目录)。

要求

- DeepSeek Harness (dsh) >= 0.1.5-rc.1(已在 0.1.5-rc.1 上验证)
- Web GUI 配置文件(--profile web),它提供了此插件所依赖的
依赖项(@deepseek-ai/dsh-client-ui-conversation、
@deepseek-ai/dsh-client-ui-settings、@deepseek-ai/dsh-client-ui-model-selection、
@deepseek-ai/dsh-client-locale)。

安装

直接从其 GitHub release 安装经过测试的 1.1.2 包:

dsh plugin --profile web add https://github.com/ManoloRemiddi/dsh-model-picker-augmented/releases/download/v1.1.2/dsh-model-picker-augmented-1.1.2.tgz

重启 DSH 并重新加载其网页。此包通过
GitHub Releases;它未发布到 npm。使用 link: 安装的现有用户应将链接的检出更新到标签 v1.1.2,而不是添加第二份副本。保留你当前的设置和模型凭据。

对于源码安装:

该插件是一个 DSH bundle 补丁包(与其他可热插拔的 Web 插件模式相同):

git clone --branch v1.1.2 --depth 1 https://github.com/ManoloRemiddi/dsh-model-picker-augmented.git
cd dsh-model-picker-augmented
pnpm install
dsh plugin --profile web add link:$(pwd)

pnpm install 很重要:link: 包会从它们自己的目录解析依赖,而 node 部分需要 schemastery 来实现持久化设置命名空间。然后重启 harness(或重新加载 Web GUI)。编辑器模型选择器现在是可搜索的,并且 Settings → Model Picker Augmented 下会出现一个 Model Picker Augmented 页面。

要移除它:

dsh plugin --profile web remove dsh-model-picker-augmented

用法

1. 打开任意会话,点击编辑器工具行最右端的模型选择器。
2. 输入 Model 打开列表——在顶部的搜索字段中输入以筛选(例如 qwen 只显示 Qwen 模型以及提供这些模型的提供商;清空该字段可再次显示全部内容)。
3. 打开 Settings → Model Picker Augmented 进行管理:
- 每个模型的 Visible / Hidden 开关(隐藏的模型会从选择器中消失,但仍列在此处,并且可以随时重新启用)。
- 每个模型的 Pin to top,使用上/下箭头对置顶部分进行排序。
- Refresh providers 用于将正在运行的 harness 与 settings.yaml 同步(通过文件添加的提供商和模型无需重启即可出现),并检查提供商端点是否有新模型;参见下面的 工作原理。

工作原理

- 浏览器部分以遮蔽优先级注册到编辑器的命名模型席位(conversation.input.model),并注册到设置面板(settings.section)。
- 模型数据来自 harness 本身:选择器读取与内置选择器相同的每会话咨询目录(modelDirectories 服务),设置页面通过 Remote API(remote.session.modelCatalog)获取全局目录。该插件不添加自己的模型数据——如果某个模型在选择器中缺失,那么它在你配置的提供商目录中也缺失(见下文)。
- 管理数据(隐藏模型 + 置顶顺序)会持久保存在你的机器上:node 部分注册一个 model-picker-augmented 设置命名空间,每次更改都会通过 harness 设置系统写入 ~/.dsh/settings.yaml(model-picker-augmented: { hidden: …, pinned: … }),因此你的置顶和隐藏模型在页面刷新、浏览器重启和机器重启后仍然保留。启动时,浏览器部分会从该存储值中为选择器注入数据。
- Refresh providers(设置页面)分两个阶段运行,仅在你点击它时运行:
1. 将 harness 与 settings.yaml 同步。 它通过 settings 提交 API 向插件自身的
model-picker-augmented 命名空间发起一次空操作写入。每次 settings 写入都会强制
harness 在持久化之前从磁盘重新读取 settings.yaml,任何已经发生偏移的文件——
在 harness 运行期间手动添加的 provider 或 model——都会通过正常的 settings
管道重新发布,因此它们的路由会实时重新注册,无需重启。
只有插件的 curation 部分会被重写;文件的其他所有部分都原样通过(包括注释)。
如果此步骤失败,刷新会继续使用内存中的目录,并报告
settings.yaml sync failed: …。
2. 重新读取目录并同步端点。 然后它会获取
remote.session.modelCatalog(目录 + 各 provider 的失败信息)、
remote.llm.listProviders 和 remote.llm.listConfigurableProviders
(活动路由及其 settings 位置),以及 remote.settings.describe(当前的 llm-pi-ai 配置
+ 修订版本)。对于每个具有 baseURL 且其组提供真实模型的活动 provider,
它会针对该 baseURL 调用 remote.llm.discoverModels(会自动使用已存储的凭据),
并将文件中尚未列出的任何模型追加到该 provider 的 models 列表中,
通过一次带修订检查的 settings.mutate 写入完成;对于有 baseURL 但尚无
models 列表的 provider,会将回复采纳为其完整列表。缺失的 name/contextWindow/maxTokens
会用 harness 默认值填充。写入通过 settings 提交 API(而非原始文件编辑)进行,
因此 settings.yaml 仍是唯一事实来源,运行中的 harness 会立即识别新模型;
编辑器选择器会通过宿主的 settings/document-updated /
llm/adapters-updated 事件跟进。

不会写入其他任何内容:阶段 1 只触及
model-picker-augmented 部分,阶段 2 只追加——现有模型条目永远不会被重写,
没有 baseURL 的 provider 会被跳过。

关于模型可用性的说明

选择器只能显示本地已安装的 provider 目录所知道的模型。
zai 和 openrouter provider 会回退到捆绑的 pi-ai 目录,除非
它们在 settings.yaml 中的 llm-pi-ai 配置带有显式的 models 列表
(该列表会替换捆绑目录)。provider 宣布的新模型
(例如新的 GLM 或 Qwen 层级)只有在添加到该列表后才会出现。

添加 provider 已宣布但你的目录中缺少的模型

最快的方法是使用 Model Picker Augmented 页面上的 Refresh providers 按钮:
在 settings.yaml 中的 llm-pi-ai.providers 下添加一个 provider 块
(为其提供 baseURL,如果端点需要,再提供 API key),然后点击
Refresh。Refresh 会先将运行中的 harness 与文件同步——无需重启
需要时——然后从端点拉取提供商的模型列表,并为你写入 settings.yaml。你也可以使用随附的 Settings → Models 页面(其从端点拉取流程会从提供商处拉取当前目录),或直接编辑 ~/.dsh/settings.yaml。每个条目需要 id、name、contextWindow 和 maxTokens(正整数)。由于显式的 models 列表会替换内置目录,请列出你希望看到的每一个模型——你省略的条目会从选择器中消失:

~/.dsh/settings.yaml — llm-pi-ai section (example: Z.ai)
llm-pi-ai:
providers:
zai:
apiKeyEnv: ZAI_API_KEY
models:
- id: glm-4.5-air
name: GLM-4.5-Air
contextWindow: 131072
maxTokens: 98304
- id: glm-5.3
name: GLM-5.3
contextWindow: 1048576
maxTokens: 131072
- id: glm-5.3-flash
name: GLM-5.3-Flash
contextWindow: 1048576
maxTokens: 131072
…plus every other zai model you want to keep

这同样适用于 openrouter(例如 qwen/qwen3.8-max)。文件编辑会在你下次点击 Refresh providers 时被正在运行的 harness 拾取:Refresh providers 首先将 settings.yaml 同步到 harness(无需重启),然后检查端点是否有新模型。如果 Refresh 报告 settings.yaml sync failed: …,则文件未被应用——请检查 YAML(例如,声明了提供商但没有目录条目时需要 baseURL),然后再次点击 Refresh。真实规格来自提供商(Z.ai 文档、OpenRouter)——或者让从端点拉取流程为你填写。

许可证

MIT — 版权所有 (c) 2026 Manolo Remiddi。参见 LICENSE。

每个源文件都带有 MIT 头;package.json 通过 license 和 author 字段声明了它。

DSH 0.1.5 兼容性 (1.1.2)

版本 1.1.1 使用了已移除的 connection.api 浏览器接口,可能会以“Cannot read properties of undefined (reading settings)”停止 DSH GUI。版本 1.1.2 声明了作用域内的 remote.settings、remote.llm 和 remote.session 依赖,并使用它们当前的方法、位置参数和 Result 值。固定项和隐藏模型保留其现有的设置命名空间和格式。

运行 pnpm test 以获得客户端初始化、策展写入、提供商发现、带修订检查的模型添加和目录错误的回归覆盖。测试使用内存中的设置服务,绝不访问凭据或实时模型端点。

已于 2026-09-10 使用 DSH 0.1.5-rc.1 和 Chromium 152 验证:完整的 DSH GUI 加载时没有插件故障,编辑器搜索可筛选模型,设置目录可渲染,并且固定项在页面重新加载后仍然保留。临时测试固定项已被移除,原始策展设置经验证完好无损。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群