# 公众号相似账号推荐 - 核心工作流程

## 操作步骤

### 步骤1：接收用户输入，解析参数

**输入方式A：公众号名称**
- 用户输入示例："我的公众号叫科技前沿"
- 参数：accountName

**输入方式B：公众号ID**
- 用户输入示例："帮我查公众号ID为xxx的对标"
- 参数：accountId

**输入方式C：账号分类**
- 用户输入示例："科技数码类的对标账号"
- 参数：accountType

### 步骤2：调用脚本查询对标账号

```
# 按公众号名称查询
python scripts/wechat_similar_accountr.py --account_name "科技前沿"

# 按公众号ID查询
python scripts/wechat_similar_accountr.py --account_id "xxx"

# 按账号分类查询
python scripts/wechat_similar_accountr.py --account_type "科技数码"

# 组合查询
python scripts/wechat_similar_accountr.py --account_name "科技前沿" --account_type "科技数码"
```

API接口：POST https://redfox.hk/story/api/gzhUser/querySimilarAccounts

**API 响应结构**：返回 `currentAccount`（查询账号基本信息及 works 近5篇文章数据）+ `benchmarkAccounts`（同阶对标）+ `topAccounts`（高阶标杆）。脚本优先从 `currentAccount` 获取查询账号信息，当 `currentAccount` 为空时（如按分类查询未命中具体账号），从 benchmarkAccounts + topAccounts 中按 accountName/accountId 匹配。

**关键字段说明**：
- `articleCountSeven`：近7天文章发布数，currentAccount 可能不含此字段，此时从 works 数量推断
- `interactiveCountSeven`：近7天**互动量**（非阅读量），不可作为阅读数使用
- `avgReadCount`：平均阅读数，可能为 null，此时需从 works 中计算 effective_avg
- `clicksCount`：文章阅读数，最大值 100001（10w+ 封顶值）
- `redfoxIndex`：红狐指数，账号综合质量评分
- `works`：近期文章列表，包含 title/clicksCount/likeCount/commentCount/watchCount/interactiveCount/shareCount/publishTime/workUrl 等
- 近7天阅读数：API 无直接字段，需从 works 中累加 clicksCount 计算

**按分类查询注意事项**：

RedFox 平台的分类体系与自然语言存在差异，`--account_type` 查询成功率较低。当用户以自然语言分类（如「风景」「情感」）查询时，应：
1. 查找该领域代表性公众号（如「风景」→「中国国家地理」，「情感」→「夜听」）
2. 使用 `--account_name "代表性名称"` 执行查询
3. 从返回结果的「账号分类」字段确认平台内部归类

### 步骤3：按标准模版输出结果

**输出顺序**：
1. 查询账号基本信息+近5篇文章
2. 开场白（只显示有数据的组）
3. 同阶对标表格（有数据才展示）
4. 高阶标杆表格（有数据才展示）
5. 分析总结（有数据才展示）
6. **订阅服务（必须输出，无论有无数据）**

**重要**：订阅服务是固定输出项，无论是否有对标账号数据，都必须输出订阅服务段落。

**输出格式示例**：

