前言¶
用 DeepSeek Harness(DSH)跑長會話時,往往要靠回憶「第幾個 workspace、哪條會話標題」才能找回某句原話。DSH Web 自帶的 Ctrl+K 只匹配會話標題,消息正文不在檢索範圍內。當你只記得代碼片段、報錯關鍵詞或某次回覆裏的措辭時,標題搜索很難命中。
下面介紹社區插件 dsh-chat-search(維護者 XvBenny):對本機已存儲的會話消息做全文子串匹配,在側欄展示結果,點擊即可打開對應會話並定位到那條消息。數據在本地只讀處理,不上傳消息正文。
這是什麼¶
dsh-chat-search 是 DSH 的 Web 端插件(package.json 中版本 0.2.2,許可證 MIT)。它在所有 workspace 與 session(含已歸檔)的消息正文中做大小寫不敏感的字面子串匹配,與內置標題搜索互補;結果按會話分組,可高亮關鍵詞並顯示 workspace 名稱,點擊命中項會打開會話並滾動/閃爍到對應消息行。
核心功能¶
資料中已說明的能力如下:
- 跨 workspace、跨會話全文檢索,已歸檔會話同樣納入搜索範圍。
- 結果按會話分組,展示關鍵詞高亮與 workspace 名稱。
- 點擊命中項:打開該會話並定位到匹配消息;歸檔會話會先取消歸檔再打開(DSH UI 服務沒有「在原位打開歸檔」的動作)。
- 匹配方式:字面量子串,不支持正則;只檢索 user/assistant 消息正文,不包含 reasoning、tool calls、tool results。
- 本地只讀:消息體不離開本機。
實現上,消息正文不在 projection cache,而位於各會話目錄下的 session.v4.jsonl.zstd 日誌(路徑形如 $DSH_HOME/sessions/<workspace>/<sessionId>/)。宿主側解壓 zstd 幀並對 user/message、assistant/message 文本做匹配;瀏覽器側註冊 sidebar.panellist 槽位,通過 harness UI 服務(uiWorkspace.openSession,歸檔時配合 unarchiveSession)打開會話,再用聊天 DOM 錨點滾動到對應行。
安裝與啓用¶
插件以當前 DSH 進程權限訪問本機會話目錄。安裝前建議在 GitHub 查看源碼與 MIT 許可證;以下命令來自官方 README。
從 GitHub 安裝(desktop profile):
dsh plugin --profile desktop add github:XvBenny/dsh-chat-search
大陸網絡可選用 Gitee 鏡像:
dsh plugin --profile desktop add https://gitee.com/vrgu/dsh-chat-search.git
若已有本地 checkout,也可指向目錄:
dsh plugin --profile desktop add ./dsh-chat-search
安裝完成後重啓 DSH。
典型用法¶
- 在 DSH Web GUI 任意處按
Ctrl+F(macOS 爲Cmd+F),或點擊右側邊欄 對話搜索 / Chat Search 面板的放大鏡圖標。 - 輸入關鍵詞後按 Enter。
- 在結果列表中點擊任意命中項,跳轉到該消息。
適用場景與注意¶
適合:需要在大量歷史對話裏按正文關鍵詞回溯;標題記不清但記得回覆裏出現過某段文字或錯誤信息。
限制(README 已寫明):
- 僅搜索 user/assistant 正文,不含推理鏈與工具調用/結果。
- 字面量子串匹配,無模糊搜索、無語義檢索、無正則。
- 從歸檔結果打開會話時會取消歸檔,該會話會離開歸檔列表。
社區插件目錄見 SkillHub 插件頁;DSH 生態強調「一切皆插件」,該目錄爲社區站點,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
內置 Ctrl+K 解決「按標題找會話」;dsh-chat-search 解決「按正文找某句話」。二者搭配,更適合長期維護多 workspace 對話資產的開發者。
- 目錄頁:https://www.skillhub.cn/plugins/XvBenny/dsh-chat-search
- 源碼與說明:https://github.com/XvBenny/dsh-chat-search