远程与设置

WebUI 远程办公

桌面应用本就在一个环回端口上为自己的 WebView 运行后端——但把一个无认证后端直接放上局域网,等于把完整的 shell、文件与 agent 访问权拱手相让。WebUI 远程访问为此而生:一键在一个稳定的 LAN 端口额外绑定一个经登录(密码 + 扫码)的监听器,让你从手机、平板或另一台电脑的浏览器使用 Nomi,而不放弃本地模式的便利。手机 / 平板与桌面是同一套界面、同一种体验

它是按实例启用的,存在于你已运行的桌面应用内,与专用的 nomifun-web 部署不同。当你已有桌面安装、只想从同一网络的另一台设备访问时,用这个;需要长期无头部署时,用专用服务器(见文末交叉链接)。

NomiFun 同时运行在笔记本与平板上——手机 / 平板与桌面同体验

入口:侧边栏 开放能力,路由 /open-capabilities 中的「WebUI 远程访问」面板。旧的 /settings/webui 路由会重定向到这里。

开放能力 · WebUI 远程访问面板

它不是社交平台

这是一条点对点的局域网通道:你的手机直连你自己电脑上的桌面后端,不经过任何第三方服务器、不上传任何账号、也没有所谓“好友 / 关注”。它适用于:

  • 同一局域网(家庭 / 办公 Wi-Fi);
  • 公司办公网内网;
  • 通过 VPN / Tailscale 互通的可信网络。

架构:双监听器,一个后端

桌面进程在两个 socket 上服务同一个后端(路由只构建一次):

  • 永久环回监听器(随机端口)——桌面自己的 WebView,靠每次启动生成的本地信任密钥被信任,始终在线;开关远程访问从不打断它。
  • 按需 LAN 监听器0.0.0.0:25808)——仅在你开启时绑定、关闭时拆除,远程浏览器连这个且必须登录。信任依据是密钥(只有桌面 WebView 持有)而非“来自 loopback”,因此同机其他 OS 账户、同机反向代理都不会被自动信任;它还强制 Host/Origin 白名单(仅 IP / localhost,阻断 DNS-rebinding 攻击)并按真实对端地址限流。

操作步骤

  1. 启用。在「开放能力」(/open-capabilities)的 WebUI 面板点 Enable。后端会在桌面进程内启动认证服务器(默认端口 25808;若被占用则回退到随机端口),并开通管理员(默认用户名 admin)。初始随机密码仅以明文显示一次——请立即复制保存。开关反映服务器的真实状态:若端口冲突等导致静默失败,开关会保持关闭而不会误导你。

  2. 拿到访问 URL。显示的 URL 自适应:本机为 http://localhost:<port>,远程为 http://<你的 LAN-IP>:<port>(例如 http://192.168.1.42:25808)。复制按钮复制 URL,点击会在外部浏览器打开。多网卡 / VPN 主机请确认广播出的是手机真正可达的那个地址。

  3. 手机 / 平板扫码登录。LAN 监听器运行时,凭据卡会出现二维码。用手机扫码即在手机浏览器打开 …/qr-login?token=<一次性>,页面校验 token 后写入 session 并跳转到主界面。token 5 分钟过期一次性使用;UI 每 4 分钟自动刷新二维码,避免一直开着的面板失效。二维码旁的复制按钮可复制完整登录 URL(手机扫不到时用),刷新按钮可按需重新生成 token。

  4. 办公。登录后你在手机 / 平板上看到的就是与桌面完全一致的工作界面——会话、伙伴、终端、知识库一应俱全,无需另装客户端。

要点与边界

  • 明文 HTTP,仅限可信网络。服务器监听明文 HTTP,请仅在可信本地网络(家庭 Wi-Fi / 公司办公网 / VPN / Tailscale)使用。要超出此范围对外暴露,请改用 TLS 反向代理后的 nomifun-web,而不是直接把 25808 暴露到公网。
  • 管理员权限即本地权限。管理员拥有与本地桌面用户相同的能力(shell / 文件 / agent 执行),请妥善对待密码与 QR token——不要发布二维码截图
  • 一次性 token 的安全边界。QR token 扫描后即被原子消费、无法重用,因此泄露的已用 token 自我限制;但扫描之前被泄露的 URL 仍能授予登录权。
  • 改密码即注销全员。修改密码(应用内或重置)会使所有现有会话失效——JWT 签名密钥随密码原子轮换。
  • 二维码登录始终登入主管理员。无论库中有多少用户,扫码都把你登入为已配置的 WebUI 管理员,它是按实例的“跳过密码表单”捷径,不是多用户功能。

常见问题

开关立即弹回 off? 说明 25808 被其他进程占用。能从 UI 配置就换端口,否则停掉占用该端口的程序。

二维码显示了但手机连不上? 检查访问 URL 里的 LAN IP——多网卡(Wi-Fi + 以太网 / VPN)时自动探测到的地址可能不是手机可达的那个;确认手机与电脑在同一网络 / 子网,且首次绑定时已在防火墙提示里放行 Nomi。

扫码后提示 “Login failed”? token 已过期(5 分钟 TTL)或已被消费,点二维码旁的刷新按钮重新生成。

忘了管理员密码? 用遮蔽密码旁的重置按钮生成新随机密码——同样只显示一次。

相关

完整文档 → GitHub