VibeKeys Max 遥控模式
在遥控模式下,VibeKeys Max 通过 MQTT broker 连接到你的电脑,让你用语音输入和物理按键控制 Claude Code 或 OpenAI Codex——无论你在哪里。电脑上无需暴露任何端口:两端都只是同一个 broker 的 MQTT 客户端。
MQTT 协议是 0.4.0 新引入的,与之前的版本不兼容。设备需要 v0.4.0+ 固件,电脑需要 vibetty 0.4.x——旧固件无法连接或正常显示。如果设备还在 0.3.x,请通过页面顶部的版本下拉框切换到 0.3.x 版文档。
准备工作
- 固件为 v0.4.0 或更新版本的 VibeKeys Max
- 一台运行 macOS、Linux 或 Windows 10 (1809+) / Windows 11 且装有 vibetty 0.4.x 的电脑
- Claude Code 2.1.0 或更新版本,或 OpenAI Codex
- 一个 MQTT broker——用 vibetty 内置的 broker(零配置)或任意托管 MQTT 服务均可
第一步:使用 vibetty 启动编程 agent 服务
vibetty 是 VibeKeys Max 和你的编程 agent(Claude Code 或 OpenAI Codex)之间的桥梁。它在你的电脑上以终端方式运行 agent,并通过 MQTT 共享该会话。
下载 vibetty 可执行文件
从 vibetty releases 页面下载最新的预编译版本,选择对应平台的构建,或使用以下命令。
macOS(M 芯片)
curl -LO https://github.com/second-state/vibetty/releases/latest/download/vibetty-macos-arm64
chmod +x vibetty-macos-arm64
sudo mv vibetty-macos-arm64 /usr/local/bin/vibetty
Windows
Invoke-WebRequest -Uri "https://github.com/second-state/vibetty/releases/latest/download/vibetty-windows-x64.exe" -OutFile "vibetty.exe"
# 加入 PATH 或移动到 PATH 中的目录
Linux
wget https://github.com/second-state/vibetty/releases/latest/download/vibetty-linux-x64
chmod +x vibetty-linux-x64
sudo mv vibetty-linux-x64 /usr/local/bin/vibetty
想自己编译?参见下方从源码构建。
配置 MQTT broker(一次性)
VibeKeys 和 vibetty 之间从不直接通信。它们都连接到同一个 MQTT broker——一个消息中转站——所有内容(屏幕画面、按键)都经由它传递:
VibeKeys(键盘)──> MQTT broker <── vibetty(你的电脑)
因为两端都只是主动向 broker 发起连接,你的电脑不需要做任何端口映射或防火墙配置。先运行一次 vibetty setup——它会打开一个交互式配置界面,并写入 ~/.vibetty/config.toml。然后从下面两种方案中选一种。
方案 A:内置 broker——最简单(设备和电脑在同一 WiFi 下)
vibetty 可以自己运行 broker——无需外部服务,不用注册账号:
[mqtt]
enable = true
builtin_broker = true
builtin_port = 1883 # 内置 broker TCP 端口
设备直接连接你的电脑,所以在 setup 页面要填 mqtt://你电脑的局域网IP:1883(见第二步)。两者必须在同一网络下。
内置 broker 没有鉴权,只适合本地网络使用——不要把它暴露到公网。
如果你先试过方案 B,切回来之前要把 broker 那一行清空。只要 broker 非空就优先生效,vibetty 会启动内置 broker,但客户端仍然连旧地址。
方案 B:云端 broker——设备随处可用
想在离开电脑的地方使用设备(咖啡馆、酒店、手机热点),就让两端都连接一个各自能从公网访问的 broker。对单个用户来说,注册一个免费的 MQTT 云服务就够了——例如 EMQX 提供免费选项:
[mqtt]
enable = true
broker = "mqtts://user:pass@broker.emqx.io:8883"
之后在 setup 页面,把同一个 URL 填到设备上。
没有单独的用户名/密码字段——直接写在 broker URL 中:mqtt://user:pass@host:port。broker 在公网上时建议使用 mqtts://(TLS)。
运行共享会话
在 -- 后面传入你的编程 agent——Claude Code 用 claude,OpenAI Codex 用 codex:
cd path/to/workspace/
vibetty -- claude # Claude Code
vibetty -- codex # OpenAI Codex
Windows 上在 PowerShell 或命令提示符中使用 .exe:
cd path\to\workspace\
vibetty.exe -- claude
vibetty 界面顶部的 MQTT 按钮显示 conn 时,表示已连上 broker 并开始共享。
可以附加任意 claude 参数:
# YOLO
vibetty -- claude --dangerously-skip-permissions
# 恢复此工作区的上次会话
vibetty -- claude -c --dangerously-skip-permissions
vibetty skill install --claude --codex 会为 Claude Code / Codex 安装 run-vibetty skill,让你的 agent 知道如何自己启动一个可共享的后台会话。
想让会话在后台运行、不占用终端:
tmux new-session -d -s vibetty -c "$HOME/workspace" 'vibetty -- claude'
从源码构建
如果想从头构建,请查看 vibetty GitHub 仓库并按其构建说明操作。
第二步:把 VibeKeys Max 连到 broker
- 给 VibeKeys Max 开机,在启动菜单中选择 Keyboard——配置服务只在键盘模式下广播。
- 用 Chrome 或 Edge 打开 VibeKeys setup 页面(Web Bluetooth 需要这些浏览器,且必须是 HTTPS)。
- 点击 Connect,在列表中选择你的 VibeKeys Max。
- 找不到设备?设备一旦作为蓝牙键盘连上了某个主机,就会停止广播。在设备上按
ACCEPT键重新开始广播,然后再试。
- 找不到设备?设备一旦作为蓝牙键盘连上了某个主机,就会停止广播。在设备上按
- 添加 WiFi 网络——最多 8 个。列表顺序就是优先级顺序:开机时设备会扫描并连接范围内排在最前面的网络,所以把你常用的网络(办公室、咖啡馆、家)一次性都加上,设备走到哪都能自动连上。网络必须是 2.4GHz(VibeKeys Max 不支持 5GHz)。
- 填写 MQTT broker 地址——与你在 vibetty 里配置的 broker 一致:
- 方案 A(内置 broker):
mqtt://你电脑的局域网IP:1883 - 方案 B(云端 broker):与你在
vibetty setup中填写的mqtts://user:pass@...URL 完全相同。
- 方案 A(内置 broker):
- 填写 ASR 语音识别字段(见语音输入),然后点击 Save Changes。
设备会把配置保存在本地,断电重启后自动重连——只要你保存过的任一 WiFi 网络在范围内。
第三步:开始 vibe coding
- 开机,在启动菜单中选择 Remote。设备连上 broker 后打开会话选择器,列出你正在运行的所有 vibetty 会话。
- 选择会话:
NEXT移动焦点,ACCEPT选中。每一行标签的颜色反映 agent 的实时状态——白色 = working(工作中),橙色 = stopped / waiting(停止/等待);焦点行有蓝色背景。 - 在远程终端中操作会话:
| 按键 | 功能 |
|---|---|
| 旋钮上 / 下 | 滚动终端输出 |
ACCEPT | 发送 Enter |
ESC | 发送 ESC |
NEXT | 发送 ↓ |
BACKSPACE | 发送 Backspace |
CUSTOM | 输入 /compact |
YOLO | Shift + Tab(允许所有编辑) |
| 按下旋钮 | (重新)打开会话选择器,切换会话 |
MIC | 语音输入——见语音输入 |
- 同时运行多个 agent,随时用旋钮在它们之间切换——无需重新连接。
以 Herdr 插件方式运行 vibetty
如果你使用 Herdr,vibetty 可以作为插件运行,而不需要单独的命令:
herdr plugin install second-state/vibetty
然后在 Herdr 命令面板中触发 share 动作(或绑定快捷键)即可共享当前 agent 面板——vibetty 状态栏会实时显示 MQTT 连接状态。详见 vibetty README。
没有硬件也能试
vibetty 的 HTTP 服务(在其界面中按 HTTP 按钮开启)提供 /mqtt_ws,一个基于浏览器的 MQTT 查看页,带终端视图、键盘输入和会话列表。设备配置好之前,可以用手机或笔记本先测试 broker 是否通。