dsh-model-block-picker

DSH PLUGIN浏览器与联网

仓库 liu19666/dsh-model-block-picker

浏览器与联网 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

DeepSeek Harness 插件:把输入框模型选择器改成按来源渠道分块 + 下钻选模型,保留搜索与推理强度

一句话选型结论

按资料字段整理

dsh-model-block-picker 是浏览器与联网类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类浏览器与联网 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-10-26 创建于 2026-10-13
README 9.6 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:liu19666/dsh-model-block-picker
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

浏览器与联网
字段来自项目仓库与公开索引,中文说明由本站标注

适用场景

联网搜索

上游标签

cordisdeepseek-harnessdshdsh-pluginmodel-selector

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在浏览器与联网场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-model-block-picker当前 L5 · 运行验证通过 低风险 0 未标注 有
dsh-our-free-model L3 · 安装规范通过 低风险 8,796 未标注 有
dsh-web L3 · 安装规范通过 低风险 8,549 未标注 无
BrowserSkill L4 · 沙盒安装通过 低风险 8,456 未标注 有
dsh-pocket L5 · 运行验证通过 低风险 1,656 0.2.0-rc.2 等 12 个 有
Browser4 L4 · 沙盒安装通过 中风险 1,152 未标注 有

仓库档案

浏览器与联网
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方liu19666仓库 dsh-model-block-picker · 默认分支 main
分类浏览器与联网search
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-13 · 2026-10-26最后推送 2026-10-26
本站收录2026-10-30首次进入本站目录的时间

README 全文

9.6 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-model-block-picker

English | 中文

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

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


效果

点击输入框右下角的模型位,弹出的不再是长长的平铺列表,而是按来源分块的卡片网格:

  • ① 全局搜索 —— 直接在顶部输入 v3 / sonnet / r1,跨全部来源聚合匹配;回车选中首项。
  • ② 按来源分块 —— 每个渠道一张卡片,标出「N 个模型」与「进入 →」;按住卡片可拖动排序(一次可跨多张)。
  • ③「当前」标记 —— 正在使用的来源高亮描边 + 右上角蓝标。
  • ④ 推理强度彩色滑条 —— 可拖动的 Low → Max 渐变滑条,点击刻度文字可直达。
  • ⑤ 速度 / 输出详略 —— 当前模型支持时才出现,不支持则整行隐藏。

> 截图中的来源名称已做打码处理。

