AIClient2API
将 Gemini CLI、Kiro、Codex 等客户端专属 API 统一封装为 OpenAI 兼容接口,一条命令实现多模型免费调用
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
将 Gemini CLI、Kiro、Codex 等客户端专属 API 统一封装为 OpenAI 兼容接口,一条命令实现多模型免费调用
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2025年的某个深夜,你正在调试一个需要调用多模态大模型的项目。OpenAI 的 GPT-4o 贵得离谱,Anthropic 的 Claude 申请流程繁琐,Google Gemini 虽然免费但仅限官方客户端使用。你在各个平台之间疲于切换 API Key,充值、验证、被风控……一个简单的"给图片写描述"需求,变成了折腾一晚上的噩梦。
如果有一个工具,能让你用本地统一的 OpenAI 接口,调用这些原本互不兼容的大模型——无论是 Gemini CLI、Kiro、Codex 还是 Grok——那会是怎样的体验?
AIClient2API(简称 A2) 正是来解决这个问题的。
大模型厂商的产品策略有个有趣的规律:免费模型往往只在自己的客户端里可用——Gemini CLI、Kiro 等都是如此。用户想白嫖这些免费额度,就必须下载特定客户端、注册特定账号,体验割裂。
A2 的开发者 justlovemaki 敏锐地捕捉到了这个痛点。通过拦截和模拟这些客户端的请求,A2 将原本封闭的大模型接口"解锁",统一封装为 OpenAI 兼容格式,让任何能发送 HTTP 请求的工具都能接入。
这个思路本质上是"API 中转层"的升级版:不仅是转发请求,还包含了模型模拟(model emulation)、协议转换(protocol translation)和请求配额管理。
A2 基于 Node.js(v20+) 构建,核心架构分为三层:
接入层(Converters): 负责识别和模拟不同客户端的请求格式。当前支持的模型包括:
每个 Converter 实际上是一个 HTTP 请求拦截/重放模块,将原始请求翻译为 OpenAI API 格式,同时处理身份验证(auth)、请求签名和 token 计数等细节。
服务层(Services):
api-server.js:核心 API 服务器,监听端口并将请求路由到对应 Converterapi-manager.js:管理 API 路由和模型映射usage-service.js:用量统计和配额管理ui-manager.js:Web UI 管理存储层(Utils):
config-manager.js:配置文件读写(支持 configs/config.json)plugin-manager.js:插件系统管理A2 提供了一个功能完整的 Web 管理界面(基于原生 HTML/CSS/JS,无框架依赖),包含以下模块:
| 模块 | 功能 |
|---|---|
| Dashboard | 用量统计、API Key 管理 |
| Playground | 在线 API 测试 |
| Providers | 多渠道 API 配置 |
| Plugins | 插件管理 |
| Config | 配置文件上传与编辑 |
| Usage | 调用量分析与配额监控 |
| Logs | 请求日志查看 |
整个 Web UI 采用了模块化设计,各组件按需加载,启动速度极快。
A2 提供了多阶段构建 Dockerfile:
# Stage 1: 构建 Go TLS sidecar(用于 HTTPS 代理)
FROM golang:1.22-alpine AS sidecar-builder
# Stage 2: Node.js 应用
FROM node:20-alpine
同时提供三个 docker-compose 文件:
docker-compose.yml(推荐):直接拉取预构建镜像,Docker Hub 下载量超 10 万次docker-compose.build.yml:本地构建镜像docker-compose.dev.yml:开发模式,源代码热重载一键启动:
docker compose -f docker/docker-compose.yml up -d
容器暴露端口:3000(API)、8085-8087(管理)、19876-19880(多渠道)。
A2 的 package.json 包含了经过生产验证的依赖:
openai ^6.36.0 + ai ^6.0.175:OpenAI 协议兼容google-auth-library ^10.1.0:Google 认证axios ^1.14.0:HTTP 客户端undici ^7.12.0:高性能 Node.js HTTP 客户端(需要 Node.js ≥20.18.1)ws ^8.19.0:WebSocket 支持multer ^2.0.2:文件上传socks-proxy-agent:SOCKS 代理支持DevDependencies 中有完整的 Jest 测试套件,支持单元测试、集成测试和覆盖率报告。
代码安全方面,src/core/security-hardening.js 和 plugin-security.js 提供了安全加固和插件沙箱机制。
需要明确的是: A2 本质上是通过模拟客户端请求来"解锁"免费额度的,这种行为可能与相关平台的服务条款存在冲突。具体风险包括:
作者在文档中也明确提到了这一点,建议用户了解并承担相应风险。
A2 的星标增长轨迹(从入库到 8000+ 星)反映了开发者社区的真实需求:用更低的成本、更高效率的方式接入 AI 能力。
类似的项目还有:
这些项目共同指向一个趋势:AI API 的民主化。随着大模型竞争加剧,接口标准化和成本优化将成为持续的需求驱动。
# 方式一:Docker 一键启动(推荐)
git clone https://github.com/justlovemaki/AIClient-2-API.git
cd AIClient-2-API
docker compose -f docker/docker-compose.yml up -d
# 方式二:本地 Node.js
./install-and-run.sh
# 方式三:本地构建 Docker 镜像
docker compose -f docker/docker-compose.build.yml up -d --build
访问 http://localhost:3000 打开 Web UI 配置界面。