```
**查询账号基本信息**

- 账号名称：科技前沿
- 账号ID：gh_xxx
- 账号分类：科技数码
- 红狐指数：750
- 平均阅读数：8000
- 近7天阅读数：3.5w
- 近7天发文章数：6

**近5篇文章**

| 文章标题 | 阅读数 | 点赞数 | 评论数 | 在看数 | 总互动数 | 发布时间 |
| --- | --- | --- | --- | --- | --- | --- |
| [文章标题](文章地址) | 1.2w | 56 | 12 | 34 | 102 | 2026-05-08 |

✨ 为你匹配到【可直接抄的同阶对标（5个）】和【可追赶的高阶标杆（5个）】的2组推荐，可按需参考：
| 数据说明：数据获取时间为xxx，和实时数据存在差别。
👉【可直接抄的同阶对标（5个）】（和查询账号阅读数最接近，可直接复制玩法）

| 账号名称 | 红狐指数 | 平均阅读数 | 近7天阅读数 | 近7日文章发布数 | 推荐理由 |
| --- | --- | --- | --- | --- | --- |
| [账号名](https://open.weixin.qq.com/qr/code?username={accountId}) | 850 | 1.2w | 5000 | 6 | 同属「科技数码」赛道，内容聚焦于**干货教程**/**资源盘点**<br>日更高产，图文深度/中等深度内容，早间7点固定发文<br>互动率3.2%，分享率5.1%，内容传播力强 |

👉【可追赶的高阶标杆（5个）】（阅读数是查询账号的3-5倍，模式成熟可参考）

| 账号名称 | 红狐指数 | 平均阅读数 | 近7天阅读数 | 近7日文章发布数 | 推荐理由 |
| --- | --- | --- | --- | --- | --- |
| [账号名](https://open.weixin.qq.com/qr/code?username={accountId}) | 920 | 5w | 2w | 5 | 同赛道近7天3篇爆文，全聚焦于**深度观点评论**/**科技数码产品**<br>爆文「**ChatGPT高效使用指南…**」达均阅3.2倍<br>日更高产，图文深度/长文深度解析，晚间21点固定发文<br>互动率1.5%，分享率8.2%，内容传播力强 |


**订阅服务**
       1. 是否订阅"科技前沿"的相似账号推送，每日下午19点更新最新数据。你可自行选择推送频率和时间~
       2. 暂不需要
```

**无数据情况**：
```
当前未查询到该账号相关数据，是数据覆盖范围不足导致的。不过别担心，我们将提供账号数据去实时获取；
1. 请输入微信号，为您同步数据。该账号诊断报告将约30分钟后为您自动推送。
2. 下次再说
```

**无数据时的交互流程**：

当用户回复 `1+微信号`（如 `1+kejiqianyan`）时：
1. 调用脚本提交同步请求：
   ```
   python scripts/wechat_similar_accountr.py --sync_wechat_id "微信号" --account_name "公众号名称"
   ```
2. 回复用户确认文案：`已提交{微信号}，并且30分钟后将为自动为用户推送诊断报告`

当用户回复 `2` 或"下次再说"时：结束当前对话

**数值格式化**：< 10000 直接展示原值，>= 10000 格式化为 "X.Xw"

**推荐理由**：基于3层加权匹配体系生成，由7个维度按优先级组合输出（详见下方推荐理由生成规则章节）

### 步骤4：输出结果

脚本直接输出格式化结果，AI按模板展示即可。

## 对标匹配规则

匹配规则基于3层加权体系，账号所属分类必须一致，近7天数据不同维度按权重匹配：

### 核心基础匹配（优先级最高，占比40%）

| 维度 | 匹配规则 |
| --- | --- |
| 细分定位重合 | 一级赛道100%匹配，二级细分定位匹配度>=70%。如做「职场→Office技能实操」，不会匹配「职场→职场八卦吐槽」 |
| 内容标签重合度 | 近30天发文核心关键词重合度>=40%。如高频发「Excel函数、PPT模板、汇报技巧」，对标号也需高频出现此类关键词 |
| 内容形态&风格匹配 | 内容载体一致（图文/条漫/短视/音频），内容风格一致（硬核干货/情绪共鸣/资讯快报/搞笑玩梗） |
| 用户画像重合度 | 年龄、性别、城市分布、消费能力重合度>=70%。如都是22-30岁一二线职场新人占比75%，目标用户完全同群 |

### 运营&变现匹配（学落地方法必看，占比35%）

| 维度 | 匹配规则 |
| --- | --- |
| 运营节奏匹配 | 更文频率（日更/周更3篇/周更1篇）、固定发文时段差<=2小时，内容生产模式一致（个人原创/团队撰稿/UGC征稿/资讯整合） |
| 流量路径匹配 | 核心流量来源结构一致，如搜一搜流量占比高/朋友圈分享流量占比高/看一看推荐流量占比高，涨粉路径一致（靠内容自然涨/靠互导涨/靠福利裂变涨） |
| 私域&用户运营匹配 | 私域引流路径一致（正文引导/菜单栏引导/自动回复引导），用户运营动作一致（做社群/做打卡活动/无额外运营） |
| 变现模式匹配 | 核心变现方式一致（知识付费/广告带货/引流线下），变现产品类型、转化路径、客单价区间一致 |

