sessionmem 是一个本地优先的 MCP 记忆层,专为 AI 编程助手设计,解决跨会话记忆丢失的问题。它通过 MCP 协议与 AI 工具集成,在后台观察编码会话,自动记录并总结重要内容,在下次会话开始时注入相关摘要,从而避免重复解释项目背景。
用途
AI 编程助手通常只“知道”当前对话中的内容,一旦会话结束,上下文就丢失了。sessionmem 在助手与项目之间静默运行:工作时捕获会话内容;会话结束时把决策、警告和有用事实总结成简短持久的笔记;下次会话开始时自动提醒助手最相关的笔记,且只使用少量文本。
主要能力
- 跨会话持久记忆:自动总结并注入相关记忆,减少重复解释。
- 本地优先:所有存储、检索和摘要默认在本机运行,数据保存在单个 SQLite 文件(~/.sessionmem/memories.db)中,无账号、无遥测、无托管记忆服务。
- 自动脱敏:保存前自动移除常见密钥模式(邮箱、API 密钥、Bearer 令牌、JWT、私钥块、连接字符串式密钥等),替换为 REDACTED,默认开启。
- 记忆防“腐烂”:通过保留期清理(默认 90 天)、重要性加权排序、令牌预算注入和团队模式下的冲突解决,避免过时或重复记忆堆积。
- 团队模式(可选):可指向共享文件夹,让团队成员的 AI 助手共享决策和警告,默认关闭,无需服务器。
- 云摘要(可选,默认关闭):显式开启并配置 ANTHROPIC_API_KEY 后,可使用 Claude API 生成更高质量摘要,失败时自动回退到本地摘要。
- 可复现基准:提供 npm run benchmark,展示约 85.6% 的令牌减少和 100% 检索命中率。
使用方式
- 安装 sessionmem(npm i -g sessionmem)。
- 在项目文件夹内运行 sessionmem install,向 AI 工具的 MCP 主机注册 sessionmem,创建 ~/.sessionmem/config.json(若不存在),并向 ~/.claude/CLAUDE.md 注入说明(幂等,可安全重复运行)。
- 正常使用 AI 工具即可,sessionmem 会在后台自动运行。
可用 CLI 命令验证和操作,例如 sessionmem savings 查看节省的令牌,sessionmem retention prune 清理旧记忆。
适用场景
适用于使用 Claude Code、Cursor、Cline、Codex、Windsurf、Antigravity、QCoder 等任何支持 MCP 的 AI 编程助手的开发者,希望在不同会话间保留项目决策、警告和关键事实,同时要求数据完全本地存储、可检查、可备份、可删除。
限制
需要终端(Command Prompt、Terminal 或 PowerShell)和已安装的 Node.js。默认不发送代码到云端;云摘要为可选且默认关闭。团队模式默认关闭,需手动配置共享路径。具体平台兼容性和原生模块(better-sqlite3)构建问题可参考官方故障排除文档。