你的AI工具会忘记。克罗姆没有。
用于AI编码代理的跨工具内存。一 pip install,零云,零账户——您的Claude Code、GitHub Copilot和Gemini CLI会话会自动记住每个项目中的所有内容。
快速启动
pip install crossmem # 1. Install
crossmem setup # 2. Done. All tools configured.就是这样。现在,每个AI编码会话都从跨项目上下文开始。
为什么是crossmem?
每个AI编码会话都是冷启动的。该模型重新询问相同的设置问题,重新导出相同的模式,重新读取相同的文件——因为它不记得你上次做了什么。
我们使用 令牌X射线 在安装crossmem之前和之后的真实Claude Code会话中:
| 度量 | 增量 |
|---|---|
| 平均输入令牌/会话 | -74% |
| 平均成本/会话 | -83% |
| 缓存命中率 | +18% |
| 平均值达到结果 | -60% |
*在真实会话中进行测量。结果因项目规模和任务类型而异。*
crossmem通过注入记忆上下文来解决这个问题 在人工智能开始思考之前 --这不是一个可以忽略的建议,而是一个强制的背景。
You: "How should I handle credentials in this new service?"
AI: [crossmem recalls patterns from 3 of your projects]
Based on your backend-api, mobile-app, and infra-tools projects,
you use a middleware layer for credential masking — keys in
Secret Manager, never env vars, masked in logs via
_mask_sensitive_headers(). Applying the same pattern here.无复制粘贴。不,“我已经解决了这个问题。”你的人工智能会记住——在每个项目中。
它有何不同
| crossmem | Mem0 | Letta | Zep | |
|---|---|---|---|---|
| 安装 | pip install +SQLite | Cloud API密钥或自托管Qdrant | Server+Docker | Postgres+Go服务器 |
| 十字工具 | 克劳德+副驾驶+双子座 | 单应用 | 单应用 | |
| 跨项目 | 所有项目,一个索引 | 每个应用程序范围 | 每个代理范围 | 每个会话范围 |
| 协议 | MCP-native | REST API | 自定义框架 | SDK |
| 基础设施 | 没有。本地SQLite。 | 云或Qdrant+服务器 | Letta服务器 | Postgres+服务器 |
| 执行 | Hook在生成前注入上下文 | LLM决定调用API | LLM自管理内存 | LLM调用SDK |
适用于
| 工具 | 自动召回 | 如何 |
|---|---|---|
| 克劳德代码 | SessionStart钩子(启动/恢复/压缩)+UserPromptSubmit钩子(每个提示) | crossmem install-hook |
| GitHub Copilot | 将记忆注入副驾驶指令.md | crossmem install-hook --tool copilot |
| VS代码代理模式 | SessionStart+UserPromptSubmit钩子(预览) | crossmem install-hook --tool copilot-agent |
| Gemini CLI | GEMINI.md指令 | crossmem install-instructions |
| 克劳德桌面版 | 会话开始时自动调用MCP服务器 | 添加到 claude_desktop_config.json |
引擎盖下发生了什么
cd ~/any-project
claude # Claude Code: hook fires, memories injected automatically
code . # Copilot: reads context pre-injected into copilot-instructions.md
gemini # Gemini: calls mem_recall via instruction in GEMINI.md- 自动摄取 --从Claude、Copilot和Gemini本地文件中提取最新记忆
- 自动初始化 --第一次参与项目?README.md、CLAUDE.md等索引。
- 分层召回 --返回令牌预算中最相关的上下文:
精选记忆>工具记忆>CLAUDE.md>贡献.md>README.md
- 期中召回 (Claude Code+VS Code Agent模式)-根据您的记忆搜索每个提示。在模型响应之前注入相关上下文——无需手动
mem_recall需要。 - 学习 --人工智能通过以下方式保存新发现
mem_save在会议期间。知识化合物。每个内存都被写为持久.md文件到 `~/.crossmem/memories/
/` --DB在启动时从这些文件重建,因此内存可以在干净安装后存活。
- 新鲜度跟踪 (v1.3.0)——每个内存都有一个
last_verified时间戳。mem_recall和mem_search表面[verified: YYYY-MM-DD]或[unverified]在每个结果旁边,这样代理就可以一目了然地判断信任级别。使用mem_verify(id)在不改变其内容的情况下,对确认的内存进行盖章。 - 智能搜索 (v1.1.0)-在每次FTS查询之前,一个两层噪声过滤器将信号令牌与噪声分离。第1层排除了O(1)中168个语言固定的闭类词(介词、代词、助词等)。第2层通过FTS5应用语料库自适应IDF——出现在40%以上文档中的标记被视为特定于项目的噪声。零附加依赖关系。
- 范围模型 (v1.2.0)--记忆要么
project-范围(仅在其项目中可见)或global(到处都是)。在2个以上项目中以相同方式保存的内存将通过以下方式自动升级为全局auto_promote_patterns(). - WIP范围 (v1.9.0)--
mem_save(..., scope="wip")进展中的标记应在 *下一个* 会话开始,然后自动降级到项目范围,这样就不会打乱每次调用。使用它为您的下一次会话留下笔记: *“已启动身份验证重写,在令牌刷新逻辑上被阻止——在此处恢复。”* - 相关性得分 (v1.9.0)--查询范围
mem_recall(query=...)为每个结果添加注释[rel: XX%]因此代理可以立即看到比赛质量。完整会话召回(无查询)不受影响。
MCP服务器
添加到工具的MCP配置中,以便AI助手可以实时搜索、回忆和保存记忆:
Claude Code (~/.mcp.json)
{
"mcpServers": {
"crossmem": {
"command": "crossmem-server"
}
}
}GitHub Copilot (.vscode/mcp.json)
{
"servers": {
"crossmem": {
"command": "uvx",
"args": ["--from", "crossmem", "crossmem-server"]
}
}
}Gemini CLI (~/.gemini/settings.json)
{
"mcpServers": {
"crossmem": {
"command": "crossmem-server"
}
}
}Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json)
{
"mcpServers": {
"crossmem": {
"command": "crossmem-server"
}
}
}如果crossmem-server不在PATH中,请使用uvx --from crossmem crossmem-server相反。
MCP工具
| 工具 | 说明 |
|---|---|
mem_recall | 在会话开始时加载项目上下文+跨项目模式 |
mem_search | 在所有内存中搜索(查询、项目筛选、限制) |
mem_save | 在会话期间保存发现(写入持久 .md 文件+DB行)。 scope="wip" 用于下次召回后自动降级的遗留情况。 |
mem_update | 就地更新内存(保留ID,同步备份文件) |
mem_forget | 按ID删除内存(从磁盘中删除备份文件) |
mem_get | 按ID获取内存的全部内容 |
mem_verify | 将内存标记为今天已验证(无内容更改) |
mem_promote | 将项目范围内存提升到全局范围 |
mem_demote | 将全局内存降级回项目范围 |
mem_deduplicate | 扫描几乎重复的内存并删除冗余条目 |
mem_init | 索引项目文档文件 |
mem_ingest | 从本机工具内存文件刷新索引 |
CLI reference
# Recall (runs automatically via hook)
crossmem recall # auto-detects project from cwd
crossmem recall -p backend-api # explicit project
crossmem recall --format copilot # marker-wrapped for Copilot injection
crossmem recall --format vscode # JSON for VS Code agent-mode hooks
# Search
crossmem search "JWT token rotation"
crossmem search "retry strategy" -p backend-api -n 5
# Save / Update / Delete
crossmem save "Always use middleware for credential masking" -p backend-api -s Patterns
crossmem update 42 "corrected content here"
crossmem forget 42
# Index project docs
crossmem init # current directory
crossmem init -p my-api --path ~/projects/api
# Hooks
crossmem install-hook # Claude Code (SessionStart + UserPromptSubmit)
crossmem install-hook --tool copilot # Copilot (workspace instructions)
crossmem install-hook --tool copilot --global # Copilot (all workspaces)
crossmem install-hook --tool copilot --if-stale # refresh if >30 min old
crossmem install-hook --tool copilot-agent # VS Code agent mode (.github/hooks/)
crossmem install-instructions # Gemini
# Internal (installed as hooks — not run manually)
crossmem prompt-search # mid-session recall via UserPromptSubmit
# Diagnose
crossmem doctor # health check: binary, DB, hooks, Gemini, FTS index
# Other
crossmem ingest # re-ingest tool memories
crossmem graph # visualize knowledge graph in browser
crossmem stats # database stats
crossmem setup # one-time: Claude hook + Copilot injection + Gemini instructions + ingest支持的工具
| 工具 | 内存文件 |
|---|---|
| 克劳德代码 | ~/.claude/projects/*/memory/*.md |
| Gemini CLI | ~/.gemini/GEMINI.md |
| GitHub Copilot(macOS) | ~/Library/Application Support/Code/User/globalStorage/github.copilot-chat/memory-tool/memories/*.md |
| GitHub Copilot(Linux) | ~/.config/Code/User/globalStorage/github.copilot-chat/memory-tool/memories/*.md |
| GitHub Copilot(Windows) | %APPDATA%\Code\User\globalStorage\github.copilot-chat\memory-tool\memories\*.md |
crossmem(通过 mem_save) | `~/.crossmem/memories/ |
| /*.md` |
摄入是可插拔的——新工具欢迎PR。
更新日志
看 更改日志.md 发布说明。
贡献
发现bug了吗?想添加对另一个AI工具的支持吗? 提出问题 或提交PR。
如果crossmem让你无需向人工智能重新解释你的代码库,可以考虑给它一颗星——它可以帮助其他人找到它。
许可证
麻省理工学院
