Build an agent.
Orchestrate a fleet.
protoAgent ships a small, legible core — then you add exactly what you need as plugins, instead of deleting what you don't. Every agent speaks A2A, so it runs solo or as part of a fleet across your machines. Local models, your stack, no bloat.
Read the docs → · macOS desktop app — signed & notarized. Windows & Linux in testing.
protoAgent in action
The same substrate, wildly different agents. Here's what's running on protoAgent today.
Chase a goal autonomously
A SpaceTraders agent runs an OODA loop on the scheduler — observe every 20 min, escalate to a strategist subagent hourly — grinding toward a standing goal of 1,000,000 credits. The goal verifier checks the outcome, not the model's self-report.
See it in: docs/guides/goal-mode.md · docs/adr/0028-plugin-goal-verifiers.md
Orchestrate a fleet over A2A
A PM agent (Roxy) fans out work across engineering teams over A2A delegate_to — dispatching features, tracking boards, and auto-disposing teams when they finish. Every agent speaks the same open protocol.
See it in: plugins/delegates/ · docs/guides/portfolio.md · docs/explanation/a2a-protocol.md
Plugins that bring their own UI
A plugin adds its own left-rail dashboard — Fleet view, Quant Desk, telemetry panels — that slots into the React console without touching core or rebuilding. One pip install, instant surface.
See it in: plugins/ · docs/guides/plugin-views.md · apps/web/
Know what every turn costs
Per-turn cost, latency (p50/p95), token counts, and cache-hit rates — tracked natively, exportable as CSV, and wired to Langfuse + Prometheus. Cost visibility is core, not an add-on.
See it in: docs/explanation/cost-and-trace.md · runtime/state.py · docs/reference/extensions.md
A2A-native, built for fleets
Every agent is a spec-compliant A2A 1.0 server — agent card, JSON-RPC, streaming, push, a cost DataPart on every turn. Delegate to other a2a / openai / acp endpoints. Run one, or orchestrate many across your machines.
A lean core, not a bundle
Start small and legible, then add tools, skills, subagents, workflows, memory backends, and console views as git-URL plugins — pinned, removable, shareable as repos. You opt in to surface area; you don't fight to remove it.
An operator console
A React console (+ a native desktop app) with live token-by-token streaming, chat that survives navigation, knowledge, delegates, cost telemetry, and plugin dashboards that slot right in. Run from chat, manage from surfaces.
Headless or hands-on
API-first: run it with no UI and drive it over the OpenAI-compatible /v1 API or A2A — point any OpenAI client or agent at it. Powered by your models, local or hosted. The console is optional, not the product.
From clone to shipped
Clone & run
Pull the template and start the server — python -m server. Zero config to first boot.
Walk the wizard
Connect your model, name the agent, pick a persona. The setup wizard tests the connection and you’re live.
Extend, then ship
Add skills, plugins, and subagents; wire it to your fleet over A2A. Fork it to ship your own.
git clone https://github.com/protoLabsAI/protoAgent
cd protoAgent && pip install -r requirements.txt
python -m server # walk the wizard at http://localhost:7870 Clone it tonight. Own every line.
A working A2A server, starter tools, and a console — on a fresh clone. Grow it into whatever you need; see what makes it different.