DeepSeek Harness Hub
← 返回列表

ardli-firman/dsh-model-search-plugin

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

适用于 DeepSeek Harness…

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

DeepSeek Harness 的可搜索模型选择器——按名称搜索模型,无需滚动

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

README

dsh-model-search

powered by dsh
GitHub Packages

适用于 DeepSeek Harness 的可搜索模型选择器。将编辑器中的默认模型下拉菜单替换为可搜索版本——无需再在数百个模型中滚动查找!

功能特性

- 🔍 搜索模型 — 输入即可按名称、ID 或提供商进行筛选
- 📦 按提供商分组 — 模型按提供商(OpenAI、Anthropic、DeepSeek 等)组织
- ✅ 当前选择 — 用对勾图标高亮显示当前激活的模型
- ⚡ 快速 — 通过现有的会话 API 加载模型
- 🎨 主题感知 — 使用 DeepSeek Harness 设计令牌(--dsw-),适配浅色/深色模式
- ♿ 无障碍 — 完整的键盘导航、ARIA 属性、焦点管理
- 🕘 最近使用 — 快速跳回你最近使用的模型

截图

编辑器中的触发标签

“最近使用”部分、提供商分组、effort 选择器

输入即可按名称、ID 或提供商进行筛选

折叠你不需要的分组

完整的键盘导航

适配浅色主题

安装

从 GitHub Packages 安装(推荐)

npm install @ardli-firman/dsh-model-search --registry=https://npm.pkg.github.com

然后链接到你的 DSH 配置文件:

dsh plugin --profile web add link:./node_modules/@ardli-firman/dsh-model-search

从 GitHub 仓库安装

dsh plugin --profile web add github:ardli-firman/dsh-model-search-plugin

注意: pnpm ≥10 需要为 git 依赖授予构建权限。首次 add 失败后,将以下内容添加到你的配置文件的 pnpm-workspace.yaml 中:
allowBuilds:
@ardli-firman/dsh-model-search: true

然后重新运行 add 命令。

从本地检出

git clone https://github.com/ardli-firman/dsh-model-search-plugin.git
dsh plugin --profile web add ./dsh-model-search-plugin

然后重启 DeepSeek Harness:

dsh --profile web

卸载

dsh plugin --profile web remove @ardli-firman/dsh-model-search

工作原理

该插件将 conversation.input.model 插槽替换为一个可搜索的下拉组件。它会:

1. 从会话的模型目录 API 获取可用模型
2. 按提供商对它们进行分组
3. 提供一个搜索输入框以实时筛选模型
4. 通过 session.selectModel RPC 提交选择

设计

该选择器遵循 DeepSeek Harness 设计系统:

- 触发器:ToggleButton 芯片(28px,圆角 24px),与官方 ui-model-selection 一致
- 菜单卡片:12px 圆角,--dsw-specific-menu 表面,--dsw-shadow-lv3 阴影
- 选项行:38px 高度,10px 圆角,悬停/聚焦表面,尾部对勾图标
- 令牌:所有颜色均使用 --dsw- 设计令牌(自动浅色/深色)

开发

Clone and link for local development
git clone https://github.com/ardli-firman/dsh-model-search-plugin.git
cd dsh-model-search-plugin
dsh plugin --profile web add link:.

Run tests
npm test

Watch mode
npm run test:watch

Rebuild the screenshot demo page + capture README screenshots
(needs a Playwright Chromium install; see scripts/ for details)
node scripts/build-demo.mjs && node scripts/screenshot.mjs

项目结构

dsh-model-search-plugin/
├── lib/
│   ├── index.js          # Host side (no-op, pure UI plugin)
│   └── client.js         # Browser side (ModelSearch component + registration)
├── tests/
│   ├── helpers.js         # Test utilities (mock directory, props, sample data)
│   ├── model-search.spec.js        # Component tests (render, search, select, keyboard, ARIA)
│   └── plugin-registration.spec.js # Registration tests (apply, directory store, slots)
├── cordis.patch.yml       # Plugin row insertion patch
├── vitest.config.js       # Test configuration
├── package.json
└── README.md

测试覆盖

测试套件涵盖:

- 渲染:触发按钮、当前模型名称、禁用/隐藏状态
- 下拉菜单:打开/关闭、外部点击、Escape 键、打开时加载
- 模型列表:分组显示、模型 ID、对勾图标、加载/空/错误状态
- 搜索:按名称/ID/提供商筛选、不区分大小写、无结果消息
- 选择:点击选择、成功后关闭、被拒绝时保持打开、锁定状态
- 键盘:ArrowDown/Up 导航、Enter/Space 选择、焦点循环
- ARIA:aria-haspopup、aria-expanded、role="menu"、role="menuitemradio"、aria-checked
- 样式:--dsw- 令牌使用,无旧的 --bg-/--text-* 令牌
- 注册:插槽注入、目录存储生命周期、订阅者通知

发布
版本通过 GitHub Actions 自动发布。要发布新版本:

在 package.json 中升级版本号
npm version patch   # 或 minor / major

推送并带上标签
git push && git push --tags

CI 工作流将自动发布到 GitHub Packages。

许可证

MIT

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

💬 加入 DPharness 群聊

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

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