dsh-session-search:跨會話內容檢索

前言

DeepSeek Harness (DSH) Web 端左側邊欄的搜索框,默認只能匹配會話標題和工作區名稱。這是因爲官方全文索引(@deepseek-ai/dsh-session-query-sqlite)在 web 組合中是可選能力,且默認配置爲不開啓。

本插件通過在 profile 的 cordis.patch.yml 中覆蓋配置項,開啓 SQLite FTS5 全文索引;同時重寫搜索過濾邏輯,支持按時間範圍和內容來源(用戶消息 / 機器人回覆 / 項目名)篩選結果。

是什麼

這是一個 DSH 插件,用於增強 Web 端側邊欄的會話搜索能力。它提供本地 SQLite 索引,支持按關鍵詞檢索歷史會話正文,且零第三方依賴。

  • 維護者:CHIP-PHILO-GH
  • 許可:MIT

核心能力

  • 自定義搜索範圍:在搜索結果上方實時調整時間範圍(全部 / 1 / 3 / 7 / 30 天)與內容來源(我說的話 / DSH 的回覆 / 項目名)。
  • 持久化設置:用戶的選擇會寫入官方設置文檔或 localStorage,重啓後仍然保留。
  • 命中片段顯示:將單行省略的命中片段改爲顯示兩行原文。
  • 本地索引:使用 SQLite FTS5,支持首次搜索時才建索引,避免啓動時阻塞。
  • 索引預熱:默認開啓,在啓動後延遲 45 秒後臺運行一次搜索,確保索引就緒。
  • 零第三方依賴:僅依賴 DSH 官方模塊。

安裝與啓用

安裝需要修改 profile 配置目錄(記作 <DSH_HOME>,默認 %USERPROFILE%\.dsh)下的三個文件,修改後需重啓 dsh web。

  1. 掛載插件目錄
    將插件目錄(記作 <REPO>)掛載到 profile 的 node_modules 下。Windows 上建議使用 junction 以節省空間:
    $modules = Join-Path $env:USERPROFILE '.dsh' 'profiles\web\node_modules'
    New-Item -ItemType Directory -Force -Path $modules | Out-Null
    New-Item -ItemType Junction -Path (Join-Path $modules 'dsh-session-search') -Target '<REPO>'
  1. 更新 package.json
    在 profile 的 package.json 中添加依賴和 bundle 引用:
    {
      "dsh.profile.bundles": ["dsh-session-search"],
      "dependencies": {
        "dsh-session-search": "link:<REPO>"
      }
    }
  1. 開啓全文索引
    在 profile 的 cordis.patch.yml 中覆蓋官方索引配置,設置 openAt: first-search:
    - id: session-query-sqlite
      config:
        path: '<DSH_HOME>\profiles\web\session-search.db'
        openAt: first-search

配置與用法

安裝完成後,側邊欄搜索框將具備全文檢索能力。

  1. 使用範圍控件
    展開側邊欄搜索框並輸入關鍵詞,結果上方會出現「範圍」控件。點擊可調整:

    • 時間範圍:全部 / 1 / 3 / 7 / 30 天。
    • 搜索內容:勾選「我說的話」、「DSH 的回覆」或「項目名」。
    • 這些修改無需重啓,立即生效。
  2. 僅保留正文匹配
    取消勾選「項目名」,側邊欄將只顯示正文命中的結果,過濾掉僅匹配名稱的行。

  3. 重建索引
    刪除 <DSH_HOME>\profiles\web\session-search.db 文件,下次搜索時會自動重新建索引。

測試與驗證

插件包含離線驗證臺,不需要 DSH 運行或聯網即可檢查代碼與配置一致性:

node test.mjs

該命令會執行語法檢查、宿主與客戶端驗證臺,並覈對 README 文檔與配置表的一致性。

注意事項

  • 插件以當前 DSH 進程的權限運行,安裝前建議檢查源碼與許可證。
  • 需要依賴 DSH 官方模塊,不依賴第三方庫。
  • 官方全文索引在 web 組合裏是可選能力,本插件通過覆蓋 cordis.patch.yml 的 openAt 來啓用。

參考資料

  • 生態目錄:https://www.skillhub.cn/plugins/CHIP-PHILO-GH/dsh-session-search
  • GitHub 倉庫:https://github.com/CHIP-PHILO-GH/dsh-session-search
羽毛球分组比赛记分
小程序二维码

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

小夜