@wangdefou: https://x.com/wangdefou/status/2077736785611026799

X AI KOLs Timeline 工具

摘要

这是一篇详细介绍如何利用 Grok CLI 和 Hermes Agent 搭建 X/Twitter 热帖监控工具的教程,从安装依赖到编写脚本、配置定时任务,最终通过 Telegram 推送提醒。

https://t.co/V3Fko17fX3
查看原文
查看缓存全文

缓存时间: 2026/07/17 02:26

不用 X API,我用 Grok + Hermes 做了一个热帖盯梢器

先说一句大白话:这套东西不是什么高科技监控系统,就是一个不会累的助理,替你 24 小时盯着一份 X 账号名单,看到“有点东西“的帖子就发条 Telegram 提醒你,没动静就闭嘴,不打扰你。

它干的活,说穿了就这一条流水线:

text你给一份 X/Twitter 账号名单 -> 本机的 Grok 定时去扫最近的热帖 -> 只留浏览量过线的新帖 -> 提醒过的不再重复 -> 有货,发 Telegram -> 没货,一声不吭

这套方案就三块积木,缺一不可:

  • Grok 会员 / 权限 —— 让你电脑上的 grok 命令能联网、能看得到 X/Twitter 的内容。

  • Grok CLI —— 把 Grok 搬进终端,脚本才能调用它。

  • Hermes Agent Cron —— 定时工,负责按点跑脚本、把结果送到 Telegram。

下面从零开始,一步一步来。不用懂原理,跟着敲就行;每一步我都会告诉你“敲完应该看到什么“,对上了就往下走。

一、开工前,先备齐四样东西

1. 一台不关机的电脑

这不是矫情,是硬道理:定时任务是在你自己机器上跑的,机器一关、网一断,它就停摆。 所以你需要一台平时开着的:

  • macOS 台式机 / Mac mini;

  • Linux VPS;

  • 或者任何一台你习惯不关机的电脑。

笔记本合盖睡觉、晚上关机的,就别指望它半夜替你盯帖了。

2. 装好 Hermes Agent

先检查一下你装没装、跑没跑:

bashhermes –version hermes gateway status hermes cron status

看到这样的,就是好状态:

textGateway is running cron jobs will fire automatically

还没装?官方仓库在 https://github.com/NousResearch/hermes-agent,文档在 https://hermes-agent.nousresearch.com/docs。一行命令搞定:

bashcurl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

这脚本会自动把依赖、仓库、hermes 命令都装好。或者直接用 PyPI:

bashpip install hermes-agent && hermes

装完至少要把 Telegram Gateway 配好——这是提醒的出口,不配好,后面盯到再多热帖也发不出来。

3. 一个能用的 Grok 账号

说清楚一件事:你需要的是能真正调用高级 Grok 的账号,不是随便注册个号就行。两条路,挑一条:

路线 A:直接买 xAI / Grok 官方会员

适合“我就是想用 Grok“的人。

  • 打开 https://grok.com/ 或 https://x.ai/;

  • 注册 / 登录 xAI 账号;

  • 开通能用高级模型的会员(比如 SuperGrok 之类的方案);

  • 在网页上跟 Grok 聊两句、让它联网搜一下,确认真的能用。

路线 B:靠 X/Twitter 的 Premium+ 蹭 Grok

适合本来就天天泡在 X 上的人。

  • 打开 https://x.com/;

  • 登录你的 X 号;

  • 进 Premium / Premium+ 订阅页;

  • 开通带高级 Grok 权限的档位,一般是 Premium+

  • 在 X 里点开 Grok,确认能正常对话。

一句实在话:X / Grok 的会员权益经常变,别信我这里写的档位名,以你打开页面时看到的为准。而且配置之前,务必先确认——网页端的 Grok 你自己能用。网页都用不了,命令行更别提。

4. 装好 Git / Python,macOS 再加个 Homebrew

检查:

bashgit –version python3 –version

macOS 的话,Homebrew 建议装上,后面装 Grok CLI 要用:

bash/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”

二、把 Grok 搬进终端(装 Grok CLI)

xAI 官方 CLI 叫 Grok Build,官方页面 https://x.ai/cli,文档 https://docs.x.ai/build。

