你在 Claude Code 中花了两个小时调试一个复杂的并发问题,最终找到了解决方案。三天后,另一个项目遇到类似的 race condition,你隐约记得之前处理过,却怎么也找不到那段对话了。
这不是个例。Claude Code 的会话历史管理是一个被广泛忽视的问题。
Claude Code 的会话存储机制
Claude Code 会将对话记录存储在本地文件系统中。具体位置取决于你的操作系统:
-
macOS/Linux:
~/.claude/projects/ -
Windows:
%USERPROFILE%\.claude\projects\
每个项目目录下会生成 JSON 格式的会话文件,文件名通常是一串哈希值。这些文件包含了完整的对话历史。
问题在于:Claude Code 没有提供原生的会话浏览界面。
现有方案的局限
方案一:手动翻阅 JSON 文件
你可以直接打开 ~/.claude/projects/ 目录下的 JSON 文件。但这些文件的命名没有语义信息,当积累了几十个会话后,找到特定对话就像在一堆未命名的文稿中找一页特定的内容。
方案二:使用 grep 搜索
grep -r "关键词" ~/.claude/projects/
这能找到包含特定关键词的会话文件,但返回的是原始 JSON,阅读体验很差。
方案三:依赖 Claude 的上下文窗口
Claude Code 的上下文窗口有一定的记忆能力,但它有 token 限制。跨会话的记忆更是不存在。
这些方案的共同问题
- 没有可视化界面
- 没有时间维度
- 没有跨项目搜索
- 没有代码关联
为什么这个问题重要
AI 编程对话不仅仅是"聊天记录"。它包含了调试路径、架构决策、代码审查逻辑和学习曲线。
这些内容的丢失意味着重复劳动、知识断层和调试困难。
会话管理的最佳实践
1. 手动导出关键对话
2. 建立项目决策日志 (DECISIONS.md)
3. 使用 Git 提交信息关联
4. 按项目组织会话
更系统化的解决方案
Mantra 是一个本地运行的会话查看器,专门解决这个问题。它直接读取 ~/.claude/projects/ 目录下的 JSON 文件,建立索引后即可全文搜索。更重要的是,它能将对话时间轴与 Git 历史对齐。
Mantra 的所有数据处理都在本地完成,不上传到任何服务器。
Mantra 是一个开源友好的本地会话查看器,支持 Claude Code、Cursor、Gemini CLI、Codex。本地功能永久免费。从 官网 了解更多。


