Chuyển đến nội dung chính

dsh-model-search

Đã xác minh

@goodandready/dsh-model-search · v0.1.12 · MIT · Giao diện web

DSH web plugin: searchable model selector for DeepSeek Harness WebUI

Cài đặt

dsh plugin add @goodandready/dsh-model-search

Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.

Mã nguồn

Thẻ

Readme

📦 @goodandready/dsh-model-search

DeepSeek Harness WebUI 模型选择器实时智能检索增强插件

npm version license DSH Plugin Node version

All Author Projects

🇬🇧 English • 🇷🇺 Русский • 🇨🇳 中文说明

⭐ 如果您喜欢这个插件,请在 GitHub 上点亮 Star — 这将鼓励我持续维护并推出更多实用功能。

🐛 如果您发现了 Bug 或有新功能建议,欢迎随时在 GitHub 提交 Issue(支持任意语言)— 我会认真阅读并在后续版本中实现。

⚡ 概述与解决的痛点

随着 DeepSeek Harness 接入的服务商与模型数量不断扩增(涵盖 OpenAI、Anthropic、OpenRouter、Ollama、DeepSeek 等),原生模型下拉选择列表往往变得极其冗长。用户在切换模型时不得不反复上下滚动查找,极大影响交互效率。

@goodandready/dsh-model-search 通过在 WebUI 模型选择器弹窗内注入轻量无侵入的实时搜索框,完美解决该痛点:

  • 实时即时过滤:支持通过模型显示名、技术标识符 (provider/model-id) 或服务商名称毫秒级过滤。
  • 首字母缩写与模糊匹配:智能子序列算法支持缩写匹配(例如输入 dsr1 即可命中 deepseek-reasoner-1)。
  • @provider 服务商定向检索:输入 @ 前缀一键筛选指定服务商下的全部模型。
  • 零 CPU 开销:精简的定向 MutationObserver 确保在聊天会话流式输出 Token 时零额外 CPU 占用。
  • 全功能键盘导航:严格在可见模型间通过方向键轮换,Enter 秒选,Escape 快速清空。

🏗️ 架构设计

graph LR
  A[DSH WebUI 模型下拉框] --> B[lib/client.js]
  B --> C[挂载搜索输入框]
  C --> D{查询解析器}
  D -->|文本 / 缩写| E[子序列模糊匹配引擎]
  D -->|@provider| F[服务商分组过滤器]
  E --> G[DOM 可见性切换控制]
  F --> G
  G --> H[键盘导航轮换控制]
  H --> I[最近使用本地缓存]

✨ 核心特性

1. 多分词与标点智能切分

支持以空格、逗号、斜杠或分号组合的复杂查询条件:

  • 查询:openrouter/claude-3-5
  • 查询:reasoner; 32b
  • 查询:@ollama llama3

2. 缩写与子序列模糊检索

支持无连字符的首字母缩写识别:

  • 输入 dsr 快速命中 deepseek-reasoner
  • 输入 gpt4o 快速命中 openai/gpt-4o-mini

3. @provider 前缀精确锁定

以 @ 开头可定向查看某一模型服务商:

  • @openai 仅列出 OpenAI 服务商下注册的模型。
  • @ollama qwen 检索本地 Ollama 部署中的千问模型。

4. 键盘交互指南

按键 功能
ArrowDown 移动高亮焦点至下一个可见匹配模型
ArrowUp 移动高亮焦点至上一个可见模型;在第一项按键时焦点重回搜索输入框
Enter 立即激活当前高亮项(若无高亮则默认选择首个可见项)
Escape 清空搜索输入框;若已为空则关闭下拉面板

5. 核心架构稳定性

  • 无侵入 DOM 操作:仅通过控制元素可见性(display: none / 显示)实现过滤,不篡改或重排 React Virtual DOM 树。
  • 抵御版本更新:不依赖 DSH 内部哈希生成的 CSS 类名,适配官方后续升级。
  • 原生设计语言:无缝调用 DSH 官方 CSS 变量,完美兼容暗黑和明亮主题。
  • 多语言支持:原生内建英文 (en) 与中文 (zh);俄语通过 @goodandready/dsh-russian-lang 自动加载。

6. 一键在线更新与原生设置卡片

  • 原生设置卡片:无缝注册至 DSH 的「设置 → 插件 → 插件设置」页面 (settings.plugin.item),属于 dsh-model-search 命名空间。
  • 一键无缝升级:自动对比 npm 最新发布版本(支持 SemVer 及预发布版本识别),提供单次点击就地更新,具备回环地址防篡改与并发锁保护。
  • 100% 遵循官方主题令牌:全界面采用官方 --dsw-* CSS 变量驱动,零硬编码 hex / rgba 色值,在深色与浅色模式下均获得原生级精致体验。

📦 安装指南

安装至 DeepSeek Harness Web 配置文件:

dsh plugin --profile web add @goodandready/dsh-model-search

重启 DSH 或刷新浏览器页面即可立即体验实时搜索功能。


🧪 测试与验证

运行单元测试与语法检查:

# JavaScript 语法检查
npm run check

# 执行自动化测试套件
npm test

📄 许可证

MIT © GooDAnDReaDY