Skip to content
/
Phase D Batch 22

Batch 22 — Remote Control Surfaces: Phones, Voice, Chat Bots, Terminal Multiplexers

Batch 22 — Remote Control Surfaces: Phones, Voice, Chat Bots, Terminal Multiplexers

Roster (10)

slug stars distribution cli_binary local_ui orchestration multi_model tier
im-codes 100 npm-package + docker imcodes no (daemon + web) parallel-fan-out yes (any via proxy) A
openquack 28 macOS-app (SwiftUI) no macOS menu-bar + popover none no (Whisper only) A
onepilot unknown iOS-app + SaaS no iPhone (mobile) none yes (23+ providers) C
cmux-manaflow 19,779 macOS-app (Swift/AppKit) cmux desktop terminal app none (via cmux claude-teams) no A
cmux-coder 1,782 desktop-app (Electron) mux Electron desktop parallel-fan-out yes A
ccbot 250 python-package ccbot no (Telegram bot) none no (OpenAI transcription only) A
sidecar-marcus 1,018 npm-package sidecar TUI (charmbracelet/bubbletea) none no A
onui 62 browser-extension + npm onui-mcp browser sidebar none no A
mysti 1,056 vscode-extension no VS Code sidebar parallel-fan-out yes (12 agent CLIs) A
ptah-orchestra 26 vscode-extension + electron + npm ptah VS Code webview + Electron hierarchical-multi-agent yes (Claude/Copilot/Codex) A

The Two cmux Namesakes

Two completely unrelated projects share the name "cmux". This is the most important disambiguation in the batch.

manaflow-ai/cmux — Native macOS Terminal App

  • What it is: A Ghostty-based macOS terminal emulator written in Swift/AppKit (19,779 stars). The name "cmux" comes from "command multiplexer" — it manages multiple terminal sessions in one window, like tmux but GPU-accelerated and native.
  • Where the agent runs: On the developer's local machine, inside whichever agent CLI they launch inside cmux's terminal. cmux is a container — the agent (Claude Code, Codex, etc.) runs inside one of cmux's terminal tiles.
  • Agent control surface: The terminal itself. cmux provides a cmux claude-teams orchestration command and 5 slash commands (/fix, /test, /spec, /review, /refactor) that inject pre-defined prompts into the active terminal session.
  • Access topology: User keyboard → cmux terminal tile → agent CLI process running locally
  • No remote component: Everything runs locally. cmux is purely a local terminal multiplexer with agent-workflow conveniences.
  • Key differentiator: libghostty GPU rendering, in-app scriptable browser (WebKit), notification rings (OSC 9/99/777 sequence support).

coder/cmux — "Mux" Electron Desktop Agent

  • What it is: An Electron+React desktop application (1,782 stars) that implements its own full agent loop. Despite the GitHub repo being coder/cmux, the product is branded "Mux" and the CLI binary is named mux.
  • Where the agent runs: Inside the Mux Electron process itself. Mux has its own custom agent loop (distinct from claude-agent-sdk), not a wrapper around an external CLI.
  • Agent control surface: The Mux desktop UI (Plan/Exec modes, diff viewer, PR workflow). The mux CLI binary provides headless access.
  • Access topology: User → Mux Electron app → Mux agent loop → git worktree OR SSH remote OR Coder workspace
  • Isolation options: git worktree per task (default), SSH remotes, or Coder cloud workspaces — agent writes code into an isolated working tree that can optionally be on a remote machine.
  • Key differentiator: .mux/skills/ directory with deep-review skill (spawns 2–5 parallel sub-agents by dimension), attribution footer mandate on AI-generated PRs, opportunistic context compaction.

Access Topology Summary Table

Dimension cmux-manaflow cmux-coder (Mux)
Agent process location Local machine, inside terminal tile Mux Electron app process (local)
Remote execution No Optional (SSH, Coder cloud)
Agent binary User-chosen (Claude Code, Codex, etc.) Mux's own agent loop
Control surface Terminal + slash commands Electron UI + mux CLI
Workspace isolation None (shared fs) git worktree per task
Stars 19,779 1,782
License NOASSERTION AGPL-3.0

