mirror of
https://github.com/foxhui/WebAI2API.git
synced 2026-06-16 21:03:59 +08:00
docs: 更新文档
This commit is contained in:
@@ -10,7 +10,7 @@ export default defineConfig({
|
||||
description: "网页版 AI 服务转 OpenAI 兼容 API",
|
||||
|
||||
head: [
|
||||
['link', { rel: 'icon', href: '/favicon.png' }]
|
||||
['link', { rel: 'icon', href: '/WebAI2API/favicon.png' }]
|
||||
],
|
||||
|
||||
ignoreDeadLinks: [
|
||||
|
||||
+42
-68
@@ -1,58 +1,10 @@
|
||||
# Linux 部署
|
||||
|
||||
在 Linux 服务器上运行 WebAI2API 的特殊配置说明。
|
||||
【Docker用户可无视】在 Linux 服务器上运行 WebAI2API 的特殊配置说明。
|
||||
|
||||
## 显示方式选择
|
||||
## 1.安装必要依赖
|
||||
|
||||
在 Linux 服务器上运行非无头模式时,需要配置显示环境。
|
||||
|
||||
### 方式一:Xvfb + VNC (推荐)
|
||||
|
||||
使用虚拟显示器运行程序,通过 VNC 远程查看。
|
||||
|
||||
#### 使用内置命令
|
||||
|
||||
```bash
|
||||
npm start -- -xvfb -vnc
|
||||
```
|
||||
|
||||
这会自动:
|
||||
- 启动 Xvfb 虚拟显示器
|
||||
- 启动 x11vnc 服务器
|
||||
- 可通过 WebUI 直接查看 VNC 画面
|
||||
|
||||
#### 手动配置
|
||||
|
||||
如果内置命令无法满足需求:
|
||||
|
||||
1. **启动虚拟显示器**
|
||||
|
||||
```bash
|
||||
xvfb-run --server-num=99 --server-args="-ac -screen 0 1920x1080x24" npm start
|
||||
```
|
||||
|
||||
2. **映射到 VNC**
|
||||
|
||||
```bash
|
||||
x11vnc -display :99 -localhost -nopw -forever -noxdamage
|
||||
```
|
||||
|
||||
## VNC 连接
|
||||
|
||||
### 通过 SSH 隧道 (推荐)
|
||||
|
||||
```bash
|
||||
# 本地终端
|
||||
ssh -L 5900:127.0.0.1:5900 root@服务器IP
|
||||
```
|
||||
|
||||
然后使用 VNC 客户端连接 `127.0.0.1:5900`。
|
||||
|
||||
### 通过 WebUI
|
||||
|
||||
服务启动后,访问 WebUI 的「VNC 显示」页面即可直接查看。
|
||||
|
||||
### 安装依赖
|
||||
Linux 命令行模式下必要的依赖,他们可以让你在没有图形桌面的 Linux 环境下运行图形化应用。
|
||||
|
||||
### Ubuntu/Debian
|
||||
|
||||
@@ -73,9 +25,42 @@ sudo yum install xorg-x11-server-Xvfb x11vnc
|
||||
sudo pacman -S xorg-server-xvfb x11vnc
|
||||
```
|
||||
|
||||
### 方式二:X11 转发
|
||||
## 2.运行程序
|
||||
|
||||
适用于通过 SSH 连接服务器的场景。
|
||||
使用虚拟显示器运行程序,通过 VNC 远程查看。(程序会帮你处理好一切)
|
||||
|
||||
```bash
|
||||
npm start -- -xvfb -vnc
|
||||
```
|
||||
|
||||
这会自动:
|
||||
- 启动 Xvfb 虚拟显示器
|
||||
- 启动 x11vnc 服务器
|
||||
- 可通过 WebUI 直接查看 VNC 画面
|
||||
|
||||
## 3.连接程序
|
||||
|
||||
### 通过 WebUI (推荐)
|
||||
|
||||
服务启动后,访问 WebUI 的「VNC 显示」页面即可直接查看。
|
||||
|
||||
### 通过 SSH 隧道
|
||||
|
||||
::: tip 小贴士
|
||||
实际运行不一定是5900端口,程序会自动在 5900-5999 中寻找可用的 VNC 端口
|
||||
:::
|
||||
|
||||
```bash
|
||||
# 本地终端
|
||||
ssh -L 5900:127.0.0.1:5900 root@服务器IP
|
||||
```
|
||||
|
||||
然后使用 VNC 客户端连接 `127.0.0.1:5900`。
|
||||
|
||||
|
||||
## 额外方式:终端 X11 转发
|
||||
|
||||
不推荐该方式,除非你愿意自己配置运行环境。
|
||||
|
||||
1. 在本地安装 X Server(如 VcXsrv、Xming)
|
||||
2. 使用支持 X11 转发的终端(如 WindTerm)
|
||||
@@ -85,21 +70,6 @@ sudo pacman -S xorg-server-xvfb x11vnc
|
||||
ssh -X user@server
|
||||
```
|
||||
|
||||
## Docker 部署
|
||||
|
||||
Docker 镜像已内置 Xvfb 和 VNC 支持:
|
||||
|
||||
```bash
|
||||
docker run -d --name webai2api \
|
||||
-p 3000:3000 -p 5900:5900 \
|
||||
-v "$(pwd)/data:/app/data" \
|
||||
-e LOGIN_MODE=true \
|
||||
--shm-size=2gb \
|
||||
foxhui/lmarena-imagen-automator:latest
|
||||
```
|
||||
|
||||
通过 VNC 客户端连接 `localhost:5900` 完成登录。
|
||||
|
||||
## 常见问题
|
||||
|
||||
### 端口被占用
|
||||
@@ -109,3 +79,7 @@ docker run -d --name webai2api \
|
||||
### 显示号冲突
|
||||
|
||||
Xvfb 会自动从 50 开始查找可用的显示号,避免与现有 X 服务器冲突。
|
||||
|
||||
### 无法连接至 VNC
|
||||
|
||||
请检查依赖是否被安装成功。
|
||||
+1
-1
@@ -12,7 +12,7 @@ WebUI 以及管理接口仅在握手阶段使用 API Token 验证,传输阶段
|
||||
http://localhost:3000
|
||||
```
|
||||
|
||||
首次访问需要输入配置文件中设置的 API Token 进行认证。
|
||||
首次访问需要输入配置文件中设置的 API Token 进行认证,API Token 即配置文件中`auth`所配置的鉴权密钥。
|
||||
|
||||
## 功能模块
|
||||
|
||||
|
||||
+16
-27
@@ -11,50 +11,39 @@ git clone https://github.com/foxhui/WebAI2API.git
|
||||
cd WebAI2API
|
||||
```
|
||||
|
||||
### 2. 复制配置文件
|
||||
### 2. 安装依赖
|
||||
|
||||
```bash
|
||||
cp config.example.yaml config.yaml
|
||||
```
|
||||
|
||||
### 3. 安装依赖
|
||||
|
||||
```bash
|
||||
# 安装 Node.js 依赖
|
||||
# 1. 安装 NPM 依赖
|
||||
pnpm install
|
||||
|
||||
# 初始化预编译依赖
|
||||
npm run init
|
||||
# 2. 安装浏览器等预编译依赖
|
||||
npm run init
|
||||
# 使用代理
|
||||
# 直接使用 -proxy 可交互式输入代理配置
|
||||
npm run init -- -proxy=http://username:passwd@host:port
|
||||
```
|
||||
|
||||
::: warning 注意
|
||||
`npm run init` 需要从 GitHub 下载文件,请确保网络畅通。
|
||||
:::
|
||||
|
||||
### 4. 编辑配置
|
||||
|
||||
编辑 `config.yaml` 文件,设置鉴权密钥等配置:
|
||||
|
||||
```yaml
|
||||
server:
|
||||
port: 3000
|
||||
auth: sk-your-secret-key # 修改为你的密钥
|
||||
```
|
||||
|
||||
### 5. 启动服务
|
||||
### 3. 启动服务
|
||||
|
||||
```bash
|
||||
# 标准运行
|
||||
# 标准启动
|
||||
npm start
|
||||
|
||||
# Linux 命令行启动
|
||||
# Linux 系统 - 虚拟显示启动
|
||||
npm start -- -xvfb -vnc
|
||||
# 登录模式 (会临时强行禁用无头模式和自动化)
|
||||
npm start -- -login (-xvfb -vnc)
|
||||
```
|
||||
|
||||
## Docker 部署
|
||||
|
||||
::: warning **特别说明**
|
||||
登录相关操作可以在 WebUI 的虚拟显示器板块进行,也可通过 RealVNC 等工具连接(需添加映射 VNC 端口,默认非被占用的情况下为 5900)
|
||||
::: warning **安全提醒**
|
||||
- Docker 镜像默认开启虚拟显示器 (Xvfb) 和 VNC 服务
|
||||
- 可通过 WebUI 的虚拟显示器板块连接
|
||||
- **WebUI 传输过程未加密, 公网环境请使用 SSH 隧道或 HTTPS**
|
||||
:::
|
||||
|
||||
### Docker CLI
|
||||
|
||||
+67
-43
@@ -2,57 +2,81 @@
|
||||
|
||||
首次使用 WebAI2API 时,需要完成登录初始化才能正常使用。
|
||||
|
||||
## 登录模式
|
||||
## 1. 调整配置文件
|
||||
|
||||
### 启动登录模式
|
||||
程序初次运行会从`config.example.yaml`复制配置文件到`data/config.yaml`
|
||||
|
||||
::: tip 小贴士
|
||||
**配置文件的生效需要重启程序!**
|
||||
:::
|
||||
|
||||
```yaml
|
||||
server:
|
||||
# 监听端口
|
||||
port: 3000
|
||||
# 鉴权 API Token (可使用 npm run genkey 生成)
|
||||
# 该配置会对 API 接口和 WebUI 生效
|
||||
auth: sk-change-me-to-your-secure-key
|
||||
```
|
||||
|
||||
## 2. 访问 Web 管理界面
|
||||
|
||||
服务启动后, 打开浏览器访问:
|
||||
```
|
||||
http://localhost:3000
|
||||
```
|
||||
|
||||
::: tip 小贴士
|
||||
**远程访问**: 将 `localhost` 替换为服务器 IP 地址即可远程访问。
|
||||
**API Token**: 配置文件中的`auth`所配置的鉴权密钥。
|
||||
**安全建议**: 公网环境建议使用 Nginx/Caddy 配置 HTTPS 或通过 SSH 隧道访问。
|
||||
:::
|
||||
|
||||
|
||||
## 3. 初始化账号登录
|
||||
|
||||
> [!IMPORTANT]
|
||||
> **首次使用必须完成以下初始化步骤**:
|
||||
|
||||
1. **连接虚拟显示器**:
|
||||
- Linux/Docker: 在 WebUI 的"虚拟显示器"板块连接
|
||||
- Windows: 直接在弹出的浏览器窗口中操作
|
||||
|
||||
2. **完成账号登录**:
|
||||
- 手动登录所需的 AI 网站账号
|
||||
- 在输入框发送任意消息, 触发并完成人机验证 (如需要)
|
||||
- 同意服务条款或者新手指引 (如需要)
|
||||
- 确保不再有初次使用相关内容的阻拦
|
||||
|
||||
3. **SSH 隧道连接示例**(公网服务器推荐):
|
||||
```bash
|
||||
# 在本地终端运行,将服务器的 WebUI 映射到本地
|
||||
ssh -L 3000:127.0.0.1:3000 root@服务器IP
|
||||
|
||||
# 然后在本地访问
|
||||
# WebUI: http://localhost:3000
|
||||
```
|
||||
|
||||
::: tip 运行建议
|
||||
为降低风控, **强烈建议长期保持非无头模式运行**(或使用虚拟显示器 Xvfb)。
|
||||
|
||||
**关于有头/无头模式**:
|
||||
- **有头模式**(默认): 显示浏览器窗口, 便于调试和人工干预
|
||||
- **无头模式**: 后台运行, 节省资源但无法查看浏览器界面, 且可能会被网站检测
|
||||
:::
|
||||
|
||||
## 登录模式
|
||||
|
||||
登录模式会强制关闭无头模式
|
||||
|
||||
### 基础用法
|
||||
```bash
|
||||
# 启动第一个 Worker 进行登录
|
||||
npm start -- -login
|
||||
|
||||
# 启动指定 Worker 进行登录
|
||||
npm start -- -login=workerName
|
||||
```
|
||||
|
||||
### Linux 用户特殊说明
|
||||
|
||||
Linux 服务器用户可以使用 Xvfb + VNC 方式:
|
||||
|
||||
```bash
|
||||
npm start -- -xvfb -vnc
|
||||
```
|
||||
|
||||
然后通过 VNC 客户端连接 `:5900` 端口进行操作(也可使用 WebUI 中的虚拟显示器板块)
|
||||
|
||||
## 初始化步骤
|
||||
|
||||
1. **登录账号**
|
||||
- Linux 用户使用 `npm start -- -xvfb -vnc` 启动程序,然后使用 WebUI 或者第三方工具连接 VNC
|
||||
- 在打开的浏览器中登录相应平台的账号
|
||||
- 例如:Google 账号用于 Gemini,GitHub 账号用于 LMArena
|
||||
|
||||
2. **完成验证**
|
||||
- 在输入框发送任意消息
|
||||
- 触发并完成 CloudFlare/reCAPTCHA 验证
|
||||
- 同意服务条款
|
||||
|
||||
3. **验证成功**
|
||||
- 确认可以正常发送消息和接收回复
|
||||
- 关闭浏览器或按 `Ctrl+C` 退出登录模式
|
||||
|
||||
|
||||
::: tip 运行建议
|
||||
- 初始化完成后可使用无头模式运行,为降低风控风险,**强烈建议长期保持非无头模式运行**。
|
||||
- **WebUI 和 VNC 传输过程均未加密,若在公网环境运行请走 SSH 隧道或者使用 Caddy/Nginx 为 WebUI 添加 HTTPS 连接**
|
||||
```bash
|
||||
# SSH隧道方法:在本地终端运行,将服务器 5900 端口映射到本地
|
||||
ssh -L 5900:127.0.0.1:5900 root@服务器IP
|
||||
```
|
||||
:::
|
||||
|
||||
## 多 Worker 登录
|
||||
### 多 Worker 登录
|
||||
|
||||
如果配置了多个 Worker,需要分别为每个 Worker 完成登录:
|
||||
|
||||
@@ -66,7 +90,7 @@ npm start -- -login=worker2
|
||||
同一 Instance(浏览器实例)下的多个 Worker 共享登录状态。如果使用 Google OAuth 等统一登录方式,只需登录一次即可。
|
||||
:::
|
||||
|
||||
## WebUI 登录模式
|
||||
### WebUI 登录模式
|
||||
|
||||
服务运行后,也可以通过 WebUI 切换到登录模式:
|
||||
|
||||
@@ -75,7 +99,7 @@ npm start -- -login=worker2
|
||||
3. 点击「重启」按钮的下拉箭头
|
||||
4. 选择「登录模式重启」或指定 Worker 登录
|
||||
|
||||
## 下一步
|
||||
## 4.下一步
|
||||
|
||||
登录完成后,请阅读以下内容:
|
||||
|
||||
|
||||
@@ -20,11 +20,15 @@
|
||||
::: tip 实测环境表现
|
||||
**获取完整模型列表**: 通过 `GET /v1/models` 接口查看当前配置下所有可用模型及其详细信息。
|
||||
|
||||
✅目前支持;❌目前不支持,但未来可能会支持;🚫网站不支持,是否在支持看网站具体情况;
|
||||
✅目前支持;❌目前不支持,但未来可能会支持;🚫网站不支持, 未来是否在支持看网站具体情况;
|
||||
:::
|
||||
|
||||
## 项目截图
|
||||
|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
+3
-3
@@ -22,9 +22,9 @@ features:
|
||||
- icon: 🤖
|
||||
title: 拟人交互
|
||||
details: 模拟人类打字与鼠标轨迹,通过特征伪装规避自动化检测
|
||||
- icon: 🔄
|
||||
title: 接口兼容
|
||||
details: 提供标准 OpenAI 格式接口,支持流式响应与心跳保活
|
||||
- icon: 🎨
|
||||
title: 网页管理
|
||||
details: 提供可视化管理界面, 支持实时日志查看、VNC 连接、适配器管理等
|
||||
- icon: 🚀
|
||||
title: 并发隔离
|
||||
details: 支持多窗口并发执行,实现多账号浏览器实例级数据隔离
|
||||
|
||||
Reference in New Issue
Block a user