前言¶
DeepSeek Harness (DSH) 在處理長對話歷史時,往往面臨內容檢索困難的問題。官方側邊欄缺少一個強大的全局搜索入口,僅能依賴有限的上下文記憶。dsh-search-index 插件通過在側邊欄底部新增“搜索”按鈕,爲 DSH Web 客戶端提供了一套獨立的會話檢索方案。
該插件不依賴官方的全文索引,而是維護自己的 SQLite 數據庫。它解決了從海量歷史記錄中快速定位標題或特定內容的需求,支持按用戶、回覆或工具調用進行篩選,能夠顯著提升在多會話場景下的查找效率。
核心功能¶
該插件主要解決“搜什麼”和“怎麼搜”的問題,核心能力如下:
-
標題 ↔ 內容雙模式切換
一個入口兩種搜法。在面板中可以直接切換“標題搜索”與“內容搜索”。標題模式按會話標題或工作目錄子串過濾;內容模式則深入檢索消息正文。 -
內容按會話聚合展示
內容搜索結果不再逐條堆砌消息,而是按會話聚合。每個結果行顯示會話標題、最相關的命中片段以及類型標籤,點擊即可直接打開該會話並定位到上下文。 -
內容類型篩選
內容模式頂部提供篩選 Chip:全部、用戶、回覆、工具。開啓“工具”篩選後,可以直接檢索工具調用的參數與返回值(tool/call與tool/result)。 -
結果排序
同一行右側可切換“相關度”與“時間”。時間排序基於會話最後活動時間倒序,最近活躍的會話排在前面,偏好設置會保留在本地。 -
獨立索引與三點機制
插件維護獨立的 SQLite 索引文件(index.building.sqlite),與官方索引互不影響。- 獨立索引:擁有自己的存儲目錄,支持快照導入導出。
- 歸檔清理:讀取官方歸檔集合(
global.archivedSessionIds),自動將已歸檔的會話排除在索引之外。 - 安全重建:支持非破壞性的“影子索引”構建,在重建過程中保持原有索引服務不中斷。
-
喚出鍵與平臺化提示
側邊欄入口與面板底部均顯示快捷鍵提示。macOS 渲染⌘K,Windows/Linux 渲染Ctrl K。關閉鍵同樣根據平臺適配(macOSesc/ 其他Esc),確保操作符合直覺。
安裝¶
通過 dsh plugin 命令直接從 GitHub 安裝即可,無需本地構建。
# 安裝插件
dsh plugin --profile web add github:drscrewdriver/dsh-search-index#master
# 重啓 DSH Web 以加載插件
dsh web
注意:GitHub 直裝需要網絡能連通 github.com,若受限請配置代理或鏡像加速。
使用方式¶
安裝並重啓後,插件會在側邊欄底部新增一個“搜索”按鈕。
- 喚起面板:點擊側邊欄底部的“搜索”按鈕,或按下系統對應的快捷鍵(如
Ctrl K)。 - 切換模式:在面板中點擊切換“標題”或“內容”模式。
- 篩選結果:在內容模式下,點擊頂部的篩選 Chip(如“工具”)。
- 查看結果:搜索結果按會話聚合展示,點擊任意結果行即可跳轉打開對應會話。
在設置頁面(設置 → 插件)中,會出現“搜索索引”卡片。這裏可以管理獨立索引的同步頻率、保留份數、快照導出以及查看已排除的歸檔會話數量。
注意事項¶
- 職責邊界:本插件僅負責搜索與索引。會話歷史的查看與清理(原“歸檔會話”面板)已遷移至
dsh-session-steward(會話管家)的“病案室”頁籤。本插件只讀歸檔集合,不寫入它。 - 索引獨立性:索引文件存儲在本插件自己的目錄下,不會影響官方的
session-query-sqlite索引。 - 隱私與配置:所有配置僅存於 DSH 的 settings 命名空間與瀏覽器浮層狀態中,不會上傳會話內容以外的數據。
- 兼容版本:支持 DSH 0.1.1-rc.2 與 0.1.2-rc.1。無需修改 DSH 源碼即可運行。
結語¶
dsh-search-index 爲 DSH 用戶提供了在側邊欄直接檢索歷史記錄的能力。通過獨立索引和聚合展示,它解決了長對話中內容查找碎片化的問題。如果你正在尋找一個能增強 DeepSeek Harness 搜索體驗的插件,可以從這裏開始。