Built on LangGraph · A2A-native · yours to extend

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.

A2A-native fleet orchestrationPlugin-extensible platformLocal-first & model-agnostic

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

1

Clone & run

Pull the template and start the server — python -m server. Zero config to first boot.

2

Walk the wizard

Connect your model, name the agent, pick a persona. The setup wizard tests the connection and you’re live.

3

Extend, then ship

Add skills, plugins, and subagents; wire it to your fleet over A2A. Fork it to ship your own.

Quickstart
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.