前言¶
DeepSeek Harness(DSH)默認的搜索只支持會話標題。在開發或調試過程中,需要從大量文件中快速定位代碼片段時,這個限制會變得很不方便。這個插件通過在本地開啓一個只讀的搜索接口,讓你直接在 DSH 的界面裏對工作區文件進行全文搜索。
插件介紹¶
這個插件是 dsh-workspace-search,由用戶 1771486218 維護。它的核心作用是:在 DSH 的 GUI 中對當前或任意工作區裏的文本文件進行 grep 式搜索,支持過濾、分組、上下文預覽和跳轉到指定行。
插件安裝在本地 profile 的 node_modules 目錄下,通過 cordis.patch.yml 注入到 DSH 的插件系統中。宿主端提供 REST API,客戶端側繪製搜索面板。
核心功能¶
-
全文搜索
- 對工作區目錄樹按行匹配,返回「文件 + 行號 + 命中行」。
- 默認大小寫不敏感,也支持正則表達式。 -
過濾選項
- 包含 glob(如src/**、*.cpp)。
- 排除 glob(如build/**、.git、node_modules)。
- 大寫敏感、全字匹配、正則開關。 -
結果分組
- 按文件分組,顯示每組命中數,可摺疊。
- 頂部顯示「N 文件 / M 處 · 用時」。 -
上下文預覽
- 命中行前後 18 行。
- 支持輕量語法高亮(C/C++、Lua、Python、JS/TS/QML、JSON、Markdown、CMake)。 -
雙擊跳轉
- 雙擊結果或點行尾的「↗ 打開」,在 DSH 的側欄打開文件並定位到命中行。 -
工作區切換
- 面板右上角膠囊顯示當前搜索範圍。
- 可切換到已打開過的任意工作區,不限於當前會話。 -
鍵盤操作
-↑/↓選擇結果。
-Enter看上下文(再按一次跳轉)。
-Esc關閉面板。
安裝與啓用¶
安裝前請先確認你使用的是 DSH 0.2.0-rc.2(Windows 桌面版),插件依賴該版本驗證。
推薦使用腳本安裝:
# 在插件目錄裏
node scripts/install.mjs # 默認裝進 desktop profile
node scripts/install.mjs myprofile # 或指定 profile 名
腳本會做兩件事:
1. 把 lib/、package.json、cordis.patch.yml 複製到 <DSH_HOME>/profiles/<profile>/node_modules/dsh-workspace-search。
2. 在 <profile>/cordis.patch.yml 末尾追加插件註冊條目(原文件先備份爲 cordis.patch.yml.bak)。
安裝完成後重啓 DSH,然後按 Ctrl+Shift+F 打開搜索面板。
典型用法¶
- 按
Ctrl+Shift+F或點窗口左下角的放大鏡按鈕。 - 輸入關鍵字。默認大小寫不敏感,也支持正則。
- 在結果列表中:
- 單擊某一行,在面板右側查看上下文。
- 雙擊某一行,在 DSH 的側欄打開對應文件並跳轉到該行。 - 在面板右上角切換到其他已打開的工作區。
適用場景與注意¶
- 適合需要在 DSH 界面內快速查找文件內容的場景,比如調試、代碼審查、多項目切換。
- 插件會在本機 127.0.0.1 開一個只讀搜索接口,本機其它進程也能調用它讀取文件,但沒有鑑權。
- 代碼由 DeepSeek 生成,倉庫作者提供了需求、安裝並做了實測,但未經過系統的安全審計。
- 使用前建議自行審閱源碼(尤其是
lib/index.js中的搜索邏輯與接口實現)。 - 依賴 DSH 的內部接口(
webServer路由、sidebarRight服務),升級後可能需要跟進適配。
卸載¶
node scripts/uninstall.mjs
或手動:
1. 刪除 profile 的 cordis.patch.yml 中對應的 - insert: 條目。
2. 刪除 node_modules/dsh-workspace-search 目錄。
3. 重啓 DSH。
開發與調試¶
npm run check # 語法檢查
如果需要調試客戶端界面,可以使用驗證臺:
node dev/harness.mjs # 起在 8140
# http://127.0.0.1:8140/?root=<URL 編碼後的絕對路徑>&q=<關鍵字>
修改 lib/ 中的代碼後,複製到 profile 並刷新窗口即可生效。
總結¶
這個插件讓 DSH 不再侷限於會話標題搜索,而是可以直接在 GUI 中對工作區文件進行全文檢索。對於習慣在 DSH 中完成從思考、搜索到跳轉的閉環開發者來說,能顯著提升查找效率。如需瞭解安裝詳情與源碼,可訪問項目目錄頁或 GitHub 倉庫。