You don’t need to understand the technical details to use this feature. The configuration examples below are copy-paste ready.
Before you begin
Choose one runtime:- npm: macOS or Linux with Node.js 22.19.0 or newer, npm, Python 3, and native build tools.
- Docker: Docker Engine 24 or newer with Docker Compose v2. Use a Linux Docker host for production; Docker Desktop on macOS or Windows does not provide the same shell-isolation boundary.
- an API key for a supported provider;
- an OAuth login for a subscription-backed provider such as
openai-codex; or - a supported local provider such as Ollama, which requires no hosted-provider credential.
Install with npm
1
Install and verify the CLI
2
Run the setup wizard
- quick or advanced setup;
- credential storage;
- model provider and API-key, OAuth, or local-provider setup;
- agent identity and model;
- optional messaging channels;
- gateway access and workspace settings;
- optional web-search, media, voice, and recall providers;
- a review screen, configuration write, and optional daemon start.
3
Back up the master key
New setups default to
security.storage: encrypted. The wizard stores
collected credentials in ~/.comis/secrets.db and writes the
SECRETS_MASTER_KEY to ~/.comis/.env with owner-only permissions.Back up ~/.comis/.env to a secure location. Comis has no key escrow:
losing the master key makes the encrypted credential database unreadable.
Encryption protects a copied database from someone who does not also have
the key; it does not protect against a compromised host that can read both.4
Start and verify the daemon
If you did not start it from the wizard, run:
doctor reports configuration and runtime checks. Treat configured but
untested integrations as unverified until their platform-specific check
succeeds.5
Open the dashboard
Open
http://localhost:4766 on the same machine and send a test message.
The gateway binds to loopback by default; do not expose it publicly without
authentication and TLS. See Hardening.Provider choices
API-key providers
Choose the provider in the wizard and enter the key at the hidden prompt. The encrypted-store default keeps the provider key out ofconfig.yaml and out of
plaintext .env entries.
OpenAI Codex OAuth
Chooseopenai-codex for ChatGPT/Codex subscription authentication. On a local
desktop, use the browser flow. On an SSH or headless host, use device code:
comis init --non-interactive provider path.
Local providers
Choose a supported local provider such as Ollama and make sure its service is running before validation. No hosted-provider API key is required.Non-interactive setup
For automation, pass non-secret settings as arguments and source secret values from protected environment variables:comis init --help for the authoritative list of non-interactive flags.
openai-codex cannot be initialized non-interactively; initialize with another
provider or local configuration, then complete OAuth from a TTY.
Docker quick path
The published image can run without host Node.js. Initialize the persistent volume in a one-shot container first; when the wizard asks whether to start the daemon, choose No because the long-running container starts it in the next command:Add a channel
The web dashboard works without a messaging channel. To add one later, re-runcomis init and choose the channel stage, or follow the relevant
channel guide. Comis documents ten channel adapters:
Discord, Telegram, Slack, WhatsApp, Signal, iMessage, LINE, IRC, Email, and
Microsoft Teams.
Useful commands
Next steps
Connect a Channel
Configure one of the ten documented messaging adapters.
Security Boundaries
Understand defaults, optional controls, and deployment limitations.
Operations
Run, monitor, back up, and troubleshoot the daemon.
CLI Reference
Review every current command group and flag.
