One interface. Every AI. Runs on your own server.
Setup Guide · User Guide · Configuration Guide · Download
A local-first web application that orchestrates multiple AI agents — a configurable paid CLI (Claude, Codex, or Qwen Code), a free REST provider (Gemini or Groq), a local LLM server (Ollama, LocalAI, or both at once via Dual mode), cloud Workers (Groq, OpenRouter, Together AI, Z.ai, DeepInfra…), and local CLI tools (ffmpeg, whisper.cpp, pandoc) — from a single browser tab. It's plain PHP + Apache + Bash: no Node.js server, no WebSocket daemon, no persistent background process. It survives Apache restarts and runs on standard shared hosting.
Your data stays on your machine by default. Cloud model calls use your own API keys, encrypted at rest. Two SaaS editions exist: everything above is Free, forever, local-only; a paid account only unlocks the community Marketplace and remote control from another device — see Pricing.
Runs on Linux, ARM Linux, macOS, and Windows (via WSL2). Every other device connects through the Everywhere relay page on the site instead.
cockpit_data/# 1. Copy the app into your Apache docroot
sudo cp -r cockpit-bundle/ /var/www/html/cockpit
# 2. Give Apache (www-data) write access to its data folder
sudo chown -R www-data:www-data ~/scripts/cockpit_data
# 3. Open it
http://localhost/cockpit/
# 4. First-run setup walks you through:
# - creating a local login
# - pointing at your Ollama and/or LocalAI install (if any)
# - adding cloud Worker API keys (optional)
# - authenticating Claude Code / Gemini CLI (optional, paid agents)
Full walkthrough with every step: Setup Guide.
| Piece | What it does |
|---|---|
index.html | The entire frontend — single file, vanilla JS, no build step |
paths.php | Central path resolution — every backend file reads data locations through this one choke point (per-user scoped when a local login is active) |
agent_loop.sh | tmux queue watcher — dispatches prompts to the active Card 1/2/3 CLI sessions (Claude Code, Gemini CLI, Ollama, or whichever supplier is configured in each slot) and streams responses back via a file queue (no WebSocket needed) |
crud_executor.sh | Parses %%CREATE/APPEND/DELETE/READ%% markers in agent output and performs the file operation on the agent's behalf — the mechanism that lets text-only suppliers (Card 3/Local LLMs, Workers) still touch files |
combos_lib.php / combos.php / combos_core.php | Power Combos engine — parallel/sequential/judge multi-model recipes over Ollama and/or LocalAI, dual-mode combos run both servers in parallel at once |
rules.php | Delegate — keyword/phrase rules that auto-route a matching task to a chosen worker, combo, or Ollama model before the normal agent continues |
cockpit_data/ | All persistent app data — flat JSON, no database |
Full feature tour: Features.
AGPL-3.0. A separate uploader agreement covers content published into the Marketplace.