概述

什么是 Claude-Mem?

让 Claude Code 拥有跨会话的持久化记忆,告别上下文丢失的烦恼

智能记忆压缩系统

Claude-Mem 通过自动捕获工具使用观察、生成语义摘要,并将其提供给未来的会话,无缝保留跨会话的上下文。这使得 Claude 即使在会话结束或重新连接后,也能保持对项目的知识连续性。

  • 自动捕获会话中的关键信息
  • AI 驱动的智能压缩和摘要
  • 跨会话持久化存储
  • 渐进式信息披露策略
  • 全文搜索和语义搜索支持
  • Web 界面实时查看记忆流
🚀
会话开始
自动注入最近的观察作为上下文
💬
用户提问
创建会话,保存用户提示
🔧
工具执行
捕获观察(读取、写入等)
🤖
Worker 处理
通过 Claude Agent SDK 提取学习内容
会话结束
生成摘要,为下次会话做好准备
核心特性

强大的功能特性

全方位提升 Claude Code 的记忆能力和使用体验

🧠

持久化记忆

上下文在会话之间自动保存,无需手动操作,让 AI 真正"记住"你的项目历史

📊

渐进式披露

分层记忆检索,模拟人类记忆模式。索引层、详情层、完美回忆层,智能决策何时获取详细信息

🔍

技能搜索

通过 mem-search 技能查询项目历史,自然语言搜索,轻松找到过去的工作内容

🖥️

Web 查看器

在 http://localhost:37777 实时查看记忆流,可视化管理和浏览所有记忆内容

🔒

隐私控制

使用 <private> 标签排除敏感内容,完全掌控哪些信息被存储

⚙️

精细配置

11+ 个设置选项,精细控制上下文注入、观察过滤、token 显示等行为

🤖

自动运行

无需手动干预,后台透明运行,自动完成所有记忆管理工作

🔗

引用系统

通过 ID 引用过去的观察,精确定位和追踪历史记录

🧪

Beta 通道

通过版本切换尝试实验性功能,如无限模式(Endless Mode)

架构

系统架构

精心设计的组件协同工作,提供可靠的记忆服务

🎣

5 个生命周期钩子

SessionStart、UserPromptSubmit、PostToolUse、Stop、SessionEnd - 6 个钩子脚本覆盖完整会话生命周期

智能安装

缓存依赖检查器,预钩子脚本确保所有依赖正确安装和配置

🔌

Worker 服务

端口 37777 上的 HTTP API,包含 Web 查看器 UI 和 10 个搜索端点,由 Bun 管理

💾

SQLite 数据库

存储会话、观察、摘要,支持 FTS5 全文搜索,高效查询历史数据

🔎

mem-search 技能

支持自然语言查询和渐进式披露的搜索技能,智能理解用户意图

🎯

Chroma 向量数据库

混合语义 + 关键词搜索,通过向量嵌入实现智能上下文检索

安装

快速开始

只需几个简单步骤,即可为 Claude Code 添加持久化记忆

1 添加市场插件

Claude Code Terminal
> /plugin marketplace add thedotmack/claude-mem

2 安装插件

Claude Code Terminal
> /plugin install claude-mem

3 重启 Claude Code

重启后,之前会话的上下文将自动出现在新会话中。

1 克隆仓库

Bash
git clone https://github.com/thedotmack/claude-mem.git
cd claude-mem

2 安装依赖并构建

Bash
npm install
npm run build

3 启动 Worker 服务

Bash
# 启动 Worker
npm run worker:start

# 查看状态
npm run worker:status

# 查看日志
npm run worker:logs

1 配置文件位置

Path
~/.claude-mem/settings.json

配置文件在首次运行时自动创建并使用默认值。

2 配置文件示例

JSON
{
  "CLAUDE_MEM_MODEL": "claude-sonnet-4-5",
  "CLAUDE_MEM_WORKER_PORT": "37777",
  "CLAUDE_MEM_CONTEXT_OBSERVATIONS": "50",
  "CLAUDE_MEM_LOG_LEVEL": "INFO"
}

3 管理配置

Bash
# 查看当前配置
curl http://localhost:37777/api/settings

# 使用 CLI 助手编辑
./claude-mem-settings.sh
搜索

智能搜索功能

用自然语言查询你的项目历史,轻松找到过去的工作内容

可用搜索操作

📝
搜索观察
跨观察进行全文搜索
📁
搜索会话
跨会话摘要进行全文搜索
💬
搜索提示
搜索原始用户请求
🏷️
按概念搜索
按概念标签查找(发现、问题解决、模式等)
📄
按文件搜索
查找引用特定文件的观察
🔖
按类型搜索
按类型查找(决策、bug修复、功能、重构等)

自然语言查询示例

"上次会话我们修复了什么 bug?"
"我们是怎么实现认证的?"
"worker-service.ts 做了什么修改?"
"显示这个项目最近的工作"
"添加查看器 UI 时发生了什么?"
"我们之前有修过这个 bug 吗?"

只需自然地提问,Claude 会自动调用 mem-search 技能查找相关上下文。

配置

配置选项

通过配置文件精细控制 Claude-Mem 的行为

配置项 默认值 说明
CLAUDE_MEM_MODEL claude-sonnet-4-5 用于生成观察的 AI 模型
CLAUDE_MEM_WORKER_PORT 37777 Worker 服务端口
CLAUDE_MEM_WORKER_HOST 127.0.0.1 Worker 绑定地址(使用 0.0.0.0 允许远程访问)
CLAUDE_MEM_DATA_DIR ~/.claude-mem 数据目录位置
CLAUDE_MEM_LOG_LEVEL INFO 日志级别(DEBUG、INFO、WARN、ERROR、SILENT)
CLAUDE_MEM_PYTHON_VERSION 3.13 用于 chroma-mcp 的 Python 版本
CLAUDE_MEM_CONTEXT_OBSERVATIONS 50 SessionStart 时注入的观察数量
实验性

Beta 功能:无限模式

突破上下文限制,实现真正的长会话

🧪 实验性功能

Endless Mode(无限模式)

标准 Claude Code 会话在约 50 次工具使用后会达到上下文限制。Endless Mode 通过将工具输出压缩为约 500 token 的观察来解决这个问题,同时保留完整的记录用于回忆。

  • 显著减少上下文窗口中的 token 使用
  • 更多工具使用次数才会达到上下文限制
  • 线性 O(N) 扩展而非二次 O(N²)
  • 完整记录保留用于完美回忆

如何尝试:打开 http://localhost:37777 → 设置 → 版本通道 → 选择 "Try Beta"

标准模式 vs 无限模式

每次工具使用 Token
1-10k+ ~500
复杂度
O(N²) O(N)
完整记录
上下文中 磁盘存储
会话长度
~50 次工具使用 大幅增加