~/.comis/config.yaml by hand. Click Config in the sidebar to open it.
Who it’s for: operators who want a guided UI with form controls and validation, plus a safety net (git history + rollback) for every change.
How saves work
Saves are persistent and atomic. When you click Save, the dashboard sends aconfig.patch (single key) or config.apply (whole section) RPC to the daemon. The daemon:
- Validates the patch against the full config schema (Zod).
- Deep-merges the change into your local YAML file (last entry of
COMIS_CONFIG_PATHS, typically~/.comis/config.yaml). - Writes atomically (temp file + rename, mode
0o600). - Records a git commit in the config history (best-effort).
- Schedules a
SIGUSR2daemon restart (200 ms after the response flushes) so every subsystem picks up the new config consistently.
- Changes survive a restart — they are written to your YAML file before the response returns.
- A brief daemon restart follows every save (sessions, channels, and queues reconnect on its own).
- Validation failures abort the save — nothing is written, and the in-memory config is unchanged.
- Each change is logged to the History tab and to the audit log.
Tabs
The Config Editor has four top-level tabs:- YAML Editor
- Gateway
- History
- Setup Wizard
The main configuration editing tab. A section navigation sidebar on the left lists all config sections (gateway, agents, channels, security, memory, scheduler, approvals, hooks, mcp). Click any section to load its settings into the editor area.Within this tab, three sub-modes are available via mode buttons at the top:
- Form — The most user-friendly option. Shows visual controls for each setting: toggles, dropdowns, text fields, array editors, and token management widgets. Change the values you want, then click Save to apply.
- YAML — For users comfortable editing configuration files directly. Shows the raw YAML text for the selected section in a full text editor. Edit the YAML, then click Save to apply.
- Schema — A read-only reference view showing the structure and validation rules for the selected section. Useful for understanding which fields exist, what types they expect, and constraints like minimum or maximum values.
config.apply RPC: the patched section is validated, merged into your local config.yaml, written to disk, and a daemon restart is scheduled.Common Tasks
End-to-end: change a key, see it take effect
This walkthrough demonstrates that saves are persistent.Edit a value
Find the rateLimit field. Switch to the YAML sub-mode and bump
rateLimit.requestsPerMinute from 60 to 120.Save
Click Save. A toast appears: “Configuration applied. Daemon restarting.” Within ~2 seconds, the connection dot in the top bar briefly turns yellow (reconnecting), then green again.
Verify on disk
Open
~/.comis/config.yaml in any text editor. The new requestsPerMinute: 120 line is there. The change persisted.Other common tasks
Edit individual gateway settings
Switch to the Gateway tab for fast single-field edits (rotate a token, add a CORS origin, tweak TLS). Each field saves on its own.
Roll back a bad change
Switch to History, click the entry from before the change, click Rollback. The daemon writes the older config back, commits the rollback, and restarts.
Re-run guided setup
Switch to the Setup Wizard tab. The wizard walks through provider setup, agent creation, and channel wiring step by step — helpful for adding a second channel without learning YAML.
The route is
#/config. RPC methods used: config.read, config.patch, config.apply, config.history, config.diff, config.rollback, config.schema. All require admin trust on the gateway token. See JSON-RPC reference for the wire format.Related Pages
Configuration Guide
Learn how to write and manage your permanent config.yaml configuration file.
Security View
Manage security settings, API tokens, and approval policies.
