From 7cc03d7f52006aa53d461a2ef5c128942bf603fe Mon Sep 17 00:00:00 2001 From: foxhui Date: Tue, 23 Dec 2025 03:43:10 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vitepress/config.js | 2 +- docs/admin/linux.md | 110 ++++++++++++++----------------------- docs/admin/webui.md | 2 +- docs/guide/deployment.md | 43 ++++++--------- docs/guide/first-use.md | 110 ++++++++++++++++++++++--------------- docs/guide/introduction.md | 8 ++- docs/index.md | 6 +- 7 files changed, 136 insertions(+), 145 deletions(-) diff --git a/.vitepress/config.js b/.vitepress/config.js index e96d1e5..7f4a56a 100644 --- a/.vitepress/config.js +++ b/.vitepress/config.js @@ -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: [ diff --git a/docs/admin/linux.md b/docs/admin/linux.md index b9ae4c8..612be20 100644 --- a/docs/admin/linux.md +++ b/docs/admin/linux.md @@ -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 + +请检查依赖是否被安装成功。 \ No newline at end of file diff --git a/docs/admin/webui.md b/docs/admin/webui.md index 10f2cde..9ba87b0 100644 --- a/docs/admin/webui.md +++ b/docs/admin/webui.md @@ -12,7 +12,7 @@ WebUI 以及管理接口仅在握手阶段使用 API Token 验证,传输阶段 http://localhost:3000 ``` -首次访问需要输入配置文件中设置的 API Token 进行认证。 +首次访问需要输入配置文件中设置的 API Token 进行认证,API Token 即配置文件中`auth`所配置的鉴权密钥。 ## 功能模块 diff --git a/docs/guide/deployment.md b/docs/guide/deployment.md index 76bbf6c..9c2cf2e 100644 --- a/docs/guide/deployment.md +++ b/docs/guide/deployment.md @@ -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 diff --git a/docs/guide/first-use.md b/docs/guide/first-use.md index 9c5fd99..32c85bf 100644 --- a/docs/guide/first-use.md +++ b/docs/guide/first-use.md @@ -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.下一步 登录完成后,请阅读以下内容: diff --git a/docs/guide/introduction.md b/docs/guide/introduction.md index 4f7fa7b..93ef7f3 100644 --- a/docs/guide/introduction.md +++ b/docs/guide/introduction.md @@ -20,11 +20,15 @@ ::: tip 实测环境表现 **获取完整模型列表**: 通过 `GET /v1/models` 接口查看当前配置下所有可用模型及其详细信息。 -✅目前支持;❌目前不支持,但未来可能会支持;🚫网站不支持,是否在支持看网站具体情况; +✅目前支持;❌目前不支持,但未来可能会支持;🚫网站不支持, 未来是否在支持看网站具体情况; ::: ## 项目截图 ![Image](https://github.com/user-attachments/assets/296a518e-c42b-4e39-8ff6-9b4381ed4f6e) -![Image](https://github.com/user-attachments/assets/06f31024-ecd4-48d2-9789-eedc98c9c5b9) \ No newline at end of file +![Image](https://github.com/user-attachments/assets/bfa30ece-6947-4f18-b2c9-ccc8087b7e89) + +![Image](https://github.com/user-attachments/assets/5b15ebd2-7593-4f0e-8561-83d6ba5d88ab) + +![Image](https://github.com/user-attachments/assets/53deea29-4071-4a07-8a61-211761c5f2f7) diff --git a/docs/index.md b/docs/index.md index 5973f00..c5bbac5 100644 --- a/docs/index.md +++ b/docs/index.md @@ -22,9 +22,9 @@ features: - icon: 🤖 title: 拟人交互 details: 模拟人类打字与鼠标轨迹,通过特征伪装规避自动化检测 - - icon: 🔄 - title: 接口兼容 - details: 提供标准 OpenAI 格式接口,支持流式响应与心跳保活 + - icon: 🎨 + title: 网页管理 + details: 提供可视化管理界面, 支持实时日志查看、VNC 连接、适配器管理等 - icon: 🚀 title: 并发隔离 details: 支持多窗口并发执行,实现多账号浏览器实例级数据隔离