作者:小创
「装了记忆插件,但不知道数据存在哪」——这是很多开发者的真实状态。
有人担心 C 盘被撑爆,有人想写清理脚本但怕误删,还有人根本不知道插件把对话存在了哪里。今天小创把 5 款主流 OpenCode 记忆插件全部拆一遍:存了什么、存在哪了、怎么清理、哪个适合你。
在聊存储位置之前,先弄清楚一个根本问题:这些插件到底在记什么?
不是简单的「对话日志」,而是你在开发过程中的结构化经验:
这些信息被提取、压缩、索引后,在新会话开始时注入到 Agent 的上下文里。Agent 看到这些记忆,以为你「从未离开过」。
小创整理了一张总览表,先建立整体认知:
| 插件 | GitHub 星标 | 数据存储位置 | 存储类型 |
|---|---|---|---|
| TencentDB Agent Memory | 2,385 | ~/.openclaw/memory-tdai/(OpenClaw) |
SQLite + 向量 + 文件 |
| opencode-supermemory | 1,207 | Supermemory 云端 + 本地缓存 | 云端优先 |
| opencode-mem | 706 | ~/.opencode-mem/ |
SQLite + sqlite-vec |
| open-mem | 17+(clopca) | .open-mem/(项目目录) |
SQLite + FTS5 |
| true-mem | 177 | ~/.true-mem/ 或 ~/.config/opencode/true-mem/ |
SQLite + 模型缓存 |
一句话定位:本地向量数据库方案,功能最全面。
存储位置:
~/.opencode-mem/data/
├── memories.db # SQLite 主库
├── embeddings.db # 向量索引(USearch)
└── user-profile.json # 用户画像
Web UI:http://127.0.0.1:4747,可以可视化浏览记忆。
存储内容:
- 项目记忆(持久化,按项目隔离)
- 用户画像(自动学习你的偏好)
- 统一记忆时间线(注入 system prompt 的索引)
- 12+ 本地 embedding 模型(Xenova/nomic-embed-text-v1 等)
清理风险:中等。记忆数据在 ~/.opencode-mem/,SQLite 数据库会随使用时间增长。Web UI 可以手动删除单条记忆。
一句话定位:纯本地离线方案,数据永远不离开你的电脑。
存储位置:
.open-mem/ # 在项目根目录(可选 per-project)
~/.open-mem/ # 全局记忆(通过配置)
.open-mem/
├── memory.db # SQLite(含 FTS5 全文检索)
├── knowledge-graph.json # 知识图谱
├── observations/ # AI 压缩后的结构化观察
└── sessions/ # 会话历史
存储内容:
- 工具输出压缩后的结构化观察(decision、bugfix、feature、refactor、discovery、change)
- 知识图谱(实体 + 关系,自动提取)
- 修订历史(每次更新生成新修订,旧的不删除)
- AGENTS.md 自动生成(会话结束时)
关键特性:隐私优先,所有数据本地存储,自动 redact API key 和密码。
清理风险:低。存储在项目目录下的 .open-mem/,你可以直接 rm -rf 删掉(但会失去该项目的全部记忆)。
一句话定位:基于认知心理学的记忆管理,模拟人类遗忘曲线。
存储位置:
~/.true-mem/ # Legacy 模式(默认)
~/.config/opencode/true-mem/ # OpenCode 模式(可选切换)
~/.true-mem/
├── memory.db # SQLite 主库
├── config.jsonc # 配置文件
└── models/ # 缓存模型(约 23MB)
支持通过 storageLocation 配置切换存储位置,并且迁移是自动的(检测到新位置为空才会复制)。
存储内容:
- 7 维度记忆评分模型(Recency、Frequency、Importance、Utility、Novelty、Confidence、Interference)
- 短期记忆(STM)和长期记忆(LTM)自动升级
- 决策 + 学习记录 + 偏好设置
- 噪音过滤(问题检测 + 负面模式过滤 + AI meta-talk 检测)
清理风险:低。SQLite 数据库,支持直接 rm ~/.true-mem/ 清理。模型缓存 23MB,不算大。
一句话定位:云端同步方案,适合多设备使用。
存储位置:
~/.config/opencode/supermemory/ # 本地配置 + 缓存
数据实际存在 Supermemory 云端
存储内容:
- 对话记忆同步到 Supermemory 云端
- 本地只存配置和短期缓存
隐私说明:数据会上传到 Supermemory 服务器。如果隐私敏感,这是最大的风险点。
清理风险:低。本地数据少,主要是配置。删除插件后去 sup ermemory.ai 清理云端数据即可。
一句话定位:L0-L3 分层记忆 + Mermaid 符号化压缩,适合企业级长程任务。
存储位置:
~/.openclaw/memory-tdai/ # OpenClaw 模式
~/.memory-tencentdb/ # 独立模式
记忆文件(Mermaid、Markdown):
├── persona.md # L3 用户画像
├── scenarios/ # L2 场景块
├── atoms/ # L1 结构化事实
└── conversations/ # L0 原始对话
数据库:
├── memory.db # SQLite(含 L0-L3 语义)
└── tcvdb/ # 腾讯云向量库(可选)
存储内容:
- L0 原始对话 → L1 Atom → L2 Scenario → L3 Persona 完整分层
- 短期任务 Mermaid 画布(降 Token 用,带 node_id 可追溯)
- 每个抽象步骤都可以回溯到原始原文(没有不可逆压缩)
清理风险:高。这个系统设计复杂度高,清理时需要知道自己在做什么——删除 L3 Persona 会导致 Agent 失去用户画像,但 L1/L0 的证据还在,理论上可以重建。
这是读者最关心的问题:「如果我写了 .bat 清理脚本,会不会把记忆插件的数据当临时文件删掉?」
结论:取决于你的清理规则。
| 插件 | 默认路径 | 风险 |
|---|---|---|
| opencode-mem | ~/.opencode-mem/ |
高——如果脚本清理「不明来历的文件夹」可能中招 |
| open-mem | .open-mem/(项目目录) |
高——这是隐藏目录,清理脚本一般不碰,但 rm -rf 容易误伤 |
| true-mem | ~/.true-mem/ |
中——~ 开头的目录有时会被清理脚本忽略 |
| TencentDB Agent Memory | ~/.openclaw/memory-tdai/ |
高——路径不常见,容易被当成垃圾 |
安全做法:
~/.opencode-mem/、~/.true-mem/ 这类目录——记忆数据是越旧越值钱的ls -la ~ 看看有哪些带记忆插件特征的目录| 类型 | 代表插件 | 原理 |
|---|---|---|
| 平铺向量 | 大多数简单方案 | 把对话切成块,编码成向量,存进向量库。召回时按相似度匹配。 |
| 分层记忆 | TencentDB Agent Memory | L0-L3 分层,平时用高层(Persona),需要精度时回溯到底层查证 |
| 符号化压缩 | open-mem | 用 AI 把工具输出压缩成结构化观察(~96% 压缩率),不是摘要,是可执行的结构 |
| 认知算法 | true-mem | 模拟艾宾浩斯遗忘曲线,重要记忆强化,噪音淡化 |
| 插件 | 上下文注入量 | 说明 |
|---|---|---|
| opencode-mem | 中等 | 注入记忆索引,但 Agent 按需抓取 |
| open-mem | 低 | ~96% 压缩率,结构化观察比原始日志轻量得多 |
| true-mem | 低 | 只保留高评分记忆,噪音自动过滤 |
| Supermemory | 可控 | 云端管理,注入量可配置 |
| TencentDB Agent Memory | 极低 | Mermaid 画布替代原始日志,Token 降幅 -61%(官方数据) |
| 插件 | 向量搜索 | 本地存储 | 隐私优先 | 多语言 | 认知算法 | Web UI |
|---|---|---|---|---|---|---|
| opencode-mem | ✅ USearch | ✅ | 中 | ✅ | ❌ | ✅ :4747 |
| open-mem | ✅ sqlite-vec | ✅ | ✅ 最高 | ✅ | ❌ | ✅ |
| true-mem | ❌ | ✅ | ✅ 高 | ✅ | ✅ | ❌ |
| Supermemory | ✅ | ❌(云端) | ❌ | ✅ | ❌ | ✅ |
| TencentDB Agent Memory | ✅ sqlite-vec/TCVDB | ✅ | 高 | ✅ | ❌ | 开发中 |
你是谁?
├── 隐私敏感,完全离线
│ ├── 推荐:open-mem(最纯粹的本地方案)
│ └── 次选:true-mem(认知算法更智能)
├── 多设备同步 / 团队协作
│ └── 推荐:Supermemory(1207 Star,云端同步最成熟)
├── 需要向量搜索 + Web UI
│ └── 推荐:opencode-mem(706 Star,功能最全)
├── 长程任务,需要 Token 极致压缩
│ └── 推荐:TencentDB Agent Memory(Mermaid 画布,-61% Token)
└── 长期项目,记忆要有「重要性」分层
└── 推荐:true-mem(认知心理学 + 遗忘曲线)
| 插件 | 安装难度 | 配置复杂度 | 上手速度 |
|---|---|---|---|
| open-mem | ⭐ 一键 npx open-mem |
⭐ 零配置 | 最快 |
| true-mem | ⭐ 改 JSON 配置 | ⭐⭐ 几个参数 | 快 |
| opencode-supermemory | ⭐⭐ 需要 API Key | ⭐⭐ 配置 KEY | 中 |
| opencode-mem | ⭐⭐ 改 JSON | ⭐⭐⭐ 功能多,参数多 | 中 |
| TencentDB Agent Memory | ⭐⭐⭐ Docker 或 Node 22 | ⭐⭐⭐ 最高,功能最多 | 慢 |
不要依赖插件作为唯一备份:记忆数据是 SQLite,放在系统盘有风险,定期备份到云或外部硬盘
清理前先看大小:
bash
du -sh ~/.opencode-mem/
du -sh ~/.true-mem/
如果几十 MB,说明有积累,可以考虑归档而不是删除
open-mem 的项目隔离:如果你有多个项目,用 open-mem 的 per-project 模式,每个项目独立记忆库,不会互相污染
Supermemory 用户:定期去 app.supermemory.ai 检查云端数据,注销账号时记得清空云端记忆
记忆插件的核心价值不是「存更多」,而是「记更好」。选哪款插件,取决于你的场景:
记住:你的记忆是你的资产,别让清理脚本把它们当垃圾收了。
你在用哪款记忆插件?存储方面踩过什么坑?评论区聊聊。
分层记忆这个设计思路很清晰
自己改写比拿来主义靠谱
省了不少时间
原来可以这样用
💬 评论区