openclaw-cortex-memory 0.1.0-Alpha.3 → 0.1.0-Alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +101 -18
  2. package/SKILL.md +79 -9
  3. package/dist/index.d.ts +18 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +159 -7
  6. package/dist/index.js.map +1 -1
  7. package/dist/openclaw.plugin.json +101 -1
  8. package/dist/src/dedup/three_stage_deduplicator.d.ts +25 -0
  9. package/dist/src/dedup/three_stage_deduplicator.d.ts.map +1 -0
  10. package/dist/src/dedup/three_stage_deduplicator.js +225 -0
  11. package/dist/src/dedup/three_stage_deduplicator.js.map +1 -0
  12. package/dist/src/engine/ts_engine.d.ts +36 -0
  13. package/dist/src/engine/ts_engine.d.ts.map +1 -1
  14. package/dist/src/engine/ts_engine.js +197 -32
  15. package/dist/src/engine/ts_engine.js.map +1 -1
  16. package/dist/src/engine/types.d.ts +4 -0
  17. package/dist/src/engine/types.d.ts.map +1 -1
  18. package/dist/src/graph/ontology.d.ts +53 -0
  19. package/dist/src/graph/ontology.d.ts.map +1 -0
  20. package/dist/src/graph/ontology.js +252 -0
  21. package/dist/src/graph/ontology.js.map +1 -0
  22. package/dist/src/reflect/reflector.d.ts +7 -0
  23. package/dist/src/reflect/reflector.d.ts.map +1 -1
  24. package/dist/src/reflect/reflector.js +75 -1
  25. package/dist/src/reflect/reflector.js.map +1 -1
  26. package/dist/src/session/session_end.d.ts +55 -0
  27. package/dist/src/session/session_end.d.ts.map +1 -1
  28. package/dist/src/session/session_end.js +237 -51
  29. package/dist/src/session/session_end.js.map +1 -1
  30. package/dist/src/store/archive_store.d.ts +89 -0
  31. package/dist/src/store/archive_store.d.ts.map +1 -0
  32. package/dist/src/store/archive_store.js +242 -0
  33. package/dist/src/store/archive_store.js.map +1 -0
  34. package/dist/src/store/read_store.d.ts +39 -0
  35. package/dist/src/store/read_store.d.ts.map +1 -1
  36. package/dist/src/store/read_store.js +796 -15
  37. package/dist/src/store/read_store.js.map +1 -1
  38. package/dist/src/store/vector_store.d.ts +30 -0
  39. package/dist/src/store/vector_store.d.ts.map +1 -0
  40. package/dist/src/store/vector_store.js +127 -0
  41. package/dist/src/store/vector_store.js.map +1 -0
  42. package/dist/src/store/write_store.d.ts +8 -0
  43. package/dist/src/store/write_store.d.ts.map +1 -1
  44. package/dist/src/store/write_store.js +70 -0
  45. package/dist/src/store/write_store.js.map +1 -1
  46. package/dist/src/sync/session_sync.d.ts +7 -0
  47. package/dist/src/sync/session_sync.d.ts.map +1 -1
  48. package/dist/src/sync/session_sync.js +120 -10
  49. package/dist/src/sync/session_sync.js.map +1 -1
  50. package/openclaw.plugin.json +101 -1
  51. package/package.json +16 -5
  52. package/scripts/cli.js +6 -1
  53. package/scripts/uninstall.js +15 -4
  54. package/index.ts +0 -2142
  55. package/scripts/install.js +0 -27
package/README.md CHANGED
@@ -14,6 +14,32 @@ OpenClaw 长期记忆插件,提供跨会话检索、事件存储、规则反
14
14
  | 规则演进 | `reflect_memory` 更新 `CORTEX_RULES.md` |
15
15
  | 运行诊断 | `diagnostics` 检查本地存储状态 |
16
16
 
