核心问题: L0→L1→L2→L3 渐进式管道在你的 Agent 工作负载上,能否在零外部 API 调用下产出可用的 persona 和 scene 记忆?
RepoDaily 采用评分
RepoDaily 将该项目的采用分评为 91/100(强):分数来自文章来源、安装路径、生产风险、差异化、许可证清晰度以及 AI/Agent 适配度。
包含 5 个来源、覆盖 4 类来源;如有 RepoDaily 独有模块,会进一步提高证据分。
检测到 6 个工作流步骤、6 个下一步动作,以及 4 个命令/安装信号。
趋势热度为 +625 stars;如内容中有 release、issue 或维护信号,会提高维护可信度。
采纳风险标记为 medium,并包含 5 条安全说明与 4 条跳过条件。
3 个机会视角、4 个替代方案,以及 3 个类型化模块支撑差异化判断。
文章中包含许可证来源或许可证表述。
文章正文和元数据中检测到 6 个 AI/Agent 相关信号。
项目概览
TencentDB Agent Memory 是一个 MIT 许可的 TypeScript 插件,npm 包名为 @tencentdb-agent-memory/memory-tencentdb,当前版本 0.3.6。它为 AI Agent 提供基于四层渐进式管道的持久记忆系统:L0 捕获原始对话,L1 提取结构化记录,L2 聚合场景,L3 构建用户画像。整个管道在本地运行,使用 SQLite 配合 sqlite-vec 0.1.7-alpha.2 进行向量搜索,可选通过 node-llama-cpp 加载本地 LLM,默认零外部 API 依赖。
插件主要通过 openclaw.plugin.json 清单和 src/hooks/ 目录下的钩子系统与 OpenClaw(>= 2026.3.13)集成。hermes-plugin/ 目录提供了 Hermes Agent 框架的适配器。开发过程无需构建步骤——Node.js 22.16+ 原生支持 TypeScript 类型剥离,OpenClaw 可直接在运行时加载 .ts 源文件。
根据 README 数据,与 OpenClaw 集成后,该插件在 WideSearch 基准上将 Token 用量降低 61.38%(221.31M → 85.64M),通过率相对提升 51.52%(33% → 50%),PersonaMem 准确率从 48% 提升至 76%。在 SWE-bench 上,Token 用量下降 33.09%(3474.1M → 2375.4M),通过率从 58.4% 升至 64.2%。这些基准在连续 50 个任务的长时间会话中测量,模拟真实长程 Agent 的上下文累积压力。
为什么现在变热
- 625 周期星标,趋势排名第 10,反映开发者对本地 Agent 记忆方案的强烈兴趣
- 声称与 OpenClaw 配合时 Token 用量降低 61.38%、通过率相对提升 51.52%——具体数字而非模糊承诺
- 全本地架构:SQLite + sqlite-vec 向量搜索,可选 node-llama-cpp,无强制外部 API 调用
- 由腾讯云组织发布、MIT 许可,作为记忆基础设施组件具有企业级可信度
- 版本 0.3.6 于 2026-05-27 发布(距趋势日期不到两个月),新增召回上下文预算、多语言提示词自适应和网关安全功能
解决什么问题
- 扁平向量库将对话碎片化为互不关联的片段,召回退化为无宏观指引的盲目搜索——README 明确拒绝这种模式
- Agent 浪费 Token 反复解释本应跨会话持久化的 SOP、项目背景、工具约定和输出格式
- 暴力历史累积撑爆上下文窗口;不可逆的有损摘要则丢弃后续可能必需的信息
- 将对话数据发送到外部 Embedding API 会带来隐私和数据主权问题
- 运行 50+ 连续任务的长程 Agent 面临上下文累积压力,同时降低召回质量和 Token 效率
工作原理
- L0 会话层(src/conversation/):将原始对话捕获为 JSONL 分片,每日分片边界现已可通过 timezone 配置项控制
- L1 记录层(src/record/):从 L0 数据中提取结构化信息,包括去重和提取提示词,提示词自动适应用户输入语言
- L2 场景层(src/scene/):将记录聚合为场景摘要,内置快照与恢复保护——LLM 提取失败时 BackupManager.restoreLatestDirectory 从最新备份恢复,而非留下半写入的 scene_blocks/
- L3 画像层(src/persona/):从累积的场景中构建用户画像,生成 persona.md 文件,字段名保持英文作为稳定契约,自由文本内容跟随用户语言
- 存储层(src/store/):持久化到 SQLite 或 TCVDB,时间戳始终以 UTC 即时存储;migrate-sqlite-to-tcvdb CLI 处理后端之间的数据库迁移
- 符号化短期记忆:将繁重的工具日志压缩为紧凑的 Mermaid 符号以减少活跃任务中的 Token 消耗,与长期分层管道分离
产品演示与界面预览


