raine/claude-history

Fuzzy-search Claude Code conversation history

claude‑history —— 用于浏览 Claude Code、Pi 和 Oh My Pi 对话历史的终端 UI

功能

  • 扫描当前项目目录(或 Claude Code、Pi 和 OMP 的默认会话文件夹)并为每个记录的聊天会话构建索引。
  • 提供模糊、字段感知的搜索,可通过词汇或语义方式工作(二进制文件附带后者所需的 ONNX Runtime 模型,因此 macOS 上无需额外安装)。
  • 显示对话预览列表,允许您打开全屏查看器,支持 vim 风格的导航、查看器内搜索、Markdown 渲染以及复制或导出消息。
  • 从 UI 中,您可以在原始代理中恢复会话,分叉到当前项目,重命名或删除。分叉可跨 git 工作树工作,因此可以将另一个仓库的对话带入您当前工作的目录。
  • 附带的 Claude Code 技能允许 Claude 代理本身搜索其过去的聊天。

为什么重要 使用 Claude Code、Pi 或 Oh My Pi 的开发人员通常会积累数十个 JSONL 转录文件。寻找先前的讨论、重用解决方案或继续暂停的会话,否则是一个手动且容易出错的过程。claude-history 将那个档案变成一个可搜索的、键盘驱动的界面,直接与代理集成,使历史成为开发工作流程中的一等公民。

主要功能

功能 您获得的内容
多代理支持 Claude Code、Pi、OMP – 全部列出并带有源标签(CC、Pi、OMP)。
模糊 + 语义搜索 前缀、词边界、字段感知的相关性评分;可选的基于 ONNX 的语义排名,理解含义。
对话查看器 账本式显示、Markdown 渲染、工具调用切换、思考块切换、复制到剪贴板、导出到文件。
恢复 / 分叉 / 重命名 / 删除 一键操作,调用原生 pi 或 omp CLI,或 Claude Code 的恢复命令。
工作树感知过滤 如果您使用作者的 workmux 工具,列表会自动限制为活动工作树。
跨项目分叉 使用 Ctrl+F 从任何项目拉取对话到当前目录。
时间过滤 --since、--before、--after 允许您将结果限制在日期范围或相对时长内。
剪贴板处理 在本地、SSH(OSC 52)和 tmux 内工作;可通过 CLAUDE_HISTORY_CLIPBOARD 配置。
可配置 UI 键绑定、默认恢复参数、显示选项在 TOML 配置文件中设置。

安装

  • 快速脚本:curl -fsSL https://raw.githubusercontent.com/raine/claude-history/main/scripts/install.sh | bash
  • Homebrew(macOS/Linux):brew install raine/claude-history/claude-history
  • Cargo:cargo install claude-history
  • 预构建二进制文件适用于 Apple Silicon、Intel macOS 和 x86_64 Linux;macOS 构建捆绑了 ONNX 运行时。

基本用法

# 从任何项目目录
claude-history          # 打开 TUI 列表
claude-history <file>   # 直接查看特定 JSONL 转录文件
claude-history delete-empty   # 删除空转录文件

在列表中:

  • 输入搜索,Ctrl+R 恢复,Ctrl+F 分叉,F2 重命名,Ctrl+X 删除。
  • Ctrl+T 在词汇搜索和语义搜索之间切换。
  • ? 显示完整快捷键速查表。

配置示例(~/.config/claude-history/config.toml)

[search]
mode = "semantic"   # 以语义模式启动

[tui]
semantic_search = true   # 旧键,仍然有效

谁构建的 由 raine 维护(aven 任务队列工具的作者)。仓库包含一个附带的 Claude 技能(skills/claude-history/SKILL.md),允许 Claude 查询自己的历史。


所有细节均直接取自仓库的 README;未推断任何其他功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目