psmux + Claude Code:AI Agent 团队自动分屏,零配置实现多智能体并行开发
【免费下载链接】psmuxTmux on Windows Powershell - tmux for PowerShell, Windows Terminal, cmd.exe. Includes psmux, pmux, and tmux commands. This is native High-Performance Tmux designed for Windows in Rust 🦀项目地址: https://gitcode.com/gh_mirrors/ps/psmux
psmux是运行在 Windows 上的原生 tmux(Rust 编写,直连 ConPTY),而Claude Code的 Agent Teams 功能在 psmux 内可零配置让每个智能体自动获得独立分屏,实现多智能体并行开发、全程可视。无需 WSL、无需 Cygwin,一条命令即可开始。
为什么选 psmux 跑 Claude Code?
在 Linux/macOS 上,Claude Code 的 teammate 模式依赖 tmux 分屏;而在 Windows 上,普通终端标签页做不到"脚本可控、可后台常驻"。psmux 补齐了这块拼图:
| 能力 | 对多智能体开发的意义 |
|---|---|
| 每个分屏都是真实 ConPTY | 每个 Agent 有独立、完整的终端环境,渲染与 Windows Terminal 完全一致 |
| 会话常驻后台服务器 | 关闭终端窗口 Agent 不中断,psmux attach随时回来看进度 |
| 全套 tmux 命令兼容 | split-window、send-keys、capture-pane直接可用,Linux 脚本无改动迁移 |
| 原生 Windows 进程 | 任务管理器直接可见每个 Agent 进程,无需任何仿真层 |
环境准备:安装 PowerShell 7+
与 Claude Code 配合,psmux要求 PowerShell 7 或更高版本(env shim 和 teammate 模式注入依赖 PS7+ 特性)。
# 检查当前版本 $PSVersionTable.PSVersion # 旧版本?用 winget 升级 winget install --id Microsoft.PowerShell --source wingetpsmux 本身的安装(任选其一):
winget install psmux # 或 cargo install psmux / choco install psmux三步上手:零配置启动 Agent 团队
完整指南见 docs/claude-code.md,核心流程只有 3 步:
psmux new-session -s work # 1. 创建命名会话 claude # 2. 在分屏中运行 Claude Code # 3. 直接让 Claude 组建团队,分屏自动出现就这么多。psmux 会自动完成 Claude Code 需要的所有配置,你只需像往常一样用claude命令即可。
原理:psmux 替你做了什么
当分屏在 psmux 内启动时,以下环境变量被自动设置(详见 docs/claude-code.md#L56-L72):
| 变量 | 值 | 作用 |
|---|---|---|
TMUX | /tmp/psmux-{pid}/... | 让 Claude Code 识别"我在 tmux 里" |
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS | 1 | 打开 Agent Teams 功能开关 |
PSMUX_CLAUDE_TEAMMATE_MODE | tmux | 触发自动注入--teammate-mode tmux |
其中第二个修复尤为关键:Claude Code 的 teammate 工具集(spawnTeam、spawnTeammate)默认被这个环境变量门控,没有它 Claude 只会用不可见的进程内 Agent,永远不会创建分屏。psmux 的claude包装函数还会在你没有自行配置teammateMode时自动注入参数——你自己的配置始终优先,两者永不冲突。
避坑指南:两套 Agent 系统,别混淆
Claude Code 内部其实有两套完全不同的 Agent 系统,psmux 只能控制其中一套:
✅ Teammate 模式(分屏可见)
- 每个 teammate 拥有独立分屏,全程可见
- 由
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1+--teammate-mode tmux驱动(psmux 都已设置) - Haiku、Sonnet 等模型倾向于选择这条路
⚠️ Worktree 模式(进程内、不可见)
- 通过
git worktree创建隔离分支,在进程内运行,没有任何分屏 - Opus 倾向选择它(追求 git 级隔离)
- Windows 上该模式的 tmux 集成被硬编码禁用,无法强制切到分屏
实用技巧:在项目CLAUDE.md中写入指令,引导模型优先使用 teammate 系统:
# Agent Configuration 当生成子代理时,始终使用 teammate 系统(team_name + name 参数), 不要使用 isolation: "worktree",确保 Agent 在 tmux 分屏中可见。这是 best-effort 方案,模型仍可能为复杂任务选择 worktree 隔离。
💡另一个必知限制:Agent 团队只在交互模式(直接运行
claude)下分屏。使用claude -p管道模式时,Agent 有意在进程内运行——因为没有可分屏的交互终端。
验证与排错
进入 psmux 分屏后,三条命令确认环境就绪:
Write-Host "TMUX: $env:TMUX" Write-Host "AGENT_TEAMS: $env:CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS" Write-Host "TEAMMATE_MODE: $env:PSMUX_CLAUDE_TEAMMATE_MODE"预期输出1和tmux即配置成功。常见问题速查:
| 症状 | 原因与解法 |
|---|---|
| 打开 Agent View 后 teammate 不再分屏 | Agent View 重新执行二进制时丢失了注入参数。在~/.claude/settings.json设置{ "teammateMode": "tmux" }一劳永逸 |
| Agent 仍在进程内运行 | 检查是否误用了-p管道模式;可用--debug-file $env:TEMP\claude_debug.log排查 |
| 分屏报 "The module 'X' could not be loaded" | 路径含空格引发的引号解析问题,psmux 3.3.9 起已修复 |
更多细节(包括鼠标滚轮在 Claude Code 分屏中的 Windows 版本差异)见 docs/claude-code.md#L221-L300。
进阶:手动编排多智能体网格
除了自动分屏,你也可以用脚本精确编排多个 Agent 各占一个窗口,配合send-keys下达指令、capture-pane读取输出、remain-on-exit保留崩溃现场:
psmux new-session -d -s agents -n hub -x 200 -y 50 foreach ($n in 'backend', 'frontend', 'docs') { psmux new-window -t agents -n $n -d psmux select-pane -t "agents:${n}.0" -T "agent: $n" psmux pipe-pane -t "agents:${n}.0" -o "cat >> C:\logs\$n.log" psmux send-keys -t "agents:${n}.0" 'claude' Enter } psmux attach -t agentsdetach(prefix + d)后所有 Agent 继续后台运行,随时psmux attach -t agents回来看。完整的多智能体布局、日志轮询、崩溃自动重启等模式,请阅读教程 docs/tutorials/terminal-agents-and-tuis.md。
小结
psmux 让 Claude Code 的 Agent 团队能力在 Windows 上开箱即用:环境变量自动设置、teammate 模式自动注入、每个智能体一个真实分屏。理解 teammate 与 worktree 两套系统的区别后,你就能放心地在 Windows 原生环境中组建并观察你的 AI 开发团队了。
【免费下载链接】psmuxTmux on Windows Powershell - tmux for PowerShell, Windows Terminal, cmd.exe. Includes psmux, pmux, and tmux commands. This is native High-Performance Tmux designed for Windows in Rust 🦀项目地址: https://gitcode.com/gh_mirrors/ps/psmux
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考