42 lines
2.5 KiB
Markdown
42 lines
2.5 KiB
Markdown
# Memory · 2026-04-24
|
|
|
|
## WeChat Image Sending — Root Cause Findings
|
|
|
|
### 1. Gateway sendMedia is QQBot-only (Platform Bug)
|
|
- Gateway imports `sendMedia` from `outbound-CkazH4Wl.js` which is QQBot-exclusive
|
|
- WeChat plugin's `sendMedia` in `channel.ts:205` is **never called** by the gateway
|
|
- All outbound messages log `mediaUrl=none` — images are NOT sent via this path
|
|
- **Workaround**: Using `MEDIA:./assets/<filename>` directive in reply works — Tyrone received images this way
|
|
- The `image_generate` tool output IS sent correctly via MEDIA: path
|
|
|
|
### 2. Browserless Screenshot Blank Issue (mp.weixin.qq.com)
|
|
- Browserless returns 2685-byte solid-color PNG for mp.weixin.qq.com (anti-bot protection)
|
|
- GitHub and taobao.com/login also return blank/placeholder
|
|
- Normal pages (e.g., baidu.com) CAN be screenshot successfully (48071 bytes real PNG)
|
|
- The `browser` tool has intermittent "timed out" / "No connected browser-capable nodes" failures
|
|
- Browserless CDP is reachable at ws://browserless:3000
|
|
|
|
### 3. QR Code Generation — AI refuses scannable QR codes
|
|
- `image_generate` tool cannot produce scannable QR codes (MiniMax has anti-fraud training that blocks QR code generation)
|
|
- `api.qrserver.com` returns wrong content ("Happy Halloween!") for all URLs
|
|
- My hand-written QR encoder (gen-qr-png.cjs) produces technically valid QR but the resulting PNG from ImageMagick conversion has precision loss and won't scan
|
|
- **Solution options**: (a) install qrencode on群晖, (b) use browserless to screenshot a real login QR from a site that works (taobao login worked), (c) Tyrone logs in manually at mp.weixin.qq.com
|
|
|
|
### 4. WeChat QR Login URL
|
|
- URL: `https://mp.weixin.qq.com/cgi-bin/scanloginqrcode?action=getqrcode&random=<epoch>&login_appid=` — session-based, expires
|
|
- Cannot be fetched via curl (requires browser session cookies)
|
|
- Must use browser with WeChat logged-in session to access
|
|
|
|
### 5. Valid Reference Images
|
|
- `wechat-open-qr.png` (105378 bytes) — valid QR from earlier session, stored at workspace/assets/screenshot-test/
|
|
- Test circle PNG sent successfully — confirmed WeChat CAN receive images via MEDIA: directive
|
|
|
|
### 6. Successful Screenshot Targets
|
|
- baidu.com → 48071 bytes real PNG via browserless
|
|
- taobao.com/login → real login QR code screenshot works
|
|
|
|
## Key Decisions This Session
|
|
- Using `MEDIA:./assets/<filename>` for image delivery (not gateway sendMedia)
|
|
- WeChat channel `sendText` works fine; only images have routing issues
|
|
- Browserless HTTP API (POST /screenshot) more reliable than browser tool for some targets
|