Skip to content

Latest commit

 

History

History
127 lines (83 loc) · 4.91 KB

File metadata and controls

127 lines (83 loc) · 4.91 KB

Clawdapus Quickstart

Get a governed OpenClaw agent running in 5 minutes.

Prerequisites

Discord bot setup

If you already have a Discord bot, skip to Install.

  1. Go to the Discord Developer Portal and click New Application. Name it whatever you want.
  2. Go to Bot in the left sidebar. Click Reset Token and copy it — this is your DISCORD_BOT_TOKEN.
  3. Under Privileged Gateway Intents, enable Message Content Intent. The bot needs this to read messages.
  4. Go to OAuth2 → URL Generator. Select scopes: bot. Select permissions: Send Messages, Read Message History. Copy the generated URL and open it to invite the bot to your server.
  5. To get your DISCORD_BOT_ID: on the General Information page, copy the Application ID.
  6. To get your DISCORD_GUILD_ID: in Discord, enable Developer Mode (Settings → Advanced → Developer Mode), then right-click your server name and Copy Server ID.

1. Install

curl -sSL https://raw.githubusercontent.com/mostlydev/clawdapus/master/install.sh | sh
claw doctor    # verify Docker + buildx + compose

2. Clone and configure

git clone https://github.com/mostlydev/clawdapus.git
cd clawdapus/examples/quickstart

cp .env.example .env
# Edit .env — add your OPENROUTER_API_KEY, DISCORD_BOT_TOKEN, DISCORD_BOT_ID, DISCORD_GUILD_ID

3. Run the operator loop

source .env

# 1. Pull pinned runtime infra, registry-backed pod services, and runner bases
claw pull

# 2. Build this pod's local build: services
claw build

# 3. Compile the pod and launch it
claw up -d

The quickstart keeps the main lifecycle explicit:

  • claw pull fetches pinned runtime infra, registry-backed pod services, and refreshes built-in local runner bases
  • claw build builds pod services that declare build:
  • claw up compiles the pod and launches it
  • claw down tears the pod back down in step 6

For this quickstart, claw pull refreshes the local openclaw:latest runner base used by the pod. Use claw pull --no-runners when you only want the fast pinned-infra and registry-image path.

claw up is strict by default. If something is missing, it prints the exact remediation command (claw pull or claw build). claw up --fix -d can pull/build missing infra and service images, but runner refresh still happens through claw pull.

4. Verify

claw ps       # assistant + cllama both running
claw health   # both healthy

Open http://localhost:8181 — the cllama governance proxy dashboard. Every LLM call in real time: which agent, which model, token counts, cost.

Open http://localhost:8082 — the Clawdapus Dash fleet dashboard. Live service health, topology wiring, and per-service drill-down.

5. Talk to your bot

Message @quickstart-bot in your Discord server. Every message routes through the cllama proxy — the bot has no direct API access. Watch the dashboard update in real time as the bot responds.

Check the audit trail:

claw logs cllama

Structured JSON for every request: agent, model, tokens, cost, latency.

What's happening under the hood

  • Credential starvation: Your OpenRouter key lives in the proxy only. The agent gets a bearer token. It literally cannot call providers directly — it doesn't have the keys.
  • Behavioral contract: agents/assistant/AGENTS.md is bind-mounted read-only. Even root inside the container can't modify it.
  • Identity projection: The HANDLE directive wires Discord config automatically — allowBots, native Discord mentionPatterns, guild membership. No manual config.
  • Cost tracking: The proxy extracts usage from every LLM response and tracks cost per agent/model/provider.

Using Telegram or Slack instead

Replace the Discord configuration:

Telegram: Change HANDLE discord to HANDLE telegram in agents/assistant/Clawfile. In claw-pod.yml, replace the handles: block with telegram: {id: "${TELEGRAM_BOT_ID}", username: "mybot"} and set TELEGRAM_BOT_TOKEN in environment:.

Slack: Same pattern — HANDLE slack, swap the handles block, and use SLACK_BOT_TOKEN. Hermes Slack uses socket mode and also requires SLACK_APP_TOKEN.

Add another agent

From this quickstart (canonical) layout:

claw agent add researcher

This creates agents/researcher/ and updates claw-pod.yml + .env.example. In flat projects, claw agent add preserves flat style by default (Clawfile.<name>, AGENTS-<name>.md).

Migrate from existing OpenClaw

Already have an OpenClaw bot running? Import your config:

claw init --from ~/path/to/openclaw/config
# Generates migration scaffold pre-configured from your setup

Clean up

claw down