17
+ ## 记忆库组成与特点
18
+
19
+ ### 组成结构
20
+
21
+ | 层级 | 核心文件/数据 | 作用 |
22
+ |------|---------------|------|
23
+ | 会话记忆层 | `sessions/active/sessions.jsonl` | 存储最近会话消息,支撑实时检索与上下文注入 |
24
+ | 事件归档层 | `sessions/archive/sessions.jsonl` | 存储已沉淀事件(摘要、实体、结果),用于长期回顾 |
25
+ | 实体关系层 | 基于归档事件中的 `entities` / `relations` 字段动态构图 | 支撑 `query_graph` 的实体共现与关系查询(派生图谱,不单独落盘) |
26
+ | 向量检索层 | `vector/lancedb`(可用时)或 `vector/lancedb_events.jsonl`(回退) | 存储事件向量,用于语义检索与向量去重 |
27
+ | 规则知识层 | `CORTEX_RULES.md` | 存储由反思生成的可复用规则,供后续任务复用 |
28
+ | 运行状态层 | `.sync_state.json` / `.session_end_state.json` / `.rule_store_state.json` / `.dedup_index.json` / `graph/mutation_log.jsonl` | 记录增量同步、session_end 幂等、规则去重、三阶段去重索引、图谱变更审计日志 |
29
+ | 说明与入口层 | `MEMORY.md` | 记忆库说明与使用约定入口 |
30
+
31
+ ### 核心特点
32
+
33
+ - 分层记忆:把“原始会话、结构化事件、抽象规则”拆分存储,便于分别检索与治理
34
+ - 图谱派生:实体关系来自事件层的 `entities` / `relations`,查询时动态生成图结构
35
+ - 图谱治理:写入前按 `schema/graph.schema.yaml` 做 event/relation 规范化与关系规则校验
36
+ - 会话结束写入:message hook 默认仅缓存,会在 `session_end` 后批量抽取并落盘
37
+ - 增量导入:通过状态文件只处理新增会话内容,避免全量重复扫描
38
+ - 幂等去重:对 session_end 事件和规则写入做签名判重,减少重复沉淀
39
+ - 三阶段去重:SimHash 预过滤 → MinHash 精比对 → 向量余弦相似度
40
+ - 自动演进:可结合 `autoSync`、`autoReflect` 持续把会话经验转化为长期可复用记忆
41
+ - 可观测可诊断:通过 `diagnostics` 与状态文件快速定位数据目录、同步与反思异常
42
+
17
43
  ## 安装
18
44
 
19
45
  ### 前置要求
@@ -23,36 +49,37 @@ OpenClaw 长期记忆插件,提供跨会话检索、事件存储、规则反
23
49
 
24
50
  ### 安装步骤
25
51
 
26
- 快速安装(推荐,npm 发布版):
52
+ 快速安装(推荐,显式来源):
27
53
 
28
54
  ```bash
29
55
  cd ~/openclaw
30
- pnpm openclaw plugins install openclaw-cortex-memory@alpha
56
+ pnpm openclaw plugins install clawhub:openclaw-cortex-memory
31
57
  pnpm openclaw plugins enable openclaw-cortex-memory
32
- pnpm openclaw gateway restart
33
58
  ```
34
59
 
35
- 后续更新:
60
+ npm 安装方式:
36
61
 
37
62
  ```bash
38
63
  cd ~/openclaw
39
64
  pnpm openclaw plugins install openclaw-cortex-memory@alpha
40
- pnpm openclaw gateway restart
65
+ pnpm openclaw plugins enable openclaw-cortex-memory
41
66
  ```
42
67
 
43
- 安装前如果 `openclaw.json` 已经提前写了 `allow/slots/entries` 指向本插件,先临时移除,安装后再加回,避免安装前校验报 `plugin not found`。
44
-
45
- ### 本地打包安装(源码模式)
68
+ 后续更新:
46
69
 
47
70
  ```bash
48
- git clone https://github.com/deki18/openclaw-cortex-memory.git ~/openclaw-cortex-memory-src
49
- cd ~/openclaw-cortex-memory-src
50
- npm install && npm run build && npm pack
51
71
  cd ~/openclaw
52
- pnpm openclaw plugins install ~/openclaw-cortex-memory-src/openclaw-cortex-memory-0.1.0-Alpha.1.tgz
53
- pnpm openclaw gateway restart
72
+ pnpm openclaw plugins uninstall openclaw-cortex-memory
73
+ pnpm openclaw plugins install clawhub:openclaw-cortex-memory
74
+ pnpm openclaw plugins enable openclaw-cortex-memory
54
75
  ```
