ByteNoteByteNote
auth2api:轻量级 OAuth 转 API 代理,让 Claude Code 和 OpenAI 客户端共用你的账号

字节笔记本

2026年6月15日

auth2api:轻量级 OAuth 转 API 代理,让 Claude Code 和 OpenAI 客户端共用你的账号

API中转
¥120

本文介绍 auth2api,一个轻量级的 OAuth 转 API 代理工具,它能将你的 Claude、ChatGPT 或 Cursor 账号登录转化为标准的 API 接口,让 Claude Code 和 OpenAI 兼容客户端直接使用。

项目简介

auth2api 是一个开源的 OAuth-to-API 代理项目,由 0xAA 开发维护,使用 TypeScript 编写。截至目前,该项目在 GitHub 上已获得 490+ stars,主要解决一个实际问题:如何让 Claude Code 和 OpenAI 兼容客户端通过 OAuth 账号(而非 API Key)使用 Claude、ChatGPT 等大模型服务。

它的核心理念是"小而精"——你只需要提供自己的账号登录,运行一个本地或自托管代理,就能自动按模型名称路由到对应的上游服务。

核心特性

  • 多 Provider 支持 — 同时支持 Claude OAuth、ChatGPT Codex OAuth 和 Cursor 登录,每个 Provider 有独立的账号池、冷却和刷新机制
  • 多账号管理 — 每个 Provider 可加载多个 OAuth Token,支持粘性路由、自动故障转移和按账号用量追踪
  • OpenAI 兼容 API — 提供 /v1/chat/completions/v1/responses/v1/models 标准接口
  • Claude 原生透传 — 支持 /v1/messages/v1/messages/count_tokens,Claude Code 开箱即用
  • 流式响应与工具调用 — 支持 Streaming、Tools、图片和推理(Reasoning)等主流使用模式
  • 结构化 JSON 输出 — 支持 response_format(Chat API)和 text.format(Responses API)
  • 账号健康管理 — 冷却、重试、Token 刷新(带并发锁)和 /admin/accounts 快照
  • Cursor 独占模式 — 当只有 Cursor 账号时,所有模型名自动路由到 Cursor,无需前缀

技术栈

  • TypeScript — 主要开发语言,代码库小巧精悍
  • Node.js 20+ — 运行环境
  • OAuth 2.0 — 支持 Anthropic、OpenAI Codex 和 Cursor 的 OAuth 登录流程
  • SSE (Server-Sent Events) — 流式响应传输
  • Docker — 容器化部署支持

安装指南

前置要求

  • Node.js >= 20
  • 一个 Claude 账号(推荐 Claude Max 订阅)

安装步骤

bash
# 克隆仓库
git clone https://github.com/AmazingAng/auth2api
cd auth2api

# 安装依赖
npm install

# 构建项目
npm run build

登录认证

auth2api 支持三种上游 Provider:

bash
# Claude OAuth(默认)
node dist/index.js --login

# ChatGPT Codex(需要 ChatGPT Plus/Pro)
node dist/index.js --login --provider=codex

# Cursor(实验性)
node dist/index.js --login --provider=cursor

远程服务器使用 --manual 模式,浏览器打开 URL 授权后粘贴重定向地址即可。

快速开始

bash
# 启动服务
node dist/index.js

服务默认监听 http://127.0.0.1:8317,首次运行会自动生成 API Key 并保存到 config.yaml

使用示例

场景 1:OpenAI 兼容客户端

bash
curl http://127.0.0.1:8317/v1/chat/completions \
  -H "Authorization: Bearer <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "messages": [{"role": "user", "content": "你好!"}],
    "max_tokens": 1024
  }'

场景 2:Claude Code 集成

bash
ANTHROPIC_BASE_URL=http://127.0.0.1:8317 \
ANTHROPIC_API_KEY=<your-api-key> \
claude

Claude Code 使用原生 /v1/messages 端点,auth2api 直接透传,同时支持 Authorization: Bearerx-api-key 两种认证头。

场景 3:Docker 部署

bash
# 构建镜像
docker build -t auth2api .

# 运行容器
docker run -d \
  -p 8317:8317 \
  -v ~/.auth2api:/data \
  -v ./config.yaml:/config/config.yaml \
  auth2api

API 参考

端点列表

端点说明
POST /v1/chat/completionsOpenAI 兼容聊天
POST /v1/responsesOpenAI Responses API
POST /v1/messagesClaude 原生透传
POST /v1/messages/count_tokensToken 计数
GET /v1/models列出可用模型
GET /admin/accounts账号健康状态
GET /admin/stats请求统计
POST /admin/reload重新加载 Token
GET /health健康检查

配置项

参数默认值说明
host127.0.0.1绑定地址
port8317监听端口
body-limit200mb请求体大小限制
cloaking.cli-version2.1.88模拟的 Claude CLI 版本
debugoff调试日志级别

支持的模型

Anthropic 模型: claude-opus-4-7、claude-sonnet-4-6、claude-haiku-4-5

Codex 模型: gpt-5.5、gpt-5.4、gpt-5.4-mini、gpt-5.3-codex、gpt-5.2

Cursor 模型: cursor-claude-opus-4-7-medium、cursor-claude-sonnet-4-7-medium

快捷别名: opusclaude-opus-4-7sonnetclaude-sonnet-4-6haikuclaude-haiku-4-5

注意事项

  • Codex 使用限制:ChatGPT Codex Provider 转发的是你的 ChatGPT Plus/Pro 订阅配额,OpenAI 的 ToS 并不正式允许通过第三方工具转发 ChatGPT 会话,请仅用于个人本地使用
  • Cursor 实验性:Cursor Provider 基于逆向工程的非公开 API,可能在 Cursor 更新时失效,仅限本地实验
  • 多账号路由:请求使用粘性选择——同一账号持续使用直到触发冷却,失败时自动切换到下一个可用账号
  • 无需重启重认证:运行 --login 时服务正在运行,会自动通知运行中的服务器(通过 POST /admin/reload)加载新 Token

项目链接

分享: