6.2 KiB
summary, read_when
| summary | read_when | ||
|---|---|---|---|
| CLI onboarding wizard: guided setup for gateway, workspace, providers, and skills |
|
Onboarding Wizard (CLI)
The onboarding wizard is the recommended way to set up Clawdbot on macOS, Linux, or Windows (via WSL2; strongly recommended). It configures a local Gateway or a remote Gateway connection, plus providers, skills, and workspace defaults in one guided flow.
Primary entrypoint:
clawdbot onboard
Follow‑up reconfiguration:
clawdbot configure
What the wizard does
Local mode (default) walks you through:
- Model/auth (Anthropic or OpenAI Codex OAuth recommended, API key optional, Minimax M2.1 via LM Studio)
- Workspace location + bootstrap files
- Gateway settings (port/bind/auth/tailscale)
- Providers (WhatsApp, Telegram, Discord, Signal)
- Daemon install (LaunchAgent / systemd user unit)
- Health check
- Skills (recommended)
Remote mode only configures the local client to connect to a Gateway elsewhere. It does not install or change anything on the remote host.
Flow details (local)
-
Existing config detection
- If
~/.clawdbot/clawdbot.jsonexists, choose Keep / Modify / Reset. - Reset uses
trash(neverrm) and offers scopes:- Config only
- Config + credentials + sessions
- Full reset (also removes workspace)
- If
-
Model/Auth
- Anthropic OAuth (recommended): browser flow; paste the
code#state. - OpenAI Codex OAuth: browser flow; paste the
code#state.- Sets
agent.modeltoopenai-codex/gpt-5.2when model is unset oropenai/*.
- Sets
- API key: stores the key for you.
- Minimax M2.1 (LM Studio): config is auto‑written for the LM Studio endpoint.
- Skip: no auth configured yet.
- Wizard runs a model check and warns if the configured model is unknown or missing auth.
- Anthropic OAuth (recommended): browser flow; paste the
- OAuth credentials live in
~/.clawdbot/credentials/oauth.json; auth profiles live in~/.clawdbot/agents/<agentId>/agent/auth-profiles.json(API keys + OAuth).
-
Workspace
- Default
~/clawd(configurable). - Seeds the workspace files needed for the agent bootstrap ritual.
- Full workspace layout + backup guide:
docs/agent-workspace.md
- Default
-
Gateway
- Port, bind, auth mode, tailscale exposure.
- Auth recommendation: keep Off for single-machine loopback setups. Use Token for multi-machine access or non-loopback binds.
- Non‑loopback binds require auth.
-
Providers
- WhatsApp: optional QR login.
- Telegram: bot token.
- Discord: bot token.
- Signal: optional
signal-cliinstall + account config. - iMessage: local
imsgCLI path + DB access. - DM security: default is pairing (unknown DMs get a pairing code). Approve via
clawdbot pairing approve --provider <provider> <code>.
-
Daemon install
- macOS: LaunchAgent
- Requires a logged-in user session; for headless, use a custom LaunchDaemon (not shipped).
- Linux (and Windows via WSL2): systemd user unit
- Wizard attempts to enable lingering via
loginctl enable-linger <user>so the Gateway stays up after logout. - May prompt for sudo (writes
/var/lib/systemd/linger); it tries without sudo first.
- Wizard attempts to enable lingering via
- Runtime selection: Node (recommended; required for WhatsApp) or Bun (faster, but incompatible with WhatsApp).
- macOS: LaunchAgent
-
Health check
- Starts the Gateway (if needed) and runs
clawdbot health.
- Starts the Gateway (if needed) and runs
-
Skills (recommended)
- Reads the available skills and checks requirements.
- Lets you choose a node manager: npm / pnpm / bun.
- Installs optional dependencies (some use Homebrew on macOS).
-
Finish
- Summary + next steps, including iOS/Android/macOS apps for extra features.
- If no GUI is detected, the wizard prints SSH port-forward instructions for the Control UI instead of opening a browser.
Remote mode
Remote mode configures a local client to connect to a Gateway elsewhere.
What you’ll set:
- Remote Gateway URL (
ws://...) - Optional token
Notes:
- No remote installs or daemon changes are performed.
- If the Gateway is loopback‑only, use SSH tunneling or a tailnet.
- Discovery hints:
- macOS: Bonjour (
dns-sd) - Linux: Avahi (
avahi-browse)
- macOS: Bonjour (
Non‑interactive mode
Use --non-interactive to automate or script onboarding:
clawdbot onboard --non-interactive \
--mode local \
--auth-choice apiKey \
--anthropic-api-key "$ANTHROPIC_API_KEY" \
--gateway-port 18789 \
--gateway-bind loopback \
--install-daemon \
--daemon-runtime node \
--skip-skills
Add --json for a machine‑readable summary.
Gateway wizard RPC
The Gateway exposes the wizard flow over RPC (wizard.start, wizard.next, wizard.cancel, wizard.status).
Clients (macOS app, Control UI) can render steps without re‑implementing onboarding logic.
Signal setup (signal-cli)
The wizard can install signal-cli from GitHub releases:
- Downloads the appropriate release asset.
- Stores it under
~/.clawdbot/tools/signal-cli/<version>/. - Writes
signal.cliPathto your config.
Notes:
- JVM builds require Java 21.
- Native builds are used when available.
- Windows uses WSL2; signal-cli install follows the Linux flow inside WSL.
What the wizard writes
Typical fields in ~/.clawdbot/clawdbot.json:
agent.workspaceagent.model/models.providers(if Minimax chosen)gateway.*(mode, bind, auth, tailscale)telegram.botToken,discord.token,signal.*,imessage.*skills.install.nodeManagerwizard.lastRunAtwizard.lastRunVersionwizard.lastRunCommitwizard.lastRunCommandwizard.lastRunMode
WhatsApp credentials go under ~/.clawdbot/credentials/whatsapp/<accountId>/.
Sessions are stored under ~/.clawdbot/agents/<agentId>/sessions/.
Related docs
- macOS app onboarding:
docs/onboarding.md - Config reference:
docs/configuration.md - Providers:
docs/whatsapp.md,docs/telegram.md,docs/discord.md,docs/signal.md,docs/imessage.md - Skills:
docs/skills.md,docs/skills-config.md