Biome is a Go monorepo for building LLM-driven agents with tool use, streaming events, and pluggable orchestration.
| Repository | Description |
|---|---|
| agent-core | Agent framework: state, turn loop, tools, event stream, and orchestrators. Defines the Orchestrator interface and hosts the default agentic loop plus plan-and-execute. Use agent-core to build an agent, register tools, and consume events. |
| agent-mind | LLM provider abstraction: OpenRouter (and future providers), streaming, tool-call handling. Use agent-mind to plug real models into agent-core via the provider.Provider interface. |
- agent-core holds the agent: conversation state, tool registry, and the turn loop. It calls a Provider (from agent-mind) for completions and tool-call parsing. It does not implement HTTP or model APIs.
- agent-mind implements the Provider interface (e.g. OpenRouter). agent-core depends on agent-mind for the types and interface; agent-mind does not depend on agent-core.
- agent-core README – architecture, state flow, extension points, quick start
- agent-core packages/agent README – event flow, config, orchestrators
- agent-mind README – provider usage, OpenRouter, models
Orchestrators live under agent-core/packages/agent/orchestrators/ and define how each turn runs (when to call the LLM, when to run tools, what events to emit).
- agentic – Default. LLM decides per turn: respond (text) or steer (tool calls). Tools run in parallel when the LLM requests multiple tool calls; results are collected in order and the main agent sees them (including delegation traces and errors), so it can rectify tool or delegation failures and retry with intent. Steering and follow-up hooks available. Event pattern documented with diagrams.
- planexecute – Plan first (one LLM call → JSON plan), execute steps (run tools in order), then synthesize (one LLM call → final answer). The main agent can rectify tool or delegation failures and retry (e.g. after seeing error/thinking in tool results). Event pattern documented with diagrams.
From the repo root:
- Build all:
go build ./...(in each module:agent-core,agent-mind) - Demo (uses agent-core + agent-mind):
cd agent-core && go run ./cmd/demo - HTTP API:
cd agent-core && go run ./cmd/http-server
See each repository’s README for details.