Product Name: PlexusOne Desktop Version: 1.0 Status: Draft Last Updated: 2026-03-20
Developers using multiple AI CLI agents (Claude Code, Codex CLI, Gemini CLI, etc.) face significant challenges:
- Visual overload - Managing multiple tmux panes/terminal windows is cognitively expensive
- No persistent history - Interactions are ephemeral and hard to search
- No async workflows - Must actively watch terminals; no notification system
- No structured logging - Cannot analyze token usage, task efficiency, or failure patterns
- No coordination - Each agent operates in isolation with no task routing
Current solutions like get-shit-done (GSD) and Gas Town attempt automation but suffer from excessive token consumption due to poor task boundaries and over-communication between agents.
PlexusOne Desktop is a native terminal multiplexer and control plane for AI agents - a macOS application that fully replaces iTerm2/Terminal.app for managing AI CLI agents. It embeds terminal emulation directly (via SwiftTerm) while using tmux for session persistence.
Key differentiators:
- Embedded terminals: No external terminal app needed; PlexusOne Desktop IS the terminal
- Multi-window/multi-pane: Browser-like window model with flexible pane layouts
- Session persistence: tmux sessions survive app crashes and restarts
- Detach/attach: Panes can dynamically connect to any tmux session
- Agent-aware: Built-in logging, token tracking, and status monitoring
The key insight: manual orchestration first, automation later. By building a better human interface, we learn the coordination patterns that matter before encoding them in software.
Primary: Developers who regularly use 3+ AI CLI agents simultaneously for software development tasks.
Persona:
- Uses Claude Code, Codex CLI, Gemini CLI, or similar tools
- Currently manages agents via tmux + iTerm2
- Frustrated by context-switching between panes
- Wants to track which agent is doing what
- Wants to step away and return to progress updates
- tmux is infrastructure, not orchestrator - PlexusOne Desktop controls tmux; tmux runs agents
- Human-in-the-loop - User makes routing decisions; PlexusOne Desktop provides visibility
- Log everything - Every interaction is recorded for analysis
- Structured communication - Enforce task/response formats even in manual mode
- Token awareness - Make token costs visible to build intuition
- Create multiple application windows (like Chrome)
- Each window operates independently
- Windows can be arranged across desktops/monitors
- Split panes horizontally or vertically within a window
- Flexible layouts: single, 2-up, 3-up, grid
- Resize panes by dragging dividers
- Navigate between panes with keyboard (⌘1-9, ⌘], ⌘[)
- Full terminal emulation in each pane
- ANSI color support, cursor control, scrollback
- Native macOS text rendering and font support
- Standard terminal input (typing goes directly to session)
- List all tmux sessions with status indicator
- Create new tmux session from UI
- Attach pane to existing session
- Detach pane from session (session keeps running)
- Kill session from UI
- Each pane can attach to one tmux session
- Panes start detached (empty state with session picker)
- Detaching leaves session running in background
- Multiple panes can attach to same session (mirrored view)
- Show all sessions across bottom of window
- Status indicators: 🟢 running, 🟡 idle, 🔴 stuck
- Click session to attach in focused pane
- Quick-create new session button
Every interaction optionally logged as JSON:
{
"session": "coder-1",
"input": "Write a Node.js middleware...",
"output": "...",
"input_tokens": 120,
"output_tokens": 450,
"timestamp": "2026-03-20T10:00:00Z",
"duration_ms": 12500
}Token counts use heuristic estimation (1 token ≈ 4 characters) in v1.
- Save window positions and pane layouts
- Restore on app launch
- Remember which session was attached to each pane
- Name/rename sessions
- Assign agent type (Claude, Codex, Gemini, etc.)
- Custom color/icon per session
- Aggregate token usage per session
- Daily/weekly trends
- Cost estimates (based on model pricing)
- Quick-insert common task formats
- Enforce structure: Goal, Input, Constraints, Expected Output
- Per-session history of interactions
- Searchable by content
As a developer, I want to work with multiple agents side-by-side in a single window so I can compare outputs and coordinate work.
Acceptance Criteria:
- Split window into 2+ panes (horizontal or vertical)
- Each pane shows its own terminal session
- Can resize panes by dragging
- Keyboard shortcuts to navigate between panes
As a developer, I want to attach a pane to an already-running tmux session so I can resume work or monitor background tasks.
Acceptance Criteria:
- Session picker shows all available tmux sessions
- Shows session name, status, last activity time
- Click to attach; terminal output appears immediately
- Session history (scrollback) is available
As a developer, I want to detach from a session without killing it so the agent keeps working while I close the pane.
Acceptance Criteria:
- Detach command (⌘⇧A) disconnects pane from session
- Session continues running in tmux
- Pane shows "detached" state with reattach option
- Can close pane; session unaffected
As a developer, I want to see the status of all my sessions at a glance so I know which agents need attention.
Acceptance Criteria:
- Status bar shows all sessions
- Color indicators: running (green), idle (yellow), stuck (red)
- Updates within 5 seconds
- Click session to attach in focused pane
As a developer, I want to quickly create a new tmux session and start an agent so I can spin up new workers.
Acceptance Criteria:
- ⌘N creates new session with name prompt
- Auto-attaches to new pane
- Can specify command to run (default: shell)
- Session appears in status bar immediately
As a developer, I want to have multiple PlexusOne Desktop windows so I can organize agents by project or task.
Acceptance Criteria:
- ⌘⇧N opens new window
- Each window has independent pane layout
- Windows can be on different desktops/monitors
- Window state persists across app restart
- Automated orchestration / task routing
- Agent-to-agent communication
- Discord integration
- Mobile companion app
- Windows/Linux support (macOS only)
- Real tokenizer integration (using heuristic only)
- tmux control mode integration (using standard attach)
- Tabs within panes (panes only, no tab bar per pane)
- SSH remote sessions (local tmux only)
| Metric | Target |
|---|---|
| Replace iTerm entirely | 100% of agent work done in PlexusOne Desktop |
| Multi-agent visibility | Can monitor 5+ sessions simultaneously |
| Session resilience | Sessions survive app crash/restart |
| Pane flexibility | Split, attach, detach workflows feel natural |
| Startup time | App launches and restores layout in < 2s |
- Discord integration - Each agent as a channel; async notifications
- Mobile companion app - Monitor and send simple commands
- Automated task routing - Rules-based agent selection
- Agent wrappers - JSON API over CLI tools for structured communication
- Real token counting - Integrate model-specific tokenizers
- Replay/debug - Re-run past interactions
- Should we support custom agent launch commands from UI, or require pre-existing tmux sessions?
- What's the right threshold for "stuck" detection? Should it be per-agent configurable?
- Should logs be per-agent files or single JSONL?
- get-shit-done (GSD) - Reference orchestrator