CMUX

GitHub

CMUX 是 macOS 专用的 Agent 驾驶舱工具,用于引导、编排和监控多智能体团队。支持启动分层团队、代理竞赛、舰队管理及实时状态监控,通过终端界面实现对智能体的可视化驱动与干预。

LifeOS/install/skills/CMUX/SKILL.md danielmiessler/LifeOS

Trigger Scenarios

启动多智能体团队或分层架构 执行代理竞赛以快速解决问题 管理和监控运行中的智能体舰队 需要可视化终端界面协调多个Agent

Install

npx skills add danielmiessler/LifeOS --skill CMUX -g -y
More Options

Non-standard path

npx skills add https://github.com/danielmiessler/LifeOS/tree/main/LifeOS/install/skills/CMUX -g -y

Use without installing

npx skills use danielmiessler/LifeOS@CMUX

指定 Agent (Claude Code)

npx skills add danielmiessler/LifeOS --skill CMUX -a claude-code -g -y

安装 repo 全部 skill

npx skills add danielmiessler/LifeOS --all -g -y

预览 repo 内 skill

npx skills add danielmiessler/LifeOS --list

SKILL.md

Frontmatter
{
    "name": "CMUX",
    "version": "1.0.5",
    "description": "Drives cmux as an agent cockpit to boot, race, and monitor visible agent teams. Mac-only. USE WHEN cmux, agent cockpit, boot an agent team, orchestrate agents, three-tier orchestration, agent race, needle-in-haystack hotfix, agent fleet, 2x2 fleet, watch\/monitor my agents, scale compute to scale impact, send a prompt to a running agent, multiplexer, terminal cockpit, orchestrator lead worker. NOT FOR one-shot in-harness subagents with no terminal to watch (use Agent\/Workflow), the Pulse dashboard itself (cmux feeds it, use Pulse), browser deploy-verification (use Interceptor), or Linux\/Windows (cmux is Mac-only — use tmux)."
}

CMUX

Make cmux the cockpit for every agent — LifeOS's own and your hands-on coding teams. One command boots a named, color-identified workspace of agents you can see, prompt, and steer, because an agent you can't see is an agent you can't improve. {{DA_NAME}} drives them through cmux's real send/read/open-close loop; a poll-based monitor speaks up when they finish.

Everything routes through one wrapper: bun ~/.claude/skills/CMUX/Tools/cmux.ts <subcommand>. It auto-launches the cmux app — but cmux's socket is default-deny, so driving it needs auth (see the first Gotcha).

Status (2026-07-07): built and offline-verified — wrapper is type-clean (tsc/bun build), voice works live, public-clean grep passes, Kitty hooks untouched. Live-driving (boot-team/race/fleet/monitor) is UNPROVEN — it needs the socket-auth handshake, which has not yet executed. To prove it: run the wrapper inside a cmux surface (inherits auth), or set a cmux Settings socket password → CMUX_SOCKET_PASSWORD. Security note: a socket password lets any local process holding it drive your whole agent fleet — set it deliberately and never commit it to a public file.

Workflow Routing

Trigger Workflow
"boot a team", "3-tier team", "orchestrator/lead/workers" Workflows/BootTeam.md
"race agents", "hotfix race", "throw N agents at this", "needle in a haystack" Workflows/AgentRace.md
"fleet", "2x2 fleet", "named teams", "the remote fleet", "mini-fleet" Workflows/Fleet.md
"watch/monitor my agents", "tell me when they're done", "observe to improve" Workflows/Monitor.md

Quick Reference

CT=~/.claude/skills/CMUX/Tools/cmux.ts
bun $CT ping                                             # ensure cmux is up (auto-launches)
bun $CT boot-team --name debug --tiers orchestrator,lead,worker,worker
bun $CT race --feature login-500 --agents 4             # first-to-solve wins
bun $CT fleet --name alpha --grid 2x2 --cmds "claude;codex;claude;bun test --watch"
bun $CT mini-fleet                                       # SSH panes from USER fleet.json
bun $CT send --surface workspace:1/surface:2 "run the tests" --enter
bun $CT read --surface workspace:1/surface:2 --lines 40
bun $CT monitor --workspace workspace:1                  # poll + {{DA_NAME}} voice on done
bun $CT flash --workspace workspace:1                    # visual attention

The loop that makes it work: send (type a prompt) → send-key Enter (submit — --enter does both) → read (see the result) → close-surface (tear down). That send/read/open-close cycle is the whole programmatic-access story; the recipes are just it, composed.

What stays underneath (not replaced): Pulse (localhost:31337) is still the dashboard, {{DA_NAME}} voice still fires via /notify, the Algorithm/ISA/memory/model-routing are untouched. cmux replaces the terminal-watching layer, not the system. See DESIGN.md for the full feature map and the staged Kitty→cmux migration.