55
76
 
77
+ 说明:
78
+ - 推荐显式安装来源,减少 ClawHub-first 时代的来源歧义。
79
+ - 使用 `plugins install` 的安装记录方式,避免 `loaded without install/load-path provenance`。
80
+ - 保持 `plugins.allow` 显式包含 `openclaw-cortex-memory`,避免运行时把插件判定为未绑定信任源。
81
+
82
+
56
83
  ### 本地开发模式(无安装记录)
57
84
 
58
85
  ```bash
@@ -62,7 +89,7 @@ cd openclaw-cortex-memory
62
89
  npm install
63
90
  ```
64
91
 
65
- `npm install` 会自动执行 TypeScript 构建并生成 `dist/`,但这种方式默认不写 OpenClaw 安装记录。
92
+ `npm install` 不会自动构建 `dist/`,源码模式请显式执行 `npm run build`,且这种方式默认不写 OpenClaw 安装记录。
66
93
 
67
94
  ## 配置
68
95
 
@@ -71,6 +98,7 @@ npm install
71
98
  ```json
72
99
  {
73
100
  "plugins": {
101
+ "allow": ["openclaw-cortex-memory"],
74
102
  "slots": { "memory": "openclaw-cortex-memory" },
75
103
  "entries": {
76
104
  "openclaw-cortex-memory": {
@@ -79,7 +107,33 @@ npm install
79
107
  "engineMode": "ts",
80
108
  "dbPath": "<optional-memory-dir>",
81
109
  "autoSync": true,
82
- "autoReflect": true,
110
+ "autoReflect": false,
111
+ "autoReflectIntervalMinutes": 30,
112
+ "readFusion": {
113
+ "enabled": true,
114
+ "maxCandidates": 10,
115
+ "authoritative": true
116
+ },
117
+ "memoryDecay": {
118
+ "enabled": true,
119
+ "minFloor": 0.15,
120
+ "defaultHalfLifeDays": 90,
121
+ "halfLifeByEventType": {
122
+ "issue": 30,
123
+ "fix": 30,
124
+ "action_item": 30,
125
+ "decision": 120,
126
+ "preference": 240,
127
+ "constraint": 240,
128
+ "requirement": 240
129
+ },
130
+ "antiDecay": {
131
+ "enabled": true,
132
+ "maxBoost": 1.6,
133
+ "hitWeight": 0.08,
134
+ "recentWindowDays": 30
135
+ }
136
+ },
83
137
  "embedding": {
84
138
  "provider": "api",
85
139
  "model": "text-embedding-3-large",
@@ -106,6 +160,14 @@ npm install
106
160
  }
107
161
  ```
108
162
 
163
+ ### 关键功能开关(建议显式配置)
164
+
165
+ - `readFusion.enabled`:开启多路召回后 LLM 融合
166
+ - `readFusion.authoritative`:开启后仅返回融合后的权威记忆包
167
+ - `memoryDecay.enabled`:开启按 `event_type` 半衰期衰减
168
+ - `memoryDecay.antiDecay.enabled`:开启命中频次反衰减,避免高价值老记忆被过度衰减
169
+ - `autoReflect`:建议在验证稳定后再开启;默认 `false`
170
+
109
171
  ### 配置项说明
110
172
 
111
173
  | 配置项 | 必填 | 说明 |
@@ -127,6 +189,18 @@ npm install
127
189
  | `dbPath` | 否 | 数据目录,默认 `<plugin-dir>/data/memory` |
128
190
  | `autoSync` | 否 | 会话结束时自动同步历史记录,默认 `true` |
129
191
  | `autoReflect` | 否 | 自动触发记忆反思,默认 `false` |
