新版v2.1.6 — 多 agent MCP 路由

Windows 上的
AI Agent 终端。

分屏终端、浏览器自动化、MCP 集成 — 无需 WSL。为新的编程形态而生。

Workspaces
wmux-app
docs-site
infra
Panes
claude · backend
codex · ui
gemini · tests
MCP
browser_cdp
filesystem
shell
claude-code
thinking
~/api ❯ claude-code "add /sessions endpoint"
↳ Reading src/routes/index.ts …
✻ Designing handler with persistence
+ created src/routes/sessions.ts
+ updated src/routes/index.ts
+ test sessions.test.ts (4/4 pass)
~/api ❯
codex
writing
~/web ❯ codex --task "polish settings page"
↳ Touching components/Settings.tsx
~ Refactoring tabs (3 children)
Added skeleton states
Accessibility: aria-controls wired
~/web ❯
gemini
running
~/repo ❯ gemini "run e2e and summarize"
↳ playwright test — 24 specs, 4 workers
auth.spec.ts (6) 2.4s
dashboard.spec.ts (9) 3.1s
mcp.spec.ts (9) 1.8s · done
~/repo ❯

macOS 有 cmux,Windows 却没有 tmux。 于是我们为 AI 时代造了一个。

wmux 是为 AI 编码 agent 设计的 Windows 原生多面板终端。不是 WSL,不是移植,从零构建。

wmux — pwsh

六件 wmux 能做、Windows 上别处做不到的事。

01 / 浏览器

AI 控制真实浏览器,而不是浏览器的截图。

Claude、Codex 和 Gemini 通过 CDP 操作一个真实的 Chromium 标签页。它们点击、输入、滚动、读取 DOM。wmux 只负责转发字节 — 真正的工作由你的 agent 完成。

Chrome DevTools Protocol选择器拾取Inspector 面板
github.com / openwong2kim / wmux● driven by claude
Browser CDP recording
15s loop — Claude clicks through GitHub releases, reads patch notes, opens PR.
webm/av1 · 1280×720 · 800kbps
claude browser.click("a[href*=releases]")
claude browser.read(".release-body") · 1.2kb
02 / 面板

一个窗口里多个终端 — 以及多个 agent。

像 tmux 教我们的那样分屏。每个面板都是真实的 PTY (conpty),每个都能承载自己的 agent,每个都记得自己的滚动历史。再加上 tmux 风格的 Ctrl+B 前缀键、Quake 式悬浮面板、便于在长日志中跳转的滚动书签。

