Simulates Gemini CLI, Antigravity, Codex, Grok, and Kiro client requests, compat
Find a file
hex2077 55801682da docs: 添加各服务授权文件的默认路径说明
在README中补充Gemini、Kiro和Qwen授权文件的默认存储路径信息,方便用户查找和使用
2025-09-01 19:14:17 +08:00
src feat(qwen): 新增Qwen Code支持及相关功能实现 2025-09-01 17:28:37 +08:00
tests refactor(convert): 优化默认参数处理逻辑并更新测试路径 2025-08-04 12:51:46 +08:00
.babelrc feat: 实现多模型API代理核心功能与策略模式架构 2025-07-25 18:14:16 +08:00
.dockerignore feat(docker): 添加Docker支持和部署指南 2025-07-30 19:46:12 +08:00
.gitignore fix(claude): 修复模块区域初始化并标准化内容处理 2025-08-02 18:28:25 +08:00
Dockerfile refactor(docker): 修改容器配置以使用root用户并更新运行参数 2025-08-12 12:40:30 +08:00
healthcheck.js feat: 新增提供商账号池模式支持 2025-08-29 17:00:18 +08:00
jest.config.js feat: 实现多模型API代理核心功能与策略模式架构 2025-07-25 18:14:16 +08:00
LICENSE Initial commit 2025-07-20 15:05:56 +08:00
package-lock.json feat(qwen): 新增Qwen Code支持及相关功能实现 2025-09-01 17:28:37 +08:00
package.json feat(qwen): 新增Qwen Code支持及相关功能实现 2025-09-01 17:28:37 +08:00
provider_pools.json fix(provider): 修复健康检查逻辑并添加checkModelName字段 2025-08-30 17:29:55 +08:00
README-EN.md docs: 添加各服务授权文件的默认路径说明 2025-09-01 19:14:17 +08:00
README.md docs: 添加各服务授权文件的默认路径说明 2025-09-01 19:14:17 +08:00
run-docker.bat refactor(docker): 修改容器配置以使用root用户并更新运行参数 2025-08-12 12:40:30 +08:00
run-docker.sh refactor(docker): 修改容器配置以使用root用户并更新运行参数 2025-08-12 12:40:30 +08:00

logo

AIClient-2-API 🚀

一个能将多种大模型 APIGemini, OpenAI, Claude...)统一封装为本地 OpenAI 兼容接口的强大代理。

AIClient2API 是一个多功能、轻量化的 API 代理,旨在提供极致的灵活性和易用性。它通过一个 Node.js HTTP 服务器,将 Google Gemini CLI 授权登录、OpenAI、Claude、Kiro 等多种后端 API 统一转换为标准的 OpenAI 格式接口。项目采用现代化的模块化架构,支持策略模式和适配器模式,具备完整的测试覆盖和健康检查机制,开箱即用,npm install 后即可直接运行。您只需在配置文件中轻松切换模型服务商,就能让任何兼容 OpenAI 的客户端或应用,通过同一个 API 地址,无缝地使用不同的大模型能力,彻底摆脱为不同服务维护多套配置和处理接口不兼容问题的烦恼。

Note

感谢阮一峰老师在周刊359期的推荐。

8.29 新增账号池模式可支持所有provider配置多个账号自带轮询故障转移需要客户端重试和配置降级。需要在 config 新增配置 PROVIDER_POOLS_FILE_PATH 详见配置文件provider_pools.json

8.30 最新消息kiro可免费使用至9.15

9.1 偷摸的新增 Qwen Code CLI 支持,可使用 qwen3-coder-plus 模型


💡 核心优势

  • 多模型统一接入:一个接口,通吃 Gemini、OpenAI、Claude、Kimi K2、GLM-4.5、Qwen Code 等多种最新模型。通过简单的启动参数或请求头,即可在不同模型服务商之间自由切换。
  • 突破官方限制:通过支持 Gemini CLI 的 OAuth 授权方式,有效绕过官方免费 API 的速率和配额限制,让您享受更高的请求额度和使用频率。
  • 突破客户端限制Kiro API 模式下支持免费使用Claude Sonnet 4 模型。
  • 无缝兼容 OpenAI:提供与 OpenAI API 完全兼容的接口,让您现有的工具链和客户端(如 LobeChat, NextChat 等)可以零成本接入所有支持的模型。
  • 增强的可控性通过强大的日志功能可以捕获并记录所有请求的提示词Prompts便于审计、调试和构建私有数据集。
  • 极易扩展:得益于全新的模块化和策略模式设计,添加一个新的模型服务商变得前所未有的简单。
  • 完整测试覆盖提供全面的集成测试和单元测试确保各个API端点和功能的稳定性和可靠性。

