跳到主要内容
项目档案应用项目

auth2api 完整指南:轻量级 Claude OAuth 转 OpenAI API 代理的原理、部署步骤与客户端调用方法

auth2api 是一个轻量级 Node.js 代理,将 Claude OAuth 登录态转换为 OpenAI 兼容的本地 API。支持流式、工具调用、图片输入,适用于 Claude Code 和各类 OpenAI 客户端。本文介绍项目定位、安装方式、配置选项及使用示例。

576TypeScriptStar 于 2026年4月9日2026年9月20日 更新

AI 总结

auth2api 是一个轻量级单账号代理,将 Claude OAuth 登录态转换为 OpenAI 兼容的本地 API 端点,支持流式、工具调用和多模态输入,专为简洁易改而设计。

中文项目介绍

auth2api 是一个轻量级的 Node.js 代理服务,旨在将单个 Claude OAuth 账号的网页登录态转换为标准的 OpenAI 兼容 API 接口。它不追求多提供商支持或复杂路由,而是专注于提供一个体积小、逻辑清晰、易于部署和定制的解决方案。 该项目解决了 Claude 官方 API 需要单独密钥且可能受限的问题,允许用户利用已有的 Claude OAuth 账号(如 Claude Max 订阅)在本地搭建代理,从而在任何支持 OpenAI 协议的客户端中直接调用 Claude 模型,无需申请官方 API 密钥,显著降低了使用门槛。 适用场景包括:在现有支持 OpenAI 协议的工具中集成 Claude;为团队自建简单的 Claude API 网关;配置 Claude Code 使用本地代理;在自动化脚本中利用流式输出、工具调用或图片输入能力;以及学习 Claude API 调用机制。 技术特征上,项目基于 Node.js 20+ 和 Express 构建,支持 /v1/chat/completions、/v1/responses、/v1/models 等 OpenAI 端点以及 /v1/messages 等 Claude 原生端点。具备单账号健康管理(冷却、重试、令牌刷新)、可配置超时与请求体限制、timing-safe API 密钥验证、每 IP 限流等安全特性。通过 config.yaml 可灵活调整端口、API 密钥、调试级别等参数。

详细信息与使用说明

1. 项目定位与用途

auth2api 是一个轻量级单账号 Claude OAuth 转 API 代理,设计目标是体积小、逻辑单一、易于理解和修改。它不试图成为多提供商网关或大型路由平台,而是专注于将一个 Claude OAuth 登录账号转换为可编程的本地 API 端点,使开发者能在标准 OpenAI 协议客户端中调用 Claude 服务。项目采用 TypeScript 编写,基于 Express 框架,代码结构清晰,适合自托管和二次开发。

2. 解决的问题

Claude 的官方 API 需要单独的访问密钥,且可能受到区域或订阅限制;而网页版 OAuth 登录态无法直接用于程序化调用。auth2api 桥接了这一 gap:利用用户已有的 Claude 账号 OAuth 令牌,在本地搭建一个代理服务,将 OpenAI 格式的请求转换为 Claude API 调用,并将响应回传。这避免了申请官方 API 密钥的麻烦,也降低了在非官方客户端中使用 Claude 的门槛。

3. 适用场景

主要适用于:1) 开发者希望在现有支持 OpenAI 协议的工具(如 LangChain、LlamaIndex 等)中集成 Claude 模型;2) 团队需要自建一个简单的 Claude API 网关,统一管理访问权限;3) Claude Code 用户希望配置本地代理以增强控制或日志;4) 自动化场景需要流式输出、工具调用或多模态输入(图片)能力;5) 学习和研究 Claude API 调用机制,无需复杂基础设施。

4. 安装方式

环境要求 Node.js 20 或更高版本。安装步骤:1) 克隆仓库:git clone https://github.com/AmazingAng/auth2api;2) 进入目录并安装依赖:cd auth2api && npm install;3) 编译 TypeScript 代码:npm run build。完成后可执行文件位于 dist/index.js。此外,项目提供 Dockerfile 和 docker-compose.yml,也可通过容器化部署。仓库中未明确给出其他包管理器的安装命令。

5. 使用方式

首次使用需完成 OAuth 登录:自动模式(本地浏览器)运行 node dist/index.js --login;或手动模式(远程服务器)运行 node dist/index.js --login --manual,按提示复制回调 URL。登录后,启动服务:node dist/index.js,默认监听 http://127.0.0.1:8317。首次启动会自动生成 API 密钥并保存至 config.yaml。客户端调用时在请求头携带 Authorization: Bearer <api-key> 或 x-api-key,即可访问 /v1/chat/completions 等端点。模型 ID 支持 claude-opus-4-6、claude-sonnet-4-6 等及别名。

6. 实现特点与配置

项目采用单账号架构,简化状态管理与冷却处理。核心模块包括:认证(OAuth 流程、PKCE、令牌存储)、账号管理(令牌刷新、健康状态)、请求处理(OpenAI/Anthropic 端点转换)、上游调用(构造 Claude Code 风格请求头、会话 ID 管理、流式传输)、服务器(Express 中间件链:JSON 解析、调试日志、CORS、IP 限流、API 密钥认证)。配置通过 config.yaml 调整,可设置监听地址、端口、API 密钥列表、请求体上限、超时时间、调试级别、cloaking 参数等。默认开启本地 CORS 和 timing-safe 密钥验证,提供基本安全保障。

思维导图

auth2api
认证与授权
OAuth 流程
PKCE 实现
令牌存储
账号管理
状态监控
健康检查
请求处理
OpenAI 兼容
Claude 原生
上游通信
Anthropic API 调用
流式传输
请求转换
服务器核心
Express 中间件
路由注册
配置与工具
配置文件
HTTP 工具
通用函数

常见问题

auth2api 是否需要 Claude 官方 API 密钥?

不需要。auth2api 使用 Claude 网页版的 OAuth 登录态,通过本地代理转发请求,无需申请官方 API 密钥。

支持哪些 Claude 模型?

支持 Claude Opus 4.6、Claude Sonnet 4.6、Claude Haiku 4.5 等模型,并提供 opus、sonnet、haiku 等别名。

如何保护代理的安全?

通过 config.yaml 配置 API 密钥,客户端请求需携带有效密钥;默认仅允许 localhost 的浏览器 CORS,并启用 timing-safe 的密钥验证和每 IP 限流。

是否支持流式响应?

支持。上游流式请求默认超时 10 分钟,可通过配置调整,适用于 Claude Code 等长任务场景。

能否在远程服务器上部署?

可以。使用手动登录模式(--login --manual)获取 OAuth 令牌后,即可在远程服务器启动服务;注意配置防火墙和网络访问权限。