File size: 11,184 Bytes
927965d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
# 安装指南

本文档提供基于 Poetry 的详细安装步骤和环境配置说明。

## 🔧 系统要求

### 基础要求

- **Python**: 3.9+ (推荐 3.10+ 或 3.11+)
  - **推荐版本**: Python 3.11+ 以获得最佳性能和兼容性
  - **最低要求**: Python 3.9 (支持所有当前依赖版本)
  - **完全支持**: Python 3.9, 3.10, 3.11, 3.12, 3.13
- **Poetry**: 1.4+ (现代化 Python 依赖管理工具)
- **Git**: 用于克隆仓库 (推荐)
- **Google AI Studio 账号**: 并能正常访问和使用
- **Node.js**: 16+ (可选,用于 Pyright 类型检查)

### 系统依赖

- **Linux**: `xvfb` (虚拟显示,可选)
  - Debian/Ubuntu: `sudo apt-get update && sudo apt-get install -y xvfb`
  - Fedora: `sudo dnf install -y xorg-x11-server-Xvfb`
- **macOS**: 通常无需额外依赖
- **Windows**: 通常无需额外依赖

## 🚀 快速安装 (推荐)

### 一键安装脚本

```bash

# macOS/Linux 用户

curl -sSL https://raw.githubusercontent.com/CJackHwang/AIstudioProxyAPI/main/scripts/install.sh | bash



# Windows 用户 (PowerShell)

iwr -useb https://raw.githubusercontent.com/CJackHwang/AIstudioProxyAPI/main/scripts/install.ps1 | iex

```

## 📋 手动安装步骤

### 1. 安装 Poetry

如果您尚未安装 Poetry,请先安装:

```bash

# macOS/Linux

curl -sSL https://install.python-poetry.org | python3 -



# Windows (PowerShell)

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -



# 或使用包管理器

# macOS: brew install poetry

# Ubuntu/Debian: apt install python3-poetry

# Windows: winget install Python.Poetry

```

### 2. 克隆仓库

```bash

git clone https://github.com/CJackHwang/AIstudioProxyAPI.git

cd AIstudioProxyAPI

```

### 3. 安装依赖

Poetry 会自动创建虚拟环境并安装所有依赖:

```bash

# 安装生产依赖

poetry install



# 安装包括开发依赖 (推荐开发者)

poetry install --with dev

```

**Poetry 优势**:

- ✅ 自动创建和管理虚拟环境
- ✅ 依赖解析和版本锁定 (`poetry.lock`)
- ✅ 区分生产依赖和开发依赖
- ✅ 语义化版本控制

### 4. 激活虚拟环境

```bash

# 激活 Poetry 创建的虚拟环境

poetry env activate



# 或者在每个命令前加上 poetry run

poetry run python --version

```

### 5. 下载 Camoufox 浏览器

```bash

# 在 Poetry 环境中下载 Camoufox 浏览器

poetry run camoufox fetch



# 或在激活的环境中

camoufox fetch

```

**依赖版本说明** (由 Poetry 管理):

- **FastAPI 0.115.12**: 最新稳定版本,包含性能优化和新功能
  - 新增 Query/Header/Cookie 参数模型支持
  - 改进的类型提示和验证机制
  - 更好的 OpenAPI 文档生成和异步性能
- **Pydantic >=2.7.1,<3.0.0**: 现代数据验证库,版本范围确保兼容性
- **Uvicorn 0.29.0**: 高性能 ASGI 服务器,支持异步处理和 HTTP/2
- **Playwright**: 最新版本,用于浏览器自动化、页面交互和网络拦截
- **Camoufox 0.4.11**: 反指纹检测浏览器,包含 geoip 数据和增强隐蔽性
- **WebSockets 12.0**: 用于实时日志传输、状态监控和 Web UI 通信
- **aiohttp ~3.9.5**: 异步 HTTP 客户端,支持代理和流式处理
- **python-dotenv 1.0.1**: 环境变量管理,支持 .env 文件配置

### 6. 安装 Playwright 浏览器依赖(可选)

