让多模型都像OpenAI一样的工具

模拟 Gemini CLI Kiro 客户端请求,兼容 OpenAI API。可每日千次Gemini模型请求, 免费使用Kiro 内置 Claude 模型。通过 API 轻松接入任何客户端,让AI开发更高效!
这个项目叫 AIClient-2-API(作者 justlovemaki),下面是对它的介绍 + 工作原理 + 用途 + 注意事项,帮你理解一下:

一、项目是什么

AIClient-2-API 是一个代理/适配器工具(用 Node.js 写的 HTTP 服务),用来把多个“只能在客户端/专有环境里用”的大模型接口(比如 Gemini CLI、Qwen Code Plus、Kiro-Claude 等)「模拟 / 封装 /代理」成一个统一的、兼容 OpenAI API 的接口。也就是说,如果你有一个客户端/app/工具当前只支持调用 OpenAI 格式的 API,你用这个项目部署后,就可以让它透明地调用这些其它模型,而不用改客户端逻辑。

官方 README 中说它可以:

  • 模拟 Gemini CLI,Qwen Code +,Kiro Claude 等客户端请求。
  • 提供 OpenAI API 兼容接口(遵守 OpenAI 那种请求格式)供客户端或者工具使用。
  • 支持每日千次的 Gemini 模型请求;还有 “免费使用 Kiro 内置的 Claude 模型”。

二、核心功能/特性

下面这些是它比较突出的功能:

功能作用/优势
多模型统一接入你只要把模型提供商配置好(Gemini, Claude, Qwen, OpenAI 等),就可以通过统一接口切换使用不同模型。
OpenAI 兼容接口客户端或工具如果设计上只支持 OpenAI 的 API,也能直接对接本服务,不用改很多。
账号池 / 轮询 /故障转移 /降级如果某个账号/token 出问题,会自动切换;如果某些模型授权或服务受限,还可以降级处理。提高可靠性和可用性。
策略模式 & 适配器模式的架构为的是方便新增模型提供商;解耦不同服务商的 API 细节。
日志 / 提示词记录可以记录所有 prompt,用于 debug、审计,甚至构建自己的私有数据集。
Docker 支持容易部署、隔离环境。

三、工作方式 / 技术细节

简单来说,这样工作:

  1. 部署这个服务(本地服务器或云上),启动一个 HTTP 接口,监听某个端口。配置好所用的模型提供商、OAuth 凭证/token 等。
  2. 客户端/工具(假设原来用 OpenAI API)把请求发到 AIClient-2-API 的地址(例如 http://localhost:3000/v1/chat/completions 或者类似路径)。
  3. 服务根据配置,确认到底要调哪个后端模型服务。可能是 OpenAI,也可能是 Gemini CLI + OAuth,也可能是 Claude(via Kiro 或 via Claude 自己的 API)等。
  4. 把请求转换为后端服务需要的格式,处理好认证、token、模型名等。
  5. 收到后端服务的结果后,再把结果格式(响应体)转换成 OpenAI 接口期望的格式,返回给客户端。客户端就好像真的在调用 OpenAI。

还有一些额外机制,比如:

  • 提供账号池:一个提供商可以有多个账号/凭证,当一个账号出问题或达限额时自动切换。
  • 请求重试:如果某次请求失败,可以自动重试(配置中有相关参数)。
  • 系统提示词(system prompt)的控制方式:可以覆盖/追加/动态设置等。
  • 请求日志:可以保存到文件。

四、应用场景 /适合谁用

这个项目适合下面这些情况:

  • 你有一些客户端或者工具,只支持 OpenAI 接口格式,但你想用其它模型(Gemini、Claude、Qwen 等),不想改客户端代码,那么用它可以“无改动”切换模型。
  • 想统一管理多个模型服务商的凭证/账号,对象是想做高可用/降低单点限制/提升资源利用率。
  • 想在本地/私有环境中搭建一个代理,用来调试 prompt、记录日志、控制系统提示词,或者做实验性使用。
  • 用于学习/研究/个人/小规模项目的话比较合适;用于生产环境要注意稳定性、安全性、合规性。

五、风险 /注意事项

  • 合法性/服务条款:有些模型/服务提供者的使用条款可能禁止绕过限额/API限制。使用这种代理可能与服务提供商的条款冲突,要留意合约/政策问题。
  • 安全性:你会把 API token/OAuth 凭据放在配置/文件里,用不当可能泄露。日志中可能记录敏感提示词/用户内容,如果是隐私或商业机密,要注意。
  • 稳定性 &维护:因为依赖多个第三方服务(不同模型/OAuth 流程/供应商策略等),任何一个地方改变(例如 OAuth 流程更新、API 政策变更)都可能导致失效。要跟上这些变化。
  • 性能 &延迟:代理多一层,会有一点额外延迟。还有如果后端模型被限流/体现服务慢,也会影响体验。
  • 资源消耗/成本:虽然有“免费”或“高请求额度”的说法,但这些免费额度有限,或有变动风险。使用量大的话可能需要付费模型/服务。

六、小结

总体来说,AIClient-2-API 是一个很有用的工具,如果你希望在多个模型服务之间做切换,并且拥有统一的调用方式(基于 OpenAI 的格式),它能帮你省很多兼容性/接口适配的麻烦。它更偏向 代理 / 中间层 的角色,而不是自己提供模型推理本身。

Github:https://github.com/justlovemaki/AIClient-2-API

油管:https://youtu.be/BxLli3vLpco