如果你用过各类 vibe coding 的 agent 工具,比如 OpenCode,应该遇到过这种情况:
每次新对话都得从零开始。
你得反复告诉 AI:
- 项目结构是什么
- 项目用 Go 写的
- 数据库用的是 MySQL
- 某个配置别改
每次会话的前几分钟,都在重复建立那些早就该被记住的上下文。
这正是 AI 产出烂代码的最根本原因——意图对齐需要上下文,而上下文每次都从零开始。
我试了 opencode-mem 这个插件,它能让 OpenCode 拥有持久化记忆能力。
01 写这篇文章时,它自动学到了我的偏好
写这篇文章的过程中,我没有手动告诉它任何偏好。但 opencode-mem 自动分析了我的对话,生成了用户画像:
| 类别 | 学到的内容 |
|---|---|
| 编程语言 | 文章代码范例用 Go,不用 JavaScript |
| 数据库 | 主力用 MySQL,避免在内容中出现 PostgreSQL |
| 文档排版方式 | 喜欢用表格对比优缺点,更直观 |
| 细节要求 | 配置文件路径要写完整,不能含糊 |
| 语言习惯 | 使用中文进行对话 |
| 工作流 | 先完善设计,逐步澄清,再开始实施 |
我没有说「记住我喜欢用表格」。它自己就学到了。这就是 opencode-mem 做的事:从你的实际工作中学习,然后在新对话中自动注入这些上下文。
这解决了 AI 替你做的每个模糊决定,都可能是需求文档里埋的雷 里提到的问题——AI 缺少上下文时,会基于模糊信息做决定,而记忆功能让 AI 有更完整的项目背景。
02 它是什么
opencode-mem 是 OpenCode 的一个插件,给 agent 加上持久化记忆。思路和 Karpathy 的 LLM 知识库想法 类似——都是让 AI 有持续积累的知识,而不是每次从零开始。

两个核心能力:
- 项目记忆:和具体项目绑定的技术信息(架构、框架、踩过的坑)
- 用户画像:跨项目的个人偏好(编码风格、技术栈、工作习惯)
项目记忆只在对应项目中生效,用户画像全局生效。
本地优先:数据存在本机(SQLite + 向量索引),不发送到外部服务器。
内置 Web 界面:访问 http://127.0.0.1:4747,可以查看记忆时间线、用户画像、搜索和管理记忆。
03 优缺点
| 优点 | 缺点 |
|---|---|
| 不用反复解释项目背景,节省时间 | 记忆会影响 AI 的认知 |
| 自动学习你的编码偏好 | AI 可能基于过去经验固守某些模式 |
| 本地存储,隐私有保障 | 可能忽略更好的解决方案 |
| 内置 Web 界面,方便查看和管理 | 记忆注入会增加 token 消耗(但影响很小) |
建议根据自己的使用场景,酌情考虑是否安装。
04 安装配置
编辑 OpenCode 配置文件:
# ~/.config/opencode/opencode.json
{
"plugin": ["opencode-mem"]
}插件会在下次启动时自动下载。安装时的那一次启动,会稍微慢一些。
配置记忆服务
编辑插件配置文件 ~/.config/opencode/opencode-mem.jsonc,里面有 DeepSeek 的配置被注释,根据你自己的情况修改:
// DeepSeek (OpenAI-compatible example):
"memoryProvider": "openai-chat",
"memoryModel": "deepseek-v4-flash",
"memoryApiUrl": "https://api.deepseek.com/v1",
"memoryApiKey": "sk-...",
"memoryExtraParams": { "reasoning_effort": "low" },我用的是 deepseek-v4-flash,从对话中提取记忆不需要特别大的模型。我自己添加了一个对思考强度的设置 memoryExtraParams,low 就足够了。
05 记忆 vs AGENTS.md
很多人会问:这和 AGENTS.md 有什么区别?
| 存哪里 | 适合存什么 | 例子 |
|---|---|---|
| 记忆 | 从实际工作中产生的上下文 | 项目决策、踩过的坑、用户偏好 |
| AGENTS.md | 稳定的规则和工作流 | 编码规范、提交流程、架构约束 |
简单说:持久的项目指令放 AGENTS.md;从对话中自然积累的上下文,让记忆来管。
06 和其他方案对比
| 特性 | opencode-mem | 云端方案 | 其他本地插件 |
|---|---|---|---|
| 隐私 | ✅ 优秀 | ❌ 差 | ✅ 良好 |
| 成本 | ✅ 免费 | ❌ 订阅制 | ✅ 免费 |
| Web 界面 | ✅ 内置 | ⚠️ 不一定 | ❌ 很少 |
| 自动画像 | ✅ 支持 | ⚠️ 有时支持 | ❌ 不支持 |
| 配置难度 | ✅ 低 | ✅ 低 | ⚠️ 中等 |
| 本地嵌入 | ✅ 支持 | ❌ 不支持 | ⚠️ 有时支持 |
选择它主要是因为内置 Web 界面和自动画像学习功能。
总结
优点:
- 不用反复解释项目背景,节省时间
- 本地存储,隐私有保障
- Web 界面方便查看和管理记忆
- 自动学习,越用越懂你的习惯
缺点:
- 记忆会影响 AI 的认知,可能让它不够客观
- AI 容易基于过去经验固守某些模式,忽略更好的解决方案
- 初始配置需要配置大模型 API
- 自动提取偶尔会遗漏一些偏好,需要手动补充
如果你在用 OpenCode,可以试试这个插件。配置简单,对日常工作有一定帮助。但要根据自己的使用场景,酌情考虑是否安装。
GitHub 仓库:https://github.com/tickernelz/opencode-mem
你有没有尝试过给 AI 编程工作流添加记忆功能?欢迎在评论区分享你的经验。
暂无评论