新功能v3.41.1 — worktree fan-out, orchestrator loops, and agents you can reach from a phone

AI 代理的 工作區多工器。

一個視窗掌控整支艦隊:終端機、代理、git worktree、真正的瀏覽器,以及它們協作溝通的頻道。

wmux 在同一個視窗中並排執行四個 AI 編碼代理
wmux 在同一個視窗中並排執行四個 AI 編碼代理

八個代理,就是八個要盯著的視窗。 wmux 讓它們只剩一個。

每多加一個代理,就多一個視窗、一個終端機、一件要盯著的事。wmux 把「工作區」而不是「終端機」,變成你要多工處理的單位。

tmux 分割的是終端機。wmux 多工的是整個工作區——終端機、代理、git worktree、瀏覽器,以及它們協作溝通的頻道——全部由一個常駐程式(daemon)掌管,讓它們在你退出、當機、重開機後依然存在。一個視窗,一支艦隊。支援 Windows 與 macOS。
wmux — workspace

Six things that make a fleet of agents manageable.

01 / Worktrees

One prompt, up to eight isolated worktrees.

Fan a task out to as many as eight git worktrees, each with its own agent and its own branch. Compare the results side by side, harvest the changes you want hunk by hunk — all-or-nothing, never a half-applied diff — and open the pull request in one click.

8 parallel worktreesHunk-level harvestOne-click PR
Worktree fan-out: eight parallel worktrees with a hunk-level diff open in wmux
Worktree fan-out: eight parallel worktrees with a hunk-level diff open in wmux
02 / Orchestrator

Delegate to a fleet, watch it from one screen.

The orchestrator hands roles to sub-agents, and Fleet View (Ctrl+Shift+A) puts every pane on one screen. One-click loops pick a skill from your .claude directory and keep running it against a done-when checklist until the box is actually ticked.

Fleet View · Ctrl+Shift+ARole delegationdone-when loops
Fleet View in wmux showing several agent panes and a running orchestrator loop
Fleet View in wmux showing several agent panes and a running orchestrator loop
03 / Channels

Agents coordinate in channels, not in your head.

Slack-style channels carry humans and agents in the same workspace, and A2A task messages let panes hand work to each other directly. Threads, missions and unread state are stored by the daemon, so a reboot does not erase the conversation.

Slack-style channelsA2A task messagesSurvives reboot
wmux channel view with agents posting messages in a shared workspace channel
wmux channel view with agents posting messages in a shared workspace channel
04 / Daemon

Quit it, crash it, reboot — the session is still there.

The daemon owns your sessions, not the window. Panes declared in wmux.json are supervised the way an init system supervises services: restarted when they die, restored when you come back, with up to 999K lines of scrollback intact.

Daemon-owned sessionswmux.json supervision999K-line scrollback
wmux restoring a full workspace with its panes and scrollback after a reboot
wmux restoring a full workspace with its panes and scrollback after a reboot
05 / Browser

A real Chrome, driven over CDP.

Not a screenshot and not a headless approximation: agents drive an actual Chrome tab through the DevTools Protocol, including React-controlled inputs and CJK composition, while you watch the same page and take over whenever you want.

Chrome DevTools ProtocolReact-safe inputCJK input
An agent driving a real Chrome tab from a wmux browser pane
An agent driving a real Chrome tab from a wmux browser pane
06 / Guardrails

The commands you cannot undo stop and ask.

Agents are fast and occasionally wrong. wmux flags the irreversible commands before they run and keeps the local surface small.

Execute approval gate

rm -rf, git push --force and DROP TABLE are flagged for approval instead of running silently.

Loopback by default

wmux web serves your terminals to a phone browser over loopback, read-only; exposing it is an explicit, warned-about choice.

Workspace-scoped MCP

Every MCP call carries a per-session token and only reaches the workspace it came from.

No telemetry

No analytics, no account, no phone-home. The daemon talks to your machine and nothing else.

The orchestrator, handing work to a sub-agent.

Recorded from a real session: one prompt turns into delegated work running across panes.

Screen recording of the wmux orchestrator delegating a task to a sub-agent
Screen recording of the wmux orchestrator delegating a task to a sub-agent

Four people who reach for wmux first.

Heavy Claude Code users

Keep Claude in one pane and the diff, the tests and the PR in the others — same workspace, same working directory, no window juggling.

Claude refactors in pane A, pane B watches the test run, the Git tab opens the PR. One window, one keyboard.

claude codegit tab

Multi-agent operators

Run Claude Code, Codex and Gemini CLI at once, give each a role, and let the orchestrator route work between them through channels and A2A messages.

