metainsight-context-engine 0.0.1 → 0.0.3

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 CHANGED
@@ -21,7 +21,8 @@ MetaInsight Context Engine 是一个 OpenClaw 上下文引擎插件,通过腾
21
21
  - **SecretId** / **SecretKey** — [API 密钥管理](https://console.cloud.tencent.com/cam/capi)
22
22
  - **APPID** — 同一页面可查看
23
23
 
24
- > ⚠️ CI 数据万象仅支持 `ap-beijing`、`ap-shanghai`、`ap-chengdu` 三个区域。
24
+ > ⚠️ 需要上传到 CI 数据万象。
25
+ > ⚠️ 目前智能检索仅支持 `ap-beijing`、`ap-shanghai`、`ap-chengdu` 三个区域。
25
26
 
26
27
  ### 权限要求
27
28
 
@@ -47,6 +48,14 @@ MetaInsight Context Engine 是一个 OpenClaw 上下文引擎插件,通过腾
47
48
 
48
49
  ## 安装
49
50
 
51
+ ### 方式一:通过 OpenClaw CLI 安装(推荐)
52
+
53
+ ```bash
54
+ openclaw plugins install metainsight-context-engine
55
+ ```
56
+
57
+ ### 方式二:手动安装
58
+
50
59
  将插件目录放置到 OpenClaw 的 `extensions/` 目录下,然后安装依赖:
51
60
 
52
61
  ```bash
@@ -123,12 +132,12 @@ npm install --omit=dev
123
132
 
124
133
  #### 本地记忆同步(建议不填, 使用插件全自动处理)
125
134
 
126
- | 配置项 | 类型 | 默认值 | 说明 |
127
- | -------------------- | -------- | ------- | ------------------------------------------- |
128
- | `localMemorySync` | boolean | `true` | 启用本地记忆文件同步到云端 |
129
- | `syncLongTermMemory` | boolean | `true` | 同步 MEMORY.md(需 `localMemorySync=true`) |
130
- | `syncDailyLogs` | boolean | `true` | 同步每日日志(需 `localMemorySync=true`) |
131
- | `syncFileExtensions` | string[] | 见下方 | 扫描并上传的文件扩展名 |
135
+ | 配置项 | 类型 | 默认值 | 说明 |
136
+ | -------------------- | -------- | ------ | ------------------------------------------- |
137
+ | `localMemorySync` | boolean | `true` | 启用本地记忆文件同步到云端 |
138
+ | `syncLongTermMemory` | boolean | `true` | 同步 MEMORY.md(需 `localMemorySync=true`) |
139
+ | `syncDailyLogs` | boolean | `true` | 同步每日日志(需 `localMemorySync=true`) |
140
+ | `syncFileExtensions` | string[] | 见下方 | 扫描并上传的文件扩展名 |
132
141
 
133
142
  <details>
134
143
  <summary><code>syncFileExtensions</code> 默认值</summary>
@@ -225,6 +234,14 @@ LLM 生成响应
225
234
  | [腾讯云 COS](https://cloud.tencent.com/product/cos) | 对象存储,存放记忆文件和资产 |
226
235
  | [腾讯云 CI](https://cloud.tencent.com/product/ci) | 数据万象,提供向量索引和语义搜索 |
227
236
 
237
+ ## 相关链接
238
+
239
+ | 项目 | 说明 |
240
+ | ---- | ---- |
241
+ | [metainsight-context-engine (npm)](https://www.npmjs.com/package/metainsight-context-engine) | 本插件的 npm 包 |
242
+ | [cos-mcp (npm)](https://www.npmjs.com/package/cos-mcp) | 腾讯云 COS MCP Server |
243
+ | [tencentcloud-cos-skill (ClawHub)](https://clawhub.ai/ShawnMinh/tencentcloud-cos-skill) | 腾讯云 COS Skill for OpenClaw |
244
+
228
245
  ## 许可
229
246
 
230
247
  与 OpenClaw 主项目保持一致。
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAmalE,QAAA,MAAM,MAAM;;;;;kBAMI,iBAAiB;CAs4BhC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAmalE,QAAA,MAAM,MAAM;;;;;kBAMI,iBAAiB;CA4iChC,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/dist/index.js CHANGED
@@ -354,12 +354,12 @@ const plugin = {
354
354
  // Memory sync:
355
355
  // 1. Discover MEMORY.md, daily logs, workspace files, and config
356
356
  // 2. Upload changed files to cloud (hash-based dedup)
357
- // Build the allowed-extension set from user config or defaults.
358
- // This is shared between the on-boot sync and the after_tool_call hook.
359
- const syncFileExts = cfg.syncFileExtensions
360
- ? new Set(cfg.syncFileExtensions.map((e) => e.toLowerCase()))
361
- : undefined; // undefined → use DEFAULT_SYNC_FILE_EXTENSIONS in local-memory-sync.ts
362
357
  if (cfg.localMemorySync !== false) {
358
+ // Build the allowed-extension set from user config or defaults.
359
+ // This is shared between the on-boot sync and the after_tool_call hook.
360
+ const syncFileExts = cfg.syncFileExtensions
361
+ ? new Set(cfg.syncFileExtensions.map((e) => e.toLowerCase()))
362
+ : undefined; // undefined → use DEFAULT_SYNC_FILE_EXTENSIONS in local-memory-sync.ts
363
363
  // Fire-and-forget: full sync on boot (with retry for transient COS failures)
364
364
  const MAX_BOOT_RETRIES = 2;
365
365
  const BOOT_RETRY_DELAY_MS = 3000;
@@ -766,15 +766,15 @@ const plugin = {
766
766
  api.logger.warn(`[prompt-build:document] document recall failed: ${stringifyError(err)}`);
767
767
  // Document recall failure is non-fatal — we simply skip document injection
768
768
  }
769
- // Nothing to inject (neither memory, image, nor document) → skip
770
- if (!memoryBlock && !imageBlock && !documentBlock) {
771
- api.logger.info('[prompt-build] no modifications to inject → skip');
772
- return;
773
- }
774
769
  // ---- Step 5: Apply modifications by phase ----
775
770
  //
776
771
  // Injection strategy (both Phase A and Phase B):
777
772
  //
773
+ // 0. **File persistence rule** → `prependSystemContext` (always)
774
+ // A mandatory instruction that requires the LLM to persist any
775
+ // locally saved file paths into the daily memory log. This ensures
776
+ // file references are never lost between sessions.
777
+ //
778
778
  // 1. **Capability declaration** → `prependSystemContext`
779
779
  // A short static block prepended BEFORE the base system prompt.
780
780
  // Tells the LLM "you have access to user's cloud images/documents".
@@ -791,6 +791,26 @@ const plugin = {
791
791
  // out of the visible conversation history, avoiding UX pollution
792
792
  // where users would see raw `<image-context>` / `<document-context>`
793
793
  // blocks in their chat. The content is refreshed each turn.
794
+ // Build the file-persistence rule (always injected, regardless of recall results)
795
+ const filePersistenceRule = [
796
+ '## 文件路径持久化规则(必须遵守)',
797
+ '',
798
+ '当你为用户执行了以下任何操作时:',
799
+ '- 将文件保存、下载或导出到本地文件系统',
800
+ '- 生成文件(如图片、文档、代码等)并写入本地路径',
801
+ '- 将内容从远程下载到本地',
802
+ '',
803
+ '你**必须**立即将该文件的完整绝对路径记录到当日的短期记忆日志中',
804
+ `(路径格式:\`~/.openclaw/workspace/memory/YYYY-MM-DD.md\`,其中日期为当天)。`,
805
+ '',
806
+ '记录格式示例:',
807
+ '```',
808
+ '## 文件保存记录',
809
+ '- 保存了 XXX 文件到 `/absolute/path/to/file.ext`',
810
+ '```',
811
+ '',
812
+ '这样可以确保用户在后续对话中能够通过记忆检索找到之前保存的所有文件。',
813
+ ].join('\n');
794
814
  // Build the static capability declaration (prepended to system prompt)
795
815
  const capabilityParts = [];
796
816
  if (imageBlock || documentBlock) {
@@ -820,11 +840,13 @@ const plugin = {
820
840
  result.appendSystemContext = `\n\n## Cloud Memory (recalled)\n${memoryBlock}`;
821
841
  api.logger.info(`[prompt-build] Phase A: memory → appendSystemContext (${memoryBlock.length} chars)`);
822
842
  }
823
- // Capability + Retrieval → prependSystemContext (before system prompt)
824
- // The capability declaration goes first, followed immediately by
825
- // the actual retrieval results. This keeps them logically grouped
826
- // at the TOP of the system prompt where LLM attention is highest.
827
- const prependParts = [];
843
+ // File persistence rule + Capability + Retrieval → prependSystemContext
844
+ // The file persistence rule goes FIRST (always present), followed by
845
+ // the capability declaration and retrieval results. This keeps the
846
+ // mandatory rules at the TOP of the system prompt where LLM attention
847
+ // is highest.
848
+ const prependParts = [filePersistenceRule];
849
+ api.logger.info(`[prompt-build] Phase A: file persistence rule → prependSystemContext`);
828
850
  if (capabilityParts.length > 0) {
829
851
  prependParts.push(capabilityParts.join('\n'));
830
852
  api.logger.info(`[prompt-build] Phase A: capability declaration → prependSystemContext`);
@@ -833,15 +855,9 @@ const plugin = {
833
855
  prependParts.push(retrievalSystemParts.join('\n\n'));
834
856
  api.logger.info(`[prompt-build] Phase A: retrieval results → prependSystemContext (after capability)`);
835
857
  }
836
- if (prependParts.length > 0) {
837
- result.prependSystemContext = prependParts.join('\n\n');
838
- api.logger.info(`[prompt-build] Phase A: prependSystemContext total (${result.prependSystemContext.length} chars)`);
839
- }
840
- if (Object.keys(result).length > 0) {
841
- return result;
842
- }
843
- api.logger.info('[prompt-build] Phase A (no cache): nothing to inject');
844
- return;
858
+ result.prependSystemContext = prependParts.join('\n\n');
859
+ api.logger.info(`[prompt-build] Phase A: prependSystemContext total (${result.prependSystemContext.length} chars)`);
860
+ return result;
845
861
  }
846
862
  // =============================================================
847
863
  // Phase B: cached system prompt → layer-based manipulation
@@ -890,8 +906,9 @@ const plugin = {
890
906
  const result = {
891
907
  systemPrompt: modifiedSystemPrompt,
892
908
  };
893
- // Capability + Retrieval → prependSystemContext (before system prompt)
894
- const prependParts = [];
909
+ // File persistence rule + Capability + Retrieval → prependSystemContext
910
+ const prependParts = [filePersistenceRule];
911
+ api.logger.info(`[prompt-build] Phase B: file persistence rule → prependSystemContext`);
895
912
  if (capabilityParts.length > 0) {
896
913
  prependParts.push(capabilityParts.join('\n'));
897
914
  api.logger.info(`[prompt-build] Phase B: capability declaration → prependSystemContext`);
@@ -900,10 +917,8 @@ const plugin = {
900
917
  prependParts.push(retrievalSystemParts.join('\n\n'));
901
918
  api.logger.info(`[prompt-build] Phase B: retrieval results → prependSystemContext (after capability)`);
902
919
  }
903
- if (prependParts.length > 0) {
904
- result.prependSystemContext = prependParts.join('\n\n');
905
- api.logger.info(`[prompt-build] Phase B: prependSystemContext total (${result.prependSystemContext.length} chars)`);
906
- }
920
+ result.prependSystemContext = prependParts.join('\n\n');
921
+ api.logger.info(`[prompt-build] Phase B: prependSystemContext total (${result.prependSystemContext.length} chars)`);
907
922
  return result;
908
923
  }
909
924
  catch (err) {
@@ -923,6 +938,10 @@ const plugin = {
923
938
  // Monitored tools: write_to_file, replace_in_file, edit_file, create_file,
924
939
  // and any tool whose params include a path that resolves to a memory file.
925
940
  if (cfg.localMemorySync !== false) {
941
+ // Re-derive the allowed-extension set (same logic as the on-boot sync block)
942
+ const hookSyncFileExts = cfg.syncFileExtensions
943
+ ? new Set(cfg.syncFileExtensions.map((e) => e.toLowerCase()))
944
+ : undefined;
926
945
  /** Tool names that can write files (covers openclaw's built-in tools). */
927
946
  const FILE_WRITE_TOOLS = new Set([
928
947
  'write_to_file',
@@ -968,7 +987,7 @@ const plugin = {
968
987
  try {
969
988
  const ops = await initOps(ctx.agentId);
970
989
  for (const memPath of memoryPaths) {
971
- await syncSingleMemoryFileToCloud(ops, memPath, api.logger, syncFileExts);
990
+ await syncSingleMemoryFileToCloud(ops, memPath, api.logger, hookSyncFileExts);
972
991
  }
973
992
  }
974
993
  catch (err) {
@@ -979,12 +998,145 @@ const plugin = {
979
998
  api.logger.info('metainsight-context-engine: registered after_tool_call hook for real-time memory sync');
980
999
  }
981
1000
  // ==================================================================
1001
+ // 5. File watcher: sync memory files on filesystem change
1002
+ // ==================================================================
1003
+ //
1004
+ // Watch MEMORY.md and memory/ directory for any changes — including
1005
+ // manual edits, external script writes, or other tools that bypass
1006
+ // the after_tool_call hook. Uses fs.watch for low-overhead OS-level
1007
+ // file system notifications.
1008
+ //
1009
+ // Debounce: multiple rapid writes (e.g. editors that write + rename)
1010
+ // are coalesced into a single sync call per file with a 1-second delay.
1011
+ if (cfg.localMemorySync !== false) {
1012
+ // Fire-and-forget: setup file watchers asynchronously (requires dynamic imports)
1013
+ void (async () => {
1014
+ try {
1015
+ const nodeFs = await import('node:fs');
1016
+ const nodePath = await import('node:path');
1017
+ // Re-derive the allowed-extension set (same logic as the on-boot sync block)
1018
+ const watcherSyncFileExts = cfg.syncFileExtensions
1019
+ ? new Set(cfg.syncFileExtensions.map((e) => e.toLowerCase()))
1020
+ : undefined;
1021
+ const WATCHER_DEBOUNCE_MS = 1000;
1022
+ /** Pending debounce timers keyed by absolute file path. */
1023
+ const watcherTimers = new Map();
1024
+ /**
1025
+ * Handle a file change event: debounce and trigger single-file sync.
1026
+ */
1027
+ const handleFileChange = (absPath) => {
1028
+ // Clear any existing timer for this file
1029
+ const existing = watcherTimers.get(absPath);
1030
+ if (existing) {
1031
+ clearTimeout(existing);
1032
+ }
1033
+ // Set a new debounced timer
1034
+ watcherTimers.set(absPath, setTimeout(() => {
1035
+ watcherTimers.delete(absPath);
1036
+ // Verify the file still exists and is a memory file
1037
+ if (!nodeFs.existsSync(absPath) || !isMemoryFilePath(absPath)) {
1038
+ return;
1039
+ }
1040
+ api.logger.info(`cloud-engine: file watcher detected change — ${absPath}`);
1041
+ // Fire-and-forget: sync the changed file to cloud
1042
+ void (async () => {
1043
+ try {
1044
+ const ops = await initOps(cfg.agentId);
1045
+ await syncSingleMemoryFileToCloud(ops, absPath, api.logger, watcherSyncFileExts);
1046
+ }
1047
+ catch (err) {
1048
+ api.logger.warn(`cloud-engine: file watcher sync failed — ${absPath}: ${stringifyError(err)}`);
1049
+ }
1050
+ })();
1051
+ }, WATCHER_DEBOUNCE_MS));
1052
+ };
1053
+ // Resolve workspace directory (same logic as on-boot sync)
1054
+ const wHomeDir = process.env.HOME ?? process.env.USERPROFILE ?? '';
1055
+ const watchStateDir = process.env.OPENCLAW_STATE_DIR?.trim()
1056
+ || (wHomeDir ? `${wHomeDir}/.openclaw` : '');
1057
+ const watchWorkspaceDir = watchStateDir
1058
+ ? `${watchStateDir}/workspace`
1059
+ : '';
1060
+ if (!watchWorkspaceDir || !nodeFs.existsSync(watchWorkspaceDir)) {
1061
+ api.logger.warn('cloud-engine: file watcher skipped — workspace directory not found');
1062
+ return;
1063
+ }
1064
+ // Watch 1: MEMORY.md file
1065
+ const memoryMdPath = nodePath.join(watchWorkspaceDir, 'MEMORY.md');
1066
+ if (nodeFs.existsSync(memoryMdPath)) {
1067
+ try {
1068
+ nodeFs.watch(memoryMdPath, { persistent: false }, (eventType) => {
1069
+ if (eventType === 'change') {
1070
+ handleFileChange(memoryMdPath);
1071
+ }
1072
+ });
1073
+ api.logger.info(`cloud-engine: file watcher started — ${memoryMdPath}`);
1074
+ }
1075
+ catch (err) {
1076
+ api.logger.warn(`cloud-engine: failed to watch MEMORY.md: ${stringifyError(err)}`);
1077
+ }
1078
+ }
1079
+ // Watch 2: .codebuddy/MEMORY.md file
1080
+ const cbMemoryMdPath = nodePath.join(watchWorkspaceDir, '.codebuddy', 'MEMORY.md');
1081
+ if (nodeFs.existsSync(cbMemoryMdPath)) {
1082
+ try {
1083
+ nodeFs.watch(cbMemoryMdPath, { persistent: false }, (eventType) => {
1084
+ if (eventType === 'change') {
1085
+ handleFileChange(cbMemoryMdPath);
1086
+ }
1087
+ });
1088
+ api.logger.info(`cloud-engine: file watcher started — ${cbMemoryMdPath}`);
1089
+ }
1090
+ catch (err) {
1091
+ api.logger.warn(`cloud-engine: failed to watch .codebuddy/MEMORY.md: ${stringifyError(err)}`);
1092
+ }
1093
+ }
1094
+ // Watch 3: memory/ directory (daily logs)
1095
+ const memoryDir = nodePath.join(watchWorkspaceDir, 'memory');
1096
+ if (nodeFs.existsSync(memoryDir)) {
1097
+ try {
1098
+ nodeFs.watch(memoryDir, { persistent: false }, (eventType, filename) => {
1099
+ if (filename && filename.endsWith('.md')) {
1100
+ const absPath = nodePath.join(memoryDir, filename);
1101
+ handleFileChange(absPath);
1102
+ }
1103
+ });
1104
+ api.logger.info(`cloud-engine: file watcher started — ${memoryDir}/`);
1105
+ }
1106
+ catch (err) {
1107
+ api.logger.warn(`cloud-engine: failed to watch memory/ dir: ${stringifyError(err)}`);
1108
+ }
1109
+ }
1110
+ // Watch 4: .codebuddy/memory/ directory (IDE-level daily logs)
1111
+ const cbMemoryDir = nodePath.join(watchWorkspaceDir, '.codebuddy', 'memory');
1112
+ if (nodeFs.existsSync(cbMemoryDir)) {
1113
+ try {
1114
+ nodeFs.watch(cbMemoryDir, { persistent: false }, (eventType, filename) => {
1115
+ if (filename && filename.endsWith('.md')) {
1116
+ const absPath = nodePath.join(cbMemoryDir, filename);
1117
+ handleFileChange(absPath);
1118
+ }
1119
+ });
1120
+ api.logger.info(`cloud-engine: file watcher started — ${cbMemoryDir}/`);
1121
+ }
1122
+ catch (err) {
1123
+ api.logger.warn(`cloud-engine: failed to watch .codebuddy/memory/ dir: ${stringifyError(err)}`);
1124
+ }
1125
+ }
1126
+ }
1127
+ catch (err) {
1128
+ api.logger.warn(`cloud-engine: file watcher setup failed: ${stringifyError(err)}`);
1129
+ }
1130
+ })();
1131
+ }
1132
+ // ==================================================================
982
1133
  // Registration complete — log summary
983
1134
  // ==================================================================
984
1135
  const features = [
985
1136
  `memoryAutoRecall=${memoryRecallEnabled}`,
986
1137
  `localMemorySync=${cfg.localMemorySync !== false}`,
987
1138
  `memorySyncOnWrite=${cfg.localMemorySync !== false}`,
1139
+ `fileWatcher=${cfg.localMemorySync !== false}`,
988
1140
  ].join(', ');
989
1141
  api.logger.info(`metainsight-context-engine: registered (${features})`);
990
1142
  },
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,67 +1,49 @@
1
1
  {
2
2
  "name": "metainsight-context-engine",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "description": "Cloud-based context engine for token-efficient memory management (backed by Tencent COS CI)",
5
5
  "type": "module",
6
- "main": "./dist/index.js",
7
- "types": "./dist/index.d.ts",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
8
  "exports": {
9
9
  ".": {
10
- "types": "./dist/index.d.ts",
11
- "import": "./dist/index.js"
12
- },
13
- "./engine": {
14
- "types": "./dist/engine.d.ts",
15
- "import": "./dist/engine.js"
16
- },
17
- "./cos-bootstrap": {
18
- "types": "./dist/cos-bootstrap.d.ts",
19
- "import": "./dist/cos-bootstrap.js"
20
- },
21
- "./cos-operations": {
22
- "types": "./dist/cos-operations.d.ts",
23
- "import": "./dist/cos-operations.js"
24
- },
25
- "./local-memory-sync": {
26
- "types": "./dist/local-memory-sync.d.ts",
27
- "import": "./dist/local-memory-sync.js"
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
28
12
  }
29
13
  },
30
14
  "files": [
31
15
  "dist",
32
16
  "openclaw.plugin.json",
33
- "README.md",
34
- "BOOTSTRAP.md"
17
+ "README.md"
35
18
  ],
36
19
  "scripts": {
37
20
  "build": "tsc",
21
+ "pack": "npm run build && npm pack",
38
22
  "prepublishOnly": "npm run build"
39
23
  },
40
- "engines": {
41
- "node": ">=22.22.0"
42
- },
43
- "license": "MIT",
44
- "repository": {
45
- "type": "git",
46
- "url": "https://cnb.cool/tencent/cloud/cos/metainsight-context-engine"
47
- },
48
24
  "keywords": [
49
- "openclaw",
50
25
  "context-engine",
51
26
  "memory",
52
27
  "cloud",
53
28
  "tencent-cos",
54
- "ai",
55
- "llm"
29
+ "openclaw",
30
+ "metainsight",
31
+ "ai-memory",
32
+ "vector-search"
56
33
  ],
34
+ "author": "shawnmzhang",
35
+ "license": "MIT",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "https://github.com/nicepkg/metainsight-context-engine.git"
39
+ },
40
+ "engines": {
41
+ "node": ">=18"
42
+ },
57
43
  "dependencies": {
58
44
  "@sinclair/typebox": "0.34.48",
59
45
  "cos-nodejs-sdk-v5": "^2.15.4"
60
46
  },
61
- "devDependencies": {
62
- "@types/node": "^22.19.15",
63
- "typescript": "^5.9.3"
64
- },
65
47
  "peerDependencies": {
66
48
  "openclaw": ">=2026.3.11"
67
49
  },
@@ -70,9 +52,13 @@
70
52
  "optional": true
71
53
  }
72
54
  },
55
+ "devDependencies": {
56
+ "@types/node": "^22.0.0",
57
+ "typescript": "^5.7.0"
58
+ },
73
59
  "openclaw": {
74
60
  "extensions": [
75
- "./dist/index.js"
61
+ "./index.ts"
76
62
  ]
77
63
  }
78
64
  }
package/BOOTSTRAP.md DELETED
@@ -1,341 +0,0 @@
1
- # COS Bootstrap — 前置条件初始化
2
-
3
- > Cloud Context Engine 的基础设施初始化模块,负责在引擎启动前确保所有云端资源就绪。
4
-
5
- ## 概述
6
-
7
- `cos-bootstrap.ts` 是 Cloud Context Engine 的**第一个执行步骤**。它会自动检测并创建以下云端资源:
8
-
9
- 1. **COS 存储桶** — 用于存储所有文档和数据
10
- 2. **CI 数据集** — 用于智能文档搜索(支持多个数据集)
11
- 3. **数据集绑定** — 将数据集关联到存储桶中的指定路径前缀
12
-
13
- ```
14
- ┌──────────────────────────────────────────────────────────────────────┐
15
- │ COS 存储桶 │
16
- │ openclaw-metainsight-{APPID} │
17
- │ │
18
- │ ┌─────────────────┐ ┌──────────────────────────┐ ┌───────────┐ │
19
- │ │ memory/ │ │ asset/ │ │ 其他路径/ │ │
20
- │ │ *.md │ │ *.jpg/png/pdf/... │ │ (可扩展) │ │
21
- │ └──────┬──────────┘ └──────┬──────────┬─────────┘ └─────┬─────┘ │
22
- │ │ │ │ │ │
23
- │ ▼ ▼ ▼ ▼ │
24
- │ ┌─────────────────┐ ┌──────────┐ ┌──────────┐ ┌───────────┐ │
25
- │ │ memory 数据集 │ │ image │ │ document │ │ 自定义 │ │
26
- │ │ DocSearch │ │ ImgSearch│ │ DocSearch│ │ (可扩展) │ │
27
- │ └─────────────────┘ └──────────┘ └──────────┘ └───────────┘ │
28
- └──────────────────────────────────────────────────────────────────────┘
29
- ```
30
-
31
- ## 前置条件
32
-
33
- ### 1. 获取腾讯云访问密钥
34
-
35
- 前往 [腾讯云 CAM 控制台](https://console.cloud.tencent.com/cam/capi) 获取以下信息:
36
-
37
- | 参数 | 说明 | 示例 |
38
- |------|------|------|
39
- | **SecretId** | 访问密钥 ID | `AKIDxxxxxxxxxxxxxxxxxxxx` |
40
- | **SecretKey** | 访问密钥 Key | `xxxxxxxxxxxxxxxxxxxxxxxxx` |
41
- | **APPID** | 腾讯云账号 APPID | `1253311026` |
42
-
43
- > ⚠️ **安全提示**:密钥应通过环境变量或安全配置管理传入,切勿硬编码到代码中。
44
-
45
- ### 2. 地域限制
46
-
47
- COS CI(智能内容识别)仅支持以下地域:
48
-
49
- | 地域 | 地域代码 |
50
- |------|----------|
51
- | 北京 | `ap-beijing` |
52
- | 上海 | `ap-shanghai` |
53
- | 成都 | `ap-chengdu` |
54
-
55
- ### 3. SDK 依赖
56
-
57
- ```bash
58
- npm install cos-nodejs-sdk-v5
59
- ```
60
-
61
- > **注意**:必须使用 `cos-nodejs-sdk-v5`(Node.js 版本),不支持 `cos-js-sdk-v5`(浏览器版本)。
62
-
63
- ## 配置说明
64
-
65
- ### 最小配置(使用默认值)
66
-
67
- ```typescript
68
- import { bootstrap } from './cos-bootstrap.js';
69
-
70
- const outcome = await bootstrap({
71
- secretId: process.env.COS_SECRET_ID!,
72
- secretKey: process.env.COS_SECRET_KEY!,
73
- appId: process.env.COS_APPID!,
74
- }, logger);
75
- ```
76
-
77
- 默认行为:
78
- - **bucket**: `openclaw-metainsight`(自动拼接 APPID → `openclaw-metainsight-{APPID}`)
79
- - **region**: `ap-beijing`
80
- - **datasets**: 三个默认数据集
81
- - `openclaw-memory` — 绑定到 `memory/` 路径(对话记忆,DocSearch)
82
- - `openclaw-image` — 绑定到 `asset/` 路径(图片检索,ImageSearch)
83
- - `openclaw-document` — 绑定到 `asset/` 路径(文档检索,DocSearch)
84
-
85
- ### 完整配置
86
-
87
- ```typescript
88
- const outcome = await bootstrap({
89
- secretId: 'AKIDxxxx',
90
- secretKey: 'xxxx',
91
- appId: '1253311026',
92
-
93
- // 可选:自定义 bucket 名称(不含 APPID 后缀)
94
- bucket: 'my-custom-bucket',
95
-
96
- // 可选:自定义地域
97
- region: 'ap-shanghai',
98
-
99
- // 可选:自定义数据集定义
100
- datasets: [
101
- {
102
- name: 'my-memory',
103
- cosPrefix: 'memory/',
104
- templateId: 'Official:DocSearch',
105
- description: '对话记忆文档数据集',
106
- },
107
- ],
108
- }, logger);
109
- ```
110
-
111
- ### 配置字段说明
112
-
113
- #### `CosBootstrapConfig`
114
-
115
- | 字段 | 必填 | 默认值 | 说明 |
116
- |------|------|--------|------|
117
- | `secretId` | ✅ | — | 腾讯云访问密钥 ID |
118
- | `secretKey` | ✅ | — | 腾讯云访问密钥 Key |
119
- | `appId` | ✅ | — | 腾讯云 APPID,从 [CAM 控制台](https://console.cloud.tencent.com/cam/capi) 获取 |
120
- | `bucket` | ❌ | `openclaw-metainsight` | 存储桶短名称(不含 APPID 后缀,会自动拼接) |
121
- | `region` | ❌ | `ap-beijing` | COS 地域代码 |
122
- | `datasets` | ❌ | memory + image + document 数据集 | 数据集定义数组 |
123
-
124
- #### `DatasetDefinition`
125
-
126
- | 字段 | 必填 | 默认值 | 说明 |
127
- |------|------|--------|------|
128
- | `name` | ✅ | — | CI 数据集名称(APPID 范围内唯一) |
129
- | `cosPrefix` | ✅ | `{name}/` | COS 路径前缀,绑定覆盖的范围(必须以 `/` 结尾) |
130
- | `templateId` | ❌ | `Official:DocSearch` | CI 数据集模板 |
131
- | `description` | ❌ | 自动生成 | 数据集描述 |
132
-
133
- #### 可用的数据集模板
134
-
135
- | 模板 ID | 说明 | 适用场景 |
136
- |---------|------|----------|
137
- | `Official:DocSearch` | 文档搜索 | memory 等文本文档 |
138
- | `Official:ImageSearch` | 图像搜索 | 图像内容检索 |
139
- | `Official:FaceSearch` | 人脸搜索 | 人脸识别检索 |
140
- | `Official:COSBasicMeta` | COS 基础元信息 | 文件元数据索引 |
141
-
142
- ## 数据集架构
143
-
144
- ### 默认数据集
145
-
146
- 当 `datasets` 参数省略时,自动创建以下三个数据集:
147
-
148
- #### memory 数据集
149
-
150
- ```
151
- 数据集名称: openclaw-memory
152
- 绑定路径: cos://{bucket}/memory/
153
- 模板: Official:DocSearch
154
- 用途: 存储对话记忆文档,支持语义搜索
155
- ```
156
-
157
- 文件存储约定:
158
- ```
159
- memory/
160
- ├── conversation-{id}.json # 对话记忆
161
- ├── summary-{id}.json # 对话摘要
162
- └── ...
163
- ```
164
-
165
- #### image 数据集
166
-
167
- ```
168
- 数据集名称: openclaw-image
169
- 绑定路径: cos://{bucket}/asset/
170
- 模板: Official:ImageSearch
171
- 用途: 图片内容检索,支持多模态(文本→图片)语义搜索
172
- ```
173
-
174
- #### document 数据集
175
-
176
- ```
177
- 数据集名称: openclaw-document
178
- 绑定路径: cos://{bucket}/asset/
179
- 模板: Official:DocSearch
180
- 用途: 文档内容检索,对 asset/ 目录下的文档进行语义搜索
181
- ```
182
-
183
- 文件存储约定:
184
- ```
185
- asset/
186
- ├── screenshot.png # 图片文件(由 image 数据集索引)
187
- ├── images/
188
- │ └── photo.jpg
189
- ├── report.pdf # 文档文件(由 document 数据集索引)
190
- └── ...
191
- ```
192
-
193
- > 📝 **多 Agent 模式**下,数据集名称会带上 agentId:
194
- > - memory: `openclaw-{agentId}-memory`(路径: `openclaw-{agentId}/workspace/`)
195
- > - image: `openclaw-{agentId}-image`(路径: `openclaw-{agentId}/asset/`)
196
- > - document: `openclaw-{agentId}-document`(路径: `openclaw-{agentId}/asset/`)
197
-
198
- ### 如何扩展新数据集
199
-
200
- 只需在 `datasets` 数组中追加新定义:
201
-
202
- ```typescript
203
- datasets: [
204
- // 已有默认数据集(显式声明时需手动包含)
205
- { name: 'openclaw-memory', cosPrefix: 'memory/' },
206
- { name: 'openclaw-image', cosPrefix: 'asset/', templateId: 'Official:ImageSearch' },
207
- { name: 'openclaw-document', cosPrefix: 'asset/' },
208
-
209
- // 新增:知识库数据集
210
- {
211
- name: 'openclaw-knowledge',
212
- cosPrefix: 'knowledge/',
213
- templateId: 'Official:DocSearch',
214
- description: '外部知识库文档数据集',
215
- },
216
- ],
217
- ```
218
-
219
- Bootstrap 会自动:
220
- 1. 检测每个数据集是否存在,不存在则创建
221
- 2. 检测每个数据集的绑定是否存在,不存在则创建
222
- 3. 所有操作都是**幂等的**:重复运行不会出错
223
-
224
- ## Bootstrap 输出
225
-
226
- ```typescript
227
- interface BootstrapOutcome {
228
- success: boolean; // 整体是否成功
229
- cos: COS; // COS SDK 实例(后续操作直接使用)
230
- config: ResolvedCosConfig; // 解析后的完整配置
231
- bucketCreated: boolean; // 存储桶是否是本次新创建的
232
- datasetOutcomes: Array<{ // 每个数据集的初始化结果
233
- name: string; // 数据集名称
234
- cosPrefix: string; // 绑定路径
235
- datasetCreated: boolean; // 是否新创建
236
- bindingCreated: boolean; // 绑定是否新创建
237
- }>;
238
- error?: string; // 失败时的错误信息
239
- }
240
- ```
241
-
242
- ## 执行流程
243
-
244
- ```
245
- bootstrap(config, logger)
246
-
247
-
248
- ┌─ resolveConfig ──────────────────────────────┐
249
- │ • 校验 appId、region │
250
- │ • 拼接 bucket: {name}-{APPID} │
251
- │ • 解析 datasets(默认: memory + image + document)│
252
- │ • 校验无重复数据集名称 │
253
- └──────────────────────────────────────────────┘
254
-
255
-
256
- ┌─ Step 1: 存储桶 ─────────────────────────────┐
257
- │ headBucket → 存在? 跳过 : putBucket 创建 │
258
- └──────────────────────────────────────────────┘
259
-
260
-
261
- ┌─ Step 2: 遍历 datasets ──────────────────────┐
262
- │ for each dataset: │
263
- │ 2a. GET /dataset → 存在? 跳过 : POST 创建 │
264
- │ 2b. GET /datasetbinding → 存在? 跳过 : │
265
- │ POST 创建 (URI: cos://{bucket}/{prefix})│
266
- └──────────────────────────────────────────────┘
267
-
268
-
269
- BootstrapOutcome { success: true, ... }
270
- ```
271
-
272
- ## 辅助工具
273
-
274
- ### `sendCIRequest()` — CI API 通用请求
275
-
276
- ```typescript
277
- import { sendCIRequest, getCOSInstance } from './cos-bootstrap.js';
278
-
279
- const cos = getCOSInstance(secretId, secretKey);
280
- const result = await sendCIRequest(
281
- cos,
282
- 'bucket-name-1253311026',
283
- 'ap-beijing',
284
- 'POST', // HTTP 方法
285
- 'datasetquery/hybridsearch', // CI API 端点
286
- { /* 请求体 */ },
287
- { /* 查询参数 */ },
288
- );
289
- ```
290
-
291
- 该方法自动处理:
292
- - COS SDK 签名鉴权
293
- - JSON 请求/响应序列化
294
- - CI API Host 拼接(`{bucket}.ci.{region}.myqcloud.com`)
295
-
296
- ### `getCOSInstance()` — COS SDK 单例
297
-
298
- 相同 `secretId` 返回同一实例,避免重复初始化:
299
-
300
- ```typescript
301
- const cos1 = getCOSInstance(secretId, secretKey);
302
- const cos2 = getCOSInstance(secretId, secretKey);
303
- // cos1 === cos2 → true
304
- ```
305
-
306
- ## 内置保障
307
-
308
- | 特性 | 说明 |
309
- |------|------|
310
- | **幂等性** | 所有操作都是先检测后创建,重复执行安全无副作用 |
311
- | **自动重试** | 网络请求失败自动重试 2 次,指数退避(1s / 2s) |
312
- | **TTL 缓存** | 数据集和绑定查询结果缓存 5 分钟,减少 API 调用 |
313
- | **错误容错** | 新建桶后查询数据集可能返回 400(而非 404),已兼容处理 |
314
- | **Bucket 命名** | 自动拼接 APPID 后缀,已含 APPID 时不重复拼接 |
315
- | **cosPrefix 规范化** | 自动在路径末尾补 `/` |
316
-
317
- ## 常见问题
318
-
319
- ### Q: APPID 在哪里获取?
320
-
321
- 前往 [腾讯云 CAM 控制台](https://console.cloud.tencent.com/cam/capi),APPID 显示在密钥列表上方的账号信息区域。也可以通过 `getService`(ListBuckets)API 从返回的 Owner 字段获取。
322
-
323
- ### Q: 为什么 Bucket 名称要带 APPID?
324
-
325
- COS 全局 Bucket 命名格式为 `{BucketName}-{APPID}`,这是腾讯云的强制要求。Bootstrap 会自动处理拼接。
326
-
327
- ### Q: 数据集绑定后多久生效?
328
-
329
- 绑定创建后状态会从 `Creating` 变为 `Running`,通常在几秒内完成。绑定生效后,往对应路径上传的文件会自动被索引。
330
-
331
- ### Q: 能否给同一路径绑定多个数据集?
332
-
333
- 可以。`image` 和 `document` 数据集都绑定到 `asset/` 路径,但使用不同的模板(`ImageSearch` vs `DocSearch`)。CI 会根据模板类型对同一路径下的文件进行不同方式的索引。
334
-
335
- ### Q: memory 数据集的数据源是什么?
336
-
337
- memory 数据集绑定到 `memory/` 路径,数据源是本地的 memory 文件夹中的对话记忆文件。上传到 `cos://{bucket}/memory/` 的 JSON 文件会自动被 CI 索引,支持后续的语义搜索。
338
-
339
- ### Q: image 数据集如何使用?
340
-
341
- image 数据集绑定到 `asset/` 路径,使用 `Official:ImageSearch` 模板。上传到 `cos://{bucket}/asset/` 的图片文件(jpg/png 等)会自动被 CI 索引。检索时通过 `category="image"` 路由到该数据集,`Templates` 会自动切换为 `ImageSearch`,支持文本→图片的多模态语义搜索。