前言¶
用 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