The orchestrator delegates the migration to three sub-agents, then holds a loop open until the done-when checklist is green.

orchestratora2a_task_send

Fan-out reviewers

Send the same prompt down eight isolated worktrees, read the results side by side, and keep only the hunks that deserve to land.

Eight branches, one prompt, one review pass. The best hunks get harvested; the rest of the worktrees are thrown away.

8 worktreeshunk harvest

Browser automation

Let an agent click through a real Chrome tab — your dashboard, your CI, your own app — while you watch the same page and take over when needed.

An agent walks the release checklist in the browser, files what it finds in a channel, and stops at the approval gate before anything destructive.

browser_openchannel_post

Eighty-four tools. Zero configuration.

wmux registers its MCP server with the agents on your machine the first time it runs. No JSON editing, no copy-paste, and every call is scoped to the workspace it came from.

  • browser39
  • channel12
  • a2a8
  • company_a2a6
  • pane6
  • terminal4
  • surface3
  • deck2
  • misc4

browser_open

Open a page in a real Chrome tab attached over CDP.

browser_click

Click an element on the live page.

browser_extract_text

Pull readable text out of the current page.

browser_screenshot

Capture the page or a single element.

channel_post

Post a message into a workspace channel.

channel_read

Read a channel, including what arrived while you were away.

channel_unread

Check what an agent has not caught up on yet.

a2a_task_send

Hand a task to another agent and track it.

a2a_discover

List the agents in the workspace and their skills.

company_a2a_send

Send a message across workspaces on the same machine.

pane_split

Split a pane and start something in it.

pane_list

List panes with their agent, cwd and status.

terminal_read

Read what a terminal is showing right now.

terminal_send

Type into a terminal, verbatim.

surface_new

Open a new surface — terminal, browser or editor.

deck_ask_decision

Ask the human to decide, and wait for the answer.

wmux_search_panes

Search scrollback across every pane at once.

workspace_list

List workspaces the daemon is currently keeping alive.

Detected agents: Claude Code · Codex CLI · Gemini CLI · Aider · OpenCode · GitHub Copilot CLI

One line on Windows. One drag on macOS.

Package managers

Install from your terminal

$winget install openwong2kim.wmux
winget recommended · choco and the PowerShell one-liner install the same build
Installer

Setup.exe for Windows 11 / 10

Download for Windowswmux-3.41.1.Setup.exe · 143 MB
x64 · auto-update

Windows 10 (1903+) or macOS on Apple Silicon · no admin rights · no account · no telemetry

Keyboard-first, by design.

Tmux prefix mode covers 13 actions, so the muscle memory carries over.

