综合介绍
AIstudioProxyAPI 是一个开源项目,使用 Node.js 和 Playwright 技术,通过模拟 OpenAI API 的方式,将 Google AI Studio 网页版的 Gemini 模型对话功能转换为标准 API 接口。开发者可以利用这个代理服务,让支持 OpenAI API 的客户端(如 Open WebUI、NextChat)直接访问 Google AI Studio 的无限额度功能。项目无需复杂配置,适合希望快速集成 Google AI Studio 能力的开发者。当前项目为个人维护,更新频率较低,且不支持无头模式,需手动确保 Chrome 调试端口可用。
功能列表
- 提供
/v1/chat/completions
和/v1/models
端点,兼容 OpenAI API 客户端。 - 支持流式响应(
stream=true
),实现打字机效果。 - 支持非流式响应(
stream=false
),一次性返回完整 JSON。 - 自动优化用户输入提示词,适配 Google AI Studio 的输出格式。
- 自动启动并连接 Chrome 实例,设置调试端口和窗口大小。
- 提供交互式选项,处理端口冲突或连接现有 Chrome 实例。
使用帮助
安装流程
AIstudioProxyAPI 部署简单,但需要确保环境正确配置。以下是详细步骤:
- 克隆仓库
在终端运行以下命令,获取项目代码:git clone https://github.com/CJackHwang/AIstudioProxyAPI cd AIstudioProxyAPI
- 安装依赖
项目依赖express
,cors
,playwright
和@playwright/test
。根据你的包管理器选择以下命令之一:npm install # 或 yarn install # 或 pnpm install
安装完成后,依赖会自动配置,
@playwright/test
提供断言功能。 - 启动服务
运行以下命令启动代理服务:node auto_connect_aistudio.cjs
该脚本会:
- 检查依赖是否完整。
- 验证 Chrome 调试端口(默认
8848
)是否空闲。 - 设置 Chrome 窗口大小(默认宽度
460px
)。 - 自动启动 Chrome 并打开 Google AI Studio 页面。
如果端口被占用,脚本会提示选择连接现有 Chrome 实例或清理端口后重试。确保手动登录 Google AI Studio 页面完成身份验证。
使用主要功能
AIstudioProxyAPI 的核心是将 Google AI Studio 的 Gemini 模型能力通过 OpenAI API 兼容接口提供给客户端。以下是操作步骤:
- 配置客户端
在支持 OpenAI API 的客户端(如 Open WebUI)中,将 API 地址设置为代理服务的地址(默认http://localhost:2048
)。无需更改客户端代码,接口完全兼容。 - 发送对话请求
使用客户端发送对话请求,格式与 OpenAI API 一致。例如:{ "model": "gemini", "messages": [ {"role": "system", "content": "你是一个助手"}, {"role": "user", "content": "请解释量子力学"} ], "stream": true }
- 设置
stream=true
获取流式响应,适合实时对话。 - 设置
stream=false
获取完整 JSON 响应,适合一次性处理。
- 设置
- 优化提示词
代理服务会自动包装用户输入,添加特定标记(如<<<START_RESPONSE>>>
),确保 Google AI Studio 输出符合预期格式。开发者无需手动调整提示词。 - 管理 Chrome 实例
启动后,Chrome 窗口必须保持打开,且 Google AI Studio 页面不能崩溃。如果页面无响应,可关闭所有相关进程(node
和chrome
),重新运行node auto_connect_aistudio.cjs
。
特色功能操作
- 流式响应:在客户端设置
stream=true
,响应会以打字机效果逐字显示,适合交互式应用。 - 端口冲突处理:脚本检测到
8848
端口占用时,会提示用户选择连接现有 Chrome 实例或清理端口。 - 窗口大小调整:如果
460px
宽度不适配显示器,可修改auto_connect_aistudio.cjs
中的--window-size
参数。
常见问题排查
- 页面加载失败:检查网络连接,尝试手动访问
https://aistudio.google.com/prompts/new_chat
并登录。 - 端口占用:运行
lsof -i :2048
检查占用程序,关闭或更改server.cjs
中的SERVER_PORT
。 - Playwright 未就绪:确保 Chrome 窗口未关闭,重新运行启动脚本。
应用场景
- 快速集成 AI 对话功能
开发者想在应用中添加 AI 对话功能,但受限于 OpenAI API 的配额。AIstudioProxyAPI 让开发者利用 Google AI Studio 的免费额度,通过熟悉的 OpenAI API 接口快速实现功能。 - 本地开发与测试
开发团队在本地环境中测试 AI 对话功能时,可通过 AIstudioProxyAPI 模拟 OpenAI API,无需额外购买 API 配额,降低成本。 - 教育与研究
学生或研究人员需要实验大模型对话功能,但缺乏 API 访问权限。AIstudioProxyAPI 提供简单方式访问 Gemini 模型,适合学术研究。
QA
- AIstudioProxyAPI 支持哪些客户端?
任何支持 OpenAI API 的客户端(如 Open WebUI、NextChat)都可使用,无需修改客户端代码。 - 为什么不支持无头模式?
Google AI Studio 的自动化检测限制了无头模式,需使用有界面 Chrome 实例。 - 如何处理端口被占用?
检查2048
或8848
端口占用情况,关闭冲突程序或修改server.cjs
中的端口配置。 - 服务是否需要持续联网?
是的,代理服务需联网访问 Google AI Studio 页面,确保页面正常加载。