首选:官方一行装完(macOS / Linux 通用)

bashcurl -fsSL https://x.ai/cli/install.sh | bash

Windows(PowerShell)用这个:

powershellirm https://x.ai/cli/install.ps1 | iex

macOS 备选:Homebrew

bashbrew install –cask grok-build

装完验一下货:

bashcommand -v grok grok –version grok –help

看到类似这样,就成了:

text/opt/homebrew/bin/grok grok 0.x.x Grok Build TUI

提醒:社区里有几个同名的非官方 grok-cli(npm、第三方仓库那种),不是 xAI 官方的东西。你要是以前装过,先 which grok 看一眼跑的是不是官方 Grok Build,别装错了还以为是自己配置的问题。

三、让 CLI 认得你(登录 Grok)

装好只是第一步,还得让它知道“你是谁、有没有权限“。

方式 1:有屏幕的电脑,浏览器登录

bashgrok login –oauth

它一般会自动弹出浏览器,你照着提示登录 Grok / xAI / X 账号、点授权就行。

登录完检查一下:

bashgrok models

看到类似这样,说明它认你了:

textYou are logged in with grok.com. Default model: grok-4.5 Available models:

  • grok-4.5
  • grok-composer-2.5-fast

方式 2:服务器没屏幕,用验证码登录

机器上没浏览器(比如纯 VPS),试这个:

bashgrok login –device-auth

或者:

bashgrok login –device-code

它会给你一个网址加一串验证码,你复制到自己手机/电脑的浏览器里完成授权就行。

最后,跑个最小测试确认它真活着

bashgrok –single ‘只回复 OK’ –max-turns 1

能吐出一个 OK,说明 CLI 通了。

再测一下 JSON 输出(脚本靠这个吃饭):

bashgrok –single ‘输出 JSON:{“ok”: true}’ –output-format json –max-turns 1

四、写一份“盯谁“的名单

新建一个名单文件:

bashmkdir -p “HOME/Desktop" nano "HOME/Desktop/x_watchlist.md”

填成这样:

markdown# X 监测名单

序号名称Handle链接
1宝玉@doteyhttps://x.com/dotey
2示例账号@examplehttps://x.com/example

脚本只认 @handle,所以格式随你排,只要每行有个 @xxx 就能被抓到

别贪多:第一次先放 5-10 个号试水;跑顺了再慢慢加到 50-100 个。名单一口气塞太满,Grok 容易扫超时,反而什么都盯不到。稳,比多重要。

五、装上这个 Skill

把 Skill 装进 Hermes 的 skills 目录。推荐直接从 GitHub 拉,以后更新也方便。

首选:git clone

bashmkdir -p ~/.hermes/skills/social-media git clone https://github.com/wangdefou-dev/df-grok-x-watch-cron.git
~/.hermes/skills/social-media/grok-x-watch-cron

以后想更新,进目录 git pull 就行:

bashcd ~/.hermes/skills/social-media/grok-x-watch-cron && git pull

备选:解压分享包

要是别人直接甩给你一个 grok-x-watch-cron.tar.gz:

bashmkdir -p ~/.hermes/skills/social-media tar -xzf grok-x-watch-cron.tar.gz -C ~/.hermes/skills/social-media

检查解出来了没

bashls ~/.hermes/skills/social-media/grok-x-watch-cron

看到这几样,就对了:

textSKILL.md scripts/ templates/ references/

六、把通用脚本放到位

Skill 里带了一个通用脚本,把它复制到 Hermes 的 scripts 目录:

bashmkdir -p ~/.hermes/scripts cp ~/.hermes/skills/social-media/grok-x-watch-cron/scripts/grok_x_watch.py ~/.hermes/scripts/grok_x_watch.py chmod +x ~/.hermes/scripts/grok_x_watch.py

顺手做个语法检查,确认文件没在传输中损坏:

bashpython3 -m py_compile ~/.hermes/scripts/grok_x_watch.py

没有任何输出,就是一切正常(这类检查是“报错才说话“)。

七、写一个只属于你的配置文件

