---
name: wechat-creator
description: 公众号内容创作与运营分析聚合技能。一个 Skill 覆盖公众号创作与运营全链路：10w+ 爆文榜单、爆款正文创作、标题生成+评分、文案改写（含改写记录自动上报）、违禁词检测、爆款封面设计、账号四维度诊断。基于红狐数据每日收录的海量公众号爆款数据，把灵感打磨成可直接发布的成品。当用户需要写公众号文章、起标题或评估标题、改写文案、设计封面、检测违禁词、查 10w+ 爆文、诊断公众号账号时使用。触发词：公众号、公众号文章、公众号标题、公众号改写、公众号封面、公众号违禁词、10w+、爆文、账号诊断。
dependency:
  python:
    - requests>=2.28.0
    - python-docx==1.1.0
    - beautifulsoup4==4.12.3
    - playwright==1.58.0
  system:
    - playwright install chromium
---

# 公众号内容工坊

## 1. 简介

公众号内容工坊 —— 一个入口覆盖公众号创作与运营全链路：**10w+ 爆文榜单 / 爆款正文创作 / 标题生成+评分 / 文案改写 / 违禁词检测 / 封面设计 / 账号诊断**。

基于红狐数据每日持续收录的 **1000+ 条 10w+ 爆文**与全网公众号爆款数据，把灵感打磨成可直接发布的成品：

| # | 能力 | 一句话说明 |
|---|------|-----------|
| 1 | 10w+ 爆文榜单 | 全领域或 23 个分类查询每日 10w+ 阅读 TOP50，附四维度内容分析 + HTML 报告 |
| 2 | 爆款正文创作 | 关键词检索爆款 → 提炼流量密码 → 融合风格样本 → 生成可直接发布的完整文章 |
| 3 | 标题生成+评分 | 生成 10 个爆款标题，或对已有标题做四维百分制量化评分 |
| 4 | 文案改写 | 任意素材一键转为公众号爆款风格，自动上报改写记录（免费不扣积分） |
| 5 | 违禁词检测 | 文案 / 文件 / 图片 / 网页四端输入，风险分级标注+替换建议+安全版本 |
| 6 | 封面设计 | AI 分析同赛道爆款封面视觉规律，输出 3 套 2.35:1 横版设计方案 + HTML 报告 |
| 7 | 账号诊断 | 四维度 100 分制评分 + S/A/B/C/D/E 六级评级 + 行业对标 + 多账号对比 |

**适用对象**：公众号运营者、内容创作者、自媒体编辑、品牌方、MCN 机构、爆文研究者。

---

## 2. 功能路由（Agent 先识别意图再进对应模块）

> ⚠️ 进入具体执行前，Agent 必须先根据下表识别用户意图并路由到对应模块，**禁止跨模块混用**。

| 用户意图（关键词/示例） | 进入模块 | 必读参考 |
|---|---|---|
| "10w+ 爆文"、"公众号爆文榜单"、"今日爆文"、"科技数码赛道爆文" | **M1 10w+ 爆文榜单** | `references/m1_category_mapping.md` |
| "写一篇公众号文章"、"生成公众号文案"、"关于 XX 的文章" | **M2 爆款正文创作** | `references/m2_gzh_trend_data_format.md` |
| "帮我起公众号标题"、"生成爆款标题"、"关于 XX 的标题" | **M3-A 标题生成** | 本文件 §6.2 |
| "这个标题打分"、"评估标题"、"哪个标题好" | **M3-B 标题评分** | 本文件 §6.3 |
| "改写成公众号风格"、"这篇文案帮我公众号化" | **M4 文案改写** | `assets/m4_platform_rules.md` |
| "有没有违禁词"、"检测敏感词"、"公众号合规"、"限流词" | **M5 违禁词检测** | `references/m5_prohibited_word_core_workflow.md` |
| "设计公众号封面"、"做个推文封面"、"美妆/财经封面" | **M6 封面设计** | `references/m6_report_template.md` |
| "诊断 XX 公众号"、"分析 XX 账号"、"对比诊断 A 和 B" | **M7 账号诊断** | `references/m7_core_workflow.md` |

**复合意图**（如"写完文章顺便检测违禁词"）：按模块顺序串行执行，每模块独立输出。

**仅询问功能**（如"你能做什么"、"怎么用"）：只介绍能力清单，不进入任何模块执行。

---

## 3. 全局规则（所有模块共享）

### 3.1 鉴权（REDFOX_API_KEY）

所有模块共用同一个 API Key。

