AIClient-2-API
AIClient-2-API 是一款强大的代理工具,旨在将 Gemini CLI、Antigravity、Codex、Grok 和 Kiro 等仅支持特定客户端的大模型服务,统一封装为标准的 OpenAI API 接口。它通过模拟各类客户端的请求行为,让用户能够轻松连接原本难以直接调用的模型资源。
这一工具主要解决了大模型生态中接口标准不统一、部分优质模型缺乏通用 API 支持的痛点。开发者无需再为适配不同平台的私有协议而耗费精力,即可在一个统一的框架下调用多种模型。特别值得一提的是,它不仅支持每日数千次的 Gemini 模型请求,还允许用户免费使用 Kiro 内置的 Claude 模型,极大降低了测试与开发成本。
AIClient-2-API 非常适合 AI 应用开发者、研究人员以及需要快速集成多模型能力的技术团队。无论是构建聊天机器人、代码辅助工具,还是进行模型效果对比研究,它都能提供高效、稳定的后端支持。其基于 Node.js 开发,支持 Docker 部署,具备开箱即用的便利性,同时遵循 GPL v3 开源协议,社区活跃且文档完善。通过该工具,用户可以更专注于业务逻辑创新,而非繁琐的接口对接工作,从而显著提升 AI 开发效率。
使用场景
某初创团队正在开发一款智能代码助手,需要同时调用 Gemini、Grok 和 Kiro 等多个大模型来对比生成效果,但受限于各厂商独立的客户端协议和高昂的 API 成本。
没有 AIClient-2-API 时
- 开发效率低下:团队需为 Gemini CLI、Grok 等不同模型分别编写适配代码,维护多套差异巨大的请求逻辑,导致新功能上线缓慢。
- 资源成本高昂:直接调用官方接口费用昂贵,且无法利用 Kiro 内置的免费 Claude 模型额度,造成预算快速耗尽。
- 并发能力受限:单一渠道难以支撑每日数千次的测试请求,频繁触发限流,导致自动化测试流程经常中断。
- 集成复杂度高:现有开发框架主要基于 OpenAI 标准构建,接入非 OpenAI 体系的模型需要大量额外的转换工作。
使用 AIClient-2-API 后
- 统一开发接口:AIClient-2-API 将各类私有协议封装为标准的 OpenAI 兼容接口,团队只需维护一套代码即可无缝切换底层模型。
- 显著降低成本:通过模拟请求技术,团队成功调用了 Kiro 中免费的 Claude 模型,并实现了每日数千次低成本的 Gemini 请求,大幅节省开支。
- 提升系统稳定性:本地代理服务有效缓解了并发压力,支持高频次的自动化测试运行,确保了开发流程的连续性与稳定性。
- 快速灵活接入:借助现成的 API 封装,开发人员能在几分钟内将新模型接入现有系统,无需关注底层复杂的认证与协议细节。
AIClient-2-API 通过统一异构模型接口与优化资源调度,让多模型协同开发变得像调用单一服务一样简单高效。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明

