# TencentDB-Agent-Memory **Repository Path**: sunjmj/TencentDB-Agent-Memory ## Basic Information - **Project Name**: TencentDB-Agent-Memory - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-15 - **Last Updated**: 2026-05-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
### 让 Agent 沉淀经验,让人专注创造。
[](https://www.npmjs.com/package/@tencentdb-agent-memory/memory-tencentdb)
[](./LICENSE)
[](https://nodejs.org/)
[](https://github.com/openclaw/openclaw)
[](https://hermes-agent.nousresearch.com/docs/)
[](https://discord.gg/kDtHb5RW2)
[效果亮点](#-效果亮点) · [项目简介](#项目简介) · [核心技术](#核心技术拒绝平铺走向分层与符号化) · [方案特点](#-方案特点) · [快速开始](#快速开始)
📱 扫码加入 Agent Memory 微信社群,与早期开发者直接对话
---
## 核心技术:拒绝平铺,走向分层与符号化
TencentDB Agent Memory 的设计理念围绕两个核心展开:**记忆分层** 与 **符号化记忆**。这不仅让 Agent “记得更多”,更重要的是“想得更清”。
### 1. 记忆分层:渐进式披露与异构存储
传统的记忆系统往往将所有数据切片并平铺为向量,召回时如同在一堆毫无关联的便利贴中寻找线索,缺乏宏观视角的指引。
我们认为,**不管是长期的知识、短期的任务,还是未来的经验能力,记忆都不应该平铺,生成和召回都必须有层次**。TencentDB Agent Memory 将“分层”作为整个架构的统一设计哲学:
* **短期记忆(上下文卸载/任务)的分层**:底层保留原始、厚重的工具调用结果(`refs/*.md`),中层抽取步骤摘要(`jsonl`),高层则浓缩为一张极度轻量的 Mermaid 任务画布。Agent 在上下文中仅需关注高层结构,遇错时再沿着 `node_id` 下钻到底层查证。
* **长期个性化(用户理解)的分层**:打破扁平的历史记录,建立 **L0 Conversation**(原始对话) → **L1 Atom**(结构化事实) → **L2 Scenario**(场景块) → **L3 Persona**(用户画像)的语义金字塔。平时靠高层 Persona 把握用户偏好,需要考证细节时再检索底层 Atom。
* **技能生成(Skill与动作沉淀,Roadmap)的分层**:记忆不应仅限于“知道什么”,还应包括“会做什么”。我们正在将分层延伸至动作域:从底层的执行轨迹(Traces)与报错日志中,中层归纳出共性的解决模式,高层最终提炼出可直接挂载复用的 Skill 或标准 SOP 代码。
(几十万 Token)"] -->|"1. 卸载完整原文"| FS[("外部文件系统
(refs/xxx.md)")]
Log -->|"2. 提取关系"| MMD["Mermaid 符号图谱
(带 node_id)"]
MMD -->|"3. 轻量级注入"| Agent(("Agent 上下文
(几百 Token)"))
Agent -. "4. 随时按 node_id 下钻恢复原文" .-> FS
style Log fill:#f1f5f9,stroke:#94a3b8,stroke-dasharray: 5 5
style FS fill:#f8fafc,stroke:#cbd5e1
style MMD fill:#eff6ff,stroke:#3b82f6,stroke-width:2px
style Agent fill:#fffbeb,stroke:#f59e0b,stroke-width:2px
```
---
## 快速开始
## 🎬 Demos
---
### 1. OpenClaw
### 1.1 安装插件
```bash
openclaw plugins install @tencentdb-agent-memory/memory-tencentdb
openclaw gateway restart
```
### 1.2 零配置启用
默认使用本地 `SQLite + sqlite-vec` 后端。
```jsonc
// ~/.openclaw/openclaw.json
{
"memory-tencentdb": {
"enabled": true
}
}
```
启用后,TencentDB Agent Memory 会自动完成对话录制、记忆提取、场景归纳、用户画像生成和下一轮对话前召回。
### 1.3 启用短期记忆压缩(可选,要求版本 ≥ 0.3.4)
```jsonc
{
"memory-tencentdb": {
"config": {
"offload": {
"enabled": true
}
}
}
}
```
#### 步骤 1 —— 在插件配置中注册 slot
在 `slots` 字段中声明 `contextEngine`,让 OpenClaw 把上下文卸载请求路由到本插件:
```jsonc
{
"plugins": {
"slots": {
"contextEngine": "openclaw-context-offload"
}
}
}
```
#### 步骤 2 —— 执行 patch 脚本
为保证最佳效果,请执行以下 patch 脚本。该脚本会注入 `after-tool-call` 消息钩子,让工具调用结果能被正确卸载与回溯:
```bash
bash scripts/openclaw-after-tool-call-messages.patch.sh
```
> 💡 patch 每次 OpenClaw 安装只需执行一次。升级 OpenClaw 后建议重新执行以确保钩子生效。
### 2. Hermes(Docker,需版本号 ≥ 0.3.4)
除 OpenClaw 外,本插件同样支持 [Hermes](https://github.com/NousResearch/hermes-agent) Agent。通过一条命令即可启动一个带记忆能力的 Hermes:
```bash
# ============ 配置参数说明 ============
# MODEL_API_KEY 大模型 API Key(必填)—— 替换为你自己的凭证
# MODEL_BASE_URL 大模型接入地址,默认指向腾讯云大模型知识引擎(LKE)
# MODEL_NAME 模型名称,默认使用 DeepSeek-V3.2
# MODEL_PROVIDER 服务商类型:"custom" 适用于所有 OpenAI 兼容接口
MODEL_API_KEY="your-api-key"
MODEL_BASE_URL="https://api.lkeap.cloud.tencent.com/v1"
MODEL_NAME="deepseek-v3.2"
MODEL_PROVIDER="custom"
# ============ docker run 参数说明 ============
# -d 后台(detached)模式运行容器
# --name hermes-memory 容器命名,方便后续 docker exec / logs / stop
# --restart unless-stopped 崩溃或宿主机重启时自动拉起
# -p 8420:8420 宿主机端口 ↔ 容器端口(Hermes Gateway)
# -e MODEL_* 将上方配置参数注入容器环境变量
# -v hermes_data:/opt/data 记忆数据持久化到命名卷(容器重启后数据不丢)
# 构建
docker build -f Dockerfile.hermes -t hermes-memory .
# 运行
docker run -d \
--name hermes-memory \
--restart unless-stopped \
-p 8420:8420 \
-e MODEL_API_KEY="your-api-key" \
-e MODEL_BASE_URL="https://api.lkeap.cloud.tencent.com/v1" \
-e MODEL_NAME="deepseek-v3.2" \
-e MODEL_PROVIDER="custom" \
-v hermes_data:/opt/data \
hermes-memory
# 验证 Gateway
curl http://localhost:8420/health
# 进入 Hermes 对话
docker exec -it hermes-memory hermes
```
> 镜像内置了腾讯云 DeepSeek-V3.2 的默认值,如果你使用该模型,`MODEL_BASE_URL`/`MODEL_NAME`/`MODEL_PROVIDER` 可以省略,只传 `MODEL_API_KEY` 即可。
---
## 🔧 可调参数
**所有字段均有合理默认值,零配置即可跑。** 如果要调优,可以按使用深度逐层展开。
OpenClaw × Agent Memory
Hermes × Agent Memory
🟢 Level 1 · 日常调参(覆盖 90% 使用场景)
| 字段 | 默认 | 说明 |
| :--- | :--- | :--- |
| `storeBackend` | `"sqlite"` | 存储后端:`sqlite` |
| `recall.strategy` | `"hybrid"` | 召回策略:`keyword` / `embedding` / `hybrid`(RRF 融合,推荐) |
| `recall.maxResults` | `5` | 每次召回条数 |
| `pipeline.everyNConversations` | `5` | 每 N 轮对话触发一次 L1 记忆提取 |
| `extraction.maxMemoriesPerSession` | `20` | 单次 L1 最多提取多少条 |
| `persona.triggerEveryN` | `50` | 每 N 条新记忆触发用户画像生成 |
| `offload.enabled` | `false` | 是否启用短期记忆压缩 |
🟡 Level 2 · 进阶调优(长任务 / 长 Session 场景)
| 字段 | 默认 | 说明 |
| :--- | :--- | :--- |
| `pipeline.enableWarmup` | `true` | Warm-up:新 session 从 1 轮起触发,每次翻倍至 N(1→2→4→…) |
| `pipeline.l1IdleTimeoutSeconds` | `600` | 用户停止对话多久后触发 L1 |
| `pipeline.l2MinIntervalSeconds` | `900` | 同 session 两次 L2 之间的最小间隔 |
| `recall.timeoutMs` | `5000` | 召回超时阈值,超时跳过注入不阻塞对话 |
| `extraction.enableDedup` | `true` | L1 向量去重 / 冲突检测 |
| `capture.excludeAgents` | `[]` | Glob 模式排除特定 Agent(如 `bench-judge-*`) |
| `capture.l0l1RetentionDays` | `0` | L0/L1 本地文件保留天数,`0` = 永不清理 |
| `offload.mildOffloadRatio` | `0.5` | 温和压缩触发比例(占 context window) |
| `offload.aggressiveCompressRatio` | `0.85` | 激进压缩触发比例 |
| `offload.mmdMaxTokenRatio` | `0.2` | MMD 注入 token 预算比例 |
| `bm25.language` | `"zh"` | 分词语言:`zh`(jieba) / `en` |
🔴 Level 3 · 完整参数表(运维 / 自定义模型 / 远程 embedding)
完整字段、类型、约束见 [`openclaw.plugin.json`](./openclaw.plugin.json) 。
- `embedding.*` — 远程 embedding 服务(OpenAI 兼容 API)
- `llm.*` — 独立 LLM 模式(绕过 OpenClaw 内置模型,用指定 API 跑 L1/L2/L3)
- `offload.backendUrl / backendApiKey` — 将 L1/L1.5/L2/L4 offload 流程卸载到后端服务
- `report.*` — 指标上报
---
## Roadmap
- [x] 长期个性化记忆(L0 → L3)
- [x] 短期记忆压缩(Context Offload + Mermaid 画布)
- [x] 可用本地 SQLite 后端与腾讯云向量数据库 TCVDB 后端
- [x] OpenClaw 插件与 Hermes Gateway 适配
- [ ] 记忆可迁移:跨 Agent / 跨框架 / 跨设备的导入导出与热迁移
- [ ] Skill自动生成
- [ ] 可视化调试与记忆观测面板
---
[MIT](./LICENSE) © TencentDB Agent Memory Team
如果 TencentDB Agent Memory 对你有所帮助,欢迎为项目点亮 ⭐ 支持。
如果有任何建议,欢迎提出issue讨论。