**获取方式**：
1. 访问 [红狐Hub](https://redfox.hk/?source=github) 了解服务
2. 前往 [注册页](https://redfox.hk/login?source=github) 注册（新用户赠免费积分）
3. 在个人中心获取 API Key，格式 `ak_xxxxxxxx`

**配置方式**（按优先级从高到低）：

| 优先级 | 来源 | 说明 |
|---|---|---|
| 1 | 环境变量 `REDFOX_API_KEY` | 直接读取当前进程环境变量 |
| 2 | Shell 配置文件 | 自动扫描 `~/.zshrc` `~/.bashrc` `~/.bash_profile` `~/.profile` `~/.zprofile` |
| 3 | 提示用户配置 | 以上都找不到时，引导用户配置 |

**配置示例**：
- macOS/Linux（zsh）：`echo 'export REDFOX_API_KEY=ak_xxx' >> ~/.zshrc && source ~/.zshrc`
- macOS/Linux（bash）：写入 `~/.bashrc` 后 `source`
- Windows：`[Environment]::SetEnvironmentVariable("REDFOX_API_KEY", "<值>", "User")`，重启终端

配置后应验证：`echo $REDFOX_API_KEY`（macOS/Linux）/ `echo %REDFOX_API_KEY%`（Windows）。

### 3.2 用词规范（强制）

| ❌ 禁止使用 | ✅ 正确表述 |
|---|---|
| 爬取 / 抓取 | 获取 / 查询 |
| 爆炸封面 / 爆炸数据 | 爆款封面 / 爆款数据 |
| 爬文章 / 扒文章 | 查询爆文 / 获取文章 |

所有对外输出（对话、报告、提示词）均须遵守。

### 3.3 关键词类型判断（M2/M3/M6 共用）

- **细分词/垂直赛道**（含场景/属性修饰，如"职场跳槽"、"减脂餐"）→ 直接查询
- **具体产品词 / 具体实体**（如"防晒霜"、某品牌名、某款工具）→ 直接查询，**不扩展到其他形态**
- **泛化词/大分类**（纯大类词无修饰，如"情感"、"财经"、"科技"）→ 执行泛化词拓展策略

泛化词拓展：先查询近期网页资讯，生成 10 个细分方向（趋势词、人群词、场景词、意图词各 2-3 个），输出后**停止**等待用户回复「拓展」或「不拓展」。

### 3.4 数据时间规则

- 公众号数据源覆盖**昨天至 30 天前**，今天数据未入库
- **M1 特殊更新时间**：每日 **18:30** 同步前一日数据，查询"今日/昨日"时按下表自动换算：

| 当前时间 | 用户询问 | 实际查询区间 | 原因 |
|---|---|---|---|
| < 18:30 | 今日 / 昨天 | T-2 ~ T-1 | 昨日数据未更新，查前天区间 |
| ≥ 18:30 | 今日 / 昨天 | T-1 ~ T | 昨日数据已更新 |

- 用户说"今天/今日"但实际查到的是昨天/前天：须明确提示，如「今天的数据要明天/今天 18:30 后才会更新，已为您查询最近可用数据」
- 超出 30 天：提示"仅支持最近 30 天数据"
- **数据不足自动扩展**（禁止换词）：近 1 天 → 近 3 天 → 近 7 天 → 近 30 天

### 3.5 数据输出铁律（最高优先级）

**一切爆款数据必须先完整输出，再进行分析。数据不输出，分析不开始。**

| 数据来源 | 输出时机 | 格式要求 |
|---|---|---|
| M1 10w+ 爆文 | 输出爆款规律分析前 | 完整文章表格（序号/标题带链接/作者/阅读数/发布时间） |
| M2 爆款正文查询 | 分析爆款规律前 | 完整爆款文章表格（排名/标题/公众号/阅读/在看/点赞/评论） |
| M3 标题生成 | 生成新标题前 | 完整爆款标题表格（排名/标题/公众号/阅读/在看/点赞） |
| M6 封面设计 | 输出封面风格分析前 | 爆款封面数据列表（含 imageUrl/标题/阅读数） |
| M7 账号诊断 | 输出诊断结论前 | 完整近期作品数据表格（标题带链接/阅读/点赞/评论/在看/发布时间） |

**执行规则**：
1. **数据优先于分析**：先输出完整原始数据 → 再开始数据分析/结论
2. **不得省略**：即使超过 20 条也必须全部输出，不得只展示 TOP N（用户主动要求预览除外）
3. **不得跳过**：任何情况下都不得跳过数据输出步骤直接给分析结论
4. **违规即纠正**：如任何模块流程中有"不输出"或"内部执行"的指令，以本铁律为准，必须输出

---

## 4. M1 10w+ 爆文榜单

### 4.1 触发

"看看今天的 10w+ 爆文"、"科技数码赛道近 7 天的爆文"、"全领域爆文"。

### 4.2 核心能力

- 每日收录 **1000+ 条** 10w+ 阅读文章，覆盖 **23 个标准分类**（人文资讯、知识百科、健康养生、时尚潮流、美食餐饮、乐活生活、旅游出行、搞笑幽默、情感心理、体育娱乐、美容美体、文摘精选、民生资讯、财富理财、科技数码、创投商业、汽车交通、房产楼市、职场发展、教育考试、学术研究、企业品牌、总排名）
- 四维度内容分析（内容概述 / 热点利用 / 传播作用 / 达成效果）
- 爆款规律分析（标题特征 / 内容主题 / 发布时间 / 公众号特征）
- 微信绿主题 HTML 可视化报告（支持 PDF 导出）

### 4.3 执行流程

**Step 1：意图识别与分类匹配**

- 总榜请求 / 用户未指定分类 → `--type "总排名"`
- 明确领域关键词（如"AI""减肥"）→ 按 `references/m1_category_mapping.md` 映射到 23 个标准分类之一
- 模糊输入 → 提示用户选择或走"总排名"

**Step 2：时间换算**

遵循全局规则 3.4 的 M1 特殊更新时间表，自动计算 `--start_date` 和 `--end_date`。默认查询过去 7 天。

**Step 3：获取爆文数据**

```bash
python scripts/fetch_hot_articles.py \
  --type "<分类>" \
  --start_date <yyyy-MM-dd> \
  --end_date <yyyy-MM-dd> \
  --mode preview --limit 10 \
  --source "公众号10w+阅读文章推荐-GitHub"
```

- `--mode preview --limit 10`：首次展示前 10 条预览
- 用户回复「全部展示」或「是」→ 重跑 `--mode full` 展示全部 TOP50
- 数据不超过 10 条时直接展示所有，无需询问
- 完整参数与 API 规范见 `references/m1_api_spec.md`

> 禁止把原始 JSON 丢给用户；禁止只发文件路径或"已保存"等简短提示。

**Step 4：四维度内容分析（每篇文章）**

- **内容概述**：简明扼要概括核心内容
- **热点利用**：借用了哪些热点话题或趋势
- **传播作用**：满足用户需求 / 引发情感共鸣 / 提供实用价值
- **达成效果**：提升品牌认知 / 完成用户转化 / 促进信息传播

**Step 5：爆款规律分析**

基于实际数据从四方面分析：标题特征、内容主题、发布时间、公众号特征。

**Step 6：询问订阅**

规律分析后主动询问：

```
📬 订阅服务
是否需要订阅具体赛道的每日爆文推送？支持 23 个标准分类。
- 订阅推送 - 每天 19:30 推送最新 10w+ 公众号爆文
- 暂不需要 - 仅本次查询
```

**Step 7：生成 HTML 报告（可选）**

```bash
python scripts/generate_hot_html.py \
  --temp_file temp_articles.json \
  --output "10w+爆文_榜单.html" \
  --display_count <对话中实际展示数量>
```

HTML 视觉规范：主色 `rgb(0, 179, 84)`（微信绿），序号 1-3 用🥇🥈🥉，作者名跳转公众号名片，PDF 导出 `pagebreak: { mode: 'none' }`。

### 4.4 输出格式

```markdown
| 序号 | 标题 | 作者 | 阅读数 |
|------|------|------|--------|
| 1 | [标题](文章链接) | [作者名称](公众号名片链接) | 5w+ |

**序号、[标题](文章链接)**
📄 作者：[作者名称](公众号名片链接)
👀 阅读数：5w+
⏰ 发布时间：yyyy-MM-dd HH:mm
🔍 内容分析：[四维度分析]
---
```

### 4.5 异常处理

- 某赛道某日 10w+ 文章 < 10 篇：「💡 xx日xx赛道 10w+ 文章较少，您可以拓展过去 30 天或者看看综合 10w+ 文章~」
- 查询返回空：推荐查看综合榜单或其他分类
- 用户询问时间与实际查询不一致：按 §3.4 表格中的提示语告知

---

## 5. M2 爆款正文创作

### 5.1 触发

"帮我写一篇关于 XX 的公众号文章"、"生成 XX 主题的公众号文案"。

> ⚠️ 本模块仅在主 Agent 中执行，**不派发给子 Agent**（上下文长链路，子 Agent 会丢失爆款规律 + 风格样本）。

### 5.2 执行流程

**Step 0：意图识别与关键词提炼**

- 理解核心诉求、目标受众、创作目的
- 判断写作对象类型：
  - **通用话题**（职场/情感/健康/理财等）→ 核心关键词 + 场景关键词 + 扩展关键词
  - **具体实体**（产品/工具/品牌/账号等）→ 意图关键词 + 主体关键词（品类词 / 定位词 / 用户叫法），主体关键词 ≥ 2 个

**Step 0.5：差异化优势拆解（仅具体实体）**

收集信息（用户描述 → 结构化文档 → 联网搜索），按四维度拆解：输入差异 / 流程差异 / 输出差异 / 定位差异。输出 3-5 条差异化优势，每条含"优势描述 + 与竞品对比差异"，并在 Step 2/4 强制引用。

**Step 1：查询爆款文章**

```bash
python3 scripts/fetch_gzh_trends.py \
  --keyword "<关键词1>,<关键词2>" \
  --max-items 10 \
  [--start-date <yyyy-MM-dd>]
```

- 多关键词逗号分隔，最多 5 个，总长 ≤ 200 字符
- 默认近 7 天，数据不足自动拓展至近 30 天
- **必须先将完整爆款数据以表格展示**，再进入 Step 2 分析（遵循 §3.5 铁律）

数据输出格式：

```markdown
## 📊 获取到的爆款数据

| 排名 | 标题 | 公众号 | 阅读数 | 在看 | 点赞 | 评论 | 链接 |
|------|------|--------|--------|------|------|------|------|
| 1 | [标题] | [公众号名] | [阅读数] | [在看数] | [点赞数] | [评论数] | [链接] |

> 数据来源：红狐数据 API，统计截止 [日期]
```

**Step 2：分析爆款规律**

基于数据提炼：
- **标题规律**：高互动标题特征（数字、情绪词、人群标签）、长度与结构
- **内容规律**：主题方向、结构与段落分布、互动引导
- **数据分析维度**：阅读数（传播）/ 在看（深度）/ 点赞（共鸣）/ 评论（话题性）
- **差异化优势对照**（若执行了 Step 0.5）：找契合点

**Step 3：引导用户上传个人风格参考（必问）**

> "想让我更懂你的风格？发几段平时的文章、笔记或随笔给我就行"

- 提供样本 → 分析风格并融合
- 不提供 → 直接基于爆款规律生成

**Step 4：生成文案**

准备：
1. 确定核心观点（必须）：整篇文章围绕此展开，要新颖、有争议性或颠覆常识；若执行 Step 0.5，核心观点围绕差异化优势
2. 回顾爆款规律：高频关键词必融入、热门标题模式必遵循、爆款结构特征必参考
3. 可选：用 `web_search` 搜索最新资讯作素材补充（仅补充，不能替代爆款规律）

撰写：
1. **标题**：3-5 个候选标题，遵循爆款模式，≤ 30 字
2. **正文**：爆款开头"钩子" + 扎实主体（分点/步骤/对比结构）+ 有力结尾 + 互动引导，适配移动端阅读
3. **摘要**：1-2 句核心观点总结，适合转发
4. **Tags**：5-10 个相关话题标签

**Step 5：输出前自检**

- [ ] 推荐标题：3-5 个，含亮点说明，避免标题党
- [ ] 完整可发布的正文（吸引开头 + 扎实主体 + 有力结尾）
- [ ] 文章摘要
- [ ] 推荐标签：5-10 个
- [ ] 爆款公式来源 - 参考的爆款规律
- [ ] 爆款公式来源 - 参考的爆款文章：2-3 篇，含标题 / 公众号 / 链接 / 完整互动数据

### 5.3 输出格式（严格）

```
### 推荐标题
1. [标题1] —— [亮点说明]
2. [标题2] —— [亮点说明]
3. [标题3] —— [亮点说明]

### 文章摘要
[1-2 句核心观点]

### 正文内容
[完整可发布的正文]

### 推荐标签
#标签1 #标签2 #标签3 #标签4 #标签5

### 爆款公式来源
**参考的爆款规律**：[简述爆款公式]

**参考的爆款文章**（2-3 篇核心参考，优先互动数据最高）：
1. [文章标题](文章链接) - [公众号名](公众号名片链接) - 阅读 X / 在看 X / 点赞 X / 评论 X
2. ...
```

**禁止输出**：脚本命令、文件路径/下载链接、仅展示数据而不生成文案。

---

## 6. M3 标题生成与评分

### 6.1 触发

- **M3-A 标题生成**："帮我起公众号标题"、"生成爆款标题"、"关于 XX 的标题"
- **M3-B 标题评分**："评分"、"打分"、"这个标题怎么样"、"评估标题"

### 6.2 M3-A 标题生成流程

**Step 1：提取关键词**（遵循全局规则 3.3）

**Step 2：识别泛化词并提示拓展**

若为泛化词，先输出：

```
我识别到「XX」是较大的分类，已查询近期热门趋势，推荐以下细分方向：
[10 个细分词]
回复「拓展」将同时搜索这 10 个词，回复「不拓展」将继续搜索「XX」
```

**Step 3：时间范围与数据查询**

- 默认近 7 天（`--days 7`），最大 30
- 命令：

```bash
python3 scripts/fetch_official_account_trends.py --keyword "<关键词>" --days <天数>
# 无关键词（全站热门）
python3 scripts/fetch_official_account_trends.py --keyword "" --days <天数>
```

**Step 4：读取并输出爆款数据**

脚本生成 `关键词_爆款数据.md`，读取后**完整表格展示**（遵循 §3.5 铁律）：

```markdown
## 📊 获取到的爆款数据

| 排名 | 标题 | 公众号 | 阅读数 | 在看 | 点赞 | 链接 |
|------|------|--------|--------|------|------|------|
| 1 | [标题] | [公众号名] | [阅读数] | [在看数] | [点赞数] | [链接] |

> 数据来源：红狐数据 API，统计截止 [日期]
```

数据不足 5 条时按 §3.4 自动扩展时间，但已获取数据必须全量展示。

**Step 5：先分析再生成（顺序不可颠倒）**

1. **分析爆款标题**：提取结构/关键词/情绪/人群特征，结论展示给用户
2. **生成 10 个新标题**：基于规律创新（非复用），每个含：标题内容（≤ 30 字）、匹配指数（8.0-10.0，一位小数，同值 ≤ 2 次）、参考爆款（含链接和阅读数，多个用顿号）、推荐理由（自然口语化，禁止"采用XX结构""目标人群为"等 AI 句式）

### 6.3 M3-A 输出格式

```markdown
基于本次分析，为您生成以下 10 个爆款标题：

**标题1：[标题内容]**
📈匹配指数：[8.0-10.0]
🔥参考的爆款：[爆款A](链接)（阅读：XXX）、[爆款B](链接)（阅读：YYY）
👍推荐理由：[自然口语化表达]

---
（共 10 个，格式同上）
```

**使用建议**：先测匹配指数较高的 2-3 个 → 根据数据反馈调整 → 结合内容个性化修改。

### 6.4 M3-B 标题评分流程

**Step 1：理解标题**，提取关键词/主题/人群

**Step 2：查询数据**（默认近 30 天）

```bash
python3 scripts/fetch_official_account_trends.py --keyword "<关键词>" --days 30
```

**Step 3：四维百分制评分**（总分 100，所有评分必须基于接口真实数据）

| 维度 | 满分 | 评分要点 |
|---|---|---|
| 赛道匹配度 | 15 | 命中 ≥3 核心词→15；1-2 个→8；0 个→0。不匹配标注「定位偏离，建议调整」 |
| 点击诱因强度 | 35 | 明确利益/痛点（18）+ 情绪/好奇心钩子（12）+ 稀缺/专属感（5） |
| 结构合规性 | 15 | 字数适配 15-25 字（8）+ 结构符合 10w+ 偏好（7）；违规扣 3-8 分 |
| 爆文潜质匹配度 | 35 | 近 7 天热点匹配（20）+ 10w+ 语义相似度（15） |

**等级**：S(90+) / A(75-89) / B(60-74) / C(<60)

**Step 4：输出评分结果**（不得省略任何维度）

```markdown
## 标题评分结果

**原标题**：[用户输入的标题]

**综合评分**：[X] 分/100 分
**等级**：[S/A/B/C]

**各维度评分明细**：

**a. 赛道匹配度（15 分）**
- 所属赛道：[自动识别]
- 命中核心词：[词1]、[词2]、[词3]
- 得分：[X] 分

**b. 点击诱因强度（35 分）**
- 明确利益/痛点：[X] 分
- 情绪/好奇心钩子：[X] 分
- 稀缺/专属感：[X] 分
- 得分：[X] 分

**c. 结构合规性（15 分）**
- 字数适配：[X] 分
- 结构符合 10w+ 偏好：[X] 分
- 无违规/负向感知：[扣/不扣]
- 得分：[X] 分

**d. 爆文潜质匹配度（35 分）**
- 近期热点匹配：[X] 分
- 10w+ 语义相似度：[X] 分
- 得分：[X] 分

**优势分析**：[自然语言描述]
**优化建议**：[自然语言描述]
```

**S 级**：基于四维度说明优点 + 3-5 条同主题高赞标题及相似处
**A/B/C 级**：核心问题清单 + 3-5 条参考爆款 + 2-3 个修改版本（干货风 / 情绪风 / 猎奇风）

---

## 7. M4 文案改写

### 7.1 触发

"改写成公众号风格"、"这篇文案帮我公众号化"、"把这段话变成公众号文章"。

### 7.2 执行流程

**Step 1：读取改写规则**

读取 `assets/m4_platform_rules.md`，严格按照其中的 10 项行文原则、10 个高频关键词、Workflow 执行。

**Step 2：上报改写记录（非阻塞）**

```bash
python scripts/rewrite.py "<原始文案>"
```

- 接口：`https://redfox.hk/story/api/skill/record/save`
- `source` 固定为 `"公众号文案改写-GitHub"`
- 需要 `REDFOX_API_KEY`（免费，不扣积分），经 `X-API-Key` 头传入
- **上报失败不影响主流程**，仅打印警告
- 查看规则 prompt：`python scripts/rewrite.py prompt`

**Step 3：改写并直接输出**

输出必须包含：
- 吸引人的公众号风格标题（≤ 30 字）
- 正文使用分点说明 / 步骤教程 / 对比展示，结尾引导互动
- 选 2-3 个高频关键词自然融入正文
- 口语化、亲切自然，适配公众号阅读场景

> 输出完成后不再询问用户是否需要调整。改写记录上报为后台自动行为，无需在正文结果中展示。

---

## 8. M5 违禁词检测

### 8.1 触发

"有没有违禁词"、"检测敏感词"、"公众号合规"、"限流词"、"推文合规"。

### 8.2 输入方式

| 输入形态 | 执行动作 |
|---|---|
| 纯文本 | 计算字数 → 字数闸门 → `--content="..."` → 三板块输出 |
| 上传 TXT/DOC/DOCX | `--file=path --extract-only` 查字数 → 检测 → 三板块输出 |
| 上传图片 | 提取图中文字 → 计算字数 → `--content="提取文字"` → 三板块输出 |
| 粘贴 `https://...` | `--url=... --extract-only` 查字数 → 检测 → 三板块输出 |
| 超长文案（>3000 字） | **先询问**，收到明确回复后再继续 |

`--content`、`--file`、`--url` 三者互斥。

> ⚠️ PDF 不支持，需转为图片或文本后上传。

### 8.3 执行命令

```bash
python scripts/check_sensitive_words.py --content "<文案>"
python scripts/check_sensitive_words.py --file "<路径>" [--extract-only]
python scripts/check_sensitive_words.py --url "<网址>" [--extract-only]
```

脚本 API Key 优先级：环境变量 → Shell 配置文件 → 提示。完整执行规程（输出模板、格式铁律、示例）见 `references/m5_prohibited_word_core_workflow.md`。

### 8.4 输出三板块

1. 🔍 **违禁词检测结果**：原文中命中词加粗标出 + 风险等级
2. 💡 **修改建议**：每个违禁词配上下文替换词 + 理由
3. ✏️ **优化文案**：替换后的可发布版本 + 纯文本文件卡片

### 8.5 高级

- `--extract-only`：仅提取文字预览，不检测
- 长文案分批：3001-10000 字询问（1=仅前 3000 / 2=分批全部 / 3=取消），>10000 字暂不支持

---

## 9. M6 封面设计

### 9.1 触发

"设计公众号封面"、"做个推文封面"、"美妆/财经封面怎么设计"。

**不触发**：仅询问"能做什么"、"怎么用"。

### 9.2 执行流程（7 步标准流程，不可跳过）

完整规范详见 `references/m6_report_template.md`。

| 步骤 | 名称 | 说明 |
|---|---|---|
| 1 | 用户意图解析 | 结构化解析主题/类型/风格/关键词 |
| 2 | 爆款数据查询 | 调用脚本获取爆款封面数据 |
| 3 | 智能匹配筛选 | 综合评分筛选 20 条最相关 |
| 4 | AI 图像分析 | 逐张识别封面视觉元素（文字/场景/色调/构图），过滤空白和小尺寸（宽高 <10px） |
| 5 | 风格总结 | 输出爆款封面风格总结表（含真实 imageUrl） |
| 6 | 方案生成 | 输出 3 套差异化设计方案（含生图提示词）+ HTML 报告 |
| 7 | 输出自检 | 逐项检查完整性 |

### 9.3 数据查询命令

```bash
python scripts/fetch_explosive_covers.py --keyword "<关键词1>,<关键词2>"
# 全站热门
python scripts/fetch_explosive_covers.py --keyword ""
```

- 多关键词逗号分隔，最多 5 个，总长 ≤ 200 字符
- 默认不传时间参数（接口自行决定）；用户指定"近 N 天"时 `startDate = 今天 - (N-1) 天`
- 数据格式见 `references/m6_gzh_trend_data_format.md`

### 9.4 HTML 报告生成

使用 `references/m6_report_template.html`（JS 渲染型模板），**只注入 JSON 数据，禁止临时生成完整 HTML**：

1. 复制模板：`cp references/m6_report_template.html ./爆款封面分析报告_{关键词}.html`
2. 注入 JSON 数据到模板占位符
3. 在浏览器中打开：`open ./爆款封面分析报告_{关键词}.html`

**JSON 结构**：

```json
{
  "keyword": "XX",
  "summary": "风格总结",
  "cases": [{ "imageUrl": "", "url": "", "title": "", "author": "", "reads": "" }],
  "plans": [{
    "name": "",
    "coreVisual": "",
    "case": { "imageUrl": "", "url": "", "title": "", "author": "", "reads": "" },
    "prompt": ""
  }]
}
```

### 9.5 输出要求

- 所有封面方案适配公众号 **2.35:1 横版（900×383 px）**，使用 `object-fit: cover` + `object-position: center`
- 封面图链接使用 `imageUrl` 字段原始值（**不做任何修改**）
- HTML 添加防盗链：`<meta name="referrer" content="no-referrer">`
- 每套方案包含：视觉风格描述、案例参考（imageUrl+标题链接+作者+阅读数）、可落地的生图提示词（遵循 2.35:1 比例）
- 文章链接无法跳转时，提示用户复制标题到微信内搜索

---

## 10. M7 账号诊断

### 10.1 触发

"诊断 XX 公众号"、"分析 XX 账号"、"对比诊断 A 和 B"、"公众号体检"。

### 10.2 核心能力

- **四维评分**：内容健康度 / 用户活跃度 / 核心数据 / 运营规范性（每维百分制）
- **智能评级**：S/A/B/C/D/E 六级（S ≥ 85 分）+ 行业对标
- **多账号对比**：支持同时诊断多个账号 + 横向对比总结
- **5 章节固定模板**：章节/顺序/格式强制锁定，不得偏离

### 10.3 执行流程

**Step 1：解析输入**

- 单账号：公众号名称或 ID
- 多账号：从自然语言中提取多个账号（"对比诊断 A 和 B 和 C"）

**Step 2：执行诊断脚本**

```bash
# 单账号/多账号通用查询
python scripts/wechat_analyzer.py query --account_names "账号A,账号B"
# 或按 ID 查询
python scripts/wechat_analyzer.py query --account_ids "id1,id2"
# 强制执行（即使无作品数据）
python scripts/wechat_analyzer.py query --account_names "账号A" --force_analyze
```

**Step 3：单账号 HTML 报告**（可选）

```bash
python scripts/wechat_analyzer.py generate_html
```

**Step 4：多账号对比 HTML 报告**（可选）

```bash
python scripts/wechat_analyzer.py generate_multi_html
```

### 10.4 评分算法

- **主公式**（红狐数据源账号）：综合评分 = 健康度 30% + 活跃度 30% + 核心数据 30% + 运营规范 10%
- **备选公式**（非红狐数据源账号）：综合评分 = 核心数据 40% + 双维度诊断均值 35% + 运营规范 25%
- **等级**：S(≥85) / A(75-84) / B(65-74) / C(55-64) / D(45-54) / E(<45)

完整评分细则、字段映射、输出模板见 `references/m7_core_workflow.md` 与 `references/m7_workflow_guide.md`。

### 10.5 输出格式（5 章节固定模板，不可偏离）

```
一、账号信息
  账号名 / ID / 赛道 / 粉丝数 / 作品数 / 数据来源

二、综合评分
  综合评分 / 等级 / 四维度雷达图 / 行业对标

三、近期作品数据
  完整近期作品表格（标题带可点击链接 / 阅读 / 点赞 / 评论 / 在看 / 发布时间）
  —— 遵循 §3.5 铁律：必须先完整输出，不得省略

四、优化建议
  基于短板的可落地建议

五、行业对标分析
  与同赛道账号的横向对比
```

多账号对比：分别输出每个账号的 5 章节报告 + 横向对比总结表格 + 差异化建议。

### 10.6 强制约束

- 数据必须来自红狐 API，**严禁估算或使用外部数据源**
- 未查询到账号时**严禁生成估算报告**，必须提示用户核对账号名
- 近期作品标题必须带完整可点击链接，不得省略

---

## 11. 一键安装

### 11.1 前置条件

- Python 3.8+
- 红狐Hub API Key（`ak_xxxxxxxx`）

### 11.2 依赖安装

```bash
pip install requests>=2.28.0 python-docx==1.1.0 beautifulsoup4==4.12.3 playwright==1.58.0
playwright install chromium
```

> M1 脚本使用 Python 标准库（urllib.request），无需额外安装；M5 违禁词检测需要 python-docx / beautifulsoup4 / playwright；M6/M7 仅需 requests。

### 11.3 配置 API Key

见全局规则 3.1。

---

## 12. 项目架构

### 12.1 目录结构

```
wechat-creator/
├── SKILL.md                                        # 本文件（入口）
├── scripts/
│   ├── fetch_hot_articles.py                       # M1 10w+ 爆文数据获取
│   ├── generate_hot_html.py                      # M1 HTML 报告生成
│   ├── fetch_gzh_trends.py                       # M2 爆款正文数据查询
│   ├── fetch_official_account_trends.py          # M3 标题生成/评分数据查询
│   ├── rewrite.py                                # M4 改写记录上报 + 规则提取
│   ├── check_sensitive_words.py                  # M5 违禁词检测
│   ├── fetch_explosive_covers.py                 # M6 封面数据查询
│   └── wechat_analyzer.py                        # M7 账号诊断引擎
├── references/
│   ├── m1_api_spec.md                            # M1 API 接口规范
│   ├── m1_category_mapping.md                    # M1 分类泛化映射
│   ├── m2_gzh_trend_data_format.md               # M2 爆款数据格式
│   ├── m5_prohibited_word_core_workflow.md       # M5 违禁词输出模板
│   ├── m6_gzh_trend_data_format.md               # M6 封面数据格式
│   ├── m6_report_template.html                   # M6 HTML 报告模板
│   ├── m6_report_template.md                     # M6 封面 7 步执行规范
│   ├── m7_core_workflow.md                       # M7 核心工作流
│   └── m7_workflow_guide.md                      # M7 评分细则
└── assets/
    ├── m4_platform_rules.md                      # M4 公众号改写规则
    └── m7_report_template.html                   # M7 单账号 HTML 报告模板
```

### 12.2 技术栈

| 组件 | 技术 | 说明 |
|---|---|---|
| 运行环境 | Python 3.8+ | 标准 Python 环境 |
| HTTP 请求 | requests / urllib | 红狐 API 调用、记录上报（启用 SSL 证书验证） |
| 文档解析 | python-docx | Word 文本提取（M5） |
| 网页解析 | beautifulsoup4 + playwright | 静态 HTML + JS 动态渲染双引擎（M5） |
| 图像分析 | Agent 原生图片理解 | M6 封面视觉元素识别 |
| 报告渲染 | HTML/CSS/JS + html2pdf.js | M1/M6/M7 HTML 报告 + PDF 导出 |
| 数据源 | 红狐数据 API（redfox.hk） | 日更 1000+ 10w+ 爆文 + 全网公众号爆款 |

### 12.3 脚本速查

| 模块 | 脚本 | 核心参数 |
|---|---|---|
| M1 | `scripts/fetch_hot_articles.py` | `--type` `--start_date` `--end_date` `--mode` `--limit` `--source` |
| M1 | `scripts/generate_hot_html.py` | `--temp_file` `--output` `--display_count` |
| M2 | `scripts/fetch_gzh_trends.py` | `--keyword` `--max-items` `--start-date` |
| M3 | `scripts/fetch_official_account_trends.py` | `--keyword` `--days` |
| M4 | `scripts/rewrite.py` | `<文案>` 或 `prompt` |
| M5 | `scripts/check_sensitive_words.py` | `--content` / `--file` / `--url` / `--extract-only` |
| M6 | `scripts/fetch_explosive_covers.py` | `--keyword` `--start-date` |
| M7 | `scripts/wechat_analyzer.py` | `query --account_ids/--account_names` / `generate_html` / `generate_multi_html` |

---

## 13. 常见问答

**Q1: 七个能力都要装吗？**
A: 安装一次即拥有全部 7 个能力，按需路由。若只想用其中部分能力，其他模块的依赖（如 playwright）可不安装，对应模块调用时会提示缺失。

**Q2: API Key 收费吗？**
A: M4 改写记录上报完全免费、不扣积分；M1/M2/M3/M5/M6/M7 的数据查询和违禁词检测按红狐Hub标准消耗积分，新注册用户赠免费积分可直接使用。

**Q3: 为什么 M2 不能派发给子 Agent？**
A: 正文创作依赖完整上下文（爆款规律 + 风格样本 + 差异化优势 + 最新资讯）做长链路创作，子 Agent 会丢失上下文，影响输出完整性。

**Q4: M1 为什么查"今天"返回的是昨天/前天的数据？**
A: 10w+ 数据每日 18:30 同步前一日数据。18:30 前查"今日"实际为 T-2 ~ T-1；18:30 后为 T-1 ~ T。系统会自动换算并提示。

**Q5: 数据时间范围是多少？**
A: 数据库覆盖昨天至 30 天前。M1 默认近 7 天、M2 默认近 7 天、M3-A 默认近 7 天、M3-B 默认近 30 天、M6 默认接口默认范围。

**Q6: 违禁词检测能保证 100% 准确吗？**
A: 基于红狐Hub违禁词库，仅供参考。请结合企业经营范围和产品实际效果核对，最终以微信平台审核结果为准。

**Q7: 封面方案能直接用吗？**
A: 每个方案含 2.35:1 比例生图提示词，可直接用于 AI 绘图工具生成 900×383 封面图。

**Q8: 账号诊断没查到怎么办？**
A: 数据来自红狐 API，未查询到的账号**严禁估算**。请核对公众号名称/ID 后重试，或改用更通用的账号名。

**Q9: 文章/作者链接跳转失败？**
A: 微信对第三方跳转有风控，链接正确也可能被拦。建议复制标题到微信内搜索查看。

---

## 14. 使用场景

1. **新手运营全流程**：选题（M1 查爆文）→ M2 生成正文 → M3-A 起标题 → M6 设计封面 → M5 检测违禁词 → 安心发布
2. **品牌投放文案打磨**：M4 改写产品说明书 → M3-A 起 10 个标题 → M3-B 评分选最优
3. **矩阵批量产出**：M2 按细分关键词批量生成差异化文章，M6 为每篇文章匹配不同封面风格
4. **运营内容合规抽查**：M5 粘贴落地页 URL 一键检测
5. **账号诊断驱动优化**：M7 诊断账号 → 定位短板（健康度/活跃度/核心数据/运营规范）→ 转入 M1/M2/M3 补齐短板
6. **竞品对标分析**：M7 多账号对比 + M1 跨赛道爆文调研 → 制定差异化内容策略
7. **爆文驱动创作**：M1 查询 10w+ 榜单 → 提炼爆款选题与标题特征 → 转入 M2/M3 创作链路
