Note
RMUX には E2E Web 多重化機能があります。詳しくはドキュメントを参照してください。
RMUX は現在 Python と TypeScript の SDK を提供しています: librmux, @rmux/sdk。
機能要望や問題報告は issue を作成してください。
RMUX は、macOS、Linux、Windows で 90 以上の tmux コマンドをネイティブに提供する、モダンで非同期、型付きの Rust マルチプレクサです。WSL は不要です。
公開 Rust SDK とネイティブ Ratatui 統合も提供します。
CLI から使うことも、セッションをブラウザに共有することも、Rust から操作することもできます。
- shell、pane、window、session、scrollback のためのローカル daemon アーキテクチャ。
- 集中的な互換性テストを備えた tmux 風コマンドサーフェス。
- Linux、macOS、Windows のネイティブバックエンド。
- 型付き自動化とターミナル状態アサーションのための公開 Rust SDK。
- Rust ターミナルアプリケーションで RMUX pane を描画する Ratatui ウィジェット。
- ハイブリッド・ポスト量子エンドツーエンド暗号化を備えたブラウザ Web Share。
- GitHub Releases、APT、RPM、Homebrew、WinGet、Scoop、Chocolatey と crates.io の公開 SDK crates 向けリリースパッケージング。
ローカルのコマンドヘルプを確認します:
rmux list-commands
rmux new-session --help
rmux split-window --help
rmux web-share --helprmux -V でインストール済みのバージョンを確認できます。
RMUX を何に使えるかを示す短い例です。
![]() マルチエージェント編成 約 514 行 |
![]() Agent Broadcast Arena 約 2,171 行 |
![]() Mini-Zellij 約 944 行 |
![]() ターミナル自動化 約 1,495 行 |
| プラットフォーム / マネージャー | コマンド |
|---|---|
brew install rmux |
|
winget install rmux |
|
scoop bucket add rmux https://github.com/Helvesec/scoop-rmux && scoop install rmux |
|
choco install rmux |
|
| APT セットアップガイドを参照 | |
| DNF セットアップガイドを参照 | |
nix profile install github:Helvesec/rmux |
|
cargo install rmux --locked |
直接ダウンロード(.tar.gz、.deb、.rpm、.zip)は v0.9.0 GitHub Release から利用できます。
パッケージマネージャはレジストリ審査中に遅れることがあります。更新が反映されるまでは、バージョンが固定された GitHub Release のダウンロードを使用してください。
Windows では .zip 全体を展開し、展開したパッケージのルートを
PATH に追加してください。rmux.exe、rmux-daemon.exe、
libexec/rmux/rmux.exe は同じ配置のまま保持する必要があります。
公開実行ファイルだけをコピーしても有効なインストールにはなりません。
Unix の .tar.gz を直接ダウンロードした場合は、展開したアーカイブ内で
./install.sh --prefix ~/.local を実行してください。このインストーラは、
小さな公開 CLI が完全な helper に必ず到達できるよう、必要な bin/ と
libexec/ の配置を保ちます。
リリースパッケージでは、高速な detached コマンドに小さな公開 CLI を使い、複雑な tmux 互換コマンド形式には非公開の完全 CLI helper を使う場合があります。Windows パッケージでは rmux.exe が軽量 dispatcher になり、完全 CLI は libexec/rmux/rmux.exe に配置されます。CLI 互換性の診断中に完全 helper を強制するには RMUX_DISABLE_TINY_CLI=1 を設定してください。
ローカル RMUX workspace で Claude Code を実行し、 tmux teammate mode を有効にします。
rmux claude [args]
# 例: rmux claude --dangerously-skip-permissionsRMUX は attached session を開き、--teammate-mode tmux と [args] を
そのまま Claude に渡します。
内部の仕組み: コマンドを正しくルーティングするため、RMUX は Claude の
PATH の先頭にプライベートな tmux shim を追加します。これは Claude
プロセス内に厳密に限定され、システムの tmux インストールとは競合しません。
このリポジトリの外でも Claude が RMUX CLI、SDK、web-share、automation patterns を参照できるようにするには、RMUX の user-level Claude Code skill をインストールします:
rmux claude install-skillこの skill は Claude profile 配下にインストールされます(Linux/macOS では
~/.claude/skills/rmux、Windows では
%USERPROFILE%\.claude\skills\rmux)。プロジェクトが隠し .claude
source-tree directory を持たずに package/install できるよう、
リポジトリ内の source copy は resources/claude/skills/rmux/SKILL.md に
保持されています。
注: マシンに claude がインストールされている必要があります。
Linux と macOS では、RMUX は標準の system / user locations から .rmux.conf を読み込みます:
/etc/rmux.conf~/.rmux.conf$XDG_CONFIG_HOME/rmux/rmux.conf~/.config/rmux/rmux.conf
Windows では、RMUX は次の場所から .rmux.conf を読み込みます:
%XDG_CONFIG_HOME%\rmux\rmux.conf%USERPROFILE%\.rmux.conf%APPDATA%\rmux\rmux.conf%RMUX_CONFIG_FILE%
RMUX がデフォルト設定検索で起動し、RMUX 設定ファイルが読み込まれなかった場合、標準の tmux.conf の場所も確認します。-f で明示された設定ファイルではこの fallback は発生しません。
Fallback ファイルは tmux 互換の source parser を使い、best-effort で読み込まれます。サポート済みコマンドは適用され、未サポートの plugin 行は起動を中断せずに報告されます。autoload を無効化するには RMUX_DISABLE_TMUX_FALLBACK=1 を設定してください。
Unix では、RMUX はコマンド環境内に socket ごとのプライベート tmux shim も提供し、一般的な plugin script が RMUX に戻るようにします。無効化するには RMUX_DISABLE_TMUX_SHIM=1 を設定してください。
RMUX は pane や session をブラウザに共有し、pane を作成し、split をリサイズし、ターミナル実行をローカルに保ちます。
# loopback 上でローカル Web Share を開始
rmux web-share
# 名前付き session を共有
rmux new-session -d -s work
rmux web-share -t work
# localhost の外へ共有
rmux web-share --tunnel-provider localhost-runtunnel provider を使う、自分の ingress を持ち込む、静的 frontend を自分のドメインでホストする、いずれも可能です。
便利な入口:
SDK はローカル RMUX daemon に接続し、自動化向けに sessions、panes、 streams、waits、snapshots を公開します。
cargo add rmux-sdk
pip install librmux
npm install @rmux/sdkRMUX の完全なドキュメントは rmux.io/docs で利用できます。
含まれるもの:
ネイティブなターミナル選択の直感性を保ちつつ、より簡単な split binding と clipboard integration を追加する、人間向けの ergonomic profile については docs/human-friendly-config.md を参照してください。
use ratatui::{buffer::Buffer, layout::Rect, widgets::Widget};
use ratatui_rmux::{PaneState, PaneWidget};
use rmux_sdk::PaneSnapshot;
fn render(snapshot: PaneSnapshot, area: Rect, buffer: &mut Buffer) {
let state = PaneState::from_snapshot(snapshot);
PaneWidget::new(&state).render(area, buffer);
}
rmux は shell、session、window、pane、PTY process をローカル daemon に残します。ローカル client は IPC を使います。Web Share は明示的なブラウザアクセスです。daemon は選択された pane または session を end-to-end encrypted WebSocket で公開し、実行はあなたのマシン上に残ります。
| Crate | 役割 | 公開 |
|---|---|---|
rmux-types |
共有されるプラットフォーム非依存の値型 | 公開 |
rmux-proto |
分離式 IPC DTO、framing、wire-safe な error | 公開 |
rmux-os |
小さな OS 境界 helper | 公開 |
rmux-ipc |
ローカル IPC endpoint と transport | 公開 |
rmux-sdk |
daemon-backed Rust SDK | 公開 |
ratatui-rmux |
Ratatui integration widget | 公開 |
rmux-web-crypto |
Web Share E2EE core と WASM crypto boundary | 公開 |
rmux-pty |
PTY allocation、resize、child process control | support crate |
rmux-core |
session、pane、layout、format、hook、buffer | support crate |
rmux-server |
Tokio daemon と request dispatch | support crate |
rmux-client |
ローカル IPC client と attach plumbing | support crate |
rmux |
CLI と隠し daemon entrypoint | public binary |
rmux-render-core |
共有 snapshot rendering core | workspace-internal |
| プラットフォーム | PTY backend | IPC backend | デフォルト endpoint |
|---|---|---|---|
| Linux | Unix PTY | Unix socket | /tmp/rmux-{uid}/default |
| macOS | Unix PTY | Unix socket | /tmp/rmux-{uid}/default |
| Windows | ConPTY | named pipe | ユーザーごとの named pipe |
RMUX は、fish などターミナル機能を問い合わせる shell と連携できます。端末属性問い合わせに応答し、Escape キーのタイミングも扱うため、RMUX pane 内でも fish prompt と key sequence が通常どおり動作します。
Graphics passthrough は、Kitty graphics または SIXEL をサポートする外側の terminal で利用できます。RMUX は Kitty、Ghostty、WezTerm で Kitty graphics を検出し、foot、mintty、mlterm、WezTerm などで SIXEL を検出します。これは opt-in です:
set -g allow-passthrough ontmux の値 all は設定互換性のために受け付けられます。RMUX は attached pane を描画するため、all は現在、unattached pane に passthrough を追加するのではなく on と同じように動作します。
terminal がいずれかの protocol をサポートしているのに自動検出されない場合は、terminal feature override を追加してください:
set -as terminal-features 'xterm-kitty:kitty-graphics'
set -as terminal-features 'xterm*:sixel'SIXEL passthrough は自動化された Unix PTY attach regression suite でカバーされています。Windows では、OS が対応していれば RMUX は modern ConPTY passthrough を有効にしますが、SIXEL display は外側の terminal に依存します。トラブルシュート時にこの backend mode を無効化するには RMUX_CONPTY_NO_PASSTHROUGH=1 を設定してください。
この workspace は、ロックされた依存関係を使って source から確認できるように設計されています:
cargo fmt --all -- --check
cargo clippy --workspace --all-targets --locked -- -D warnings
cargo test --workspace --locked --no-fail-fast追加のローカルチェック:
scripts/cfg-check.sh
scripts/unsafe-check.sh
scripts/no-network-in-runtime.sh
scripts/check-platform-neutrality.sh
scripts/ratatui-rmux-budget.sh
scripts/verify-package.shRelease artifact checks は次で実行されます:
scripts/release-local.sh
scripts/package-unix.sh
scripts/package-debian.sh
scripts/verify-debian-package.sh
scripts/package-rpm.sh
scripts/verify-rpm-package.sh
scripts/smoke-snap-package.sh
scripts/package-windows.ps1
scripts/verify-package-windows.ps1
scripts/generate-apt-repository.sh
scripts/generate-rpm-repository.sh
scripts/generate-homebrew-formula.sh
scripts/generate-winget-manifest.sh
scripts/generate-scoop-manifest.sh
scripts/generate-chocolatey-package.sh上位 crate では #![forbid(unsafe_code)] を使用しています。OS と terminal boundary code は低レイヤーの runtime crate に隔離されています。
RMUX は次のいずれかのライセンスで利用できます:




