Skip to content

v0.93.0

Choose a tag to compare

@github-actions github-actions released this 05 Jul 20:34
d7b55b3

protoAgent v0.93.0 — the protoagent command + the shared ops layer

The headline is ADR 0075: external interfaces — protoAgent is now something you install and drive from the terminal, not just a server you run. There's a first-class protoagent command, a shared "one operation, three projections" ops layer behind the CLI / REST / MCP surfaces, real token accounting on the OpenAI-compatible API, and one-line local-LLM onboarding. Plus a big design-system upgrade for React artifacts and detached delegations.

🖥️ A first-class protoagent command

Installable (uv tool install protoagent / pipx) with a discoverable command tree (--help) instead of hidden python -m server branches:

  • Lifecycleup / down / status / serve / setup (detached server + pidfile + boot-watch).
  • Manageplugin, workspace, fleet, skills, config, model.
  • New this releaseprotoagent operations (list every operation), protoagent config get · config set key=value (edit config headless), and protoagent knowledge ingest <url|file> (ingest from the terminal).
  • protoagent model use --base-url … --model … — point at a local Ollama / LM Studio / llama.cpp / vLLM endpoint in one line. The gateway is a default, not a lock-in.

🧩 The shared ops/ layer — one operation, three projections

Admin operations (install a plugin, ingest a doc, set config, start the fleet) now live in one ops/ package, each callable identically from the agent tool, the REST API, and the CLI — no more per-surface glue. Every op is enumerated at GET /api/operations (and protoagent operations) with its read/write metadata.

🔌 Tighter MCP + OpenAI-compatible API

  • Operator-MCP profilesread-only / full (or a named allowlist), plus PROTOAGENT_MCP_TRUST=full for a trusted box. HITL tools that would hang a foreign MCP client (Claude Desktop, Cursor) are now hard-excluded.
  • GET /api/mcp/exposed — see exactly which tools the operator MCP would hand a client.
  • Real /v1 token usage — the OpenAI-compatible endpoint reports true prompt/completion/total counts, summed across the whole turn (initial call + goal continuations + subagents), so OpenAI-SDK clients and cost tooling work. Opt into streaming usage with stream_options.include_usage.
  • Breaking: the goal API is deduped to the canonical plural /api/goals* (the singular /api/goal/{id} routes are removed).

🎨 React artifacts: a full design-system component set

@pl/ui grew from 9 wrappers to ~55 — AppShell, Header, SideNav, Tabs, Table, Board, Dialog, Drawer, forms, and more — so an agent can prototype real layouts that match the live theme without hand-writing class strings.

🚀 Detached delegations

delegate_to(target, query, background=True) hands a slow job (a coding-agent building a PR, a deep-research run) to a delegate without blocking the caller's turn — it returns a job id and settles back through the background channel, so you can fan out several at once (ADR 0050).

🛠️ Notable fixes

  • Private-GitHub plugin install and update-check now authenticate over a token — no ssh key or archive workaround needed.
  • Operator MCP no longer exposes HITL tools that hang a foreign client.
  • protoagent config get YAML output fixed.
  • mDNS fleet discovery is off by default — agents stay quiet on the LAN.
  • Plus: incognito on /v1, a friction-log plugin, a knowledge-ingest preview dialog, and more.

Full changelog: v0.92.0...v0.93.0