我开源了一个工具,把 Cursor 37 个对话提取成 519 条结构化记忆——再也不用给 AI 重复解释背景了
开源地址:github.com/hyxnj666-cr… 一键体验:
npx ai-memory-cli extract(内置免费模型,无需配置 API Key) 协议:MIT
上个月我统计了一下,我在 Cursor 里积累了 37 个对话窗口,涉及将近 20 个项目。如果要把所有技术决策都找出来——基本等于从头翻一遍。
更让人抓狂的是每次开新会话,都要花 10-15 分钟重新铺垫背景:"这个项目用的是 PostgreSQL,原因是……"、"上次我们决定不用 Redis 是因为……"。AI 永远是新的,记忆永远是我的负担。
后来我自己做了这个工具。昨天第一次在真实项目上跑,提取出了 519 条结构化记忆,花了不到 3 分钟。
一行命令,看看效果
npx ai-memory-cli list
37 个对话,每个显示日期、对话轮数、标题,清晰一览。然后挑两个跑提取:
npx ai-memory-cli extract --pick 3,2
工具自动检测已安装的 AI 编辑器,对每个对话分块并行提取。
两个对话,提取出 519 条记忆:
architecture: 117 | decision: 170 | todo: 128 | issue: 102 | convention: 2
质量过滤器自动丢掉了 22 条低质量内容(太短 / 太模糊 / 被更好的条目覆盖),保留率 96%。
然后打开可视化界面:
npx ai-memory-cli dashboard
每条记忆按类型(DECISION / ARCHITECTURE / CONVENTION / TODO / ISSUE)分类,点击可看详情,右上角一键复制加载命令。
和其他 AI Memory 工具有什么不同?
市面上的 AI Memory 工具(mem0、Letta、Zep 等)普遍要求你在代码里手动调用 client.add(...) 或 remember() API——需要改代码、接 SDK、常驻一个记忆服务进程。
ai-memory 完全不需要改你的代码。
你在 Cursor / Claude Code / Windsurf 里的对话记录本来就存在你本地硬盘上,ai-memory 直接去读,不需要你做任何额外操作。
| 对比维度 | ai-memory | 其他 Memory 工具 |
|---|---|---|
| 数据来源 | 直接读编辑器聊天记录(已有数据) | 需要手动调 API 写入 |
| 存储格式 | 纯 Markdown,放在 git 里 | 专有数据库 / 云端 |
| 跨工具支持 | Cursor / Claude Code / Windsurf / Copilot / Codex | 通常绑定一个平台 |
| 隐私 | 完全本地,数据不离开你的机器 | 大多数需要上传到云 |
| 版本控制 | git diff 可读,历史可追溯 | 只有"最新状态" |
| 零改造 | 不需要改任何代码 | 需要在应用代码里埋点 |
提取出来的记忆能用来做什么?
1. 生成 AGENTS.md,让所有 AI 工具自动读取
npx ai-memory-cli rules --target agents-md
把提取出的决策和约定,自动生成标准的 AGENTS.md 文件。Cursor、Claude Code、Windsurf、Copilot、Codex CLI 开新会话时原生读取这个文件,不需要你再手动解释背景。
2. 续接上下文,新会话无缝继续
# 把最近的记忆复制到剪贴板
npx ai-memory-cli context --copy
# 只加载某一个对话的记忆
npx ai-memory-cli context --source-id e0ef3946 --copy
3. 搜索历史决策 + 查 git 演化
npx ai-memory-cli recall "OAuth"
查出 OAuth 相关的所有决策,并展示它们在 git 历史中每一次修改的完整轨迹——4 月 1 号的决策是什么,4 月 15 号又改成什么,谁改的。
4. 输出 Anthropic Skills(Claude Code 专属,v2.5 新增)
npx ai-memory-cli rules --target skills
在 .claude/skills/ 下生成 3 个 Claude Code Skills 文件,按类型拆分:
| Skill 文件 | 来源记忆 | 触发时机 |
|---|---|---|
ai-memory-coding-conventions | convention | 写代码 / 命名 / 设计 API |
ai-memory-decision-log | decision | 提架构方案 / 问历史决策原因 |
ai-memory-system-architecture | architecture | 跨组件实现 / 排查集成问题 |
和 AGENTS.md 不同,Skills 由 Claude Code 按需动态加载,只有匹配到你的请求时才进入 context,不浪费 token。
同时写出三种格式也可以:
npx ai-memory-cli rules --target both # Cursor Rules + AGENTS.md
npx ai-memory-cli rules --target skills # Claude Code Skills
5. --redact 隐私保护:发给 LLM 前自动脱敏
npx ai-memory-cli extract --redact
如果你的聊天记录里曾经粘贴过 API key、内部域名、邮箱地址,--redact 会在请求离开本机之前自动替换掉:
Redaction: 5 items scrubbed before LLM — 3 openai-key, 2 email
默认覆盖 OpenAI / Anthropic / AWS / GitHub / Stripe 等各家 API key、RFC5322 邮箱、*.internal 等内网域名。
6. 自动定时提取(v2.6 新增)
# 每天 09:00 自动提取(macOS / Linux / Windows 原生调度器)
npx ai-memory-cli init --schedule
快速上手(3 步)
第 1 步:不需要 API Key,直接提取
这是 v2.5 最重要的更新——内置免费模型,零配置直接跑:
# 初始化
npx ai-memory-cli init --with-mcp
# 直接提取(内置 DeepSeek-V4-Flash,免费,限 2 个对话/次)
npx ai-memory-cli extract
想先看效果再决定?用 try 完全不改你任何文件:
npx ai-memory-cli try
第 2 步:配置自己的 Key,解除 2 对话限制
# 设置 API Key(任意 OpenAI 兼容提供商)
export AI_REVIEW_API_KEY=sk-...
国内用户推荐 硅基流动(gpt-4o-mini 等价模型,提取 500 条记忆约 ¥0.1)。
不想让 API key 出现在聊天记录里?加上 --redact:
npx ai-memory-cli extract --redact # 发给 LLM 前自动过滤 key / PII
第 3 步:同步给 AI 编辑器
# 生成 AGENTS.md(Cursor / Claude Code / Windsurf / Copilot / Codex 都读)
npx ai-memory-cli rules --target agents-md
# Claude Code 用户:额外生成 Anthropic Skills(按需动态加载,省 token)
npx ai-memory-cli rules --target skills
# 提交到 git
git add .ai-memory/ AGENTS.md && git commit -m "chore: 添加 AI 对话知识库"
支持的编辑器
| 编辑器 | 状态 |
|---|---|
| Cursor | ✅ 完整支持 |
| Claude Code | ✅ 完整支持 |
| Windsurf | ✅ 完整支持 |
| VS Code Copilot Chat | ✅ 完整支持 |
| OpenAI Codex CLI | ✅ 完整支持 |
提取的 5 种记忆类型
| 类型 | 说明 | 例子 |
|---|---|---|
| Decision | 技术选型、架构决策 | "决定用 PostgreSQL 而不是 MongoDB" |
| Architecture | 系统架构设计 | "用 Event Sourcing 实现账单审计日志" |
| Convention | 编码规范、命名约定 | "所有 API 使用 snake_case 命名" |
| TODO | 待完成的任务 | "需要补充 OAuth 错误处理" |
| Issue | 发现的 bug 或问题 | "AGENTS.md 输出字段重复" |
每条记忆是一个独立的 Markdown 文件,存在 .ai-memory/{author}/{type}/ 下,完全 git 可追踪。
技术信息
- 语言:TypeScript,Node.js 18+
- 提取质量:CCEB 基准测试 F1 64.1%(
gpt-4o-mini,30 条手写 fixture,含噪声场景) - 测试覆盖:585 个单元测试
- 内置免费模型:SiliconFlow DeepSeek-V4-Flash,无需 API Key,限 2 对话/次
- 本地 LLM:支持 Ollama / LM Studio 完全离线运行
- MCP Server:Cursor 可直接通过 MCP 访问和写入记忆
- 隐私保护:
--redact在调用 LLM 前自动脱敏 API key / PII
开源信息
- GitHub:github.com/hyxnj666-cr…
- npm:www.npmjs.com/package/ai-…
- 版本:v2.6(持续迭代中)
- 协议:MIT License
如果对你有帮助,欢迎点个 ⭐,也欢迎提 Issue 和 PR。
你现在 Cursor / Claude Code 里积累了多少对话窗口? 评论区告诉我,说不定你也有一座没挖过的宝矿 👇