01一句话结论
这是一个把 Agent 经验资产化 的完整方案:对话、文档、代码不再是流水账,而是变成带版本、权限、用途的可治理资产,在团队里流转、配装。项目 2026 年 4 月才开源,4 个月冲到 17.5k stars,是 Agent Memory 赛道里完成度第一梯队的参考实现。
02记忆不是平铺记录,是逐层蒸馏
对话先原样存为 L0,再由异步 Pipeline 提炼成更小、更稳、更长期的知识。平时只注入 L2/L3 快速进入语境,需要具体事实时再通过 BM25 + 向量检索 + RRF 混合下钻到 L1/L0。
03具体例子:你说的一句话,被拆成什么
假设你对 Agent 说了一句很普通的话:
"以后回答别用表情包了,正式点。另外我住深圳南山,昨天把支付模块重构上线了。"
它先作为 L0 原样落盘,然后后台提取管线(源码 l1-extraction.ts 里写死了三大类型和打分规则)把它拆成这样:
| 你说的内容 | 提取结果 | 类型 | 优先级打分 |
|---|---|---|---|
| "以后回答别用表情包" | "用户要求 AI 以后回答时……" | instruction 全局指令 | 90–100 → 进长期画像 |
| "我住深圳南山" | "用户(Jay)居住在深圳南山" | persona 个性 | 80–100(住所=核心特质) |
| "昨天把支付模块重构上线" | "用户(Jay)于 [时间] 完成支付模块重构并上线" | episodic 事件 | 80–100 |
而"这次帮我翻译一下"这种一次性请求,提取 prompt 明确要求 宁缺毋滥、直接丢弃——它只留值得跨会话复用的信息。
04四种记忆资产
05架构:四个组件各管一段
:8420- L0–L3 存储与提取管线
- SQLite + sqlite-vec(本地优先)或腾讯云向量库
- 无 Embedding 也能用 BM25 召回
- User/Team/Agent/Skill 资产管理 + ACL
:8096- Claude Code / CodeBuddy 零改动接入
- 首轮弹表单选 team→agent→task
- 每轮注入记忆/Skill/知识到 system prompt
- 限流、计费、Opik/Langfuse 观测
:8125- 建 Team/Agent、审核/分享资产
- Agent Loadout 配装
- Wiki/CodeGraph 工坊
- System Admin + 团队 Admin/Member 双角色
:8421- LLM 抽取结构化页面 + FTS5 检索
- CodeGraph 复用 @colbymchenry/codegraph
- /v3/tools/list + call 按需调用
- 附带 MCP stdio 适配器
部署上 start-all.sh 一键拉起三件套;Docker Hub agentmemory/* 镜像公开可拉,多架构(amd64 + arm64)。
06实拍:Proxy 往 system prompt 里塞了什么
MemoryProxy 转发的请求会拼上几个真实模板块:<cloud_skills>(相关 Skill 摘要)、<skill_tools>(curl 配方)、<knowledge_tools>(知识库工具)、<tdai_memory_tools>(L0/L1 按需召回)。<knowledge_tools> 里连 curl 示例和硬性约定都写好了:
curl -sSk -X POST <url>/tools/call \
-H 'content-type: application/json' \
-H 'x-tdai-service-id: <租户id>' \
-d '{"knowledge_id":"<知识id>","tool_name":"<name>","params":{...}}'
# 硬性约定(原样):
# · 重构规划 = search → callers → impact
# · 信任它的返回,不要再用 grep 二次核对
# · 找文件不要用 files 两步走,一步 explore 即可
这是把工程实践直接焊死在 prompt 里——模型不用重新摸索"怎么用知识库",省 token 也省时间。
07Loadout:先招人,再配装备
同一个团队里,不同 Agent 绑定不同资产,少给噪音:
🔭 Scout → 用户访谈 Chat Memory + 市场研究 Wiki + 竞品分析 Skill
🛠 Builder → 产品 Wiki + 项目 CodeGraph + Feature Delivery Skill
🧪 Reviewer → 历史事故 Chat Memory + 项目 CodeGraph + Release Checklist Skill
可见性四级:新资产默认 private(Owner 独享,团队管理员都看不到),分享是显式动作,不是默认泄漏:
| 可见性 | 语义 | 例子 |
|---|---|---|
| private | 只有 Owner 可读 | 个人草稿记忆 |
| team | 团队成员可读 | "架构 Wiki 给所有开发 Agent" |
| restricted | User/Role/Agent ACL 精确授权 | 只给特定成员/角色 |
| agent | 同团队定向装配 | "发布 Skill 只给 Release Agent" |
08设计亮点
09局限与槽点
10结论
适合:想给 Claude Code / OpenClaw 配团队级共享记忆的团队;研究 Agent 记忆架构(分层、注入 vs 工具、Loadout)的人——这是很好的参考实现。
不适合:只需要个人轻量记忆的人;完全不想沾腾讯云生态的人。
它更像"腾讯云全家桶的记忆层样板间"——产品定位和工程完成度是第一梯队,但独立使用时请掂量依赖成本。
11在 OpenClaw 里怎么用
OpenClaw 是它的官方适配对象——仓库自带 memory-tencentdb-client 插件。架构是"一个常驻服务 + 一个轻插件":插件只做捕获/召回/工具,真正的 L0→L3 提取管线跑在独立的 MemoryCore Gateway(:8420,SQLite 落盘)里。
你的 OpenClaw
└─ memory-tencentdb-client 插件
├─ 每轮对话结束 → 写 L0(原始对话)
├─ 构建 prompt 前 → 搜 L1 + 注入 L2 场景/L3 画像
└─ 工具:tdai_memory_search / tdai_conversation_search / tdai_read_cos
│ HTTP /v3
▼
MemoryCore Gateway :8420(独立进程)
安装步骤(前置:Node ≥ 22.16 + 一个 OpenAI-compatible LLM API):
git clone https://github.com/TencentCloud/TencentDB-Agent-Memory.git
cd TencentDB-Agent-Memory/MemoryCore
npm install && npm run build
# 起 Gateway(独立进程,别关)
export TDAI_GATEWAY_CONFIG="$PWD/tdai-gateway.standalone.yaml"
export TDAI_LLM_API_KEY="***"
export TDAI_LLM_BASE_URL="https://api.openai.com/v1"
export TDAI_LLM_MODEL="gpt-4o-mini"
node --import tsx src/gateway/server.ts
# 另开终端:一键装插件(自动 build + install + 写配置)
bash scripts/install-openclaw-plugin.sh
# 重启生效
openclaw gateway restart
装完自动占 plugins.slots.memory 槽位,之后每轮对话自动沉淀、新对话自动召回注入。
两个坑(源码文档明说):
| 坑 | 说明 |
|---|---|
| 版本门 | 配置里 hooks.allowPromptInjection / allowConversationAccess 字段需要 OpenClaw ≥ 2026.4.24,老版本带着会启动失败 |
| 槽位冲突 | 它占 slots.memory,若已挂别的 memory 插件会打架,只能二选一 |
12多机共享:一台中心 + N 台接入
多机共享的核心是中心化部署 + 分布式接入:记忆只存一份(中心服务器),各台机器上的 Agent 都是客户端——插件/代理把对话推上去、把记忆拉下来。机器坏了数据不丢,换机器接着用。
┌─ 中心服务器 ─────────────────────────────┐
│ MemoryCore :8420 ← 记忆中心,L0-L3 全在这 │
│ MemoryHub :8125 ← 管理台:Team/Agent/资产 │
│ MemoryKnowledge :8421 ← Wiki/CodeGraph 引擎 │
│ Redis / Mongo(service 模式) │
└───────────────────────────────────────────┘
▲ HTTP /v3(公网或 VPN)
┌────┼────────┬────────┐
机器A 机器B 机器C
OpenClaw Claude Code CodeBuddy
+插件/server模式 +MemoryProxy +MemoryProxy
| 资产 | 多机共享的例子 |
|---|---|
| Chat Memory | 机器 A 聊出的"别再重构 auth 模块"沉淀为中心记忆 → 机器 B 同团队 Agent 自动召回注入,不用人转述 |
| Skill | 机器 A 跑通的"登录态排查 SOP" → 审核发布为 team 资产 → 机器 B/C 的 Agent 直接配装 |
| Wiki | 文档只在中心导入一次,所有机器的 Agent 按需查询,不用每台传一份 |
| CodeGraph | 代码库在中心索引一次,任何机器改代码前都能做 impact analysis |
共享但不串台:三层隔离
- v3 隔离三元组:每个客户端必须带
teamId / agentId / userId,不同 team 数据物理隔离 - 身份鉴权:
x-tdai-user-key→ 中心 verify 换 user_id,资产按用户过滤 - 资产四级可见性:新资产默认
private,共享必须显式发布
每台机器上的 OpenClaw 装插件用 server 模式(agentId 每台填自己的,teamId 填同一个):
MEMORY_INSTALL_MODE=server \
TDAI_MEMORY_ENDPOINT="https://memory.你的域名.com" \
TDAI_MEMORY_API_KEY="***" \
TDAI_MEMORY_INSTANCE_ID="<实例id>" \
TDAI_MEMORY_TEAM_ID="team-tiny-inc" \
TDAI_MEMORY_AGENT_ID="agent-builder" \
TDAI_MEMORY_USER_ID="user-后端" \
bash scripts/install-openclaw-plugin.sh
故事线:3 人小团队,一台云服务器。第一天起三件套、面板建 Team;后端在机器 A 让 Builder 修 bug 并导入代码库;晚上管线自动提炼 L1 记忆 + Skill 草稿;第二天早上后端审核发布 Skill;测试在机器 B 让 Reviewer 干活,自动带上相关记忆 + Skill + CodeGraph 工具,第一次干却像老手。谁都不用重新教,经验滚雪球。
代价清单:一台常驻服务器(Core+Hub+Knowledge+Redis);LLM 花费翻倍(后台提取还要调 LLM);对话原文(L0)全上云——private 保护的是 Agent 间不可见,不是服务器管理员不可见;Beta 期要跟进升级。