xAI 在 5 月 16 号宣布 SuperGrok 可以直接通过 OAuth 接入 Hermes。17 号我看到 X Premium 也支持了,就想试试在 Hermes 里用 Grok 模型。
1. 最初的尝试与卡点
最开始我自己按着社区里的步骤操作,结果反复遇到 403 错误:
The caller does not have permission … no active Grok subscription
我检查了 ~/.hermes/auth.json,token 看起来是有效的,scopes 也包含 grok-cli:access 和 api:access,但就是不认。试了两三次之后,我决定不再自己手动调试。
2. 交给 Hermes 处理
后来我直接让 Hermes 自己去完成整个 OAuth 流程。大概过程如下:
- 它发现旧 token 权限不足,重新发起 OAuth 授权
- 我这边情况比较特殊,需要在手机上完成授权。手机授权后拿到裸露的 authorization code,再手动注入本地 callback 服务完成 token 交换
- 这个环节因为 code 处理的问题,来回试了几次
3. 最关键的一步:grok.com 账号关联
反复 403 之后,我去 grok.com 检查,发现 X Premium 订阅虽然存在,但 xAI 账号和 X 账号并没有关联。
操作步骤是:
- 在 grok.com 用 X 账号登录(手机上操作)
- 在账户设置里完成 X 账号关联
- 额外设置了邮箱 + 密码登录,方便之后在电脑上直接访问
做完这一步后,再次运行 OAuth 授权流程就成功了。
4. 最终可验证的操作路径
目前能确认有效的路径大致如下:
- 先在 grok.com 完成 X 账号与 xAI 账号的关联
- (可选)设置邮箱密码登录
- 在 Hermes 执行:
hermes auth add xai-oauth --no-browser - 手机端完成授权并把 code 喂回本地服务
- 设置模型:
hermes config set model.default grok-4.3 - 验证 API 是否可用
5. 花销与感受
整个过程大概花了半小时,使用 DeepSeek V4 Flash 作为代理模型,token 成本在一两块钱左右。
老实说,我到现在也不是特别确定到底是「账号关联」还是「重新走 OAuth」起了决定性作用。
6. 关键提醒
事后复盘,我认为最容易被忽略、也最可能是导致 403 的原因,就是必须先在 grok.com 完成 X 账号与 xAI 账号的关联。xAI 的公告只说了 X Premium 能用 OAuth,但没有明确提到这一步。如果你也卡在 403,建议优先检查这个。