programmable multi-agent meta-harness
aegis

Orchestrate Claude Code, Gemini CLI, and OpenCode from a single terminal — driving each over its native protocol, without replacing a single tool you already use. Six primitives. Any workflow.

$ pip install aegis-harness  ·  python 3.13+
Inboxfire-and-forget context handoff
Queuespawn worker agents on-demand
Canvasshared markdown blackboards
Terminallive PTY-backed co-authored shells
Groupsbroadcast-and-gather committees
Workflowdeterministic Python orchestration
meta-harness architecture
Sits above.
Not inside.

Most agent frameworks replace your tools. Aegis drives them. It wraps Claude Code, Gemini CLI, and OpenCode over their native structured protocols — stream-json and ACP — exposing a unified canonical event surface across all three.

Each spawned agent owns its own tool use, permissions, sandboxing. Aegis owns the coordination, routing, persistence, and automation layer.

Unified tool events: read, edit, execute, search, think, fetch
Real-time cost, token counts, and context-window meters per turn
Clean driver seam — new providers plug in without rewriting workflows
Every agent gets the aegis MCP server injected automatically
aegis
claude code
stream-json
bidirectional JSON protocol, native tool-use events, permission modes
gemini cli
ACP
agent client protocol, session load/resume, streaming event codec
opencode
ACP
multi-model routing (anthropic, google, moonshot), thought coalescing
provider-agnostic · protocol-native · extensible
primitive one
Inbox

Fire-and-forget context handoff. Send a task, summary, or rich context block to any agent without waiting. The recipient picks it up at their own pace.

Compose agents into pipelines: one produces, another refines, a third reviews — each running at full speed.

01 / 06
primitive two
Queue

Spawn worker agents on-demand. A queue holds tasks; aegis starts fresh agent instances to process them, up to your parallelism ceiling. Callbacks fire on completion.

Chain queues together to build deep processing pipelines without writing a scheduler.

02 / 06
primitive three
Canvas

A shared markdown blackboard. Multiple agents read and write the same live document — building knowledge together, section by section.

Use canvases for research briefs, design docs, and collaborative drafting across agents with different expertise.

03 / 06
primitive four
Terminal

A live PTY-backed shell that agents co-author. One agent runs commands; another watches output and reacts — all in the same persistent shell session.

OSC 133 shell integration tracks command boundaries, exit codes, and output blocks with precision.

04 / 06
primitive five
Groups

Broadcast to agent committees. Send one prompt to many agents simultaneously. Collect all responses, or fire and move on.

Use groups for adversarial review, parallel ideation, expert panels, or redundant verification.

05 / 06
primitive six
Workflow

Deterministic Python orchestration with cron scheduling. Define multi-step pipelines in plain Python — loops, branches, retries, parallelism — with full type safety.

Workflows compose all six primitives into repeatable, production-grade automations that run while you sleep.

06 / 06
aegis — terminal
Context handoff in progress
swift-lynx · claude
✓ Refactor complete. JWT extracted to auth/jwt.py. Tests: 24 pass.
→ sending to inbox…
keen-fox · gemini
→ from swift-lynx  just now
Review jwt.py for edge cases. Tests attached.
⠸ reading context…
non-blocking · sender continues immediately
QUEUES
research-queueclaude · ×33 running
review-queuegemini · ×1idle
IN FLIGHT
summarise-paper-001swift-lynx12s
summarise-paper-002muted-crow8s
summarise-paper-003calm-deer3s
QUEUED (4)
summarise-paper-004waiting
summarise-paper-005waiting
● 3 running○ 4 queued✓ 1 done✗ 0 err
▦ research-brief.mdswift-lynxkeen-fox
# Competitive Analysis — Q2 2025
## Market Overview
Three categories: framework-level harnesses, monolithic chat interfaces protocol routers, and workflow engines.
## Key Competitors
keen-foxLangchain, CrewAI, AutoGen represent the incumbent layer. None operate at the harness level.
swift-lynx editing §1  ·  keen-fox editing §2
user@zion:~/project $ pytest tests/auth/ -v
collecting … 24 items
test_jwt.py::test_valid_token     PASSED
test_jwt.py::test_expired_token  PASSED
test_jwt.py::test_tampered_sig   PASSED
24 passed in 1.83s
↳ swift-lynx All 24 pass. Handing report to keen-fox →
user@zion:~/project $
MEMBERS (5)
swift-lynx⏳ responding
keen-fox⏳ responding
bold-kite✓ done
calm-deer⏳ responding
muted-crow✓ done
BROADCAST #7
prompt
"Review refactored auth module for security issues. Focus on JWT edge cases."
mode
gather-all
progress
2 / 5  waiting…
@workflow("nightly", cron="0 2 * * *") async def nightly(ctx): # 1. fetch open PRs prs = await ctx.queue( "fetch-queue", task="list open PRs" ) # 2. parallel review reviews = await ctx.group( "review-panel", prompt=prs ) # 3. write to canvas await ctx.canvas( "weekly-brief", append=reviews )
RUN #42 · 02:00:01
fetch open PRs
fetch-queue · 3 tasks · 8s
parallel review
review-panel · 5 agents · 34s…
write to canvas
pending
swift-lynx · claude-3-5-sonnet · auto ✻ working… 18.3k · $0.04
type a message…  
beyond primitives
Everything the platform needs.

Budgets, headless operation, session persistence, plugins, remote delegation — aegis ships with the complete infrastructure so your workflows don't need to rebuild it.

¢
Budget control
USD or token ceilings per queue with rolling windows. Tasks are admitted only if every budget is under its limit. Structured rejection with unblock_at estimates.
per-queue
Headless + Telegram
Run as a systemd service with no TUI. Control every session from Telegram — send tasks, spawn agents, query queues and budgets, manage schedules. Full HTML renderer.
aegis serve
Session persistence
Auto-resume on launch. Genuine session resumption — Claude via --resume, Gemini and OpenCode via ACP loadSession. No lost context across restarts or crashes.
auto-resume
Plugin system
Extend aegis with @hook and @tool decorators. Pre-turn, post-turn, session hooks. Install from GitHub (gh:owner/repo) or local paths — with lockfile and rollback.
v1 substrate
Remote plane
Delegate tasks and schedules to remote aegis instances over HTTP. Wire callbacks back across machines. Designed for Tailscale and private overlay networks.
cross-machine
Full observability
Real-time cost, input/output tokens, cache-hit rate, context-window meters, and per-turn timing — all first-class event fields. No log scraping required.
per-turn metrics
get started
Ship your first
workflow tonight.

Install, configure your agents, and run a real multi-agent pipeline in under ten minutes. No new frameworks — just Python and six primitives.

$pip install aegis-harness
works withclaude code·gemini cli·opencode
Inbox
Fire-and-forget handoff between agents
Queue
Spawn workers on-demand with callbacks
Canvas
Shared markdown blackboards
Terminal
Live PTY shells agents co-author
Groups
Broadcast-and-gather committees
Workflow
Deterministic Python + cron