masknull/dsh-fetch-models-search:为 DSH 模型候选弹窗增加搜索过滤

前言

在 DeepSeek Harness (DSH) 的「设置 → 模型」中,通过「获取可用模型」加载候选列表时,如果列表较长,手动查找特定模型 ID 会比较繁琐。针对这一场景,需要一个轻量级的工具来增强选择器的可用性。

插件介绍

masknull/dsh-fetch-models-search 是一个运行在浏览器端的 DSH 插件。它的核心作用是在「获取可用模型」的候选弹窗顶部注入一个搜索框,支持输入即实时过滤候选列表。

核心功能

  • 注入搜索框:在候选列表顶部增加搜索输入框,支持实时过滤。
  • 纯 DOM 增强:不修改组件代码,基于稳定的 DOM 结构(无 CSS-hash 类选择器)工作。
  • 适应重渲染:使用 MutationObserver 监听 DOM 变化,确保在 React 重渲染后过滤状态依然有效。
  • 逻辑隔离:过滤操作仅控制显示/隐藏,不影响复选框选择、全选/取消全选等语义。
  • 完全可逆:卸载时仅移除注入的元素和样式,不影响页面原有状态。
  • 本地化支持:根据页面语言显示提示(如中文或英文)。
  • 零依赖:不引入 @deepseek-ai 相关模块。

安装与启用

通过命令行安装到 web 配置文件中:

dsh plugin --profile web add github:masknull/dsh-fetch-models-search

安装后需重启 DSH 服务或刷新页面以加载插件。

典型用法

  1. 打开 DSH 的「设置 → 模型」。
  2. 展开一个 pi-ai 提供商卡片,点击「获取可用模型」。
  3. 弹出的候选列表上方会出现搜索框。
  4. 输入模型 ID 的部分字符(如 chat),列表会实时过滤。
  5. 清空输入框可恢复显示所有候选。
  6. 验证选择行为:勾选、全选/取消全选、添加选中等操作不受过滤影响。

适用场景与注意

  • 适用范围:仅作用于「获取可用模型」选择器,不涉及手动编辑的模型行。
  • 匹配规则:忽略大小写的子串匹配(仅匹配候选 ID 文本)。
  • 全选逻辑:全选/取消全选按钮仍针对所有候选,不受当前过滤影响。
  • 运行环境:插件在浏览器上下文中运行。安装前建议检查源码与许可证(MIT)。

结语

该插件通过浏览器端 DOM 增强,解决了长列表模型查找的问题,且对原有逻辑无侵入。更多细节可查阅 GitHub。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