lightclawbot 1.0.2 → 1.0.4

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 (51) hide show
  1. package/README.md +241 -1
  2. package/dist/public/data/scripts/check-update.9c4e848e.sh +138 -0
  3. package/dist/public/data/scripts/check-update.sh +138 -0
  4. package/dist/public/data/scripts/manifest.json +21 -0
  5. package/dist/public/data/scripts/preflight.7c5a27cd.sh +86 -0
  6. package/dist/public/data/scripts/preflight.sh +86 -0
  7. package/dist/public/data/scripts/upgrade.bd220b70.sh +214 -0
  8. package/dist/public/data/scripts/upgrade.sh +214 -0
  9. package/dist/src/channel.d.ts.map +1 -1
  10. package/dist/src/channel.js +34 -17
  11. package/dist/src/channel.js.map +1 -1
  12. package/dist/src/config.d.ts +34 -1
  13. package/dist/src/config.d.ts.map +1 -1
  14. package/dist/src/config.js +104 -6
  15. package/dist/src/config.js.map +1 -1
  16. package/dist/src/download-tool.d.ts.map +1 -1
  17. package/dist/src/download-tool.js +16 -16
  18. package/dist/src/download-tool.js.map +1 -1
  19. package/dist/src/file-storage.d.ts.map +1 -1
  20. package/dist/src/file-storage.js +3 -5
  21. package/dist/src/file-storage.js.map +1 -1
  22. package/dist/src/format-urls.d.ts +26 -0
  23. package/dist/src/format-urls.d.ts.map +1 -0
  24. package/dist/src/format-urls.js +53 -0
  25. package/dist/src/format-urls.js.map +1 -0
  26. package/dist/src/gateway.d.ts.map +1 -1
  27. package/dist/src/gateway.js +89 -39
  28. package/dist/src/gateway.js.map +1 -1
  29. package/dist/src/history/session-store.d.ts +4 -0
  30. package/dist/src/history/session-store.d.ts.map +1 -1
  31. package/dist/src/history/session-store.js +41 -0
  32. package/dist/src/history/session-store.js.map +1 -1
  33. package/dist/src/history/text-processing.d.ts.map +1 -1
  34. package/dist/src/history/text-processing.js +4 -3
  35. package/dist/src/history/text-processing.js.map +1 -1
  36. package/dist/src/inbound.d.ts.map +1 -1
  37. package/dist/src/inbound.js +38 -15
  38. package/dist/src/inbound.js.map +1 -1
  39. package/dist/src/outbound.d.ts.map +1 -1
  40. package/dist/src/outbound.js +5 -3
  41. package/dist/src/outbound.js.map +1 -1
  42. package/dist/src/socket-handlers.d.ts.map +1 -1
  43. package/dist/src/socket-handlers.js +1 -0
  44. package/dist/src/socket-handlers.js.map +1 -1
  45. package/dist/src/types.d.ts +6 -1
  46. package/dist/src/types.d.ts.map +1 -1
  47. package/dist/src/upload-tool.d.ts.map +1 -1
  48. package/dist/src/upload-tool.js +14 -19
  49. package/dist/src/upload-tool.js.map +1 -1
  50. package/package.json +6 -3
  51. package/skills/lightclaw-media/SKILL.md +330 -0
