DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Model Block Picker — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
M

dsh-model-block-picker

Model Block Picker

DeepSeek Harness 模块化模型选择器:根据模型来源(Provider 如 CodeBuddy、Qoder、DeepSeek 等)分块展示,支持分块下钻、全局搜索与推理强度调节。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:liu19666/dsh-model-block-picker#5ab519dafe8ba168ae47f71bb9ea178262d2a33b
README兼容性版本
分块面板与搜索、推理强度输入框模型位与同排图标

兼容性与来源证明

Model Block Picker 以 dsh-model-block-picker 发布,当前版本为 1.0.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/13

版本

1.0.0stable
2026/10/13

相关插件

正在加载相关插件…

最新版
1.0.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/14
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 models-usage 分类下经过校验的插件。

Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义Usage@linxin666/dsh-usage用于 dsh Web GUI 的使用统计插件:检测各提供商的余额和编程套餐配额,并实时记录令牌使用情况;侧边栏 Settings 行上方显示紧凑的价格概览卡片Client Ui Model Capabilities@linxin666/dsh-client-ui-model-capabilities为自定义 pi-ai 提供商声明每个模型的能力(图像输入和推理力度),可直接在 Models 设置卡片中编辑;写入官方 llm-pi-ai 设置命名空间,不更改 DSH 源代码。Cost Meterdsh-cost-meterDeepSeek Harness 会话费用统计插件:本会话成本、当日费用、历史记录与官方价格同步,支持多厂商多模型价格计费(内置 170+ 模型 ID 价格目录与自动匹配)、主流 Coding Plan 订阅额度查询与显示(13 家,含 OpenDesign 工作区查询、含小米 MiMo Token Plan 控制台 Cookie 查询、SCNet Token Plan 本地 Credits 计量与火山方舟 Volcano Ark Coding Plan AK/SK 签名查询)、自定义 Provider

README

dsh-model-block-picker

English | 中文

DeepSeek Harness (DSH) 插件 —— 按模型来源分块的输入框模型选择器。

把官方那个「所有模型拉成一条长列表」的选择器,换成先按来源渠道分块、再下钻进块内选模型的两级结构;搜索、推理强度(Reasoning Effort)、模型可用性等原有能力完全保留。


功能

  • 按来源分块:DeepSeek 账号、DeepSeek API,以及 CodeBuddy / Qoder / TRAE 等第三方渠道,各自成为一张卡片;卡片上显示来源名、模型数量,当前所用来源带「当前」标记。
  • 两级下钻:点卡片 → 进入该渠道内只含它自己模型的列表;顶部 ← 所有来源 或 Esc 返回。
  • 全局搜索:直接输入 v3 / sonnet / r1 等关键词即可跨所有来源聚合匹配,回车选中首项;清空即回到分块视图。
  • 推理强度保留:当前模型支持 reasoning 时,浮层底部出现强度选择器(默认 / low / medium / high…)。
  • 主题自适应:浅色、深色均用 DSH 主题 token;深色下触发按钮为黑底 + 主题 off-white 描边/文字,与同排麦克风、截图图标同一设计语言。

安装

从本机目录安装(开发 / 自用)

在 DSH 会话里对 Agent 说:

帮我安装位于 <本仓库路径> 的插件

Agent 会执行 plugin_manager(action: 'install_bundle', target: '<绝对路径>')。

安装后彻底退出 DSH 桌面端再重新打开(客户端 bundle 有启动基线缓存,仅刷新页面不一定加载新代码)。

卸载:plugin_manager(action: 'remove_bundle', target: 'dsh-model-block-picker'),回退到官方原生选择器。

它是怎么工作的

1. 覆盖官方选择器(Slot 影射)

输入框模型位是 DSH 公开的一个命名插槽:conversation.input.model(kind: "single",会话作用域)。

  • 官方实现注册在优先级 -10;
  • 动态安装的插件注册同名插槽时,系统分配更低的数值即更高优先级获胜;
  • 本插件显式注册 priority: -20,因此作为 winner 覆盖原生组件,卸载即自动回退。

注意:single 槽位要求同优先级唯一,所以必须用负数优先级,否则会抛 single slot already has a registration。

2. 复用官方数据服务(不重复造轮子)

不自己请求后端。通过 ctx.modelDirectories:

const directory = models.directoryFor(sessionId);
directory.store   // 快照:{ groups: [{ id, name, models: [...] }], current: { provider, model, reasoningEffort } }
directory.load()  // 拉取目录
directory.select({ provider, model, reasoningEffort })  // 提交选择

与 /model 命令弹窗共用同一份会话级目录,任一入口的切换另一入口立即可见。

3. 深色外观的白,来自主题而不是硬编码

早期版本手写 #1c1f23 之类的兜底色,在深色下不会反转,导致字和箭头变深灰。现在全部改用真实 token:

用途token深色取值
主文本--dsw-alias-label-primary#f9fafb(off-white,非纯白)
边框--dsw-alias-border-l1#ffffff0f
背景--dsw-alias-bg-layer-1/2、--dsw-alias-bg-overlay—
品牌色--dsw-alias-brand-primary—

深色下额外用 body[data-ds-dark-theme] 把触发按钮设为 .5px 描边 + 该 token,与右侧截图插件 (color: var(--dsw-alias-label-primary) + fill:none stroke=currentColor stroke-width=1) 保持同一笔画重量。

踩坑记录:写 CSS 时别凭印象编变量名。DSH 里不存在 --dsw-alias-text-regular、--dsw-alias-border-subtle、--dsw-alias-surface-overlay、 --dsw-alias-primary 这些名字——它们会静默回落到你写的兜底值,浅色看着没事、深色就崩。 可用 cordis_inspect_query(platform: 'client', provider: 'Theme', method: 'listTokens') 查真实 token。

文件结构

dsh-model-block-picker/
├── package.json          # 清单:dsh.bundle.patch + dsh.client 声明
├── cordis.patch.yml      # Loader patch:把本包插进 profile 名单
├── index.js              # 宿主半边(挂 /diag 诊断路由)
├── client.js             # 浏览器半边:React 组件 + 样式 + 插槽注册
├── LICENSE
└── README.md

诊断

排障时会用到:

  • 宿主侧日志前缀 [dsh-model-block-picker](DSH 日志里搜这个)。
  • 浏览器端各生命周期节点会打到 /plugins/dsh-model-block-picker/diag: module-evaluated → apply-called → slot-inject-triggered → registered-success。 若停在 register-error,说明槽位/优先级冲突;停在 apply-error 多半是 inject 未声明就访问了服务。

另一个坑:客户端沙箱对服务访问有白名单。顶层 inject 声明了 ['slots','modelDirectories'], 就不能再直接读 ctx.sessions,否则抛 service "sessions" is not declared 并当场崩溃。

已知限制

  • 只替换输入框(composer)的模型位;/model 命令弹窗仍是官方样式(两者共用同一份数据,切换互通)。
  • 已寻址的 subagent 会话不提供模型选择(沿用官方约定)。
  • 来源分组顺序:DeepSeek 账号 → DeepSeek 官方 → 其余按名称排;如需自定义顺序改 client.js 里的分组排序逻辑。

许可

MIT