Complete Example
This example shows a fully formedaion.yaml with multiple agents, skills,
typed agent configuration, and optional HTTP app mounts.
Root Structure
aion.yaml must include the top-level aion key and an agents map.
Configuration Settings
Required Field
Common Optional Fields
Path Patterns
path accepts module_or_file[:symbol].
Auto-discovery prefers framework instances over classes when both are present.
Factory functions should be explicitly named with
:symbol because callables are not
selected by auto-discovery.
Skills
Agent Configuration
Useconfiguration to define the schema by which an agent can be configured.
This schema is represented in the Aion control plane so a deployer can set values for each
deployment context. The configured values are provided to the agent on each request.
This allows the same agent implementation to run in multiple environments with different
configuration variables.
stringsecretllmintegerfloatbooleanarrayobject
Common Field Properties
These properties are shared by agent-configuration field types. Type-specific sections below describe additional constraints and nested schema properties.String Fields
Example:
Secret Fields
Usetype: "secret" for a top-level configuration value that must be encrypted
at rest. Composer provides a write-only input and does not display the saved
value.
description, required, and nullable
properties. They cannot define default, min_length, max_length, enum,
or items, and they cannot appear inside arrays or objects.
At runtime, secret values are provided to the agent as ordinary strings. When
Aion calls a remote server, these values are included as plaintext in the
configuration map carried by the
Distribution extension
or Daemon extension.
Treat these payloads as sensitive data. Do not log, persist, or forward their
configuration values beyond the intended runtime.
LLM Fields
LLM fields store a model ID string, but the Aion control plane can render them as a single-select model picker. The selectable model list is populated from the models available through the control plane’s model service rather than from a staticenum in aion.yaml.
Use an llm field when the agent will invoke the Aion model service and should
let deployers choose which supported model to use. The configured value is still
provided to the agent as an environment configuration value, so agent code must
pass that selected model ID into the SDK model-service call.
Example:
Integer Fields
Example:
Float Fields
Example:
Boolean Fields
Boolean fields use common properties only. Example:Array Fields
Example:
Object Fields
Example:
Framework Notes
- LangGraph paths should resolve to a graph instance or graph factory function.
- ADK paths should resolve to a
BaseAgentinstance or factory function.