AI 工具与平台切换 + agentmemory 跨会话记忆
一个越来越常见的处境:之前买的 AI 服务涨价了(AI 服务商拿到大量客户后轮流涨价是常态),或者公司统一换了工具——想从 Claude Code 切到 Codex、Trae、OpenCode,怎么办?这一节讲两件事:配置资产迁移的通用打法(把
.claude一套转成新工具认的格式),以及跨会话记忆的免费方案 agentmemory。与前面章节的分工:第 3 章 06 节讲过 cc-switch 这类配置切换器(同一工具内换供应商),第 5 章 03 节讲过 claude-mem 的 Hook 机制与工作流。本节不重复这些,聚焦"跨工具迁移怎么落地"和"agentmemory 这个免费方案本身"。
一、切换工具的本质:迁移的是配置资产
在 Claude Code 里养成的资产清单:CLAUDE.md(项目规范)、.claude/rules/(规则)、skills(技能)、hooks(钩子,比如"改代码后自动同步文档")。切到 Codex,等价物是 AGENTS.md + .codex/ 配置;切到 OpenCode 等工具,又各有自己的文件格式与路径。
迁移的关键决策:在哪个工具里做迁移?
两种做法:
- 在 Claude Code 里让它生成 Codex 的配置——不推荐。想切换的时机往往正是旧工具不可用的时候(订阅到期、服务涨价、公司禁用),指望旧工具干活不现实。
- 在新工具里做(推荐)。本地安装并启动 Codex,以较高权限模式运行(如
codex --full-auto,允许它自动执行文件操作),让它读取旧的.claude资产,生成自己认的配置。
迁移提示词(实测可用)
在 Codex 里发送:
读取本项目的 .claude 目录(CLAUDE.md、rules、skills、hooks 配置),
生成配套的 Codex 使用的 .codex 及 AGENTS.md 文件。
了解项目的基本结构及技术栈,记录下来。
text
Codex 会创建项目级的 .codex/ 配置(与 .claude/ 的定位一致),并生成 AGENTS.md——后者大部分内容可直接复用 CLAUDE.md,措辞略有调整。换 OpenCode、Trae 等任何工具同理:让目标工具自己读旧配置,按它认识的格式和路径生成。模型间的差异越来越小,这类"翻译"活它们都做得来。
成本考量:迁移用不着旗舰模型
迁移 rules 和 skills 属于机械性工作,用旗舰模型是"杀鸡用牛刀",可以选便宜、性价比高的模型来做。但如果你希望迁移结果在本地长期稳定可跑,也可以直接用中档模型一步到位——迁移产出的配置文件会在后续每个会话里生效,多花一点 token 换稳定是值得的。
怎么验证迁移成功:考一考它
不要只看文件生成了没有,直接问它细节。例如项目里曾配置过"编辑代码后自动更新文档"的钩子,就问:这个钩子你有没有一并迁移?
实测结果:Codex 不仅迁移了配置,还把钩子行为完整复刻——改代码后自动进入 hook、注入文档同步需求、修改公共代码后立即提示同步文档、git commit 前检查(有未同步文档则阻止提交)、任务结束时再次检查(未同步则要求继续处理),最后跑了一遍测试且全部通过。
会话纪律:别在一个会话里聊到天荒地老
迁移完开新会话干活,这是必须养成的习惯。原因有二:
- 上下文挤压:前面会话的内容占掉大模型的输出空间,越往后输出越不准确;
- 自动压缩丢信息:"上下文给得越足越准"只在高复杂度问题上部分成立。像 1M 上下文窗口的模型,一旦占用超过 80%,会触发工具的 auto-compact(自动压缩),而压缩会滤除一部分信息——不是无损的。
新任务开新会话,配合下面要讲的跨会话记忆工具补回"它不记得上个会话"的短板。
二、跨会话记忆:三个方案的定位
| 方案 | 定位 | 适合谁 |
|---|---|---|
| claude-mem | Claude Code 生态起步的记忆插件,现已扩展支持 OpenClaw、Codex、Gemini、Hermes、Copilot、OpenCode 等十余种 agent(GitHub README,2026-10 核实) | 以 Claude Code 为主力 |
| Mem0 | 跨 agent 记忆层,原生 MCP 支持 | 以 Codex 为主力 |
| agentmemory | 免费、跨 agent、原生 MCP、本地优先 | 不想花钱且要跨会话/跨 agent |
claude-mem 的机制(Hook 自动监听、Observations、smart-explore)第 5 章 03 节已详讲,不重复。下面重点讲 agentmemory。
三、agentmemory:免费的跨 agent 记忆方案
基本信息(2026-10 核实自 GitHub rohitg00/agentmemory)
- 定位:AI coding agent 的持久记忆——"Your coding agent remembers everything. No more re-explaining"。基于 iii engine(锁定 v0.22.1)构建,本地优先(SQLite 存储,默认自托管、不上云)。
- 支持面:约 20 个 agent 适配器。Claude Code(原生插件:12 个 hooks + 17 个 skills + 54 个 MCP 工具)、Codex CLI(原生插件:6 hooks + MCP)、Cursor(7 hooks + MCP)、GitHub Copilot CLI、OpenCode、OpenClaw、Gemini CLI、Devin、Zed、Cline、Continue、Warp、Antigravity、DeepSeek Harness、pi / Oh My Pi 等,以及任何 MCP 客户端(README 领衔列表 2026-11-07 核实)。
- 文档:README 提供包括简体中文在内的 20 余种语言文档。
- 检索:BM25 关键词 + 向量 + 图谱三路混合(RRF 融合);无 key 的 keyless 模式只有 BM25,设
EMBEDDING_PROVIDER=local后启用本地向量(首次下载 all-MiniLM-L6-v2 模型,之后推理全在本地、零成本)。
安装与接入
# 标准安装(@latest 避免 npx 命中旧缓存版本)
npx -y @agentmemory/agentmemory@latest
bash
首次运行是交互式引导:选择要接入的 agent(Claude Code、Cursor、Codex、Gemini CLI、OpenCode…)、选择 LLM provider 或保持 keyless,然后自动写入配置、启动记忆服务器,并可全局安装成裸 agentmemory 命令。
Claude Code 走插件市场更完整(自动注册全部 hooks、skills 和 MCP):
/plugin marketplace add rohitg00/agentmemory
/plugin install agentmemory
text
后续随时补接其它 agent:
agentmemory connect <agent> # 如 connect codex
agentmemory stop # 干净停止
agentmemory doctor # 交互式诊断
bash
本地运行占用四个端口:3111(REST / MCP HTTP)、3112(iii 流)、3113(实时查看器 Viewer)、49134(worker WebSocket)。浏览器打开 http://localhost:3113 可以实时看记忆的生成过程。
性能与成本(官方基准,自测口径)
- LongMemEval-S(ICLR 2025,500 题):agentmemory 混合检索 R@5 95.2%、R@10 98.6%、MRR 88.2%;纯 BM25 回退为 86.2%。对比:mem0 在 LoCoMo 数据集公布值 68.5%、Letta/MemGPT 83.2%(不同数据集,仅量级参考,官方也注明非同场对比)。
- token 成本:每年全量贴上下文需 19.5M+ token(超窗口,不可行);LLM 摘要约 650K token / 约 500;agentmemory约170Ktoken/∗∗约10 每年**;配本地 embedding 则 $0(约每会话 1,900 token)。
记忆生命周期与回放
- 四层整理 + 衰减 + 自动遗忘:working → episodic → semantic → procedural 逐层巩固,长期不用的记忆自动衰减,避免越积越脏。
- Session Replay:每个历史会话可在 Viewer 里回放(提示词、工具调用、工具结果、响应按时间线渲染,支持 0.5x–4x 变速)。
- 导入历史会话:
agentmemory import-jsonl可把~/.claude/projects下的 Claude Code JSONL 转录导入索引。注意 Claude Code 的cleanupPeriodDays(~/.claude/settings.json,默认 30 天)会自动删掉更早的 JSONL——想保历史要么调大该值,要么装 hooks 实时捕获。 - LLM 接入:可接 OpenAI 或 Anthropic,前期没 key 时也可以先接本地 Ollama 跑通(embedding 同理走本地)。
npx 缓存坑
裸 npx agentmemory 会命中旧版本缓存。两个解法:始终带 @latest,或一次性清缓存:
rm -rf ~/.npm/_npx # macOS / Linux
bash
四、选型建议(一图收束)
三者的共同价值:把"我在这个项目里的会话经验"变成跨会话可调用的资产——这个项目里教会 AI 的做事方式,换个会话、换个工具还在。这正是下一节章小结要展开的主题。
下一节:后编程时代,把经验沉淀成可复用的 AI 资产。
↑