Townrain/dsh-fetch-models-unselect-all
DSH 设置 > 模型“获取可用模型”对话框的全不选按钮(仅客户端插件)
项目介绍Project Overview
这是一个 DSH 插件,为“设置→模型→添加提供商→自定义提供商→获取可用模型”对话框增加“取消全选”按钮。它通过 DOM 观察定位对话框,点击后取消所有模型勾选并逐行触发 change 事件,使 React 选择状态同步,适合模型目录很大、需一键清空再挑选时使用。插件无宿主代码、RPC 或设置;因依赖对话框 DOM 结构,未来界面改版可能需更新锚点逻辑。
This DSH plugin adds a “Deselect all” button to the DeepSeek Harness “Fetch available models” dialog in Settings → Models → Add provider → custom provider. It watches the DOM, inserts a styled button beside Cancel, and on click unchecks every model checkbox while dispatching native change events so React state stays in sync. Use it when a provider lists many models and you want to clear the selection quickly. It has no host code, RPC, or settings; because it relies on dialog DOM structure, future UI redesigns may require anchor updates.
请帮我了解并安装插件:【dsh-fetch-models-unselect-all】【https://github.com/Townrain/dsh-fetch-models-unselect-all】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add github:dsh-fetch-models-unselect-all
把 Townrain/dsh-fetch-models-unselect-all 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-fetch-models-unselect-all
A "deselect all" button for the DeepSeek Harness Settings → Models → Add provider → custom provider → Fetch available models dialog.
The dialog lists every model a provider advertises with one checkbox per row and only two footer actions — Cancel and Add selected. This plugin adds a 取消全选 / Deselect all button directly left of Cancel, so a large catalog can be cleared in one click instead of unchecking each row.
[取消全选] [取消] [添加所选]
What it does
- Pure client presentation: watches the DOM for the fetch dialog (anchored on its unique "Add selected" action), then clones the Cancel button's classes to insert an identically styled "deselect all" button left of it.
- Clicking it unchecks every model checkbox and dispatches a native
changeevent per row, keeping the dialog's React-controlled selection in sync — "Add selected" then adopts nothing, exactly as if each box were cleared by hand. - No host code, no RPC, no settings, no session events. The observer is disposed with the plugin fiber; uninstalling leaves nothing behind.
- Localized: shows 「取消全选」 with a Chinese UI and "Deselect all" with an English UI, following the Cancel button's language.
Install
dsh plugin --profile web add github:dsh-fetch-models-unselect-all # or a local clone:
dsh plugin --profile web add /path/to/dsh-fetch-models-unselect-all
Restart dsh web and hard-refresh the browser after installation.
Build
DSH_CHECKOUT=/path/to/deepseek-harness node build.mjs
build.mjs resolves the checkout's esbuild + typescript and emits
lib/index.js (host, no-op) + lib/client.js (browser bundle,
__ModuleLoader__ format) + lib/types/ declarations.
Notes
The dialog has no official plugin slot, so the button is anchored on the dialog's DOM structure ("Add selected" action + checkbox list). A future settings-form redesign may require a small update to the anchor logic.
License
MIT
nexu-io/open-design
freestylefly/awesome-gpt-image-2
anywhere-labs/dsh-desktop
walkinglabs/learn-harness-engineering
awesome-dsh-plugin/awesome-dsh-plugin
MemTensor/MemOS