在 OpenClaw 里配置 X 的热点抓取和大佬推文监控,我踩完坑的完整教程

2026/04/16

最近很多人问我:能不能让 AI 自动盯着 X(原 Twitter),每天把重要信息整理好推给我?

我自己折腾了几天,从"浏览器自动登录爬取"一路走到"真正稳定可用的方案",中间踩了不少坑。

这篇文章不讲概念,直接带你跑通两件事:每天早上 8 点自动总结 X 上过去 24 小时的 AI 热点每小时聚合你关注的几百位大佬的最新推文。全流程配置、避坑点、成本估算都写在里面。

先说结论:两条路,分别解决两件事

监控 X 没有"一招搞定"的方法,因为热点话题特定账号是两种完全不同的数据形态。

  • 热点话题:你不知道谁会发、发什么,需要"按关键词做全网搜索"。
  • 大佬动态:你知道具体关注谁,只需要"按用户列表拉推文流"。

对应两个技术路线:热点走 xAI 的 Grok x-search(Grok 自己带 X 搜索能力),大佬走官方的 xurl CLI + X List API。两套方案都跑在 OpenClaw 的 Cron 里,失败重试、推送 Discord 这些 OpenClaw 自带。

成本大概心里有个数:x-search 单次约 0.01~0.02 美元,100 人左右的 List 每小时拉一次,基本在 0.05 美元左右。

方案一:每天早上 8 点总结 X 的 AI 热点

这个方案用 https://clawhub.ai/ 的 x-search Skill,它本质是让 Grok 帮你做一次"有归纳能力的 X 全网搜索",而不是你自己去爬 API。

为什么不用 X 官方 API 做热点搜索

官方搜索 API 成本高、限流严,还得自己写一堆过滤和去重逻辑。 而 x-search 是 Grok 内置能力,你丢一段自然语言 prompt 给它,它会自己去 X 检索、过滤、归纳成话题,省事也省钱。

第一步:购买 xAI 积分

打开 https://console.x.ai/,充值几美元就够用很久。 单次搜索大约 0.01~0.02 美元,一个月 30 次也就几块人民币。

第二步:在 OpenClaw 里启用 x-search Skill

x-search 的 Skill 地址:https://clawhub.ai/jaaneek/x-search

openclaw.json 里开启:

"skills": {
  "entries": {
    "x-search": {
      "enabled": true,
      "env": {
        "XAI_API_KEY": ""
      }
    }
  }
}

XAI_API_KEYconsole.x.ai 后台生成一个 key 填进去即可。

小提醒:不用自己手动改文件,直接让 OpenClaw 帮你配置就行,它支持自然语言修改 skill。

第三步:写 Cron 调度的 prompt

Cron 里的 prompt 是整个方案的灵魂——写得好,产出的就是一份能直接发的早报;写得糙,就是一堆零散推文罗列

我跑下来比较顺手的 prompt 如下,你可以直接改用:

帮我搜索 X 上过去 24 小时内关于 AI 的热门趋势、重点讨论和高频话题,整理成一份适合发布到 Discord 的 `Twitter AI 早报`。

要求:
1. 只统计过去 24 小时内的内容,优先选择讨论度高、传播广、互动明显的话题
2. 聚焦 AI 相关内容,包括但不限于:
   - 大模型 / AI 产品发布
   - OpenAI / Google / Anthropic / xAI / Meta / Microsoft 等动态
   - AI 绘图、AI 视频、Agent、编程工具、开源模型
   - 行业争议、刷屏观点、重要安全/政策讨论
3. 不要罗列零散推文,要先归纳成 `3-6 个最值得关注的话题`
4. 每个话题都要包含:
   - 一个清晰标题
   - 2-4 条简要总结
   - 1 句"为什么值得关注"
   - 2-5 条原始推文链接
5. 优先引用有影响力账号、官方账号、核心参与者或高互动推文
6. 如果多个推文讨论的是同一件事,要合并为一个话题,不要重复
7. 如果过去 24 小时没有特别重大的 AI 新闻,也要总结"讨论最热的话题",不要空缺

输出格式要求:
1. 使用 Discord 支持的 Markdown 格式(**加粗**、`代码`、> 引用)
2. 每个话题使用清晰标题,并配合适当表情符号
3. 推文链接必须用 <> 包裹,避免 Discord 自动嵌入
4. 分段清晰,避免长段落
5. 不要使用表格,使用列表结构
6. 控制整体可读性,适合在 Discord 频道中快速浏览
7. 不要写得像正式新闻稿,要更像"信息密度高的社区早报"

输出结构示例:
**🌅 Twitter AI 早报 | {日期}**

**1. {话题标题}**
- 要点 1
- 要点 2
- 要点 3

> 为什么值得关注:{一句话总结}

原始推文:
- <https://x.com/...>
- <https://x.com/...>

最后增加一个简短总结:
**今日观察**
- 用 2-3 条概括今天 AI 圈在 X 上的整体风向

这个 prompt 的核心设计思路是:先让它聚合成话题,再要求引用原始链接。出来的不是信息噪音,而是"你看一眼就知道今天 X 上发生了什么"的早报。

方案二:每小时聚合 100+ 大佬的最新推文

这部分比上面麻烦很多,但一旦跑通,基本上你就不用再手动刷 X 了。

核心思路:用 List,不要循环抓每个人

如果你关注 100 个人,每小时都去挨个调 API,成本会爆炸。 正确做法是把他们都加进一个 X List,然后只拉这一个 List 的推文流——一次调用全拿到。

第一步:OpenClaw 默认已装 xurl Skill

xurl 是 X 官方出的 CLI 工具,OpenClaw 默认带了 xurl Skill,所以你不用从 0 配置,只需要装好本地的 xurl CLI 并完成授权。

第二步:在 X 后台创建 App 并购买积分

打开 console.x.com

  1. 创建 app,记好 CLIENT_IDCLIENT_SECRET
  2. 购买积分。
  3. 重点:配置 User authentication settings

具体这几项:

  • App permissions: Read
  • Type of App: Native App
  • Callback URI / Redirect URI: http://localhost:8080/callback
  • Website URL: 填你的博客地址也行
  • 其它的不填

这几项任何一个没按上面配,后面 OAuth 授权都会失败,报错长这样:

你无法获得该应用的访问权限。请返回并尝试重新登录。

这个错误我第一次卡了一整晚,别重蹈覆辙。

第三步:装 xurl CLI 并完成授权

安装:

brew install --cask xdevplatform/tap/xurl

添加 app:

xurl auth apps add openclaw-miniwen-xurl \
  --client-id 你的CLIENT_ID \
  --client-secret 你的CLIENT_SECRET

设为默认:

xurl auth default openclaw-miniwen-xurl

OAuth 授权:

xurl auth oauth2

按浏览器提示点允许,回到终端看到成功提示就行。

第四步:一条命令拉 List 推文

下面这条是我反复调优后的最优调用,一次请求同时拿到推文、作者信息、互动数据,不需要额外 API 调用:

xurl "/2/lists/${LIST_ID}/tweets?max_results=${MAX_RESULTS}&tweet.fields=created_at,public_metrics&expansions=author_id&user.fields=id,name,username"

关键字段说明:

  • tweet.fields=created_at,public_metrics:拿到发布时间和点赞、转发数。
  • expansions=author_id + user.fields:同一次请求里把作者昵称和 handle 展开,不用再单独调 user API。

第五步:配套脚本和状态文件

单次调用拿到数据还不够,你还需要记住"哪些推文已经推送过",否则每小时会重复推一遍。

我的做法是用几个小脚本加几个 JSON 状态文件:

文件作用
fetch-xlist-v2.sh调 xurl 获取推文原始数据
process-xlist.sh流程入口:获取 → 去重 → 总结 → 推送
xlist-config.json配置(每次条数、总结模型等)
xlist-read-ids.json已推送过的推文 ID
xlist-reads.json推文内容缓存
xlist-stats.json统计数据

脚本内容比较长,这里就不贴了。 OpenClaw 的 workspace 规范会自动帮你放到正确位置,你不用操心路径。

第六步:配置 Cron,自动推送到 Discord

Cron 里填这段 prompt:

获取 X 上指定 List 内的用户的最新推文,然后发布到 Discord 的频道:
1. 运行 /Users/sown/.openclaw/workspace/scripts/process-xlist.sh
2. 如果有新推文,为每条推文生成中文总结(使用 zai/glm-4.7)
3. 按照以下格式将每条新推文单独推送到 Discord 频道:

(这里需要换行)
**{作者显示名}** (@{用户名}) · {相对时间}
{中文总结}
<https://x.com/{用户名}/status/{推文ID}>
(这里需要换行)

说明:
- 相对时间如:15分钟前、30分钟前等
- 每条推文之间加个换行
- 如果没有新推文,不推送消息
- 不要增加任何旁白、解释或引导语
- 不要使用 --- 分隔
- 不要使用标题、代码块、引用块、Markdown heading
- 摘要控制在 40 到 80 字,尽量只保留核心信息
- 整体风格保持简洁、紧凑、适合高频阅读

这里有三个经验值得抄走:

  1. 中文总结用便宜的模型就够(我用的是 zai/glm-4.7),没必要上 GPT-4 级别,成本差十几倍。
  2. 一定要明确"没有新推文就不推送",否则 Discord 每小时收到一条"没东西"的空消息会非常吵。
  3. 显式禁止旁白和分隔线,否则模型喜欢自作主张加"以下是您今天的推文",破坏阅读体验。

踩过的坑,和我自己的判断

我最开始没走上面这两条路,而是直接用 OpenClaw 的 browser 功能——打开宿主机浏览器,登陆推特账号,用 Cron 调用 openclaw browser open https://x.com/ 去爬页面内容。

结果是:经常超时,不稳定

原因也简单:X 的前端是重度懒加载加反爬页面,登录态、cookie、rate limit 任何一个波动都会让爬取失败。

教训:能走官方 API 的绝不要走浏览器自动化。官方通道再贵也比"时灵时不灵"值钱。

走完这一圈,我最大的收获不是"会用 xurl 了",而是三条能迁移到其它自动化任务的经验:

  • 选 API 前先问成本:抓单用户贵,抓 List 便宜,思路变一下就差一个数量级。
  • 状态文件是这类任务的命脉:没有"已推送记录",任何定时任务都会变成噪音源。
  • OpenClaw 的价值在"粘合":x-search、xurl、LLM 总结、Discord 推送,本来是四件事,被 Cron 加 Skill 粘成了一件事。

最后

这套方案我跑了有段时间了,基本不再自己刷 X 的时间线。 早上起来看一眼 Discord 的 AI 早报频道,一小时一次的大佬更新按需点开——信息密度反而比主动刷时间线高。

一个问题想问你:你现在获取 X 信息,是靠刷时间线、靠别人的汇总、还是自己搭了自动化? 评论区聊聊。

接下来我会继续把这类"用 OpenClaw 干掉重复信息劳动"的实战拆成可直接抄的配置。

在 OpenClaw 里配置 X 的热点抓取和大佬推文监控,我踩完坑的完整教程 | 博客