dsh-history-search:在 DSH 中檢索 Claude Code、Codex 與 DSH 會話記錄

前言

用 Claude Code、Codex 或 DeepSeek Harness(DSH)做多輪開發時,同類問題往往在幾天前的會話裏已經查過日誌、試過方案。會話 transcript 落在本機目錄裏,但分散在三套路徑、格式也不完全一致,靠 grep 或翻文件夾很難快速對上「當時在哪個項目、用什麼命令續聊」。

dsh-history-search 是維護者 mkpoli 發佈的 DSH 插件(社區分類:記憶)。它在智能體側提供一個只讀的 history_search 工具,對三套 CLI 的 transcript 做統一檢索,並返回匹配片段、工作目錄以及各自的 resume 命令。下面介紹定位、安裝與典型用法。

這是什麼

一句話:dsh-history-search 讓 DSH 上的模型用單一工具搜索 Claude Code、Codex 和 DSH 的本地會話 transcript,結果包含摘要、工作目錄和恢復會話的命令。

來源 存儲路徑
Claude Code ~/.claude/projects/**/*.jsonl
Codex ~/.codex/sessions/**/rollout-*.jsonl
DeepSeek Harness ~/.dsh/sessions/**/session.*.jsonl*

插件版本爲 0.1.0(見倉庫 package.json),許可證 MIT。社區目錄頁:https://www.skillhub.cn/plugins/mkpoli/dsh-history-search ;源碼:https://github.com/mkpoli/dsh-history-search 。

核心功能

統一檢索,只讀

工具不會改寫 transcript。命中後返回較新的若干條會話,每條帶有摘錄、claude --resume、codex resume 或 dsh tui --resume 等恢復方式說明。

查詢參數

模型調用 history_search 時,常用參數如下(與 README 一致):

參數 含義
query 字面詞;多詞時每個詞須出現在同一條 transcript 記錄內
source all(默認)、claude、codex、dsh
project 會話工作目錄的不區分大小寫子串
limit 1–30 條,按時間從新到舊,默認 8

匹配不區分大小寫。多詞 query 要求全部詞落在同一記錄上,便於收斂到完整表述而非零散命中。

三套存儲的讀取方式

Claude Code 與 Codex 在原始路徑上用 ripgrep 就地搜索,結果始終對應當前文件。

DSH 會話日誌按批追加 zstd 幀;插件用 zstdcat 將每條日誌解壓到 ~/.dsh/cache/history-search/dsh/,僅在文件大小或 mtime 變化時刷新緩存。緩存爲明文 JSONL,權限僅屬主;隨會話寫入而更新。刪除 ~/.dsh/cache/history-search 可騰空間,下次搜索會重建(README 稱數百條會話大約需 10 秒)。

依賴與限制

運行環境需在服務器 PATH 上提供:

  • ripgrep(rg)
  • zstd 包中的 zstdcat

缺失時工具會報錯。搜索範圍包括消息、推理、工具輸入與工具輸出中的文本;Base64 附件等二進制負載會跳過。Subagent 側鏈會納入,其 resume 命令指向父會話。較早的 DSH 會話 id 可能帶 session- 前綴。

Node 引擎要求:^22.19.0 || >=24.0.0(見 package.json)。

安裝與啓用

DSH 生態是「一切皆插件」;SkillHub 等目錄爲社區站點,與 DeepSeek、幻方無官方從屬關係。安裝插件前建議瀏覽倉庫源碼與 LICENSE,並知曉插件隨當前 DSH 進程權限讀取本機 transcript 與緩存目錄。

官方安裝命令如下:

dsh plugin --profile web add github:mkpoli/dsh-history-search

安裝後重啓 DSH 宿主。插件通過 cordis.patch.yml 聲明 bundle patch,掛載後會增加一條帶默認配置的 history-search 項。

典型用法

在對話中讓智能體檢索歷史即可,例如:

Search my history for the spectrogram rendering fix.

模型會調用 history_search,按你的自然語言意圖填充 query,並可選擇 source、project、limit。你無需手寫工具調用;把要找的主題或關鍵詞說清楚即可。

適用場景與注意

適合同時用 Claude Code、Codex、DSH 做本地開發、且希望在同一會話裏讓 DSH 模型「想起來」以前討論過的修復或決策的開發者。不適合把 transcript 當作審計級全文檢索:有多詞同記錄約束,且二進制附件不參與匹配。

插件只讀本地文件;權限邊界等於運行 DSH 的用戶能讀哪些 ~/.claude、~/.codex、~/.dsh 路徑。

結尾

dsh-history-search 把三套 CLI 的會話歷史收成一次工具調用,減輕「記得聊過、找不到在哪」的成本。安裝用上述 dsh plugin --profile web add 命令,細節以 README 爲準。

  • 目錄頁:https://www.skillhub.cn/plugins/mkpoli/dsh-history-search
  • GitHub:https://github.com/mkpoli/dsh-history-search
羽毛球分组比赛记分
小程序二维码

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

小夜