openclaw-cortex-memory 0.1.0-Alpha.8 → 0.1.0-Alpha.9
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.
- package/README.md +34 -43
- package/SKILL.md +46 -51
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +127 -11
- package/dist/index.js.map +1 -1
- package/dist/openclaw.plugin.json +1 -1
- package/dist/src/engine/memory_engine.d.ts +2 -1
- package/dist/src/engine/memory_engine.d.ts.map +1 -1
- package/dist/src/engine/ts_engine.d.ts +59 -0
- package/dist/src/engine/ts_engine.d.ts.map +1 -1
- package/dist/src/engine/ts_engine.js +609 -0
- package/dist/src/engine/ts_engine.js.map +1 -1
- package/dist/src/engine/types.d.ts +7 -0
- package/dist/src/engine/types.d.ts.map +1 -1
- package/dist/src/session/session_end.d.ts.map +1 -1
- package/dist/src/session/session_end.js +18 -4
- package/dist/src/session/session_end.js.map +1 -1
- package/dist/src/store/archive_store.d.ts +24 -0
- package/dist/src/store/archive_store.d.ts.map +1 -1
- package/dist/src/store/archive_store.js +217 -24
- package/dist/src/store/archive_store.js.map +1 -1
- package/dist/src/store/embedding_utils.d.ts +32 -0
- package/dist/src/store/embedding_utils.d.ts.map +1 -0
- package/dist/src/store/embedding_utils.js +173 -0
- package/dist/src/store/embedding_utils.js.map +1 -0
- package/dist/src/store/read_store.d.ts +20 -0
- package/dist/src/store/read_store.d.ts.map +1 -1
- package/dist/src/store/read_store.js +336 -21
- package/dist/src/store/read_store.js.map +1 -1
- package/dist/src/store/vector_store.d.ts +13 -0
- package/dist/src/store/vector_store.d.ts.map +1 -1
- package/dist/src/store/vector_store.js +59 -1
- package/dist/src/store/vector_store.js.map +1 -1
- package/dist/src/store/write_store.d.ts +35 -0
- package/dist/src/store/write_store.d.ts.map +1 -1
- package/dist/src/store/write_store.js +163 -14
- package/dist/src/store/write_store.js.map +1 -1
- package/dist/src/sync/session_sync.d.ts +44 -2
- package/dist/src/sync/session_sync.d.ts.map +1 -1
- package/dist/src/sync/session_sync.js +364 -31
- package/dist/src/sync/session_sync.js.map +1 -1
- package/dist/src/utils/runtime_env.d.ts +4 -0
- package/dist/src/utils/runtime_env.d.ts.map +1 -0
- package/dist/src/utils/runtime_env.js +51 -0
- package/dist/src/utils/runtime_env.js.map +1 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +3 -2
- package/scripts/cli.js +13 -13
- package/scripts/uninstall.js +7 -1
package/README.md
CHANGED
|
@@ -10,8 +10,10 @@
|
|
|
10
10
|
|------|------|
|
|
11
11
|
| 语义检索 | `search_memory` 支持 query + top_k |
|
|
12
12
|
| 事件存储 | `store_event` 将摘要写入归档 |
|
|
13
|
+
| 全文分块向量化 | Active 与 Archive 统一按 `chunk_size/chunk_overlap` 做全文分块向量化 |
|
|
13
14
|
| 上下文注入 | `get_hot_context` / `get_auto_context` |
|
|
14
|
-
| 增量同步 | `sync_memory`
|
|
15
|
+
| 增量同步 | `sync_memory` 按状态文件增量导入,并统一走 LLM 提取后写入事件/图谱 |
|
|
16
|
+
| 向量回填重建 | `backfill_embeddings` 支持 incremental / vector_only / full 三种模式 |
|
|
15
17
|
| 规则演进 | `reflect_memory` 更新 `CORTEX_RULES.md` |
|
|
16
18
|
| 运行诊断 | `diagnostics` 检查本地存储状态 |
|
|
17
19
|
|
|
@@ -24,7 +26,7 @@
|
|
|
24
26
|
| 会话记忆层 | `sessions/active/sessions.jsonl` | 存储最近会话消息,支撑实时检索与上下文注入 |
|
|
25
27
|
| 事件归档层 | `sessions/archive/sessions.jsonl` | 存储已沉淀事件(摘要、实体、结果),用于长期回顾 |
|
|
26
28
|
| 实体关系层 | 基于归档事件中的 `entities` / `relations` 字段动态构图 | 支撑 `query_graph` 的实体共现与关系查询(派生图谱,不单独落盘) |
|
|
27
|
-
| 向量检索层 | `vector/lancedb`(可用时)或 `vector/lancedb_events.jsonl`(回退) |
|
|
29
|
+
| 向量检索层 | `vector/lancedb`(可用时)或 `vector/lancedb_events.jsonl`(回退) | 存储 active/archive 全文分块向量(含 `source_memory_id` 与 chunk 元信息),用于语义检索与同源融合 |
|
|
28
30
|
| 规则知识层 | `CORTEX_RULES.md` | 存储由反思生成的可复用规则,供后续任务复用 |
|
|
29
31
|
| 运行状态层 | `.sync_state.json` / `.session_end_state.json` / `.rule_store_state.json` / `.dedup_index.json` / `graph/mutation_log.jsonl` | 记录增量同步、session_end 幂等、规则去重、三阶段去重索引、图谱变更审计日志 |
|
|
30
32
|
| 说明与入口层 | `MEMORY.md` | 记忆库说明与使用约定入口 |
|
|
@@ -35,9 +37,12 @@
|
|
|
35
37
|
- 图谱派生:实体关系来自事件层的 `entities` / `relations`,查询时动态生成图结构
|
|
36
38
|
- 图谱治理:写入前按 `schema/graph.schema.yaml` 做 event/relation 规范化与关系规则校验
|
|
37
39
|
- 会话结束写入:message hook 默认仅缓存,会在 `session_end` 后批量抽取并落盘
|
|
40
|
+
- 严格导入门禁:历史导入内容必须经 LLM 提取判定后才写入事件层与图谱层
|
|
38
41
|
- 增量导入:通过状态文件只处理新增会话内容,避免全量重复扫描
|
|
39
42
|
- 幂等去重:对 session_end 事件和规则写入做签名判重,减少重复沉淀
|
|
40
43
|
- 三阶段去重:SimHash 预过滤 → MinHash 精比对 → 向量余弦相似度
|
|
44
|
+
- 全文分块向量化:active/archive 两层统一使用可配置 chunk 策略(默认 `600/100`,语义断句优先)
|
|
45
|
+
- 混合检索:关键词/BM25 + 向量召回统一融合重排,并支持长度归一化防止长文本天然占优
|
|
41
46
|
- 自动演进:可结合 `autoSync`、`autoReflect` 持续把会话经验转化为长期可复用记忆
|
|
42
47
|
- 可观测可诊断:通过 `diagnostics` 与状态文件快速定位数据目录、同步与反思异常
|
|
43
48
|
|
|
@@ -50,29 +55,33 @@
|
|
|
50
55
|
|
|
51
56
|
### 安装步骤
|
|
52
57
|
|
|
58
|
+
命令前缀说明:
|
|
59
|
+
- 若你是全局安装 OpenClaw,请直接使用 `openclaw ...`
|
|
60
|
+
- 若你使用源码安装的 OpenClaw ,请使用 `pnpm openclaw ...`
|
|
61
|
+
|
|
53
62
|
快速安装(推荐,显式来源):
|
|
54
63
|
|
|
55
64
|
```bash
|
|
56
65
|
cd ~/openclaw
|
|
57
|
-
|
|
58
|
-
|
|
66
|
+
openclaw plugins install clawhub:openclaw-cortex-memory
|
|
67
|
+
openclaw plugins enable openclaw-cortex-memory
|
|
59
68
|
```
|
|
60
69
|
|
|
61
70
|
npm 安装方式:
|
|
62
71
|
|
|
63
72
|
```bash
|
|
64
73
|
cd ~/openclaw
|
|
65
|
-
|
|
66
|
-
|
|
74
|
+
openclaw plugins install openclaw-cortex-memory@alpha
|
|
75
|
+
openclaw plugins enable openclaw-cortex-memory
|
|
67
76
|
```
|
|
68
77
|
|
|
69
78
|
第三种安装方式(当 ClawHub/npm 解析受网络影响时):
|
|
70
79
|
|
|
71
80
|
```bash
|
|
72
|
-
curl -L -o /tmp/cortex.tgz https://registry.npmjs.org/openclaw-cortex-memory/-/openclaw-cortex-memory-0.1.0-Alpha.
|
|
81
|
+
curl -L -o /tmp/cortex.tgz https://registry.npmjs.org/openclaw-cortex-memory/-/openclaw-cortex-memory-0.1.0-Alpha.9.tgz
|
|
73
82
|
cd ~/openclaw
|
|
74
|
-
|
|
75
|
-
|
|
83
|
+
openclaw plugins install /tmp/cortex.tgz
|
|
84
|
+
openclaw plugins enable openclaw-cortex-memory
|
|
76
85
|
rm -f /tmp/cortex.tgz
|
|
77
86
|
```
|
|
78
87
|
|
|
@@ -80,9 +89,9 @@ rm -f /tmp/cortex.tgz
|
|
|
80
89
|
|
|
81
90
|
```bash
|
|
82
91
|
cd ~/openclaw
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
92
|
+
openclaw plugins uninstall openclaw-cortex-memory
|
|
93
|
+
openclaw plugins install clawhub:openclaw-cortex-memory
|
|
94
|
+
openclaw plugins enable openclaw-cortex-memory
|
|
86
95
|
```
|
|
87
96
|
|
|
88
97
|
说明:
|
|
@@ -123,27 +132,12 @@ npm install
|
|
|
123
132
|
"autoReflectIntervalMinutes": 30,
|
|
124
133
|
"readFusion": {
|
|
125
134
|
"enabled": true,
|
|
126
|
-
"maxCandidates": 10,
|
|
127
135
|
"authoritative": true
|
|
128
136
|
},
|
|
129
137
|
"memoryDecay": {
|
|
130
138
|
"enabled": true,
|
|
131
|
-
"minFloor": 0.15,
|
|
132
|
-
"defaultHalfLifeDays": 90,
|
|
133
|
-
"halfLifeByEventType": {
|
|
134
|
-
"issue": 30,
|
|
135
|
-
"fix": 30,
|
|
136
|
-
"action_item": 30,
|
|
137
|
-
"decision": 120,
|
|
138
|
-
"preference": 240,
|
|
139
|
-
"constraint": 240,
|
|
140
|
-
"requirement": 240
|
|
141
|
-
},
|
|
142
139
|
"antiDecay": {
|
|
143
|
-
"enabled": true
|
|
144
|
-
"maxBoost": 1.6,
|
|
145
|
-
"hitWeight": 0.08,
|
|
146
|
-
"recentWindowDays": 30
|
|
140
|
+
"enabled": true
|
|
147
141
|
}
|
|
148
142
|
},
|
|
149
143
|
"embedding": {
|
|
@@ -176,6 +170,9 @@ npm install
|
|
|
176
170
|
|
|
177
171
|
- `readFusion.enabled`:开启多路召回后 LLM 融合
|
|
178
172
|
- `readFusion.authoritative`:开启后仅返回融合后的权威记忆包
|
|
173
|
+
- `readFusion.channelWeights/channelTopK`:控制各召回通道权重与配额
|
|
174
|
+
- `readFusion.lengthNorm`:长度归一化参数,抑制超长文本得分偏置
|
|
175
|
+
- `vectorChunking.chunkSize/chunkOverlap`:全文分块向量化参数(默认 `600/100`)
|
|
179
176
|
- `memoryDecay.enabled`:开启按 `event_type` 半衰期衰减
|
|
180
177
|
- `memoryDecay.antiDecay.enabled`:开启命中频次反衰减,避免高价值老记忆被过度衰减
|
|
181
178
|
- `autoReflect`:建议在验证稳定后再开启;默认 `false`
|
|
@@ -186,7 +183,6 @@ npm install
|
|
|
186
183
|
|--------|------|------|
|
|
187
184
|
| `embedding.provider` | 是 | 建议使用 `api`(统一第三方接口模式) |
|
|
188
185
|
| `embedding.model` | 是 | 嵌入模型名称 |
|
|
189
|
-
| `embedding.dimensions` | 否 | 向量维度,需与模型匹配 |
|
|
190
186
|
| `embedding.apiKey` | 是 | Embedding API Key(建议 `${EMBEDDING_API_KEY}`) |
|
|
191
187
|
| `embedding.baseURL` | 是 | Embedding API 端点 |
|
|
192
188
|
| `llm.provider` | 是 | 建议使用 `api` |
|
|
@@ -203,22 +199,15 @@ npm install
|
|
|
203
199
|
| `autoReflect` | 否 | 自动触发记忆反思,默认 `false` |
|
|
204
200
|
| `autoReflectIntervalMinutes` | 否 | 自动反思扫描间隔(分钟),默认 `30`,最小 `5` |
|
|
205
201
|
| `readFusion.enabled` | 否 | 启用重排后 LLM 融合,默认 `true` |
|
|
206
|
-
| `readFusion.maxCandidates` | 否 | 融合候选上限,默认 `10` |
|
|
207
202
|
| `readFusion.authoritative` | 否 | 仅返回融合权威记忆包,默认 `true` |
|
|
208
203
|
| `memoryDecay.enabled` | 否 | 启用按 `event_type` 的半衰期衰减,默认 `true` |
|
|
209
|
-
| `memoryDecay.minFloor` | 否 | 衰减系数下限(0~1),默认 `0.15` |
|
|
210
|
-
| `memoryDecay.defaultHalfLifeDays` | 否 | 未配置类型的默认半衰期(天),默认 `90` |
|
|
211
|
-
| `memoryDecay.halfLifeByEventType` | 否 | 各 `event_type` 半衰期覆盖配置(天) |
|
|
212
204
|
| `memoryDecay.antiDecay.enabled` | 否 | 启用命中频次反衰减,默认 `true` |
|
|
213
|
-
| `memoryDecay.antiDecay.maxBoost` | 否 | 反衰减最大增益(>=1),默认 `1.6` |
|
|
214
|
-
| `memoryDecay.antiDecay.hitWeight` | 否 | 命中次数增益系数,默认 `0.08` |
|
|
215
|
-
| `memoryDecay.antiDecay.recentWindowDays` | 否 | 命中新鲜度窗口(天),默认 `30` |
|
|
216
205
|
|
|
217
206
|
### 启动
|
|
218
207
|
|
|
219
208
|
```bash
|
|
220
|
-
|
|
221
|
-
|
|
209
|
+
openclaw config validate
|
|
210
|
+
openclaw gateway restart
|
|
222
211
|
```
|
|
223
212
|
|
|
224
213
|
### 主 Agent 注入说明
|
|
@@ -234,9 +223,10 @@ pnpm openclaw gateway restart
|
|
|
234
223
|
5) 需要实体关联关系时调用 query_graph。
|
|
235
224
|
6) 当任务经历“失败→调整→最终成功”时,优先用 store_event 记录失败原因与成功方案,再调用 reflect_memory 沉淀可复用规则。
|
|
236
225
|
7) 需要导入历史会话时调用 sync_memory。
|
|
237
|
-
8)
|
|
238
|
-
9)
|
|
239
|
-
10)
|
|
226
|
+
8) 当 diagnostics 显示 active/archive 存在未向量化记录,或迁移后需要重建向量层时,调用 backfill_embeddings(按需选择 incremental/vector_only/full)。
|
|
227
|
+
9) 出现配置校验失败、记忆读写异常、检索结果异常或数据目录问题时,优先调用 diagnostics。
|
|
228
|
+
10) 同一任务内不要反复调用 store_event 或 reflect_memory;仅在关键节点或任务收尾时触发一次。
|
|
229
|
+
11) 不要臆造历史事实;无法确认时必须先检索。
|
|
240
230
|
```
|
|
241
231
|
|
|
242
232
|
## 可用工具
|
|
@@ -249,9 +239,10 @@ pnpm openclaw gateway restart
|
|
|
249
239
|
| `get_hot_context` | 获取热上下文(CORTEX_RULES.md + 近期会话) |
|
|
250
240
|
| `get_auto_context` | 自动检索相关记忆 + 热上下文 |
|
|
251
241
|
| `reflect_memory` | 触发记忆反思,将事件转化为规则 |
|
|
252
|
-
| `sync_memory` | 同步 OpenClaw
|
|
242
|
+
| `sync_memory` | 同步 OpenClaw 历史会话(增量),并通过 LLM 判定后写入事件/图谱 |
|
|
243
|
+
| `backfill_embeddings` | 向量回填/重建(支持 `incremental`、`vector_only`、`full`) |
|
|
253
244
|
| `delete_memory` | 删除指定记忆 |
|
|
254
|
-
| `diagnostics` |
|
|
245
|
+
| `diagnostics` | 系统诊断(含 embedding/LLM/reranker 连通性检查) |
|
|
255
246
|
|
|
256
247
|
## CLI 命令
|
|
257
248
|
|
package/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cortex-memory
|
|
3
|
-
description: 长期记忆系统(纯 TypeScript
|
|
3
|
+
description: 长期记忆系统(纯 TypeScript)。适用于历史对话回溯、偏好记忆、项目上下文延续与跨会话信息复用场景。
|
|
4
4
|
homepage: https://github.com/deki18/openclaw-cortex-memory
|
|
5
5
|
metadata:
|
|
6
6
|
{
|
|
@@ -15,20 +15,20 @@ metadata:
|
|
|
15
15
|
}
|
|
16
16
|
---
|
|
17
17
|
|
|
18
|
-
# Cortex Memory
|
|
18
|
+
# Cortex Memory · 长期记忆系统
|
|
19
19
|
|
|
20
|
-
为 OpenClaw Agent
|
|
20
|
+
为 OpenClaw Agent 提供稳定的跨会话记忆能力。
|
|
21
21
|
|
|
22
22
|
## 使用场景
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
**建议使用场景(USE when):**
|
|
25
25
|
- 用户询问过去的对话内容或决策
|
|
26
26
|
- 需要记住用户偏好、项目信息
|
|
27
27
|
- 跨会话保持上下文
|
|
28
28
|
- 查询实体关系(人物、项目、技术)
|
|
29
29
|
- 存储重要事件或里程碑
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
**不建议使用场景(DON'T use when):**
|
|
32
32
|
- 仅需当前会话的临时信息
|
|
33
33
|
- 查询实时数据(天气、新闻等)
|
|
34
34
|
|
|
@@ -36,32 +36,36 @@ metadata:
|
|
|
36
36
|
|
|
37
37
|
### 安装
|
|
38
38
|
|
|
39
|
+
命令前缀说明:
|
|
40
|
+
- 若你是全局安装 OpenClaw,请直接使用 `openclaw ...`
|
|
41
|
+
- 若你使用源码安装的 OpenClaw ,请使用 `pnpm openclaw ...`
|
|
42
|
+
|
|
39
43
|
快速安装(推荐,显式来源):
|
|
40
44
|
|
|
41
45
|
```bash
|
|
42
46
|
cd ~/openclaw
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
47
|
+
openclaw plugins install clawhub:openclaw-cortex-memory
|
|
48
|
+
openclaw plugins enable openclaw-cortex-memory
|
|
49
|
+
openclaw gateway restart
|
|
46
50
|
```
|
|
47
51
|
|
|
48
52
|
npm 安装方式:
|
|
49
53
|
|
|
50
54
|
```bash
|
|
51
55
|
cd ~/openclaw
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
56
|
+
openclaw plugins install openclaw-cortex-memory@alpha
|
|
57
|
+
openclaw plugins enable openclaw-cortex-memory
|
|
58
|
+
openclaw gateway restart
|
|
55
59
|
```
|
|
56
60
|
|
|
57
61
|
第三种安装方式(当 ClawHub/npm 解析受网络影响时):
|
|
58
62
|
|
|
59
63
|
```bash
|
|
60
|
-
curl -L -o /tmp/cortex.tgz https://registry.npmjs.org/openclaw-cortex-memory/-/openclaw-cortex-memory-0.1.0-Alpha.
|
|
64
|
+
curl -L -o /tmp/cortex.tgz https://registry.npmjs.org/openclaw-cortex-memory/-/openclaw-cortex-memory-0.1.0-Alpha.9.tgz
|
|
61
65
|
cd ~/openclaw
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
66
|
+
openclaw plugins install /tmp/cortex.tgz
|
|
67
|
+
openclaw plugins enable openclaw-cortex-memory
|
|
68
|
+
openclaw gateway restart
|
|
65
69
|
rm -f /tmp/cortex.tgz
|
|
66
70
|
```
|
|
67
71
|
|
|
@@ -69,10 +73,10 @@ rm -f /tmp/cortex.tgz
|
|
|
69
73
|
|
|
70
74
|
```bash
|
|
71
75
|
cd ~/openclaw
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
+
openclaw plugins uninstall openclaw-cortex-memory
|
|
77
|
+
openclaw plugins install clawhub:openclaw-cortex-memory
|
|
78
|
+
openclaw plugins enable openclaw-cortex-memory
|
|
79
|
+
openclaw gateway restart
|
|
76
80
|
```
|
|
77
81
|
|
|
78
82
|
说明:
|
|
@@ -88,8 +92,8 @@ git clone https://github.com/deki18/openclaw-cortex-memory.git ~/openclaw-cortex
|
|
|
88
92
|
cd ~/openclaw-cortex-memory-src
|
|
89
93
|
npm install && npm run build && npm pack
|
|
90
94
|
cd ~/openclaw
|
|
91
|
-
|
|
92
|
-
|
|
95
|
+
openclaw plugins install ~/openclaw-cortex-memory-src/openclaw-cortex-memory-0.1.0-Alpha.9.tgz
|
|
96
|
+
openclaw gateway restart
|
|
93
97
|
```
|
|
94
98
|
|
|
95
99
|
### 本地开发模式(无安装记录)
|
|
@@ -121,27 +125,12 @@ npm install
|
|
|
121
125
|
"autoReflectIntervalMinutes": 30,
|
|
122
126
|
"readFusion": {
|
|
123
127
|
"enabled": true,
|
|
124
|
-
"maxCandidates": 10,
|
|
125
128
|
"authoritative": true
|
|
126
129
|
},
|
|
127
130
|
"memoryDecay": {
|
|
128
131
|
"enabled": true,
|
|
129
|
-
"minFloor": 0.15,
|
|
130
|
-
"defaultHalfLifeDays": 90,
|
|
131
|
-
"halfLifeByEventType": {
|
|
132
|
-
"issue": 30,
|
|
133
|
-
"fix": 30,
|
|
134
|
-
"action_item": 30,
|
|
135
|
-
"decision": 120,
|
|
136
|
-
"preference": 240,
|
|
137
|
-
"constraint": 240,
|
|
138
|
-
"requirement": 240
|
|
139
|
-
},
|
|
140
132
|
"antiDecay": {
|
|
141
|
-
"enabled": true
|
|
142
|
-
"maxBoost": 1.6,
|
|
143
|
-
"hitWeight": 0.08,
|
|
144
|
-
"recentWindowDays": 30
|
|
133
|
+
"enabled": true
|
|
145
134
|
}
|
|
146
135
|
},
|
|
147
136
|
"embedding": {
|
|
@@ -187,7 +176,7 @@ openclaw gateway restart
|
|
|
187
176
|
|
|
188
177
|
### 主Agent注入说明
|
|
189
178
|
|
|
190
|
-
首次接入后,建议把下面这段发给主 Agent
|
|
179
|
+
首次接入后,建议把下面这段发给主 Agent,确保其按统一记忆工作流调用工具:
|
|
191
180
|
|
|
192
181
|
```text
|
|
193
182
|
你已接入 Cortex Memory。请遵循以下规则:
|
|
@@ -198,9 +187,10 @@ openclaw gateway restart
|
|
|
198
187
|
5) 需要实体关联关系时调用 query_graph。
|
|
199
188
|
6) 当任务经历“失败→调整→最终成功”时,优先用 store_event 记录失败原因与成功方案,再调用 reflect_memory 沉淀可复用规则。
|
|
200
189
|
7) 需要导入历史会话时调用 sync_memory。
|
|
201
|
-
8)
|
|
202
|
-
9)
|
|
203
|
-
10)
|
|
190
|
+
8) 当 diagnostics 显示 active/archive 存在未向量化记录,或迁移后需要重建向量层时,调用 backfill_embeddings(按需选择 incremental/vector_only/full)。
|
|
191
|
+
9) 出现配置校验失败、记忆读写异常、检索结果异常或数据目录问题时,优先调用 diagnostics。
|
|
192
|
+
10) 同一任务内不要反复调用 store_event 或 reflect_memory;仅在关键节点或任务收尾时触发一次。
|
|
193
|
+
11) 不要臆造历史事实;无法确认时必须先检索。
|
|
204
194
|
```
|
|
205
195
|
|
|
206
196
|
## 可用工具
|
|
@@ -264,7 +254,20 @@ openclaw gateway restart
|
|
|
264
254
|
|
|
265
255
|
### sync_memory
|
|
266
256
|
|
|
267
|
-
|
|
257
|
+
增量同步会话记录,且必须经 LLM 提取判定后才写入事件/图谱记忆(无参数)。
|
|
258
|
+
|
|
259
|
+
### backfill_embeddings
|
|
260
|
+
|
|
261
|
+
按层回填或重建向量,支持全文分块向量重建。
|
|
262
|
+
|
|
263
|
+
**参数:**
|
|
264
|
+
| 参数 | 类型 | 必需 | 说明 |
|
|
265
|
+
|------|------|------|------|
|
|
266
|
+
| layer | string | 否 | `active` / `archive` / `all` |
|
|
267
|
+
| batch_size | number | 否 | 每批处理数量 |
|
|
268
|
+
| max_retries | number | 否 | 失败重试上限 |
|
|
269
|
+
| retry_failed_only | boolean | 否 | 仅处理失败记录 |
|
|
270
|
+
| rebuild_mode | string | 否 | `incremental` / `vector_only` / `full` |
|
|
268
271
|
|
|
269
272
|
### delete_memory
|
|
270
273
|
|
|
@@ -277,7 +280,7 @@ openclaw gateway restart
|
|
|
277
280
|
|
|
278
281
|
### diagnostics
|
|
279
282
|
|
|
280
|
-
|
|
283
|
+
运行本地系统诊断,检查数据目录、分层状态与 embedding/LLM/reranker 连通性。
|
|
281
284
|
|
|
282
285
|
## 配置选项
|
|
283
286
|
|
|
@@ -285,7 +288,6 @@ openclaw gateway restart
|
|
|
285
288
|
|------|------|--------|------|
|
|
286
289
|
| embedding.provider | 是 | - | `api`(推荐) |
|
|
287
290
|
| embedding.model | 是 | - | Embedding 模型名称 |
|
|
288
|
-
| embedding.dimensions | 否 | 3072 | 向量维度 |
|
|
289
291
|
| embedding.apiKey | 是 | ${EMBEDDING_API_KEY} | Embedding API Key |
|
|
290
292
|
| embedding.baseURL | 是 | - | Embedding API 端点 |
|
|
291
293
|
| llm.provider | 是 | - | `api`(推荐) |
|
|
@@ -302,16 +304,9 @@ openclaw gateway restart
|
|
|
302
304
|
| autoReflect | 否 | false | 自动触发反思 |
|
|
303
305
|
| autoReflectIntervalMinutes | 否 | 30 | 自动反思扫描间隔(分钟) |
|
|
304
306
|
| readFusion.enabled | 否 | true | 启用检索重排后的 LLM 融合 |
|
|
305
|
-
| readFusion.maxCandidates | 否 | 10 | 融合候选上限 |
|
|
306
307
|
| readFusion.authoritative | 否 | true | 仅返回融合权威记忆包 |
|
|
307
308
|
| memoryDecay.enabled | 否 | true | 启用按事件类型半衰期衰减 |
|
|
308
|
-
| memoryDecay.minFloor | 否 | 0.15 | 衰减系数下限 |
|
|
309
|
-
| memoryDecay.defaultHalfLifeDays | 否 | 90 | 未配置类型默认半衰期(天) |
|
|
310
|
-
| memoryDecay.halfLifeByEventType | 否 | - | 各事件类型半衰期覆盖配置 |
|
|
311
309
|
| memoryDecay.antiDecay.enabled | 否 | true | 启用命中频次反衰减 |
|
|
312
|
-
| memoryDecay.antiDecay.maxBoost | 否 | 1.6 | 反衰减最大增益 |
|
|
313
|
-
| memoryDecay.antiDecay.hitWeight | 否 | 0.08 | 命中次数增益系数 |
|
|
314
|
-
| memoryDecay.antiDecay.recentWindowDays | 否 | 30 | 命中新鲜度窗口(天) |
|
|
315
310
|
|
|
316
311
|
## 数据文件
|
|
317
312
|
|
package/dist/index.d.ts
CHANGED
|
@@ -36,6 +36,30 @@ interface CortexMemoryConfig {
|
|
|
36
36
|
enabled?: boolean;
|
|
37
37
|
maxCandidates?: number;
|
|
38
38
|
authoritative?: boolean;
|
|
39
|
+
channelWeights?: {
|
|
40
|
+
rules?: number;
|
|
41
|
+
archive?: number;
|
|
42
|
+
vector?: number;
|
|
43
|
+
graph?: number;
|
|
44
|
+
};
|
|
45
|
+
channelTopK?: {
|
|
46
|
+
rules?: number;
|
|
47
|
+
archive?: number;
|
|
48
|
+
vector?: number;
|
|
49
|
+
graph?: number;
|
|
50
|
+
};
|
|
51
|
+
minLexicalHits?: number;
|
|
52
|
+
minSemanticHits?: number;
|
|
53
|
+
lengthNorm?: {
|
|
54
|
+
enabled?: boolean;
|
|
55
|
+
pivotChars?: number;
|
|
56
|
+
strength?: number;
|
|
57
|
+
minFactor?: number;
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
vectorChunking?: {
|
|
61
|
+
chunkSize?: number;
|
|
62
|
+
chunkOverlap?: number;
|
|
39
63
|
};
|
|
40
64
|
memoryDecay?: {
|
|
41
65
|
enabled?: boolean;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|