使用说明

远程连接和多设备

在一台电脑的 Vonvon Bot 里,管另一台设备上的 Vonvon Bot。

适用于 Vonvon Bot 0.9.0 及以后的版本。

这是什么

Bot 跑在一台设备上,你在另一台电脑上管它。

装了 Vonvon Bot 的每台电脑或服务器都是一台“设备”。设备上跑着 Vonvon Bot 的服务端,Bot 就在它里面。桌面端默认管这台电脑;把别的设备加进来,就能切过去,用同样的界面管那台的 Bot、群和设置。

适合这些情况:

  • Bot 放在服务器上,24 小时在线。
  • 代码在服务器上,Bot 要在那里干活。
  • 你有几台电脑,想在一处管。
  • 团队共用一台服务器跑 Bot。

连接全程加密。每台电脑单独授权,随时能撤销。连上的电脑都按你本人对待,什么都能改,这一版不分同事权限。所以团队共用一台服务器时,每人用自己的系统账号各装一份,各用一个端口(见让它能被连上)。

安装

被管的设备和你用来管的电脑,都装 0.9.0 或以后的 Vonvon Bot。

Mac、Windows

到下载页下载桌面端安装包。安装包自带服务端,装好打开就是一台能被连的设备,不用命令行。用来管别的设备的电脑也装它;浏览器里的网页端这一版只能管本机。

当被连的设备时,这台电脑要开着、有人登录着(锁屏没关系),Vonvon Bot 也要开着:

  • 可以关窗口,别退出 Vonvon Bot。退出后服务端和 Bot 都会停,别的设备就连不上了。
  • Mac:在设置 → 应用与启动里打开「登录电脑时启动」,重启后登录一次,Bot 就自动运行。
  • Windows:这一版没有登录时自动启动,重启后要登录、打开 Vonvon Bot。
  • 电脑睡着了也连不上。当设备的电脑,别让它自动睡眠。

Linux

Linux 没有桌面端,用一行命令只装服务端。用普通账号(不要用 root,见下面)SSH 登录服务器,运行:

sh -c "$(curl -fsSL https://dl.vonvon.cc/bot/server/install.sh)"

看到“装好了。Vonvon Bot 已在后台运行,开机自动启动。”就好了,退出 SSH 也照常跑。再重开一个终端(或者运行 . ~/.bashrc,zsh 用 . ~/.zshrc),试一下:

vonvon --version
  • 需要 x64 或 arm64、glibc 2.28 以上的发行版,例如 Ubuntu 20.04、Debian 10、RHEL 或 Rocky 8 及以后。CentOS 7 这类老系统、Alpine 这类 musl 系统不支持。
  • 脚本最后说“这台机器没让它开机自动启动”:少数系统不让普通账号自己开,退出登录后 Bot 会停。要它一直在线,用有管理员权限的账号运行一次脚本给的那条命令。
  • 脚本最后说“已直接启动一次”:Bot 在跑,但机器重启后不会自己起来。看它上面一行:写着“用 sudo 切过来时常见”的(用 su 切过来也一样),用这个账号直接 SSH 登录,运行 vonvon service install;写着“可能是容器”的,Bot 停了就运行 vonvon daemon start。
  • 脚本经 HTTPS 从 dl.vonvon.cc 下载,按发布清单核对哈希,机器上有 openssl 3 时再核对发布签名。所以第一次安装,信的是 HTTPS 和 dl.vonvon.cc。
  • 程序装在 ~/.local/share/vonvon-bot/server,数据在 ~/.vonvon-bot。卸载用下面这条,数据留着。
sh -c "$(curl -fsSL https://dl.vonvon.cc/bot/server/uninstall.sh)"

这两条命令只给 Linux。在 Mac 上运行,什么都不会装,只提示去下载安装包。

不要用 root 装

Bot 和它跑的 AI 代理都用装它的账号,用 root 等于把整台机器交给它们,所以脚本发现是 root 会停下。服务器上只有 root 时,先用 root 建一个普通账号,给它设密码:

useradd -m -s /bin/bash vonvon
passwd vonvon

服务器只允许密钥登录的,再把 root 的公钥给它:

mkdir -p ~vonvon/.ssh
cp ~/.ssh/authorized_keys ~vonvon/.ssh/
chown -R vonvon: ~vonvon/.ssh

然后用 ssh vonvon@服务器地址 登录,再运行上面的安装命令。不要用 su 或 sudo 切到这个账号装,那样开不了开机自动启动。

让它能被连上

默认只有本机能连。先让两台设备连通,再在被连的那台开一个地址。

先连通两台设备

推荐 Tailscale:两台都装上、登录同一个账号,就能用 100.x 开头的地址直接连,不用开端口,也不经过公网。