原生 conptyTmux 前缀 (Ctrl+B)悬浮面板 (Ctrl+`)滚动书签Multiview
claude~/api
tests passing · 24/24
codex~/web
rendering settings…
gemini~/e2e
spec 18 / 24
pwsh~/wmux
idle · awaiting input
03 / 通知

「跑完了吗?」— 自动回答。

wmux 监控 agent 进程。一旦完成 — 或需要确认 — 你立刻收到原生 Windows 通知。不必每 90 秒切换标签查看。

原生 toast按 agent 定制规则声音可选
~/api ❯ claude-code "refactor and run tests"
⠼ working… (12s)
⠴ writing src/store/leveldb-driver.ts
⠦ running tests…
✓ done — 24 tests passed

claude finished — backend refactor

24 tests passed · 1m 42s

04 / MCP

Claude Code MCP 自动注册。无需手编 JSON。

打开 wmux 一次。它会把 13 个工具按正确作用域写入 ~/.claude.json。Codex 和 Gemini 各自有专属配置。同一个 wmux 里的 agent 之间还能通过 A2A (agent-to-agent) 工具互发消息。再无复制粘贴的地狱。

自动配置13 个内置工具A2A 消息仅本地 host
~/.claude.json (auto-managed by wmux)
{
"mcpServers": {
+ "wmux/browser_cdp": { cmd: "wmux-mcp", args: ["browser"] },
+ "wmux/filesystem": { cmd: "wmux-mcp", args: ["fs"] },
+ "wmux/shell": { cmd: "wmux-mcp", args: ["shell"] }
}
}
browser_openbrowser_clickbrowser_readfs_readfs_writeshell_runtask_notify+ 6 more
05 / 持久化

关闭、重启、回到完全相同的状态。

wmux 会快照每个面板、cwd、env、滚动历史和活跃 agent。重启之后 — 即使是你没请求的 Windows 更新 — 重新打开就能接着干。

崩溃安全按工作区独立快照差异比对
STEP 01

Close wmux

Close wmux
3 panes · 2 agents alive
state.snapshot()
STEP 02

Reboot Windows

Reboot Windows
shutdown /r /t 0
wmux daemon stops cleanly
STEP 03

Reopen — same state

Reopen — same state
panes, cwds, history restored
agents reattach if alive
06 / 安全

为 agent 终端真正重要的安全。

Agent 很强大。wmux 假设它们可能出错、被恶意利用或被劫持。默认运行四道防线。

MCP token 绑定

每次 MCP 调用都携带按会话的 token。能伪造吗?不能 — 我们对它进行签名。

SSRF 黑名单

browser_open 拒绝 metadata IP、宿主 localhost 和私有子网。

Electron Fuses

Node integration、ASAR 校验、run-as-node — 全部在构建时锁定。

内存看门狗

每个 agent 有 RSS 上限。失控会话先收到软信号,然后被强制终止。

六十秒。三个 agent。一个窗口。

看 wmux 启动三个 agent,把一个浏览器任务分发给 Claude,完成时主动通知。

wmux — live demo
60 秒产品演练
1080p · AV1 + H.264 双编码 · poster ≤ 75 KB · playsinline 自动播放 静音 循环
video/av1 · 1920×1080 · 6mb target · poster ≤ 75 KB
0:00空工作区
0:10Ctrl+D 两次 — 3 个面板
0:20启动 claude / codex / gemini
0:35Claude 操作浏览器
0:50通知 → 3 个都完成

四类最先想到 wmux 的人。

重度 Claude Code 用户

一个面板跑 Claude,其他面板看 diff 和测试 — 同一工作区、同一 cwd、零切换成本。

面板 A 让 Claude 重构后端 → 面板 B 监视测试输出 → 面板 C 阅读你的 PR 评论。一个窗口搞定。

claude-codeMCP

多 agent 工作流操盘手

并行运行 Claude、Codex、Gemini。A/B 它们的答案,挑最好的,或把大任务拆成三份。

三个面板、三个 agent、一个 prompt 三路分发。谁先做完、做得最好 — 谁就赢。

claude / codex / geminiA/B

对 WSL 过敏的 Windows 开发者

受够了 WSL2 的内存膨胀、NTFS 与 EXT4 的路径混乱、每天「重启 WSL」的赋税?wmux 是原生 conpty,没有 Linux VM。

冷启动 280 ms。内存基准 118 MB。午餐前不必再「wsl --shutdown」。

conptynative

Agent + 浏览器自动化

让 agent 读你的 changelog、点你的 CI 仪表盘、抓你自己的 PR — 通过真实 Chromium,不是截图。

Claude 读 GitHub 发布说明,把摘要写进 markdown,完成时通过 Windows 通知提醒你。

browser_cdptask_notify

数字,而不是形容词。

冷启动

280ms

vs WSL+tmux 3.2s (11× faster)

内存基准

118MB

1 pane idle · vs WSL+tmux 824MB

安装包大小

42MB

signed exe · x64 + ARM64

磁盘占用

198MB

post-install footprint

会话恢复

120ms

3 panes · 50KB scrollback each

MCP 调用延迟

<2ms p50

<5ms p99 · local MCP host

测试环境: Windows 11 23H2 · Intel i7-13700K · 32 GB RAM · NVMe SSD。

十三个工具。零配置。

每个 wmux 安装都自带这些 MCP 工具,作用域限定在当前工作区,任何懂 MCP 的 agent 都能调用。

browser_open

启动 Chromium 并附加 CDP。

browser_click

在实时页面上点击任何选择器。

browser_read

通过 CSS 选择器读取文本或 DOM。

browser_type

向聚焦的输入框逐字输入。

fs_read

读取沙箱内的项目文件。

fs_write

带 diff 审阅地保存编辑。

fs_search

在工作区内执行 Ripgrep。

shell_run

在沙箱 shell 中执行 pwsh 命令。

shell_stream

将长任务的输出流式回传给 agent。

task_notify

agent 完成时弹原生 Windows 通知。

session_attach

恢复之前的面板,完整滚动历史。

workspace_open

切换当前 wmux 工作区。

memory_recall

读取作用域内的 agent 记忆。

browser_open

启动 Chromium 并附加 CDP。

browser_click

在实时页面上点击任何选择器。

browser_read

通过 CSS 选择器读取文本或 DOM。

browser_type

向聚焦的输入框逐字输入。

fs_read

读取沙箱内的项目文件。

fs_write

带 diff 审阅地保存编辑。

fs_search

在工作区内执行 Ripgrep。

shell_run

在沙箱 shell 中执行 pwsh 命令。

shell_stream

将长任务的输出流式回传给 agent。

task_notify

agent 完成时弹原生 Windows 通知。

session_attach

恢复之前的面板,完整滚动历史。

workspace_open

切换当前 wmux 工作区。

memory_recall

读取作用域内的 agent 记忆。

两种安装方式 — 选你本来就会选的那种。

方式 1 — 下载

Windows 11 / 10 安装程序

下载 wmuxwmux-3.11.1.Setup.exe · 152 MB
x64 · ARM64 · 已签名 · 自动更新
方式 2 — 包管理器

一行命令 — 5 秒完成安装

$winget install openwong2kim.wmux
推荐 winget · 也支持 scoop / choco / PowerShell

需要 Windows 10 (1903+) · 无需管理员 · 无需 WSL

按设计,键盘优先。

面板

  • 向右分屏Ctrl+D
  • 向下分屏CtrlShift+D
  • 新建标签Ctrl+T
  • 关闭标签Ctrl+W
  • 悬浮面板 (Quake)Ctrl+`

工作区

  • 新建工作区Ctrl+N
  • 切换工作区Ctrl1-9
  • 加入 MultiviewCtrl+click
  • 退出 MultiviewCtrlShift+G
  • 切换侧边栏CtrlShift+B

Terminal

  • 搜索 (正则)Ctrl+F
  • Vi 复制模式CtrlShift+X
  • 添加书签Ctrl+M
  • 上一个书签Ctrl+
  • 下一个书签Ctrl+

其他

  • Tmux prefix 模式Ctrl+B
  • 命令面板Ctrl+K
  • 设置Ctrl,
  • 打开浏览器CtrlShift+L
  • DevToolsF12

底下到底跑着什么。

架构 (Electron + Rust 核心 + Node MCP host)README.md → architecture
┌──────────────────────────────────────────────────────────────┐
│  wmux shell  ·  Electron renderer  ·  React + xterm.js     │
│  ── window chrome · pane manager · workspace router          │
├──────────────────────────────────────────────────────────────┤
│  core (Rust, native)                                       │
│  ── PTY pool (winpty / conpty)   ── session snapshotter      │
│  ── encrypted token store         ── Electron Fuses (locked) │
├──────────────────────────────────────────────────────────────┤
│  mcp host (Node)                                          │
│  ── 13 built-in tools  ── auto-register into ~/.claude.json   │
│  ── SSRF block-list   ── memory watchdog (per agent)         │
├──────────────────────────────────────────────────────────────┤
│  agents  ·  claude-code  ·  codex  ·  gemini-cli  ·  any cli │
└──────────────────────────────────────────────────────────────┘

# Each agent runs in its own PTY. wmux owns the lifecycle, not the agent.
# MCP host is local-only (127.0.0.1:auto); never exposed to the network.

wmux 与其他选项。

wmuxWSL + tmuxWindows TerminalConEmu / CmderVS Code Terminal
分屏面板部分
会话持久化部分部分部分
AI agent 感知
MCP 工具自动注册
浏览器自动化 (CDP)
Windows 原生 (无 WSL)
开源 · MIT部分部分
单窗口多 agent
原生 Windows 通知
冷启动 < 500ms部分部分
内存基准 < 200MB
支持部分 有限制 不支持

本页用到的术语。

MCP — Model Context Protocol
Anthropic (2024 年 11 月) 发布的开放 JSON-RPC 规范,用于把 AI agent 接入工具和资源。wmux 以仅本地 host 形式提供 13 个 MCP 工具。
CDP — Chrome DevTools Protocol
Chromium 通过 WebSocket 暴露的调试协议。Puppeteer / Playwright 都基于它。wmux 用 CDP 让 agent 驱动真实浏览器标签页。
PTY / conpty
伪终端。Windows 从 build 1809 (2018) 起加入 conpty。wmux 直接调用 conpty,无需 WSL 就能提供真实终端。
AI 编码 Agent
由 LLM 驱动、能自主编写、修改并运行代码的工具。例如 claude-code、codex、gemini-cli。
工作区 (wmux 术语)
一组命名的面板、工作目录和 agent 状态。wmux 会对工作区做快照,重启和 Windows 更新都不会丢进度。
面板
wmux 窗口内的一个 PTY。每个面板有自己的 shell、cwd、滚动历史和可选的绑定 agent。
会话
一个 agent 与面板的连接。会话可以分离,稍后重连仍保留完整滚动历史。

问题,直接回答。

wmux 是 tmux 在 Windows 上的移植吗?
不是。wmux 是基于 ConPTY 和 Electron 构建的 Windows 原生终端复用器,提供 tmux 风格的分屏面板、前缀键和会话持久化 — 无需 WSL 或 Cygwin。
wmux 需要 WSL 吗?
不需要。wmux 通过 conpty 和小型 Rust 核心在 Windows 上原生运行。不需要也不使用 WSL。
什么是 MCP,为什么 wmux 自动注册工具?
Model Context Protocol 是 Anthropic 提出的开放规范,用 JSON-RPC 把 AI agent 接入工具与资源。wmux 自带 13 个 MCP 工具 (browser、fs、shell、session、memory) 并自动写入 ~/.claude.json,Claude Code、Codex、Gemini 零配置即可使用。
wmux 和 Windows Terminal 有什么区别?
Windows Terminal 是一个标签页式 shell 宿主。wmux 是多面板、感知 agent 的终端:一个窗口多个 PTY,每个面板独立 agent 进程,通过 CDP 实现浏览器自动化,原生 toast 通知,重启后会话持久化。
Claude Code、Codex、Gemini 能同时运行吗?
可以。每个面板拥有独立的 conpty PTY 和 agent 进程。可以把窗口分成 2-6 个面板,每个跑不同 agent,共享同一工作区上下文。
什么是基于 CDP 的浏览器自动化?
Chrome DevTools Protocol 让 agent 驱动真实的 Chromium 标签页 — 点击、输入、滚动、读取 DOM。wmux 的 browser_open 工具启动附加 CDP 的 Chromium,任何懂 MCP 的 agent 都能控制它。
wmux 是开源的吗?
是的,MIT 许可证。源码在 GitHub 上。
wmux 会上报遥测吗?
无遥测、无分析、无账户。MCP host 只绑定 127.0.0.1,从不暴露到网络。
最低系统要求是什么?
Windows 10 build 1903 或更高 (或任何 Windows 11)、4 GB 内存、200 MB 可用磁盘。支持 x64 与 ARM64。
wmux 和 tmux 怎么比?
wmux 借用了 tmux 用 Ctrl 前缀做分屏和工作区切换的肌肉记忆。最大的区别是:wmux 是 agent 优先。它跟踪 agent 进程、完成时弹原生通知、路由 MCP 流量 — 而 tmux 是通用终端复用器。
我能在 wmux 上用 Claude 以外的 agent 吗?
可以。任何懂 MCP 的工具 (Codex、Gemini CLI、自定义 agent) — 或任何不需要 MCP 的 CLI 工具 — 都能用。wmux 只提供面板、会话和 MCP host。

他们已经切换了。

Asuka Imai

@asu.dev

终于有了一个不把 wsl 当人格特征的 windows tmux。在 wmux 里 claude + codex 并排跑起来,太爽了。
Threads · 4d

Theo Kim

@theok

wmux 的 browser_cdp + claude-code 组合替掉了我三个 chrome 扩展。它就是直接点按钮。
X · 1w

Hannah Park

@hp

wmux 真的撑过了重启。一次 windows 更新后回来,每个面板都还在我离开时的位置。震撼。
Threads · 2w

别再杂耍多个终端。

下载 wmux

免费 · MIT · windows 10+ · 无遥测 · 无账户