claude-mem - 持久内存管理
🎯 简介
claude-mem 是一个为 Claude Code 设计的持久内存压缩系统插件,能够自动捕获会话中的所有操作,使用 AI 压缩后注入到未来的会话中。这使得 Claude 能够在会话结束后保持对项目的连续知识。
✨ 核心特性
- 🧠 持久内存 - 上下文在会话之间保持存活
- 📊 渐进式披露 - 分层内存检索,显示 token 成本
- 🔍 基于技能的搜索 - 使用 mem-search 技能查询项目历史
- 🖥️ Web 查看器 - 在 http://localhost:37777 实时查看内存流
- 💻 Claude Desktop 技能 - 从 Claude Desktop 对话中搜索内存
- 🔒 隐私控制 - 使用
<private>标签排除敏感内容 - ⚙️ 上下文配置 - 精细控制注入的上下文
- 🤖 自动操作 - 无需手动干预
- 🔗 引用功能 - 通过 ID 引用过去的观察
- 🧪 Beta 功能 - 尝试 Endless Mode 等实验性功能
🚀 快速安装
通过插件市场安装
> /plugin marketplace add thedotmack/claude-mem
> /plugin install claude-mem
重启 Claude Code
安装完成后重启 Claude Code,插件将自动开始工作。
📖 工作原理
┌─────────────────────────────────────────────────────────────┐
│ Session Start → Inject recent observations as context │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ Session Progress → Capture tool usage and interactions │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ Session End → Compress and store observations │
└─────────────────────────────────────────────────────────────┘
🎛️ 配置选项
环境变量
| 变量名 | 默认值 | 说明 |
|---|---|---|
CLAUDE_MEM_DB_PATH | ~/.claude-mem/claude-mem.db | 数据库路径 |
CLAUDE_MEM_WEB_PORT | 37777 | Web 查看器端口 |
CLAUDE_MEM_MAX_TOKENS | 4000 | 最大 token 数量 |
隐私控制
在代码中使用 <private> 标签排除敏感内容:
<private>
def handle_sensitive_data(api_key):
# 这个函数不会被存储
return process(api_key)
</private>
🔍 搜索功能
使用 mem-search 技能
> /skill mem-search "查找用户认证相关的代码"
在 Claude Desktop 中使用
请搜索项目中关于数据库连接的实现
📊 Web 查看器
访问 http://localhost:37777 查看:
- 实时内存流
- 历史观察记录
- 搜索界面
- API 文档
🎯 适用场景
✅ 推荐使用
- 长期项目的开发
- 需要在会话间保持上下文的工作
- 大型代码库的持续开发
- 团队知识积累
- 复杂业务逻辑的项目
❌ 不推荐使用
- 短期一次性任务
- 包含大量敏感信息的项目
- 简单的脚本开发
🔧 高级功能
Endless Mode (Beta)
启用持续模式,让 Claude 不断分析和优化代码:
> /plugin config claude-mem endless_mode=true
自定义压缩策略
在项目根目录创建 .claude-mem.json:
{
"compression": {
"strategy": "semantic",
"max_observations": 100,
"priority_keywords": ["bug", "feature", "refactor"]
},
"privacy": {
"exclude_patterns": ["*_secret*", "*password*"],
"include_private": false
}
}
🐛 故障排除
常见问题
Q: 插件安装后没有反应 A: 确保重启了 Claude Code,检查插件是否正确安装
Q: Web 查看器无法访问 A: 检查端口 37777 是否被占用,尝试重启插件
Q: 内存占用过高
A: 调整 CLAUDE_MEM_MAX_TOKENS 环境变量
日志查看
> /plugin logs claude-mem
📚 更多资源
🤝 贡献
欢迎提交 Issue 和 Pull Request 到 GitHub 仓库。
📄 许可证
本项目采用 MIT 许可证,详见 LICENSE 文件。
⚠️ 安全提示: claude-mem 会存储您的代码和对话内容,请确保遵守您所在组织的数据安全政策。