AI Agent Mission Control for Desktop
A native desktop application for monitoring, managing, and orchestrating multiple AI coding agents from a single high-performance control surface.
macOS (SwiftUI + Metal) | Linux & Windows (Qt 6.5+ via C FFI). Designed for developers who run Claude Code, Codex, Aider, and Gemini in parallel.
Documentation • Getting Started • Roadmap
Fleet Overview • Activity Log • Diff Review • Cost Tracking • Session Recording
Running multiple AI coding agents is the new normal. But today's tools force you to juggle terminal tabs, manually track costs, and copy-paste between windows. AgentsBoard fixes this.
| Problem | AgentsBoard Solution |
|---|---|
| Can't see what all agents are doing | Fleet Overview — all agents across all projects, sorted by priority |
| Agent modified the wrong file | Review-in-the-loop — approve/reject diffs before they're applied |
| No idea how much agents cost | Cost tracking — per-session, per-task, fleet-wide with history |
| Context switching between terminals | GPU-rendered multi-session view — see everything at once |
| Can't replay what happened | Session recording — asciicast v2 for playback and sharing |
| No programmatic control | MCP server + CLI — automate your agent fleet |
- Fleet Overview (
Cmd+Shift+F) — Dashboard of all agents across projects, sorted by priority: needs input → errors → working → idle - Activity Log (
Cmd+L) — Structured timeline: files changed, commands run, errors, costs - Agent State Detection — Automatic recognition of Claude Code, Codex, Aider, Gemini with model identification (Opus, Sonnet, GPT-4, etc.)
- Cost Aggregation — Per-session, per-task, fleet-wide tracking with sparkline history
- Pending Changes Preview — Review Edit/Write/MultiEdit diffs before accepting
- Split-pane Diff Viewer — Inline comments and change requests sent back to the agent
- Plan Mode — Read-only analysis with markdown rendering, line-level annotations, batch feedback
- Batch Review — Collect feedback across multiple changes, send all at once
- Embedded Terminal — Full PTY terminal (SwiftTerm) within session cards
- File Explorer — Project tree browser with quick-open (
Cmd+P) - Code Editor — Syntax-highlighted editing with save (
Cmd+S) - Web Preview — Framework detection, automatic dev server, live-reload
- iOS Simulator — Build, install, launch directly from session UI
- Mermaid Diagrams — Native rendering with image export
- Multi-Session Launch — Start multiple agents in parallel
- Smart Mode — AI-planned task distribution across agents
- Session Remix — Branch into isolated git worktree with transcript context transfer
- Git Worktree Management — Create/delete worktrees from the UI
- Metal GPU Rendering — Single MTKView, viewport scissoring, shared glyph atlas
- Sub-4ms frame times — Triple-buffered vertex data, zero per-frame allocations
- <5ms input latency — Keystroke to screen
- <200ms startup — Interactive in under 200 milliseconds
- 50+ sessions — kqueue-based I/O multiplexer on a single thread
- MCP Server — JSON-RPC 2.0 over stdio for external control
- CLI (
agentsctl) — Unix socket access to running instance - Hooks Integration — Structured JSON events from Claude Code (authoritative source)
- Session Recording — Asciicast v2 format for playback and sharing
- Themes — YAML-based with hot-reload
- Layouts — Single, List, 2-Column, 3-Column, Focus
- Keyboard Shortcuts — Fully configurable, vim-style command mode available
- Command Palette —
Cmd+Kfor sessions, repos, actions - Notifications — Native macOS alerts for agent state changes
| Agent | State Detection | Model Detection | Cost Tracking | Hooks |
|---|---|---|---|---|
| Claude Code | ✓ | ✓ | ✓ | ✓ (authoritative) |
| Codex (OpenAI) | ✓ | ✓ | ✓ | — |
| Aider | ✓ | ✓ | ✓ | — |
| Gemini CLI | ✓ | ✓ | ✓ | — |
- macOS 14 (Sonoma) or later
- Metal-capable GPU (all Macs since 2012)
- Ubuntu 22.04+ / Fedora 38+ (or equivalent)
- Qt 6.5+ runtime libraries
- Swift 5.10+ runtime
- Windows 10 or later
- MSVC 2022 Build Tools
- Qt 6.5+ runtime libraries
- Swift 5.10+ runtime
- At least one supported AI agent CLI installed
brew tap pjcau/agentsboard
brew install --cask agentsboard# Download from Releases
sudo dpkg -i agentsboard_0.9.0_amd64.debDownload the .msi installer from Releases.
git clone --recurse-submodules https://github.com/pjcau/AgentsBoard.git
cd AgentsBoard
bash scripts/setup-claude-kit.sh # Setup Claude Code skills, agents & hooks
bash build.sh && open build/AgentsBoard.appgit clone --recurse-submodules https://github.com/pjcau/AgentsBoard.git
cd AgentsBoard
bash scripts/setup-claude-kit.sh # Setup Claude Code skills, agents & hooks
# Build Swift Core as shared library
swift build -c release --product AgentsBoardCore
# Build Qt app
cd qt && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .Create an agentsboard.yml in your project root:
name: my-project
sessions:
- name: backend-agent
command: claude
workdir: ./backend
auto_start: true
- name: frontend-agent
command: claude
workdir: ./frontend
auto_start: true
- name: dev-server
command: npm run dev
workdir: ./frontend
restart: on_failure~/.config/agentsboard/config.yml:
theme: dark
font:
family: "SF Mono"
size: 13
notifications: true
scrollback: 10000
layout: fleet| Action | Shortcut |
|---|---|
| Command Palette | Cmd+K |
| Quick Open File | Cmd+P |
| Fleet Overview | Cmd+Shift+F |
| Activity Log | Cmd+L |
| New Session | Cmd+N |
| Toggle Sidebar | Cmd+B |
| Focus Session | Cmd+\ |
| Next/Prev Session | Cmd+] / Cmd+[ |
| Toggle Terminal Panel | Cmd+T |
| Command Mode (vim) | Ctrl+Space |
| Font Zoom | Cmd+= / Cmd+- |
Sources/
├── App/ # Entry point, composition root, window management
├── Core/ # Domain logic (zero UI dependencies) — 19 modules
│ ├── Activity/ # Event logging, structured timeline
│ ├── Agent/ # Provider abstraction, state detection
│ ├── Commands/ # Command palette backend, fuzzy matching
│ ├── Config/ # YAML config parsing
│ ├── Context/ # Cross-session context sharing
│ ├── Control/ # Unix socket control server
│ ├── CostTracking/ # Cost aggregation, pricing models, alerts
│ ├── Fleet/ # Fleet aggregation, session management
│ ├── Hooks/ # Claude Code hooks integration
│ ├── Keybindings/ # Configurable keyboard shortcuts
│ ├── MCP/ # JSON-RPC 2.0 server
│ ├── Notifications/# macOS native notifications
│ ├── Orchestration/# Smart mode, session remix, verification chains
│ ├── Persistence/ # Database layer (GRDB)
│ ├── Project/ # Project model, session grouping
│ ├── Recording/ # Asciicast v2 recording & playback
│ ├── Rendering/ # Metal renderer, glyph atlas
│ ├── Terminal/ # PTY, VT parsing, session lifecycle
│ └── Theme/ # Theme engine, built-in themes
├── CoreFFI/ # C FFI bridge — @_cdecl exports + agentsboard.h
├── Server/ # HTTP + WebSocket API (optional, for CLI/automation)
├── UI/ # SwiftUI views + AppKit bridges — 23 modules (macOS)
│ ├── SessionMonitor/ # Session cards with SwiftTerm terminal
│ ├── Launcher/ # Multi-session launcher + Smart Mode + Clone
│ ├── Sidebar/ # Session list, worktree manager, editing
│ ├── MenuBar/ # Status bar widget (cost-per-provider)
│ ├── FleetOverview/ # Fleet dashboard
│ ├── CommandPalette/ # Cmd+K command interface
│ ├── DiffReview/ # Split-pane diff viewer
│ ├── Search/ # Global search
│ ├── ... and 15 more # Editor, FileExplorer, Themes, VimMode, etc.
├── CLI/ # agentsctl command-line tool
└── qt/ # Qt 6.5+ desktop app (Linux + Windows)
├── src/ # C++ bridge, Qt models
└── qml/ # QML views
Cross-platform model:
macOS: SwiftUI ──(in-process)──► Core Swift
Linux: Qt/C++ ──(C FFI)──────► libcore.so (Swift)
Windows: Qt/C++ ──(C FFI)──────► core.dll (Swift)
CLI: agentsctl ──(HTTP)────► Server ──► Core Swift (optional)
Design principles:
- One main thread (UI + Metal), one I/O thread (kqueue multiplexer)
- @Observable state, direct mutation, no Combine
- Core/ has zero UI dependencies — fully testable
- Provider-agnostic: add new agents without touching UI
AgentsBoard includes claude-kit as a git submodule, providing portable Claude Code skills, agents, and hooks out of the box.
After cloning, run the setup script to activate them:
bash scripts/setup-claude-kit.shThis creates symlinks from .claude/ to the submodule:
| Type | Count | Examples |
|---|---|---|
| Skills | 26 | /commit, /ship, /fix, /deploy, /analysis, /web-research, ... |
| Agents | 11 | architect, code-reviewer, team-lead, test-runner, software-engineering, ... |
| Hooks | 3 | prompt-skill-suggest, pre-safety-guard, post-edit-remind |
To update claude-kit to the latest version:
git submodule update --remote .claude-kitAgentsBoard runs entirely on your machine. It does not collect, transmit, or store any data externally. It reads local CLI session files for monitoring purposes only.
Inspired by and building upon ideas from:
- AgentHub by James Rochabrun
- Cosmodrome by Rinaldo Festa
MIT