AI 编程助手每次打开新会话都要从头聊起?EGC 开源方案让 Claude Code/Cursor 拥有跨会话持久记忆
你有没有遇到过这种情况:昨天用 Claude Code 调试了一个复杂的 WebSocket 连接问题,找到了根本原因,还写了一段修复代码。今天打开终端,输入 claude,结果 AI 一脸无辜地问你「你好!有什么我可以帮你的?」——它完全不记得昨天发生了什么。
你只能重新描述项目结构、重新解释上下文、重新告诉它你习惯用简洁回复。即使你把昨天的对话翻出来复制粘贴,AI 依然没有「记忆」——它只是把那些文字当成了新的 prompt。
这不是你的问题。这是所有 AI 编程助手的共同短板:每个会话都是从零开始的。
为什么这个问题值得认真对待
每次会话的「失忆」带来的是实打实的时间成本:
- 重复上下文:每次新建会话都要重新解释项目结构、技术栈、编码规范,平均花费 5-10 分钟
- 重复决策:昨天决定的技术方案,今天可能又绕回去讨论了一遍
- 丢失教训:上周踩过的坑、总结的规避方法,随着会话关闭一起消失
- 切换工具:如果你同时在用 Claude Code、Cursor、Gemini CLI,每个工具都有自己的「记忆孤岛」
对于日常使用 AI 编程助手的开发者来说,这些碎片时间积累起来,每天可能浪费 30-60 分钟——一年就是上百个小时。
现有的折中方案
在 EGC 出现之前,开发者用各种「土办法」来解决这个问题:
方案一:手动维护 CLAUDE.md 文件
Claude Code 支持项目根目录的 CLAUDE.md 文件作为长期提示。但你得自己手动维护它——每当有新的决策或发现,就要打开文件编辑、保存。一旦忘记更新,记忆就断了。
方案二:翻聊天记录
每次开始新会话前,从之前的对话中复制关键信息。耗时费力,而且会话一多就难以管理。
方案三:只用长会话
一个会话开着一整天不关。但这意味着每次 terminal 重启、系统更新或 MCP 配置变更,所有上下文就没了。
这些方案都不是真正意义上的「持久记忆」——它们要么需要手动维护,要么会随会话结束而丢失。
EGC:给 AI 编程助手的「永久记忆」
EGC(Extended Global Context)是一个开源的本地运行时(MIT 协议),它的目标很简单:让你的 AI 编程助手不再从零开始。
它的工作原理也很直观:
- 在每个会话结束时,自动保存当前的上下文——包括做出的决策、失败的经历、你的偏好、下一步计划
- 在下个会话开始时,自动把这些信息加载回来——不需要你输入任何命令
- 安装一次,同时覆盖 Claude Code、Cursor、Gemini CLI、Windsurf 等多个工具
EGC 的创建者 Felipe Marzochi 把它描述为:「你的 AI 代理永远不需要从零开始。不需要学习任何命令,只需工作——EGC 处理其余部分。」
安装
EGC 基于 Node.js,需要 20 或更新版本:
npm install -g @egchq/egc && egc install
或者无需全局安装:
npx @egchq/egc install
安装过程会自动检测你已安装的 AI 编程工具,为每个工具配置 MCP 服务器,并初始化 SQLite 数据库。它还支持从源码编译(Linux/macOS):
git clone https://github.com/Fmarzochi/EGC.git cd EGC sh install.sh
安装完成后,用以下命令验证:
egc doctor
这会检查两个 MCP 服务器是否已正确构建、注册并在每个检测到的工具中正常工作。
核心功能:两大 MCP 服务器
EGC 包含两个协同工作的 MCP 服务器。
egc-memory(记忆服务器)
包含 14 个工具,AI 会自动调用——你不需要记忆任何命令。在会话开始时,AI 自动调用 get_state 加载项目记忆;结束时调用 update_state 保存更新。关键工具包括:
get_state/update_state— 加载和保存项目状态store_decision/query_history— 持久化单条决策到 SQLite,按时间戳查询search_history— 全文搜索(BM25 排序算法)working_memory_set/get— 带 TTL 的短期记忆存储lesson_save/recall/reinforce— 跨会话知识管理,带有置信度衰减机制detect_patterns— 自动分析高频命令和重复错误
状态文件存储在 ~/.egc/state/<项目名>.md,每个项目一个文件,纯 Markdown 格式,人类可读。
egc-guardian(安全守卫)
包含 5 个后台自动运行的工具,在每次 shell 命令和文件写入前进行检查:
validate_command— 检查 shell 命令是否符合项目安全规则validate_write— 验证文件写入路径,防止意外覆盖reduce_context— 压缩文件负载,节约 token 预算orchestrate_task— 根据 agent/skill 上下文路由 prompt
egc watch:跨工具实时同步
这是 EGC 最实用的功能之一。运行一次后,你的上下文在所有 AI 编程工具之间实时同步:
egc watch # 监控当前项目 egc watch /path/proj # 监控指定项目
你在 Cursor 中编辑的上下文,自动出现在 Gemini CLI、Copilot、Windsurf 中。不需要手动复制粘贴,不需要维护多份配置文件。
egc dashboard:实时「任务控制台」
EGC 还提供了一个本地 Web 仪表盘:
egc dashboard # 启动仪表盘(浏览器打开 http://localhost:7890) egc dashboard stop # 停止后台服务
仪表盘实时展示 AI 的工具调用、文件编辑、shell 命令、token 用量、记忆状态和代理状态——像一个任务控制台,让你对 AI 的一举一动一目了然。
附赠:479 个 Prompt 组件
EGC 还附带一个 Prompt 库,包含 63 个代理(agent)、229 个技能(skill)、76 个命令和 111 条规则——全部来自真实工程会话。安装时可以选择是否导入。
实际使用场景
场景一:长期项目维护
你有一个维护了半年的 Django 项目,每周用 Claude Code 处理 2-3 个 issue。有了 EGC,每次打开 Claude Code,AI 自动知道项目的技术栈(Django + PostgreSQL + Redis)、你偏好的回复风格(简洁、中文优先)、以及上周 pending 的三个任务。不需要任何提示——直接进入工作状态。
场景二:多工具切换
项目初期用 Cursor 做原型,后期用 Claude Code 做优化和测试。没有 EGC 时,每次切换都要重新交代项目背景。有了 EGC,两个工具共享同一个状态文件——你在 Cursor 中分析的结果,Claude Code 直接读取。
场景三:团队协作
团队成员用不同的 AI 编程工具(A 用 Windsurf,B 用 Codex,C 用 Claude Code)。EGC 的状态文件是纯文本 Markdown,可以 check in 到版本控制中——团队共享同一个「项目记忆」。
注意事项
- EGC 需要 Node.js 20+,老项目可能需要升级 Node 版本
- 状态文件存储在本地
~/.egc/state/,不会自动云同步——需要自行备份或通过 Git 共享 - 首次安装后,建议先运行
egc doctor确认所有配置正确 - 免费项目,由单人维护——遇到问题可以去 Discord 社区 求助
- 当前支持 Claude Code、Cursor、Gemini CLI(付费账户)、Windsurf,以及通过 Antigravity CLI 使用 Gemini 免费替代方案
总结
EGC 解决了一个虽然简单但长期被忽视的问题:AI 编程助手的跨会话记忆。它不是那种需要反复学习的概念性工具——安装、配置、然后忘记它的存在,它会默默地在你每次开始编码时把上下文加载好。
如果你每天使用 AI 编程工具超过 30 分钟,EGC 节省的时间很快就会超过你花在安装上的 5 分钟。它不会改变你使用 AI 的方式,但会让整个体验流畅得多。
项目地址:https://github.com/Fmarzochi/EGC 安装命令:
npm install -g @egchq/egc && egc install许可证:MIT