如果你关注 AI、开发工具或行业热点,X(原 Twitter)往往是信息最早出现的地方,但直接刷时间线会遇到三个问题:内容太碎、重复太多、重要讨论容易被淹没。把 X、Horizon 和 n8n 组合起来,可以建立一条从“监控账号”到“生成文章、生成封面、格式检查、推送微信公众号草稿”的自动化内容流水线。
本文参考 IDE/n8n 项目的真实工作流和其中的 Horizon 采集模块整理。现有项目已经具备文章生产、封面生成、格式检查和微信草稿推送流程;Twitter/X 属于 Horizon 支持的可选信息源,需要按本文配置后接入。
一、最终工作流能做什么
- 定时监控指定 X 账号的新推文;
- 采集推文正文、作者、发布时间、点赞、转发、回复和浏览数据;
- 可选抓取高质量回复,让 AI 同时理解社区观点;
- 与 Hacker News、RSS、GitHub 等信息源合并并去重;
- 使用 AI 对信息进行评分、筛选和中文摘要;
- 由 n8n 读取当天摘要,改写为 1500 至 2500 字文章;
- 生成对应封面图并执行格式稳定性检查;
- 把文章与封面匹配后推送到微信公众号草稿箱。
二、整体架构
X 账号
│
▼
Apify Twitter Actor
│ 推文、互动数据、可选回复
▼
Horizon
├── 多源采集
├── 去重与 AI 评分
├── 中文摘要
└── data/summaries/archive/当天摘要.md
│
▼
n8n
├── 生产文章
├── 生图
├── 格式稳定性自检
└── 推送微信草稿
这套方案把“信息采集”和“内容生产”拆成两层。Horizon 负责接触外部信息源并输出稳定的归档文件,n8n 负责可视化编排、AI 改写、文件流转和平台发布。两者通过固定的摘要路径衔接,任何一层失败都能单独排查。
三、Horizon 如何采集 X
项目中的 TwitterScraper 通过 Apify 的 Twitter Actor 获取内容,避免把 X 的复杂页面抓取逻辑直接塞进 n8n。你需要准备 Apify Token,并把要监控的用户名写入 Horizon 配置。
1. 配置环境变量
APIFY_TOKEN=your-apify-token
DEEPSEEK_API_KEY=your-deepseek-api-key
密钥应写入 horizon/.env 或部署平台的密钥管理器,不要写进工作流代码、配置示例或公开仓库。
2. 添加 Twitter/X 信息源
{
"sources": {
"twitter": {
"enabled": true,
"users": ["openai", "karpathy", "ylecun"],
"fetch_limit": 100,
"fetch_reply_text": true,
"max_replies_per_tweet": 3,
"max_tweets_to_expand": 10,
"reply_min_likes": 5
}
}
}
users:需要监控的用户名,不带 @。fetch_limit:每轮最多拉取的推文数量。fetch_reply_text:是否继续获取重要推文的回复正文。max_replies_per_tweet:每条推文最多补充多少条高质量回复。max_tweets_to_expand:每轮最多扩展多少条推文,用于控制 Apify 消耗。reply_min_likes:只保留达到最低点赞数的回复。
Horizon 会将推文标准化为统一内容对象,并保存推文 ID、会话 ID、点赞、转发和回复数量。AI 评分时不仅能看到正文,还可以参考互动数据。启用回复扩展后,重要推文的讨论会追加到内容中,再进行一次针对性的 AI 分析。
四、Horizon 的筛选与归档
单纯抓取推文并不能解决信息过载。Horizon 会将 X 与 GitHub、Hacker News、RSS、OSSInsight 等来源放进同一条处理管线,执行时间窗口过滤、AI 评分、相似内容去重和中文摘要。
本项目已经将最终中文摘要固定在:
horizon/data/summaries/archive/horizon-YYYY-MM-DD-zh.md
固定归档目录非常重要。生产者和读取者必须使用同一个来源,不能让一份摘要同时出现在 archive 和上级目录,否则 n8n 可能读到旧文件或错误版本。
五、n8n 的“生产文章”工作流
项目中的“生产文章”工作流当前处于启用状态,默认每天 9:20 触发。它由以下节点组成:
1. Schedule Trigger
定时启动内容生产。建议把 Horizon 的采集与摘要任务安排在它之前,并预留足够时间,确保当天归档文件已经生成。
2. 读取 Horizon 摘要
Execute Command 节点根据当天日期定位归档文件。如果文件不存在会直接报错并停止,而不是悄悄回退到旧摘要。这个行为可以避免把昨天的热点再次发布。
3. 解析 Horizon
Code 节点按二级标题拆分摘要,只保留正文长度足够的内容,然后随机打乱并选取两条。你可以把随机选择改成按评分排序,或按来源、关键词和账号白名单进行筛选。
4. AI Agent + DeepSeek Chat Model
AI Agent 接收标题、评分和摘要内容,将其扩展为适合微信公众号的完整文章。现有提示词要求生成吸引人的标题、清晰的小标题、1500 至 2500 字正文、背景补充和配图位置建议。
生产环境建议再加入事实约束:不得编造原摘要没有的数字、版本和人物发言;涉及发布日期、价格和安全事件时必须保留来源核验步骤。
5. 转成文件并存储文章
Convert to File 节点把 AI 输出转换成 UTF-8 Markdown 文件,Read/Write Files 节点按时间和序号保存到 articles/。文件化中间结果方便人工审核,也能在发布失败时重新执行后续流程,而不必再次消耗模型额度。
六、自动生成封面图
“生图”工作流会读取 articles/ 中的文章,提取标题,调用图像模型生成封面,再转换为 JPG 并写入 lmg/。文章和封面通过相同的基础文件名配对。
为了提高稳定性,建议统一:
- 封面尺寸和横纵比;
- 文件名清洗规则;
- 品牌配色与字体区域;
- 图片生成失败时的默认封面;
- 文章与图片一一对应的断言。
七、格式稳定性自检
项目中还有单独的“格式稳定性自检”工作流。它会读取生成文章、检查输出格式,并通过 IF 节点判断是否全部合格。推送前至少应检查:
- 标题是否存在且长度合理;
- 正文是否为空;
- 是否包含小标题;
- 是否残留“排版提示”“配图建议”等内部提示语;
- 文章和封面数量是否一致;
- HTML 是否包含微信公众号需要的内联样式。
八、推送微信公众号草稿
“推送微信草稿”工作流当前默认每天 10:20 触发,也支持手动执行。主要步骤是:
- 读取
articles/*.md; - 把 Markdown 段落、小标题、列表和代码块转换为微信兼容 HTML;
- 读取
lmg/*.jpg; - 把封面上传到微信素材库并取得 media_id;
- 按基础文件名匹配文章和封面;
- 追加可点击的文末图片;
- 调用微信草稿接口创建草稿。
文章或封面缺失时,流程会明确抛出错误,不会创建半成品草稿。微信公众号的 AppID、Secret 和其他凭据应放进 n8n Credential 或服务器环境变量,不能直接写在 Code 节点里。
九、Docker 网络与路径配置
当 n8n 与 Horizon 分别运行在 Docker 容器中时,127.0.0.1 只代表当前容器。项目通过 host.docker.internal 和 host-gateway 处理容器访问宿主服务的问题。
文章、封面和 Horizon 归档目录必须挂载到 n8n 实际可读写的位置。上线前应在 n8n 容器内执行文件检查,而不是只在宿主机确认文件存在。
十、建议的执行时间线
- 08:30:Horizon 开始抓取 X、GitHub、RSS 等来源。
- 09:00:完成去重、评分和中文摘要,写入 archive。
- 09:20:n8n 生产文章。
- 09:40:生成封面并执行格式检查。
- 10:20:推送微信公众号草稿。
- 发布前:人工核对事实、标题、图片版权和敏感内容。
十一、常见故障
X 没有抓到内容
检查 Twitter 配置是否启用、用户名是否正确、APIFY_TOKEN 是否存在,以及 Apify Actor 是否返回数据。还要检查时间窗口,过旧推文会被过滤。
Horizon 摘要数量太少
先看每个来源的抓取数量、HTTP 错误和被过滤数量,再调整 AI 阈值。来源失效时,仅降低评分阈值通常不能解决问题。
n8n 找不到当天摘要
确认文件是否真实写入 horizon/data/summaries/archive/,日期和时区是否一致,以及该目录是否正确挂载进 n8n 容器。
文章与封面无法匹配
检查两个工作流的文件名清洗规则是否一致。标题中的斜杠、冒号、问号和特殊符号应在生成文件名时统一移除。
微信草稿创建失败
依次检查 access token、IP 白名单、封面 media_id、文章数量限制、HTML 内容和接口返回的 errcode。不要只重试整个流程,应保留失败节点的输入输出。
十二、成本与安全建议
- 只监控真正有价值的 X 账号,不要无限扩大 users 列表。
- 限制推文回复扩展数量,避免 Apify 费用失控。
- 对 AI 输出增加事实核验和人工发布门槛。
- 将所有平台密钥放入环境变量或 n8n Credential。
- 定期备份 n8n 数据库、工作流和中间文件。
- 为失败节点增加通知,但不要在通知中发送密钥或完整凭据。
十三、总结
X + Horizon + n8n 的核心价值,是把碎片化热点变成可追踪、可筛选、可审核的内容资产。Horizon 负责从 X 和其他来源发现信息,n8n 负责把摘要转成文章、封面和平台草稿。通过固定归档路径、明确的节点断言和发布前人工复核,这套流程既能提高内容生产效率,也能避免“全自动发布”带来的事实和质量风险。














暂无评论内容