192
+ | `autoReflectIntervalMinutes` | 否 | 自动反思扫描间隔(分钟),默认 `30`,最小 `5` |
193
+ | `readFusion.enabled` | 否 | 启用重排后 LLM 融合,默认 `true` |
194
+ | `readFusion.maxCandidates` | 否 | 融合候选上限,默认 `10` |
195
+ | `readFusion.authoritative` | 否 | 仅返回融合权威记忆包,默认 `true` |
196
+ | `memoryDecay.enabled` | 否 | 启用按 `event_type` 的半衰期衰减,默认 `true` |
197
+ | `memoryDecay.minFloor` | 否 | 衰减系数下限(0~1),默认 `0.15` |
198
+ | `memoryDecay.defaultHalfLifeDays` | 否 | 未配置类型的默认半衰期(天),默认 `90` |
199
+ | `memoryDecay.halfLifeByEventType` | 否 | 各 `event_type` 半衰期覆盖配置(天) |
200
+ | `memoryDecay.antiDecay.enabled` | 否 | 启用命中频次反衰减,默认 `true` |
201
+ | `memoryDecay.antiDecay.maxBoost` | 否 | 反衰减最大增益(>=1),默认 `1.6` |
202
+ | `memoryDecay.antiDecay.hitWeight` | 否 | 命中次数增益系数,默认 `0.08` |
203
+ | `memoryDecay.antiDecay.recentWindowDays` | 否 | 命中新鲜度窗口(天),默认 `30` |
130
204
 
131
205
  ### 启动
132
206
 
@@ -159,7 +233,7 @@ pnpm openclaw gateway restart
159
233
  |------|------|
160
234
  | `search_memory` | 语义搜索记忆库,支持 top_k 参数 |
161
235
  | `store_event` | 存储事件,可包含实体和关系 |
162
- | `query_graph` | 查询实体关系图谱 |
236
+ | `query_graph` | 查询实体关系图谱,支持关系过滤、方向过滤与路径查询 |
163
237
  | `get_hot_context` | 获取热上下文(CORTEX_RULES.md + 近期会话) |
164
238
  | `get_auto_context` | 自动检索相关记忆 + 热上下文 |
165
239
  | `reflect_memory` | 触发记忆反思,将事件转化为规则 |
@@ -188,16 +262,25 @@ npx cortex-memory help # 查看命令帮助
188
262
  | `<dbPath>/CORTEX_RULES.md` | 规则文件 |
189
263
  | `<dbPath>/sessions/active/sessions.jsonl` | 活跃会话 |
190
264
  | `<dbPath>/sessions/archive/sessions.jsonl` | 归档事件 |
265
+ | `<dbPath>/vector/lancedb` | LanceDB 向量表(可用时) |
266
+ | `<dbPath>/vector/lancedb_events.jsonl` | 向量回退存储(LanceDB不可用时) |
191
267
  | `<dbPath>/.sync_state.json` | 同步增量状态 |
192
268
  | `<dbPath>/.session_end_state.json` | session_end 幂等状态 |
193
269
  | `<dbPath>/.rule_store_state.json` | 规则去重状态 |
270
+ | `<dbPath>/.dedup_index.json` | 三阶段去重索引 |
271
+ | `<dbPath>/.read_hit_stats.json` | 检索命中频次统计(用于反衰减增益) |
272
+ | `<dbPath>/graph/mutation_log.jsonl` | 图谱写入审计日志(canonical_id/source_event_id/actor/timestamp) |
194
273
 
195
274
  ## 注意事项
196
275
 
197
- 1. **API Key 安全**:使用环境变量 `${OPENAI_API_KEY}` 而非硬编码
276
+ 1. **API Key 安全**:使用 `${EMBEDDING_API_KEY}`、`${LLM_API_KEY}`、`${RERANKER_API_KEY}` 等环境变量而非硬编码
198
277
  2. **向量维度**:必须与嵌入模型匹配,如 `text-embedding-3-large` 为 3072
199
278
  3. **重排序**:可选配置 `reranker` 以提升检索精度
