Agents
Each entry under agents: is a schema.Agent.
Minimal
agents:
- id: assistant
role: assistant
brain:
provider: deepseek
model: deepseek-chat
backend: openai_compat
config:
api_key: "{{env.DEEPSEEK_API_KEY}}"
system_prompt: |
You are a helpful assistant.
Fields (schema.Agent)
| Field | Notes |
|---|---|
id | Required |
role | e.g. assistant, worker, coordinator, specialist |
brain | Required (Brain) |
max_tool_iterations | Optional cap |
system_prompt / prompt | Instructions |
plan_first | Optional bool |
specialty | Optional label |
delegate_to | Specialist ids |
skills | Skill id / path string |
capabilities | Per-agent capability overlay |
modules | Sequence or map of module grants / tool lists |
pool | max_workers, progress, auto_retry |
coordination | Nested delegate_to / pool |
instructions | File / specialty / capabilities helper |
context | Per-agent context block |
hooks | Per-agent hooks |
Brain
Typical fields: provider / provider_id, model, backend,
config (base_url, api_key, ...), temperature / token limits,
native_tool_use, nested context, credential refs when used.
Backends include OpenAI-compatible and Anthropic paths supported by
the runtime LLM stack.
Roles and spawn
Coordinator agents can call agent_spawn.agent when spawn is
enabled. Specialists are other agents[] entries targeted by
agent / task (see Multi-agent).
Tool surface
Per-agent modules plus app tools.capabilities decide what the
agent may call. Injection mode:
Tools.