前言¶
在 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
.gitnode_modulesdistbuild.nexttarget- 等其他默認排除項
搜索過程中如果觸發文件數、匹配數或行長度上限,插件會將其如實報告爲 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 添加該插件。
典型用法¶
- 進入由
dsh-better-sidebar提供的 Search tab。 - 輸入要查找的關鍵詞。
- 如需限定範圍,填寫 files to include 或 files to exclude。
這些字段使用逗號分隔的 glob patterns,可以使用**、*、?、{a,b}。 - 如需正則查詢,開啓 regex query。
- 如需區分大小寫,切換 case。
- 查看按文件分組的結果和行號,點擊 match 打開文件。
可選配置¶
以下配置字段都是可選的:
- id: workspace-search
config:
maxFiles: 5000
maxMatches: 300
maxLineLength: 300
maxFileBytes: 1048576
這些字段分別用於限制搜索過程中的文件數、匹配數、單行長度和文件大小。
工作機制¶
它採用雙端 bundle:
- 宿主側註冊
/workspace-searchConnection 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