# 企微 Markdown 消息 4096 Bytes 限制

## 限制详情

- 企微 Webhook / 应用消息 API 对 markdown 消息有 **4096 bytes** 的硬限制（不是字符数）
- UTF-8 编码中文字符每字 3 bytes，所以约 **1300 个中文字**（实际约 1200-1250，需留头像/格式开销）
- 超过限制：API 调用返回 `errcode:40058` 或静默截断（无报错）
- 混合内容（中文 + emoji + markdown 标记）会占用更多 bytes

## 安全阈值

| 内容 | 安全上限 |
|------|------|
| 纯中文 | ~1200 字 |
| 中文 + 少量 markdown 格式 | ~1100 字 |
| 中文 + 表格 + 链接 | ~1000 字 |
| 含 emoji 段落 | 每个 emoji 占 4 bytes |

## 拆分策略选择

| 内容长度 | 策略 | 标注格式 |
|------|------|------|
| ≤1200 中文字 | 直接输出 | — |
| 1200-3000 中文字 | 拆多条，每条 ≤1200 字 | `(①/③)` `(②/③)` `(③/③)` |
| >3000 中文字 | 存文件 + 推摘要 | 摘要 800 字内 + 文件路径 |

## 拆分点选择优先级

1. 自然段/章节分界 ← 最优先
2. 话题/主题独立处（表格可独立成一条）
3. 不在句中断开
4. 每条 ≥200 字，避免碎片化

## 验证方法

```python
msg_bytes = len(content.encode('utf-8'))
if msg_bytes > 4000:  # 留 96 bytes 缓冲
    print(f"WARNING: {msg_bytes} bytes, needs splitting")
```
