远程部署与跨设备访问指南
本指南适用于以下场景:
- 在远程服务器上部署 Open-LLM-VTuber,并通过本地设备访问。
- 在局域网内部署 Open-LLM-VTuber,并允许其他设备(如手机)访问。
- 将 Open-LLM-VTuber 服务暴露给公网访问(强烈不推荐,详见下文安全警告)。
进行远程部署或跨设备访问时,请注意以下配置要点:
修改后端 host
设置为 0.0.0.0
默认配置下,后端服务绑定的地址是 localhost
,这仅允许本机访问。若需允许其他设备通过 IP 地址访问,必须将 host
参数修改为 0.0.0.0
。
强制使用 HTTPS 与 WSS 协议
Open-LLM-VTuber 的前端是一个 Web 应用。根据浏览器的安全策略,在非安全环境(HTTP)下无法访问麦克风设备。这将导致前端出现 "VAD error" 错误,语音识别功能无法正常使用。
为确保功能正常,必须为您的服务配置 HTTPS 证书,并使用 https://
和 wss://
协议访问前端和 WebSocket 服务。
配置前端连接参数
访问前端页面时,点击左上角的设置按钮,确保 WebSocket URL
和 Base URL
参数配置正确:
- 将协议(URL 开头部分)修改为
https://
和wss://
。 - 将 IP 地址修改为后端服务的实际 IP 地址或域名。 正确配置后,页面背景应能 正常加载,且连接状态指示灯显示为绿色。
关于移动端访问
对于移动设备访问,推荐使用专为手机设计的 Open-LLM-VTuber-Unity 项目。
- 请注意:目前该项目不支持 iOS 平台,因为缺乏苹果开发者账号进行应用签名。
不推荐直接使用手机浏览器访问 Web 前端的原因如下:
- iOS 限制:iOS 系统要求每次音频播放都必须由明确的用户交互触发。这意味着 AI 每生成一句语音,用户都需要点击屏幕一次才能播放。
- Android 兼容性:Android 平台的浏览器内核多样,可能存在兼容性问题。推荐使用最新版本的 Google Chrome 手机版以获得最佳体验。
安全警告:请勿将 Open-LLM-VTuber 服务直接暴露于公网
本项目并非为公开部署而设计,存在潜在的安全风险。强烈建议不要将服务直接暴露在公共互联网上。
开放服务端口(包括 Ollama 等依赖服务的端口)可能导致未授权访问和资源滥用。已 有公开列表收集开放 Ollama 端口的服务器信息,允许他人免费使用这些资源。本项目的安全防护措施有限,请务必重视此风险。
对于需要远程访问的场景,推荐使用 Cloudflare Tunnel、Tailscale 等工具建立安全的访问通道,而非直接开放端口。
如果您不熟悉网络安全配置,请不必过于担心。只要您在本地计算机上运行服务,并仅通过 localhost
访问,通常不会受到外部攻击。上述警告主要针对在服务器或 NAS 等设备上进行部署的用户。
局域网部署是否需要 HTTPS 证书?
是的,即使在不公开的局域网内部署,由于浏览器的安全限制,通常也需要配置 HTTPS 证书才能正常使用麦克风。获取证书的方式包括:
- 自签名证书:创建和使用自己签发的证书。浏览器可能会提示安全警告。
- 通过域名申请证书 (DNS-01 Challenge):如果您拥有域名,可以使用 DNS 验证方式申请受信任的 SSL 证书,此过程无需公网 IP 或开放端口。
这两种方法的配置相对复杂,此处不作详细展开。
绕过 HTTPS 限制的方法 (未经测试)
以下方法或可绕过浏览器的 HTTPS 限制,但未经充分测试,请谨慎使用:
SSH 本地端口转发
如果您可以通过 SSH 连接到部署 Open-LLM-VTuber 的设备,可以使用本地端口转发功能。将远程服务器的端口映射到本地,使浏览器认为服务运行在本地,从而放宽安全限制。
执行以下命令(将 用户名
和 远程服务器地址
替换为实际值):
ssh -L 12393:localhost:12393 用户名@远程服务器地址
该命令将远程服务器的 12393
端口(Open-LLM-VTuber 默认端口)映射到本地的 12393
端口。
映射成功后,即可通过 http://localhost:12393
访问服务,无需 HTTPS。
将服务器 IP 地址添加 到浏览器信任列表 (待补充)
有用户报告称,可以通过将服务器的 IP 地址和端口添加到浏览器的信任站点或放宽特定来源的安全限制,来允许在 HTTP 环境下访问麦克风。具体操作方法因浏览器而异,欢迎社区补充相关文档。