You don’t need to understand the technical details to use this feature. The configuration examples below are copy-paste ready.
Prerequisites
Install and run
- npm (recommended)
- Docker (no Node.js required)
Run Comis directly on your machine. Best if you already have Node.js or
plan to develop against the source.
Install Comis
Open your terminal and install Comis globally with npm:Once the installation finishes, verify it worked:You should see the installed version, for example:
Run the setup wizard
Run the interactive setup wizard:The wizard walks you through three simple questions:Picking an OpenAI provider:
On the first wizard question, two OpenAI options appear:
If you pick
What The CLI runs the same login flow (browser auto, browser manual, or device-code via
- Which AI provider? — Choose from Anthropic (Claude), OpenAI (GPT), Google (Gemini), and others. Pick whichever provider you have an API key for.
- Your API key — Paste the API key from your chosen provider. The wizard stores it securely and never displays it again.
- A name for your agent — Give your agent a name (like “Atlas” or “Helper”), or press Enter to accept the default.
~/.comis/config.yaml— Your agent’s configuration (name, provider, settings)~/.comis/.env— Your API key, stored separately for security
Picking an OpenAI provider: openai vs openai-codex
On the first wizard question, two OpenAI options appear:| Provider id | Label | Cost model | When to pick |
|---|---|---|---|
openai | OpenAI (GPT) — “GPT-4o, o1, o3 — API key (pay per token)“ | Pay per request | You have an OpenAI API key from platform.openai.com and want GPT-4o / o1 / o3. |
openai-codex | OpenAI Codex — “ChatGPT/Codex subscription — OAuth login” | Flat ChatGPT subscription | You already pay for ChatGPT Plus / Team / Enterprise and want Codex (gpt-5.1 family). No API key needed; the wizard runs an OAuth login. |
openai, the wizard prompts for an API key as usual.If you pick openai-codex, the wizard prints:OpenAI Codex uses your ChatGPT/Codex subscription — no API key needed. Choose how you want to sign in.…followed by a four-option login picker:
| Option | Picker label | Use when |
|---|---|---|
| Browser (auto-open) | Browser (auto-open) — “Local desktop, opens default browser” | You’re on a desktop or laptop with a graphical browser; the wizard opens a tab and waits for the OAuth callback on 127.0.0.1:1455. |
| Browser (manual paste) | Browser (manual paste) — “VPS, you paste callback URL after sign-in” | The host has a browser elsewhere (e.g., your laptop), but the daemon runs on a VPS without a default browser. The wizard prints the auth URL; you paste the callback URL back after sign-in. |
| Device code (phone) | Device code (phone) — “SSH/headless, type a short code on a phone” | SSH session, no clipboard, no scrollback. The wizard prints a short code and a verification URL; you open the URL on your phone and type the code. |
| Skip for now | Skip for now — “finish wizard, run comis auth login later” | You want to finish the rest of the wizard now and add the OAuth profile in a later step (see below). |
Skip for now does: the wizard finishes without writing an OAuth profile. The agent config marks openai-codex as not-yet-validated. Before starting the daemon, run:--method device-code) and writes the resulting profile into the OAuth credential store. See comis auth login reference for all flags.VPS / SSH hint: For headless deployments (Hostinger, DigitalOcean, Hetzner, Render, etc.), pick Device code (phone). The browser-based options assume a graphical environment that VPS hosts typically lack. Full VPS walkthrough: Install on a VPS.For the full picture — PKCE flow shape, multi-account profiles, the wizard-vs-CLI parity matrix, and the threat model — see OAuth concepts.Non-interactive alternative
Non-interactive alternative
If you prefer to skip the wizard (for example, in a CI pipeline or Docker
container), you can pass everything on the command line:This creates the same configuration files without prompting for input.
Start the daemon
Start the Comis daemon — the background process that keeps your agents running:You should see output similar to:The daemon is now running. It manages your agents, handles incoming messages,
and serves the web dashboard.
Talk to your agent
When the daemon starts, it also launches a built-in web dashboard. Open your
browser and go to:The web dashboard provides a chat interface where you can talk directly to
your agent. Type a message and press Enter:The dashboard also shows your agent’s status, memory, and configuration.
You can monitor everything from this single page.
The web dashboard is the recommended way to interact with your agent when
getting started. For programmatic access, Comis also provides a JSON-RPC
gateway and an OpenAI-compatible API at the same address.
Connect a messaging channel (optional)
Your agent is running and you can chat through the web dashboard. But the real
power of Comis is putting your agent inside the messaging apps your community
already uses.To add a messaging channel like Discord, Telegram, or Slack, re-run the
setup wizard:The wizard detects your existing configuration and offers to add channels.
Each channel has its own setup — typically you will need a bot token from
the platform.See the Channels section for step-by-step guides for each
platform.
What just happened?
Here is what happened behind the scenes when you sent that first message:- You typed a message in the web dashboard and pressed Enter.
- The Comis gateway received your message and looked at the routing rules to figure out which agent should handle it.
- Your agent received the message, checked its memory for any relevant context from past conversations, and built a prompt combining your message with its instructions.
- The prompt was sent to your AI provider (Anthropic, OpenAI, or Google), which generated a response.
- The agent sent the reply back through the gateway to your browser, where it appeared in the chat.
Useful commands
Now that your agent is running, here are a few commands you will use regularly:| Command | What it does |
|---|---|
comis daemon start | Start the daemon (agents, gateway, dashboard) |
comis daemon stop | Stop the daemon and all agents |
comis daemon status | Check if the daemon is running |
comis daemon logs | View the daemon’s log output |
comis init | Re-run the setup wizard to add channels or change settings |
Next steps
Connect a Channel
Add Discord, Telegram, Slack, WhatsApp, or any of the 9 supported platforms.
How It Works
Understand how Comis processes messages and connects your agents.
Use Cases
See real-world scenarios and what you can build with Comis.
Installation Details
Docker setup, Linux packages, requirements, and advanced configuration.
