openclaw-cortex-memory 0.1.0-Alpha.3 → 0.1.0-Alpha.31
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/LICENSE +21 -0
- package/README.md +296 -203
- package/SIGNATURE.md +7 -0
- package/SKILL.md +92 -268
- package/dist/index.d.ts +100 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1249 -1252
- package/dist/index.js.map +1 -1
- package/dist/openclaw.plugin.json +501 -16
- package/dist/src/dedup/three_stage_deduplicator.d.ts +25 -0
- package/dist/src/dedup/three_stage_deduplicator.d.ts.map +1 -0
- package/dist/src/dedup/three_stage_deduplicator.js +224 -0
- package/dist/src/dedup/three_stage_deduplicator.js.map +1 -0
- package/dist/src/engine/memory_engine.d.ts +6 -1
- package/dist/src/engine/memory_engine.d.ts.map +1 -1
- package/dist/src/engine/ts_engine.d.ts +242 -0
- package/dist/src/engine/ts_engine.d.ts.map +1 -1
- package/dist/src/engine/ts_engine.js +1468 -52
- package/dist/src/engine/ts_engine.js.map +1 -1
- package/dist/src/engine/types.d.ts +29 -0
- package/dist/src/engine/types.d.ts.map +1 -1
- package/dist/src/graph/ontology.d.ts +125 -0
- package/dist/src/graph/ontology.d.ts.map +1 -0
- package/dist/src/graph/ontology.js +1237 -0
- package/dist/src/graph/ontology.js.map +1 -0
- package/dist/src/net/http_post.d.ts +17 -0
- package/dist/src/net/http_post.d.ts.map +1 -0
- package/dist/src/net/http_post.js +56 -0
- package/dist/src/net/http_post.js.map +1 -0
- package/dist/src/quality/llm_output_validator.d.ts +66 -0
- package/dist/src/quality/llm_output_validator.d.ts.map +1 -0
- package/dist/src/quality/llm_output_validator.js +659 -0
- package/dist/src/quality/llm_output_validator.js.map +1 -0
- package/dist/src/reflect/reflector.d.ts +7 -0
- package/dist/src/reflect/reflector.d.ts.map +1 -1
- package/dist/src/reflect/reflector.js +352 -8
- package/dist/src/reflect/reflector.js.map +1 -1
- package/dist/src/rules/rule_store.d.ts.map +1 -1
- package/dist/src/rules/rule_store.js +75 -16
- package/dist/src/rules/rule_store.js.map +1 -1
- package/dist/src/session/session_end.d.ts +33 -0
- package/dist/src/session/session_end.d.ts.map +1 -1
- package/dist/src/session/session_end.js +67 -64
- package/dist/src/session/session_end.js.map +1 -1
- package/dist/src/store/archive_store.d.ts +136 -0
- package/dist/src/store/archive_store.d.ts.map +1 -0
- package/dist/src/store/archive_store.js +635 -0
- package/dist/src/store/archive_store.js.map +1 -0
- 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/graph_memory_store.d.ts +114 -0
- package/dist/src/store/graph_memory_store.d.ts.map +1 -0
- package/dist/src/store/graph_memory_store.js +841 -0
- package/dist/src/store/graph_memory_store.js.map +1 -0
- package/dist/src/store/read_store.d.ts +89 -0
- package/dist/src/store/read_store.d.ts.map +1 -1
- package/dist/src/store/read_store.js +2459 -28
- package/dist/src/store/read_store.js.map +1 -1
- package/dist/src/store/vector_store.d.ts +45 -0
- package/dist/src/store/vector_store.d.ts.map +1 -0
- package/dist/src/store/vector_store.js +202 -0
- package/dist/src/store/vector_store.js.map +1 -0
- package/dist/src/store/write_store.d.ts +54 -0
- package/dist/src/store/write_store.d.ts.map +1 -1
- package/dist/src/store/write_store.js +284 -6
- package/dist/src/store/write_store.js.map +1 -1
- package/dist/src/sync/session_sync.d.ts +119 -2
- package/dist/src/sync/session_sync.d.ts.map +1 -1
- package/dist/src/sync/session_sync.js +2377 -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/dist/src/wiki/wiki_linter.d.ts +25 -0
- package/dist/src/wiki/wiki_linter.d.ts.map +1 -0
- package/dist/src/wiki/wiki_linter.js +268 -0
- package/dist/src/wiki/wiki_linter.js.map +1 -0
- package/dist/src/wiki/wiki_logger.d.ts +10 -0
- package/dist/src/wiki/wiki_logger.d.ts.map +1 -0
- package/dist/src/wiki/wiki_logger.js +78 -0
- package/dist/src/wiki/wiki_logger.js.map +1 -0
- package/dist/src/wiki/wiki_maintainer.d.ts +36 -0
- package/dist/src/wiki/wiki_maintainer.d.ts.map +1 -0
- package/dist/src/wiki/wiki_maintainer.js +38 -0
- package/dist/src/wiki/wiki_maintainer.js.map +1 -0
- package/dist/src/wiki/wiki_projector.d.ts +33 -0
- package/dist/src/wiki/wiki_projector.d.ts.map +1 -0
- package/dist/src/wiki/wiki_projector.js +633 -0
- package/dist/src/wiki/wiki_projector.js.map +1 -0
- package/dist/src/wiki/wiki_queue.d.ts +29 -0
- package/dist/src/wiki/wiki_queue.d.ts.map +1 -0
- package/dist/src/wiki/wiki_queue.js +137 -0
- package/dist/src/wiki/wiki_queue.js.map +1 -0
- package/openclaw.plugin.json +501 -16
- package/package.json +58 -7
- package/schema/graph.schema.yaml +330 -0
- package/scripts/cli.js +19 -14
- package/scripts/repair-memory.js +321 -0
- package/scripts/uninstall.js +22 -5
- package/skills/cortex-memory/SKILL.md +49 -0
- package/skills/cortex-memory/references/agent-manual.md +115 -0
- package/skills/cortex-memory/references/configuration.md +92 -0
- package/skills/cortex-memory/references/publish-checklist.md +46 -0
- package/skills/cortex-memory/references/system-prompt-template.md +27 -0
- package/skills/cortex-memory/references/tools.md +181 -0
- package/skills/cortex-memory/scripts/smoke-check.ps1 +56 -0
- package/index.ts +0 -2142
package/SKILL.md
CHANGED
|
@@ -1,268 +1,92 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cortex-memory
|
|
3
|
-
description:
|
|
4
|
-
homepage: https://github.com/deki18/openclaw-cortex-memory
|
|
5
|
-
metadata:
|
|
6
|
-
{
|
|
7
|
-
"openclaw": {
|
|
8
|
-
"emoji": "🧠",
|
|
9
|
-
"os": ["darwin", "linux", "win32"],
|
|
10
|
-
"requires": {
|
|
11
|
-
"env": ["
|
|
12
|
-
},
|
|
13
|
-
"primaryEnv": "
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
# Cortex Memory
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
###
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
"autoReflect": true,
|
|
94
|
-
"embedding": {
|
|
95
|
-
"provider": "api",
|
|
96
|
-
"model": "text-embedding-3-large",
|
|
97
|
-
"apiKey": "${EMBEDDING_API_KEY}",
|
|
98
|
-
"baseURL": "https://your-embedding-endpoint/v1",
|
|
99
|
-
"dimensions": 3072
|
|
100
|
-
},
|
|
101
|
-
"llm": {
|
|
102
|
-
"provider": "api",
|
|
103
|
-
"model": "gpt-4",
|
|
104
|
-
"apiKey": "${LLM_API_KEY}",
|
|
105
|
-
"baseURL": "https://your-llm-endpoint/v1"
|
|
106
|
-
},
|
|
107
|
-
"reranker": {
|
|
108
|
-
"provider": "api",
|
|
109
|
-
"model": "BAAI/bge-reranker-v2-m3",
|
|
110
|
-
"apiKey": "${RERANKER_API_KEY}",
|
|
111
|
-
"baseURL": "https://your-reranker-endpoint/v1/rerank"
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
### 启动
|
|
121
|
-
|
|
122
|
-
```bash
|
|
123
|
-
openclaw config validate
|
|
124
|
-
openclaw gateway restart
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
### 主Agent注入说明
|
|
128
|
-
|
|
129
|
-
首次接入后,建议把下面这段发给主 Agent,确保它会主动使用记忆工具:
|
|
130
|
-
|
|
131
|
-
```text
|
|
132
|
-
你已接入 Cortex Memory。请遵循以下规则:
|
|
133
|
-
1) 当用户询问历史对话、偏好、项目上下文时,先调用 search_memory 再回答。
|
|
134
|
-
2) 需要当前会话热上下文时调用 get_hot_context。
|
|
135
|
-
3) 需要自动召回相关记忆时调用 get_auto_context。
|
|
136
|
-
4) 在一件重要事情结束并形成明确结果后,再调用 store_event 记录(不要在过程进行中频繁记录)。
|
|
137
|
-
5) 需要实体关联关系时调用 query_graph。
|
|
138
|
-
6) 当任务经历“失败→调整→最终成功”时,优先用 store_event 记录失败原因与成功方案,再调用 reflect_memory 沉淀可复用规则。
|
|
139
|
-
7) 需要导入历史会话时调用 sync_memory。
|
|
140
|
-
8) 出现配置校验失败、记忆读写异常、检索结果异常或数据目录问题时,优先调用 diagnostics。
|
|
141
|
-
9) 同一任务内不要反复调用 store_event 或 reflect_memory;仅在关键节点或任务收尾时触发一次。
|
|
142
|
-
10) 不要臆造历史事实;无法确认时必须先检索。
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
## 可用工具
|
|
146
|
-
|
|
147
|
-
### search_memory
|
|
148
|
-
|
|
149
|
-
语义搜索长期记忆。
|
|
150
|
-
|
|
151
|
-
**参数:**
|
|
152
|
-
| 参数 | 类型 | 必需 | 说明 |
|
|
153
|
-
|------|------|------|------|
|
|
154
|
-
| query | string | 是 | 搜索查询 |
|
|
155
|
-
| top_k | number | 否 | 返回数量,默认 3 |
|
|
156
|
-
|
|
157
|
-
### store_event
|
|
158
|
-
|
|
159
|
-
写入事件摘要到归档记忆。
|
|
160
|
-
|
|
161
|
-
**参数:**
|
|
162
|
-
| 参数 | 类型 | 必需 | 说明 |
|
|
163
|
-
|------|------|------|------|
|
|
164
|
-
| summary | string | 是 | 事件摘要 |
|
|
165
|
-
| entities | array | 否 | 相关实体列表 |
|
|
166
|
-
| outcome | string | 否 | 事件结果 |
|
|
167
|
-
| relations | array | 否 | 实体关系 |
|
|
168
|
-
|
|
169
|
-
### query_graph
|
|
170
|
-
|
|
171
|
-
查询归档事件中的实体共现关系。
|
|
172
|
-
|
|
173
|
-
**参数:**
|
|
174
|
-
| 参数 | 类型 | 必需 | 说明 |
|
|
175
|
-
|------|------|------|------|
|
|
176
|
-
| entity | string | 是 | 实体名称 |
|
|
177
|
-
|
|
178
|
-
### get_hot_context
|
|
179
|
-
|
|
180
|
-
获取当前热上下文(CORTEX_RULES.md + 近期会话)。
|
|
181
|
-
|
|
182
|
-
**参数:**
|
|
183
|
-
| 参数 | 类型 | 必需 | 说明 |
|
|
184
|
-
|------|------|------|------|
|
|
185
|
-
| limit | number | 否 | 最大条目数,默认 20 |
|
|
186
|
-
|
|
187
|
-
### get_auto_context
|
|
188
|
-
|
|
189
|
-
自动检索相关记忆(基于近期消息)。
|
|
190
|
-
|
|
191
|
-
**参数:**
|
|
192
|
-
| 参数 | 类型 | 必需 | 说明 |
|
|
193
|
-
|------|------|------|------|
|
|
194
|
-
| include_hot | boolean | 否 | 包含热上下文,默认 true |
|
|
195
|
-
|
|
196
|
-
### reflect_memory
|
|
197
|
-
|
|
198
|
-
将归档事件反思为规则并写入 `CORTEX_RULES.md`。
|
|
199
|
-
|
|
200
|
-
### sync_memory
|
|
201
|
-
|
|
202
|
-
增量同步会话记录到本地记忆(无参数)。
|
|
203
|
-
|
|
204
|
-
### delete_memory
|
|
205
|
-
|
|
206
|
-
删除指定记忆。
|
|
207
|
-
|
|
208
|
-
**参数:**
|
|
209
|
-
| 参数 | 类型 | 必需 | 说明 |
|
|
210
|
-
|------|------|------|------|
|
|
211
|
-
| memory_id | string | 是 | 记忆 ID |
|
|
212
|
-
|
|
213
|
-
### diagnostics
|
|
214
|
-
|
|
215
|
-
运行本地系统诊断,检查数据目录与基础状态。
|
|
216
|
-
|
|
217
|
-
## 配置选项
|
|
218
|
-
|
|
219
|
-
| 选项 | 必需 | 默认值 | 说明 |
|
|
220
|
-
|------|------|--------|------|
|
|
221
|
-
| embedding.provider | 是 | - | `api`(推荐) |
|
|
222
|
-
| embedding.model | 是 | - | Embedding 模型名称 |
|
|
223
|
-
| embedding.dimensions | 否 | 3072 | 向量维度 |
|
|
224
|
-
| embedding.apiKey | 是 | ${EMBEDDING_API_KEY} | Embedding API Key |
|
|
225
|
-
| embedding.baseURL | 是 | - | Embedding API 端点 |
|
|
226
|
-
| llm.provider | 是 | - | `api`(推荐) |
|
|
227
|
-
| llm.model | 是 | - | LLM 模型名称 |
|
|
228
|
-
| llm.apiKey | 是 | ${LLM_API_KEY} | LLM API Key |
|
|
229
|
-
| llm.baseURL | 是 | - | LLM API 端点 |
|
|
230
|
-
| reranker.provider | 否 | - | `api`(推荐) |
|
|
231
|
-
| reranker.model | 是 | - | Reranker 模型 |
|
|
232
|
-
| reranker.apiKey | 是 | ${RERANKER_API_KEY} | Reranker API Key |
|
|
233
|
-
| reranker.baseURL | 是 | - | Reranker API 端点 |
|
|
234
|
-
| dbPath | 否 | `<plugin-dir>/data/memory` | 记忆目录路径 |
|
|
235
|
-
| engineMode | 否 | `ts` | 固定为 TS 引擎 |
|
|
236
|
-
| autoSync | 否 | true | 会话结束自动同步 |
|
|
237
|
-
| autoReflect | 否 | false | 自动触发反思 |
|
|
238
|
-
|
|
239
|
-
## 数据文件
|
|
240
|
-
|
|
241
|
-
| 路径 | 说明 |
|
|
242
|
-
|------|------|
|
|
243
|
-
| `<dbPath>/MEMORY.md` | 记忆说明文件 |
|
|
244
|
-
| `<dbPath>/CORTEX_RULES.md` | 规则文件 |
|
|
245
|
-
| `<dbPath>/sessions/active/sessions.jsonl` | 活跃会话记忆 |
|
|
246
|
-
| `<dbPath>/sessions/archive/sessions.jsonl` | 归档事件 |
|
|
247
|
-
| `<dbPath>/.sync_state.json` | 同步增量状态 |
|
|
248
|
-
| `<dbPath>/.session_end_state.json` | session_end 幂等状态 |
|
|
249
|
-
| `<dbPath>/.rule_store_state.json` | 规则去重状态 |
|
|
250
|
-
|
|
251
|
-
## 错误处理
|
|
252
|
-
|
|
253
|
-
| 错误代码 | 说明 | 处理方式 |
|
|
254
|
-
|----------|------|----------|
|
|
255
|
-
| E203 | 重复记忆 | 相似度 > 0.95,已跳过 |
|
|
256
|
-
| E204 | 质量评分过低 | 信息密度不足,未存储 |
|
|
257
|
-
|
|
258
|
-
## 相关文件
|
|
259
|
-
|
|
260
|
-
- `index.ts` - 插件入口与工具注册
|
|
261
|
-
- `src/engine/ts_engine.ts` - TS 引擎实现
|
|
262
|
-
- `src/store/read_store.ts` - 读取能力
|
|
263
|
-
- `src/store/write_store.ts` - 写入能力
|
|
264
|
-
|
|
265
|
-
## 依赖
|
|
266
|
-
|
|
267
|
-
- Node.js >= 22
|
|
268
|
-
- OPENAI_API_KEY(或兼容 API 配置)
|
|
1
|
+
---
|
|
2
|
+
name: cortex-memory
|
|
3
|
+
description: OpenClaw 长期记忆系统(TypeScript)。用于跨会话上下文复用、偏好记忆、历史追溯与图谱关系检索。
|
|
4
|
+
homepage: https://github.com/deki18/openclaw-cortex-memory
|
|
5
|
+
metadata:
|
|
6
|
+
{
|
|
7
|
+
"openclaw": {
|
|
8
|
+
"emoji": "🧠",
|
|
9
|
+
"os": ["darwin", "linux", "win32"],
|
|
10
|
+
"requires": {
|
|
11
|
+
"env": ["EMBEDDING_API_KEY", "LLM_API_KEY", "RERANKER_API_KEY"]
|
|
12
|
+
},
|
|
13
|
+
"primaryEnv": "EMBEDDING_API_KEY"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Cortex Memory
|
|
19
|
+
|
|
20
|
+
## 使用场景
|
|
21
|
+
|
|
22
|
+
推荐使用:
|
|
23
|
+
- 需要跨会话记住用户偏好、项目背景、历史决策
|
|
24
|
+
- 需要查询实体关系(依赖、上下游、关联)
|
|
25
|
+
- 需要把对话沉淀成可复用规则
|
|
26
|
+
|
|
27
|
+
不建议使用:
|
|
28
|
+
- 仅当前会话的一次性临时信息
|
|
29
|
+
- 实时互联网数据查询(天气、新闻、股价)
|
|
30
|
+
|
|
31
|
+
## 可用工具(与代码一致)
|
|
32
|
+
|
|
33
|
+
- `search_memory`
|
|
34
|
+
- `store_event`
|
|
35
|
+
- `query_graph`
|
|
36
|
+
- `export_graph_view`
|
|
37
|
+
- `lint_memory_wiki`
|
|
38
|
+
- `list_graph_conflicts`
|
|
39
|
+
- `resolve_graph_conflict`
|
|
40
|
+
- `get_hot_context`
|
|
41
|
+
- `get_auto_context`
|
|
42
|
+
- `reflect_memory`
|
|
43
|
+
- `sync_memory`
|
|
44
|
+
- `backfill_embeddings`
|
|
45
|
+
- `delete_memory`
|
|
46
|
+
- `diagnostics`
|
|
47
|
+
|
|
48
|
+
### 参数速览
|
|
49
|
+
|
|
50
|
+
| 工具 | 关键参数 |
|
|
51
|
+
|------|------|
|
|
52
|
+
| `search_memory` | `query`, `top_k` |
|
|
53
|
+
| `store_event` | `summary`, `entities`, `entity_types`, `outcome`, `relations` |
|
|
54
|
+
| `query_graph` | `entity`, `rel`, `dir`, `path_to`, `max_depth` |
|
|
55
|
+
| `export_graph_view` | `write_snapshot` |
|
|
56
|
+
| `lint_memory_wiki` | 无 |
|
|
57
|
+
| `list_graph_conflicts` | `status`, `limit` |
|
|
58
|
+
| `resolve_graph_conflict` | `conflict_id`, `action`, `note` |
|
|
59
|
+
| `get_hot_context` | `limit` |
|
|
60
|
+
| `get_auto_context` | `include_hot` |
|
|
61
|
+
| `reflect_memory` | 无 |
|
|
62
|
+
| `sync_memory` | 无 |
|
|
63
|
+
| `backfill_embeddings` | `layer`, `batch_size`, `max_retries`, `retry_failed_only`, `rebuild_mode` |
|
|
64
|
+
| `diagnostics` | 无 |
|
|
65
|
+
| `delete_memory` | `memory_id` |
|
|
66
|
+
|
|
67
|
+
## 使用建议
|
|
68
|
+
|
|
69
|
+
1. 回答历史问题前先调 `search_memory`。
|
|
70
|
+
2. 涉及实体关系优先调 `query_graph`。
|
|
71
|
+
3. 如命中冲突事实(`conflict_hint`),先调 `list_graph_conflicts`,再让用户确认后执行 `resolve_graph_conflict`。
|
|
72
|
+
4. 需要图谱状态快照或排查投影不一致时,调 `export_graph_view` 与 `lint_memory_wiki`。
|
|
73
|
+
5. 会话收尾或批量导入后再调 `sync_memory` / `reflect_memory`。
|
|
74
|
+
6. 诊断发现向量缺失时调 `backfill_embeddings`。
|
|
75
|
+
|
|
76
|
+
## 配置策略
|
|
77
|
+
|
|
78
|
+
先用最小配置跑通:`embedding`、`llm`、`reranker` + `autoSync`。
|
|
79
|
+
高级项(`readFusion`、`memoryDecay`、`vectorChunking`、`writePolicy`、`readTuning`)都有默认值,不需要一开始就调整。
|
|
80
|
+
|
|
81
|
+
## 安全与端点声明
|
|
82
|
+
|
|
83
|
+
- 本插件需要外部端点:`/embeddings`、`/chat/completions`、`/rerank`
|
|
84
|
+
- 凭证来源:环境变量或插件配置中的 `*.apiKey`
|
|
85
|
+
- 仅发送推理所需文本片段,不主动上传本地配置文件全集或环境变量全集
|
|
86
|
+
|
|
87
|
+
## 关键事实
|
|
88
|
+
|
|
89
|
+
- `backfill_embeddings` 已实现且已注册。
|
|
90
|
+
- `query_graph` 支持参数:`entity`、`rel`、`dir`、`path_to`、`max_depth`。
|
|
91
|
+
- `query_graph` 会返回 `wiki_refs`、`evidence_ids`,冲突时返回 `conflict_hint`。
|
|
92
|
+
- 新增图谱治理工具:`export_graph_view`、`lint_memory_wiki`、`list_graph_conflicts`、`resolve_graph_conflict`。
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { EngineMode } from "./src/engine/types";
|
|
2
1
|
interface EmbeddingConfig {
|
|
3
2
|
provider: string;
|
|
4
3
|
model: string;
|
|
@@ -6,6 +5,8 @@ interface EmbeddingConfig {
|
|
|
6
5
|
baseURL?: string;
|
|
7
6
|
baseUrl?: string;
|
|
8
7
|
dimensions?: number;
|
|
8
|
+
timeoutMs?: number;
|
|
9
|
+
maxRetries?: number;
|
|
9
10
|
}
|
|
10
11
|
interface LLMConfig {
|
|
11
12
|
provider: string;
|
|
@@ -23,32 +24,106 @@ interface RerankerConfig {
|
|
|
23
24
|
}
|
|
24
25
|
interface CortexMemoryConfig {
|
|
25
26
|
enabled?: boolean;
|
|
27
|
+
fallbackToBuiltin?: boolean;
|
|
26
28
|
embedding: EmbeddingConfig;
|
|
27
29
|
llm: LLMConfig;
|
|
28
30
|
reranker: RerankerConfig;
|
|
29
31
|
dbPath?: string;
|
|
30
32
|
autoSync?: boolean;
|
|
33
|
+
llmRequiredForWrite?: boolean;
|
|
31
34
|
autoReflect?: boolean;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
autoReflectIntervalMinutes?: number;
|
|
36
|
+
graphQualityMode?: "off" | "warn" | "strict";
|
|
37
|
+
wikiProjection?: {
|
|
38
|
+
enabled?: boolean;
|
|
39
|
+
mode?: "off" | "incremental" | "rebuild";
|
|
40
|
+
maxBatch?: number;
|
|
41
|
+
};
|
|
42
|
+
readFusion?: {
|
|
43
|
+
enabled?: boolean;
|
|
44
|
+
maxCandidates?: number;
|
|
45
|
+
authoritative?: boolean;
|
|
46
|
+
channelWeights?: {
|
|
47
|
+
rules?: number;
|
|
48
|
+
archive?: number;
|
|
49
|
+
vector?: number;
|
|
50
|
+
graph?: number;
|
|
51
|
+
};
|
|
52
|
+
channelTopK?: {
|
|
53
|
+
rules?: number;
|
|
54
|
+
archive?: number;
|
|
55
|
+
vector?: number;
|
|
56
|
+
graph?: number;
|
|
57
|
+
};
|
|
58
|
+
minLexicalHits?: number;
|
|
59
|
+
minSemanticHits?: number;
|
|
60
|
+
lengthNorm?: {
|
|
61
|
+
enabled?: boolean;
|
|
62
|
+
pivotChars?: number;
|
|
63
|
+
strength?: number;
|
|
64
|
+
minFactor?: number;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
vectorChunking?: {
|
|
68
|
+
chunkSize?: number;
|
|
69
|
+
chunkOverlap?: number;
|
|
70
|
+
evidenceMaxChunks?: number;
|
|
71
|
+
};
|
|
72
|
+
writePolicy?: {
|
|
73
|
+
archiveMinConfidence?: number;
|
|
74
|
+
archiveMinQualityScore?: number;
|
|
75
|
+
activeMinQualityScore?: number;
|
|
76
|
+
activeDedupTailLines?: number;
|
|
77
|
+
activeTextMaxChars?: number;
|
|
78
|
+
archiveSourceTextMaxChars?: number;
|
|
79
|
+
};
|
|
80
|
+
syncPolicy?: {
|
|
81
|
+
includeLocalActiveInput?: boolean;
|
|
82
|
+
};
|
|
83
|
+
memoryDecay?: {
|
|
84
|
+
enabled?: boolean;
|
|
85
|
+
minFloor?: number;
|
|
86
|
+
defaultHalfLifeDays?: number;
|
|
87
|
+
halfLifeByEventType?: Record<string, number>;
|
|
88
|
+
antiDecay?: {
|
|
89
|
+
enabled?: boolean;
|
|
90
|
+
maxBoost?: number;
|
|
91
|
+
hitWeight?: number;
|
|
92
|
+
recentWindowDays?: number;
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
readTuning?: {
|
|
96
|
+
scoring?: {
|
|
97
|
+
lexicalWeight?: number;
|
|
98
|
+
bm25Scale?: number;
|
|
99
|
+
semanticWeight?: number;
|
|
100
|
+
recencyWeight?: number;
|
|
101
|
+
qualityWeight?: number;
|
|
102
|
+
typeMatchWeight?: number;
|
|
103
|
+
graphMatchWeight?: number;
|
|
104
|
+
};
|
|
105
|
+
rrf?: {
|
|
106
|
+
k?: number;
|
|
107
|
+
weight?: number;
|
|
108
|
+
};
|
|
109
|
+
recency?: {
|
|
110
|
+
buckets?: Array<{
|
|
111
|
+
maxAgeHours: number;
|
|
112
|
+
score: number;
|
|
113
|
+
bonus: number;
|
|
114
|
+
}>;
|
|
115
|
+
};
|
|
116
|
+
autoContext?: {
|
|
117
|
+
queryMaxChars?: number;
|
|
118
|
+
lightweightSearch?: boolean;
|
|
119
|
+
};
|
|
120
|
+
};
|
|
35
121
|
}
|
|
36
122
|
interface ToolContext {
|
|
37
123
|
agentId: string;
|
|
38
124
|
sessionId?: string;
|
|
39
125
|
workspaceId: string;
|
|
40
126
|
}
|
|
41
|
-
interface ToolResult {
|
|
42
|
-
success: boolean;
|
|
43
|
-
data?: unknown;
|
|
44
|
-
error?: string;
|
|
45
|
-
errorCode?: string;
|
|
46
|
-
}
|
|
47
|
-
interface BuiltinMemory {
|
|
48
|
-
search: (query: string, limit?: number) => Promise<unknown[]>;
|
|
49
|
-
store: (content: string, metadata?: Record<string, unknown>) => Promise<string>;
|
|
50
|
-
delete: (id: string) => Promise<boolean>;
|
|
51
|
-
}
|
|
52
127
|
interface Logger {
|
|
53
128
|
debug: (message: string, ...args: unknown[]) => void;
|
|
54
129
|
info: (message: string, ...args: unknown[]) => void;
|
|
@@ -56,15 +131,15 @@ interface Logger {
|
|
|
56
131
|
error: (message: string, ...args: unknown[]) => void;
|
|
57
132
|
}
|
|
58
133
|
interface OpenClawPluginApi {
|
|
134
|
+
logger?: Logger;
|
|
135
|
+
config?: Record<string, unknown>;
|
|
136
|
+
pluginConfig?: Record<string, unknown>;
|
|
59
137
|
registerTool(tool: {
|
|
60
138
|
name: string;
|
|
61
139
|
description: string;
|
|
62
140
|
parameters: Record<string, unknown>;
|
|
63
|
-
execute?: (params:
|
|
64
|
-
|
|
65
|
-
context: ToolContext;
|
|
66
|
-
}) => Promise<ToolResult>;
|
|
67
|
-
handler?: (...params: unknown[]) => Promise<ToolResult>;
|
|
141
|
+
execute?: (...params: unknown[]) => Promise<unknown>;
|
|
142
|
+
handler?: (...params: unknown[]) => Promise<unknown>;
|
|
68
143
|
}): void;
|
|
69
144
|
unregisterTool?(name: string): void;
|
|
70
145
|
registerHook(hook: {
|
|
@@ -77,13 +152,16 @@ interface OpenClawPluginApi {
|
|
|
77
152
|
off?(event: string, handler: (payload: unknown, context: ToolContext) => Promise<void> | void): void;
|
|
78
153
|
unregisterHook?(event: string): void;
|
|
79
154
|
getLogger?(): Logger;
|
|
80
|
-
getBuiltinMemory?():
|
|
155
|
+
getBuiltinMemory?(): {
|
|
156
|
+
search: (query: string, topK?: number) => Promise<unknown[]>;
|
|
157
|
+
store: (text: string, metadata?: Record<string, unknown>) => Promise<string>;
|
|
158
|
+
delete: (id: string) => Promise<boolean>;
|
|
159
|
+
} | null;
|
|
81
160
|
}
|
|
82
161
|
export declare function enable(): Promise<void>;
|
|
83
162
|
export declare function disable(): Promise<void>;
|
|
84
163
|
export declare function getStatus(): {
|
|
85
164
|
enabled: boolean;
|
|
86
|
-
serviceRunning: boolean;
|
|
87
165
|
};
|
|
88
166
|
export declare function unregister(): Promise<void>;
|
|
89
167
|
export declare function register(pluginApi: OpenClawPluginApi, userConfig?: Partial<CortexMemoryConfig>): void;
|
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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"}
|