2026-07-19 xAI OAuth Provider

xAI OAuth:用订阅登录 Grok,而不是绑死 API Key

订阅配额干活;Key 留给自动化。

导语

若你已为 Grok 订阅付费,@piex-dev/xai-oauth 让 pi 走同一套配额;API Key 通道仍留给自动化与按量场景。

问题背景

pi 内置 xai 走 API Key 按量计费。许多用户已有 SuperGrok / X Premium+ 订阅,却还要再开 Key。订阅模型目录会变,写死列表只能等发版。

@piex-dev/xai-oauth 用设备码 OAuth 登录,发现模型,与内置 xai 并存。

技术原理

RFC 8628 Device Flow:device_code → 浏览器确认 → 轮询 token → refresh。公开 API 与订阅代理双通道发现 /v1/models/reload 即可用新模型。

实现方案

xai-oauth.ts + models.ts;错误体截断、端点校验、token skew;PI_XAI_OAUTH_MODELS 过滤。piex 少数带单测的包。

设计参考

项目机制piex 取舍
oh-my-pi xai-oauthDevice Authorization Grant 完整流程;双 endpoint 模型发现;pi 标准 OAuth provider 注册采纳:OAuth 流程链路、client_id、端点校验、错误截断与 skew。不采纳:Bun 运行时细节(改 Node)
stnly/pi-grok模型发现:拉取 /v1/models + 合并进 provider 表借鉴:实时发现理念(/reload 即可),但发现实现与路由独立重写
pi 内置 xaiAPI Key 认证、固定模型集并存:同一实例可同时用内置 xai(Key/CI)+ xai-oauth(订阅/交互)

核心取舍:订阅 token 存 pi 标准存储(扩展层不落盘),模型发现 best-effort(失败回退),安全姿态「宁可少报不错报」。

优化计划

发现来源可观察;错误分类动作化;与 Key provider 区分更醒目;契约测试跟 xAI 变更。