Skip to content

Dashboard Guide

weiyong1024 edited this page Apr 27, 2026 · 13 revisions

Dashboard Guide

The ClawFleet Web Dashboard lets you manage your entire fleet — OpenClaw and Hermes side by side — from a browser. Launch it with:

clawfleet dashboard serve
# Open http://localhost:8080

Or, if you used the install script, the Dashboard is already running as a background daemon and reachable at the same URL.

Sidebar navigation

The Dashboard has three main sections in the sidebar:

Section Pages Purpose
Assets Model Config, Channel Config, Character Config Manage LLM API keys, messaging bot tokens, and character personas
Fleet Instances, Soul Archive Create, configure, and control your instances
System Image Build and manage the sandbox Docker images

Soul Archive is OpenClaw-only today. Hermes parity is on the roadmap; until then Hermes state lives at ~/.clawfleet/data/<name>/hermes/ and is backed up manually.

Asset management

Assets are the building blocks you assign to instances. You create them once, then reuse them across your fleet, regardless of runtime.

Model Config

A model config stores an LLM provider + API key + model combination.

Key points:

  • Models are shared — multiple instances (and runtimes) can use the same model config simultaneously
  • Validation required — you must click Test and see "Validated" before saving
  • Supported providers: ChatGPT (Codex), OpenAI, Anthropic, Google AI Studio, DeepSeek
  • Custom models — type any model name in the Model field; presets are suggestions, not a hard limit

Runtime compatibility:

Provider OpenClaw Hermes
ChatGPT (Codex) ★ ❌ (OpenClaw-exclusive OAuth path)
OpenAI
Anthropic
Google AI Studio
DeepSeek

Hermes additionally supports many long-tail providers (Nous Portal, GLM/z.ai, Kimi, MiMo, MiniMax, NVIDIA NIM, OpenRouter, custom endpoints) configurable through Hermes's native Dashboard. See Runtime-Hermes.

Preset models by provider:

Provider Authentication Models
ChatGPT (Codex) ★ OAuth (ChatGPT login) gpt-5.4, o3, gpt-5-mini
OpenAI API Key (sk-*) gpt-5.4, o3, gpt-5-mini
Anthropic API Key claude-opus-4-6, claude-sonnet-4-6
Google AI Studio API Key gemini-3.1-pro-preview, gemini-3-flash-preview, gemini-2.5-pro
DeepSeek API Key deepseek-v4-pro (default), deepseek-v4-flash, deepseek-chat, deepseek-reasoner

To add a model config (ChatGPT Codex):

  1. Click + Add Model Config
  2. Select ChatGPT (Codex) provider (default), choose a model
  3. Click Login with ChatGPT — authenticate in the popup window
  4. Config is saved automatically on successful login

To add a model config (API Key providers):

  1. Click + Add Model Config
  2. Select the provider, paste your API key, choose a model
  3. Click Test to validate
  4. Click Configure to save

Channel Config

A channel config stores a messaging platform bot token (or App ID + App Secret for Lark).

Key points:

  • Channels are exclusive — each channel config can only be assigned to one instance at a time. If a channel is in use, it appears as unavailable when configuring other instances.
  • Validation required — you must click Test and see "Validated" before saving
  • Lark is different — it uses App ID + App Secret instead of a single bot token

Supported channels (from the Dashboard):

Channel Credentials Bot-to-bot Setup difficulty Guide
Telegram Bot token ★☆☆☆☆ Just message @BotFather
Discord Bot token ★★☆☆☆ Developer Portal, enable Message Content Intent
Slack Bot token (xoxb-) ★★★☆☆ OAuth scopes, Socket Mode, event subscriptions
Lark App ID + App Secret ★★★★☆ Permissions, two-phase publish, WebSocket event subscription

Runtime channel scope today:

  • OpenClaw uses the channel from the Dashboard's Channel Config directly. OpenClaw additionally supports 20+ more channels (WhatsApp, Signal, Matrix, WeChat, Lark, ...) via its own onboard flow — those are configurable from the Dashboard once you have a token.
  • Hermes Dashboard Configure today exposes Discord, Telegram, and Slack. Other Hermes-supported platforms (WhatsApp, Signal, etc.) are configurable through Hermes's native Dashboard. Bringing them into ClawFleet's Configure dialog is tracked work.

To add a channel config:

  1. Click + Add Channel Config
  2. Enter a name, select the channel type
  3. Enter the bot token (or App ID + App Secret for Lark)
  4. Click Test to validate
  5. Click Configure to save

Character Config

A character config defines a reusable persona — the "soul" of an instance.

Key points:

  • Characters are shared — multiple instances can use the same character simultaneously
  • OpenClaw-first today — characters are rendered into OpenClaw's SOUL.md and injected before the gateway starts. Hermes also has a SOUL.md concept; assigning a Character to a Hermes instance from the Dashboard is roadmap work — for now, edit Hermes's SOUL.md through its native Dashboard.
  • No validation needed — characters are saved immediately (no API call required)
  • Fields: Name (required), Bio, Background, Communication Style, Topics of Interest, Personality Traits

To add a character:

  1. Click + Add Character
  2. Fill in the name and any persona fields
  3. Click Configure to save

See Characters & Skills for the full guide.

Fleet management

This section is universal: creation, instance cards, lifecycle actions, and resource stats work the same way regardless of runtime. Differences in what each runtime supports are listed below.

Creating instances

  1. Click + Create Instances in the toolbar
  2. Pick a Runtime: OpenClaw (default) or Hermes Agent
  3. Enter how many instances to create
  4. Click Create

Instances are named by runtime: openclaw-1, openclaw-2, ... or hermes-1, hermes-2, ... and grouped under a runtime header on the Fleet page.