记住一条规矩:别去动上一步那个通用脚本。 那是大家共用的引擎,你只需要写一个自己的小包装(wrapper),把你的路径、阈值、标题填进去。以后换机器、发给朋友,这个引擎原封不动,各人改各人的包装就好。

新建:

bashnano ~/.hermes/scripts/my_x_watch.sh

写入(每一行都有注释,看着填):

bash#!/usr/bin/env bash set -euo pipefail

你的 X 账号名单文件

export GROK_X_WATCH_SOURCE_FILE=“$HOME/Desktop/x_watchlist.md”

每次运行的完整报告存哪里

export GROK_X_WATCH_RESULTS_DIR=“$HOME/Desktop/X监测结果”

去重记录:记下已经提醒过的 tweet URL,避免重复轰炸你

export GROK_X_WATCH_STATE_FILE=“$HOME/.hermes/state/x_watch_seen.json”

运行日志

export GROK_X_WATCH_LOG_FILE=“$HOME/.hermes/logs/x_watch.log”

Telegram 提醒的标题

export GROK_X_WATCH_TITLE=“X 热帖提醒”

Grok 命令名。如果你的命令不叫 grok,在这里改

export GROK_CLI=“grok”

浏览量阈值:只提醒超过这个数的帖子(先设保守点)

export VIEW_THRESHOLD=“2000”

时间窗口:会写进给 Grok 的提示词

export RECENT_WINDOW=“最近 2 小时”

单次运行超时。Hermes cron 有硬上限,建议压到 180 秒以下

export GROK_WATCH_TIMEOUT=“170”

exec python3 “$HOME/.hermes/scripts/grok_x_watch.py”

存好加个执行权限:

bashchmod +x ~/.hermes/scripts/my_x_watch.sh

八、先手动跑一遍,别急着上定时

在交给定时工之前,自己先踩一脚,看它到底能不能动。

1. 只测前 5 个号

bashWATCH_LIMIT=5 ~/.hermes/scripts/my_x_watch.sh

跑完会是三种结果之一,对号入座:

情况 A:什么都没输出

这不是出错,这是正常的,意思是“最近没有够格的新帖“。想确认它确实跑过了,看看报告文件:

bashls -lt “$HOME/Desktop/X监测结果” | head

情况 B:吐出一段提醒

恭喜,它盯到货了。大概长这样:

textX 热帖提醒(>2000 浏览) 检测时间:2026-xx-xx xx:xx

  1. 作者 @handle|12,345 浏览|2026-xx-xxTxx:xx:xxZ 帖子正文… 看点:为什么值得关注 https://x.com/handle/status/1234567890

情况 C:报错了

别慌,先看日志:

bashtail -80 ~/.hermes/logs/x_watch.log

十有八九是这几个原因,一个个排:

  • Grok CLI 没登录;

  • GROK_X_WATCH_SOURCE_FILE 路径填错了;

  • 名单文件里根本没有 @handle;

  • Grok 网络慢、超时了;

  • 当前账号的 Grok 权限不够。

2. 小名单没问题了,再跑全量

bash~/.hermes/scripts/my_x_watch.sh

名单要是很长,等个 1-3 分钟很正常,别以为它卡死了。

九、交给定时工(创建 Hermes 定时任务)

手动能跑通,现在让它自己按点跑。

推荐:每小时一次

bashhermes cron create ‘every 60m’
–name ‘X 热帖监测(Grok CLI)’
–script my_x_watch.sh
–no-agent
–deliver telegram

如果你的 Hermes 版本不认这些参数,就走交互式,它会一步步问你:

bashhermes cron create ‘every 60m’

照着填:

  • name:X 热帖监测(Grok CLI)

  • script:my_x_watch.sh

  • no_agent:true

  • deliver:telegram

也可以直接让 Hermes Agent 帮你建,效果等价:

pythoncronjob( action=“create”, name=“X 热帖监测(Grok CLI)”, schedule=“every 60m”, prompt=“Run local Grok X watch script. Empty stdout means no alert.”, script=“my_x_watch.sh”, no_agent=True, deliver=“telegram”, enabled_toolsets=[“terminal”, “file”], )

十、确认它真的会按点跑

建完别急着走,确认定时工上岗了。

看任务列表:

bashhermes cron list –all

看运行状态:

