最近我发现 AI 编程有一个很隐蔽的问题:
不是 AI 不够强,而是 AI 给过你的好答案太容易丢。
比如一次线上问题排查,Claude Code 可能帮你分析了半小时:日志怎么看、可能是哪层缓存、哪个配置有问题、最后怎么验证。问题解决了,当时很爽。但一周后遇到类似问题,你大概率只记得“好像上次问过”,却找不到那段完整分析。
Cursor 也是一样。它可能帮你解释过一个复杂模块,生成过一个脚本,讨论过一个架构取舍。但这些内容大多停留在聊天窗口里。会话结束后,它们既不在代码仓库里,也不在你的笔记系统里,更不能被 Git 版本控制。
我不想再重复问 AI 同一个问题了,所以做了 GitMemo。
GitMemo 是什么?
GitMemo 是一个本地优先的开发者知识工具。
它可以把 Claude Code / Cursor 里的有价值对话、笔记和日常工作产物保存成 Markdown 文件,放进你自己的 Git 仓库里。
简单说:
- AI 对话不再只是聊天记录,而是可搜索的工作资产;
- 内容存在本地 Markdown 里,不被任何平台锁定;
- Git 负责版本控制和同步;
- 之后可以通过 CLI、Desktop 或 MCP 搜索回来。
这件事的重点不是“导出聊天记录”。
真正有价值的是完整链路:
AI 帮你解决问题
→ 保存为 Markdown
→ 进入 Git 仓库
→ 后续搜索找回
→ 再次被 AI 作为上下文使用
为什么不是直接用 Notion / Obsidian?
Notion、Obsidian、语雀、飞书文档都很好,但它们更适合管理你主动写下来的知识。
而 AI 编程里的很多知识,是在工作过程中自动产生的:
- Debug 排查过程;
- 架构取舍;
- AI 解释过的复杂模块;
- 临时脚本;
- 命令行操作;
- 产品方案和复盘;
- 一些你当下没时间整理、但以后肯定会复用的结论。
这些内容如果靠手动复制,基本坚持不下来。
所以我对 GitMemo 的定位不是“替代 Obsidian / Notion”,而是补上另一块缺口:
自动沉淀 AI 编程过程中产生的知识。
如果说 Obsidian 像书桌,Notion 像工作台,那 GitMemo 更像 AI 编程过程里的黑匣子:它负责把有价值的过程留下来。
它怎么用?
初始化只需要一条命令:
gitmemo init
初始化后,你可以在 Claude Code 或 Cursor 中保存关键对话。
我自己最常保存几类内容:
- Debug 过程:尤其是根因分析、排查路径、验证命令。
- 架构讨论:为什么选 A 不选 B。
- 脚本和命令:那些以后肯定还会用到的小工具。
- 产品和运营方案:AI 帮我拆过的计划、文案、复盘。
- 项目上下文:某个模块为什么这样设计。
保存之后,这些内容会进入一个 Git 管理的知识库。你可以搜索,也可以让支持 MCP 的 AI 助手读取这些历史记录。
为什么要进 Git?
因为目标用户是开发者。
Git 对开发者来说有几个天然优势:
- 版本控制:你能看到知识是怎么演化的。
- 本地优先:内容先在自己机器上,不依赖云服务。
- 可同步:远程仓库可以是 GitHub、Gitee、自建 GitLab。
- 可迁移:Markdown + Git,不容易被平台锁死。
- 可审计:每次保存都可以留下提交记录。
很多工具都能保存内容,但不是所有工具都适合保存开发者的长期工作资产。
适合谁?
GitMemo 适合这类人:
- 每天重度使用 Claude Code / Cursor / AI 编程工具;
- 熟悉 Git;
- 经常需要回看历史方案;
- 不希望重要工作记录只留在云端聊天窗口里;
- 喜欢本地优先、Markdown、开源工具。
不太适合这类人:
- 完全不想碰 Git;
- 只需要多人在线协作文档;
- 想要富文本排版和复杂知识图谱;
- 只是偶尔用一下 AI 聊天。
当前能力
目前 GitMemo 支持:
- Claude Code / Cursor 工作流;
- AI 对话保存为本地 Markdown;
- Git 原生管理;
- 全文搜索;
- MCP 集成;
- CLI;
- macOS Desktop;
- 笔记、日记、手册等基础记录方式。
项目是 Rust 构建,MIT 开源。
最后
我越来越觉得,AI 对话不应该只是一次性聊天记录。
它里面有 Debug 过程、架构判断、业务理解、失败尝试和最终方案。这些东西其实是工作资产。
如果你也经常遇到“上次 AI 明明讲过,但我找不到了”的问题,可以试试看 GitMemo。
GitHub: github.com/sahadev/Git…
Website: gitmemo.kakacut.cn/
也欢迎在评论区告诉我:你现在是怎么保存 Claude Code / Cursor 对话的?