---
name: wecom-safe-output
description: "企微安全输出规则——所有在企微场景下的回复自动遵守 4096 bytes 上限，超限自动拆分或存文件。"
category: devops
---

# 企微安全输出规则

## 触发条件

当对话来源为 `wecom_callback` 或 `wecom` 时，以下规则自动生效。

## 硬限制

- 企微 markdown 消息上限 **4096 bytes**（约 1200 中文字，UTF-8 每字 3 bytes）
- 超过限制的企微 API 调用会被静默截断（无报错，用户只看到前半段）
- 详细技术参数见 `references/wecom-4096-limit.md`

## 输出策略

### 短内容（≤1200 中文字）
→ 直接输出，不做处理。

### 中等长度（1200-3000 中文字）
→ **拆成多条**，每条末尾标注序号：

```
这是第一条内容... （①/③）

这是第二条内容... （②/③）

这是最后一条... （③/③）
```

拆分点在段落/章节边界，不在一句话中间切断。

### 长内容（>3000 中文字，如完整文章）
→ **方案B：存本地文件 + 推送摘要**

1. 完整内容写入文件：
   - 官网文章 → `~/.hermes/articles/{日期}_{slug}.html`
   - 社交文案 → `~/.hermes/articles/{日期}_{slug}_{渠道}.md`
2. 企微输出摘要（≤800 中文字）：标题 + 结构概览 + 关键数据 + 文件路径
3. 用户确认后，如需修改：直接改文件，改完重推摘要

## 拆分规则的优先级

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

## 文件命名规范

```
~/.hermes/articles/{YYYY-MM-DD}_{slug}.{格式}
~/.hermes/articles/{YYYY-MM-DD}_{slug}_{渠道}.{格式}

示例：
2026-06-23_中职生考本科提前准备.html         ← 官网版
2026-06-23_中职生考本科提前准备_xhs.md        ← 小红书版
```

## 禁用做法

- ❌ 不指望企微自动换行/自动截断
- ❌ 不输出 4096+ bytes 的完整 markdown 后祈祷不截断
- ❌ 不在企微里输出完整长文章正文（→ 存文件）
