Skip to content

v0.4.0

Choose a tag to compare

@B1aZer B1aZer released this 11 Nov 22:27
· 40 commits to main since this release

AgentBus 0.4 gives agents and people one clear API, the same for every vendor.

What you can do now

  • Run a shell command from the chat. A message that starts with ! runs in the session's copy,
    on its runner, with no model call. The output is in the conversation, and the next turn sees it.
  • Start a session in any folder you type. No -folder flags and no restarts. The connector
    checks the folder and keeps it.
  • codex and agy on runners that hold no secrets. Connect codex (ChatGPT) or agy (Google) once on
    control, as with claude. Control renews the sign-ins. Runners never hold one.
  • agy (Google's Antigravity, Gemini) is a harness, beside claude and codex.
  • Each conversation gets a home of its own on a runner. A turn sees none of the runner user's
    settings, memory or transcripts, and none of another conversation's.
  • Every agent gets the folder's AGENTS.md, whatever its harness, once.
  • Agents can use the API as tools (MCP), off by default. Set [agent_api] tools = true and a
    claude or codex turn gets list_agents, ask_agent, review_turn, apply_turn and the rest.
  • See your runners. GET /api/v0/runners lists runners and connectors, online or not, with
    the harnesses each one found.
  • See what AgentBus added to a turn. The context.added event lists the instructions, the
    folder's AGENTS.md, who asked, and the tool server's text.
  • A failed turn says why, even when the agent gave no reason: the refusal of its last model
    call.
  • Closed sessions read as closed and are never offered to continue.

Changes to the API

The API is now three nouns: agent, session and turn. Every action is on a turn. The old routes are
removed with no alias. The full list is "What 0.4 changes after 0.3" in docs/CLIENT_API.md.

  • POST /api/v0/turns answers {session, turn, state, ...} at once. A turn can be queued.
  • Turn states: queued, running, finished, failed, stopped.
  • POST /api/v0/turns/<id>/stop replaces cancel. POST /api/v0/turns/<id>/review starts a
    review turn.
  • Model calls: GET /api/v0/turns/<id>/calls/<call>. Events by page:
    GET /api/v0/sessions/<id>/events?turn=.
  • New: GET /api/v0/sessions/<id>, PATCH /api/v0/sessions/<id> with closed: true,
    POST /api/v0/sessions/<id>/commands, GET /api/v0/runners, POST /api/v0/mcp.
  • New events: command.queued, command.started, command.ran, command.failed,
    context.added, tools.listed.
  • Gone from the client API: /api/v0/jobs, /api/v0/attempts, /api/v0/workspaces,
    /api/v0/calls, /api/v0/turns/<id>/events.
  • The runner protocol moved to /api/v0/runner/ (protocol 2), with its own doc. Upgrade
    control, connectors and runners together
    : a 0.3 runner cannot talk to 0.4 control.
  • A connect's view gains paste. An ended connect keeps no link or code.
  • /docs/llms.txt is short, for an agent to read in one go. The long reference is
    /docs/reference.md.

Known limits

  • A ! command works only after a session's first turn has ended. The agent does not answer a
    command by itself: it sees the output with your next message. A later release changes both.
  • A session stays on one runner. Its copy lives there.
  • agy on a runner is not yet checked with a real turn. claude and codex on a runner were.
  • agy gets no instructions of AgentBus's own and no MCP tools. A turn with forbid set, or with
    subagents = false, is refused on agy.
  • agy's Google sign-in on runners is your own risk with Google (its terms, clause 6). It is off
    unless you set subscriptions_on_runners = "own".
  • OpenRouter turns show a cost of $0.
  • Copies on shared or network disks are slow. Keep the data folder on the machine's own disk.
  • Network control is Linux only, and off by default.
  • Not yet tested on a real Ubuntu 24.04 machine. CI runs the gate on ubuntu-latest.
  • The v0 API may still change.

Upgrading from 0.3

  • Read "What 0.4 changes after 0.3" in docs/CLIENT_API.md. A 0.3 client needs changes.
  • Back up control's data folder first. Copies made by 0.3 stay where they are and still work.

Install

  • brew install staysup/tap/agentbus, or
  • curl -fsSL https://raw.githubusercontent.com/staysup/agentbus/main/install.sh | sh

AgentBus is open code under FSL-1.1-ALv2. Each release becomes Apache 2.0 two years after it is
published.