Intra-Batch Patterns

Access topology is the defining variable in this batch. The 10 frameworks span every point in the local↔remote spectrum:

  • Local-only, native: cmux-manaflow (terminal), openquack (menu-bar voice input), sidecar-marcus (TUI companion)
  • Local process, remote reach: cmux-coder/Mux (Electron with SSH/Coder options), ptah-orchestra (VS Code/Electron with MCP server exposed outward)
  • Chat-platform as control surface: CCBot (Telegram→tmux bridge), IM.codes (Telegram/Signal/Discord→remote daemon), OnePilot (Telegram/Discord/Slack channels for mobile-triggered agents)
  • Browser as control surface: onui (browser extension + MCP server for annotation)
  • IDE as control surface: mysti (VS Code orchestrating 12 agent CLIs), ptah-orchestra (VS Code with visual Canvas)

tmux as the execution substrate appears in three frameworks: ccbot (direct keystroke injection via libtmux), cmux-manaflow (terminal multiplexer philosophy), and IM.codes (SSH+tmux on the remote server). This makes tmux the most common execution substrate in the batch, not VS Code.

Voice as an input modality appears in two frameworks: openquack (on-device Whisper via WhisperKit for dictation) and ccbot (OpenAI Whisper transcription of Telegram voice messages). These are the only two voice-input tools in the entire Phase D corpus.

Messaging platforms as remote control is unique to this batch: three tools use Telegram/Discord/Slack/Signal as the primary human-agent interface, allowing an agent running on a server or desktop to be controlled from a phone with no dedicated app required. This is the "remote control surface" theme in its purest form.

Skill/persona richness scales with complexity: ccbot has zero skills (pure bridge), sidecar-marcus reads from 17 skills for its own dev, mysti ships 12 skills + 16 personas, ptah-orchestra ships 13 named agent personas across 4 categories. The more the tool manages agents directly, the richer its own agent persona system.

Most Interesting Find

Ptah's 50+ module-scoped CLAUDE.md files are the densest AI-native dogfood pattern in the entire Phase D catalog. Every one of the 37 libs and apps in the Nx monorepo has its own CLAUDE.md providing agent guidance scoped to that module. Combined with a .ptah/specs/ registry of hundreds of completed TASK entries and a skill-synthesis lib that learns from agent trajectories, Ptah is the only framework in the catalog that implements a full AI-native development lifecycle at monorepo scale — the tool uses itself to build itself, and the evidence is in the commit history.

IM.codes' three-tier daemon architecture is the most sophisticated remote control topology: npm agent on developer machine ↔ self-hosted server (Docker+PostgreSQL+pgvector) ↔ phone via Telegram/Signal/Discord/WhatsApp. The server tier handles multi-agent P2P discussions (agents message each other via imcodes send) and vector memory — a cloud-scale multi-agent substrate accessible from any chat app.

Tier C Items

OnePilot (spec-system/onepilot/): No public GitHub repository. Commercial iOS app with SaaS backend. Evidence gathered from website HTML only (onepilotapp.com). Key facts confirmed: SSH-based agent deployment wizard (OpenClaw/Hermes/Claude Code/Codex), "soul" personality designer, 23+ LLM providers, Telegram/Discord/Slack messaging channels, mobile-first interface. Files written: 00-summary.md + METRICS.yaml only.

Cross-References

  • ccbot shares tmux-injection architecture with batch-21's live session monitors but controls the agent rather than observing it.
  • mysti's Brainstorm Mode (5 strategies + heuristic convergence detection) is the most sophisticated ideation primitive in Phase D; compare with batch-13's PRD authoring tools.
  • ptah-orchestra's MCP server (14 namespaces, session_submit tool) makes it the external-orchestration entry point closest to claude-flow (batch seed). External MCP orchestrators can delegate whole tasks to Ptah's Team Leader without bespoke integration.
  • cmux-manaflow's libghostty rendering places it in the same GPU-accelerated terminal tier as Ghostty itself; no other framework in the catalog uses libghostty directly.
  • onui's Shadow DOM isolation for browser extension styling is a web-platform technique worth noting — it prevents host-page CSS bleed without iframes.