你有没有碰到过这样的场景:手里有个创意想实现,却被高昂的 AI 调用费用拦住了路?我也是,尤其是想写点代码自动化、或者让聊天机器人更懂我,结果每次调用 OpenAI、Claude 之类的接口,都得盯着钱包哭泣。后来我偶然在 GitHub 上刷到一个叫 AIClient-2-API 的项目,感觉像在咖啡店里意外发现了免费咖啡券,忍不住立刻试了一下。
到底是什么鬼?
简而言之,它是一个小巧的本地代理服务器。它把只能在官方客户端里用的模型(比如 Google Gemini、Kiro 的 Claude、阿里 Qwen Code)“搬”出来,包装成和 OpenAI 完全一样的接口。于是,原本只能在 Chrome 里玩 Gemini 的你,直接在 VS Code 插件、Postman,甚至自己写的脚本里调用,和调 OpenAI 没有任何区别。
为什么值得一玩
- 免费+无限:通过 OAuth 授权,你可以使用 Google 账号的 Gemini 免费额度,甚至还能免费玩 Kiro 上的 Claude Sonnet 4.5。省的每个月都要算模型费用。
- 一键切换:只要改改
config.json里的 "MODEL_PROVIDER",或者在 URL 里加上路径前缀,就能在 Gemini、Claude、OpenAI、Qwen 之间切换,根本不需要改代码。 - 可视化管理:自带的 Web 控制台像个小仪表盘,点几下就能上传 OAuth 凭据、查看健康状态、实时日志,完全不需要手敲命令。
- 多模态&流式输出:支持图片、文档等输入,还能像打字机一样实时流式返回结果,体验超级丝滑。
动手打开它
下面用最懒的方式给你画个流程图,保证你在喝完咖啡前就能跑通:
- 准备环境:装好
Node.js >=20,如果你用 Docker 更省事,直接把镜像拉下来。 - 启动容器(推荐)
docker run -d -p 3000:3000 -p 8085-8086:8085-8086 -p 1455:1455 -p 19876-19880:19876-19880 \ -v "$(pwd)/aiclient-config:/app/configs" \ --name aiclient2api justlikemaki/aiclient-2-api
这一步把本地的配置目录挂进去,后面所有的凭据、账号池文件都会保存在这里。 - 打开 Web UI:浏览器访问
http://localhost:3000,默认密码是admin123,进去后立马能看到仪表盘。 - 生成授权:在「提供商池」里点 "Generate Auth",比如选 Gemini,就会弹出 Google 登录窗口,授权后系统自动把
~/.gemini/oauth_creds.json复制进挂载目录。Claude、Kiro、Qwen 也类似。 - 切换模型:点「配置管理」→「默认模型」,选你想要的模型(比如
gemini-3-pro、claude-sonnet-4-5、qwen3-coder-plus),保存即可。
只要以上步骤都走通了,你的本地地址 http://localhost:3000/v1/chat/completions 就能直接被任何 OpenAI 客户端使用。
实际案例:把它接进 LobeChat
LobeChat 是个开源的聊天 UI,默认只能连 OpenAI。把它指向本地代理后,你可以立马把 Gemini 的 3.0 Pro 当成 gpt-4 用,费用降到零。配置方法也很简单:
API Base URL: http://localhost:3000 API Key: 任意字符串(比如 123456) Model: gemini-3-pro
保存后,打开对话框,输入「解释一下相对论」——几秒钟后,Gemini 把答案返回,整个过程和使用官方 API 没有区别。
账号池与降级策略:玩转配额
免费额度往往会被单个账号吃光,AIClient-2-API 提供了「账号池」功能。你可以把多个 Google 账号、多个 Kiro 账号、甚至不同地区的代理都放进 provider_pools.json,系统会智能轮询、自动切换。比如:
{
"gemini-cli-oauth": [
{"uuid": "acc1", "priority": 1},
{"uuid": "acc2", "priority": 2}
],
"claude-kiro-oauth": [
{"uuid": "kiro1", "priority": 1}
]
}
当第一个账号的配额耗尽,系统自动切到第二个,几乎不出现 429 错误。再配合跨类型 fallback(比如 Gemini 失效后自动切到 Claude),就像给你的请求装了一个备胎,稳得一批。
常见坑 & 小技巧
- 端口冲突:如果本机已经在 3000 端口跑了别的服务,记得改
config.json里的SERVER_PORT,或者在 Docker 启动时映射不同端口。 - 403 被拦住:尤其是 Grok、某些地区的 Gemini,需要开启
TLS Sidecar(在配置里把TLS_SIDECAR_ENABLED打开),它会伪装成浏览器的 TLS 指纹,突破 Cloudflare 的封锁。 - 日志太多:如果不想把每一次 Prompt 都打印到控制台,改成
"PROMPT_LOG_MODE": "file",日志会落到prompt_log-YYYY-MM-DD.log,以后可以用grep搜索关键词。 - 模型名称大小写:别忘了在请求里写对模型名字,例如
gemini-1.5-flash而不是Gemini-1.5-Flash,不然会返回 "model not available"。
打开新可能:多模态和 Claude 思考
AIClient-2-API 还能把图片、文档塞进去。比如想让模型分析一张设计稿,只要把图片转成 base64,放进 image_url 字段,Gemini 会返回图层信息。Claude 还有「thinking」模式(额外的推理预算),只要在请求里加:
"extra_body": {
"anthropic": {
"thinking": {"type": "enabled", "budget_tokens": 8000}
}
}
这对于需要深度代码审查、或是让模型先做思考再输出的场景非常有帮助。
总结:给自己的 AI 旅程装上免费加速器
把 AIClient-2-API 当成一把钥匙,打开了多个模型的大门。它把繁琐的 OAuth、配额管理、协议转换都藏在后台,让你只专注于业务本身。最重要的是,它真的能把「免费」变成「可用」——不再因为高额费用而止步不前。
如果你现在还在为每次调用付费而犹豫,不妨先把它跑起来,感受一下免费模型的力量。相信我,等你把它写进自己的工具链后,那种掌控感会让每一次敲代码都像喝到一口浓郁的咖啡,回味无穷。
评论 (0)