200
- 4. **单栈运行**:当前版本为纯 TS,无 Python 运行时依赖
279
+ 4. **外部传输**:检索与反思会调用你配置的 embedding/llm/reranker endpoint,请使用可信服务并最小化密钥权限
280
+ 5. **会话数据**:启用 `autoSync` 时会读取 OpenClaw 会话文件并写入本地记忆目录,生产环境建议先小范围验证
281
+ 6. **单栈运行**:当前版本为纯 TS,无 Python 运行时依赖
282
+ 7. **历史导入来源**:`sync_memory` 会同时导入 `<openclaw_base>/agents/main/sessions/*.jsonl` 与 `<openclaw_base>/workspace/memory/*.md`
283
+ 8. **重复导入防护**:每日总结 `.md` 会按文件内容哈希标记在 `.sync_state.json`,未变化文件不会重复导入
201
284
 
202
285
  ## 许可证
203
286
 
package/SKILL.md CHANGED
@@ -8,9 +8,9 @@ metadata:
8
8
  "emoji": "🧠",
9
9
  "os": ["darwin", "linux", "win32"],
10
10
  "requires": {
11
- "env": ["OPENAI_API_KEY"]
11
+ "env": ["EMBEDDING_API_KEY", "LLM_API_KEY", "RERANKER_API_KEY"]
12
12
  },
13
- "primaryEnv": "OPENAI_API_KEY"
13
+ "primaryEnv": "EMBEDDING_API_KEY"
14
14
  }
15
15
  }
16
16
  ---
@@ -36,7 +36,16 @@ metadata:
36
36
 
37
37
  ### 安装
38
38
 
39
- 快速安装(推荐,npm 发布版):
39
+ 快速安装(推荐,显式来源):
40
+
41
+ ```bash
42
+ cd ~/openclaw
43
+ pnpm openclaw plugins install clawhub:openclaw-cortex-memory
44
+ pnpm openclaw plugins enable openclaw-cortex-memory
45
+ pnpm openclaw gateway restart
46
+ ```
47
+
48
+ 若尚未在 ClawHub 发布,使用 npm 回退安装:
40
49
 
41
50
  ```bash
42
51
  cd ~/openclaw
@@ -49,11 +58,16 @@ pnpm openclaw gateway restart
49
58
 
50
59
  ```bash
51
60
  cd ~/openclaw
52
- pnpm openclaw plugins install openclaw-cortex-memory@alpha
61
+ pnpm openclaw plugins uninstall openclaw-cortex-memory
62
+ pnpm openclaw plugins install clawhub:openclaw-cortex-memory
63
+ pnpm openclaw plugins enable openclaw-cortex-memory
53
64
  pnpm openclaw gateway restart
54
65
  ```
55
66
 
56
- 安装前如果 `openclaw.json` 已经提前写了 `allow/slots/entries` 指向本插件,先临时移除,安装后再加回,避免安装前校验报 `plugin not found`。
67
+ 说明:
68
+ - 推荐显式安装来源,减少 ClawHub-first 时代的来源歧义。
69
+ - 使用 `plugins install` 的安装记录方式,避免 `loaded without install/load-path provenance`。
70
+ - 保持 `plugins.allow` 显式包含 `openclaw-cortex-memory`,避免运行时把插件判定为未绑定信任源。
57
71
 
58
72
  ### 本地打包安装(源码模式)
59
73
 
@@ -62,7 +76,7 @@ git clone https://github.com/deki18/openclaw-cortex-memory.git ~/openclaw-cortex
62
76
  cd ~/openclaw-cortex-memory-src
63
77
  npm install && npm run build && npm pack
64
78
  cd ~/openclaw
65
- pnpm openclaw plugins install ~/openclaw-cortex-memory-src/openclaw-cortex-memory-0.1.0-Alpha.1.tgz
79
+ pnpm openclaw plugins install ~/openclaw-cortex-memory-src/openclaw-cortex-memory-0.1.0-Alpha.5.tgz
66
80
  pnpm openclaw gateway restart
67
81
  ```
68
82
 