🎨 模型协议与提供商关系图

  • OpenAI 协议 (P_OPENAI): 支持所有 MODEL_PROVIDER包括 openai-custom、gemini-cli-oauth、claude-custom 和 claude-kiro-oauth。

  • Claude 协议 (P_CLAUDE): 支持 claude-custom、claude-kiro-oauth 和 gemini-cli-oauth。

  • Gemini 协议 (P_GEMINI): 支持 gemini-cli-oauth。

    
     graph TD
         subgraph Core_Protocols["核心协议"]
             P_OPENAI[OpenAI Protocol]
             P_GEMINI[Gemini Protocol]
             P_CLAUDE[Claude Protocol]
         end
    
         subgraph Supported_Model_Providers["支持的模型提供商"]
             MP_OPENAI[openai-custom]
             MP_GEMINI[gemini-cli-oauth]
             MP_CLAUDE_C[claude-custom]
             MP_CLAUDE_K[claude-kiro-oauth]
         end
    
         P_OPENAI ---|支持| MP_OPENAI
         P_OPENAI ---|支持| MP_GEMINI
         P_OPENAI ---|支持| MP_CLAUDE_C
         P_OPENAI ---|支持| MP_CLAUDE_K
    
         P_GEMINI ---|支持| MP_GEMINI
    
         P_CLAUDE ---|支持| MP_CLAUDE_C
         P_CLAUDE ---|支持| MP_CLAUDE_K
         P_CLAUDE ---|支持| MP_GEMINI
    
         style P_OPENAI fill:#f9f,stroke:#333,stroke-width:2px
         style P_GEMINI fill:#ccf,stroke:#333,stroke-width:2px
         style P_CLAUDE fill:#cfc,stroke:#333,stroke-width:2px
    
    

🔧 使用说明

  • MCP 支持: 虽然原版 Gemini CLI 的内置命令功能不可用,但本项目完美支持 MCP (Model Context Protocol),可配合支持 MCP 的客户端实现更强大的功能扩展。

  • 多模态能力: 支持图片、文档等多模态输入,为您提供更丰富的交互体验。

  • 最新模型支持: 支持最新的 Kimi K2GLM-4.5Qwen Code 模型,只需在 config.json 中配置相应的 OpenAI 或 Claude 兼容接口即可使用。

  • Qwen Code 支持: 使用 Qwen Code 需要配置 QWEN_OAUTH_CREDS_FILE_PATH 环境变量,指向包含 Qwen OAuth 凭据的 JSON 文件。

  • Kiro API: 使用 Kiro API 需要下载kiro客户端并完成授权登录生成 kiro-auth-token.json。推荐配合 Claude Code 使用以获得最佳体验。注意:新注册的用户,如果使用时报429,表示已不可使用 Kiro 的服务可能需要等Kiro完全开放注册后才能使用。

授权文件默认路径

以下是各服务授权文件的默认存储路径:

  • Gemini: ~/.gemini/oauth_creds.json
  • Kiro: ~/.aws/sso/cache/kiro-auth-token.json
  • Qwen: ~/.qwen/oauth_creds.json

其中 ~ 代表用户主目录。如果需要自定义路径,可以通过配置文件或环境变量进行设置。


💻 代理设置

提示: 如果您在无法直接访问 Google/OpenAI/Claude/Kiro 服务的环境中使用,请先为您的终端设置 HTTP代理不要设置 HTTPS代理。

不同终端环境下的 HTTP 代理设置命令

为了确保 AIClient2API 能够正常访问外部 AI 服务(如 Google、OpenAI、Claude、Kiro 等),您可能需要在您的终端环境中设置 HTTP 代理。以下是针对不同操作系统的代理设置命令:

