Skip to content

Commit 0d462e0

Browse files
author
chrishuan
committed
chore: release v0.3.5
1 parent f81b79e commit 0d462e0

19 files changed

Lines changed: 3140 additions & 7 deletions

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,22 @@
44

55
---
66

7+
## [0.3.5] - 2026-05-15
8+
9+
### 🐛 修复
10+
11+
- **兼容 OpenClaw v2026.5.7 zod v4 子路径**:显式声明 `zod@^4.4.3` 依赖,解决 `@ai-sdk/provider-utils@4.x` 需要 `zod/v4` 子路径导出但宿主环境可能 hoist zod@3.x 引发 `Cannot find module zod/v4` 的运行时错误。
12+
13+
### ✨ 改进
14+
15+
- **L1→L2 延迟从 90s 降至 10s**`l2DelayAfterL1Seconds` 默认值 90→10,冷启动用户不再需要等待 ~90s 才能看到 L2 场景提取结果,体感更及时。
16+
17+
### 📖 文档
18+
19+
- README 新增 Docker Quick Start 章节,说明模型 URL/Name 环境变量配置方式。
20+
21+
---
22+
723
## [0.3.4] - 2026-05-12
824

925
### 🐛 修复

SKILL.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ openclaw plugins update memory-tencentdb
9797
"everyNConversations": 5,
9898
"enableWarmup": true,
9999
"l1IdleTimeoutSeconds": 600,
100-
"l2DelayAfterL1Seconds": 90,
100+
"l2DelayAfterL1Seconds": 10,
101101
"l2MinIntervalSeconds": 900,
102102
"l2MaxIntervalSeconds": 3600,
103103
"sessionActiveWindowHours": 24
@@ -153,7 +153,7 @@ openclaw gateway restart
153153
检查项:
154154

155155
- Gateway 日志中出现 `[memory-tdai]` 前缀
156-
- 数据目录已创建:`~/.openclaw/memory-tdai/`
156+
- 数据目录已创建:`~/.openclaw/state/memory-tdai/`
157157
- 至少包含:`conversations/``records/``scene_blocks/``vectors.db`
158158

159159
### 7) 功能冒烟测试
@@ -198,4 +198,4 @@ openclaw gateway restart
198198

199199
- 已完成 `memory-tencentdb` 安装与配置,并重启 Gateway。
200200
- 已验证日志与数据目录生效,记忆链路可用。
201-
- 如需下一步优化,可继续调优 `recall.scoreThreshold``pipeline.everyNConversations``persona.triggerEveryN``embedding` 模型参数。
201+
- 如需下一步优化,可继续调优 `recall.scoreThreshold``pipeline.everyNConversations``persona.triggerEveryN``embedding` 模型参数。

bin/export-tencent-vdb.mjs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/usr/bin/env node
2+
3+
// 薄启动器:加载预编译好的 VDB 导出脚本。
4+
// 构建:npm run build:export-vdb
5+
// 使用:npm run export:vdb -- [参数] 或 node ./bin/export-tencent-vdb.mjs [参数]
6+
7+
import path from "node:path";
8+
import { fileURLToPath } from "node:url";
9+
import fs from "node:fs";
10+
11+
const thisDir = path.dirname(fileURLToPath(import.meta.url));
12+
const entryScript = path.resolve(thisDir, "../scripts/export-tencent-vdb/dist/export-tencent-vdb.js");
13+
14+
if (!fs.existsSync(entryScript)) {
15+
console.error("❌ 预编译产物不存在: " + entryScript);
16+
console.error(" 请先执行: npm run build:export-tencent-vdb");
17+
process.exit(1);
18+
}
19+
20+
import(entryScript);

bin/migrate-sqlite-to-tcvdb.mjs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/usr/bin/env node
2+
3+
// Thin wrapper: runs the pre-compiled migration CLI entry.
4+
// Build first: npm run build:migrate-sqlite-to-vdb (or pnpm build:migrate-sqlite-to-vdb)
5+
6+
import path from "node:path";
7+
import { fileURLToPath } from "node:url";
8+
9+
const thisDir = path.dirname(fileURLToPath(import.meta.url));
10+
const entryScript = path.resolve(thisDir, "../scripts/migrate-sqlite-to-tcvdb/dist/scripts/migrate-sqlite-to-tcvdb/cli-entry.js");
11+
12+
import(entryScript);

bin/read-local-memory.mjs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/usr/bin/env node
2+
3+
// 薄启动器:加载预编译好的本地 Memory 数据查询脚本。
4+
// 构建:npm run build:read-local-memory
5+
// 使用:npm run read-local-memory -- [参数] 或 node ./bin/read-local-memory.mjs [参数]
6+
7+
import path from "node:path";
8+
import { fileURLToPath } from "node:url";
9+
10+
import fs from "node:fs";
11+
12+
const thisDir = path.dirname(fileURLToPath(import.meta.url));
13+
const entryScript = path.resolve(thisDir, "../scripts/read-local-memory/dist/read-local-memory.js");
14+
15+
if (!fs.existsSync(entryScript)) {
16+
console.error("❌ 预编译产物不存在: " + entryScript);
17+
console.error(" 请先执行: npm run build:read-local-memory");
18+
process.exit(1);
19+
}
20+
21+
import(entryScript);

openclaw.plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
"everyNConversations": { "type": "number", "default": 5, "description": "每 N 轮对话触发 L1 批处理" },
5858
"enableWarmup": { "type": "boolean", "default": true, "description": "Warm-up 模式:新 session 从 1 轮触发开始,每次 L1 后翻倍(1→2→4→...→everyN),加速早期记忆提取" },
5959
"l1IdleTimeoutSeconds": { "type": "number", "default": 600, "description": "L1 空闲超时(秒):用户停止对话后多久触发 L1 批处理" },
60-
"l2DelayAfterL1Seconds": { "type": "number", "default": 90, "description": "L1 完成后延迟多久触发 L2(秒)" },
60+
"l2DelayAfterL1Seconds": { "type": "number", "default": 10, "description": "L1 完成后延迟多久触发 L2(秒)" },
6161
"l2MinIntervalSeconds": { "type": "number", "default": 900, "description": "同一 session 两次 L2 抽取的最小间隔(秒)" },
6262
"l2MaxIntervalSeconds": { "type": "number", "default": 3600, "description": "同一活跃 session 的 L2 最大轮询间隔(秒)" },
6363
"sessionActiveWindowHours": { "type": "number", "default": 24, "description": "session 活跃窗口(小时),超过此时间不活跃的 session 停止 L2 轮询" }

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@tencentdb-agent-memory/memory-tencentdb",
3-
"version": "0.3.4",
3+
"version": "0.3.5",
44
"description": "Four-layer local memory system plugin for OpenClaw — auto-captures, structures, and profiles conversational knowledge using local LLM + SQLite vector search (L0→L1→L2→L3 pipeline)",
55
"type": "module",
66
"main": "./dist/index.mjs",
@@ -82,7 +82,8 @@
8282
"sqlite-vec": "0.1.7-alpha.2",
8383
"tsx": "^4.21.0",
8484
"undici": "^8.1.0",
85-
"yaml": "^2.8.3"
85+
"yaml": "^2.8.3",
86+
"zod": "^4.4.3"
8687
},
8788
"optionalDependencies": {
8889
"opik": "^1.0.0"

0 commit comments

Comments
 (0)