comis init, but now embedded in the dashboard. Use it to add a new provider, register another agent, or wire up a fresh channel without learning the YAML schema.
Who it’s for: new operators bringing a fresh installation up to a working agent + channel, and existing users adding their second or third channel.
Route
/setup— opens the Setup Wizard standalone- The same wizard is also available as a tab inside the Config Editor
The Five Steps
The wizard guides you through five steps; each step has its own form and a Back/Next pair. You cannot skip ahead, but you can come back later — the dashboard keeps your in-flight values until you complete or close the wizard.1. Basics
Confirm the workspace identity:- Tenant ID — a UUID identifying this Comis workspace (defaults to your current tenant if one exists)
- Data directory — where Comis stores its database and per-agent files (default:
~/.comis) - Log level —
debug,info,warn, orerror - Gateway host / port — how the gateway binds (default:
0.0.0.0:4766)
2. Provider
Pick the LLM provider to wire up. The picker is populated live from the@earendil-works/pi-ai catalog via the models.list_providers RPC — currently 27 providers (Anthropic, OpenAI, Google, Groq, Mistral, DeepSeek, xAI, Cerebras, OpenRouter, Amazon Bedrock, Azure OpenAI Responses, Vercel AI Gateway, Cloudflare AI Gateway / Workers AI, GitHub Copilot, Hugging Face, Fireworks, Moonshot, Minimax, Z.ai, Kimi, OpenCode, plus more). Adding a new provider to pi-ai automatically lights it up in this dropdown — no Comis update required.
Each provider tile shows the name and (for the most common ones) a one-line hint. Plus a synthetic Custom option at the end for any OpenAI-compatible endpoint not in the pi-ai catalog (your own gateway, a private proxy, etc.).
After picking a provider, the Model dropdown populates from the same catalog (via models.list filtered to that provider) — sorted by cost ascending so the cheapest options surface first.
Enter the API key (saved to ~/.comis/.env or the secrets store, never printed), the base URL if non-default (only relevant for the “Custom” option), and select a model from the dropdown.
3. Agent
Configure your first agent (or another one):- Agent ID — unique handle (e.g.,
default,research-bot) - Agent name — display name shown in the dashboard
- Provider / model — can be defaulted from step 2 or overridden
- Max steps — how many agentic iterations before the run halts (default 100)
- Budget per day / per hour — token caps to prevent runaway cost
4. Channels
Choose which messaging platforms this Comis instance should connect to. For each channel you check, the wizard asks for the credentials it needs:| Channel | Required credentials |
|---|---|
| Telegram | Bot token (from @BotFather) |
| Discord | Bot token + application ID |
| Slack | Bot token + signing secret + (optional) app token |
| Bot token + phone-number id | |
| LINE | Channel access token + channel secret |
| IMAP/SMTP host, port, username, password (or OAuth refresh token) | |
| IRC | Server, port, nick, channels |
| Signal | Phone number (Signal CLI must be configured first) |
| iMessage | macOS-only — relay configuration |
5. Review
Shows a summary of every value you entered. Click Apply to:- Validate the merged config against
AppConfigSchema(Zod). - Write the values to
~/.comis/config.yamlviaconfig.patch. - Persist secrets to the secret store / env file.
- Trigger a daemon restart so all subsystems pick up the new config.
Common Tasks
Add a second channel to an existing install
Open
#/setup. Skip Basics/Provider/Agent (use the existing values) and configure only the Channels step. Apply — the daemon picks up the new channel after the restart.Re-key a provider
Run the wizard, advance to the Provider step, paste the new API key. Skip the rest. Apply.
Related Pages
Quickstart
The end-to-end first-run guide.
Installation
Platform-specific install paths and prerequisites.
Channels Setup
Per-channel credential and webhook setup details.
Config Editor
Make targeted changes after the wizard, with diff and rollback.
