golembot 0.36.0 → 0.37.0

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.
@@ -22,5 +22,10 @@ export declare class WeixinAdapter implements ChannelAdapter {
22
22
  private headers;
23
23
  private pollLoop;
24
24
  private parseMessage;
25
+ /**
26
+ * Download and decrypt an image from WeChat CDN.
27
+ * Images are AES-128-ECB encrypted on the CDN.
28
+ */
29
+ private downloadImage;
25
30
  }
26
31
  //# sourceMappingURL=weixin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"weixin.d.ts","sourceRoot":"","sources":["../../src/channels/weixin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D;;;GAGG;AACH,qBAAa,aAAc,YAAW,cAAc;IAClD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,gBAAgB,QAAQ;IAEjC,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAO;IACvC,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,mBAAmB,CAAgC;gBAE/C,MAAM,EAAE,mBAAmB;IAKjC,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9D,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAgChF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,OAAO,CAAC,OAAO;YASD,QAAQ;IA6EtB,OAAO,CAAC,YAAY;CAuDrB"}
1
+ {"version":3,"file":"weixin.d.ts","sourceRoot":"","sources":["../../src/channels/weixin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAC;AACnG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAI3D;;;GAGG;AACH,qBAAa,aAAc,YAAW,cAAc;IAClD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,gBAAgB,QAAQ;IAEjC,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAO;IACvC,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,mBAAmB,CAAgC;gBAE/C,MAAM,EAAE,mBAAmB;IAKjC,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9D,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAgChF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,OAAO,CAAC,OAAO;YASD,QAAQ;YA6ER,YAAY;IAqE1B;;;OAGG;YACW,aAAa;CAwC5B"}
@@ -1,4 +1,5 @@
1
- import { randomUUID } from 'node:crypto';
1
+ import { createDecipheriv, randomUUID } from 'node:crypto';
2
+ const CDN_BASE = 'https://novac2c.cdn.weixin.qq.com/c2c';
2
3
  /**
3
4
  * WeChat (个人微信) adapter using Tencent iLink Bot API.
4
5
  * Pure HTTP long-polling — no external SDK dependency.
@@ -101,7 +102,7 @@ export class WeixinAdapter {
101
102
  consecutiveErrors = 0;
102
103
  const msgs = data.msgs || [];
103
104
  for (const update of msgs) {
104
- const parsed = this.parseMessage(update);
105
+ const parsed = await this.parseMessage(update);
105
106
  if (!parsed)
106
107
  continue;
107
108
  // Dedup
@@ -136,7 +137,7 @@ export class WeixinAdapter {
136
137
  }
137
138
  }
138
139
  }
139
- parseMessage(update) {
140
+ async parseMessage(update) {
140
141
  const raw = update;
141
142
  // Only process user messages (message_type 1); skip bot messages (2+)
142
143
  if (raw.message_type !== undefined && raw.message_type !== 1)
@@ -146,8 +147,9 @@ export class WeixinAdapter {
146
147
  return null;
147
148
  const messageId = raw.client_id || '';
148
149
  const itemList = raw.item_list || [];
149
- // Extract text from item_list
150
+ // Extract text and images from item_list
150
151
  let text = '';
152
+ const images = [];
151
153
  for (const item of itemList) {
152
154
  switch (item.type) {
153
155
  case 1: {
@@ -155,9 +157,22 @@ export class WeixinAdapter {
155
157
  text += textItem?.text || '';
156
158
  break;
157
159
  }
158
- case 2:
159
- text += '(image)';
160
+ case 2: {
161
+ const imageItem = item.image_item;
162
+ if (imageItem) {
163
+ try {
164
+ const img = await this.downloadImage(imageItem);
165
+ if (img)
166
+ images.push(img);
167
+ }
168
+ catch (e) {
169
+ console.error('[weixin] Failed to download image:', e.message);
170
+ }
171
+ }
172
+ if (images.length === 0)
173
+ text += '(image)';
160
174
  break;
175
+ }
161
176
  case 3: {
162
177
  const voiceItem = item.voice_item;
163
178
  text += voiceItem?.text || '(voice)';
@@ -176,8 +191,10 @@ export class WeixinAdapter {
176
191
  break;
177
192
  }
178
193
  }
179
- if (!text)
194
+ if (!text && images.length === 0)
180
195
  return null;
196
+ if (!text && images.length > 0)
197
+ text = '(image)';
181
198
  return {
182
199
  channelType: 'weixin',
183
200
  senderId,
@@ -185,8 +202,56 @@ export class WeixinAdapter {
185
202
  chatType: 'dm',
186
203
  text,
187
204
  messageId,
205
+ images: images.length > 0 ? images : undefined,
188
206
  raw: update,
189
207
  };
190
208
  }
209
+ /**
210
+ * Download and decrypt an image from WeChat CDN.
211
+ * Images are AES-128-ECB encrypted on the CDN.
212
+ */
213
+ async downloadImage(imageItem) {
214
+ const media = imageItem.media;
215
+ const encryptQueryParam = media?.encrypt_query_param;
216
+ if (!encryptQueryParam)
217
+ return null;
218
+ // 1. Download encrypted bytes from CDN (no auth needed)
219
+ const cdnUrl = `${CDN_BASE}/download?encrypted_query_param=${encodeURIComponent(encryptQueryParam)}`;
220
+ const resp = await fetch(cdnUrl);
221
+ if (!resp.ok)
222
+ throw new Error(`CDN download failed: HTTP ${resp.status}`);
223
+ const encrypted = Buffer.from(await resp.arrayBuffer());
224
+ if (encrypted.length === 0)
225
+ return null;
226
+ // 2. Parse AES key
227
+ const aesKeyHex = imageItem.aeskey;
228
+ let key;
229
+ if (aesKeyHex && aesKeyHex.length === 32) {
230
+ key = Buffer.from(aesKeyHex, 'hex');
231
+ }
232
+ else {
233
+ const aesKeyB64 = media?.aes_key;
234
+ if (!aesKeyB64)
235
+ return null;
236
+ const decoded = Buffer.from(aesKeyB64, 'base64');
237
+ if (decoded.length === 16) {
238
+ key = decoded;
239
+ }
240
+ else if (decoded.length === 32 && /^[0-9a-fA-F]{32}$/.test(decoded.toString('ascii'))) {
241
+ key = Buffer.from(decoded.toString('ascii'), 'hex');
242
+ }
243
+ else {
244
+ return null;
245
+ }
246
+ }
247
+ // 3. Decrypt AES-128-ECB
248
+ const decipher = createDecipheriv('aes-128-ecb', key, null);
249
+ const data = Buffer.concat([decipher.update(encrypted), decipher.final()]);
250
+ // 4. Detect format from magic bytes
251
+ const isPng = data[0] === 0x89 && data[1] === 0x50;
252
+ const mimeType = isPng ? 'image/png' : 'image/jpeg';
253
+ const ext = isPng ? 'png' : 'jpg';
254
+ return { mimeType, data, fileName: `weixin-image.${ext}` };
255
+ }
191
256
  }
192
257
  //# sourceMappingURL=weixin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"weixin.js","sourceRoot":"","sources":["../../src/channels/weixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"weixin.js","sourceRoot":"","sources":["../../src/channels/weixin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "golembot",
3
- "version": "0.36.0",
3
+ "version": "0.37.0",
4
4
  "description": "GolemBot - Local-first AI assistant powered by Coding Agent CLI engines. Connect to Slack, Telegram, Discord, Feishu, DingTalk, WeCom, WeChat.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",