-
Notifications
You must be signed in to change notification settings - Fork 15
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:8080Or, if you used the install script, the Dashboard is already running as a background daemon and reachable at the same URL.
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.
Assets are the building blocks you assign to instances. You create them once, then reuse them across your fleet, regardless of runtime.
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):
- Click + Add Model Config
- Select ChatGPT (Codex) provider (default), choose a model
- Click Login with ChatGPT — authenticate in the popup window
- Config is saved automatically on successful login
To add a model config (API Key providers):
- Click + Add Model Config
- Select the provider, paste your API key, choose a model
- Click Test to validate
- Click Configure to save
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:
- Click + Add Channel Config
- Enter a name, select the channel type
- Enter the bot token (or App ID + App Secret for Lark)
- Click Test to validate
- Click Configure to save
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.mdand injected before the gateway starts. Hermes also has aSOUL.mdconcept; assigning a Character to a Hermes instance from the Dashboard is roadmap work — for now, edit Hermes'sSOUL.mdthrough 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:
- Click + Add Character
- Fill in the name and any persona fields
- Click Configure to save
See Characters & Skills for the full guide.
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.
- Click + Create Instances in the toolbar
- Pick a Runtime: OpenClaw (default) or Hermes Agent
- Enter how many instances to create
- 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.
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)
| 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) |
| 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.
- Click Configure on the instance card
- Select a Model Config from the list
- Optionally select a Character Config (assigns a persona)
- Optionally select a Channel Config
- 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)
The Dashboard's Configure dialog gets a Hermes instance to a working state quickly:
- Click Configure on the instance card
- Select a Model Config (any API-key provider; Codex is OpenClaw-only)
- Optionally select a Channel Config (Discord, Telegram, or Slack)
- 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.
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
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
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.
| 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.
- Click Save Soul on a configured, running OpenClaw instance
- Enter a name (supports letters, numbers, Chinese, spaces, hyphens, underscores)
- Optionally add a description
- Click Save Soul
- Click + Create Instances, leave Runtime as OpenClaw
- In the Load Soul dropdown, select a saved soul
- Click Create — the new instance inherits all knowledge and personality
- The new instance auto-starts its gateway (no manual configure needed)
- Assign a channel if needed
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.
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 buildor pulled fromghcr.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.
ClawFleet Wiki
Runtimes
LLM Providers
Messaging Channels
Reference