opencode-claude-memory
## 技能简介 opencode-claude-memory 是一款 OpenCode 插件
技能简介
opencode-claude-memory 是一款 OpenCode 插件,为 OpenCode 和 Claude Code 提供双向兼容的持久化记忆系统。两款 CLI 共享同一套记忆文件体系,Claude Code 写入的记忆 OpenCode 能读取,OpenCode 写入的记忆 Claude Code 也能识别——实现真正的跨工具上下文连续性。
记忆系统的核心是一组 memory_* 工具:memory_save(保存)、memory_delete(删除)、memory_list(列举)、memory_search(搜索)和 memory_read(读取)。在每次模型调用前,一个隐藏的召回 Agent 自动筛选与当前任务最相关的记忆片段,注入到系统提示词中。空闲会话结束后,插件自动启动提取流程,从对话中提炼值得持久化的信息并存入记忆文件,无需人工整理。
核心能力
- 跨工具记忆共享:Claude Code 和 OpenCode 共用
~/.claude/projects//memory/目录下的记忆文件,两端读写互通 - 自动记忆提取:会话进入空闲状态后,插件自动 Fork 子进程,仅分析新增对话内容,将有价值信息提炼为记忆条目
- LLM 智能召回:每次新对话轮次前,隐藏的召回 Agent 自动选取最相关的记忆,无需用户手动检索
- 自动整合(Auto-dream):累计 24 小时运行 + 5 次会话后,触发记忆整合流程(合并、去重、重写),保持记忆文件精简不过时
- 断点续传:会话中途退出导致提取流程未完成,下次启动时插件自动补上(catch-up 机制)
- 项目级记忆隔离:记忆文件按项目分开存储,不同项目的记忆互不污染,支持团队通过
.mcp.json共享 - 无外部依赖:插件运行在 OpenCode 进程内部,不依赖
python3、jq或 Shell 脚本,跨平台一致
工作原理
记忆文件存储在 ~/.claude/projects//memory/ 目录(与 Claude Code 完全一致),格式为 Markdown,目录结构与 Claude Code 原生支持完全兼容。
召回流程:experimental.chat.messages.transform 每次用户输入时触发一个隐藏的 selector 子会话(opencode-memory-recall),从记忆库中选取最相关的条目。experimental.chat.system.transform 等待召回结果(默认最多 1.5 秒),将选中的记忆注入系统提示词。已在对话中激活的记忆不会重复注入,压缩(compaction)后记忆可重新参与召回。
提取流程:每次会话进入 session.idle 状态(去抖动后),插件获取该会话的完整消息列表,截取上次水位标记后的新增内容,启动受限子会话运行 memory_save / memory_list / memory_read。提取成功后水位标记前移;若主 Agent 已主动保存过记忆,则跳过本次提取。
整合流程:Auto-dream 门控条件为「距上次整合 ≥24 小时 AND 经历 ≥5 次提取会话」。满足条件后,插件启动一个独立子会话,对所有记忆文件执行合并、去重和重写,保持记忆库长期健康。
安装配置
环境要求
- OpenCode:≥ 1.18 版本
- Node.js:插件运行在 OpenCode 进程内部,无需额外 Node 模块
安装步骤
步骤一:配置插件
在项目级 opencode.json 或全局 ~/.config/opencode/opencode.json 中添加插件引用:
{
"plugin": ["opencode-claude-memory"]
}
步骤二:启动 OpenCode
opencode
插件自动初始化,安装过程无需额外命令。
步骤三:验证记忆目录
首次运行后,检查 ~/.claude/projects//memory/ 目录是否已创建,OpenCode 的记忆将写入这里。
使用步骤
- 安装并启动:将插件加入
opencode.json,运行opencode进入项目 - 自然使用:正常与 OpenCode 对话,插件在后台自动管理记忆,无需手动触发
- 查看当前记忆:使用
memory_list工具查看当前项目已保存的记忆条目 - 手动保存重要信息:如有特定信息希望长期记住,执行
memory_save将其写入记忆文件 - 搜索记忆:当需要调用历史信息时,运行
memory_search搜索相关记忆 - 定期整合:Auto-dream 在满足条件后自动运行,团队可在定期 session 回顾时检查整合效果
适用场景
- 跨工具连续性:团队同时使用 Claude Code 和 OpenCode,确保两个工具对项目有一致的长期记忆
- 大型重构任务:复杂重构分多次会话进行,每次开始时自动回顾上次的决策上下文,避免重复踩坑
- 代码审查协作:审查过程中的发现和决策自动沉淀到记忆,供后续开发者参考
- 需求追踪:产品需求、设计决策和技术债务信息作为记忆持久化,新成员加入时自动获取上下文
- 个人知识管理:每个项目的技术选型、坑点和注意事项自动沉淀,形成个人知识库
- 团队知识共享:通过
.mcp.json共享项目级记忆配置,新成员加入即可获取项目背景知识
适用人群
- 全栈工程师:同时使用 Claude Code 和 OpenCode,希望跨工具保持一致的项目记忆
- 长期项目维护者:需要跨多次会话维护对复杂代码库的理解
- 团队负责人:希望团队成员加入项目时能快速获取项目历史上下文
- AI 辅助开发研究者:探索多智能体间共享记忆的前沿实践
评论与建议
登录 后参与评论或提建议