Instance cards

Each instance appears as a card showing:

  • Name — auto-generated, prefixed by runtime (e.g. openclaw-1, hermes-1)
  • Status — running, stopped, or other Docker states
  • Ports — exposed host ports (see runtime differences below)
  • Config — provider, model, and channel (if configured), with masked API key/token hints
  • Resource usage — real-time CPU and memory stats (when running)

Universal instance actions

Action Description
Configure Assign a model and channel; for OpenClaw also a character
Suspend Suspend a running instance (state preserved on disk)
Resume Resume a suspended instance (picks up where it left off)
Destroy Remove the instance container (data is preserved by default)

Per-runtime differences

Capability OpenClaw Hermes
Configure (Dashboard) Model + Character + 4 channels (Telegram/Discord/Slack/Lark) Model + 3 channels (Telegram/Discord/Slack)
Native UI XFCE Desktop via noVNC (Desktop button) Hermes web Dashboard (⚕ Dashboard button)
Interactive shell clawfleet shell <name> → bash clawfleet shell <name> → Hermes TUI
Skills (curated catalog) 52 bundled + ~13,000 ClawHub installs 40+ built-in + agent-authored (managed via native Dashboard)
Save Soul / Soul Archive ✅ snapshot, browse, clone (planned)
Restart Bot ✅ reload without container restart (planned) — use container restart
Exposed host ports noVNC 690N + Gateway 1878N Hermes Dashboard 690N + Gateway 1878N
Data path on host ~/.clawfleet/data/<name>/openclaw/ ~/.clawfleet/data/<name>/hermes/
15-25+ extra channels Configurable from Dashboard via OpenClaw onboard Configurable via Hermes native Dashboard

The "(planned)" entries are tracked work, not stable design — the direction is full Hermes parity in ClawFleet's own Dashboard.

Configuring an OpenClaw instance

  1. Click Configure on the instance card
  2. Select a Model Config from the list
  3. Optionally select a Character Config (assigns a persona)
  4. Optionally select a Channel Config
  5. Click Configure

ClawFleet handles everything automatically:

  • Sets up the LLM provider, API key, and model
  • Renders the Character into SOUL.md
  • Enables the messaging channel plugin
  • Starts the OpenClaw gateway
  • Adds the channel bot account
  • Sets DM and group policies to "open" (accepts messages from all senders)

Configuring a Hermes instance

The Dashboard's Configure dialog gets a Hermes instance to a working state quickly:

  1. Click Configure on the instance card
  2. Select a Model Config (any API-key provider; Codex is OpenClaw-only)
  3. Optionally select a Channel Config (Discord, Telegram, or Slack)
  4. Click Configure

ClawFleet writes the model into Hermes's config.yaml, drops the channel token into .env with GATEWAY_ALLOW_ALL_USERS=true, and restarts the container. Within a few seconds the bot is reachable on the configured platform.

For deeper configuration — credential pools, cron, personality, terminal backends, channels beyond those three — click the ⚕ Dashboard button on the instance card to open Hermes's native UI on the host port shown on the card. See Runtime-Hermes for the full walkthrough.

Instance detail (OpenClaw)

Click Desktop on a running OpenClaw instance to open its detail page, which shows:

  • Embedded noVNC desktop — a full XFCE desktop running inside the container, accessible in your browser
  • Open in new tab — for a larger view
  • Live logs — real-time container log output
  • Resource charts — CPU and memory usage over time

Instance detail (Hermes)

Hermes containers are headless — there is no XFCE desktop. Use:

  • ⚕ Dashboard button on the card → Hermes's native web Dashboard (browser, port shown on card)
  • clawfleet shell hermes-1 → Hermes interactive TUI in your terminal
  • clawfleet logs hermes-1 -f → live container logs

Soul Archive

OpenClaw-only today. Hermes parity is on the roadmap.

The Soul Archive lets you save a configured OpenClaw instance's entire state — personality, conversation memory, model config, and agent data — and load it into new instances.

What a soul contains

Data Description
SOUL.md Personality definition — who the claw is
IDENTITY.md, USER.md Identity and memory of the owner
agents/ API keys, agent config, and conversation history
openclaw.json Model and provider config (channels excluded)
.configured Auto-recovery marker (gateway auto-starts on resume)

Not included: Channel assignments (exclusive resources — must be assigned separately) and ephemeral session data.

Saving a soul

  1. Click Save Soul on a configured, running OpenClaw instance
  2. Enter a name (supports letters, numbers, Chinese, spaces, hyphens, underscores)
  3. Optionally add a description
  4. Click Save Soul

Loading a soul into a new instance

  1. Click + Create Instances, leave Runtime as OpenClaw
  2. In the Load Soul dropdown, select a saved soul
  3. Click Create — the new instance inherits all knowledge and personality
  4. The new instance auto-starts its gateway (no manual configure needed)
  5. Assign a channel if needed

Managing souls

Navigate to Fleet → Soul Archive to see all saved souls. Each entry shows the source instance, creation time, and size. Click Delete to remove a soul.

Image management

Navigate to System > Image to manage the sandbox Docker images.

ClawFleet uses two images, one per runtime:

  • OpenClaw image — XFCE desktop + noVNC + OpenClaw Gateway, ~1.4 GB. Built locally with clawfleet build or pulled from ghcr.io/clawfleet/clawfleet.
  • Hermes image — headless, smaller. Distributed officially by Nous Research; ClawFleet pulls it on demand.

From the Image page:

  • Build Image — builds the OpenClaw image locally (~1.4 GB, takes several minutes on first build)
  • Build log — shows real-time progress during the build
  • Status — shows whether each image is present locally

You only need to build/pull each image once. They persist across Dashboard restarts.

Clone this wiki locally