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

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

小夜