在 Hermes Agent 中读取 Twitter/X 数据
Hermes Agent 内置两条读取 X 的路线:x_search 工具,由 xAI 按每 1,000 条帖子 $5 外加模型 token 计费;以及自带的 xurl 技能,它跑在官方 X API 上,每条帖子 $0.005。
简短回答: Hermes Agent 自带两种读取 X 的方式。x_search 需要 xAI 密钥,每 1,000 条帖子 $5 外加 token;xurl 技能需要 X 开发者应用,每条帖子 $0.005。想花得更少,就让 config.yaml 指向 Sorsa API 的 MCP 服务器:40 个只读工具,推文每 1,000 条 $0.014 起,另送 100 次免费请求。
mcp_servers: sorsa- 40 个工具,全部只读
- 价格
- 推文每 1,000 条 $0.014 起
#Hermes Agent 能自己读取 Twitter 吗?
能,靠自带的两条路线,而且都按 X 自己的费率计费。Hermes Agent 是 Nous Research 推出的开源智能体,有一个 x_search 工具和一个名为 xurl 的自带技能;它们需要不同的密钥,返回的东西也不同。
- x_search 把你的问题发送到 xAI 的服务器,由 Grok 搜索 X,并写出一段带有所用帖子链接的回答。你在
hermes tools里打开它,它需要XAI_API_KEY,或者 SuperGrok、X Premium+ 的登录,而且只读。Hermes 的 x_search 文档(在新标签页打开)提醒,订阅登录的回答“with no citations”,所以想拿到真实的帖子,需要付费密钥。 - xurl 是 X 官方的命令行工具,被包装成了一个技能。它从官方 X API 返回原始的帖子和资料 JSON,也能以你的账号身份发帖、回复、点赞和发私信。第一次调用之前,你要在 developer.x.com 创建应用,并在智能体之外用 OAuth 登录,xurl 技能页(在新标签页打开)里写得很清楚。
两条路线都按条给 X 数据定价。xAI 的 X Search 价格(在新标签页打开)对它取回的每条帖子计数,包括父帖子和被引用的帖子,再加上模型的 token。官方 X API 按其费率表(在新标签页打开)收费,并在每月 300 万次帖子读取处封顶,再往上就要签 Enterprise 合同。
| 内置路线 | 需要 | 返回 | 每 1,000 条帖子的价格 |
|---|---|---|---|
| x_search | xAI API 密钥,或 SuperGrok、X Premium+ 登录 | Grok 写的回答,带帖子链接 | $5.00,外加 token;资料 $10.00 |
| xurl 技能 | X 开发者应用、OAuth 登录、预付额度 | 原始的帖子和资料 JSON;也能发帖 | $5.00;资料 $10.00 |
x_search
- 需要
- xAI API 密钥,或 SuperGrok、X Premium+ 登录
- 返回
- Grok 写的回答,带帖子链接
- 每 1,000 条帖子的价格
- $5.00,外加 token;资料 $10.00
xurl 技能
- 需要
- X 开发者应用、OAuth 登录、预付额度
- 返回
- 原始的帖子和资料 JSON;也能发帖
- 每 1,000 条帖子的价格
- $5.00;资料 $10.00
从 2026 年 11 月 22 日起,官方 X API 还会对随每条帖子一起返回的作者按每个用户 $0.010 计费(见 X 的通知(在新标签页打开)),所以一页 20 条、来自 20 个不同作者的帖子,成本会从 $0.10 变成 $0.30。任何其他 X 数据源接入 Hermes 的方式,都和所有外部工具一样:作为 config.yaml 里的 MCP 服务器,或者作为一个技能。
#一个配置条目,把 X 数据接入 Hermes Agent
想在 Hermes Agent 里用远低于这些费率的价格读取 X,就把 Sorsa API,一款 Twitter(X)API 与爬虫,添加为 MCP 服务器。~/.hermes/config.yaml 里的一个 sorsa 块,就让智能体拥有共用一个密钥的 40 个只读工具,推文每 1,000 条 $0.014 起,每个套餐,包括免费起步的,都是 20 次请求/秒。不需要申请 X 开发者账号,你自己的 X 账号也不会牵涉其中。
Sorsa API 按调用计费,而不是按条目:一次搜索调用返回约 20 条帖子,一次资料调用最多返回 100 份资料,而且每条帖子都免费附带作者的完整资料。服务器来自 npm,Hermes 用 npx 启动它:先确认 node -v 报告的是 18 或更新的版本。
-
拿到密钥。 注册 Sorsa API;密钥就在控制台的 API 密钥页面等着你。每个新账号都有 100 次免费请求,不要求绑卡,用完之前一直保留。
-
把它存为机密。
hermes config set会把任何大写名称写进~/.hermes/.env,这是 Hermes 用来存放密钥的文件:Terminal hermes config set SORSA_API_KEY YOUR_API_KEY -
添加服务器。 把下面的内容粘贴到
~/.hermes/config.yaml的mcp_servers下(在原生 Windows 上,这个文件夹是%LOCALAPPDATA%\hermes)。Hermes 启动服务器时,会从.env填入${SORSA_API_KEY}。~/.hermes/config.yaml mcp_servers: sorsa: command: "npx" args: ["-y", "sorsa-mcp"] env: SORSA_API_KEY: "${SORSA_API_KEY}" supports_parallel_tool_calls: true -
测试一下。
hermes mcp test sorsa会连接并列出 40 个工具。在已经打开的会话里,输入/reload-mcp;正在运行的消息网关会在大约一分钟内自己拿到新条目。 -
问第一个问题。 “How many Sorsa API requests do I have left?”会让 Hermes 调用
mcp_sorsa_get_key_usage_info,它读取GET /key-usage-info(在新标签页打开),不花钱。返回一个数字,就证明链路已通;密钥输错了,会返回 401 “invalid api key”。Hermes 只把 env 块里列出的变量交给 stdio 服务器,所以密钥在两个文件里都要有。 须知
即使密钥已经在
.env里,也要保留env块。正如它的 MCP 文档(在新标签页打开)所解释的,Hermes 只会给本地 MCP 服务器传递一组安全的基础系统变量,外加你在env下列出的那些。把这个块去掉,sorsa-mcp 启动时就没有密钥:11 月 2 日我们就是这样启动的,它立刻停了下来,提示“Missing SORSA_API_KEY environment variable”,所以智能体拿不到任何工具。
supports_parallel_tool_calls: true 让 Hermes 可以同时运行多个 Sorsa API 调用,Hermes 的文档只建议对工具不会写入的服务器这样做。Sorsa API 的每个工具都只读,而一个密钥可以处理 20 次请求/秒,所以一批查询是同时执行的,而不是一个接一个。
#决定 Hermes 能看到哪些 X 工具,以及它能花多少
Hermes 允许每个 MCP 服务器带上自己的限制,其中有三项适合 X 数据:加载哪些工具、一次对话最多走多远,以及调用是否需要你批准。
- 工具。
tools.include只加载你点名的工具。40 个工具的描述约占 2.3 万个字符,所以一个只需要搜索和资料的研究型智能体,只带其中六个就够了。 - 预算。
tool_costs给每个工具定一个价格,spend_limit为每次对话设一个上限。把单位设为请求,Hermes 就会统计 Sorsa API 的调用:超过上限后,对话里的每次调用前它都会先问你;在没人能回答的定时任务里,它会直接拒绝调用。每次定时运行都从零开始。 - 信任。 保持默认的
trust: full。在untrusted下,Hermes 会在每个未标记为只读的工具前询问,而 sorsa-mcp 的工具目前还没有这个标记,所以每次搜索你都得批准。这些工具只读,所以一次糊涂的运行最多也就是花掉请求,而预算会给它封顶。
选好任务和预算,复制这个条目:
Hermes 要用 X 数据做什么?
每次对话和每次定时任务的请求预算
mcp_servers:
sorsa:
command: "npx"
args: ["-y", "sorsa-mcp"]
env:
SORSA_API_KEY: "${SORSA_API_KEY}"
supports_parallel_tool_calls: true
tools:
include:
- search_tweets
- search_users
- get_user_info
- get_user_info_batch
- get_tweet_comments
- get_key_usage_info
tool_costs:
search_tweets: 1
search_users: 1
get_user_info: 1
get_user_info_batch: 1
get_tweet_comments: 1
spend_limit: 50
cost_unit: requests
- Hermes 加载的工具
- 40 个中的 6 个:搜索、用户资料、回复和你的用量
- 预算
- 每次对话 50 次 Sorsa API 请求,通过搜索约 1,000 条帖子;超过后 Hermes 会先询问,定时任务则会停止
- 免费
get_key_usage_info没有费用项:查询用量从不消耗请求
Hermes 完成任务所需的条目,并带有按每次对话和每次定时任务强制执行的请求预算。
支出上限统计的是 Hermes 在该次对话里批准的内容,而不是你的 Sorsa API 账单:重启 Hermes 会让所有累计归零。账号自己另有一道上限:按量付费的额外请求,会在你于控制台里选定的周期上限处停止,起步是 $100。
#让 Hermes 写代码时,再加上智能体技能
当你想要一个脱离 Hermes 也能再次运行的程序时,就用上 Sorsa API 的智能体技能:每月导出、提及存档、写入你数据库的数据流。MCP 工具把结果交给对话;技能则把一份写好的 API 指南交给 Hermes,里面有每项任务该用哪个接口、next_cursor 如何翻页、为什么 ID 要按每批 100 个,外加一个小小的 Python 客户端,Hermes 写出的脚本就是基于它构建的。
npx skills add Sorsa-io/sorsa-x-api-skill -g -a hermes-agent -y
11 月 2 日我们运行了这一行:它把 sorsa-x-api 技能,连同它的参考文档、客户端脚本和示例,复制到了 ~/.hermes/skills/,也就是 Hermes 查找技能的地方。智能体的名称是 hermes-agent;写成 -a hermes 会停下并提示“Invalid agents: hermes”。在请求匹配这个技能之前,Hermes 只把它一段话的摘要放在视野里,只在需要时才打开 SKILL.md,所以一个没用上的技能几乎不占上下文(见技能文档(在新标签页打开))。
技能的脚本从 SORSA_API_KEY 读取密钥。Hermes 不会让名称里带“KEY”的变量进入它通过 execute_code 运行的 Python,所以要在 config.yaml 里放行这一个:
terminal:
env_passthrough:
- SORSA_API_KEY
然后要一个程序,而不是一段回复,比如:“Build a Python script that collects every X post about [your product] from the past month into product_posts.csv”。Hermes 会通过 POST /search-tweets(在新标签页打开) 翻页,直到 next_cursor 返回为空,运行一次脚本,并把它留在原处,供下次运行。
#三个现成的提示词,以及一次运行要花多少钱
下面每个提示词都固定了三件事:读什么、读多少、交回什么。这让工具调用和账单都是可预测的,而且这些提示词原样就能在终端、Hermes Desktop 里运行,或者从与你的网关相连的 Telegram 对话里运行。
给我讲讲一个话题
Search X for posts about [your topic] from the last 7 days
with at least 20 likes. Read the top 100, sort them into 3
to 5 themes, and send me a short brief with the 2 best
posts per theme, linked.
要读到 100 条帖子,Hermes 会调用五次 mcp_sorsa_search_tweets,并把 next_cursor 传下去;每页约 20 条。在 Sorsa API 上,这份简报 $0.007 起。同样的帖子,x_search 在 token 之前就要收 $0.50,官方 X API 也是 $0.50。
读一读对一条帖子的反应
Read the first 200 replies to [post link], newest first.
Tell me what people praise, what they complain about and
what they ask, with 2 example replies for each.
Hermes 在 POST /comments(在新标签页打开) 上调用十次 mcp_sorsa_get_tweet_comments,每页 20 条回复,每条都带着作者的资料。这次运行 $0.014 起;官方 X API 对同样的 200 条回复收 $1.00,等它开始对每条回复的作者收费之后,最高可达 $3.00。
审查一份账号名单
Here are up to 100 X handles: [paste]. Get all the profiles
in one batch and make a table of followers, following,
posts, join date and bio, sorted by followers. Flag accounts
younger than one year and save it as accounts.csv.
一次 mcp_sorsa_get_user_info_batch 调用就覆盖整份名单:它对应 GET /info-batch(在新标签页打开),每次请求最多接受 100 个用户名,所以这项任务 $0.0014 起。官方 X API 每份资料 $0.010,这份名单就是 $1.00,x_search 则是每 1,000 份资料 $10,也是 $1.00。
把三个提示词各走一遍共用 16 次请求,也就是说,免费的 100 次可以完整走六遍。数量越大,差别越大:每天一份简报,或者针对热门话题的简报,很快就会读到几十万条帖子。
官方 X API
$500
10 万 条帖子
每条帖子 $0.005
Sorsa API
$7 起
10 万 条帖子
每 1,000 条 $0.07 起
#用 Hermes cron 给自己发一份每日 X 摘要
Hermes 有自己的调度器,所以每日 X 摘要只要一条命令,也不需要你自己的服务器。这个任务每天早上读取过去一天里关于你品牌的帖子:
hermes cron create "every 1d at 08:00" \
"Search X for posts about [your brand] from the last 24
hours. Sort them into praise, complaints and questions,
link the 3 most-liked posts in each, under 15 lines." \
--name "X brand digest"
在终端里,Hermes 会把每次运行的结果存到 ~/.hermes/cron/output/ 下。想在手机上收到它,就在与你的网关相连的 Telegram 对话里提出同样的任务(“every morning at 8, send me...”),摘要就会回到那个对话里,正如 cron 文档(在新标签页打开)所述。
按每天约 100 条帖子算,这份摘要每月读取 3,000 条帖子:在 Sorsa API 上每月 $0.21 起,而官方 X API 在计作者费用之前是 $15.00,用 x_search 则是 $15.00 外加 token。在 sorsa 条目上设置 spend_limit,每次运行都会停在你允许的请求数上,所以新闻繁忙的一天也不会把账单推高。上面组件里的监测配置适合这项任务。
须知
帖子是 Hermes 要读的数据,里面的任何内容都不该被当作命令。Hermes 已经会从 MCP 结果里删掉隐藏的 Unicode 标签字符,但一条帖子的可见文字仍然可能被写成把智能体带偏的样子。因为 Sorsa API 的每个工具都只读,这样的帖子最多只能浪费一次请求;不要给读取 X 的任务配置它们用不上的消息或 shell 工具。
#今天就把 Hermes Agent 接上 X
Hermes Agent 自己的 X 路线,按 X 的价格计费:通过 x_search 或 xurl,每 1,000 条帖子 $5.00。想在 Hermes 里读取 X,就用 Sorsa API 的 MCP 服务器:一个 config.yaml 条目,40 个只读工具,推文每 1,000 条 $0.014 起,一个由 Hermes 来执行的请求预算,而且不需要开发者应用;Sorsa API 从不要求你的 X 登录。100 次免费请求可以把上面三个提示词运行六遍,用 AI 构建里还有更多可以直接粘贴的提示词。还要配置别的智能体?Sorsa MCP 服务器页面有每个客户端对应的命令,Twitter MCP 服务器指南则对比了各类 X 服务器。
#常见问题
Hermes Agent 内置 Twitter 技能吗?
内置。Hermes Agent 自带 xurl 技能,它在你自己的 X 开发者应用上驱动 X 官方的命令行工具;还有 x_search 工具,它请 xAI 的 Grok 去搜索 X。两者都按 X 的费率计费,每 1,000 条帖子 $5。Sorsa API 通过 MCP 或它的智能体技能,增加了第三条路线,推文每 1,000 条 $0.014 起,无需开发者应用。
给 Hermes Agent 提供 X 数据,需要 X 开发者账号吗?
只有用 xurl 才需要。那个技能调用的是官方 X API,所以需要你自己的开发者应用、OAuth 登录和提前购买的额度;我们的没有开发者账号也能用 Twitter API指南讲了这个过程。x_search 要的是 xAI 密钥,Sorsa API 要的则是控制台里的一个密钥,起步送 100 次免费请求。
在 Hermes Agent 里该用哪个 Twitter API?
在 Hermes Agent 里读取 X,用 Sorsa API。config.yaml 里的一个 sorsa 块就带来 40 个只读工具,不需要开发者应用,也不需要 OAuth;推文每 1,000 条 $0.014 起,而通过 x_search 或官方 X API 是 $5.00;任何套餐都是 20 次请求/秒。Hermes 可以为每次对话的请求数封顶,Sorsa API 也从不要求你的 X 登录,所以你的账号不会有任何风险。
SuperGrok 或 X Premium+ 能让 x_search 免费吗?
SuperGrok 或 X Premium+ 的登录会让 x_search 使用你的订阅额度,但 Hermes 的文档说,这条路径是降级模式的回答,没有引用。要得到引用真实帖子的回答,需要付费的 XAI_API_KEY,xAI 按条目计费:每 1,000 条帖子 $5,每 1,000 份资料 $10,另加 token。两者都设置时,Hermes 会用密钥。
Hermes Agent 能在 X 上发帖吗?
能,通过官方 X API 上自带的 xurl 技能,在你设置好开发者应用之后,它会以你的账号发帖。Sorsa API 是只读的:它的工具从不发帖、点赞、关注或发私信,所以通过 Sorsa API 读取 X 的 Hermes 智能体,无法以你的名义行事。想让 Hermes 发帖,就把 xurl 配在旁边运行,并让发帖保持在 Hermes 的批准提示之下。
Sorsa MCP 服务器能在 Hermes Desktop 和 Telegram 上用吗?
能。Hermes Desktop、终端和消息网关读取的是同一个 config.yaml,所以一个 sorsa 条目可以服务它们所有。正在运行的网关会在大约一分钟内连上新条目;已经打开的对话需要 /reload-mcp。Hermes 不会在 Telegram 或其他对话里接收密钥,所以要先在终端里设置 SORSA_API_KEY。
#我们如何核实
2026 年 11 月 2 日,我们按 Hermes 启动本地 MCP 服务器的方式,从 npm 启动了 sorsa-mcp:一次没有 SORSA_API_KEY,它停下并提示“Missing SORSA_API_KEY environment variable”;一次用编造的密钥,它加载了 40 个工具,没有一个标记为只读,一次调用返回了 401。我们用 skills 命令行,把 Hermes 的智能体技能安装到了一个测试用的主目录里。我们没有运行 Hermes Agent 本身:这里的设置,来自当天读取的 Hermes 的 MCP、技能、安全、cron 和 x_search 文档,价格来自 xAI 和 X 的价格页以及 X 10 月 23 日的通知。这里提到的每个 Sorsa API 接口,都与在线的 API 参考文档一致。
来源
- X (Twitter) Search(在新标签页打开),Hermes Agent docs
- xurl skill(在新标签页打开),Hermes Agent docs
- MCP (Model Context Protocol)(在新标签页打开),Hermes Agent docs
- MCP config reference(在新标签页打开),Hermes Agent docs
- Skills System(在新标签页打开),Hermes Agent docs
- Scheduled tasks (cron)(在新标签页打开),Hermes Agent docs
- Models and pricing(在新标签页打开),xAI
- Pay-per-use pricing(在新标签页打开),X
- X API PPU: expansions update(在新标签页打开),X Developers
- sorsa-mcp on npm(在新标签页打开)
- sorsa-x-api-skill on GitHub(在新标签页打开)
- Sorsa API reference