Config
The raw config.yaml editor — validated on save, backed up automatically.
Web UI → Config (System section) edits <agent home>/config.yaml
directly as text — there is no structured, field-by-field form.
What’s on the page

A single card, ~/.aios/config.yaml, containing one textarea with the
full file contents and a SAVE button. That’s the entire page: no
per-field inputs, no schema-driven form, no dropdowns for provider/model —
just the raw YAML.
The page fetches GET /api/config/raw, which returns {"yaml": "<file contents>"}, and drops it straight into the textarea.
Change whatever you need — provider, model, budgets, harness tuning, anything config.yaml supports.
Click SAVE. The page sends PUT /api/config/raw with {"yaml_text": "<textarea contents>"}.
What happens on save
The server parses the submitted text as YAML before writing anything. If
it doesn’t parse, the write is refused with not valid YAML — refusing to write and the file on disk is left untouched — the message area on the
page shows the error (first 60 characters) in red.
If it does parse, and a config.yaml already exists, the previous file
is copied to config.yaml.bak first, then the new text overwrites
config.yaml. On success the page shows ✓ saved.
Validation only checks that the text is well-formed YAML — it does not check that the fields inside are ones AIOS actually understands. A typo in a key name will save cleanly and silently do nothing.
Config edits apply on the next gateway restart, not live. After saving a
provider/model change, restart the affected service (systemctl restart aios-gateway, or the equivalent for a local install) for it to take
effect.
Related
There’s a separate, read-only GET /api/config endpoint that returns the
effective config as a plain JSON object (used internally to gate optional
dashboard features) — it isn’t rendered anywhere as a page and has no
write counterpart. The Config page always talks to /api/config/raw.
For provider API keys rather than settings, see Keys. For per-agent structured settings edited through the Agents card UI (provider, model, description) rather than raw YAML, see Agents.