@@ -82,6 +96,7 @@ npm install
82
96
  ```json
83
97
  {
84
98
  "plugins": {
99
+ "allow": ["openclaw-cortex-memory"],
85
100
  "slots": { "memory": "openclaw-cortex-memory" },
86
101
  "entries": {
87
102
  "openclaw-cortex-memory": {
@@ -90,7 +105,33 @@ npm install
90
105
  "engineMode": "ts",
91
106
  "dbPath": "<optional-memory-dir>",
92
107
  "autoSync": true,
93
- "autoReflect": true,
108
+ "autoReflect": false,
109
+ "autoReflectIntervalMinutes": 30,
110
+ "readFusion": {
111
+ "enabled": true,
112
+ "maxCandidates": 10,
113
+ "authoritative": true
114
+ },
115
+ "memoryDecay": {
116
+ "enabled": true,
117
+ "minFloor": 0.15,
118
+ "defaultHalfLifeDays": 90,
119
+ "halfLifeByEventType": {
120
+ "issue": 30,
121
+ "fix": 30,
122
+ "action_item": 30,
123
+ "decision": 120,
124
+ "preference": 240,
125
+ "constraint": 240,
126
+ "requirement": 240
127
+ },
128
+ "antiDecay": {
129
+ "enabled": true,
130
+ "maxBoost": 1.6,
131
+ "hitWeight": 0.08,
132
+ "recentWindowDays": 30
133
+ }
134
+ },
94
135
  "embedding": {
95
136
  "provider": "api",
96
137
  "model": "text-embedding-3-large",
@@ -117,6 +158,14 @@ npm install
117
158
  }
118
159
  ```
119
160
 
161
+ 关键功能开关(建议显式配置):
162
+
163
+ - `readFusion.enabled`:开启多路召回后的 LLM 融合
164
+ - `readFusion.authoritative`:仅返回融合后的权威记忆包
165
+ - `memoryDecay.enabled`:开启按事件类型的半衰期衰减
166
+ - `memoryDecay.antiDecay.enabled`:开启命中频次反衰减
167
+ - `autoReflect`:建议验证稳定后再开启(默认 false)
168
+
120
169
  ### 启动
121
170
 
