File size: 9,268 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
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
# 环境变量配置指南

本文档详细介绍如何使用 `.env` 文件来配置 AI Studio Proxy API 项目,实现统一的配置管理。

## 概述

项目采用基于 `.env` 文件的现代化配置管理系统,提供以下优势:

### 主要优势

-**版本更新无忧**: 一个 `git pull` 就完成更新,无需重新配置
-**配置集中管理**: 所有配置项统一在 `.env` 文件中,清晰明了
-**启动命令简化**: 无需复杂的命令行参数,一键启动
-**安全性**: `.env` 文件已被 `.gitignore` 忽略,不会泄露敏感配置
-**灵活性**: 支持不同环境的配置管理(开发、测试、生产)
-**Docker 兼容**: Docker 和本地环境使用相同的配置方式
-**模块化设计**: 配置项按功能分组,便于理解和维护

## 快速开始

### 1. 复制配置模板

```bash

cp .env.example .env

```

### 2. 编辑配置文件

根据您的需要修改 `.env` 文件中的配置项:

```bash

# 编辑配置文件

nano .env

# 或使用其他编辑器

code .env

```

### 3. 启动服务

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

```bash

# 图形界面启动(推荐新手)

python gui_launcher.py



# 命令行启动(推荐日常使用)

python launch_camoufox.py --headless



# 调试模式(首次设置或故障排除)

python launch_camoufox.py --debug

```

**就这么简单!** 无需复杂的命令行参数,所有配置都在 `.env` 文件中预设好了。

## 启动命令对比

### 使用 `.env` 配置前(复杂)

```bash

# 之前需要这样的复杂命令

python launch_camoufox.py --headless --server-port 2048 --stream-port 3120 --helper '' --internal-camoufox-proxy 'http://127.0.0.1:7890'

```

### 使用 `.env` 配置后(简单)

```bash

# 现在只需要这样

python launch_camoufox.py --headless

```

**配置一次,终身受益!** 所有复杂的参数都在 `.env` 文件中预设,启动命令变得极其简洁。

## 主要配置项

### 服务端口配置

```env

# FastAPI 服务端口

PORT=8000

DEFAULT_FASTAPI_PORT=2048

DEFAULT_CAMOUFOX_PORT=9222



# 流式代理服务配置

STREAM_PORT=3120

```

### 代理配置

```env

# HTTP/HTTPS 代理设置

HTTP_PROXY=http://127.0.0.1:7890

HTTPS_PROXY=http://127.0.0.1:7890



# 统一代理配置 (优先级更高)

UNIFIED_PROXY_CONFIG=http://127.0.0.1:7890



# 代理绕过列表

NO_PROXY=localhost;127.0.0.1;*.local

```

### 日志配置

```env

# 服务器日志级别

SERVER_LOG_LEVEL=INFO



# 启用调试日志

DEBUG_LOGS_ENABLED=false

TRACE_LOGS_ENABLED=false



# 是否重定向 print 输出到日志

SERVER_REDIRECT_PRINT=false

```

### 认证配置

```env

# 自动保存认证信息

AUTO_SAVE_AUTH=false



# 认证保存超时时间 (秒)

AUTH_SAVE_TIMEOUT=30



# 自动确认登录

AUTO_CONFIRM_LOGIN=true

```

### API 默认参数

```env

# 默认温度值 (0.0-2.0)

DEFAULT_TEMPERATURE=1.0



# 默认最大输出令牌数

DEFAULT_MAX_OUTPUT_TOKENS=65536



# 默认 Top-P 值 (0.0-1.0)

DEFAULT_TOP_P=0.95



# 默认停止序列 (JSON 数组格式)

DEFAULT_STOP_SEQUENCES=["用户:"]



# 是否在处理请求时自动打开并使用 "URL Context" 功能

# 参考: https://ai.google.dev/gemini-api/docs/url-context

ENABLE_URL_CONTEXT=true



# 是否默认启用 "指定思考预算" 功能 (true/false),不启用时模型一般将自行决定思考预算

# 当 API 请求中未提供 reasoning_effort 参数时,将使用此值。

ENABLE_THINKING_BUDGET=false



# "指定思考预算量" 的默认值 (token)

# 当 API 请求中未提供 reasoning_effort 参数时,将使用此值。

DEFAULT_THINKING_BUDGET=8192



# 是否默认启用 "Google Search" 功能 (true/false)

# 当 API 请求中未提供 tools 参数时,将使用此设置作为 Google Search 的默认开关状态。

ENABLE_GOOGLE_SEARCH=false

```

### 超时配置

```env

# 响应完成总超时时间 (毫秒)

RESPONSE_COMPLETION_TIMEOUT=300000



# 轮询间隔 (毫秒)

POLLING_INTERVAL=300

POLLING_INTERVAL_STREAM=180



# 静默超时 (毫秒)

SILENCE_TIMEOUT_MS=60000

```

### GUI 启动器配置

```env

# GUI 默认代理地址

GUI_DEFAULT_PROXY_ADDRESS=http://127.0.0.1:7890



# GUI 默认流式代理端口

GUI_DEFAULT_STREAM_PORT=3120



# GUI 默认 Helper 端点

GUI_DEFAULT_HELPER_ENDPOINT=

```

### 脚本注入配置 v3.0 🆕

```env

# 是否启用油猴脚本注入功能

ENABLE_SCRIPT_INJECTION=true



# 油猴脚本文件路径(相对于项目根目录)

# 模型数据直接从此脚本文件中解析,无需额外配置文件

USERSCRIPT_PATH=browser_utils/more_modles.js

```

**脚本注入功能 v3.0 重大升级**- **🚀 Playwright 原生拦截**: 使用 Playwright 路由拦截,100% 可靠性
- **🔄 双重保障机制**: 网络拦截 + 脚本注入,确保万无一失
- **📝 直接脚本解析**: 从油猴脚本中自动解析模型列表,无需配置文件
- **🔗 前后端同步**: 前端和后端使用相同的模型数据源
- **⚙️ 零配置维护**: 脚本更新时自动获取新的模型列表
- **🔄 自动适配**: 油猴脚本更新时无需手动更新配置

**与 v1.x 的主要区别**- 移除了 `MODEL_CONFIG_PATH` 配置项(已废弃)
- 不再需要手动维护模型配置文件
- 工作机制从"配置文件 + 脚本注入"改为"直接脚本解析 + 网络拦截"

详细使用方法请参见 [脚本注入指南](script_injection_guide.md)。

## 配置优先级

配置项的优先级顺序(从高到低):

1. **命令行参数** - 直接传递给程序的参数
2. **环境变量** - 系统环境变量或 `.env` 文件中的变量
3. **默认值** - 代码中定义的默认值

## 常见配置场景

### 场景 1:使用代理

```env

# 启用代理

HTTP_PROXY=http://127.0.0.1:7890

HTTPS_PROXY=http://127.0.0.1:7890



# GUI 中也使用相同代理

GUI_DEFAULT_PROXY_ADDRESS=http://127.0.0.1:7890

```

### 场景 2:调试模式

```env

# 启用详细日志

DEBUG_LOGS_ENABLED=true

TRACE_LOGS_ENABLED=true

SERVER_LOG_LEVEL=DEBUG

SERVER_REDIRECT_PRINT=true

```

### 场景 3:生产环境

```env

# 生产环境配置

SERVER_LOG_LEVEL=WARNING

DEBUG_LOGS_ENABLED=false

TRACE_LOGS_ENABLED=false



# 更长的超时时间

RESPONSE_COMPLETION_TIMEOUT=600000

SILENCE_TIMEOUT_MS=120000

```

### 场景 4:自定义端口

```env

# 避免端口冲突

DEFAULT_FASTAPI_PORT=3048

DEFAULT_CAMOUFOX_PORT=9223

STREAM_PORT=3121

```

### 场景 5:启用脚本注入 v3.0 🆕

```env

# 启用脚本注入功能 v3.0

ENABLE_SCRIPT_INJECTION=true



# 使用自定义脚本(模型数据直接从脚本解析)

USERSCRIPT_PATH=browser_utils/my_custom_script.js



# 调试模式查看注入效果

DEBUG_LOGS_ENABLED=true



# 流式代理配置(与脚本注入配合使用)

STREAM_PORT=3120

```

**v3.0 脚本注入优势**- 使用 Playwright 原生网络拦截,无时序问题
- 前后端模型数据100%同步
- 零配置维护,脚本更新自动生效

## 配置优先级

项目采用分层配置系统,按以下优先级顺序确定最终配置:

1. **命令行参数** (最高优先级)
   ```bash

   # 命令行参数会覆盖 .env 文件中的设置

   python launch_camoufox.py --headless --server-port 3048

   ```

2. **`.env` 文件配置** (推荐)
   ```env

   # .env 文件中的配置

   DEFAULT_FASTAPI_PORT=2048

   ```

3. **系统环境变量** (最低优先级)
   ```bash

   # 系统环境变量

   export DEFAULT_FASTAPI_PORT=2048

   ```

### 使用建议

- **日常使用**: 在 `.env` 文件中配置所有常用设置
- **临时调整**: 使用命令行参数进行临时覆盖,无需修改 `.env` 文件
- **CI/CD 环境**: 可以通过系统环境变量进行配置

## 注意事项

### 1. 文件安全

- `.env` 文件已被 `.gitignore` 忽略,不会被提交到版本控制
- 请勿在 `.env.example` 中包含真实的敏感信息
- 如需分享配置,请复制并清理敏感信息后再分享

### 2. 格式要求

- 环境变量名区分大小写
- 布尔值使用 `true`/`false`
- 数组使用 JSON 格式:`["item1", "item2"]`
- 字符串值如包含特殊字符,请使用引号

### 3. 重启生效

修改 `.env` 文件后需要重启服务才能生效。

### 4. 验证配置

启动服务时,日志会显示加载的配置信息,可以通过日志验证配置是否正确。

## 故障排除

### 配置未生效

1. 检查 `.env` 文件是否在项目根目录
2. 检查环境变量名是否正确(区分大小写)
3. 检查值的格式是否正确
4. 重启服务

### 代理配置问题

1. 确认代理服务器地址和端口正确
2. 检查代理服务器是否正常运行
3. 验证网络连接

### 端口冲突

1. 检查端口是否被其他程序占用
2. 使用 GUI 启动器的端口检查功能
3. 修改为其他可用端口

## 更多信息

- [安装指南](installation-guide.md)
- [高级配置](advanced-configuration.md)
- [故障排除](troubleshooting.md)