1. 项目定位与用途
auth2api 是一个轻量级单账号 Claude OAuth 转 API 代理,设计目标是体积小、逻辑单一、易于理解和修改。它不试图成为多提供商网关或大型路由平台,而是专注于将一个 Claude OAuth 登录账号转换为可编程的本地 API 端点,使开发者能在标准 OpenAI 协议客户端中调用 Claude 服务。项目采用 TypeScript 编写,基于 Express 框架,代码结构清晰,适合自托管和二次开发。
auth2api 是一个轻量级 Node.js 代理,将 Claude OAuth 登录态转换为 OpenAI 兼容的本地 API。支持流式、工具调用、图片输入,适用于 Claude Code 和各类 OpenAI 客户端。本文介绍项目定位、安装方式、配置选项及使用示例。
auth2api 是一个轻量级单账号代理,将 Claude OAuth 登录态转换为 OpenAI 兼容的本地 API 端点,支持流式、工具调用和多模态输入,专为简洁易改而设计。
auth2api 是一个轻量级单账号 Claude OAuth 转 API 代理,设计目标是体积小、逻辑单一、易于理解和修改。它不试图成为多提供商网关或大型路由平台,而是专注于将一个 Claude OAuth 登录账号转换为可编程的本地 API 端点,使开发者能在标准 OpenAI 协议客户端中调用 Claude 服务。项目采用 TypeScript 编写,基于 Express 框架,代码结构清晰,适合自托管和二次开发。
Claude 的官方 API 需要单独的访问密钥,且可能受到区域或订阅限制;而网页版 OAuth 登录态无法直接用于程序化调用。auth2api 桥接了这一 gap:利用用户已有的 Claude 账号 OAuth 令牌,在本地搭建一个代理服务,将 OpenAI 格式的请求转换为 Claude API 调用,并将响应回传。这避免了申请官方 API 密钥的麻烦,也降低了在非官方客户端中使用 Claude 的门槛。
主要适用于:1) 开发者希望在现有支持 OpenAI 协议的工具(如 LangChain、LlamaIndex 等)中集成 Claude 模型;2) 团队需要自建一个简单的 Claude API 网关,统一管理访问权限;3) Claude Code 用户希望配置本地代理以增强控制或日志;4) 自动化场景需要流式输出、工具调用或多模态输入(图片)能力;5) 学习和研究 Claude API 调用机制,无需复杂基础设施。
环境要求 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,也可通过容器化部署。仓库中未明确给出其他包管理器的安装命令。
首次使用需完成 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 等及别名。
项目采用单账号架构,简化状态管理与冷却处理。核心模块包括:认证(OAuth 流程、PKCE、令牌存储)、账号管理(令牌刷新、健康状态)、请求处理(OpenAI/Anthropic 端点转换)、上游调用(构造 Claude Code 风格请求头、会话 ID 管理、流式传输)、服务器(Express 中间件链:JSON 解析、调试日志、CORS、IP 限流、API 密钥认证)。配置通过 config.yaml 调整,可设置监听地址、端口、API 密钥列表、请求体上限、超时时间、调试级别、cloaking 参数等。默认开启本地 CORS 和 timing-safe 密钥验证,提供基本安全保障。
不需要。auth2api 使用 Claude 网页版的 OAuth 登录态,通过本地代理转发请求,无需申请官方 API 密钥。
支持 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 令牌后,即可在远程服务器启动服务;注意配置防火墙和网络访问权限。