docs: 移除代码文件,初始化文档专用分支

This commit is contained in:
foxhui
2025-12-20 20:02:24 +08:00
parent e8123cca5d
commit 28cac21641
123 changed files with 28258 additions and 18637 deletions
+146
View File
@@ -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
```
+90
View File
@@ -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) - 代理配置详解
+85
View File
@@ -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
:::