Skip to main content

Mission Control Chat

Mission Control includes a built-in chat interface at mc.zoarkai.org (or your local instance). This chat connects directly to Zero's Gateway via WebSocket — the same session routing used by Telegram and other channels.

What is the WebChat?

What it does

  • • Connects to Zero's Gateway WebSocket
  • • Uses chat.history, chat.send, and chat.inject
  • • Full session routing (same as Telegram)
  • • History fetched live from the gateway
  • • Works over SSH/Tailscale for remote installs

What it is not

  • • Not a separate server — Zero's gateway IS the server
  • • Not a static chat app — real-time via WebSocket
  • • Not anonymous — gateway auth token required
  • • If Zero is offline: read-only (no send)

Accessing Mission Control Chat

1
Start ZoarkBot

Run `zoarkbot start` from your terminal. Zero's gateway starts on port 65077.

zoarkbot start
2
Copy your Access Token

When Zero starts, it prints an Access Token. Copy it — you'll need it to log in.

Access Token: abc123...
3
Open Mission Control

Go to mc.zoarkai.org (or localhost:3000). You'll be prompted for your gateway Access Token.

https://mc.zoarkai.org
4
Open the Chat tab

Click the Chat section in Mission Control. You're now connected to Zero directly.

mc.zoarkai.org/chat

The Access Token is only shown once when Zero starts. Copy it immediately from the terminal output. If you lose it, restart Zero with zoarkbot start to get a new one.

How It Works (Technical)

// WebChat connection flow
Mission Control UI
→ WebSocket connect to gateway (port 65077)
→ Auth: token=<your-access-token>
→ chat.history (fetch conversation)
→ chat.send (send a message → agent responds)
→ chat.inject (insert assistant note, no agent run)

The chat uses the same session routing as Telegram. Replies always route back to the WebChat session — not to your Telegram. Switch between Telegram and WebChat freely; each has its own session context.

Configuration

WebChat has no dedicated config block — it uses the gateway's global auth settings.

# In zoarkbot.json
{
  "gateway": {
    "port": 65077,
    "auth": {
      "mode": "token",
      "token": "your-gateway-auth-token"
    }
  }
}
SettingPurpose
gateway.portThe port Zero listens on (default 65077)
gateway.bindBind address (default 127.0.0.1 — localhost only)
gateway.auth.modeAuth mode: token | password | none
gateway.auth.tokenStatic access token for WebSocket auth
gateway.remote.urlRemote gateway URL for SSH/Tailscale tunnel

Remote Access

If Zero runs on a VPS or remote machine, Mission Control can tunnel the WebSocket connection over SSH or Tailscale — no separate WebChat server needed.

Configure gateway.remote.url and gateway.remote.token in your local Mission Control settings to point at the remote gateway. All WebChat traffic tunnels through.