dsh-chat-search:在 DSH 裏全文檢索對話並一鍵跳轉

前言

用 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 名稱,點擊命中項會打開會話並滾動/閃爍到對應消息行。

核心功能

資料中已說明的能力如下:

  1. 跨 workspace、跨會話全文檢索,已歸檔會話同樣納入搜索範圍。
  2. 結果按會話分組,展示關鍵詞高亮與 workspace 名稱。
  3. 點擊命中項:打開該會話並定位到匹配消息;歸檔會話會先取消歸檔再打開(DSH UI 服務沒有「在原位打開歸檔」的動作)。
  4. 匹配方式:字面量子串,不支持正則;只檢索 user/assistant 消息正文,不包含 reasoning、tool calls、tool results。
  5. 本地只讀:消息體不離開本機。

實現上,消息正文不在 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。

典型用法

  1. 在 DSH Web GUI 任意處按 Ctrl+F(macOS 爲 Cmd+F),或點擊右側邊欄 對話搜索 / Chat Search 面板的放大鏡圖標。
  2. 輸入關鍵詞後按 Enter。
  3. 在結果列表中點擊任意命中項,跳轉到該消息。

適用場景與注意

適合:需要在大量歷史對話裏按正文關鍵詞回溯;標題記不清但記得回覆裏出現過某段文字或錯誤信息。

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

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

小夜