Skip to content

Agent & LLM

The brain: the language model that routes and replies, the sub-agents it can delegate to, and the actions it can take. Set these in Settings → Agent (and in orbis.yaml for headless setups).

For the why, see The agent model.

The LLM

One small, fast model powers the orb's routing and personality — it decides each turn and writes the replies. Pick a provider in Settings → Agent → LLM.

ProviderLocal?Notes
Built-in (MLX)Apple-Silicon native (Qwen 3.5 4B) in-process. Best local quality on M-series; ~2.5 GB first download.
OllamaA separate local process; share a model with other tools.
LM StudioLocal; start the LM Studio server first.
vLLMYour own local vLLM server.
protoLabs☁️The protoLabs gateway — fast, voice-tuned routing.
OpenAI☁️gpt-4o-mini, a few cents/hour.
Anthropic☁️Claude Haiku — great personality.
Groq / DeepSeek☁️Fast / cheap alternatives.

Keys (llm: in orbis.yaml; overrides the LLM_* env vars):

KeyMeaning
urlOpenAI-compatible base URL (or mlx://… / ollama local).
modelModel id.
api_key / api_key_envThe key directly, or the name of an env var holding it.

Advanced LLM options

All optional; leave unset for simple single-model behaviour.

  • Failover backup (fallback:) — if the primary LLM errors (e.g. the cloud gateway drops), ORBIS switches to a backup for the rest of the session so the orb keeps talking. The natural backup is a local model. Same fields as the primary.
  • Two-model routing (router_model / content_model) — use a stronger model for the tool-decision turn and a faster one for narrating a tool/delegate result. Both served at the same url. OpenAI-compatible gateways only.
  • Micro-task model (micro_model) — the cheap tier for throwaway generation (fillers, acknowledgements, proactive phrasing). Defaults to model.

Delegates

Delegates are sub-agents the orb can hand work to. The LLM picks one by its description when it decides delegation is the right call. Manage them in Settings → Agent → Delegates.

Three types:

TypeWhat it is
A2A agentA JSON-RPC fleet peer (the Agent2Agent protocol) — e.g. another studio agent.
OpenAI-compatAny /v1/chat/completions endpoint treated as a sub-agent.
ACP coding agentA local terminal coding agent ORBIS launches and drives over the Agent Client Protocol — protoCLI, OpenCode, Claude Code, Codex.

Fields:

FieldAppliesMeaning
NameallUsed in delegate_to(target=…). Lowercase, no spaces.
DescriptionallThe LLM reads this to choose between delegates — be specific.
URLA2A · OpenAIA2A: the JSON-RPC endpoint (often /a2a). OpenAI: the base URL ending in /v1.
Auth schemeA2AapiKey (X-API-Key) or bearer, or none for a public endpoint.
Credentials env varA2AName of the env var holding the secret (set it in .env).
ModelOpenAIProvider model id.
API key env varOpenAIOptional; for endpoints that need auth.
CommandACPThe agent binary to launch (e.g. proto, opencode).
ArgsACPArgs that start it in ACP mode (e.g. ["--acp"], ["acp"]).
WorkdirACPThe directory the agent is responsible for — its session working directory.

No secrets cross the wire from the UI — the schema only references env-var names; the values come from the process environment.

ACP coding agents

An ACP delegate is a coding agent that runs on your machine. ORBIS launches it (command + args) in the registered workdir, drives it by voice, narrates its tool calls ("Editing app.py", "Running pytest"), and the agent reads, edits, and runs code in that directory. The workdir is the unit of identity — add the same agent twice against two repos and you get two scoped delegates ("ask proto in the ORBIS repo…").

Launch commands (each speaks ACP over stdio):

Agentcommandargs
protoCLIproto["--acp"]
OpenCodeopencode["acp"]
Claude Codenpx["@zed-industries/claude-code-acp"]
Codexcodex-acp[] (install zed-industries/codex-acp)

The agent must be installed and on your PATH. ORBIS only launches one on an explicit request — never automatically.

See Add a delegate and Voice-drive a coding agent for the steps.

What the agent can do

Beyond replying, the orb can take actions by voice:

  • Reminders — set, list, and cancel time-based reminders (one-off or recurring). They also appear in the top-right reminders bell.
  • Delegate — hand a task to one configured delegate and speak the result.
  • Orchestrate — run a bounded multi-step task across your delegates in the background, then report back.

See also