Releases: Tencent/TencentDB-Agent-Memory
Releases · Tencent/TencentDB-Agent-Memory
v0.3.5
v0.3.4
[0.3.4] - 2026-05-12
🚀 新功能
- Offload Local Mode:支持本地模式运行 offload,不依赖远端后端
- Docker 一体化镜像(
Dockerfile.hermes):单容器捆绑 Hermes Agent + memory_tencentdb 插件 + TDAI Memory Gateway,统一MODEL_*环境变量驱动
✨ 改进
- VDB HTTP 请求级计时:
tcvdb-client每次请求打一条 info 计时日志(/document/hybridSearch 85ms),retry/失败细节保持 debug 级别 - 启动路径误导性日志降级为 DEBUG:store manifest 不一致、sqlite schema migration、profile-sync MD5 mismatch 等正常场景不再打 warn/info,避免 AI 误判
- L1 提取调试日志:新增
[l1-debug]系列(RESOLVE / INVOKE / RESULT / EMPTY_DUMP / ENTRY / NO_JSON),方便定位 LLM 调用链问题 - Offload 日志去掉
Backend前缀,默认超时为 120s
🐛 修复
- 兼容 OpenClaw v2026.4.7 以下版本 L1 抽取空输出:旧宿主不支持
systemPromptOverride,通过extraSystemPrompt回退注入系统提示 - TCVDB hybrid 召回冗余双重 HTTP 调用:新增
nativeHybridSearch短路,单次调用完成 dense + sparse + RRF,recall 耗时减半(~50-120ms) - L2 parser 对齐 Go 后端:增加 mermaid fallback,修复
first{...last}JSON 提取逻辑
🔧 兼容性适配
- OC 2026.4.23 Zod schema 兼容 patch 脚本(
scripts/bugfix-20260423/):一键修复allowConversationAccess被.strict()拒绝的问题,含轻量版脚本、全自动脚本、手动 SOP 文档
v0.3.3
[0.3.3] - 2026-05-08
🚀 新功能
- 短期记忆压缩(Context Offload):新增 Offload 模块,支持长对话场景下的上下文压缩与记忆卸载
- 架构重构:Core + 多框架适配:重构为
TdaiCore宿主无关核心层 + 适配器模式,解耦 OpenClaw 框架依赖;新增HostAdapter/LLMRunner抽象接口 - Hermes Gateway 适配:新增 Hermes Gateway 适配器(
memory_tencentdbHermes Plugin),支持通过 Hermes 框架独立运行;Gateway 零配置自动发现 - Offload 自动 patch:Offload 启动时自动应用
after_tool_callpatch,patch 失败时自动禁用 offload - L0 捕获过滤:排除 offload 注入的 MMD 上下文块,避免将压缩中间产物误存为记忆
- Recall 注入优化(Cache 友好):L1 召回从
appendSystemContext移到prependContext,避免每轮系统提示词变化导致 prompt cache bust - 分场景 Embedding 超时:新增
embedding.recallTimeoutMs/embedding.captureTimeoutMs,recall 超时自动降级为纯关键词搜索 - Gateway 自愈:Hermes 插件新增 watchdog + lazy probe 机制,Gateway 异常时自动恢复
- 运维管理工具:新增
memory-tencentdb-ctl命令行管理工具,支持 standalone 与 hermes 两种运行模式 - 兼容 OpenClaw v2026.4.23+ hook 权限策略:新增
ensurePluginHookPolicy()自动检测并补全allowConversationAccess配置 - Docker 支持:新增 Hermes + Memory 一体化 Docker 镜像,一行命令启动带记忆能力的 Hermes Agent
✨ 改进
- 数据目录与安装目录统一整合至
~/.memory-tencentdb/ - 引入
$HERMES_HOME环境变量,移除硬编码~/.hermes路径 - CleanContextRunner 通过
systemPromptOverride替换默认系统提示词,每次 L1/L2/L3 调用节省 ~4500 input tokens - L2 / L3 prompt 拆分为
systemPrompt+userPrompt,角色划分更清晰 - Pipeline 默认参数调整:
l1IdleTimeoutSeconds60→600s,l2MinIntervalSeconds300→900s,l2MaxIntervalSeconds1800→3600s - 运维脚本保留在 tarball 中但不再注册为 bin 命令,减少全局命令污染
- init/destroy 生命周期日志降级为 debug 级别
- 新增 tsdown 构建配置生成
dist/index.mjs,满足新版 OpenClaw 安装校验 - 声明
activation.onStartup确保 gateway 启动时加载插件 - 声明
contracts.tools注册工具名,满足 tool registration contract 要求
🐛 修复
- 修复
ensureSchedulerStarted并发调用下的竞态问题 - 修复
/session/end错误销毁全局 scheduler(改为按 session_key 作用域) - 修复关闭 store 时未等待后台 fire-and-forget 任务完成的问题
- 修复
disable_offload未正确删除slots.contextEngine配置的问题 - 修复 slot 占用检测逻辑:仅在
ok=false时拒绝,API 异常不再误判为冲突 - 修复 aggressive/emergency 压缩在用户消息位于队首时卡死的问题
- 修复消息被大量 offload 后压缩停滞的问题
- 修复
pullProfilesToLocal并发竞争导致ENOTEMPTY错误 - 修复
originalUserMessageCount数据链路断裂导致 L0 recorder 无法定位被污染的 user message - 修复
RecallResult类型定义缺少prependContext字段 - 修复
set -e环境下((VAR++))在 VAR=0 时导致脚本退出的问题 - 修复 Hermes 退出时未终止 Gateway 子进程的问题
- 加固 hook-policy 版本决策逻辑,非标准版本一律跳过,避免误写配置
♻️ 重构
- 统一 patch 检测逻辑:始终委托给 patch 脚本并通过退出码判定结果
TdaiCore提供统一 API:handleBeforeRecall()/handleTurnCommitted()/searchMemories()- 数据目录所有权从插件移至 Gateway 层管理
v0.2.2
[0.2.2] - 2026-04-17
🚀 新功能
- 新增腾讯云向量数据库(TCVDB)存储后端,支持向量 + BM25 混合召回
- 支持 SQLite ↔ TCVDB 索引同步,L2 场景 / L3 画像本地缓存与向量数据库双向同步
- 新增本地 BM25 关键字检索,替代外部 HTTP sidecar,消除外部依赖
- TCVDB 新增 HTTPS 连接支持,可通过
caPemPath配置自定义 CA 证书 tdai_memory_search+tdai_conversation_search增加每轮合计最多 3 次调用限制
✨ 改进
- TCVDB L0/L1 向量索引默认使用
DISK_FLAT,不支持时自动回退到HNSW - 默认服务端 embedding 模型调整为
bge-large-zh - TCVDB 所有读接口统一启用强一致性读,消除 read-after-write 不一致
- 新增插件配置项:
storeBackend、tcvdb、bm25、embedding.timeoutMs - 插件注册阶段日志从 INFO 降级为 DEBUG,减少无关输出
🐛 修复
- 修复因未声明
undici依赖导致 TCVDB 客户端加载失败 - 修复 L3 persona sync 因未拉取远端 baseline 导致版本冲突跳过写入
- 修复
memories_since_last_persona被 L0 和 L1 双重计数导致触发阈值膨胀 - 修复 L3 启动时重复拉取 profile
- 修复 L2 场景合并(MERGE)无法删除旧文件,改用
[DELETED]标记软删除 - 修复 L2 抽取产生孤立 BATCH/ARCHIVE 文件,统一 maxScenes 上限为 15
- 处理
createCollection并发竞态(错误码 15202) - 过滤 skill wrapper 噪声标记(
¥¥[...]¥¥) - 移除
CheckpointManager中已废弃方法
♻️ 重构
- Pipeline checkpoint 游标语义从 timestamp 改为 update_at
- Runner 改用
api.runtime.agent.runEmbeddedPiAgent,避免跨环境导入失败
v0.1.4
[0.1.4] - 2026-04-10
🚀 Features
- (auto-recall) Add recall hint text before memories