大陆网络下 Tailscale 延迟可能高。两台在同一个局域网里时,直接用局域网地址也行;ZeroTier、贝锐蒲公英、EasyTier 这类组网工具也行,选它分的地址。

云服务器(阿里云、腾讯云这类)两边都要装 Tailscale 或组网工具:列出来的“局域网”地址是机房内网,从家里连不上;公网 IP 多半不在服务器的网卡上,开了也一直“等地址出现”。

开一个地址

Linux:在终端里运行下面这条,它会列出这台设备的地址并标好类型(Tailscale、组网、局域网、运营商地址、公网)。回车选方括号里的默认项(有 Tailscale 时就是它),或者输入编号,也可以直接输入一个 IP。

vonvon remote enable

在脚本里、或者让终端里的 Codex、Claude Code 替你运行时,直接写 IP,比如局域网地址写 vonvon remote enable 192.168.1.23,Tailscale 用:

vonvon remote enable "$(tailscale ip -4)"

输出里没有“现在:…”这一行就开好了;有的话,那一行写着原因(见连不上怎么办)。也可以运行 vonvon remote status,状态是“在听”就好。飞书里的 Bot 不能替你开地址,这一步要你自己或终端里的 AI 来做。

Mac、Windows:在桌面端的设置 → 应用与启动 →「允许别的设备连接」里选一个地址,点「开启」,状态变成“监听中”就开好了。第一次开启时,Windows 会弹出「Windows 安全中心」,问是否允许公共网络和专用网络访问 Vonvon Bot,点「允许」。Mac 开着防火墙的,会问要不要让 Vonvon Bot 接受传入的网络连接,点允许。点了取消或拒绝,别的设备配对时会超时:Windows 上到 Windows 安全中心 → 防火墙和网络保护 → 高级设置 → 入站规则,删掉名为 Vonvon Bot 的「阻止」规则(要管理员权限),再在「允许别的设备连接」里关掉、重新开启;Mac 上到 系统设置 → 网络 → 防火墙 → 选项,把 Vonvon Bot 改成允许传入连接。

  • 只能开一个地址。再开一个就换掉原来的,原来的马上连不上;已经配对的电脑粘一次新链接就跟过来(见配对),不用重新配对。
  • 端口默认 7767,被占了再换,比如在那台设备上运行 vonvon remote port 7768;换完,已配对的电脑也要粘一次新链接。Windows 桌面端这一版不带 vonvon 命令,只用 7767。

公网地址和运营商地址(100.x 开头、却不在 Tailscale 或组网工具上的,可能是运营商的 CGNAT 地址)不建议用:开了以后,互联网上或同一运营商的人都能尝试连这台设备。只有配对过的电脑连得上、内容也加密,但服务端会直接暴露在扫描和攻击下。真要开:在终端里选的时候会问你确认;命令行直接写地址时加 --allow-public;桌面端勾「我了解风险」。

配对

用一条一次性的连接链接,让你的电脑认识那台设备。

  1. 在被连的设备上拿链接。Mac、Windows 在「允许别的设备连接」里点「生成连接链接」;Linux 运行:
    vonvon pair
  2. 在你用来管的电脑上,打开 Vonvon Bot → 设置 → 设备 →「添加设备」,粘贴链接,起个名字,点「连接并添加」。看到“已添加「设备名」”就配好了;点「切换到「设备名」」过去,它在设备列表里显示“在线”。

连接链接只给你自己的电脑用,别发给别人:谁用它配对,谁就能管这台设备上的 Vonvon Bot。

  • 链接 10 分钟内有效,只能用一次,一台电脑用一条。
  • 那台换了地址或端口:在那台生成一条新链接,粘到「添加设备」里,提示“已按新链接更新了它的地址”就好,不用重新配对。
  • 让终端里的 Codex、Claude Code 替你运行 vonvon pair 时,链接会留在它的对话记录里;用过或过期就作废。飞书里的 Bot 不能替你生成链接。
  • 配对成功后,被连的那台桌面端会弹出提示,说哪台新设备配对了。不是你操作的,马上撤销(见撤销、改名和安全)。Linux 上运行 vonvon clients ls,最近 24 小时配对的标着“新”。
  • 添加时提示“这条链接已经被用掉了”,又不是你用的:马上到那台设备上撤销,再生成一条新的。

切换和日常使用

一次看一台设备,切过去整个界面都换成那台的。

  • 在设置 → 设备里切换,第一行永远是“这台电脑”。主导航旁的小标签显示当前是哪台,点它也能切。
  • 切过去以后,Bot、群、设置都是那台设备上的。选文件夹,选的也是那台设备上的文件夹。
  • 退出这台电脑上的 Vonvon Bot,不影响那台设备上的 Bot。

在那台设备上添加 Bot

