Spaces:
Paused
Paused
File size: 5,415 Bytes
a5784e9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 | ---
title: AI Studio Proxy API
sdk: docker
app_port: 7860
license: agpl-3.0
---
# AI Studio Proxy API
将 Google AI Studio 网页界面转换为 OpenAI 兼容 API 的代理服务。通过 Camoufox + Playwright 自动化,提供稳定可控的 API 访问。
[](https://www.star-history.com/#CJackHwang/AIstudioProxyAPI&Date)
---
## 主要特性
- **OpenAI 兼容 API**:支持 `/v1/chat/completions`、`/v1/models`
- **函数调用三模式**:`auto` / `native` / `emulated`,支持失败回退
- **认证轮转与 Cookie 刷新**:支持 profile 自动轮转、周期刷新与关停保存
- **启动链路完整**:CLI 启动器、内置 Web UI、桌面 GUI 启动器
- **现代化前端**:内置设置页、状态检查与日志能力
- **CI/CD 工作流**:PR 检查、Release、Upstream Sync
## 系统要求
| 组件 | 要求 | 推荐 |
| --- | --- | --- |
| Python | >=3.9, <4.0 | 3.10+ / 3.11+ |
| 依赖管理 | Poetry | 最新版本 |
| Node.js | 前端构建需要 | LTS |
| 内存 | >=2GB | >=4GB |
---
## 🚀 快速开始
### 1. 克隆并安装
```bash
git clone https://github.com/CJackHwang/AIstudioProxyAPI.git
cd AIstudioProxyAPI
poetry install --with dev
```
### 2. 配置环境
```bash
cp .env.example .env
```
建议先确认:`PORT`、`STREAM_PORT`、`UNIFIED_PROXY_CONFIG`、`LAUNCH_MODE`、`FUNCTION_CALLING_MODE`。
### 3. 首次认证并启动
```bash
# 首次建议 debug,完成登录并保存 auth
poetry run python launch_camoufox.py --debug
# 日常建议 headless
poetry run python launch_camoufox.py --headless
```
### 快速测试
```bash
# 健康检查
curl http://127.0.0.1:2048/health
# 模型列表
curl http://127.0.0.1:2048/v1/models
# 聊天请求
curl -X POST http://127.0.0.1:2048/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"gemini-2.5-pro","messages":[{"role":"user","content":"你好"}]}'
```
访问 `http://127.0.0.1:2048/` 使用内置 Web UI。
---
## 系统架构
```mermaid
graph TD
subgraph "用户端"
User["用户"]
WebUI["Web UI"]
APIClient["API 客户端"]
end
subgraph "启动与配置"
Launcher["launch_camoufox.py"]
Env[".env 配置"]
end
subgraph "核心服务"
FastAPI["FastAPI 应用<br/>api_utils/"]
BrowserOps["页面控制与自动化<br/>browser_utils/"]
StreamProxy["流式代理<br/>stream/"]
end
subgraph "外部依赖"
Camoufox["Camoufox 浏览器"]
AIStudio["Google AI Studio"]
end
User --> Launcher
Launcher --> Env
WebUI --> FastAPI
APIClient --> FastAPI
FastAPI --> BrowserOps
FastAPI --> StreamProxy
BrowserOps --> Camoufox --> AIStudio
StreamProxy --> AIStudio
```
---
## 运行模式
| 命令 | 说明 | 场景 |
| --- | --- | --- |
| `python launch_camoufox.py --headless` | 无头模式 | 日常使用、服务器 |
| `python launch_camoufox.py --debug` | 调试模式 | 首次认证、故障排查 |
| `python launch_camoufox.py --virtual-display` | 虚拟显示 | Linux 无 GUI 环境 |
---
## ⚙️ 配置
项目使用 `.env` 统一配置管理:
```bash
cp .env.example .env
```
核心配置示例:
| 配置 | 默认值 | 说明 |
| --- | --- | --- |
| `PORT` | `2048` | 主 API 端口 |
| `STREAM_PORT` | `3120` | 流式代理端口(`0` 关闭) |
| `UNIFIED_PROXY_CONFIG` | 空 | HTTP/HTTPS 代理 |
| `AUTO_ROTATE_AUTH_PROFILE` | `true` | 认证自动轮转 |
| `FUNCTION_CALLING_MODE` | `auto` | 函数调用模式 |
详细项见:[配置参考](docs/configuration-reference.md)
> 说明:配置默认值以 `.env.example` 为准;少数配置存在代码兜底默认值,详见配置参考中的说明。
---
## 📚 文档
- [文档总览](docs/README.md)
- [快速开始](docs/quick-start.md)
- [部署与运维指南](docs/deployment-and-operations.md)
- [API 使用说明](docs/api-usage.md)
- [函数调用模式](docs/function-calling.md)
- [认证轮转与 Cookie 刷新](docs/auth-rotation-cookie-refresh.md)
- [排障指南](docs/troubleshooting.md)
- [开发、测试与发布](docs/development-and-release.md)
- [多实例 Docker 管理器](scripts/multi-instance-manager/README.md)
---
## 客户端配置示例
以 Open WebUI 为例:
1. 进入设置 -> 连接
2. API Base URL 填 `http://127.0.0.1:2048/v1`
3. 若你未配置 API Keys,可留空或填任意字符;若已配置,请填写有效 Key
4. 保存后即可对话
---
## 开发检查
```bash
poetry run ruff check .
poetry run pyright
poetry run pytest
```
前端构建:
```bash
cd static/frontend
npm ci
npm run build
```
---
## 致谢
- **项目发起与主要开发**: [@CJackHwang](https://github.com/CJackHwang)
- **核心维护**(架构重构、测试体系): [@NikkeTryHard](https://github.com/NikkeTryHard)
- **功能完善、页面操作优化**: [@ayuayue](https://github.com/ayuayue)
- **实时流式功能优化**: [@luispater](https://github.com/luispater)
- **项目重构贡献**: [@yattin](https://github.com/yattin)(Holt)
- **下游维护分支致谢作者**: [@MasuRii](https://github.com/MasuRii)
- **社区支持**: [Linux.do 社区](https://linux.do/)
## License
[AGPLv3](LICENSE)
## 支持作者
如果本项目对你有帮助,欢迎支持作者持续开发。
|