
你是否经历过这样的场景:和Claude Code协作一整天,完成了一个复杂的功能开发,第二天重新打开终端时,却发现AI完全不记得昨天的工作内容?这种"AI失忆症"让每次会话都要重新解释项目背景,严重影响开发效率。
现在,一个名为claude-mem的开源项目为Claude Code构建了完整的持久化记忆系统,让AI真正拥有了"长期记忆"能力。
claude-mem是一个专门为Claude Code打造的持久化记忆压缩系统,能够自动捕获开发会话中的所有操作,通过AI进行智能压缩,并将相关上下文注入到未来的会话中。
简单来说,它就像给Claude配备了一个"私人秘书"——这个秘书会默默记录每次对话中的重要事件,当你下次开始新对话时,秘书会把相关的历史信息重新告诉Claude,让它能够"记起"之前的工作内容。

Claude-Mem 项目介绍
上下文会在会话之间自动保存,无需手动操作。每次结束编程会话,claude-mem都会自动生成语义摘要,为下次会话做好准备。
这是claude-mem的核心设计哲学。它采用分层记忆检索策略,模拟人类的记忆模式:
可以通过自然语言搜索项目历史。比如你可以直接问Claude:
claude-mem提供一个实时Web界面(运行在http://localhost:37777),你可以:
你可以排除敏感内容,完全掌控哪些信息被存储。通过<private>标签包裹的内容不会被记录。
claude-mem的设计理念是:它不会中断或修改Claude Code的行为,而是从外部观察,通过生命周期钩子提供价值。
整个系统由以下几个核心组件构成:
┌─────────────────────────────────────────────────────────────┐
│ Claude Code 会话 │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 生命周期钩子 (Lifecycle Hooks) │
│ SessionStart → UserPromptSubmit → PostToolUse → Stop │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ Worker 服务 (后台处理) │
│ 通过 Claude Agent SDK 提取学习内容 │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 双数据库存储系统 │
│ SQLite (结构化) + ChromaDB (向量化) │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ 下次会话开始时自动注入相关上下文 │
└─────────────────────────────────────────────────────────────┘
1. SessionStart(会话开始)
2. UserPromptSubmit(用户提交提示)
3. PostToolUse(工具使用后)
4. Stop(会话停止)
5. SessionEnd(会话结束)
claude-mem使用两个数据库来存储记忆:
SQLite数据库(结构化存储)
~/.claude-mem/claude-mem.dbChromaDB(向量数据库)
~/.claude-mem/chroma/方式一:通过插件市场安装(推荐)
# 第一步:启动Claude Code
claude
# 第二步:添加插件市场并安装
/plugin marketplace add thedotmack/claude-mem
/plugin install claude-mem
# 第三步:重启Claude Code
方式二:从源码安装(进阶)
git clone https://github.com/thedotmack/claude-mem.git
cd claude-mem
npm install
npm run build
npm run worker:start
claude-mem的配置文件位于~/.claude-mem/settings.json,首次运行时会自动创建默认配置:
{
"provider": "claude",
"model": "claude-sonnet-4-5-20250929",
"workerPort": 37777,
"dataDir": "~/.claude-mem",
"logLevel": "info",
"contextObservations": 10
}
# 启动新的Claude Code会话
claude
# 让Claude创建一个项目
请帮我创建一个美发预约网站,需要包含以下功能:
1. 用户注册和登录
2. 服务项目展示
3. 在线预约功能
4. 个人中心
在Claude工作的同时,打开浏览器访问http://localhost:37777,你会看到Web界面开始记录各种信息:项目初始化过程、文件创建记录、代码编写过程、目录结构搭建等。
# 开启全新的Claude Code会话
claude
# 询问之前的工作
上次我们做了一个什么项目?都实现了哪些功能?
你会看到Claude开始查找之前的项目记录,并回答:"根据历史记录,我们上次一起做了一个美发预约网站,实现了以下功能:用户认证系统、导航栏组件、首页展示、预约功能、个人中心..."
这就是claude-mem的神奇之处——新的对话中,Claude依然能够"记住"之前的工作!
claude-mem支持多种搜索方式:
自然语言搜索
上次会话我们修复了什么Bug?
我们是怎么实现用户认证的?
最近对worker-service.ts做了什么修改?
结构化搜索
search(query="authentication bug", type="bugfix", limit=10)
claude-mem提供了一个实验性功能叫无尽模式,这是一种仿生记忆架构,用于大幅延长会话长度。
问题背景: 标准的Claude Code会话在大约50次工具使用后就会触及上下文限制。
解决方案:
claude-mem提供了完善的隐私保护机制:
<private>这里的内容不会被claude-mem记录
API_KEY="sk-xxxxx"
</private>
export CLAUDE_MEM_SKIP_TOOLS="ListMcpResourcesTool,SlashCommand,AskUserQuestion"
claude-mem的出现,标志着AI编程助手的一个重要突破。它解决了AI在跨会话中容易遗忘的痛点,通过自动存储和管理会话中的关键信息,实现了真正的长期记忆能力。
无论是继续之前的工作、排查历史Bug,还是查看决策历史,claude-mem都能让Claude"记住"之前的工作内容,大大提升了开发效率。
对于经常使用Claude Code进行开发的程序员来说,claude-mem无疑是一个值得尝试的必备工具。它不仅解决了"AI失忆症"的问题,更为AI辅助编程开辟了新的可能性。
参考资料: