macOS command center for the Lobs multi-agent system. Manage tasks, chat with AI agents, browse memory & knowledge, monitor work, and track system health — all in one unified SwiftUI app.
- Command Center — Dashboard with "while you were away" summary, quick stats, and recent activity
- Chat — Real-time messaging with Lobs via WebSocket
- Command Palette (⌘K) — Fuzzy finder for tasks, projects, documents, and navigation
- Quick Capture (⌘⇧Space) — Global hotkey for instant task/memory capture
- Tasks & Kanban — Project-based boards with drag-and-drop, filtering, and agent assignment
- Inbox — Action items and proposals from AI agents requiring human decision
- Projects — Organize work by project with active/archive states
- Memory — Browse, search, edit, and create personal memories (your second brain)
- Knowledge/Topics — Research workspaces with documents, notes, sources, and findings
- Documents — Browse and read reports and research deliverables
- Team View — Real-time agent status grid showing what each agent is working on
- Work Tracker — Timeline of completed work sessions with cost tracking
- Calendar — View upcoming events and schedule overview
- Status Dashboard — System health, activity feed, AI usage & cost analytics
- Framework: SwiftUI (macOS 14.0+)
- Build: Swift Package Manager
- Architecture: MVVM (AppViewModel as central state holder)
- API: REST + WebSocket to lobs-server
- Network: Connects via Tailscale for secure remote access
- Storage: Local cache + server-side persistence
- macOS 14.0 or later
- Xcode 15+ (for Swift compiler)
- Running instance of lobs-server
git clone git@github.com:RafeSymonds/lobs-mission-control.git
cd lobs-mission-control
swift build
swift runOr use the build script:
./bin/buildOn first launch, the app guides you through onboarding:
- Server URL — Your lobs-server address (e.g.,
http://100.x.x.x:8000for Tailscale) - API Token — Generate on server:
cd ~/lobs-server && python bin/generate_token.py mission-control
Settings are stored in ~/Library/Application Support/LobsMissionControl/config.json.
You can also configure via Settings (⌘,) after initial setup.
┌─────────────────────────────────────────────────┐
│ Lobs Mission Control (macOS) │
│ │
│ ┌──────────────────────────────────────────┐ │
│ │ AppViewModel (State) │ │
│ └──────────────────────────────────────────┘ │
│ │ │
│ ┌──────────────────────────────────────────┐ │
│ │ APIService (Networking) │ │
│ │ • REST API calls │ │
│ │ • WebSocket (chat, live updates) │ │
│ │ • JSONDecoder (.convertFromSnakeCase) │ │
│ └──────────────────────────────────────────┘ │
│ │ │
└──────────────────────┼──────────────────────────┘
│
(Tailscale)
│
┌──────────────────────┼──────────────────────────┐
│ ▼ │
│ lobs-server (FastAPI) │
│ • Task orchestration │
│ • Agent coordination │
│ • Memory & knowledge storage │
│ • Calendar integration │
│ • WebSocket relay │
└─────────────────────────────────────────────────┘
Key patterns:
- Views use
@EnvironmentObjectto accessAppViewModel - API calls routed through
vm.apiService(NOT direct APIService instantiation) - Models decoded with
.convertFromSnakeCase— no manual CodingKeys for snake→camel - WebSocket updates pushed to AppViewModel, which updates
@Publishedproperties - Local cache (CacheManager) for offline resilience
- ARCHITECTURE.md — App structure, data flow, key components
- CONTRIBUTING.md — Development guide, debugging, common pitfalls
- AGENTS.md — AI agent guidance and constraints
- docs/ — Bug fixes, feature documentation, implementation notes
- See docs/README.md for full index
See CONTRIBUTING.md for guidelines.
For AI agents working on this codebase, see AGENTS.md.
Lobs Ecosystem Documentation (in ~/self-improvement/docs/):
- LOBS_ECOSYSTEM.md — Cross-project architecture and feature matrix
- GETTING_STARTED.md — 20-30 min ecosystem onboarding
- TECH_STACK_REFERENCE.md — Technology choices and patterns
- Code Quality System — Handoffs, reviews, technical debt tracking
Private