项目简介
Claude-Mem 自动捕获并压缩 Claude 在编码会话中的观察内容,存储以供未来上下文注入。它利用 AI 摘要和向量搜索检索相关记忆,实现跨会话的连续性。
README 预览
\n \n \n \n \n \n \n \n \n \n\n\n\n 🇨🇳 中文 •\n 🇹🇼 繁體中文 •\n 🇯🇵 日本語 •\n 🇵🇹 Português •\n 🇧🇷 Português •\n 🇰🇷 한국어 •\n 🇪🇸 Español •\n 🇩🇪 Deutsch •\n 🇫🇷 Français •\n 🇮🇱 עברית •\n 🇸🇦 العربية •\n 🇷🇺 Русский •\n 🇵🇱 Polski •\n 🇨🇿 Čeština •\n 🇳🇱 Nederlands •\n 🇹🇷 Türkçe •\n 🇺🇦 Українська •\n 🇻🇳 Tiếng Việt •\n 🇵🇭 Tagalog •\n 🇮🇩 Indonesia •\n 🇹🇭 ไทย •\n 🇮🇳 हिन्दी •\n 🇧🇩 বাংলা •\n 🇵🇰 اردو •\n 🇷🇴 Română •\n 🇸🇪 Svenska •\n 🇮🇹 Italiano •\n 🇬🇷 Ελληνικά •\n 🇭🇺 Magyar •\n 🇫🇮 Suomi •\n 🇩🇰 Dansk •\n 🇳🇴 Norsk\n\n\nPersistent memory compression system built for Claude Code.\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n \n \n \n \n\n\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n Quick Start •\n How It Works •\n Search Tools •\n Documentation •\n Configuration •\n Troubleshooting •\n License\n\n\n\n Claude-Mem seamlessly preserves context across sessions by automatically capturing tool usage observations, generating semantic summaries, and making them available to future sessions. This enables Claude to maintain continuity of knowledge about projects even after sessions end or reconnect.\n\n\n---\n\n## Quick Start\n\nInstall with a single command:\n\n```bash\nnpx claude-mem install\n```\n\nOr install for Gemini CLI (auto-detects `~/.gemini`):\n\n```bash\nnpx claude-mem install --ide gemini-cli\n```\nOr install for OpenCode:\n\n```bash\nnpx claude-mem install --ide opencode\n```\n\nOr install from the plugin marketplace inside Claude Code:\n\n```bash\n/plugin marketplace add thedotmack/claude-mem\n\n/plugin install claude-mem\n```\n\nRestart Claude Code or Gemini CLI. Context from previous sessions will automatically appear in new sessions.\n\n> **Note:** Claude-Mem is also published on npm, but
常见问题 (5)
故障排除为什么claude-mem会在LM Studio中自动加载特定模型,导致高内存使用?
claude-mem 此前硬编码了默认模型(例如 claude-haiku-4-5-20251001),导致 LM Studio 在不需要时也会强制加载该模型。请更新至 claude-mem v13.4.0 或更高版本——此版本将默认的 CLAUDE_MEM_MODEL 改为空字符串,从而使观察者会话继承父会话的模型,避免不必要的模型加载。对于旧版本,请在设置中手动将 CLAUDE_MEM_MODEL 设置为 ""。
故障排除如何通过切换到DeepSeek来降低claude-mem中的高AI压缩成本?
将claude-mem升级到v13.4.0或更高版本。在工作者的提供商下拉菜单中,选择DeepSeek作为原生提供商。输入您的DeepSeek API密钥(sk-...)。配置模型:对简单层使用deepseek-v4-flash,对摘要层使用deepseek-v4-pro(DeepSeek成本约为Claude Haiku的1/10)。或者,设置环境变量:CLAUDE_MEM_PROVIDER=deepseek, CLAUDE_MEM_DEEPSEEK_API_KEY=sk-xxx, CLAUDE_MEM_MODEL=deepseek-v4-flash。这取代了手动编辑~/.claude-mem/.env的旧有变通方法。
故障排除如何防止claude-mem用空的CLAUDE.md骨架文件污染目录?
升级到 claude-mem v13.4.0(随 PR #2701 发布),该版本引入了可配置的拒绝列表,以抑制在 .git、.venv、fixtures 等目录中的骨架注入。对于 v13.4.0 之前的版本,一种解决方法是向项目的 .gitignore 中添加 **/CLAUDE.md,然后使用 ! 取消忽略模式以保留合法跟踪的 CLAUDE.md 文件(例如 !/CLAUDE.md)。
故障排除为什么在claude-mem的子目录中工作时,文件观察结果没有在PreToolUse期间注入?
这个bug是由路径不一致导致的:PostToolUse存储的观察路径相对于当前工作目录,而PreToolUse查找时相对于项目根目录。当工作目录发生变化时,这会破坏上下文注入。已在claude-mem v13.4.0中修复——请升级到该版本或更高版本。如果无法立即升级,临时解决方法是在所有文件操作期间将工作目录保持在项目根目录。
故障排除为什么当我的 Unix 用户名或项目路径包含点号时,claude-mem 的最后一条消息会丢失?
将 claude-mem 升级到 v13.4.0 或更高版本;该路径编码 bug 已在 v13.4.0 版本中修复。在受影响的版本(如 v13.0.1)中,claude-mem 在对当前工作目录进行编码时仅替换 /,而 Claude Code 还会将 . 替换为 -。这导致 last-message 查找定位到了错误的 ~/.claude/projects/... 目录。作为临时解决方案,可以创建一个从包含点号的路径指向 Claude Code 连字符编码路径的符号链接:
ln -s ~/.claude/projects/-Users-first-last-Sites-my-project \
~/.claude/projects/-Users-first.last-Sites-my-project
对每个受影响的项目目录重复此操作。等效的代码修复方式是将点号编码为连字符,例如:
function yUt(t){return t.replace(/[\/.]/g,"-")}
最后的摘要仍然可以显示,因为它读取自 claude-mem 的 SQLite 数据库,而逐字的最后一条消息则读取自 Claude Code 磁盘上的 JSONL 文件。