2026年6月18日 1 分钟阅读

Relaymux 让 AI 编码 Agent 远程可控、本地可见

tinyash 0 条评论

用 AI 编码工具写代码遇到一个尴尬的问题:Agent 跑在服务器上,你想看进度只能干等;跑在本地桌面上,你又不能随时盯着。Relaymux 用了一个巧妙的思路——Telegram 发指令 + tmux 看过程,既远程可控,又保持本地可见。

痛点:Agent 的可见性与可控性不可兼得

日常使用 Claude Code、Codex 或 pi 这些 AI 编码 Agent 时,通常只有两种模式:

  • 后台运行:nohup 丢后台,看不到输出,不知道 Agent 在做什么
  • 前台运行:终端打开,人得守着,离开就断了

Relaymux 打破了这种二元对立。它用一个轻量级的本地服务,把 Telegram 当成遥控器,tmux 当成操作窗口——Agent 在 tmux 窗口里跑,你可以随时通过 tmux attach 看到实时输出,机器合上或人走开也不影响 Agent 继续工作。

安装

环境要求:Node.js 20+、npm、tmux,以及一个 Agent CLI(pi、codex、claude 均可)。

curl -fsSL https://raw.githubusercontent.com/mupt-ai/relaymux/main/install.sh | bash

安装脚本会下载源码包,在本地构建 relaymux,并将 CLI 入口写入 PATH 中的可写目录。不需要 clone 仓库。

验证安装:

relaymux --version

配置 Telegram Bot

Relaymux 的核心是 Telegram 远程控制,所以第一步是创建一个 Telegram Bot。

  1. 在 Telegram 里打开 BotFather,输入 /newbot,给 Bot 取名(比如 MyAgentRelayBot
  2. 复制 Bot Token(形如 123456:ABC-DEF1234ghIkl
  3. 在本地运行配置命令:
relaymux setup --telegram --telegram-bot-token '<你的-bot-token>'

按提示在 Telegram 中打开你的 Bot,发送 /start。Relaymux 会自动存储 Token、发现你的 Chat ID、写入配置文件,并启动后台服务。

检查状态:

relaymux status

日常使用

配置完成后,给 Telegram Bot 发一条消息即可启动 Agent:

Open an agent in ~/code/my-app and inspect the failing tests.

Relaymux 会将消息传递给本地的 Agent 编排器(比如 pi),后者在 tmux 窗口中启动 Agent 实例,Agent 的最终回复会通过 Telegram 发回来。

查看实时输出

所有 Agent 都跑在一个名为 agents 的共享 tmux session 中,每个 Agent 独占一个 tmux 窗口:

tmux attach -t agents

可以用 Ctrl-b + 方向键切换窗口,Ctrl-b d 分离。分离后 Agent 继续在后台运行,Telegram 关闭也不影响。

手动启动 Agent

除了通过 Telegram 触发,也可以直接在命令行启动:

relaymux launch \
  --repo ~/code/my-app \
  --agent pi \
  --name inspect-tests \
  --prompt "检查失败的测试并总结问题"

这个命令会在 tmux 中启动一个新的 Agent 窗口,赋予它指定的任务。

发送通知测试

如果你想测试 Telegram 通知是否正常工作:

relaymux notify --from test --reply-mode telegram --message "hello from relaymux"

Relaymux vs 其他方案

方案远程控制实时可见可中断调试
nohup 后台
SSH + tmux
Relaymux✅(Telegram)✅(tmux)

Relaymux 的核心差异化价值在于:Telegram 解决了「发指令」和「收结果」的远程通道问题,tmux 解决了「看过程」和「调试」的本地可见性问题。两者用对的姿势组合,而不是在群聊里拼凑一个方案。

iMessage/SMS 支持(Beta)

如果你不想用 Telegram,Relaymux 还提供了 iMessage/SMS beta 支持。它依赖本地的 imsg 命令:

relaymux setup --imsg

如果无法自动发现聊天 ID,可以手动指定:

relaymux setup --imsg --chat-id '<你的手机号或聊天 ID>'

排障与日志

Relaymux 内置了几个排障命令:

relaymux doctor                      # 检查环境依赖
relaymux status-launch-agent         # 启动 Agent 排障
relaymux status --history            # 查看历史状态

日志文件位于 ~/.relaymux/logs/,配置文件位于 ~/.relaymux/config.json

适用场景

  • 远程开发:在办公室启动 Agent,回家后通过 Telegram 查看结果
  • 多项目并行:每个项目一个 tmux 窗口,通过 Telegram 分别管理
  • 无人值守测试:Agent 在 tmux 中跑自动化测试,完成后推送总结到 Telegram
  • 团队共享:将 Bot 加入群组,团队成员都能触发 Agent 工作

总结

Relaymux 解决的是一个简单但普遍的问题:AI 编码 Agent 跑起来了,然后呢?你既要能远程触发,又要能实时看到它在做什么,还要能在中间打断调试。Telegram + tmux 的组合,刚好用最轻量的方式满足了这三个需求——不需要搭 Web 面板,不需要自建调度服务,一行 curl 安装,几分钟配置,就能用起来。

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。