mirror of
https://github.com/foxhui/WebAI2API.git
synced 2026-06-16 21:03:59 +08:00
docs: 移除代码文件,初始化文档专用分支
This commit is contained in:
@@ -0,0 +1,146 @@
|
||||
# 实例配置
|
||||
|
||||
实例 (Instance) 和工作者 (Worker) 是 WebAI2API 的核心配置概念。
|
||||
|
||||
## 概念说明
|
||||
|
||||
### Instance (浏览器实例)
|
||||
|
||||
一个 Instance 代表一个独立的浏览器进程,具有:
|
||||
- 独立的用户数据目录
|
||||
- 独立的 Cookie 和登录状态
|
||||
- 可选的专属代理配置
|
||||
|
||||
### Worker (工作者)
|
||||
|
||||
Worker 是 Instance 内的一个标签页,负责与特定平台交互。同一 Instance 下的多个 Worker:
|
||||
- 共享浏览器数据和登录状态
|
||||
- 共享代理配置
|
||||
- 可以是不同的适配器类型
|
||||
|
||||
## 配置结构
|
||||
|
||||
```yaml
|
||||
backend:
|
||||
pool:
|
||||
instances:
|
||||
- name: "browser_default" # 实例 ID
|
||||
userDataMark: "01" # 数据目录标识 (可选)
|
||||
proxy: # 实例级代理 (可选)
|
||||
enable: true
|
||||
type: socks5
|
||||
host: 127.0.0.1
|
||||
port: 1080
|
||||
workers: # Worker 列表
|
||||
- name: "worker1"
|
||||
type: lmarena
|
||||
- name: "worker2"
|
||||
type: zai_is
|
||||
```
|
||||
|
||||
## Instance 配置项
|
||||
|
||||
| 配置项 | 类型 | 必填 | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| `name` | string | ✅ | 实例唯一标识,用于日志和 Cookie 获取 |
|
||||
| `userDataMark` | string | ❌ | 数据目录标识,留空使用默认目录 |
|
||||
| `proxy` | object | ❌ | 实例级代理配置,参见[代理设置](/config/proxy) |
|
||||
| `workers` | array | ✅ | Worker 配置列表 |
|
||||
|
||||
### 数据目录
|
||||
|
||||
- 默认位置: `data/camoufoxUserData`
|
||||
- 设置 `userDataMark` 后: `data/camoufoxUserData_{mark}`
|
||||
|
||||
## Worker 配置项
|
||||
|
||||
| 配置项 | 类型 | 必填 | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| `name` | string | ✅ | Worker 唯一标识(全局唯一) |
|
||||
| `type` | string | ✅ | 适配器类型 |
|
||||
| `mergeTypes` | array | ❌ | 聚合模式的适配器列表 (type=merge 时必填) |
|
||||
| `mergeMonitor` | string | ❌ | 空闲时监控的后端 (可选) |
|
||||
|
||||
### 适配器类型
|
||||
|
||||
| 类型 | 说明 |
|
||||
| --- | --- |
|
||||
| `lmarena` | LMArena 图片生成 |
|
||||
| `lmarena_text` | LMArena 文本生成 |
|
||||
| `gemini_biz` | Gemini Business 图片生成 |
|
||||
| `gemini_biz_text` | Gemini Business 文本生成 |
|
||||
| `gemini` | Google Gemini |
|
||||
| `zai_is` | zAI 图片生成 |
|
||||
| `nanobananafree_ai` | Nano Banana Free |
|
||||
| `merge` | 聚合模式(单标签多后端) |
|
||||
|
||||
## 聚合模式 (Merge)
|
||||
|
||||
聚合模式允许在单个标签页中支持多个后端,实现故障转移:
|
||||
|
||||
```yaml
|
||||
workers:
|
||||
- name: "merged_worker"
|
||||
type: merge
|
||||
mergeTypes: [gemini_biz, lmarena, zai_is]
|
||||
mergeMonitor: gemini_biz # 空闲时挂机监控的后端
|
||||
```
|
||||
|
||||
::: tip 聚合模式优势
|
||||
- 节省浏览器资源
|
||||
- 自动故障转移
|
||||
- 统一登录状态
|
||||
:::
|
||||
|
||||
## 配置示例
|
||||
|
||||
### 单实例单 Worker
|
||||
|
||||
```yaml
|
||||
instances:
|
||||
- name: "default"
|
||||
workers:
|
||||
- name: "worker1"
|
||||
type: lmarena
|
||||
```
|
||||
|
||||
### 多实例隔离
|
||||
|
||||
```yaml
|
||||
instances:
|
||||
# 实例 1: 美国代理
|
||||
- name: "browser_us"
|
||||
userDataMark: "us"
|
||||
proxy:
|
||||
enable: true
|
||||
type: socks5
|
||||
host: us-proxy.example.com
|
||||
port: 1080
|
||||
workers:
|
||||
- name: "us_worker"
|
||||
type: lmarena
|
||||
|
||||
# 实例 2: 日本代理
|
||||
- name: "browser_jp"
|
||||
userDataMark: "jp"
|
||||
proxy:
|
||||
enable: true
|
||||
type: socks5
|
||||
host: jp-proxy.example.com
|
||||
port: 1080
|
||||
workers:
|
||||
- name: "jp_worker"
|
||||
type: lmarena
|
||||
```
|
||||
|
||||
### 聚合模式
|
||||
|
||||
```yaml
|
||||
instances:
|
||||
- name: "browser_merged"
|
||||
workers:
|
||||
- name: "all_in_one"
|
||||
type: merge
|
||||
mergeTypes: [gemini_biz, lmarena, zai_is]
|
||||
mergeMonitor: gemini_biz
|
||||
```
|
||||
@@ -0,0 +1,90 @@
|
||||
# 配置文件概览、
|
||||
|
||||
WebAI2API 使用 YAML 格式的配置文件 `config.yaml` 进行配置。
|
||||
|
||||
::: warning 注意
|
||||
项目的配置问价已可以完全使用 WebUI 进行配置,若您不了解 YAML 文件,请直接略过该板块访问 WebUI 修改配置!
|
||||
:::
|
||||
|
||||
## 配置文件结构
|
||||
|
||||
```yaml
|
||||
# 日志等级
|
||||
logLevel: info
|
||||
|
||||
# 服务器配置
|
||||
server:
|
||||
port: 3000
|
||||
auth: sk-your-key
|
||||
keepalive:
|
||||
mode: "comment"
|
||||
|
||||
# 后端配置
|
||||
backend:
|
||||
pool:
|
||||
strategy: least_busy
|
||||
failover:
|
||||
enabled: true
|
||||
maxRetries: 2
|
||||
instances:
|
||||
- name: "browser_default"
|
||||
workers:
|
||||
- name: "default"
|
||||
type: lmarena
|
||||
adapter:
|
||||
gemini_biz:
|
||||
entryUrl: ""
|
||||
|
||||
# 队列配置
|
||||
queue:
|
||||
queueBuffer: 2
|
||||
imageLimit: 5
|
||||
|
||||
# 浏览器配置
|
||||
browser:
|
||||
path: ""
|
||||
headless: false
|
||||
proxy:
|
||||
enable: false
|
||||
```
|
||||
|
||||
## 配置项说明
|
||||
|
||||
### 日志配置
|
||||
|
||||
| 配置项 | 类型 | 默认值 | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| `logLevel` | string | `info` | 日志等级:`debug`、`info`、`warn`、`error` |
|
||||
|
||||
### 服务器配置 (server)
|
||||
|
||||
| 配置项 | 类型 | 默认值 | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| `port` | number | `3000` | HTTP 服务监听端口 |
|
||||
| `auth` | string | - | API 鉴权 Token (Bearer Token) |
|
||||
| `keepalive.mode` | string | `comment` | 心跳模式:`comment` 或 `content` |
|
||||
|
||||
::: tip 心跳模式说明
|
||||
- **comment**: 发送 `:keepalive` 注释,不污染数据(推荐)
|
||||
- **content**: 发送空 delta,用于必须收到 JSON 才重置超时的客户端
|
||||
:::
|
||||
|
||||
### 队列配置 (queue)
|
||||
|
||||
| 配置项 | 类型 | 默认值 | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| `queueBuffer` | number | `2` | 非流式请求的额外排队数,0 表示不限制 |
|
||||
| `imageLimit` | number | `5` | 单次请求最大图片数量 (最大 10) |
|
||||
|
||||
### 浏览器配置 (browser)
|
||||
|
||||
| 配置项 | 类型 | 默认值 | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| `path` | string | `""` | Camoufox 可执行文件路径,留空使用默认 |
|
||||
| `headless` | boolean | `false` | 是否启用无头模式 |
|
||||
| `proxy` | object | - | 全局代理配置 |
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [实例配置](/config/instances) - 浏览器实例和 Worker 详细配置
|
||||
- [代理设置](/config/proxy) - 代理配置详解
|
||||
@@ -0,0 +1,85 @@
|
||||
# 代理设置
|
||||
|
||||
WebAI2API 支持全局代理和实例级代理配置。
|
||||
|
||||
## 代理优先级
|
||||
|
||||
1. **实例级代理** - 如果 Instance 配置了代理,使用该代理
|
||||
2. **全局代理** - 如果实例未配置,使用全局代理
|
||||
3. **直连** - 如果都未配置,直接连接
|
||||
|
||||
## 全局代理配置
|
||||
|
||||
在 `browser.proxy` 中配置全局代理:
|
||||
|
||||
```yaml
|
||||
browser:
|
||||
proxy:
|
||||
enable: true
|
||||
type: http # http 或 socks5
|
||||
host: 127.0.0.1
|
||||
port: 7890
|
||||
# 可选认证
|
||||
user: username
|
||||
passwd: password
|
||||
```
|
||||
|
||||
## 实例级代理配置
|
||||
|
||||
在 Instance 中配置专属代理:
|
||||
|
||||
```yaml
|
||||
backend:
|
||||
pool:
|
||||
instances:
|
||||
- name: "browser_us"
|
||||
proxy:
|
||||
enable: true
|
||||
type: socks5
|
||||
host: us-proxy.example.com
|
||||
port: 1080
|
||||
user: myuser
|
||||
passwd: mypassword
|
||||
workers:
|
||||
- name: "us_worker"
|
||||
type: lmarena
|
||||
```
|
||||
|
||||
## 配置项说明
|
||||
|
||||
| 配置项 | 类型 | 必填 | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| `enable` | boolean | ✅ | 是否启用代理 |
|
||||
| `type` | string | ✅ | 代理类型:`http` 或 `socks5` |
|
||||
| `host` | string | ✅ | 代理服务器地址 |
|
||||
| `port` | number | ✅ | 代理服务器端口 |
|
||||
| `user` | string | ❌ | 代理认证用户名 |
|
||||
| `passwd` | string | ❌ | 代理认证密码 |
|
||||
|
||||
## 强制直连
|
||||
|
||||
如果需要某个实例强制直连,即使配置了全局代理:
|
||||
|
||||
```yaml
|
||||
instances:
|
||||
- name: "browser_direct"
|
||||
proxy:
|
||||
enable: false # 显式禁用代理
|
||||
workers:
|
||||
- name: "direct_worker"
|
||||
type: lmarena
|
||||
```
|
||||
|
||||
## 代理选型建议
|
||||
|
||||
::: tip 推荐配置
|
||||
- **类型**: SOCKS5 代理通常比 HTTP 代理更通用
|
||||
- **稳定性**: 选择稳定可靠的代理服务商
|
||||
- **IP 纯净度**: 使用 [ping0.cc](https://ping0.cc) 等工具检查 IP 纯净度
|
||||
:::
|
||||
|
||||
::: warning 注意事项
|
||||
- 代理质量会影响验证码触发频率
|
||||
- 频繁更换 IP 可能导致账号风控
|
||||
- 建议使用住宅 IP 或数据中心静态 IP
|
||||
:::
|
||||
Reference in New Issue
Block a user