DSH Web 设置面板搜索插件

在使用 DeepSeek Harness (DSH) 的 Web 模式时,设置面板往往包含大量分区和选项。在长列表中定位具体配置项需要多次翻页。dsh-settings-search-plugin 插件通过在设置面板增加搜索入口,提供独立的候选列表,帮助快速定位到目标分区并聚焦具体设置项。

插件简介

这是一个仅运行于浏览器的插件。它为 DSH Web 设置面板增加了一个搜索字段,在输入时覆盖内容列展示独立候选列表,点击后导航至所属分区并聚焦对应设置。

安装与启用

按照以下步骤将插件挂载到 Web 配置文件中:

  1. 克隆仓库并安装依赖
   git clone https://github.com/DoiiarX/dsh-settings-search-plugin
   cd dsh-settings-search-plugin
   pnpm install

注:构建后的 lib/ 输出已提交,peer 依赖由 harness 运行时提供。

  1. 编辑配置文件
    编辑 $HOME/.dsh/profiles/web/package.json,在 dependencies 下添加:
   "@doiiarx/dsh-settings-search-plugin": "link:<绝对路径到该目录>"

同时在 dsh.profile.bundles 下添加:

   "@doiiarx/dsh-settings-search-plugin"
  1. 安装依赖并重启
    在 Web 配置目录下运行 pnpm install,然后重启 Web 进程。验证设置面板是否出现搜索字段。

核心功能

  • 搜索入口与独立列表
    在设置面板中新增搜索输入框。输入内容后,会在内容列上方展示独立的候选列表。
  • 导航与聚焦
    点击候选项后,浏览器会自动导航至该设置所属的分区,并滚动至对应设置项,同时高亮显示其轮廓。
  • 索引构建机制
    插件通过三种方式构建搜索索引:
    1. Slot Ledger(声明式):读取注入的 slots 服务,所有注册的 settings.section 都是候选项,无论是否被访问。
    2. Registration Surface(可选增强):插件可调用全局接口注册更详细的 item 级数据。
    3. Rendered-DOM Scan(已访问分区):观察已打开分区的 DOM,提取标题和文本生成 item 级候选项。
  • 注册表面支持
    插件提供了一个全局对象 window.__DSH_SETTINGS_SEARCH__,允许其他设置插件注册 item 级搜索项,包括自定义关键词和 data-settings-item 锚点。

典型用法

如果需要在设置插件中注册搜索项,可在客户端的 apply 方法中调用:

window.__DSH_SETTINGS_SEARCH__?.register('local-shell-tools', {
  label: 'Shell',
  keywords: 'shell 终端 命令 cmd bash powershell pwsh 语言环境',
  items: [
    { 
      id: 'bashLang', 
      label: '语言环境', 
      desc: '写入 LANG 与 LC_ALL', 
      keywords: '语言 locale lang 环境' 
    },
  ],
})

注意事项

  • 浏览器端运行:该插件仅运行于浏览器环境,不涉及设置命名空间或模型工具,因此无需配置 WEB_SETTINGS_NAMESPACES 且无需重建宿主。
  • 未访问分区的索引限制:对于用户从未打开过且插件未注册的分区,搜索仅返回分区名称(Tab 级),无法提供具体的 Item 级候选项。
  • 匹配逻辑:候选项文本仅进行标准化处理,不做词干提取或拼音匹配,不支持模糊召回。
  • 覆盖层特性:搜索覆盖层是页面局部的,尺寸在安装时测量。如果主题在对话框挂载后改变了导航栏或内容的宽度,可能需要重新打开设置面板以重新计算尺寸。

相关资源

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

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

小夜