快速开始
💎 赞助商
|
PackyCode是一家可靠高效的API中继服务提供商,为Claude Code、Codex、Gemini等提供中继服务。PackyCode为我们的软件用户提供特别折扣:通过此链接注册,并在充值时输入AIClient2API优惠码,即可享受10%折扣。 |
|
感谢AICodeMirror对本项目的赞助!AICodeMirror为Claude Code / Codex / Gemini CLI提供官方高稳定性中继服务,具备企业级并发能力、快速开票以及全天候专属技术支持。Claude Code / Codex / Gemini官方渠道价格分别仅为原价的38% / 2% / 9%,叠加充值额外折扣!AICodeMirror为AIClient-2-API用户推出特别福利:通过此链接注册,首次充值即可享受20%折扣,企业客户更可最高享受25%折扣! |
|
感谢LingtrueAPI对本项目的赞助!LingtrueAPI是一个全球性的大模型API中介服务平台,为Claude opus 4.6、GPT 5.4、Gemini 3.1 pro等多种模型提供API调用服务。它致力于让用户以低成本、高稳定性的方式接入全球AI能力,从而最大化生产效率。LingtrueAPI为本软件用户提供特别折扣:通过此链接注册,首次充值时输入LingtrueAPI优惠码,即可享受10%折扣。 |
|
Poixe AI提供可靠的LLM API服务。您可以通过该平台的API端点无缝构建AI驱动的产品。此外,您还可以作为供应商向平台提供AI API资源并获得收益。通过AIClient-2-API专属推荐链接注册,首次充值即可获得5美元奖励。 |
|
成为赞助商 如您希望赞助本项目,请扫描左侧的微信二维码(请注明意向:赞助)。 |
🚀 概述
AIClient2API 是一款 API 代理服务,突破客户端使用限制,将原本仅限于客户端使用的免费大模型(如 Gemini、Antigravity、Codex、Grok、Kiro)转换为标准的 OpenAI 兼容接口,可供任何应用程序调用。该服务基于 Node.js 构建,支持 OpenAI、Claude 和 Gemini 协议之间的智能转换,使 Cherry-Studio、NextChat 和 Cline 等工具能够大规模自由使用 Claude Opus 4.5、Gemini 3.0 Pro 和 Qwen3 Coder Plus 等先进模型。项目采用基于策略模式和适配器模式的模块化架构,内置账号池管理、智能轮询、自动故障转移和健康检查机制,确保 99.9% 的服务可用性。
[!NOTE] 🎉 重要里程碑
- 感谢阮一峰在 第359期周报 中的推荐
📅 版本更新日志
点击展开详细版本历史
- 2026.03.02 - 增加 Grok 协议支持,支持通过 Cookie/SSO 访问 xAI Grok 系列模型(Grok 3/4),支持多模态输入、图像/视频生成、自动刷新令牌及流式输出
- 2026.01.26 - 增加 Codex 协议支持:支持 OpenAI Codex 的 OAuth 授权访问
- 2026.01.25 - 增强 AI Monitor 插件:支持在 AI 协议转换前后监控请求参数和响应。优化日志管理:统一日志格式,提供可视化配置
- 2026.01.15 - 优化提供商池管理器:新增异步刷新队列机制、缓冲队列去重、全局并发控制、节点预热及自动过期检测
- 2026.01.03 - 增加主题切换功能,并优化提供商池初始化,移除使用提供商默认配置的回退策略
- 2025.12.30 - 增加主进程管理和自动更新功能
- 2025.12.25 - 统一日志配置管理:所有配置集中到
configs/目录。Docker 用户需更新挂载路径为-v "local_path:/app/configs"- 2025.12.11 - Docker Hub 上现已提供自动构建的 Docker 镜像:justlikemaki/aiclient-2-api
- 2025.11.30 - 增加 Antigravity 协议支持,可通过 Google 内部接口访问 Gemini 3 Pro、Claude Sonnet 4.5 等模型
- 2025.11.11 - 增加 Web UI 管理控制台,支持实时配置管理和健康状态监测
- 2025.11.06 - 增加对 Gemini 3 Preview 的支持,提升模型兼容性并优化性能
- 2025.10.18 - Kiro 开放注册,新账户可获得 500 积分,全面支持 Claude Sonnet 4.5
- 2025.09.01 - 集成 Qwen Code CLI,新增
qwen3-coder-plus模型支持- 2025.08.29 - 发布账号池管理功能,支持多账号轮询、智能故障转移及自动降级策略
- 配置:在
configs/config.json中添加PROVIDER_POOLS_FILE_PATH参数- 参考配置:provider_pools.json
- 发展历程
- 支持 Gemini CLI、Kiro 等 client2API
- OpenAI、Claude、Gemini 三协议互转,自动智能切换
💡 核心优势
🎯 统一接入,一站式管理
- 多模型统一接口:通过标准的 OpenAI 兼容协议,只需一次配置即可访问包括 Gemini、Claude、Grok、Codex、Kimi K2、MiniMax M2 在内的主流大模型。
- 灵活切换机制:支持通过启动参数或环境变量动态切换模型,满足不同场景需求。
- 零成本迁移:完全兼容 OpenAI API 规范,Cherry-Studio、NextChat、Cline 等工具无需修改即可使用。
- 多协议智能转换:支持 OpenAI、Claude 和 Gemini 协议之间的智能转换,实现跨协议模型调用。
🚀 突破限制,提升效率
- 绕过官方限制:利用 OAuth 授权机制,有效突破 Gemini、Antigravity 等服务的速率和配额限制。
- TLS 指纹绕过:内置 TLS Sidecar(Go uTLS),模拟浏览器特性,有效绕过 Cloudflare 对 Grok 等服务的 403 封锁。
- 免费使用高级模型:通过 Kiro API 模式免费使用 Claude Opus 4.5,通过 Qwen OAuth 模式使用 Qwen3 Coder Plus,降低使用成本。
- 智能账号池调度:支持多账号轮询、自动故障转移和配置降级,确保 99.9% 的服务可用性。
🛡️ 安全可控,数据透明
- 全链路日志记录:捕获所有请求和响应数据,支持审计和调试。
- 私有数据集构建:基于日志数据快速构建专有训练数据集。
- 系统提示词管理:支持覆盖和追加模式,实现统一基础指令与个性化扩展的完美结合。
🔧 开发者友好,易于扩展
- Web UI 管理控制台:实时配置管理、健康状态监测、API 测试和日志查看。
- 模块化架构:基于策略模式和适配器模式,新增模型提供商只需 3 步即可完成集成。
- 完善的测试覆盖:集成测试和单元测试覆盖率 90%+,确保代码质量。
- 容器化部署:提供 Docker 支持,一键部署,跨平台运行。
📑 快速导航
🔧 使用说明
🚀 快速入门
使用 AIClient-2-API 最推荐的方式是通过自动化脚本启动,并直接在 Web UI 控制台 中进行可视化配置。
🐳 Docker 快速入门(推荐)
docker run -d -p 3000:3000 -p 8085-8086:8085-8086 -p 1455:1455 -p 19876-19880:19876-19880 --restart=always -v "your_path:/app/configs" --name aiclient2api justlikemaki/aiclient-2-api
参数说明:
-d:在后台运行容器-p 3000:3000 ...:端口映射。3000 用于 Web UI,其他端口用于 OAuth 回调(Gemini:8085,Antigravity:8086,Codex:1455,Kiro:19876–19880)--restart=always:设置容器自动重启策略-v "your_path:/app/configs":挂载配置目录(将your_path替换为实际路径,例如/home/user/aiclient-configs)--name aiclient2api:指定容器名称
🐳 使用 Docker Compose 部署
你也可以使用 Docker Compose 进行部署。首先进入 docker 目录:
cd docker
mkdir -p configs
docker compose up -d
如果你想从源码构建而不是使用预构建的镜像,请编辑 docker-compose.yml 文件:
- 注释掉
image: justlikemaki/aiclient-2-api:latest这一行。 - 解除对
build:部分的注释。 - 执行
docker compose up -d --build。
1. 运行启动脚本
- Linux/macOS:
chmod +x install-and-run.sh && ./install-and-run.sh - Windows:双击
install-and-run.bat
💡 如果脚本执行失败,可以尝试手动安装依赖并启动:
npm install npm start
2. 访问控制台
服务器启动后,打开浏览器访问: 👉 http://localhost:3000
默认密码:
admin123(登录后可在控制台中更改,或通过修改pwd文件进行更改)
3. 可视化配置(推荐)
进入 “配置” 页面,你可以:
- ✅ 填写各提供商的 API Key 或上传 OAuth 凭证文件
- ✅ 实时切换默认模型提供商
- ✅ 监控健康状态和实时请求日志
4. 本地环境准备(非 Docker 用户)
如果你直接在本地机器上运行(通过脚本或 Node.js),并且需要绕过 Grok 等服务的 TLS 检测,请确保:
- ✅ 安装 Go 语言:前往 Go 官方网站 下载并安装(1.20 及以上版本)。
- ✅ 手动编译 Sidecar:执行以下命令编译 TLS 代理组件:
注意:如果未编译该二进制文件,TLS Sidecar 功能将无法启动,因为找不到可执行文件。cd tls-sidecar && go build -o tls-sidecar && cd ..
脚本执行示例
========================================
AI Client 2 API 快速安装脚本
========================================
[检查] 检查是否已安装 Node.js...
✅ Node.js 已安装,版本:v20.10.0
✅ 找到 package.json 文件
✅ node_modules 目录已存在
✅ 项目文件检查完成
========================================
启动 AI Client 2 API 服务器...
========================================
🌐 服务器将在 http://localhost:3000 启动
📖 请访问 http://localhost:3000 查看管理界面
⏹️ 按 Ctrl+C 可停止服务器
💡 提示:脚本会自动安装依赖并启动服务器。如果遇到任何问题,脚本会提供清晰的错误信息和解决方案建议。
📋 核心功能
Web UI 管理控制台