先在那台把 Codex 或 Claude 配好,再照平常添加 Bot。账号或自定义 API 都在那台的 Codex、Claude Code 里配;桌面端的设置 → Provider 只管安装和检测。页面写“在「设备名」上把 Codex 配置好”,说的就是这一步,配完回来点「重新检测」。

那台是 Linux 服务器时,服务器要连得上 Codex 或 Claude 的服务,安装、登录和 Bot 干活都要用。大陆地域的服务器一般要走代理。你在终端里设的代理,后台运行的 Bot 读不到,要写进数据目录里的 env(一行一个),再重启服务端:

echo 'HTTPS_PROXY=http://127.0.0.1:7890' >> ~/.vonvon-bot/env
vonvon daemon restart

地址换成你的代理。所有 Bot 和它们起的 Codex、Claude,以及在设置 → Provider 里的安装和检测,都会用上;vonvon daemon logs 里能看到读入了哪些变量(只记名字)。在终端里安装、登录 Codex 和 Claude 时,终端里照样要设代理。

用装 Vonvon Bot 的那个账号 SSH 登录服务器,在终端里配(用别的账号配的,Bot 用不上):

  1. 用官方的安装命令装,装完重开一个终端。Codex:
    curl -fsSL https://chatgpt.com/codex/install.sh | sh

    Claude Code:

    curl -fsSL https://claude.ai/install.sh | bash

    也可以在桌面端的设置 → Provider 里点安装。那样装的是 Vonvon 自己管的一份,不在终端的 PATH 上,直接敲 codex、claude 找不到;下一步登录时,换成 vonvon env scan 或 Provider 页给出的完整命令。

  2. 登录。服务器上没有浏览器,网址拿到你这台电脑的浏览器里打开。Codex 运行下面这条,打开它给的网址、登录,再输入它给的一次性代码;个人账号要先在 ChatGPT 的安全设置里打开设备代码登录,工作区账号要请管理员在工作区权限里打开。
    codex login --device-auth

    Claude Code 运行 claude,按提示登录:打开它给的登录网址、登录;页面上给了代码的,粘回终端。用 API key 或自定义 API 的,按 Codex、Claude Code 的官方说明配。别只写成 ~/.bashrc 里的环境变量,后台运行的 Vonvon Bot 读不到:Claude Code 的这些变量写进 ~/.claude/settings.json 的 env 里,Codex 的 API key 用 codex login --with-api-key 存好;也可以写进上面的 ~/.vonvon-bot/env。

  3. 回到桌面端,切到那台,打开设置 → Provider,点「检测配置」或「重新检测」。用 Claude 的,先在这里点「安装 SDK」。

撤销、改名和安全

授权不会过期。不再用的电脑,要在被连的设备上撤销。

Mac、Windows:在「允许别的设备连接」的「已配对的设备」里点「撤销」。Linux:先列出来,

vonvon clients ls

再按列出的 id 撤销:vonvon clients revoke <id>。

被连的是 Linux 也不用 SSH 上去:在已经连上的电脑里切到它,打开设置 → 应用与启动 →「允许别的设备连接」,撤销、改名、生成链接都能做。

撤销后那台电脑马上断开。一台电脑在这里生成过链接、带进来别的电脑时,桌面端勾“同时撤销它带进来的”,命令行加 --cascade,一起撤掉。

整台设备暂时不想让别的电脑连:在「允许别的设备连接」里点「关闭远程连接」,或者运行 vonvon remote disable,经它的连接马上断开。配对都还留着,在同一个地址重新开启后会自己连上。

反过来,你这台电脑不再管某台设备:在设置 → 设备里点「删除」。正切在那台设备上、而且连着时,删除会顺带让那台取消这台电脑的访问;其他情况只是这台电脑忘掉它,还要到那台设备上撤销(「允许别的设备连接」或 vonvon clients revoke)。

改名:这台设备的名字在「允许别的设备连接」里改,或者运行 vonvon device rename <名字>;配对过的电脑在「已配对的设备」里改名,或者运行 vonvon clients rename <id> <名字>。

完全访问只给信任的群

完全访问档下,群里的 Agent 能在这台设备上执行任何命令,读得到这个账号的所有文件,包括 Vonvon Bot 自己的凭据。所以完全访问的群里,群成员能让 Bot 在这台设备上做任何事,包括改 vonvon 的设置;这台电脑在「设备」里加过的别的设备,它也可能以你的身份去管。

只读、工作区可写的群里,Agent 经 vonvon 的工具和命令行改不了设置,也查不到本机的私密信息。设置只在桌面端、命令行或私聊里改。

Bot 自己建的群默认就是完全访问,在群设置的「模型与权限」→「执行权限」里改。

升级