架构解读:L0→L1→L2→L3 管道与存储
源码目录直接映射到四层管道。src/conversation/ 处理 L0 原始捕获,src/record/ 执行 L1 提取,src/scene/ 进行 L2 聚合,src/persona/ 构建 L3 画像。src/store/ 中的存储层在 SQLite 和 TCVDB 之上提供统一接口,sqlite-vec 0.1.7-alpha.2 负责向量相似度搜索。
插件入口为 index.ts,在 openclaw.plugin.json 中声明 pluginApi 兼容性要求 >= 2026.3.13。package.json 的 main 字段指向 ./dist/index.mjs,通过 tsdown 构建。三个 CLI 二进制随包发布:migrate-sqlite-to-tcvdb、export-tencent-vdb 和 read-local-memory,各自在 scripts/ 下有独立的 tsconfig.json。
关键依赖揭示技术选型:@ai-sdk/openai(^3.0.53)用于 LLM 通信,@node-rs/jieba(^2.0.1)用于中文分词,js-tiktoken 用于 Token 计数,zod(^4.4.3)用于 Schema 验证,undici(^8.1.0)用于 HTTP。可选依赖 opik(^1.0.0)提供可观测性集成。node-llama-cpp(^3.16.2)和 openclaw(>= 2026.3.7)在 peerDependenciesMeta 中均标记为可选。
集成接口:OpenClaw、Hermes 与配置
- OpenClaw 集成:通过 openclaw plugins install --link . 将当前目录注册为本地插件;代码修改后重启 Gateway 即可生效
- Hermes 集成:hermes-plugin/ 目录包含适配器;Python 客户端支持 MEMORY_TENCENTDB_GATEWAY_API_KEY 自动附加 Bearer 头
- 网关安全:server.apiKey / TDAI_GATEWAY_API_KEY 在所有非 /health 路由启用 Bearer 鉴权,使用 crypto.timingSafeEqual 防时序攻击
- CORS 控制:server.corsOrigins / TDAI_CORS_ORIGINS 接受显式来源列表;空列表不发送 CORS 头,"*" 保持旧版宽松行为
- 召回预算:recall.maxCharsPerMemory 和 recall.maxTotalRecallChars(默认 0 = 不变)在注入 <relevant-memories> 前裁剪超长条目
- Embedding 兼容性:embedding.sendDimensions(默认 true)可设为 false,适配 BGE-M3 等拒绝 dimensions 字段的固定维度模型(原会返回 HTTP 400)
- 推理模型控制:llm.disableThinking 和 offload.disableThinking 支持 vllm、deepseek、dashscope、openai、anthropic、kimi、gemini 等策略关闭思维链
试用路径:从克隆到运行插件
- 前置条件:Node.js >= 22.16.0、npm 或 pnpm、OpenClaw >= 2026.3.13
- 克隆仓库:git clone https://github.com/Tencent/TencentDB-Agent-Memory.git
- 安装依赖:npm install(postinstall 脚本会补丁 OpenClaw 工具调用消息)
- 注册本地插件:openclaw plugins install --link .
- 开发无需构建——Node 22.16+ 类型剥离让 OpenClaw 直接加载 .ts 文件
- 读取已捕获记忆:node ./bin/read-local-memory.mjs 检查存储的对话和提取的各层数据
- 运行测试:npm test 执行 vitest run;npm run test:coverage 通过 @vitest/coverage-v8 添加覆盖率
谁适合关注
适合关注
- 基于 OpenClaw 的 Agent 部署,跨会话记忆持久化可直接降低运营 Token 成本
- 隐私敏感或隔离网络环境,无法将对话数据发送到外部 Embedding 或 LLM API
- 长程 Agent 工作流(50+ 连续任务),上下文累积压力降低性能
- 中文 Agent 应用——@node-rs/jieba 分词和多语言提示词自适应是一等公民功能
- 评估通过 node-llama-cpp 进行本地 LLM 卸载、同时需要结构化记忆的团队
可以先跳过
- 不使用 OpenClaw 或 Hermes 作为 Agent 框架的项目——插件清单和钩子与这些运行时紧耦合
- Node.js 低于 22.16 的环境——engines 字段和类型剥离要求是硬约束
- 仅需简单 RAG 检索、不需要渐进分层的场景——四层管道增加了扁平存储方案所没有的复杂性
- 需要生产级稳定性保证的团队——版本 0.3.6 且 changelog 有 Unreleased 部分表明仍在频繁变动
风险与注意事项
当前功能完整且可本地部署,但版本 0.3.6、活跃的 Unreleased 变更、alpha 级 sqlite-vec 依赖,以及对 OpenClaw/Hermes 运行时的硬耦合,带来了集成和稳定性不确定性。
- sqlite-vec 0.1.7-alpha.2 是核心向量搜索能力的 alpha 版本依赖
- CHANGELOG.md 的 Unreleased 部分描述了时区、disableThinking 和备份恢复变更,可能在下一个稳定标签前改变行为
- 插件 API 要求 OpenClaw >= 2026.3.13;没有 OpenClaw 的团队无法使用主要集成路径
- postinstall 脚本运行 scripts/openclaw-after-tool-call-messages.patch.sh,补丁 OpenClaw 运行时——对 CI/CD 环境并非无足轻重
- L2 场景提取数据丢失 bug(#88)在 0.3.6 中修复,说明场景层在之前版本中存在可靠性问题
- MIT 许可证附带标准免责声明——已在 LICENSE 文件中确认
- 网关 Bearer 鉴权使用 crypto.timingSafeEqual 防止 API 密钥比较的时序侧信道攻击
- CORS 白名单默认禁用(空列表 = 不发送 CORS 头),跨域访问需要显式启用
- 网关启动时打印安全态势摘要,绑定非回环地址且无 apiKey 时输出 WARN
- 无论配置时区如何,SQLite/TCVDB 中所有时间戳均以 UTC 即时存储,防止时区相关数据损坏
替代方案比较
| 方案 | 适用场景 | 代价 |
|---|---|---|
mem0 | 需要跨多个 Agent 框架(而非仅 OpenClaw/Hermes)工作的托管或自托管记忆层 | 开源(Apache 2.0),提供托管云层 |
Letta(原 MemGPT) | 需要操作系统级记忆管理配合 REST API,不需要四层渐进式分层模型 | 开源,提供托管云选项 |
Zep | 需要从对话历史中提取时序知识图谱,偏好 GraphRAG 方法而非 persona/scene 分层 | 开源(Apache 2.0),提供云服务 |
LangGraph checkpointers(SQLite/Postgres) | 已在使用 LangGraph,需要更简单的状态持久化而不需要专门的记忆抽象层 | 免费,随 LangGraph 提供 |
这个趋势说明了什么
隔离网络企业 Agent 部署
政府、医疗和金融机构无法将对话数据发送到 OpenAI 或 Anthropic Embedding API。该插件可通过 node-llama-cpp 加载本地 LLM,配合 SQLite 存储,在隔离环境中完整运行。零外部 API 设计和 UTC 即时存储模型满足常见合规要求。
确认安全团队是否接受 sqlite-vec alpha 在生产中使用;验证 node-llama-cpp 在你的硬件上对 L1–L3 提取提示词的模型质量。
中文 Agent 应用
@node-rs/jieba 依赖和自动多语言提示词自适应(issue #38)使该插件特别适合中文 Agent 工作流,分词质量直接影响 L1 提取和 L2 场景质量。
用中文运行 50 轮对话会话,通过 read-local-memory 检查 persona.md 输出,验证提取质量是否匹配你的领域词汇。
大规模 Token 成本削减
WideSearch 上 61.38% 的 Token 降幅直接转化为推理成本节省。对于每天消耗数百万 Token 的 Agent,即使是这一降幅的一部分也足以证明集成投入的合理性。
在你的 Agent 实际工作负载上复现 WideSearch 或 SWE-bench 基准,确认 Token 节省在报告测试条件之外仍然成立。
RepoDaily 判断
TencentDB Agent Memory 在 Agent 记忆领域提供了技术上有辨识度的方案——渐进式四层分层配合本地 SQLite 向量搜索和零外部 API 依赖。基准数字有说服力,MIT 许可和 TypeScript 源码降低了采用门槛,安全特性(时序安全鉴权、CORS 控制、UTC 存储)体现了生产意识。主要顾虑在于 alpha 级 sqlite-vec 依赖、与 OpenClaw 的紧耦合以及活跃的 Unreleased 变更。对于需要在无外部 API 调用下实现持久记忆的 OpenClaw 团队,值得进行一轮专项评估。