跳到主要内容

远程部署与跨设备访问指南

本指南适用于以下场景:

  • 在远程服务器上部署 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" 错误,语音识别功能无法正常使用。

非安全环境下麦克风访问受限导致的 VAD error

为确保功能正常,必须为您的服务配置 HTTPS 证书,并使用 https://wss:// 协议访问前端和 WebSocket 服务。

配置前端连接参数

访问前端页面时,点击左上角的设置按钮,确保 WebSocket URLBase 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 证书才能正常使用麦克风。获取证书的方式包括:

  1. 自签名证书:创建和使用自己签发的证书。浏览器可能会提示安全警告。
  2. 通过域名申请证书 (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 环境下访问麦克风。具体操作方法因浏览器而异,欢迎社区补充相关文档。