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
羽毛球分组比赛记分
小程序二维码

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

小夜