大多数情况下,从连着的电脑就能升级那台设备的服务端(Windows 自带的除外,见下)。

  • 切到那台设备,在设置 → 应用与启动里找到“「设备名」的服务端”,检查更新、更新。
  • 升级、重启、退出都会直接中断正在进行的对话,升级和重启的按钮旁会先写明;卡片上会请发消息的人再发一次。
  • Linux 上也能在终端里升级,新版本起不来会自动退回原来的版本。vonvon update --check 只查不装。
vonvon update
  • Mac 上桌面端自带的服务端,也能从别的电脑一键更新。前提是那台 Mac 上的 Vonvon Bot 开着,它下载更新后重启。
  • Windows 上桌面端自带的服务端,这一版还不能从别的电脑更新,请在那台电脑上打开 Vonvon Bot 更新。
  • 0.8 及更早的版本还没有远程连接,要先在那台电脑上更新一次。
  • 两边版本不同时,界面顶部会提示。只是版本号不同,照常用;两边不能一起工作时,只能先升级旧的那边。

连不上怎么办

先看那台设备开着、地址在听,再按地址类型查网络。

在被连的设备上看后台服务和地址的状态(Mac、Windows 看「允许别的设备连接」):

vonvon daemon status
vonvon remote status
  • 后台服务没在运行:Linux 运行 vonvon daemon start,Mac、Windows 打开 Vonvon Bot。
  • 地址那一行写着“端口 7767 被占用”(命令行在说明一栏):换一个端口,在那台运行 vonvon remote port 7768。Windows 这一版只能用 7767,先关掉占着它的程序,Vonvon Bot 会自己重试。
  • 写着等地址出现、等待地址 … 出现:这台设备上暂时没有这个地址,比如开机时 Tailscale 还没连上,出现后自动开始。一直不出现,说明这台设备上没有这个地址,换一个列出来的。
  • 地址显示“网络变了”:局域网换了,或者组网地址跑到了普通网卡上。确认现在的网络可信后,再运行一次 vonvon remote enable <地址>,桌面端点「确认并重新开启」。

按地址类型查网络:

  • Tailscale:两台都登录了同一个 Tailscale 账号吗?在你这台电脑上运行 tailscale ping <那台的地址>。通了还连不上,看那台的防火墙(Windows 防火墙、ufw、firewalld)有没有放行 Vonvon Bot 或这个端口。容器、NAS 里的 Tailscale 常常没有自己的网卡,开不了它的地址,改用宿主机或局域网的地址。
  • 组网:两台在同一个组网里吗?先 ping 一下那台的地址。
  • 局域网:两台在同一个局域网里吗?那台的防火墙放行 Vonvon Bot 或 7767 端口了吗?
  • 运营商地址:一般从外面连不进去,建议两台都装 Tailscale。
  • 公网:只对公网 IP 就在网卡上的服务器有用(云服务器见让它能被连上)。那台的防火墙(云服务器还有安全组)放行 7767 端口了吗?

界面上的提示:

  • 说那台“关闭了远程连接,或者换了地址”:在那台重新开启;换了地址或端口的,在那台生成新链接,粘到「添加设备」里,只更新地址,不用重新配对。
  • 说那台“身份和配对时不一样了”:可能是那台重装过、换了数据目录,也可能是别的电脑占了它原来的地址。为安全起见已断开。确认是你自己的设备后,在设备页点「重新配对」,粘一条那台设备上生成的新链接。
  • 说那台“已取消这台电脑的访问”:这台电脑被撤销了。要再连,在那台生成新链接,重新配对。

命令速查

在哪台设备的终端里运行,就管哪台。

Linux 和 Mac 上有 vonvon 命令(Mac 的由桌面端装好);Windows 桌面端这一版不带,用桌面端操作。每条都能加 --json。

vonvon remote enable [IP]
开一个远程地址,不写 IP 就在终端里选;公网和运营商地址在终端里选时会问你,直接写地址时加 --allow-public
vonvon remote candidates
列出别的设备能连过来的地址
vonvon remote status
看开着的地址、它的状态和原因,配对了几台、在线几台
vonvon remote disable
关掉远程连接,经它的连接马上断开
vonvon remote port <端口>
改端口(默认 7767,被占了才换);已配对的电脑粘一次新链接
vonvon pair
生成连接链接,10 分钟内有效,只能用一次
vonvon clients ls
列出配对过的电脑,撤销过的也列
vonvon clients rename <id> <名字>
给配对过的电脑改名
vonvon clients revoke <id>
撤销,马上断开;加 --cascade 连它带进来的一起撤
vonvon device rename <名字>
改这台设备的名字
vonvon update
升级 Linux 上的服务端,会中断正在进行的对话;--check 只查不装
vonvon service install
装成开机自动启动的后台服务(Linux 的安装脚本已经做过)
vonvon service status
看后台服务
vonvon daemon status
看后台服务在不在跑;start 启动,restart、stop 重启、停止(会中断正在进行的对话)