深色模式使用同一套主题 token,强调色为 --dsw-alias-link(#7aaaff),不再出现白底白字:

搜索框左侧的 ⚙ 打开显示设置:可按提供方整体开关、展开逐个开关模型,行内 ✎ 直接改名、模型行可拖动排序,顶部的「同步到全部界面」把新名字写进模型注册表:

触发按钮本身与同排的截图 / 麦克风图标保持同一设计语言(主题描边与文字):


功能

  • 按来源分块:DeepSeek 账号、DeepSeek API,以及 CodeBuddy / Qoder / TRAE 等第三方渠道,各自成为一张卡片;卡片上显示来源名、模型数量,当前所用来源带「当前」标记。
  • 两级下钻:点卡片 → 进入该渠道内只含它自己模型的列表;顶部 ← 所有来源 或 Esc 返回。
  • 全局搜索:直接输入 v3 / sonnet / r1 等关键词即可跨所有来源聚合匹配,回车选中首项;清空即回到分块视图。
  • 推理强度(彩色滑条):当前模型支持 reasoning 时,浮层底部出现一条可拖动的渐变色滑条(Low → Max 分档,带发光 thumb),点击刻度文字也能直接跳档;右侧显示当前档位,恢复模型默认 一键回到提供方推荐值。
  • 速度 / 输出详略自适应:订阅类提供方(如 ChatGPT 订阅)的模型若支持 speedMode / outputVerbosity,浮层底部会额外出现对应的分段控件;不支持的模型或提供方这两项自动隐藏,不会出现死开关。
  • 显示设置面板:搜索框左侧的圆形 ⚙ 按钮打开设置,可按提供方整体开关、也可展开逐个开关单个模型是否出现在选择器里;展开后每行还有 ✎ 改名入口,模型行可直接拖动排序;顶部显示已隐藏数量,底部一键恢复全部显示与默认顺序。
  • 来源重命名:点 ✎ 输入新名字即可把来源改成任意说法(例如把「ChatGPT subscription」写成「ChatGPT 订阅」)。名称写进模型注册表,所以分组面板、下钻列表和官方 /model 弹窗同时改名;保存在 DSH 状态目录的 aliases.json,适配器重新注册或下次启动后自动重放,设置面板顶部可手动「同步到全部界面」或「恢复默认」。
  • 拖拽排序(来源与模型):按住卡片拖动即可改变来源先后,一次能跨过好几张卡片,落点就是最终位置、中间卡片整体顺移(拖到相邻卡片上即两者互换);显示设置里展开来源后,模型行同样可拖、可跨多行,顺序按来源分别保存。拖动中卡片/行半透明,松手 260ms 内忽略点击,避免误进下钻。
  • 偏好持久化:顺序、隐藏来源、隐藏模型全部写入 localStorage(key dsh-model-block-picker.prefs.v1),刷新与重启后保持;不存在的来源会在下次自动清理。
  • 主题自适应:浅色、深色均用 DSH 主题 token,深色下强调色使用 --dsw-alias-link(#7aaaff)而非会反转成近白的 --dsw-alias-brand-primary。

安装

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

在 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 诊断 + /aliases 改名持久化)
├── client.js             # 浏览器半边:React 组件 + 样式 + 插槽注册
├── CHANGELOG.md
├── LICENSE
└── README.md

诊断

排障时会用到:

  • 宿主侧日志前缀 [dsh-model-block-picker](DSH 日志里搜这个)。
  • 来源改名:GET /plugins/dsh-model-block-picker/aliases 返回 { ready, store, aliases, providers },其中
    providers[].base 是注册表原名、name 是当前生效名,ready:false 说明模型服务还没起来。
  • 浏览器端各生命周期节点会打到 /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 官方 → 其余按名称排;可直接在面板里拖动卡片自定义顺序,保存于 localStorage。
  • 速度 / 输出详略依赖提供方暴露能力:目前只有实现了 speedMode / outputVerbosity 偏好的提供方(如 dsh-codex-subscription 的 openai-codex)会被识别;其他提供方这两项不显示。
  • 来源改名是写进模型注册表的全局改动(官方 /model 弹窗等界面一并改名),保存在 DSH 状态目录
    state/dsh-model-block-picker/aliases.json,跟随 DSH home 而不是浏览器 profile;卸载插件后不再重放。
  • 偏好(顺序、隐藏项)保存在浏览器 localStorage,因此按浏览器 profile 隔离,不随 DSH 账号同步。

许可

MIT

常见问题

6 问
答案由本站依据条目字段整理,不引用上游原文
dsh-model-block-picker 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:liu19666/dsh-model-block-picker` 即可。

dsh-model-block-picker 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-model-block-picker 安全吗?

低风险。

dsh-model-block-picker 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-model-block-picker 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

浏览器与联网
按星标排序,可作替代方案

dsh-our-free-model

dsh-our-free-model

在 DeepSeek Harness 中装上这个 DSH plugin,无需登录、注册或填 API Key,即可直接调用 DeepSeek

L3 · 安装规范通过 8,796 星

dsh-web

dsh-web

侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。

L3 · 安装规范通过 8,549 星

BrowserSkill

BrowserSkill

BrowserSkill 的 DeepSeek Harness 浏览器自动化桥接插件,通过原生浏览器工具控制可见的 Chrome 和 Edg

L4 · 沙盒安装通过 8,456 星

dsh-pocket

dsh-pocket

DSH Pocket 让 DeepSeek Harness 装进口袋:电脑跑 dsh web,手机扫码即实时同步访问(局域网+公网),人在外

L5 · 运行验证通过 1,656 星

Browser4

Browser4

L4 · 沙盒安装通过 1,152 星

agentrq

agentrq

L4 · 沙盒安装通过 1,140 星

liu19666 的其它插件

1 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。