1,699· 80 forks· Rust· Apache-2.0开源替代

Rmux: Rust 编写的跨平台终端复用器与自动化 SDK

Helvesec/rmux

原生支持 Linux/macOS/Windows 的现代终端复用器,提供类型化 Rust SDK 可编程控制任何 CLI/TUI 应用,支持浏览器共享会话

成熟度维护活跃,最近提交 6 天前,仅 4 个 open issues,快速迭代中

解决什么

传统终端复用器(如 tmux)主要面向 Unix 系统,Windows 用户需依赖 WSL;同时缺乏现代编程接口,自动化脚本通常依赖 shell 命令拼接。Rmux 用 Rust 重写终端复用逻辑,实现三平台原生支持(Linux/macOS/Windows),并提供类型化 SDK,让开发者能用 Rust 代码直接控制终端会话、窗格布局、输入输出捕获,像 Playwright 操作浏览器一样操作终端。此外内置 Web 共享功能,可将本地会话通过浏览器暴露给远程协作者,无需 SSH 端口转发。

为何火

在 HN 获得 194 点赞与 97 条讨论,核心吸引力在于"跨平台原生"(Windows 不再是二等公民)和"可编程性"(SDK 让终端自动化摆脱 shell 脚本)。项目展示了四个 Demo:多 Agent 编排(514 行)、广播竞技场(2171 行)、迷你 Zellij 克隆(944 行)、终端自动化(1495 行),证明 SDK 可构建复杂 TUI 应用。社区对"用代码控制终端的原语"价值认可度高,认为这比手写 shell 脚本更可靠。另一争议点是官网明显用 AI 生成(经典脉冲绿点、液态闪电动画),但多数开发者表示"只要代码架构扎实就不介意营销素材来源"。

核心功能

  • 跨平台原生复用: 支持 90+ tmux 命令,Windows 下直接运行无需 WSL,macOS/Linux 同样体验
  • 类型化 Rust SDK: 通过 rmux-sdkratatui-rmux crate 以编程方式创建会话、分割窗格、发送命令、捕获输出
  • 浏览器共享会话: 内置 Web Share 功能,可通过 localhost-run 等隧道服务将终端暴露到公网,支持鼠标调整分割线、创建新窗格
  • 持久化 Agent 工作流: 适合长时间运行的 AI Agent,通过 SDK 监控输出、动态调整布局、实现多 Agent 协作
  • 安全模型: Web 共享支持混合后量子端到端加密,可自托管前端或使用自定义入口

安装

Linux:

curl -fsSL https://rmux.io/install.sh | sh
# 或通过 APT/DNF 包管理器

macOS:

brew install helvesec/rmux/rmux

Windows:

irm https://rmux.io/install.ps1 | iex
# 或通过 Scoop

Rust 项目集成:

cargo add rmux-sdk ratatui-rmux

提供 deb/rpm/Homebrew/Scoop 多种包格式,GitHub Release 包含各平台二进制与 SHA256 校验和。

适合谁

  • Windows 开发者需要原生终端复用(不想装 WSL 跑 tmux)
  • DevOps/SRE 需要可编程的终端自动化(替代脆弱的 expect 脚本)
  • AI Agent 开发者构建需要持久终端交互的 Agent 工作流
  • 远程协作团队需要浏览器共享终端会话(类似 tmate 但更现代)
  • TUI 应用开发者想基于 Ratatui 构建复杂终端界面,需要底层复用能力

中文用户注意:Web 共享的隧道服务(localhost-run)可能需要梯子,建议自建反向代理或使用 Cloudflare Tunnel。

社区评价

HN 讨论热度高(194 点),争议集中在"AI 生成的官网"(经典 Claude 风格动画),但多数开发者认为这不影响技术价值。正面观点:① "用 Rust 库控制终端比写 shell 脚本可靠太多"(高赞);② "Windows 原生支持是刚需,tmux 在 Windows 体验太差";③ "SDK 的 Playwright 式 API 设计很直观";④ "Demo 代码量适中,证明可用性"。负面/中立观点:① 官网响应式布局在 1200px 宽度会裁切视频;② 有人质疑"README 也是 AI 写的",作者回应"请看代码架构,投入了大量精力";③ 项目仍在快速迭代(作者自述"moving fast"),API 可能有破坏性变更。整体社区对"让终端自动化像操作浏览器一样类型安全"的愿景认可度高。

选型对比

vs tmux(传统标准):

  • Rmux 优势:Windows 原生、Rust SDK 可编程、浏览器共享、现代异步架构
  • tmux 优势:生态成熟(插件丰富)、20 年历史稳定性、所有 Unix 系统预装或易装
  • 取舍:需要 Windows 支持或编程控制选 Rmux;追求稳定性和插件生态选 tmux

vs Zellij(Rust 新秀):

  • Rmux 优势:提供 SDK(Zellij 主要面向交互使用)、Web 共享内置、更轻量
  • Zellij 优势:开箱即用的插件系统、更丰富的 UI 主题、社区更大(7.8k stars)
  • 取舍:需要编程控制选 Rmux;日常交互使用选 Zellij

vs tmate(会话共享):

  • Rmux 优势:浏览器访问(无需 SSH 客户端)、支持鼠标操作、端到端加密
  • tmate 优势:极简(只做共享)、基于成熟 tmux 代码
  • 取舍:需要现代 Web 界面选 Rmux;只要命令行共享选 tmate

已知坑

  1. 快速迭代期:作者明确提醒"仍在快速变化",建议锁定版本(cargo install rmux --locked)避免意外破坏
  2. Web 共享隧道限制:默认 localhost-run 在国内可能不稳定,需自建隧道或使用 Cloudflare/ngrok
  3. 文档覆盖度:官网文档链接在 README 中被截断,部分高级功能需查看仓库 docs/ 目录
  4. Windows 兼容性:虽然原生支持,但某些 Unix 特定命令(如 send-keys 的转义)行为可能与 tmux 有差异
  5. 社区规模:1699 stars 相比 tmux(34k)和 Zellij(7.8k)仍小,遇到问题可能需直接提 issue
  6. unsafe 代码策略:README 标注"restricted unsafe",但未详细说明使用场景,关注安全的团队需审查源码

来源: GitHub 仓库 + HN 讨论(194 点 97 评论)

安装方式:curl 脚本/Homebrew/Scoop/cargo install

Rmux - Rust 跨平台终端复用器,支持 Windows/macOS/Linux 原生运行与浏览器共享 · AiDuo123