自托管服务
chenyme/grok2api avatar
chenyme/grok2api

grok2api:把 Grok Build、Web 与 Console 统一成一套 OpenAI/Anthropic 兼容网关

适用于 Grok Build、Grok Web 和 Grok Console 的多帐户 API 网关。

7,654 个 Star2,297 个 ForkGoMIT
GitHub

秒懂

它是什么?
grok2api 是一个 Go 写的多账号 API 网关,把 Grok Build、Grok Web 与 Grok Console 三种账号池统一成 OpenAI 与 Anthropic 兼容接口。它适合需要管理多个 Grok 账号、做请求路由与配额控制的中小型团队,但上游依赖非官方渠道,稳定性需要自己验证。
适合谁用?
适合需要把多个 Grok 账号聚合到一个统一 API 入口的开发者或小团队,尤其是已经在用 OpenAI 或 Anthropic SDK、不想为每种账号类型写适配层的场景。不适合对上游稳定性要求极高、或需要官方 SLA 的生产环境,因为账号认证依赖 OAuth/SSO 这类非官方渠道,随时可能被 Grok 官方调整。
能商用吗?
可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库最近一次提交在 2 天前。
用什么语言写的?
主要是 Go(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月14日)和我们的分析,不构成法律意见。

开源项目深度解析

一个网关,三种 Grok 账号池

grok2api 解决的是一个很具体的痛点:Grok 的官方 API 并没有统一覆盖 Build、Web 与 Console 三种入口,而很多开发者手里的账号分散在三种服务里。这个项目用 Go 写了一个网关,把三种账号池独立管理,对外暴露 OpenAI 与 Anthropic 兼容的接口。也就是说,你原来用 OpenAI SDK 写的代码,改一下 base URL 和 key 就能请求 Grok 模型。它的目标用户很明确:手里有多个 Grok 账号、想在一个地方统一管理配额与路由的开发者,而不是需要完整企业级 AI 平台的团队。

路由与账号同步的机制

从 README 的架构图看,网关核心分两层。第一层是管理服务,负责账号、模型、密钥与设置的维护。第二层是账号同步,它周期性刷新凭证、配额与模型列表。每个 Provider 保持独立的账号状态,包括凭据、配额、健康状态、冷却时间、并发数。请求进来后,网关通过 Provider Registry 选择路由。一个值得注意的设计是,账号重试被限制在同一条路由内,不会跨 Provider 随机跳转。当多个路由聚合到同一个公开模型 ID 时,网关可能会选择另一条调度路径,这既是为了负载均衡,也意味着路由行为不是完全可预测的。

三种 Provider 的能力边界

Grok Build 使用 OAuth 或 Device OAuth 认证,模型按账号动态发现,支持 Responses、Chat、Messages,以及付费账号的视频功能。Grok Web 用 SSO,模型是内置的,按订阅层级过滤,支持图片生成、编辑与视频。Grok Console 也是 SSO,但它额外支持 TTS、STT 与 Realtime,而且 Responses 和 Chat 是无状态的。三种 Provider 的能力并不对齐,比如 Console 有无状态接口,Web 有图片编辑,Build 的模型列表是动态的。这意味着你不能假设所有账号都支持同样的功能,路由层需要根据账号类型做能力判断。

部署与配置的真实路径

项目提供 Docker 镜像,仓库里有 frontend/package.json 和 backend/go.mod,说明前端是 React 管理台,后端是 Go 服务。实际启动方式 README 没有给出具体命令,但根据仓库布局,你应该先构建后端二进制或拉取 ghcr.io 上的镜像,然后启动前端管理台。配置的核心是管理服务里的账号、模型与密钥,批量导入导出是文档明确提到的功能。网络层面,egress 支持 HTTP/SOCKS/Resin 代理,以及 Trojan/VLESS/Shadowsocks/VMess 隧道,还有订阅、探针、代理池与 FlareSolverr。这些配置项都在管理台的运行时设置里,不是写在环境变量里的。

代理与隧道的复杂度是双刃剑

egress 功能是 grok2api 最复杂也最危险的部分。它支持多种代理协议和隧道,还带 FlareSolverr 用于绕过反爬。这听起来强大,但实际运维成本很高。每种代理协议都要单独配置,探针和代理池的分配策略也需要调优。如果你的网络环境本身就能直连 Grok,这些功能就是多余的。反过来,如果你的网络需要代理,那么代理的稳定性直接决定网关的可用性,而代理池的故障转移逻辑在文档里没有详细说明。这是一个需要自己踩坑的领域。

会话、媒体与计费的边界

会话管理支持存储响应、压缩、提示缓存亲和性,以及可选的理由回放。媒体方面支持图片生成与编辑、视频任务、本地归档,输出可以是 URL、Base64 或 SSE。计费与审计是在请求完成之后才最终确定的,这意味着你不能依赖实时计费做流量控制。配额与并发守卫在路由层起作用,但客户端计费是后置的。对于需要精确控制成本的场景,这个设计可能不够及时。

替代方案与本质差异

最直接的替代方案是直接用 Grok 官方 API,但官方接口不覆盖 Web 与 Console 的能力,而且没有多账号聚合。另一个方向是像 APIMart 或 PackyCode 这样的商业 API 中继,它们提供 OpenAI/Anthropic 兼容接口,但由第三方托管,你不需要管理账号池。grok2api 与它们的本质区别在于:你自己持有账号、自己控制路由与代理,代价是你要承担账号被封或接口变更的风险。商业中继把稳定性外包出去,但你也失去了对底层账号的控制。

维护成本与许可证现实

项目最近更新频繁,v3.1.5 在 2026 年 8 月 25 日发布,说明维护活跃。但活跃维护也意味着接口可能经常变动,升级时需要注意兼容性。许可证是 MIT,商用没有限制,但 README 明确写了仅供技术研究,使用者需遵守 Grok 官方服务条款并承担后果。这是法律风险,不是技术风险。另外,项目本身没有独立的文档站,所有信息都在 README 里,很多细节比如具体配置项的格式并未展开。

编辑结论

适合需要把多个 Grok 账号聚合到一个统一 API 入口的开发者或小团队,尤其是已经在用 OpenAI 或 Anthropic SDK、不想为每种账号类型写适配层的场景。不适合对上游稳定性要求极高、或需要官方 SLA 的生产环境,因为账号认证依赖 OAuth/SSO 这类非官方渠道,随时可能被 Grok 官方调整。部署前先验证三件事:你的账号池能否通过批量导入正常同步配额与模型列表;代理池或隧道方案是否与你的网络环境匹配;以及 Grok 官方服务条款是否允许这种聚合使用。项目采用 MIT 许可证,商用没有额外限制,但 README 明确说明仅用于技术研究,使用者需自行承担合规风险。在投入生产前,先用少量账号跑通路由、限流与故障转移的完整链路。

官方来源

  1. Official README
  2. Project repository
  3. Release notes
社区笔记

社区笔记