用 AI 帮你找选题:我做了一个自动化的公众号选题助手

2026-06-13

用 AI 帮你找选题:我做了一个自动化的公众号选题助手

找选题这件事,比你想的费时间

做公众号的人都知道,最难的不是写,是决定今天写什么。

手动刷热搜、翻知乎热榜、扫微博话题——做完这一套,一两个小时就没了。而且你只能看到冰山一角:微博上火的选题,知乎可能没人在讨论;B站刚出的视频,公众号还没人写。

能不能有一个工具,帮我把所有平台的 AI 相关内容扫一遍,去重后按热度排序,直接给我一份选题清单?

带着这个需求,我用 Python + RedFox API 做了一个命令行选题助手,303 行代码,5 个命令,每天花两分钟就能把当天的 AI 选题全过一遍。

这个工具做了什么

整体分两层:

底层是 RedFox API 封装——一个第三方数据聚合服务,把公众号搜索、文章详情、多平台热榜这些接口统一起来。认证方式就是一个 API Key,存环境变量里,代码不碰明文。

上层是 Topic Finder CLI——封装成 5 个命令,覆盖选题场景:

命令 干什么
ai-topics 一键扫描 10 个 AI 子方向,去重后按阅读量排序
hot 5 个通用关键词聚合热门文章
search <词> 单关键词搜索
read <uuid> 拉全文 + 去 HTML 标签
trending 7 个平台热搜中的 AI 热点

其中最常用的是 ai-topics,也是核心差异化所在。

核心设计:10 个关键词并行扫描

单关键词搜索的问题是:你不知道今天 AI 圈在聊什么。搜”大模型”,漏掉了 Agent 方向的热点;搜”AI Agent”,又漏了具身智能的新闻。

解法很直接——预定义 10 个 AI 子方向,每个搜 Top 5,合并去重。代码核心逻辑:

AI_TOPIC_KEYWORDS = [
    ("AI Agent", "agent"),
    ("大模型", "llm"),
    ("AI应用", "ai-app"),
    ("AI编程", "ai-coding"),
    ("AI视频/生成", "ai-video"),
    ("开源模型", "open-source"),
    ("AI创业", "ai-startup"),
    ("Claude/ChatGPT", "chat"),
    ("AI工具", "ai-tools"),
    ("具身智能", "embodied"),
]

# 每个关键词搜 5 篇 → 50 篇原始结果
# 按 workUuid 去重 → 通常 200+ 篇不重复
# 按 readCount 降序排列

去重用的是 workUuid,因为同一篇文章可能被多个关键词命中。比如一篇讲”Claude 4 发布”的文章,可能同时匹配”AI Agent”和”Claude/ChatGPT”,UUID 去重后只展示一次。

实际跑一下,输出长这样:

$ python3 topic_finder.py ai-topics

============================================================
  🤖 AI 选题雷达 · 2026-06-12 23:47
============================================================
  扫描 10  AI 子方向...

   AI Agent        (  3420 )
   大模型           ( 12800 )
   AI应用          (  5600 )
  ...

============================================================
  🏆 综合推荐 ( 218 篇去重, 按阅读量排序)
============================================================
  #   阅读 点赞 标签        作者          标题
  ─── ───── ─── ────────── ───────────── ──────────────────
  1   5万  312 agent      xxx           Claude 4 ...
  2   3万  201 llm        xxx           ...

200 多篇文章,按阅读量排序,一眼就知道今天该追什么话题。

踩过的几个坑

API 返回码不是 200。RedFox API 用 code: 2000 表示成功,不是标准的 HTTP 200。刚开始没注意,排查了半天为什么”请求成功但没数据”。

空结果要单独处理。有些关键词在某些时段返回空列表(data.list 不存在),直接取会报 KeyError。加了个 .get("data", {}).get("list", []) 防御性写法。

热榜不是实时的。RedFox 的热榜数据更新频率大概 1-4 小时,不适合做”实时追热点”,但做每日选题扫描绰绰有余。

终端输出要对齐。公众号运营者不是程序员,表格对齐、数字格式化(10000+ 显示”万”)、标题截断这些细节决定体验。truncate() 函数和 fmt_num() 花的时间比核心逻辑还多。

还能怎么用

这个工具是 CLI 设计的,但玩法不止于此:

定时任务:配一个 cron,每天早上 8 点自动跑 ai-topics,结果推到微信或飞书。你起床的时候选题清单已经躺在那里了。

Agent 集成:把它封装成一个 Agent Skill,触发词”找选题”,直接跟 Agent 对话就能拿到选题推荐。

与其他工具配合:先用 ai-topics 扫出候选选题,再用 read <uuid> 拉全文看细节,最后把感兴趣的选题丢到飞书多维表格里管理。选题→素材→写作,这条链路串起来,写文章的启动成本就降到最低了。

与其他选题工具的差异

市面上有新榜、西瓜数据、榜眼数据这些平台。它们强在数据分析和竞品追踪,但有几个问题:要么贵(新榜 API 几十块一条),要么面向企业级用户,要么覆盖范围太广不够聚焦。

Topic Finder 的定位不同:专做 AI 领域轻量 CLI可以嵌入自动化流程。不需要登录网页后台,不需要看广告,终端里敲一行命令就完事。

如果你想试试,RedFox API 有免费额度,够日常选题用。代码已经开源,复制到本地改一下 API Key 就能跑。

写在最后

做这个工具的初衷很简单:我不想每天花一个小时刷热搜。

现在每天早上 python3 topic_finder.py ai-topics 跑一下,两分钟看完 200 多篇 AI 方向的文章,挑 3-5 个感兴趣的方向深入研究,然后开始写。选题从”最大的痛点”变成了”最不费时间的环节”。

如果你也在做 AI 领域的公众号,可以试试这个思路。不一定要用我这套代码,关键是把”人肉扫平台”这件事自动化——省下来的时间,多写一篇文章不香吗。

标签: AI 工具 教程