Pane

  • Split rightCtrl+D
  • Split downCtrlShift+D
  • New tabCtrl+T
  • Close tabCtrl+W
  • Floating pane (Quake)Ctrl+`

Workspace

  • New workspaceCtrl+N
  • Switch workspaceCtrl1-9
  • Add to multiviewCtrl+click
  • Exit multiviewCtrlShift+G
  • Toggle sidebarCtrlShift+B

Terminal

  • Search (regex)Ctrl+F
  • Vi copy modeCtrlShift+X
  • Add bookmarkCtrl+M
  • Prev bookmarkCtrl+
  • Next bookmarkCtrl+

Fleet

  • Fleet ViewCtrlShift+A
  • Tmux prefix modeCtrl+B
  • Command paletteCtrl+K
  • SettingsCtrl,
  • Open browserCtrlShift+L

What's actually running.

Architecture — daemon, panes, MCP host, agentsREADME.md → architecture
┌──────────────────────────────────────────────────────────────┐
│  wmux window  ·  Electron renderer  ·  React + xterm.js    │
│  ── panes · tabs · Fleet View · Git tab · browser surface    │
├──────────────────────────────────────────────────────────────┤
│  daemon  ·  owns every session, outlives the window        │
│  ── PTY pool (ConPTY on Windows, forkpty on macOS)           │
│  ── wmux.json pane supervision   ── scrollback up to 999K    │
│  ── channels · A2A bus · worktree tasks                      │
├──────────────────────────────────────────────────────────────┤
│  mcp host  ·  84 tools, registered on first run           │
│  ── workspace-scoped tokens      ── execute approval gate    │
├──────────────────────────────────────────────────────────────┤
│  agents  ·  claude code · codex · gemini · aider · …      │
└──────────────────────────────────────────────────────────────┘

# Each agent runs in its own PTY. wmux owns the lifecycle, not the agent.
# 8-pane echo latency: p50 4.6 ms, measured in CI.
# wmux web binds to loopback; exposing it to the network is opt-in.

wmux vs. the alternatives.

wmuxtmuxWindows Terminal · iTerm2VS Code terminalAgent managers
Split panespartial
Session persistencepartialpartial
Survives a full rebootpartialpartial
Git worktree fan-out
Orchestrator & Fleet Viewpartial
Approval gates for destructive commandspartial
Channels & agent-to-agent messaging
Real browser automation
MCP tools, auto-registeredpartial
Open source · MITpartialpartialpartial
supportedpartial with caveats not supported

Terms used on this page.

Workspace multiplexer
Software that runs many workspaces — terminals, agents, worktrees, browsers and their channels — inside one window and one lifecycle, instead of many windows you manage by hand.
Orchestrator
The wmux role that delegates work to sub-agents in other panes, tracks their progress in Fleet View, and can run a skill in a loop until a done-when checklist passes.
Channel
A Slack-style room shared by humans and agents in a workspace. Messages, threads and unread state are stored by the daemon, so they survive a restart.
Worktree task
One lane of a fan-out: an isolated git worktree with its own branch and its own agent, whose changes you later harvest hunk by hunk into your working tree.
A2A — agent-to-agent
Task messages passed directly between agents: send, query, update, cancel. wmux exposes them as MCP tools so any MCP-speaking agent can take part.
MCP — Model Context Protocol
An open JSON-RPC specification for connecting AI agents to tools and resources. wmux exposes 84 MCP tools from a local, workspace-scoped host.
CDP — Chrome DevTools Protocol
Chromium's debugging protocol, exposed over WebSocket. wmux uses it to let agents drive a real browser tab rather than a simulated one.
PTY — ConPTY / forkpty
The pseudo-terminal a pane runs on: ConPTY on Windows, forkpty on macOS. wmux calls them directly, so no Linux VM is involved.

Questions, answered straight.

What is a workspace multiplexer?
tmux multiplexes a terminal: many shells inside one screen. wmux multiplexes a workspace: terminals, AI coding agents, git worktrees, a real browser, and the channels they coordinate over, all owned by a daemon that keeps them running when you quit, crash, or reboot.
Is wmux a tmux port?
No. wmux is its own application, built on ConPTY on Windows and forkpty on macOS. It borrows tmux muscle memory — split panes and a prefix mode covering 13 actions — but the unit it multiplexes is the workspace, not the terminal.
Does wmux require WSL?
No. On Windows wmux talks to ConPTY directly, and on macOS it uses forkpty. There is no Linux VM in the path, and nothing to shut down before lunch.
Is there a macOS build?
Yes. wmux ships a signed and notarized DMG for Apple Silicon, and in-app auto-update works on both Windows and macOS arm64.
What is MCP, and why does wmux auto-register tools?
Model Context Protocol is an open JSON-RPC spec for connecting AI agents to tools. wmux exposes 84 MCP tools — browser, channels, A2A, panes, terminals and more — and registers itself with the agents on your machine the first time it runs, so there is no config file to hand-edit.
How does worktree fan-out work?
You give one prompt and pick how many lanes to run, up to eight. wmux creates an isolated git worktree per lane, runs an agent in each, and shows the results side by side. You then harvest changes hunk by hunk — each hunk applies completely or not at all — and open a pull request from the Git tab.
Can Claude Code, Codex and Gemini run at the same time?
Yes. Each pane owns its own PTY and its own agent process. wmux detects Claude Code, Codex CLI, Gemini CLI, Aider, OpenCode and GitHub Copilot CLI, and they can hand work to each other through channels and A2A messages.
What can the browser tools actually do?
They drive a real Chrome tab over the DevTools Protocol: navigate, click, type into React-controlled inputs, compose CJK text, read the DOM, capture screenshots, watch the network. The browser category alone accounts for 39 of the 84 MCP tools.
What exactly survives a reboot?
The daemon persists workspaces, panes, working directories, scrollback and channel history. Panes declared in wmux.json are supervised and restarted like services. Agent processes themselves stop when the machine stops — what comes back is the workspace they were living in, ready to reattach.
Is wmux open source?
Yes, MIT licensed, with the full source on GitHub.
Does wmux send telemetry?
No telemetry, no analytics, no account. wmux web binds to loopback by default, and exposing it to your network is an explicit choice the app warns you about.
What are the minimum system requirements?
Windows 10 build 1903 or later (x64), or macOS on Apple Silicon. Around 4 GB RAM and a few hundred megabytes of disk. The interface ships in 23 languages.

一個視窗,一支艦隊。

下載 wmux

免費 · MIT · Windows 與 macOS · 無遙測 · 無需帳號