@@ -1 +1 @@
1
- {"version":3,"file":"outbound.js","sourceRoot":"","sources":["../../src/outbound.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outbound.js","sourceRoot":"","sources":["../../src/outbound.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,YAAY;AACZ,SAAS,SAAS;IAChB,OAAO,mBAAmB,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,cAAc;AACd,IAAI,kBAAkB,GAAG,CAAC,CAAC;AAC3B,SAAS,qBAAqB;IAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAChD,OAAO,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,EAAU;IAC/B,OAAO,EAAE;SACN,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,WAAW,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;SAChD,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,SAAiB,EAAE,MAAc,EAAE,IAAY,EAAE,SAAyB;IAC/F,MAAM,iBAAiB,GAAG,SAAS,IAAI,kBAAkB,CAAC;IAC1D,MAAM,KAAK,GAAG,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAE3C,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG;QACd,KAAK;QACL,IAAI,EAAE,KAAK,EAAE,WAAW,IAAI,cAAc,CAAC,iBAAiB,CAAC,IAAI,EAAE;QACnE,EAAE,EAAE,MAAM;QACV,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC;QAC5B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,YAAY,EAAE,SAAS,IAAI,SAAS;KACrC,CAAC;IAEF,IAAI,KAAK,EAAE,CAAC;QACV,wBAAwB;QACxB,IAAI,CAAC;YACH,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;YAClD,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,WAAW,8BAA8B,MAAM,UAAU,KAAK,EAAE,CAAC,CAAC;YACvF,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,WAAW,8BAA8B,GAAG,EAAE,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,IAAI,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,aAAa,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,QAAQ,EAAE,CAAC;YACb,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,WAAW,6CAA6C,MAAM,UAAU,KAAK,EAAE,CAAC,CAAC;YACtG,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAA2B;IACxD,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAErC,SAAS;QACT,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAClF,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;QACtD,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;QAClG,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,uCAAuC,MAAM,EAAE,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,OAAO,EAAE;YACrD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,OAAO,CAAC,MAAM,EAAE;aAC1C;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,MAAM;gBACN,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,gBAAgB,EAAE,GAAG,CAAC,SAAS;aAChC,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,MAAM,MAAM,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAA2B,CAAC;QAC3D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;IACpF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,IAAI,WAAW,8BAA8B,GAAG,EAAE,CAAC,CAAC;QAC9D,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAA2B;IACzD,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAErC,mCAAmC;QACnC,sCAAsC;QACtC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAClF,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;YACtD,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACxB,oCAAoC;YACpC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAClF,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;YACtD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAChG,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,qCAAqC,MAAM,EAAE,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,aAAa,EAAE;YAC3D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,OAAO,CAAC,MAAM,EAAE;aAC1C;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,MAAM;gBACN,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,gBAAgB,EAAE,GAAG,CAAC,SAAS;aAChC,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,MAAM,MAAM,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAA2B,CAAC;QAC3D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;IACpF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,IAAI,WAAW,+BAA+B,GAAG,EAAE,CAAC,CAAC;QAC/D,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"socket-handlers.d.ts","sourceRoot":"","sources":["../../src/socket-handlers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAsB,aAAa,EAAE,MAAM,YAAY,CAAC;AAcpF,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5B,cAAc,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI,CA2HhF"}
1
+ {"version":3,"file":"socket-handlers.d.ts","sourceRoot":"","sources":["../../src/socket-handlers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAsB,aAAa,EAAE,MAAM,YAAY,CAAC;AAcpF,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5B,cAAc,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI,CA4HhF"}
@@ -15,6 +15,7 @@ export function bindSocketHandlers(socket, deps) {
15
15
  const { account, botClientId, log, enqueueMessage, onEvent } = deps;
16
16
  // ---- 接收用户消息 ----
17
17
  socket.on(EVENT_MESSAGE_PRIVATE, (data) => {
18
+ log?.info(`[${CHANNEL_KEY}] Received private message: ${JSON.stringify(data)},botClientId:${botClientId}`);
18
19
  // 回环防御:过滤自身发出的消息
19
20
  if (data.from === botClientId)
20
21
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"socket-handlers.js","sourceRoot":"","sources":["../../src/socket-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socket-handlers.js","sourceRoot":"","sources":["../../src/socket-handlers.ts"],"names":[],"mappings":"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"}
@@ -43,8 +43,10 @@ export interface PrivateMessageData {
43
43
  }
44
44
  /** 原始配置(config.yaml 中的内容) */
45
45
  export interface AssistantAccountConfig {
46
- /** API Key / Token */
46
+ /** @deprecated 不再使用,配置中只有 apiKeys */
47
47
  apiKey?: string;
48
+ /** API Keys 列表(第一个作为主 key,用于获取 botId 等) */
49
+ apiKeys?: string[];
48
50
  /** REST API 基础地址(用于 outbound 主动发送) */
49
51
  apiBaseUrl?: string;
50
52
  /** 是否启用 */
@@ -61,7 +63,10 @@ export interface AssistantAccountConfig {
61
63
  /** 解析后的完整账户(含默认值和环境变量 fallback) */
62
64
  export interface ResolvedAssistantAccount {
63
65
  accountId: string;
66
+ /** 主 apiKey(获取 botId、默认 COS 操作等) */
64
67
  apiKey: string;
68
+ /** 所有 apiKey(含主 key),用于 WS 多 key 认证 */
69
+ allApiKeys: string[];
65
70
  apiBaseUrl: string;
66
71
  enabled: boolean;
67
72
  name?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"upload-tool.d.ts","sourceRoot":"","sources":["../../src/upload-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAgB,MAAM,qBAAqB,CAAC;AAS3E,eAAO,MAAM,gBAAgB,0BAA0B,CAAC;AAExD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;CAY5B,CAAC;AAuBF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CA+H/D"}
1
+ {"version":3,"file":"upload-tool.d.ts","sourceRoot":"","sources":["../../src/upload-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAgB,MAAM,qBAAqB,CAAC;AAS3E,eAAO,MAAM,gBAAgB,0BAA0B,CAAC;AAExD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;CAY5B,CAAC;AAMF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAyI/D"}
@@ -10,7 +10,7 @@ import * as fs from "node:fs";
10
10
  import * as path from "node:path";
11
11
  import { uploadFileToCos } from "./file-storage.js";
12
12
  import { formatFileSize } from "./media.js";
13
- import { resolveAccount } from "./config.js";
13
+ import { resolveEffectiveApiKey } from "./config.js";
14
14
  // ============================================================
15
15
  // 工具参数 schema(JSON Schema 格式)
16
16
  // ============================================================
@@ -29,23 +29,14 @@ export const uploadToolSchema = {
29
29
  required: ["paths"],
30
30
  };
31
31
  // ============================================================
32
- // MIME 类型映射(扩展版)
33
- // ============================================================
34
- // ============================================================
35
- // 辅助:从 api.config 动态解析出 FileStorageConfig
36
- // ============================================================
37
- function resolveStorageConfig(api, defaultAccountId) {
38
- if (!api.config)
39
- return {};
40
- const account = resolveAccount(api.config, defaultAccountId);
41
- return { apiKey: account.apiKey };
42
- }
43
- // ============================================================
44
32
  // 工具注册(飞书工厂函数模式)
45
33
  // ============================================================
46
34
  export function registerUploadTool(api) {
35
+ // 通过闭包捕获 api.logger,tool ctx 中没有 log
36
+ const log = api.logger;
47
37
  api.registerTool((ctx) => {
48
38
  const defaultAccountId = ctx.agentAccountId;
39
+ const sessionKey = ctx.sessionKey;
49
40
  return {
50
41
  name: UPLOAD_TOOL_NAME,
51
42
  description: "Upload local files to Tencent COS cloud storage and return publicly accessible download URLs. " +
@@ -54,8 +45,12 @@ export function registerUploadTool(api) {
54
45
  "Supports up to 5 files at once. Returns a public download URL for each uploaded file.",
55
46
  parameters: uploadToolSchema,
56
47
  async execute(_toolCallId, params) {
57
- // 每次 execute 时动态解析 apiKey
58
- const storageConfig = resolveStorageConfig(api, defaultAccountId);
48
+ // 调试日志:打印原始 sessionKey,帮助排查多 key 模式下的 apiKey 选取
49
+ // 使用 warn 级别输出,确保终端可见
50
+ log.warn(`[lightclaw_upload_file] sessionKey="${sessionKey}", accountId="${defaultAccountId}"`);
51
+ // 每次 execute 时动态解析 apiKey(多 key 模式下通过 sessionKey 直接获取)
52
+ const apiKey = resolveEffectiveApiKey({ sessionKey });
53
+ log.warn(`[lightclaw_upload_file] resolved apiKey="${apiKey?.slice(0, 8)}..."`);
59
54
  const { paths } = params;
60
55
  // 参数校验
61
56
  if (!Array.isArray(paths) || paths.length === 0) {
@@ -96,7 +91,7 @@ export function registerUploadTool(api) {
96
91
  const batch = paths.slice(i, i + concurrency);
97
92
  const batchResults = await Promise.allSettled(batch.map(async (filePath) => {
98
93
  const stat = fs.statSync(filePath);
99
- const uploadResult = await uploadFileToCos(filePath, storageConfig);
94
+ const uploadResult = await uploadFileToCos(filePath, { apiKey });
100
95
  return {
101
96
  path: filePath,
102
97
  success: true,
@@ -119,13 +114,13 @@ export function registerUploadTool(api) {
119
114
  }
120
115
  }
121
116
  }
122
- // 构建结果文本
117
+ // 构建结果文本(使用 Markdown 链接格式,引导模型原样输出给用户)
123
118
  const lines = [];
124
119
  const successResults = [];
125
120
  for (const r of results) {
126
121
  const name = path.basename(r.path);
127
122
  if (r.success && r.url) {
128
- lines.push(`✅ ${name} (${r.size}) ${r.url}`);
123
+ lines.push(`✅ [${name}](${r.url}) (${r.size})`);
129
124
  successResults.push({ name, url: r.url, size: r.size });
130
125
  }
131
126
  else {
@@ -134,7 +129,7 @@ export function registerUploadTool(api) {
134
129
  }
135
130
  const summary = results.length === 1
136
131
  ? successResults.length === 1
137
- ? `File uploaded successfully. Download URL: ${successResults[0].url}`
132
+ ? `File uploaded successfully.\n\n[${successResults[0].name}](${successResults[0].url})`
138
133
  : `File upload failed: ${results[0].error}`
139
134
  : `Uploaded ${successResults.length}/${results.length} files.\n${lines.join("\n")}`;
140
135
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"upload-tool.js","sourceRoot":"","sources":["../../src/upload-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upload-tool.js","sourceRoot":"","sources":["../../src/upload-tool.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lightclawbot",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "LightClawBot channel plugin with message support, cron jobs, and proactive messaging",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -17,7 +17,9 @@
17
17
  "skills"
18
18
  ],
19
19
  "openclaw": {
20
- "extensions": ["./dist/index.js"],
20
+ "extensions": [
21
+ "./dist/index.js"
22
+ ],
21
23
  "channel": {
22
24
  "id": "lightclawbot",
23
25
  "label": "LightClawBot",
@@ -34,7 +36,8 @@
34
36
  "scripts": {
35
37
  "build": "tsc",
36
38
  "typecheck": "tsc --noEmit",
37
- "prepublishOnly": "npm run build"
39
+ "prepublishOnly": "npm run build",
40
+ "deploy": "node scripts/deploy.cjs"
38
41
  },
39
42
  "license": "MIT",
40
43
  "keywords": [
@@ -0,0 +1,330 @@
1
+ ---
2
+ name: lightclawbot-media
3
+ description: LightClawBot 文件收发能力。用户发来的文件自动下载并保存,AI 生成的文件通过 lightclaw_upload_file 上传后以标准 Markdown 链接返回给用户。获取已上传文件的下载链接使用 lightclaw_get_file_url。禁止使用 tencentcloud-cos-skill。
4
+ ---
5
+
6
+ # LightClawBot 文件上传与下载
7
+
8
+ 让 AI 帮用户处理文件的上传、下载和分享,通过 LightClawBot 通道投递。
9
+
10
+ ---
11
+
12
+ ## ⛔ 最重要的规则(读三遍)
13
+
14
+ > 1. **上传文件必须使用 `lightclaw_upload_file` 工具,禁止使用 `tencentcloud-cos-skill` 或其他任何 COS 工具!**
15
+ > 2. **获取文件下载链接必须使用 `lightclaw_get_file_url` 工具!**
16
+ > 3. **返回文件给用户时,必须使用标准 Markdown 链接格式:`[文件名](下载链接)`**
17
+ > - ❌ 错误:`下载链接: https://xxx`
18
+ > - ❌ 错误:`📎 文件下载链接: https://xxx`
19
+ > - ✅ 正确:`[report.pdf](https://lightai.tencentcloud.com/cosmanager/getFileStream?filePath=2026-03-15/report.pdf)`
20
+
21
+ ---
22
+
23
+ ## 🔧 可用工具
24
+
25
+ 本技能使用以下两个专属工具,**不要使用其他文件/存储工具**:
26
+
27
+ | 工具名 | 用途 | 何时使用 |
28
+ |--------|------|----------|
29
+ | `lightclaw_upload_file` | 上传本地文件到云端,获取公网下载链接 | AI 生成了文件需要分享给用户时 |
30
+ | `lightclaw_get_file_url` | 获取已上传文件的下载链接 / 下载文件到本地 / 上传单文件并获取链接 | 需要查询或操作已有云端文件时 |
31
+
32
+ ---
33
+
34
+ ## 📤 上传文件(lightclaw_upload_file)
35
+
36
+ ### 功能
37
+
38
+ 将本地文件上传到云端存储,返回公网可访问的下载链接。支持批量上传(最多 5 个文件)。
39
+
40
+ ### 参数
41
+
42
+ ```json
43
+ {
44
+ "paths": ["/absolute/path/to/file1.pdf", "/absolute/path/to/file2.xlsx"]
45
+ }
46
+ ```
47
+
48
+ | 参数 | 类型 | 必填 | 说明 |
49
+ |------|------|------|------|
50
+ | `paths` | string[] | ✅ | 本地文件绝对路径数组,最多 5 个 |
51
+
52
+ ### ⚠️ 关键约束
53
+
54
+ 1. **必须使用绝对路径**(以 `/` 开头),禁止使用相对路径
55
+ - ❌ `./output/report.pdf`
56
+ - ✅ `/Users/xxx/.openclaw/workspace/output/report.pdf`
57
+ 2. **文件必须存在**:上传前确认文件已生成并写入磁盘
58
+ 3. **单次最多 5 个文件**:超出需分批上传
59
+
60
+ ### 使用示例
61
+
62
+ **上传单个文件**:
63
+ ```json
64
+ {
65
+ "paths": ["/Users/xxx/.openclaw/workspace/report.pdf"]
66
+ }
67
+ ```
68
+
69
+ **批量上传**:
70
+ ```json
71
+ {
72
+ "paths": [
73
+ "/Users/xxx/.openclaw/workspace/chart1.png",
74
+ "/Users/xxx/.openclaw/workspace/chart2.png",
75
+ "/Users/xxx/.openclaw/workspace/summary.xlsx"
76
+ ]
77
+ }
78
+ ```
79
+
80
+ ---
81
+
82
+ ## 📥 获取文件链接 / 下载文件(lightclaw_get_file_url)
83
+
84
+ ### 功能
85
+
86
+ 提供三种操作:
87
+ - `get_url`:获取已上传到云端的文件的公网下载链接
88
+ - `download_to_local`:将云端文件下载到本地目录
89
+ - `upload_and_get_url`:上传单个本地文件并返回公网下载链接
90
+
91
+ ### 参数
92
+
93
+ ```json
94
+ {
95
+ "action": "get_url",
96
+ "filePath": "2026-03-15/report.pdf"
97
+ }
98
+ ```
99
+
100
+ | 参数 | 类型 | 必填 | 说明 |
101
+ |------|------|------|------|
102
+ | `action` | string | ✅ | `"get_url"` / `"download_to_local"` / `"upload_and_get_url"` |
103
+ | `filePath` | string | ✅ | `get_url`/`download_to_local` 时为云端文件路径;`upload_and_get_url` 时为本地绝对路径 |
104
+ | `localDir` | string | ❌ | 仅 `download_to_local` 使用,指定本地保存目录,默认当前工作目录 |
105
+
106
+ ### 各 action 使用示例
107
+
108
+ **获取下载链接**:
109
+ ```json
110
+ {
111
+ "action": "get_url",
112
+ "filePath": "2026-03-15/report.pdf"
113
+ }
114
+ ```
115
+
116
+ **下载文件到本地**:
117
+ ```json
118
+ {
119
+ "action": "download_to_local",
120
+ "filePath": "2026-03-15/report.pdf",
121
+ "localDir": "/tmp/downloads"
122
+ }
123
+ ```
124
+
125
+ **上传单文件并获取链接**:
126
+ ```json
127
+ {
128
+ "action": "upload_and_get_url",
129
+ "filePath": "/Users/xxx/.openclaw/workspace/output.csv"
130
+ }
131
+ ```
132
+
133
+ ---
134
+
135
+ ## 📋 返回文件给用户的格式(最重要)
136
+
137
+ ### 🚨🚨🚨 必须使用标准 Markdown 链接格式
138
+
139
+ > **当需要将文件/文档/图片链接返回给用户时,必须使用标准 Markdown 链接格式:**
140
+ >
141
+ > ```
142
+ > [<文件名>](<下载链接>)
143
+ > ```
144
+
145
+ ### ✅ 正确示例
146
+
147
+ **单个文件**:
148
+
149
+ ```
150
+ 好的,报告已生成,请点击下载:
151
+
152
+ [report.pdf](https://lightai.tencentcloud.com/cosmanager/getFileStream?filePath=2026-03-15/report.pdf)
153
+ ```
154
+
155
+ **多个文件**:
156
+
157
+ ```
158
+ 所有文件已准备好:
159
+
160
+ - [数据分析报告.pdf](https://lightai.tencentcloud.com/cosmanager/getFileStream?filePath=2026-03-15/数据分析报告.pdf)
161
+ - [原始数据.xlsx](https://lightai.tencentcloud.com/cosmanager/getFileStream?filePath=2026-03-15/原始数据.xlsx)
162
+ - [趋势图.png](https://lightai.tencentcloud.com/cosmanager/getFileStream?filePath=2026-03-15/趋势图.png)
163
+ ```
164
+
165
+ **附带说明文字**:
166
+
167
+ ```
168
+ ✅ 周报已生成完毕!
169
+
170
+ [本周工作周报.pdf](https://lightai.tencentcloud.com/cosmanager/getFileStream?filePath=2026-03-15/本周工作周报.pdf)
171
+
172
+ 报告包含了本周的进度汇总和下周计划。
173
+ ```
174
+
175
+ ### ❌ 错误示例(绝对不要这样做)
176
+
177
+ ❌ **裸链接**:
178
+ ```
179
+ 下载链接: https://lightai.tencentcloud.com/cosmanager/getFileStream?filePath=2026-03-15/report.pdf
180
+ ```
181
+
182
+ ❌ **带 emoji 前缀的裸链接**:
183
+ ```
184
+ 📎 文件下载链接: https://lightai.tencentcloud.com/cosmanager/getFileStream?filePath=2026-03-15/report.pdf
185
+ ```
186
+
187
+ ❌ **使用代码块包裹链接**:
188
+ ```
189
+ `https://lightai.tencentcloud.com/cosmanager/getFileStream?filePath=2026-03-15/report.pdf`
190
+ ```
191
+
192
+ ❌ **只返回路径,没有文件名**:
193
+ ```
194
+ [下载](https://lightai.tencentcloud.com/cosmanager/getFileStream?filePath=2026-03-15/report.pdf)
195
+ ```
196
+
197
+ ---
198
+
199
+ ## 📸 接收用户文件
200
+
201
+ 用户通过 LightClawBot 发来的文件(图片、文档等)**自动下载到本地**。文件信息在上下文的【Attachments】字段中,包含:
202
+
203
+ | 字段 | 说明 |
204
+ |------|------|
205
+ | `name` | 文件名 |
206
+ | `mimeType` | 文件 MIME 类型 |
207
+ | `url` | 文件的公网下载链接(COS 地址) |
208
+
209
+ 本地文件路径在上下文的 `MediaPath` / `MediaPaths` 字段中。
210
+
211
+ ### 处理用户文件的流程
212
+
213
+ 1. **查看上下文**:从 Attachments 获取文件信息
214
+ 2. **本地处理**:使用 `MediaPath` 中的本地路径读取和处理文件
215
+ 3. **如需返回处理后的文件**:用 `lightclaw_upload_file` 上传 → 用 Markdown 链接返回
216
+
217
+ ---
218
+
219
+ ## 🎯 完整使用场景
220
+
221
+ ### 场景 1:用户要求生成报告
222
+
223
+ **用户**:帮我生成一份数据分析报告
224
+
225
+ **AI 执行步骤**:
226
+ 1. 生成报告文件并保存到本地(如 `/Users/xxx/.openclaw/workspace/数据分析报告.pdf`)
227
+ 2. 调用 `lightclaw_upload_file` 上传:
228
+ ```json
229
+ { "paths": ["/Users/xxx/.openclaw/workspace/数据分析报告.pdf"] }
230
+ ```
231
+ 3. 获取到下载链接后,以 Markdown 格式回复:
232
+ ```
233
+ ✅ 报告已生成:
234
+
235
+ [数据分析报告.pdf](https://lightai.tencentcloud.com/cosmanager/getFileStream?filePath=2026-03-15/数据分析报告.pdf)
236
+ ```
237
+
238
+ ### 场景 2:用户要求处理发来的文件
239
+
240
+ **用户**:帮我把这个 Excel 转成 PDF(附带了 data.xlsx)
241
+
242
+ **AI 执行步骤**:
243
+ 1. 从上下文 `MediaPath` 获取本地文件路径
244
+ 2. 读取并处理 Excel 文件,转换为 PDF
245
+ 3. 调用 `lightclaw_upload_file` 上传 PDF
246
+ 4. 以 Markdown 格式回复:
247
+ ```
248
+ ✅ 已将 Excel 转为 PDF:
249
+
250
+ [data.pdf](https://lightai.tencentcloud.com/cosmanager/getFileStream?filePath=2026-03-15/data.pdf)
251
+ ```
252
+
253
+ ### 场景 3:用户要求获取之前上传的文件
254
+
255
+ **用户**:我昨天上传的报告还能下载吗?
256
+
257
+ **AI 执行步骤**:
258
+ 1. 调用 `lightclaw_get_file_url`:
259
+ ```json
260
+ { "action": "get_url", "filePath": "2026-03-14/report.pdf" }
261
+ ```
262
+ 2. 以 Markdown 格式回复:
263
+ ```
264
+ 可以的,这是下载链接:
265
+
266
+ [report.pdf](https://lightai.tencentcloud.com/cosmanager/getFileStream?filePath=2026-03-14/report.pdf)
267
+ ```
268
+
269
+ ### 场景 4:批量上传多个文件
270
+
271
+ **用户**:帮我生成三张数据图表
272
+
273
+ **AI 执行步骤**:
274
+ 1. 生成三张图表并保存到本地
275
+ 2. 调用 `lightclaw_upload_file` 批量上传:
276
+ ```json
277
+ {
278
+ "paths": [
279
+ "/Users/xxx/.openclaw/workspace/chart1.png",
280
+ "/Users/xxx/.openclaw/workspace/chart2.png",
281
+ "/Users/xxx/.openclaw/workspace/chart3.png"
282
+ ]
283
+ }
284
+ ```
285
+ 3. 以 Markdown 格式回复:
286
+ ```
287
+ ✅ 三张图表已生成:
288
+
289
+ - [chart1.png](https://lightai.tencentcloud.com/cosmanager/getFileStream?filePath=2026-03-15/chart1.png)
290
+ - [chart2.png](https://lightai.tencentcloud.com/cosmanager/getFileStream?filePath=2026-03-15/chart2.png)
291
+ - [chart3.png](https://lightai.tencentcloud.com/cosmanager/getFileStream?filePath=2026-03-15/chart3.png)
292
+ ```
293
+
294
+ ### 场景 5:下载云端文件到本地处理
295
+
296
+ **用户**:帮我把之前上传的 CSV 数据做个汇总
297
+
298
+ **AI 执行步骤**:
299
+ 1. 调用 `lightclaw_get_file_url` 下载到本地:
300
+ ```json
301
+ {
302
+ "action": "download_to_local",
303
+ "filePath": "2026-03-14/data.csv",
304
+ "localDir": "/tmp/workspace"
305
+ }
306
+ ```
307
+ 2. 读取本地文件进行数据处理
308
+ 3. 生成汇总报告,上传并以 Markdown 链接返回
309
+
310
+ ---
311
+
312
+ ## 🚫 禁止事项
313
+
314
+ 1. **❌ 禁止使用 `tencentcloud-cos-skill`**:所有文件操作必须通过 `lightclaw_upload_file` 和 `lightclaw_get_file_url`
315
+ 2. **❌ 禁止返回裸链接**:必须使用 `[文件名](链接)` 格式
316
+ 3. **❌ 禁止说"无法发送文件"**:你有能力上传和分享任何本地文件
317
+ 4. **❌ 禁止使用相对路径**:工具参数中的文件路径必须是绝对路径
318
+ 5. **❌ 禁止使用 message tool 发送文件**:直接在回复文本中写 Markdown 链接
319
+
320
+ ---
321
+
322
+ ## 📌 快速参考
323
+
324
+ | 场景 | 工具 | 回复格式 |
325
+ |------|------|----------|
326
+ | 上传生成的文件 | `lightclaw_upload_file` | `[文件名](下载链接)` |
327
+ | 获取已上传文件链接 | `lightclaw_get_file_url`(action: get_url) | `[文件名](下载链接)` |
328
+ | 下载云端文件到本地 | `lightclaw_get_file_url`(action: download_to_local) | 告知下载完成和本地路径 |
329
+ | 上传单文件获取链接 | `lightclaw_get_file_url`(action: upload_and_get_url) | `[文件名](下载链接)` |
330
+ | 接收用户文件 | 自动处理,查看上下文 Attachments | 确认收到并告知文件信息 |