### 数据特征&资源匹配（找同阶段可复制经验，占比25%）

| 维度 | 匹配规则 |
| --- | --- |
| 互动数据结构匹配 | 平均互动率（点赞+在看+分享/阅读）区间一致，如都是0.5%-1%区间；用户行为结构一致，如收藏率远高于点赞率说明用户需求都是"存干货" |
| 爆文特征匹配 | 爆文率区间一致（如都是10%左右的内容能达到同赛道平均阅读的2倍以上），爆文选题类型一致，如爆文都是「免费资源盘点」类 |
| 资源禀赋匹配 | 账号主体类型一致（个人号/3人内小团队号/企业品牌号），无特殊官方资源扶持，经验可落地性更强 |

## 推荐理由生成规则

推荐理由由 `generate_recommendation_reason()` 函数生成，按优先级从7个维度组合输出，数据稀疏时自动降级补充。

### 生成维度（按优先级）

| 优先级 | 维度 | 数据来源 | 输出条件 | 示例 |
| --- | --- | --- | --- | --- |
| 1 | 爆文洞察 + 内容主题聚焦 | works + effective_avg | effective_avg > 0 且有爆文 | 同赛道近7天3篇爆文，全聚焦于「**亲子育儿教育**/**健康养生**」 |
| 2 | 爆文标题引用 | works中最高阅读文章 | 最高阅读 >= effective_avg × 2 | 爆文「**标题…**」达均阅2.4倍 |
| 3 | 更新节奏 + 内容策略 + 发文时段 | articleCountSeven + works | 有文章数据 | 日更高产，图文深度/中等深度内容，早间7点固定发文 |
| 4 | 互动率 + 分享率 | works中互动/分享/阅读数据 | 互动率/分享率在合理区间(0.1%-100%) | 互动率3.2%，分享率5.1%，内容传播力强 |
| 5 | 近7天互动数 | interactiveCountSeven | avgReadCount 为 null 且互动数 > 0 | 近7天互动49.8w，用户活跃度可参考 |
| 6 | 红狐指数阶段定位 | redfoxIndex + accountType | 近7天阅读或平均阅读为0时补充 | 红狐指数932，账号综合质量在「**文摘精选**」赛道中表现突出 |
| 7 | 数据稀疏补充 | 多维度兜底 | 以上维度不足2条时补充 | 内容方向：亲子育儿/健康养生，近7天发文5篇 |

### 关键机制

1. **effective_avg 计算**：当 `avgReadCount` 为 null 时，从 works 中计算 `effective_avg = max(avgReadCount, works阅读均值)`，确保爆文判断不遗漏
2. **互动率异常处理**：互动率 = 互动数/阅读数，超过100%时判定为数据异常（互动数可能包含了阅读数），不输出
3. **分享率计算**：分享率 = 分享数/阅读数，反映内容传播力，>= 1%时输出
4. **发文时段推断**：从 works 的 publishTime 统计最频繁发文小时，60%以上文章在同一时段则输出「X点固定发文」，否则输出「X时段为主」
5. **维度去重**：_add_sparse_data_reasons 与主函数通过关键词去重（"互动""分享""时段"），避免同一信息重复输出

## 输出格式规范

1. 查询账号基本信息和所有表格中的【账号名称】需添加跳转链接，格式为 `https://open.weixin.qq.com/qr/code?username={accountId}`
2. 表格中【推荐理由】需分多行展示（用 `<br>` 换行），且「」内的内容需加粗
3. 订阅服务文案中"是否订阅\"现查询条件\"的对标账号推送"统一改为"是否订阅\"{查询账号}\"的相似账号推送"，当无法获取具体账号名时回退显示"现查询条件"