Gotchas

  • send types but does not submit. cmux send puts text in the surface; it does not press Enter. Always use --enter (or a follow send-key Enter) when you mean to run the prompt, then read to confirm it actually ran. A send with no Enter that claims "the agent is working" is a false done-claim.
  • The socket is default-DENY — this is the #1 gotcha. Even while the app runs, an outside process gets Access denied — only processes started inside cmux can connect. Two ways through: (a) run the orchestrator inside a cmux surface — it inherits auth via a tagged CMUX_SOCKET_PATH env, no password; or (b) set a socket password in cmux Settings and export it as CMUX_SOCKET_PASSWORD (the wrapper passes --password). The socket also only exists while the app runs (cmux.sock absent when closed). Pick (a) for agent-driven work, (b) for external scripting.
  • cmux is push-native — prefer hooks over polling. Launch Claude agents with cmux claude-teams and cmux auto-injects Claude Code lifecycle hooks (SessionStart/Stop/Notification/UserPromptSubmit/... → cmux claude-hook <event>), so agents report their own status. Also available: tmux-style set-hook <event> <cmd>, a blocking wait-for -S <name>, pipe-pane --command, and OSC 9/99/777 escapes. monitor's surface-health + read-screen poll is the FALLBACK for non-Claude agents, not the primary path.
  • Sidebar metadata is a no-auth Pulse bridge. report_meta / report_meta_block / set-status / set-progress / log write agent status/progress into the workspace sidebar and persist to the session JSON at ~/Library/Application Support/cmux/session-*.json — which is readable without the socket. LifeOS reads that file to mirror cmux agent state into Pulse without touching the auth wall.
  • Mac-only. cmux is a macOS app. The remote fleet still runs LifeOS, but cmux drives it via local SSH panes, not by running cmux on the minis. No Linux/WSL — that path is tmux.
  • Refs are positional and can shift. workspace:1/surface:2 indexes move as you open/close things. For anything long-lived, resolve UUIDs (--id-format uuids) from tree and hold those.
  • Public skill — private specifics live in USER config. The remote fleet's hosts come from ~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/CMUX/fleet.json ({"hosts":[{"name","ssh"}]}), never from this skill's files. The socket password comes from CMUX_SOCKET_PASSWORD.

Examples

Boot a debugging team and drive the lead:

User: "boot a cmux team to chase the flaky test"
→ bun $CT boot-team --name flaky --tiers orchestrator,lead,worker,worker
→ bun $CT send --surface <lead-ref> "find why auth.test.ts flakes; delegate repro to a worker" --enter
→ bun $CT monitor --workspace <ws>   # {{DA_NAME}} voice when the lead reports back

Race a production hotfix:

User: "prod login is 500ing — race it"
→ bun $CT race --feature login-500 --agents 4
→ (four agents attack the same repo; first with a root cause wins)
→ bun $CT read --surface <winner> ; close the losers

Full reference for the migration and feature map: DESIGN.md.

Version History

  • ce046f2 Current 2026-08-20 12:56

Same Skill Collection

LifeOS/install/skills/ApertureOscillation/SKILL.md
LifeOS/install/skills/ArXiv/SKILL.md
LifeOS/install/skills/Council/SKILL.md
LifeOS/install/skills/CreateCLI/SKILL.md
LifeOS/install/skills/ExtractWisdom/SKILL.md
LifeOS/install/skills/FirstPrinciples/SKILL.md
LifeOS/install/skills/Ideate/SKILL.md
LifeOS/install/skills/IterativeDepth/SKILL.md
LifeOS/install/skills/Loop/SKILL.md
LifeOS/install/skills/Novelty/SKILL.md
LifeOS/install/skills/Optimize/SKILL.md
LifeOS/install/skills/Prompting/SKILL.md
LifeOS/install/skills/RedTeam/SKILL.md
LifeOS/install/skills/RootCauseAnalysis/SKILL.md
LifeOS/install/skills/Science/SKILL.md
LifeOS/install/skills/SecurityMarketData/SKILL.md
LifeOS/install/skills/SystemsThinking/SKILL.md
LifeOS/install/skills/Telos/SKILL.md
LifeOS/install/skills/Upgrade/SKILL.md
LifeOS/install/skills/USMetrics/SKILL.md
LifeOS/install/skills/WorldThreatModel/SKILL.md
LifeOS/install/skills/Aphorisms/SKILL.md
LifeOS/install/skills/Apify/SKILL.md
LifeOS/install/skills/Art/SKILL.md
LifeOS/install/skills/AudioEditor/SKILL.md
LifeOS/install/skills/BeCreative/SKILL.md
LifeOS/install/skills/BiasCheck/SKILL.md
LifeOS/install/skills/BitterPillEngineering/SKILL.md
LifeOS/install/skills/BrightData/SKILL.md
LifeOS/install/skills/Cortex/SKILL.md
LifeOS/install/skills/CreateSkill/SKILL.md
LifeOS/install/skills/Daemon/SKILL.md
LifeOS/install/skills/DetectAI/SKILL.md
LifeOS/install/skills/Evals/SKILL.md
LifeOS/install/skills/Fabric/SKILL.md
LifeOS/install/skills/Hardening/SKILL.md
LifeOS/install/skills/HTML/SKILL.md
LifeOS/install/skills/Interceptor/SKILL.md
LifeOS/install/skills/Interview/SKILL.md
LifeOS/install/skills/ISA/SKILL.md
LifeOS/install/skills/LifeOS/SKILL.md
LifeOS/install/skills/LocalIntelligence/SKILL.md
LifeOS/install/skills/Migrate/SKILL.md
LifeOS/install/skills/PrivateInvestigator/SKILL.md
LifeOS/install/skills/Remotion/SKILL.md
LifeOS/install/skills/Research/SKILL.md
LifeOS/install/skills/Sales/SKILL.md
LifeOS/install/skills/SuggestSkills/SKILL.md
LifeOS/install/skills/Teach/SKILL.md

Metadata

Files
0
Version
ce046f2
Hash
a9514d14
Indexed
2026-08-20 12:56

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-30 01:41
浙ICP备14020137号-1 $Carte des visiteurs$