---
name: minimax-cli-wechat-image-send
description: MiniMax CLI 图片生成 + 微信发送的完整流程，包括 CDN 500 错误重试策略和 mmx vision 图片分析替代方案
---

# MiniMax CLI 微信图片发送与重试策略

## 背景
通过 `mmx` (MiniMax CLI) 生成图片后，使用 Hermes 的 `send_message_tool` 发送至微信时，CDN 上传可能返回 HTTP 500 错误，需要重试。

## 关键发现

### 1. 微信图片发送 CDN 500 错误 → 需重试
```bash
# 第一次发送失败
python3 -c "
from tools.send_message_tool import send_message_tool
send_message_tool({'action': 'send', 'message': 'MEDIA:/path/to/image.png', 'target': 'weixin:o9cq801Q4BDVa20m46H0KTKRUOjo@im.wechat'})
"
# 返回: CDN upload HTTP 500
# 等待 5-10 秒后重试 → 成功
```

### 2. 微信 chat_id
- 主公微信: `o9cq801Q4BDVa20m46H0KTKRUOjo@im.wechat`
- target 格式: `weixin:<chat_id>`

### 3. 图片分析优先使用 `mmx vision`
当 `vision_analyze` 工具无法识别图片时（浏览器上下文问题），直接用 `mmx vision` 命令行分析本地文件更可靠：

```bash
# 下载图片到本地
curl -s -o /root/.hermes/workspace/local_img.jpg "https://example.com/image.jpg"

# 用 mmx vision 分析（成功率高于 agent 内置 vision_analyze）
mmx vision /root/.hermes/workspace/local_img.jpg
```

## 标准发送流程（图片/音频）
```python
import time
from tools.send_message_tool import send_message_tool

def send_to_wechat(file_path, max_retries=3, delay=5):
    for attempt in range(max_retries):
        result = send_message_tool({
            'action': 'send',
            'message': f'MEDIA:{file_path}',
            'target': 'weixin:o9cq801Q4BDVa20m46H0KTKRUOjo@im.wechat'
        })
        if result.get('success'):
            return result
        if attempt < max_retries - 1:
            time.sleep(delay)
    return result
```

## 验证
- 2026-05-13: 图片发送首次失败，重试5s后失败，重试10s后成功
- 2026-05-13: 音频发送首次即成功
- `mmx vision` 分析本地 jpg 文件成功（2474×1650 白宫航拍照片）