功能完善的 Web 管理界面,包括:
📊 仪表盘:系统概览、交互式路由示例、客户端配置指南
⚙️ 配置:实时修改参数,支持所有提供商(Gemini、Antigravity、OpenAI、Claude、Kiro、Qwen),包含高级设置和文件上传功能
🔗 提供商池:监控活跃连接、提供商健康统计、启用/禁用管理
📁 配置文件:集中式 OAuth 凭证管理,支持搜索筛选和文件操作
📜 实时日志:实时显示系统和请求日志,并提供管理控制
🔐 登录验证:默认密码为 admin123,可通过 pwd 文件修改
访问方式:http://localhost:3000 → 登录 → 侧边栏导航 → 配置立即生效
多模态输入能力
支持图片、文档等多种输入类型,为您提供更丰富的交互体验和更强大的应用场景。
最新模型支持
无缝支持以下最新大模型,只需在 Web UI 或 configs/config.json 中配置相应端点即可:
- Grok 3 / Grok 4 - xAI 的旗舰模型,现已通过 Grok Cookie/SSO 支持,支持思维模型、图像生成和视频生成
- Claude 4.5 Opus - Anthropic 史上最强模型,现已通过 Kiro、Antigravity 支持
- Gemini 3 Pro - Google 的下一代架构预览,现已通过 Gemini、Antigravity 支持
- Qwen3 Coder Plus - 阿里巴巴通义千问最新的代码专用模型,现已通过 Qwen Code 支持
- Kimi K2 / MiniMax M2 - 国内顶级旗舰模型同步支持,现已通过自定义 OpenAI、Claude 支持
🔐 授权配置指南
点击展开各提供商的详细授权配置步骤
💡 小贴士: 为获得最佳体验,建议通过 Web UI 控制台 进行可视化授权管理。
🌐 Web UI 快速授权(推荐)
在 Web UI 管理界面中,您可以快速完成授权配置:
- 生成授权:在 “提供商池” 页面或 “配置” 页面,点击相应提供商(如 Gemini、Qwen)右上角的 “生成授权” 按钮。
- 扫描/登录:会弹出授权对话框,您可以点击 “在浏览器中打开” 进行登录验证。对于 Qwen,只需完成网页登录;而对于 Gemini 和 Antigravity,则需完成 Google 账号授权。
- 自动保存:授权成功后,系统会自动获取凭据并将其保存到
configs/目录下的对应文件中。您可以在 “配置文件” 页面查看新生成的凭据。 - 可视化管理:您可以在 Web UI 中随时上传或删除凭据,也可以使用 “快速关联” 功能,一键将现有凭据文件绑定到提供商。
Gemini CLI OAuth 配置
- 获取 OAuth 凭据:访问 Google Cloud 控制台 创建项目并启用 Gemini API。
- 项目配置:您可能需要提供有效的 Google Cloud 项目 ID,可通过启动参数
--project-id指定。 - 确保项目 ID:在 Web UI 中配置时,请确保输入的项目 ID 与 Google Cloud 控制台和 Gemini CLI 中显示的项目 ID 一致。
Antigravity OAuth 配置
- 个人账号:个人账号需要单独授权,申请渠道已关闭。
- Pro 会员:Antigravity 目前暂时对 Pro 会员开放,您需要先购买 Pro 会员资格。
- 组织账号:组织账号需要单独授权,请联系管理员获取授权。
Qwen Code OAuth 配置
- 首次授权:配置 Qwen 服务后,系统会自动在浏览器中打开授权页面。
- 推荐参数:为获得最佳效果,建议使用官方默认参数:
{ "temperature": 0, "top_p": 1 }
Kiro API 配置
- 环境准备:下载并安装 Kiro 客户端。
- 完成授权:在客户端登录您的账户以生成
kiro-auth-token.json凭证文件。 - 最佳实践:建议与 Claude Code 搭配使用,以获得最佳体验。
- 重要提示:Kiro 服务的使用政策已更新,请访问官方网站了解最新的使用限制和条款。
Kiro 扩展思维(Claude 模型)
AIClient-2-API 在使用 Claude 兼容请求(/v1/messages)或 OpenAI 兼容请求(/v1/chat/completions)并路由至 claude-kiro-oauth 时,支持 Kiro 扩展思维功能。
Claude 兼容(/v1/messages):
curl http://localhost:3000/claude-kiro-oauth/v1/messages \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-api-key" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"thinking": { "type": "enabled", "budget_tokens": 10000 },
"messages": [{ "role": "user", "content": "请逐步解答。" }]
}'
OpenAI 兼容(/v1/chat/completions):
curl http://localhost:3000/claude-kiro-oauth/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-api-key" \
-d '{
"model": "claude-sonnet-4-5",
"messages": [{ "role": "user", "content": "请逐步解答。" }],
"extra_body": {
"anthropic": {
"thinking": { "type": "enabled", "budget_tokens": 10000 }
}
}
}'
自适应模式:
- Claude:
"thinking": { "type": "adaptive", "effort": "high" } - OpenAI:
"extra_body.anthropic.thinking": { "type": "adaptive", "effort": "high" }
注意事项:
budget_tokens的取值范围被限制为[1024, 24576](若未指定或无效,则默认为20000)。- 令牌的获取、刷新及池内轮换机制保持不变。
Codex OAuth 配置
- 生成授权:在 Web UI 的“提供商池”或“配置”页面,点击 Codex 的“生成授权”按钮。
- 浏览器登录:系统会打开 OpenAI Codex 的授权页面,供您完成 OAuth 登录。
- 自动保存:授权成功后,系统会自动保存 Codex 的 OAuth 凭证文件。
- 回调端口:请确保 OAuth 回调端口
1455未被占用。
Grok Cookie/SSO 配置
- 获取 SSO 令牌:登录 Grok 官方网站 后,在浏览器开发者工具的 Application -> Cookies 中复制
sso的值。 - 进入配置:在 Web UI 的“配置”页面或直接修改配置文件,将该令牌填入
GROK_COOKIE_TOKEN。 - 支持的功能:
- 聊天和思维模型(Grok 3 Thinking)
- 图像生成(Grok Imagine)
- 视频生成(Grok Video)
- 注意事项:请确保
GROK_USER_AGENT与获取 Cookie 时使用的浏览器一致,以免被封禁。
账户池管理配置
- 创建池配置文件:参照 provider_pools.json.example 创建配置文件。
- 配置池参数:在
configs/config.json中设置PROVIDER_POOLS_FILE_PATH,使其指向池配置文件。 - 启动参数配置:使用
--provider-pools-file <路径>参数指定池配置文件的路径。 - 健康检查:系统会自动进行定期健康检查,并避免使用不健康的提供商。
📁 授权文件存储路径
点击展开各服务的默认授权凭证存储位置
各服务授权凭证文件的默认存储位置:
| 服务 | 默认路径 | 说明 |
|---|---|---|
| Gemini | ~/.gemini/oauth_creds.json |
OAuth 认证凭证 |
| Kiro | ~/.aws/sso/cache/kiro-auth-token.json |
Kiro 认证令牌 |
| Qwen | ~/.qwen/oauth_creds.json |
Qwen OAuth 凭证 |
| Antigravity | ~/.antigravity/oauth_creds.json |
Antigravity OAuth 凭证(支持 Claude 4.5 Opus) |
| Codex | ~/.codex/oauth_creds.json |
Codex OAuth 凭证 |
注意:
~表示用户主目录(Windows:C:\Users\用户名, Linux/macOS:/home/用户名或/Users/用户名)
自定义路径: 可通过配置文件中的相关参数或环境变量指定自定义存储位置
高级配置
点击展开代理配置、模型过滤及回退的高级设置
1. 接入代理配置
本项目支持灵活的代理配置,既可为不同提供商统一配置代理,也可使用各提供商专用的代理端点。
配置方式:
Web UI 配置(推荐):便捷的配置管理
在 Web UI 的“配置”页面中,您可以直观地配置所有代理选项:
- 统一代理:在“代理设置”区域填写代理地址,并勾选需要使用该代理的提供商
- 提供商端点:在每个提供商的配置区域,直接将 Base URL 修改为代理后的端点
- 点击“保存配置”:无需重启服务即可立即生效
统一代理配置:配置全局代理并指定哪些提供商使用该代理
- Web UI 配置:在“配置”页面的“代理设置”区域填写代理地址,并勾选需要使用代理的提供商
- 配置文件:在
configs/config.json中配置
{ "PROXY_URL": "http://127.0.0.1:7890", "PROXY_ENABLED_PROVIDERS": [ "gemini-cli-oauth", "gemini-antigravity", "claude-kiro-oauth", "grok-custom" ] }提供商专用代理端点:部分提供商(如 OpenAI、Claude)支持配置代理后的 API 端点
- Web UI 配置:在“配置”页面的各提供商配置区域,修改对应的 Base URL
- 配置文件:在
configs/config.json中配置
{ "OPENAI_BASE_URL": "https://your-proxy-endpoint.com/v1", "CLAUDE_BASE_URL": "https://your-proxy-endpoint.com" }
支持的代理类型:
- HTTP 代理:
http://127.0.0.1:7890 - HTTPS 代理:
https://127.0.0.1:7890 - SOCKS5 代理:
socks5://127.0.0.1:1080
使用场景:
- 网络受限环境:适用于无法直接访问 Google、OpenAI 等服务的网络环境
- 混合配置:部分提供商使用统一代理,另一些则使用各自的代理端点
- 灵活切换:可在 Web UI 中随时启用或禁用特定提供商的代理
注意事项:
- 代理配置优先级:统一代理配置 > 提供商专用端点 > 直连
- 请确保代理服务稳定可用,否则可能影响服务质量
- SOCKS5 代理通常比 HTTP 代理性能更好
2. 模型过滤配置
支持通过 notSupportedModels 配置排除不支持的模型,系统会自动跳过这些提供商。
配置:在 configs/provider_pools.json 中为提供商添加 notSupportedModels 字段:
{
"gemini-cli-oauth": [
{
"uuid": "provider-1",
"notSupportedModels": ["gemini-3.0-pro", "gemini-3.5-flash"],
"checkHealth": true
}
]
}
工作原理:
- 当请求特定模型时,系统会自动过滤掉已配置为不支持该模型的提供商
- 只有支持该模型的提供商才会被选中来处理请求
使用场景:
- 某些账号因配额或权限限制而无法访问特定模型
- 需要为不同账号分配不同的模型访问权限
3. 跨类型回退配置
当某个提供商类型(如 gemini-cli-oauth)下的所有账号因 429 配额限制或被标记为不健康而耗尽时,系统可以自动回退到另一个兼容的提供商类型(如 gemini-antigravity),而不是直接返回错误。
配置:在 configs/config.json 中添加 providerFallbackChain 配置:
{
"providerFallbackChain": {
"gemini-cli-oauth": ["gemini-antigravity"],
"gemini-antigravity": ["gemini-cli-oauth"],
"claude-kiro-oauth": ["claude-custom"],
"claude-custom": ["claude-kiro-oauth"]
}
}
工作原理:
- 尝试从主要提供商类型的池中选择一个健康的账号
- 如果该类型的全部账号都不健康或返回 429 错误:
- 查找配置的回退类型
- 检查回退类型是否支持请求的模型(协议兼容性检查)
- 从回退类型的池中选择一个健康的账号
- 支持多级降级链:
gemini-cli-oauth → gemini-antigravity → openai-custom - 仅当所有回退类型也都不可用时,才会返回错误
使用场景:
- 在批量任务场景中,单个提供商类型的免费 RPD 配额很容易在短时间内耗尽
- 通过跨类型回退,可以充分利用多个提供商的独立配额,提高整体可用性和吞吐量
注意事项:
- 回退仅发生在协议兼容的类型之间(如
gemini-*之间、claude-*之间) - 系统会自动检查目标提供商类型是否支持请求的模型
4. TLS Sidecar(绕过 403/Cloudflare)
对于像 Grok 这样严格验证 TLS 指纹(JA3/JA4)的服务,本项目集成了基于 Go uTLS 的 Sidecar 代理,通过模拟浏览器的 TLS 特性,有效解决 403 Forbidden 错误。
配置说明:
编译二进制文件: 由于 TLS 模拟需要 Go 语言支持,您需要先编译 Sidecar:
cd tls-sidecar go build -o tls-sidecarWindows 用户编译后,请确保生成的
tls-sidecar.exe位于tls-sidecar/或根目录下。启用配置: 在 Web UI 的“配置”页面中启用 TLS Sidecar,或修改
configs/config.json:{ "TLS_SIDECAR_ENABLED": true, "TLS_SIDECAR_PORT": 9090 }工作原理:
- 启用后,系统会自动启动并管理 Go 进程。
- 对特定提供商(如 Grok)的请求会自动路由到 Sidecar。
- Sidecar 使用最新的 Chrome 指纹进行 TLS 握手,并支持自动 HTTP/2 协商。
注意事项:
- 本地运行需要 Go 环境(1.20 及以上版本)。
- Docker 用户:镜像中已包含预编译的二进制文件,只需在配置中启用即可,无需手动编译。
❓ 常见问题解答
点击展开常见问题及解决方案(端口占用、Docker 启动、429 错误等)
1. OAuth 授权失败
问题描述:点击“生成授权”后,浏览器会打开授权页面,但授权失败或无法完成。
解决方案:
- 检查网络连接:确保可以正常访问 Google、阿里云等服务。
- 检查端口占用:OAuth 回调需要特定端口(Gemini:8085,Antigravity:8086,Codex:1455,Kiro:19876-19880),请确保这些端口未被占用。
- 清除浏览器缓存:尝试使用无痕模式或清除浏览器缓存后重试。
- 检查防火墙设置:确保防火墙允许访问本地回调端口。
- Docker 用户:确保所有 OAuth 回调端口已正确映射。
2. 端口已被占用
问题描述:启动服务时提示端口已被占用(例如 EADDRINUSE)。
解决方案:
# Windows - 查找占用端口的进程
netstat -ano | findstr :3000
# 然后使用任务管理器结束对应的 PID 进程
# Linux/macOS - 查找并结束占用端口的进程
lsof -i :3000
kill -9 <PID>
或者修改 configs/config.json 中的端口配置,使用其他端口。
3. Docker 容器无法启动
问题描述:Docker 容器无法启动或立即退出。
解决方案:
- 查看日志:运行
docker logs aiclient2api查看错误信息。 - 检查挂载路径:确保
-v参数中的本地路径存在且具有读写权限。 - 检查端口冲突:确保主机上所有映射的端口未被占用。
- 重新拉取镜像:运行
docker pull justlikemaki/aiclient-2-api:latest。
4. 凭证文件无法识别
问题描述:上传或配置凭证文件后,系统提示无法识别或格式错误。
解决方案:
- 检查文件格式:确保凭证文件为有效的 JSON 格式。
- 检查文件路径:确保文件路径正确,Docker 用户需确认文件位于挂载目录中。
- 检查文件权限:确保服务有权限读取该凭证文件。
- 重新生成凭证:若凭证已过期,可尝试通过 OAuth 重新授权。
5. 请求返回 429 错误
问题描述:API 请求频繁返回 429 Too Many Requests 错误。
解决方案:
- 配置账号池:在
provider_pools.json中添加多个账号,启用轮询机制。 - 配置回退机制:在
config.json中配置providerFallbackChain实现跨类型降级。 - 降低请求频率:适当增加请求间隔,避免触发限流。
- 等待配额重置:免费配额通常每日或每分钟重置。
6. 模型不可用或返回错误
问题描述:请求特定模型时,返回错误或提示模型不可用。
解决方案:
- 检查模型名称:确保使用的模型名称正确(区分大小写)。
- 检查提供商支持:确认当前配置的提供商是否支持该模型。
- 检查账号权限:部分高级模型可能需要特定的账号权限。
- 配置模型过滤:使用
notSupportedModels排除不支持的模型。
7. Web UI 无法访问
问题描述:浏览器无法打开 http://localhost:3000。
解决方案:
- 检查服务状态:确认服务已成功启动,查看终端输出。
- 检查端口映射:Docker 用户需确保
-p 3000:3000参数正确。 - 尝试其他地址:尝试访问
http://127.0.0.1:3000。 - 检查防火墙:确保防火墙允许访问 3000 端口。
8. 流式响应中断
问题描述:使用流式输出时,响应中途中断或不完整。
解决方案:
- 检查网络稳定性:确保网络连接稳定。
- 增加超时时间:在客户端配置中增加请求超时时间。
- 检查代理设置:若使用代理,确保代理支持长连接。
- 查看服务日志:检查是否有错误信息。
9. 配置更改未生效
问题描述:在 Web UI 中修改配置后,服务行为未发生变化。
解决方案:
- 刷新页面:修改后刷新 Web UI 页面。
- 检查保存状态:确认配置已成功保存(查看提示信息)。
- 重启服务:部分配置可能需要重启服务才能生效。
- 检查配置文件:直接查看
configs/config.json,确认更改是否已写入。
10. API 返回 404
解决方案:
- 检查端点路径:确保使用正确的端点路径,如
/v1/chat/completions等。 - 检查客户端自动补全:某些客户端(如 Cherry-Studio、NextChat)会在 Base URL 后自动追加路径(如
/v1/chat/completions),导致路径重复。请在控制台中查看实际请求 URL,并移除多余的路径部分。 - 检查服务状态:确认服务已正常启动,访问
http://localhost:3000查看 Web UI。 - 检查端口配置:确保请求发送到正确的端口(默认 3000)。
- 查看可用路由:在 Web UI 仪表盘页面的“交互式路由示例”中查看所有可用端点。
11. 未授权:API 密钥无效或缺失
问题描述:调用 API 端点时,返回 Unauthorized: API key is invalid or missing. 错误。
解决方案:
- 检查 API 密钥配置:确保在
configs/config.json或 Web UI 中正确配置了 API 密钥。 - 检查请求头格式:确保请求包含正确的 Authorization 头格式,例如
Authorization: Bearer your-api-key。 - 检查服务日志:在 Web UI 的“实时日志”页面查看详细错误信息,以定位具体原因。
12. 该类型无可用且健康的提供商
问题描述:调用 API 时,返回 No available and healthy providers for type xxx 错误。
解决方案:
- 检查提供商状态:在 Web UI 的“提供商池”页面中,检查相应类型的提供商是否处于健康状态。
- 检查凭证有效性:确认 OAuth 凭证未过期;若过期,请重新生成授权。
- 检查配额限制:部分提供商可能已达到免费配额上限,需等待配额重置或添加更多账号。
- 启用回退机制:在
config.json中配置providerFallbackChain,以便在主提供商不可用时自动切换到备用提供商。 - 查看详细日志:在 Web UI 的“实时日志”页面中查看具体的健康检查失败原因。
13. 请求返回403 Forbidden错误
问题描述:API请求返回403 Forbidden错误。
解决方案:
- 启用TLS Sidecar:对于Grok等服务,403错误通常是由于TLS指纹拦截导致的。请参考高级配置 - TLS Sidecar来启用并编译Sidecar。
- 检查节点状态:如果在Web UI的“Provider Pools”页面上看到节点状态正常(健康检查通过),则可以忽略此错误,系统会自动处理。
- 检查账户权限:确认账户是否有权限访问所请求的模型或服务。
- 检查API密钥权限:某些提供商的API密钥可能存在访问范围限制;请确保该密钥具有足够的权限。
- 检查区域限制:部分服务可能有区域访问限制;可尝试使用代理或VPN。
- 检查凭证状态:OAuth凭证可能已被撤销或过期;可尝试重新生成授权。
- 检查请求频率:部分提供商对请求频率有严格限制;请降低请求频率后重试。
- 查看提供商文档:访问相应提供商的官方文档,了解具体的访问限制和要求。
📄 开源许可证
本项目遵循GNU通用公共许可证v3 (GPLv3)协议。详情请参阅根目录下的LICENSE文件。
🙏 致谢
本项目的开发深受Google Gemini官方CLI的启发,并参考了Cline 3.18.0版本中gemini-cli.ts的部分代码实现。在此向Google官方团队和Cline开发团队致以诚挚的感谢,感谢他们出色的工作!
贡献者名单
感谢所有为AIClient-2-API项目做出贡献的开发者:
🌟 星标历史
⚠️ 免责声明
使用风险提示
本项目(AIClient-2-API)仅用于学习和研究目的。用户在使用本项目时需自行承担所有风险。作者不对因使用本项目而导致的任何直接、间接或附带损失承担责任。
第三方服务责任声明
本项目仅为API代理工具,并不提供任何AI模型服务。所有AI模型服务均由其各自的第三方提供商(如Google、OpenAI、Anthropic等)提供。用户通过本项目访问这些服务时,应遵守各第三方服务的使用条款及政策。作者对第三方服务的可用性、质量、安全性或合法性不承担任何责任。
数据隐私声明
本项目在本地运行,不会收集或上传任何用户数据。然而,用户在使用本项目时仍需妥善保护自己的API密钥及其他敏感信息。建议用户定期检查并更新API密钥,同时避免在不安全的网络环境中使用本项目。
法律合规提醒
用户在使用本项目时应遵守所在国家或地区的法律法规。严禁将本项目用于任何非法目的。因用户违反法律法规而产生的任何后果,均由用户自行承担。
版本历史
v2.12.82026/04/07v2.12.72026/04/06v2.12.62026/04/06v2.12.52026/04/05v2.12.22026/03/30v2.12.12026/03/29v2.12.02026/03/28v2.11.92026/03/28v2.11.82026/03/28v2.11.72026/03/20v2.11.62026/03/20v2.11.5.22026/03/16v2.11.5.12026/03/16v2.11.52026/03/16v2.11.4.22026/03/13v2.11.4.12026/03/12v2.11.42026/03/12v2.11.32026/03/12v2.11.22026/03/11v2.11.12026/03/09常见问题
相似工具推荐
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。