Linux / macOS

export HTTP_PROXY="http://your_proxy_address:port"
# 如果代理需要认证
# export HTTP_PROXY="http://username:password@your_proxy_address:port"

要使这些设置永久生效,您可以将它们添加到您的 shell 配置文件中(例如 ~/.bashrc, ~/.zshrc~/.profile)。

Windows (CMD)

set HTTP_PROXY=http://your_proxy_address:port
:: 如果代理需要认证
:: set HTTP_PROXY=http://username:password@your_proxy_address:port

这些设置只对当前 CMD 会话有效。如需永久设置,您可以通过系统环境变量进行配置。

Windows (PowerShell)

$env:HTTP_PROXY="http://your_proxy_address:port"
# 如果代理需要认证
# $env:HTTP_PROXY="http://username:password@your_proxy_address:port"

这些设置只对当前 PowerShell 会话有效。如需永久设置,您可以将它们添加到您的 PowerShell 配置文件中 ($PROFILE) 或通过系统环境变量进行配置。

请务必将 your_proxy_addressport 替换为您的实际代理地址和端口。


🌟 特殊用法与进阶技巧

  • 🔌 对接任意 OpenAI 客户端: 这是本项目的基本功能。将任何支持 OpenAI 的应用(如 LobeChat, NextChat, VS Code 插件等)的 API 地址指向本服务 (http://localhost:3000),即可无缝使用所有已配置的模型。

  • 🔍 中心化请求监控与审计: 在 config.json 中设置 "PROMPT_LOG_MODE": "file" 来捕获所有请求和响应,并保存到本地日志文件。这对于分析、调试和优化提示词,甚至构建私有数据集都至关重要。

  • 💡 动态系统提示词:

    • 通过在 config.json 中设置 SYSTEM_PROMPT_FILE_PATHSYSTEM_PROMPT_MODE,您可以更灵活地控制系统提示词的行为。
    • 支持的模式:
      • override: 完全忽略客户端的系统提示词,强制使用文件中的内容。
      • append: 在客户端系统提示词的末尾追加文件中的内容,实现规则的补充。
    • 这使得您可以为不同的客户端设置统一的基础指令,同时允许单个应用进行个性化扩展。
  • 🛠️ 作为二次开发基石:

    • 添加新模型: 只需在 src 目录下创建一个新的提供商目录,实现 ApiServiceAdapter 接口和相应的策略,然后在 adapter.jscommon.js 中注册即可。
    • 响应缓存: 对高频重复问题添加缓存逻辑,降低 API 调用,提升响应速度。
    • 自定义内容过滤: 在请求发送或返回前增加关键词过滤或内容审查逻辑,满足合规要求。

📄 开源许可

本项目遵循 GNU General Public License v3 (GPLv3) 开源许可。详情请查看根目录下的 LICENSE 文件。

🙏 致谢

本项目的开发受到了官方 Google Gemini CLI 的极大启发并参考了Cline 3.18.0 版本 gemini-cli.ts 的部分代码实现。在此对 Google 官方团队和 Cline 开发团队的卓越工作表示衷心的感谢!

🌟 Star History

Star History Chart


⚠️ 免责声明

使用风险提示

本项目AIClient-2-API仅供学习和研究使用。用户在使用本项目时应自行承担所有风险。作者不对因使用本项目而导致的任何直接、间接或 consequential 损失承担责任。

第三方服务责任说明

本项目是一个API代理工具不提供任何AI模型服务。所有AI模型服务由相应的第三方提供商如Google、OpenAI、Anthropic等提供。用户在使用本项目访问这些第三方服务时应遵守各第三方服务的使用条款和政策。作者不对第三方服务的可用性、质量、安全性或合法性承担责任。

数据隐私说明

本项目在本地运行不会收集或上传用户的任何数据。但用户在使用本项目时应注意保护自己的API密钥和其他敏感信息。建议用户定期检查和更新自己的API密钥并避免在不安全的网络环境中使用本项目。

法律合规提醒

用户在使用本项目时,应遵守所在国家/地区的法律法规。严禁将本项目用于任何非法用途。如因用户违反法律法规而导致的任何后果,由用户自行承担全部责任。