Freestyle · Explore
Work independently in 1–4 agent chats. Understand a project, develop an idea or ask for another perspective while choosing which conversation to follow.
Quadriga · Rust & Tauri v2 · Apache-2.0 · Pre-release
Explore. Compare. Deliver. Bring your AI agents into one desktop cockpit: explore ideas in Freestyle, compare approaches in Trials, or carry a task through planning, execution and review in Quadriga. One eligible subscription is enough; multiple providers are optional.
Built by Stefan Nilles at NeoMagic.
Start with one eligible provider or choose a different harness and model for each conversation.
Work independently in 1–4 agent chats. Understand a project, develop an idea or ask for another perspective while choosing which conversation to follow.
Give visible columns the same task and compare the answers before choosing an approach. Try feature plans, document drafts or explanations against your criteria.
Delegate a bounded task through Lead, Pacer, Workhorse and Outrider. Use explicit planning, execution and review for a feature, bug fix or source-based document.
Choose a mode at the top left. Freestyle restores your independent chats; Quadriga and Trials each restore the last run you viewed, running or finished. Use New run to prepare fresh chats while keeping earlier work. Every model turn uses provider allowance or API credits.
Try Trials: ask for a practical three-step plan for adding a contact form, including assumptions and checks, without editing files. Read the answers side by side. An optional judge uses another model turn.
Start simply: one provider, two chats and a task you recognize. Go deeper: choose models and reasoning settings per column, compare approaches, and use separate planning and review sessions. Repeating one model gives alternative responses; it does not establish independent factual verification.
Roles belong to slots. Choose any supported harness for each role, including the same harness for all four. A complete primary lap relays LEAD → PACER → WORKHORSE → OUTRIDER → LEAD for DECISION. Missing required sections pause at a human gate; a Scout and ANOTHER LAP require your approval. Click a column to inspect its baton and permissions:
# BRIEF: Cross-Harness MCP Matrix & Skill Junction Sync Goal: Let all 4 horses share MCP servers without localhost OAuth port collisions and sync one canonical skill library. DECISION (on lap return): ACCEPT | ANOTHER LAP (RE-ENTER: PACER | WORKHORSE) | STOP | SPLIT (🐎 Q1–Q4)
Letting four agents edit the same working tree at once creates a mess. Separating framing (LEAD), planning (PACER), coding (WORKHORSE), and review (OUTRIDER) keeps one writer per target. even across four linked Quadrigas.
Install an eligible official harness and sign in directly. One harness can fill all four roles with separate chats and model choices. Provider-specific restrictions and current integration limits are listed in the requirements.
Agents do not improvise hidden conversations or infinite loops. Batons persist in .quadriga/laps/<Qid>/, pause at the human gate before LEAD, and close with a verifiable Result Card.
| Left out | What QUADRIGA does instead |
|---|---|
| File tree sidebar | Your agents already use rg and fd. Full window width goes to the four live agent columns (or click ⤢ to maximize a single horse to 100% width). |
| 800-line manual diff review | Column 4 (🛡 OUTRIDER) runs in a fresh thread without shared context and returns a structured VERDICT with exact file:line references. |
| Worktree jungles & merge queues | Only Column 3 (⚒ WORKHORSE) has write access. Even when splitting into child Quadrigas (🐎 Q1–Q4), overlapping code targets wait in a single-writer queue. |
| Unbounded agent swarms | Four fixed roles (👑 LEAD, 🧭 PACER, ⚒ WORKHORSE, 🛡 OUTRIDER), an optional research 🔭 SCOUT using the harness’s configured permissions, and a hard 3-lap cap ending in a typed Result Card. |
LEAD can split work into up to three child Quadrigas (research, plan, code). Children get isolated .quadriga/laps/<Qid>/ batons, auto-relay Hops 1–3 in the background by session ID, persist in fleet.json, and pause before returning to their own LEAD. Once the children finish, a combined merge baton returns to the Q1 LEAD gate.
No regex guessing or silent restarts. Every lap ends with DECISION: ACCEPT | ANOTHER LAP | STOP | SPLIT, rendering a Result Card with deliverables, verdict summary, open P2s, and token burn. or targeted RE-ENTER: PACER | WORKHORSE delta hops.
Inspect, toggle per horse, or project (➔ 4🐎) MCP servers across ~/.codex/config.toml, ~/.claude.json, ~/.gemini/config/mcp_config.json, and ~/.cursor/mcp.json with automatic backups and configurable OAuth callback ports. Coverage is incomplete; configuration does not prove a working connection.
Maintain one canonical skill directory (.agent/skills/ + bundled role skills) and project zero-admin NTFS directory junctions (mklink /J) into .agents/skills/, .claude/skills/, and .cursor/skills/ with one-click drift repair.
Choose Quadriga, Freestyle or Trials in the top-left mode dropdown. Quadriga is the first-use default; your last choice is remembered on this device/browser. Freestyle provides independent chats. Existing Quadriga runs and queued turns continue in the background; choose Quadriga to return to the saved run. Compare the same prompt across 1–4 visible columns, without assigned roles. Hidden columns do not participate. Changing modes sends no prompt and preserves chats. Test Prompt or sending a comparison prepares fresh visible chats with confirmation before replacing unsent drafts. Existing conversations stay in history. Send to N shows the participant count and warns about real subscription allowance or API credits. Choose lightweight models for a trial; ⚖ Judge responses sends the visible answers to the first visible column for an additional model turn. Show 1–4 columns with the harness icons, or focus a single column (⤢).
Switch between neomagic, editorial-brass, and editorial-dark without shifting layout geometry. Mirror the live cockpit to your phone on :7744 (loopback & Tailscale only) while keeping all credentials strictly local.
Requirements: ChatGPT with Codex access, Claude with Claude Code access, or Cursor with CLI access. Install and sign in to the corresponding local harness; a browser chat alone is not enough. Plans and organization settings must permit that access. Building from source also requires Rust and Tauri prerequisites. Windows has been live-tested; macOS runtime coverage remains incomplete.
Laptop capacity: concurrent harnesses, provider apps, tools and long chats can use substantial RAM and CPU. Start with one active agent and increase gradually. Hiding columns does not stop running agents. Minimum RAM and a Low resource preset have not yet been validated.
Google AI (Gemini) / Antigravity: the adapter exists, but Google's current FAQ excludes third-party CLI wrappers from supported consumer-plan use. A Gemini subscription alone is not a cleared route here. Provider terms still apply; compatibility and credential-handling issues remain under review.
Pre-release: the repository is currently private and source access is required. A public download is not available yet. Demo mode uses synthetic data.
Assign each slot in the app to an available harness. Roles stay with their slots; each slot keeps its own chat and model choice. 🧑🎓 Onboarding replays the guided tour without starting a model turn. ⬇ Update checks GitHub Releases and opens the release page; Refresh also checks for releases. Automatic installation is not configured. Source checkouts update by pulling changes and rebuilding.
# 1. Clone and build the Rust/Tauri v2 binary git clone https://github.com/prompt-architekten/quadriga.git cd quadriga/src-tauri cargo build --release # 2. Run with an eligible signed-in CLI (codex, claude, or cursor-agent) ./target/release/quadriga.exe # 3. Or preview the 4-column interface with sample data and no logins $env:QUADRIGA_DEMO='1'; ./target/release/quadriga.exe