bashhermes cron status

看到这样就踏实了:

textGateway is running — cron jobs will fire automatically Next run: …

等不及下一个整点?手动催它跑一次:

bashhermes cron run <job_id>

<job_id> 从上面 hermes cron list –all 里复制过来。

十一、它有时候不发消息,是坏了吗?——不是,是故意的

这点特别容易让人误会,单独说清楚:“没消息“多半是好事,说明这段时间没有值得打扰你的新热帖。

脚本的规矩就四条:

  • 有新的、没提醒过的、浏览量过线的帖子 → 打印提醒,Hermes 发 Telegram;

  • 没有新货 → 一个字不打印,Hermes 也就不发;

  • Grok 暂时超时 → 默认只记日志,不拿这种小毛病烦你

  • 真出错了 → 才打印错误提醒。

设计成这样,就是为了让它只在真有价值的时候出声。天天给你发“本次无更新“,那才叫骚扰。

想自己确认它一直在干活,可以翻本地报告:

bashls -lt “$HOME/Desktop/X监测结果” | head

或者看 cron 的输出记录:

bashls -lt ~/.hermes/cron/output

十二、想调策略?改这几个地方就行

嫌提醒太多 —— 抬高浏览量门槛

bashnano ~/.hermes/scripts/my_x_watch.sh

把这行的数字改大:

bashexport VIEW_THRESHOLD=“5000”

想看更久的帖 —— 拉长时间窗口

bashexport RECENT_WINDOW=“最近 6 小时”

嫌跑太勤 —— 改运行频率

比如改成每 2 小时一次:

bashhermes cron edit <job_id>

把 schedule 改成:

textevery 2h

想换人盯 —— 改名单

bashnano “$HOME/Desktop/x_watchlist.md”

改完不用重启任何东西,下一次跑就生效。

十三、出岔子了,照这里查

1. grok: command not found

Grok CLI 没装,或者装了但不在 PATH 里。

先确认:

bashcommand -v grok

macOS 重装一下:

bashbrew install –cask grok-build

要是 grok 装在别的地方,就把 wrapper 里的 GROK_CLI 改成完整路径:

bashexport GROK_CLI=“/opt/homebrew/bin/grok”

2. You are not logged in / 权限报错

重新登录:

bashgrok login –oauth

没屏幕就用验证码登录:

bashgrok login –device-auth

再验:

bashgrok models

3. 网页 Grok 能用,命令行却不行

这种最气人,但原因通常就那几个:

  • CLI 登的是另一个账号;

  • 会员权益还没同步过来;

  • 地区 / 网络 / 账号权限卡着;

  • Grok CLI 版本太老。

挨个试一遍:

bashgrok logout grok login –oauth grok update

然后:

bashgrok models

4. 定时任务压根没动

三条命令查到底:

bashhermes gateway status hermes cron status hermes cron list –all

要是 Gateway 没跑,把它拉起来:

bashhermes gateway start

还不行就重启:

bashhermes gateway restart

5. 手动能跑,一到定时就哑火

这是最经典的坑:定时任务的运行环境跟你手动敲命令时不一样,PATH 找不到命令。解决办法——wrapper 里全部写成绝对路径:

bashexport GROK_CLI=“/opt/homebrew/bin/grok” exec /usr/bin/python3 “$HOME/.hermes/scripts/grok_x_watch.py”

或者在 wrapper 开头补一行,把常用路径都塞进去:

bashexport PATH=“/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:$PATH”

6. 老是超时

超时基本就一个病因:一次让 Grok 干太多活。对症下药:

  • 名单砍短点;

  • VIEW_THRESHOLD 调高(要处理的帖子少了);

  • RECENT_WINDOW 缩短;

  • 把一份 100 人的名单,拆成几份 30 人的;

  • 或者把频率从每小时改成 2-3 小时一次。

7. 它报了几个不太准的帖子

这里得跟你交个底:这套方案靠的是 Grok 去搜索、去读页面,不是 X 官方的数据接口。 所以它已经加了好几道过滤网:

  • 必须是具体的 https://x.com/handle/status/数字;

  • 必须有整数浏览量;

  • 必须过阈值;

  • 必须没提醒过。

但 Grok 偶尔还是会看走眼。所以:重要的事,点开链接自己再核一遍,别把它的提醒当成板上钉钉的官方数据。 它是帮你省事的助理,不是替你拍板的老板。

十四、发给朋友的“最短安装清单“

朋友要是已经有 Hermes + Grok CLI,把下面这整段甩给他,从头跑到尾就行:

bash# 1. 安装 Skill(从 GitHub 克隆) mkdir -p ~/.hermes/skills/social-media git clone https://github.com/wangdefou-dev/df-grok-x-watch-cron.git
~/.hermes/skills/social-media/grok-x-watch-cron

2. 复制脚本

mkdir -p ~/.hermes/scripts cp ~/.hermes/skills/social-media/grok-x-watch-cron/scripts/grok_x_watch.py ~/.hermes/scripts/grok_x_watch.py chmod +x ~/.hermes/scripts/grok_x_watch.py

3. 准备名单

cp ~/.hermes/skills/social-media/grok-x-watch-cron/templates/watchlist.md “$HOME/Desktop/x_watchlist.md”

4. 写 wrapper

cat > ~/.hermes/scripts/my_x_watch.sh <<‘EOF’ #!/usr/bin/env bash set -euo pipefail export PATH=“/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:PATH" export GROK_X_WATCH_SOURCE_FILE="HOME/Desktop/x_watchlist.md” export GROK_X_WATCH_RESULTS_DIR=“HOME/Desktop/X监测结果" export GROK_X_WATCH_STATE_FILE="HOME/.hermes/state/x_watch_seen.json” export GROK_X_WATCH_LOG_FILE=“HOME/.hermes/logs/x_watch.log" export GROK_X_WATCH_TITLE="X 热帖提醒" export GROK_CLI="grok" export VIEW_THRESHOLD="2000" export RECENT_WINDOW="最近 2 小时" export GROK_WATCH_TIMEOUT="170" exec python3 "HOME/.hermes/scripts/grok_x_watch.py” EOF chmod +x ~/.hermes/scripts/my_x_watch.sh

5. 登录 Grok 并测试

grok login –oauth grok models WATCH_LIMIT=5 ~/.hermes/scripts/my_x_watch.sh

6. 创建定时任务

hermes cron create ‘every 60m’ –name ‘X 热帖监测(Grok CLI)’ –script my_x_watch.sh –no-agent –deliver telegram

7. 检查

hermes cron status hermes cron list –all

十五、这套模板,能改去盯别的东西吗?

能。它的骨架其实很朴素,换个“数据源“就能复用:

text本地 CLI / API / 文件 -> Python 脚本把结果整理干净 -> stdout 有内容才提醒 -> Hermes cron 定时跑

不过说句实在话,这个 Grok 版本,最擅长的还是盯 X/Twitter 的动态,比如:

  • 某个博主有没有发新帖;

  • 某些账号有没有冒出高浏览量的爆帖;

  • 某个关键词有没有新的热门讨论;

  • 竞品、KOL、项目方有没有什么重要动作;

  • 哪条高价值帖子值得你收藏、转发、评论或者二次创作。

道理很简单:Grok 和 X 是“一家人“,它天生更懂 X 上的上下文、账号关系、讨论热度和实时动态。别的软件当然也能定时盯,但建议另写对应的脚本,别硬把这个 X 监测 Skill 掰得太万能——工具一贪多,就哪样都做不精。

真要改去盯别的,把这四条原则守住就不会跑偏:

  • 有明确的数据源;

  • 有清晰的提醒阈值;

  • 有去重机制,不重复烦人;

  • 有价值才出声,没价值就闭嘴。

我是得否,一个文科生 目前担任多家企业Al转型顾问 日常分享 OPC 实践和 AI 搞钱心得 https://www.wangdefou.com/

相似文章

@wei_wang: https://x.com/wei_wang/status/2072878140490231882

X AI KOLs Timeline

本文介绍如何使用 Hermes Desktop 桌面应用,将 ChatGPT、X Premium/Grok、DeepSeek、MiniMax 等多个 AI 模型集成到一个应用中,并通过配置消息通道和自动化工作流,实现不同任务分配给不同模型,提高效率。