dsh-workspace-search:在 dsh Web GUI 中做工作区搜索

前言

在 DSH「一切皆插件」的生态里,一个插件可以补齐 Web GUI 中缺失的开发体验。dsh-workspace-search 面向 DeepSeek Harness(dsh)的 web GUI,提供 VS Code-style workspace keyword search,并把搜索结果页作为一个 Search tab 注册到 dsh-better-sidebar 中。

下面介绍它能做什么、怎么安装,以及配置时需要注意的边界。

插件定位

dsh-workspace-search 是一个 dsh 插件,用于当前会话工作区的关键词搜索。仓库路径为 tsonglew/dsh-workspace-search

它解决的问题比较简单:在 dsh Web GUI 中,用户希望像使用编辑器一样搜索文件名和文件内容,并通过结果直接打开对应文件。

核心功能

搜索文件名与文件内容

它支持对 session workspace 做关键词搜索,搜索对象包括:

  • 文件 name
  • file contents

结果按文件分组,并显示行号。

VS Code 风格搜索规则

它提供类似 VS Code 的搜索规则:

  • files to include:使用 glob patterns 指定要包含的文件
  • files to exclude:使用 glob patterns 指定要排除的文件
  • regular expression queries:支持正则查询,并可切换开启或关闭
  • case toggle:支持切换大小写敏感

glob patterns 使用逗号分隔,支持 ***?{a,b}

点击结果打开文件

点击一个 match 后,可以在 better-sidebar 的 built-in editor 中打开该文件。

默认排除与截断

默认会跳过一些常见目录和隐藏文件,包括:

  • hidden files
  • .git
  • node_modules
  • dist
  • build
  • .next
  • target
  • 等其他默认排除项

搜索过程中如果触发文件数、匹配数或行长度上限,插件会将其如实报告为 truncation。

安装与启用

先确认运行环境满足依赖要求:

@deepseek-ai/cordis >=4.0.1
@deepseek-ai/schemastery >=3.18.1
dsh-better-sidebar >=0.4.0
node >=22

其中 dsh-better-sidebar >=0.4.0 会暴露 ctx.betterSidebar,这是插件把 Search tab 注册进侧边栏的前提。

在插件路径位于 ./plugins/dsh-workspace-search 的工作目录下执行:

dsh plugin --profile web add ./plugins/dsh-workspace-search

这条命令会以 web profile 添加该插件。

典型用法

  1. 进入由 dsh-better-sidebar 提供的 Search tab。
  2. 输入要查找的关键词。
  3. 如需限定范围,填写 files to include 或 files to exclude。
    这些字段使用逗号分隔的 glob patterns,可以使用 ***?{a,b}
  4. 如需正则查询,开启 regex query。
  5. 如需区分大小写,切换 case。
  6. 查看按文件分组的结果和行号,点击 match 打开文件。

可选配置

以下配置字段都是可选的:

- id: workspace-search
  config:
    maxFiles: 5000
    maxMatches: 300
    maxLineLength: 300
    maxFileBytes: 1048576

这些字段分别用于限制搜索过程中的文件数、匹配数、单行长度和文件大小。

工作机制

它采用双端 bundle:

  • 宿主侧注册 /workspace-search Connection RPC channel,并带有 loopback trust fence。
  • 浏览器侧通过 ctx.betterSidebar.registerTab 注册 Search tab。

搜索结果可以打开到 better-sidebar 的内置编辑器中。

适用场景与注意

适合以下场景:

  • 在 dsh Web GUI 中查看当前会话工作区内的文本位置。
  • 需要在侧边栏中完成“搜索、定位、打开文件”的操作。
  • 希望使用 VS Code-style 的 include/exclude、正则查询和大小写切换。

需要注意:

  • 该插件以当前 dsh 进程权限运行。安装前应检查源码、配置与许可证。
  • 许可证为 MIT。
  • 必须依赖 dsh-better-sidebar >=0.4.0,否则无法注册 Search tab。
  • 搜索受文件数、匹配数和行长度等上限约束;触发上限时,结果会作为 truncation 报告。

相关链接

  • GitHub:https://github.com/tsonglew/dsh-workspace-search
  • 目录页:https://www.skillhub.cn/plugins/tsonglew/dsh-workspace-search
羽毛球分组比赛记分
小程序二维码

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

小夜