虽然 Camoufox 使用自己的 Firefox,但首次运行可能需要安装一些基础依赖:

```bash

# 在 Poetry 环境中安装 Playwright 依赖

poetry run playwright install-deps firefox



# 或在激活的环境中

playwright install-deps firefox

```

如果 `camoufox fetch` 因网络问题失败,可以尝试运行项目中的 [`fetch_camoufox_data.py`](../fetch_camoufox_data.py) 脚本 (详见[故障排除指南](troubleshooting.md))。

## 🔍 验证安装

### 检查 Poetry 环境

```bash

# 查看 Poetry 环境信息

poetry env info



# 查看已安装的依赖

poetry show



# 查看依赖树

poetry show --tree



# 检查 Python 版本

poetry run python --version

```

### 检查关键组件

```bash

# 检查 Camoufox

poetry run camoufox --version



# 检查 FastAPI

poetry run python -c "import fastapi; print(f'FastAPI: {fastapi.__version__}')"



# 检查 Playwright

poetry run python -c "import playwright; print('Playwright: OK')"

```

## 🚀 如何启动服务

在您完成安装和环境配置后,强烈建议您先将 `.env.example` 文件复制为 `.env` 并根据您的需求进行修改。这会极大地简化后续的启动命令。

```bash

# 复制配置模板

cp .env.example .env



# 编辑配置文件

nano .env  # 或使用其他编辑器

```

完成配置后,您可以选择以下几种方式启动服务:

### 1. GUI 启动 (最推荐)

对于大多数用户,尤其是新手,我们强烈推荐使用图形化界面 (GUI) 启动器。这是最简单、最直观的方式。

```bash

# 在 Poetry 环境中运行

poetry run python gui_launcher.py



# 或者,如果您已经激活了虚拟环境

python gui_launcher.py

```

GUI 启动器会自动处理后台进程,并提供一个简单的界面来控制服务的启动和停止,以及查看日志。

### 2. 命令行启动 (进阶)

对于熟悉命令行的用户,可以直接使用 `launch_camoufox.py` 脚本启动服务。

```bash

# 启动无头 (headless) 模式,这是服务器部署的常用方式

poetry run python launch_camoufox.py --headless



# 启动调试 (debug) 模式,会显示浏览器界面

poetry run python launch_camoufox.py --debug

```

您可以通过添加不同的参数来控制启动行为,例如:
- `--headless`: 在后台运行浏览器,不显示界面。
- `--debug`: 启动时显示浏览器界面,方便调试。
- 更多参数请参阅[高级配置指南](advanced-configuration.md)。

### 3. Docker 启动

如果您熟悉 Docker,也可以使用容器化方式部署服务。这种方式可以提供更好的环境隔离。

详细的 Docker 启动指南,请参阅:
- **[Docker 部署指南](../docker/README-Docker.md)**

## 多平台指南

### macOS / Linux

- 通常安装过程比较顺利。确保 Python 和 pip 已正确安装并配置在系统 PATH 中。
- 使用 `source venv/bin/activate` 激活虚拟环境。
- `playwright install-deps firefox` 可能需要系统包管理器(如 `apt` for Debian/Ubuntu, `yum`/`dnf` for Fedora/CentOS, `brew` for macOS)安装一些依赖库。如果命令失败,请仔细阅读错误输出,根据提示安装缺失的系统包。有时可能需要 `sudo` 权限执行 `playwright install-deps`- 防火墙通常不会阻止本地访问,但如果从其他机器访问,需要确保端口(默认 2048)是开放的。
- 对于 Linux 用户,可以考虑使用 `--virtual-display` 标志启动 (需要预先安装 `xvfb`),它会利用 Xvfb 创建一个虚拟显示环境来运行浏览器,这可能有助于进一步降低被检测的风险和保证网页正常对话。

### Windows

#### 原生 Windows