122
171
  ```bash
@@ -168,12 +217,16 @@ openclaw gateway restart
168
217
 
169
218
  ### query_graph
170
219
 
171
- 查询归档事件中的实体共现关系。
220
+ 查询归档事件中的实体关系(relations 优先,共现关系回退)。
172
221
 
173
222
  **参数:**
174
223
  | 参数 | 类型 | 必需 | 说明 |
175
224
  |------|------|------|------|
176
225
  | entity | string | 是 | 实体名称 |
226
+ | rel | string | 否 | 关系类型过滤(如 `depends_on`) |
227
+ | dir | string | 否 | 方向过滤:`incoming` / `outgoing` / `both` |
228
+ | path_to | string | 否 | 查询从 `entity` 到目标实体的路径 |
229
+ | max_depth | number | 否 | 路径最大深度(2~4) |
177
230
 
178
231
  ### get_hot_context
179
232
 
@@ -235,6 +288,18 @@ openclaw gateway restart
235
288
  | engineMode | 否 | `ts` | 固定为 TS 引擎 |
236
289
  | autoSync | 否 | true | 会话结束自动同步 |
237
290
  | autoReflect | 否 | false | 自动触发反思 |
291
+ | autoReflectIntervalMinutes | 否 | 30 | 自动反思扫描间隔(分钟) |
292
+ | readFusion.enabled | 否 | true | 启用检索重排后的 LLM 融合 |
293
+ | readFusion.maxCandidates | 否 | 10 | 融合候选上限 |
294
+ | readFusion.authoritative | 否 | true | 仅返回融合权威记忆包 |
295
+ | memoryDecay.enabled | 否 | true | 启用按事件类型半衰期衰减 |
296
+ | memoryDecay.minFloor | 否 | 0.15 | 衰减系数下限 |
297
+ | memoryDecay.defaultHalfLifeDays | 否 | 90 | 未配置类型默认半衰期(天) |
298
+ | memoryDecay.halfLifeByEventType | 否 | - | 各事件类型半衰期覆盖配置 |
299
+ | memoryDecay.antiDecay.enabled | 否 | true | 启用命中频次反衰减 |
300
+ | memoryDecay.antiDecay.maxBoost | 否 | 1.6 | 反衰减最大增益 |
301
+ | memoryDecay.antiDecay.hitWeight | 否 | 0.08 | 命中次数增益系数 |
302
+ | memoryDecay.antiDecay.recentWindowDays | 否 | 30 | 命中新鲜度窗口(天) |
238
303
 
239
304
  ## 数据文件
240
305
 
@@ -244,9 +309,14 @@ openclaw gateway restart
244
309
  | `<dbPath>/CORTEX_RULES.md` | 规则文件 |
245
310
  | `<dbPath>/sessions/active/sessions.jsonl` | 活跃会话记忆 |
246
311
  | `<dbPath>/sessions/archive/sessions.jsonl` | 归档事件 |
312
+ | `<dbPath>/vector/lancedb` | LanceDB 向量表(可用时) |
313
+ | `<dbPath>/vector/lancedb_events.jsonl` | 向量回退存储(LanceDB 不可用时) |
247
314
  | `<dbPath>/.sync_state.json` | 同步增量状态 |
248
315
  | `<dbPath>/.session_end_state.json` | session_end 幂等状态 |
249
316
  | `<dbPath>/.rule_store_state.json` | 规则去重状态 |
317
+ | `<dbPath>/.dedup_index.json` | 三阶段去重索引 |
318
+ | `<dbPath>/.read_hit_stats.json` | 检索命中频次统计(反衰减) |
319
+ | `<dbPath>/graph/mutation_log.jsonl` | 图谱变更审计日志 |
250
320
 
251
321
  ## 错误处理
252
322
 
@@ -265,4 +335,4 @@ openclaw gateway restart
265
335
  ## 依赖
266
336
 
267
337
  - Node.js >= 22
268
- - OPENAI_API_KEY(或兼容 API 配置)
338
+ - EMBEDDING_API_KEY、LLM_API_KEY、RERANKER_API_KEY(或兼容 API 配置)
package/dist/index.d.ts CHANGED
@@ -29,6 +29,24 @@ interface CortexMemoryConfig {
29
29
  dbPath?: string;
30
30
  autoSync?: boolean;
31
31
  autoReflect?: boolean;
32
+ autoReflectIntervalMinutes?: number;
33
+ readFusion?: {
34
+ enabled?: boolean;
35
+ maxCandidates?: number;
36
+ authoritative?: boolean;
37
+ };
38
+ memoryDecay?: {
39
+ enabled?: boolean;
40
+ minFloor?: number;
41
+ defaultHalfLifeDays?: number;
42
+ halfLifeByEventType?: Record<string, number>;
43
+ antiDecay?: {
44
+ enabled?: boolean;
45
+ maxBoost?: number;
46
+ hitWeight?: number;
47
+ recentWindowDays?: number;
48
+ };
49
+ };
32
50
  fallbackToBuiltin?: boolean;
33
51
  apiUrl?: string;
34
52
  engineMode?: EngineMode;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,SAAS;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,kBAAkB;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,eAAe,CAAC;IAC3B,GAAG,EAAE,SAAS,CAAC;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9D,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAChF,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1C;AAED,UAAU,MAAM;IACd,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACrD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACtD;AAED,UAAU,iBAAiB;IACzB,YAAY,CAAC,IAAI,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAAC,OAAO,EAAE,WAAW,CAAA;SAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;QACpG,OAAO,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;KACzD,GAAG,IAAI,CAAC;IACT,cAAc,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,YAAY,CAAC,IAAI,EAAE;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACpE,GAAG,IAAI,CAAC;IACT,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACrG,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,SAAS,CAAC,IAAI,MAAM,CAAC;IACrB,gBAAgB,CAAC,IAAI,aAAa,CAAC;CACpC;AAivDD,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAwB5C;AAED,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAwB7C;AAiED,wBAAgB,SAAS,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,CAKzE;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAgChD;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAsGrG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}