| summary | Get Bitterbot installed and run your first chat in minutes. | ||
|---|---|---|---|
| read_when |
|
||
| title | Getting Started |
Goal: go from zero to a first working chat with minimal setup.
Fastest chat: open the Control UI (no channel setup needed). Run `bitterbot dashboard` and chat in the browser, or open `http://127.0.0.1:19001/` on the gateway host. Docs: [Dashboard](/web/dashboard) and [Control UI](/web/control-ui).- Node 22 or newer
<Note>
Other install methods and requirements: [Install](/install).
</Note>
The wizard configures auth, gateway settings, and optional channels.
See [Onboarding Wizard](/start/wizard) for details.
```bash
bitterbot gateway status
```
Bitterbot requires two processes: the gateway (backend) and the Control UI (frontend).
# Terminal 1 — Gateway
pnpm gateway:watch
# Terminal 2 — Control UI
cd desktop && pnpm devOpen http://localhost:5173 in your browser to chat, view dreams, manage skills, and monitor the agent. The Control UI connects to the gateway on port 19001 automatically.
Requires a configured channel.```bash
bitterbot message send --target +15555550123 --message "Hello from Bitterbot"
```
Bitterbot joins a decentralized P2P mesh for skill trading, reputation, and bounties. The orchestrator listens on TCP port 9100 by default.
Port 9100 open (inbound TCP) gives the best P2P performance, but is **not required**. Nodes behind NAT or firewalls automatically use circuit relay through the bootstrap node — no manual configuration needed.See P2P configuration for relay mode, security, and advanced options.
If you run Bitterbot as a service account or want custom config/state locations:
BITTERBOT_HOMEsets the home directory used for internal path resolution.BITTERBOT_STATE_DIRoverrides the state directory.BITTERBOT_CONFIG_PATHoverrides the config file path.
Full environment variable reference: Environment vars.
Full CLI wizard reference and advanced options.- A running Gateway
- Auth configured
- Control UI access or a connected channel