- 确保在安装 Python 时勾选了 "Add Python to PATH" 选项。
- 使用 `venv\\Scripts\\activate` 激活虚拟环境。
- Windows 防火墙可能会阻止 Uvicorn/FastAPI 监听端口。如果遇到连接问题(特别是从其他设备访问时),请检查 Windows 防火墙设置,允许 Python 或特定端口的入站连接。
- `playwright install-deps` 命令在原生 Windows 上作用有限(主要用于 Linux),但运行 `camoufox fetch` (内部会调用 Playwright) 会确保下载正确的浏览器。
- **推荐使用 [`gui_launcher.py`](../gui_launcher.py) 启动**,它们会自动处理后台进程和用户交互。如果直接运行 [`launch_camoufox.py`](../launch_camoufox.py),终端窗口需要保持打开。

#### WSL (Windows Subsystem for Linux)

- **推荐**: 对于习惯 Linux 环境的用户,WSL (特别是 WSL2) 提供了更好的体验。
- 在 WSL 环境内,按照 **macOS / Linux** 的步骤进行安装和依赖处理 (通常使用 `apt` 命令)。
- 需要注意的是网络访问:
  - 从 Windows 访问 WSL 中运行的服务:通常可以通过 `localhost` 或 WSL 分配的 IP 地址访问。
  - 从局域网其他设备访问 WSL 中运行的服务:可能需要配置 Windows 防火墙以及 WSL 的网络设置(WSL2 的网络通常更容易从外部访问)。
- 所有命令(`git clone`, `pip install`, `camoufox fetch`, `python launch_camoufox.py` 等)都应在 WSL 终端内执行。
- 在 WSL 中运行 `--debug` 模式:[`launch_camoufox.py --debug`](../launch_camoufox.py) 会尝试启动 Camoufox。如果你的 WSL 配置了 GUI 应用支持(如 WSLg 或第三方 X Server),可以看到浏览器界面。否则,它可能无法显示界面,但服务本身仍会尝试启动。无头模式 (通过 [`gui_launcher.py`](../gui_launcher.py) 启动) 不受影响。

## 配置环境变量(推荐)

安装完成后,强烈建议配置 `.env` 文件来简化后续使用:

### 创建配置文件

```bash

# 复制配置模板

cp .env.example .env



# 编辑配置文件

nano .env  # 或使用其他编辑器

```

### 基本配置示例

```env

# 服务端口配置

DEFAULT_FASTAPI_PORT=2048

STREAM_PORT=3120



# 代理配置(如需要)

# HTTP_PROXY=http://127.0.0.1:7890



# 日志配置

SERVER_LOG_LEVEL=INFO

DEBUG_LOGS_ENABLED=false

```

配置完成后,启动命令将变得非常简单:

```bash

# 简单启动,无需复杂参数

python launch_camoufox.py --headless

```

详细配置说明请参见 [环境变量配置指南](environment-configuration.md)。

## 可选:配置 API 密钥

您也可以选择配置 API 密钥来保护您的服务:

### 创建密钥文件`auth_profiles` 目录中创建 `key.txt` 文件(如果它不存在):

```bash

# 创建目录和密钥文件

mkdir -p auth_profiles && touch auth_profiles/key.txt



# 添加密钥(每行一个)

echo "your-first-api-key" >> key.txt

echo "your-second-api-key" >> key.txt

```

### 密钥格式要求

- 每行一个密钥
- 至少 8 个字符
- 支持空行和注释行(以 `#` 开头)
- 使用 UTF-8 编码

### 示例密钥文件

```

# API密钥配置文件

# 每行一个密钥



sk-1234567890abcdef

my-secure-api-key-2024

admin-key-for-testing



# 这是注释行,会被忽略

```

### 安全说明

- **无密钥文件**: 服务不需要认证,任何人都可以访问 API
- **有密钥文件**: 所有 API 请求都需要提供有效的密钥
- **密钥保护**: 请妥善保管密钥文件,不要提交到版本控制系统

## 下一步

安装完成后,请参考:

- **[环境变量配置指南](environment-configuration.md)** - ⭐ 推荐先配置,简化后续使用
- [首次运行与认证指南](authentication-setup.md)
- [日常运行指南](daily-usage.md)
- [API 使用指南](api-usage.md) - 包含详细的密钥管理说明
- [故障排除指南](troubleshooting.md)