Skip to content

pjcau/AgentsBoard

Repository files navigation

AgentsBoard Logo

AgentsBoard

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.

DocumentationGetting StartedRoadmap

Fleet Overview • Activity Log • Diff Review • Cost Tracking • Session Recording


Why AgentsBoard

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

Features

Fleet Management

  • 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

Code Review in the Loop

  • 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

Development Tools

  • 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

Orchestration

  • 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

Performance

  • 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

Programmability

  • 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

Customization

  • Themes — YAML-based with hot-reload
  • Layouts — Single, List, 2-Column, 3-Column, Focus
  • Keyboard Shortcuts — Fully configurable, vim-style command mode available
  • Command PaletteCmd+K for sessions, repos, actions
  • Notifications — Native macOS alerts for agent state changes

Supported Agents

Agent State Detection Model Detection Cost Tracking Hooks
Claude Code ✓ (authoritative)
Codex (OpenAI)
Aider
Gemini CLI

Requirements

macOS

  • macOS 14 (Sonoma) or later
  • Metal-capable GPU (all Macs since 2012)

Linux

  • Ubuntu 22.04+ / Fedora 38+ (or equivalent)
  • Qt 6.5+ runtime libraries
  • Swift 5.10+ runtime

Windows

  • Windows 10 or later
  • MSVC 2022 Build Tools
  • Qt 6.5+ runtime libraries
  • Swift 5.10+ runtime

All platforms

  • At least one supported AI agent CLI installed

Install

macOS (Homebrew)

brew tap pjcau/agentsboard
brew install --cask agentsboard

Linux (.deb)

# Download from Releases
sudo dpkg -i agentsboard_0.9.0_amd64.deb

Windows (.msi)

Download the .msi installer from Releases.

Build from source (macOS)

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.app

Build from source (Linux/Windows — Qt)

git 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 .

Project Configuration

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

User Configuration

~/.config/agentsboard/config.yml:

theme: dark
font:
  family: "SF Mono"
  size: 13
notifications: true
scrollback: 10000
layout: fleet

Keyboard Shortcuts

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+-

Architecture

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

Claude Code Integration (claude-kit)

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.sh

This 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-kit

Privacy

AgentsBoard 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.

Credits

Inspired by and building upon ideas from:

License

MIT

About

AI Agent Mission Control — Native macOS app for orchestrating Claude Code, Codex, Aider & Gemini agents side by side

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors