Performance, cost, and quality metrics across the pod.
Sessions
Cost
Classifier
Suggestions
Turns
Productive vs Maintenance Sessions
Resolution Rate Trend?Percentage of sessions where the user's goal was successfully completed.
Daily Cost by Bot (30d)
Model Tier Usage
Billing Mode
Spend Alert
Overall Accuracy
—
session classification accuracy
Accuracy Trend (weekly)
Recent Audit Results
Suggestion Funnel
Suggestions by Coach
Rejection Rate by Coach
Daily Turns — MAX vs API Key
By Source
By Model
By Channel
Raw Turns Drill-Down
Plugins
Per-bot external capabilities, grouped by surface. Messaging, LLM Providers, Tools, and Infrastructure are sections within this page. See Help.
Loading…
Plugins
Credentials
Embeddings
MCP Servers
Hooks
Activity
API Keys
One row per provider. Key values are masked (first 8 + last 4 chars). Writes go directly to auth-profiles.json.
Loading…
Looking for usage analytics? See the
Usage
page for turns, cost, and cost/turn breakdowns by model, channel, and source.
Embedding Providers
Used for memory_search (semantic recall over a bot's notes). Different
model family from chat models — provider menu is shorter and shaped
differently. Resolves to a fallback chain so OpenClaw fails over without
evolve in the loop. Edit the chain order in AI Optimization.
Select a bot above to load embedding-provider config.
MCP Servers
Per-bot MCP server config from openclaw.json → mcp.servers.
Phase A is read-only; install/remove/update lands with the proposal pipeline in Phase B.
Spec: docs/spec-mcp-administration-2026-05-10.md.
Loading…
Plugins
Per-bot OpenClaw plugin entries from openclaw.json → plugins.
Phase A is read-only; enable/disable + allow-list amendments land via proposals in Phase B.
Spec: docs/spec-plugin-inventory-2026-05-10.md.
Loading…
Recent activity
Recent operator-clicked changes on this bot — Enable / Disable /
Install / Remove / Configure across all surfaces. Each entry is
an applied (or refused) proposal in the audit log.
LLM-suggested proposals live on the
Recommendations page.
Loading…
Hooks
Two hook surfaces per bot: webhook ingress
(openclaw.json → hooks, external HTTP triggers) and
plugin typed hooks
(plugins.entries.<id>.hooks, per-plugin
allowConversationAccess / allowPromptInjection).
Phase A is read-only; mutation via proposals lands in Phase B.
Spec: docs/spec-hook-governance-2026-05-10.md.
Loading…
Apps
Installed apps, gallery, forge jobs, and reliability — all in one place.
Loading…
Installed
Gallery
Forge Jobs
Reliability
New Application
Recommended for
App Gallery
Browse, install, and manage gallery apps across your bots.
Loading gallery…
Import App Package
Paste or upload a gallery package JSON manifest to add it to your imported gallery.
Install App
Requirements Check
Forge Jobs
Track and approve forge runs for App Gallery installations and improvements.
How it works
The forge turns an app idea into a running app. Every app starts with a
manifest — its spec, file list, and tests — that comes from a Gallery
template, an Evo chat, or an RSI proposal. Claude drafts the code,
critiques its own work over a few rounds, runs the app's tests, then
either you approve it or — when the request was already a deliberate
conversation — it ships automatically. The manifest is updated at the
end so it always reflects what's on disk.
Test output⟩ Generated implementation
⟩ Interface contract
App Reliability
Per-app test-pass rates across the pod. Run the app-test-scheduler to collect data.
Loading…
Applications → Apps
This page has moved to Apps → Installed.
App Gallery → Apps
This page has moved to Apps → Gallery.
Forge Jobs → Apps
This page has moved to Apps → Forge Jobs.
Skills
Capability primitives installed on each bot — the building blocks your applications use.?Skills are what a bot CAN do: send a Slack message, read Gmail, search the web. Applications orchestrate skills toward a goal. OpenClaw plugins are proprietary skills; MCP servers are portable, agentskills.io-standard skills.
Loading…
Add a skill
Across pod
Loading…
Loading…
Recommendations
Better Engine watches the pod and surfaces recommendations. You decide which ones land.
Loading…
How it works
A coach notices a problem and queues a suggestion for you. You approve,
reject, snooze, or dismiss. Approved changes apply — automatically for
config edits, or by you for hand-rolled instructions. Anything with a
measurable claim gets a 7-day check-in to confirm it actually helped.
🔍
Spot
a coach notices
👤
You decide
approve / reject / snooze
⚙️
Apply
auto for config; you for instructions
📊
Check-in
after 7 days, when measurable
Active coaches
Loading…
Inbox0
In Process0
History
Coaches
Observations
Suggestion Queue
…
Loading…
Suggestions you've accepted that need offline follow-through. Refine to iterate, Mark complete when done.?Investigation and WorkflowInstruction suggestions don't have an automated action — they describe work for you to do. Once you've handled it, click Mark complete to close the suggestion. Use Refine to ask the bot to rewrite the suggestion based on your feedback.
Loading…
Suggestions that moved past the queue. Check-in confirms or refutes the measurable claim 7 days after apply.?Applied = waiting for check-in. Confirmed = the claimed metric improved as predicted. Refuted = it didn't, and the revert plan ran. Dismissed = the operator killed it before apply.
Loading…
Optimizers, guardians, and meta-guardians that propose and review. Track record scales by verified outcomes.?Each coach has a charter (immutable identity), a track record (lifetime wins/losses), a status (active/paused/paused for review), and a track record computed from its verified outcomes. Guardians run at duty (track record 1.0); optimizers compete for attention via track record × dimension weight × urgency.
Loading…
The (noun × verb × mood) tuples the extraction layer pulls from each turn. Filter to spot mis-classification or confirm a behaviour cluster.?Each turn contributes one tuple to the observation stream. Coaches read aggregates over these tuples to decide whether to propose changes.
Select a bot…
Recovery → Maintenance
This page has moved to Maintenance → Recovery.
Settings
Pod modules, network settings, and identity configuration.
Loading…
Modules
Pod Config
Enable, disable, and tune each Evolve component.
Network settings, primary bot configuration, and identity claims.
Network
Bot
Identity
Alerts?Telegram channel that receives spend-cap warnings (spend_alert.py), classifier audit reports (classifier_audit.py), and forge job alerts. Stored at network.json → alerts.
Primary Bot?The bot whose auth-profiles.json + tier_assignments are used by engine background LLM calls (analyzer, scanner, security warden, help bot, spec extractor). Also the default target for MCP context routing. Does NOT move daemon ownership, cron schedules, or report-delivery responsibilities — those follow each bot's "role" field and require a redeploy via `sudo evolve-admin deploy` to change. To shift those, see the bot setup CLI.
Tier Resolution?What tier0/1/2/3 resolve to right now for engine background LLM calls (analyzer, scanner, security warden, help bot, spec extractor). Priority: primary bot's tier_assignments → pod-wide network.json override → hardcoded DEFAULT_TIERS in analyzer/models.py. Change the primary bot's per-tier models on the AI Optimization page; change which bot is "primary" on this tab.
Loading…
App Testing?Periodic re-runs of per-app behavioral tests after forge, executed by the app-test-scheduler LaunchDaemon. Per-app manifests may override the cadence. Spec: docs/spec-app-testing-2026-05-07.md.
Select a bot…
Display Name?What this bot identifies as in chat (Telegram, Slack, etc.) and across the admin UI. Wraps upstream `openclaw agents set-identity` — the bot's internal id, workspace, and macOS user stay untouched. Empty means the UI falls back to the bot id.
Select a bot above…
Model Config?Resolved primary model and fallbacks for this bot, read from its openclaw.json agents.defaults.model.
Select a bot above…
Compaction Settings?How this bot compacts its conversation context as it grows. Read from openclaw.json agents.defaults.compaction.
Select a bot above…
Tier Classification Keywords (read-only)?Vocabulary the session classifier (TierClassifier.ts / LLMTierClassifier.ts) uses to label sessions productive vs. maintenance. Maintenance-classified sessions get downgraded to tier3 (Haiku) for the next assistant turn. Today calibration is pod-wide and there is no calibration writer in the codebase — these are the hardcoded base lists. Per-bot calibration is a planned follow-up.
Select a bot above…
Slack Policy?Slack channel/user policy for this bot. Policy lives in shared_dir/bots/<bot>/slack-policy.json and is rendered to openclaw.json by the writer. Run `evolve-admin slack-doctor <bot>` on the host for the same state in a terminal.
Select a bot above…
Full openclaw.json (sanitized, read-only)?The bot's complete openclaw.json with secrets masked. Manage via this admin UI or, on the host, with: sudo -u {bot} openclaw config set <key> <value>.
Select a bot above…
Direct host edits: sudo -u {bot} openclaw config set <key> <value>.
Pod Admin
Pod-wide: any user listed here is treated as an admin on the matching channel for every multi-user bot. Get an external_id from the user's chat profile (Slack user IDs start with U; Telegram IDs are numeric).
Per-bot Primary User
Multi-user bots only. The primary user is the bot's owner — improvement proposals route to them by default, and per-user quality signals partition around them.
Loading…
Maintenance
Bot gateway status, cron jobs, infrastructure, and logs.?Status is probed live via direct HTTP + process check. Cron data comes from openclaw cron list --json via OC CLI.
Loading…
Status
Cron Jobs
Infra Jobs
OC Version
Gateway Logs
Admin Server
Setup
Claude Access
System
Pod Health
Recovery !
Loading…
Status probed live via HTTP (port /evolve/status) with process-check fallback.
Aggregated cron jobs from all bots via openclaw cron list --json
Loading…
Evolve/OpenClaw launchd jobs installed in /Library/LaunchDaemons/
Loading…
Installed OpenClaw version vs latest on npm registry
Loading…
Upgrade Safety Report
Loading…
evolve-admin Flask server running as a macOS launchd service
Service Status
Loading…
Server Log (last 100 lines)
(loading…)
First-time setup?
Use the Setup Wizard to install the persistent tunnel on your laptop and configure browser shortcuts.
Diagnostic Snapshots
Capture system info, configuration, and recent error logs into a JSON snapshot
stored in ~/.evolve/reports/. To open a GitHub issue with the snapshot
attached, use the floating 💬 Send feedback button instead.
Recent Snapshots
(loading…)
Snapshot
(loading…)
1 · Server
2 · SSH Keys
3 · Configure
4 · Install
5 · URL Shortcut
6 · Verify
Step 1: Persistent Server
The admin server should run as a launchd service so it starts automatically at login and restarts if it crashes. No terminal session required.
Step 2: SSH Key Setup
For the tunnel to reconnect automatically (without a password prompt), you need passwordless SSH from your laptop to this machine.
Run these commands on your laptop:
# Generate a key if you don't have one
ssh-keygen -t ed25519 -C "evolve-tunnel"
# Copy it to the Mac Mini
ssh-copy-id -i ~/.ssh/id_ed25519 pod_admin_user@mini
If you already have SSH key auth working, you can skip this step.
Step 3: Tunnel Configuration
Configure the SSH tunnel parameters. These will be baked into the setup script you download.
Step 4: Install Tunnel on Laptop
Download the setup script and run it on your laptop. Double-click the downloaded file in Finder — it will open Terminal and complete automatically.
📦 evolve-tunnel-setup.command
Installs autossh + launchd agent. Run once. Tunnel persists across reboots.
🔗 evolve-tunnel-connect.command
One-shot connect script. Save to your Desktop as a manual reconnect backup.
After running the setup script, the tunnel will start immediately and reconnect automatically whenever your laptop reboots or the connection drops.
Step 5: Browser URL Shortcut
Instead of typing http://localhost:5050, set up a keyword shortcut so you just type evolve in the address bar.
Chrome / Arc
Firefox
Safari
Open Settings ⌘, → Search engine → Manage search engines
Save. Now type evolve in the address bar and press Tab → Enter.
Navigate to http://localhost:5050 and bookmark it ⌘D
Right-click the bookmark → Properties
Set the Keyword field to: evolve
Now type evolve in the address bar and press Enter.
Safari doesn't support keyword bookmarks.
Navigate to http://localhost:5050
File → Add to Dock… — creates a clickable web app icon in your Dock.
Step 6: Verify
Let's confirm everything is working.
Click the button below to test the connection.
MCP Bridge
Loading…
Bot Context Access
Loading…
Claude Desktop Config
Paste this into ~/Library/Application Support/Claude/claude_desktop_config.json on each machine running Claude Desktop, then restart Claude Desktop.
Click to copy
CLAUDE.md:~/CLAUDE.md — instructs Claude to call get_context at session start.
MCP Bridge Log
(loading…)
Recent Activity
Loading…
ACL Drift
The admin server (evolve user) needs ACL read access to each bot's .openclaw/
directory. One or more bots have lost that grant — reading their config will fall back
to sudo /bin/cat or fail outright. Click Fix ACL to re-apply.
Disk Usage
Loading…
Evolve Version & Sync Status
Loading…
Upgrade Evolve Pod
Pulls latest code from git, rebuilds the plugin, and redeploys to all bots. Your configuration and data are preserved.
⚠ Danger Zone
Removes all Evolve launchd jobs, bot workspace files, and optionally shared data (metrics, proposals, capabilities).
Never scanned
Click Scan Now to check pod health.
Pause everything
Disables every bot gateway across the pod. Bot data stays exactly where it is —
only the running message handlers stop. Reversible.
Typically completes in well under 30 seconds.
Roll a bot back to a known-good day
Every bot's config is checkpointed nightly via git backup. Pick a bot, choose a
date, and we'll revert its openclaw.json to that commit and restart
its gateway. The current state is snapshotted first — so the rollback itself
can be reversed.
Recent pod-state commits
The last 7 days of code commits to this pod's deploy checkout.
Rolling back here resets the entire pod codebase — configs, gallery
manifests, and code — to that snapshot. The admin-UI restarts
automatically after rollback. Destructive and pod-wide.
Loading…
Per-bot rollback history
Past per-bot config rollbacks. Each one can be reversed — that just
performs another rollback, restoring the pre-rollback config.
Loading…
Pod-state rollback log
History of pod-state (codebase) rollbacks performed from this UI.
Loading…
Pause-all audit log
Who hit pause, when, and what happened on each gateway.
Loading…
MCP Server Catalog
Pod-curated catalog of vetted MCP servers. Click Install… on an entry to create
a pending suggestion — review and approve it in Recommendations to apply.
Loading…
Edit plugin hook policy
Flip allowConversationAccess / allowPromptInjection on this plugin entry.
Submit creates a pending suggestion — approve in Recommendations to apply (gateway restart auto-triggered).
allowPromptInjection=true is rejected unless the plugin is in the baseline's trusted_prompt_mutators.
Plugin can read agent_end / llm_output / before_agent_run payloads.
Plugin can mutate the system prompt arbitrarily — highest-trust flag.
Edit hook baseline
Pod-wide baseline at {shared_dir}/policy/hook-baseline.json. The monitor compares each bot's observed hook config against this baseline.
Submitting creates a pending UpdateHookBaseline proposal.
Plugin Catalog
Reference for first-party OpenClaw plugins shipped with the binary. Use this to
decide which plugins to enable on a bot — pair with the Enable… button
on the plugin row above to propose the change.
Loading…
Edit plugin config
Edit this plugin's config block. Submitting creates a pending
UpdatePluginConfig proposal — review and approve it in
Recommendations to apply. Gateway restarts automatically after apply.
For set_keys, keys may use dot-notation (e.g. "webSearch.apiKey").
For unset_keys, only the keys matter — values are ignored. For replace_block,
the entire object becomes the new config.
Open Advisories
GitHub Security Advisories for the npm package backing this MCP server.
Cache refreshes once per 24h during the audit cycle; use the
Refresh advisories action on the Catalog modal to force a pull.
Loading…
Probe History
Recent MCP initialize handshake probes against this server. The probe runs
once per audit cycle (~15 min); the most recent 50 entries are shown newest-first.
Loading…
Install MCP Server
Each env var resolves through the keystore at exec time — the actual secret stays in the keystore,
openclaw.json only holds a reference. Use a keystore key name that already exists, or add one first
via Credentials → Add Key.
These let the bot send email, modify your calendar, or write to your Drive/Docs. Off by default. Restricted scopes hit Google's verification track on personal accounts; Workspace admins can pre-approve them.
Scopes that will be requested
Add a skill
What this bot will be able to do
What it will NOT be able to do
Edit Model
Reports
Operator-configured digests, notification subscriptions, and the proposal watchlist.
Loading…
Subscriptions
Alerts
Watchlist
Subscriptions are reports the system sends to the Evolve bot's chat thread (Telegram, Slack, Discord, etc.) on a schedule. You see them in your normal messaging app — they don't require opening this admin UI.
Messages
Configure
Recent Messages
What the dispatcher actually sent (or tried to send) to the Evolve bot's chat thread. Same messages your phone receives.
Loading…
Digest Delivery
When the daily Pod Report digest goes out, and how loud the empty-state runs.
Loading…
Notification Subscriptions
Pick which event types reach the Evolve bot's chat thread and how often. Defaults are calibrated for typical pods; the operator can mute, throttle, or batch any event type. Source-level on/off lives in Settings → Pod Config; this page is for everyday notification preferences. The Pod Report's content is gated separately by Alerts → Configure (sensitivity thresholds).
Loading…
Alerts are system findings from the monitors, visible only here in the admin UI. They are not delivered to chat. To get a chat notification for an alert type, subscribe to it under Subscriptions → Configure.
Firing
History
Configure
Firing Alerts (needing action)
Loading…
Alert State Change History
Loading…
Sensitivity
Tunes pod_report's anomaly detectors — the magnitude floors that decide whether a condition becomes an Alert (and shows up in the daily Pod Report digest). The first row sets the pod default; each bot row overrides it. Tighter values = more findings. Leave a cell blank to inherit the pod default.
Loading…
Watchlist is what the RSI engine is keeping an eye on but hasn't acted on yet. Each row is a signal that didn't clear the synthesizer's bar — if one accumulates enough evidence, it becomes a Proposal you can review.
Tracking
Candidates the synthesizer is watching. Signal is worth noting; doesn't yet warrant operator action.
Loading…
Awaiting synthesis
Substrate-level candidates — the same condition fired on three or more bots. These suggest a pod-wide fix (a default change in evolve itself) and wait for the LLM synthesizer to draft the right action.
Loading…
Recently dropped (last 7d)
Candidates the gate filtered out. Use this view to tune magnitude floors and repetition windows in proposal_synthesizer/config.py — if something here looks like it should have surfaced, the threshold for that variant is too high.
Loading…
Alerts → Maintenance
Alerts have moved to Maintenance → Alerts.
Dismiss signal
Security
Audit findings and security state per bot.
Loading…
Audit
Advanced view ▾
Config Health
Backup
MCP Posture
Plugin Posture
Hook Posture
Content Scan
Permissions
Auto-Memory
Security Audit
Loading…
Config Health
Loading…
Nightly Git Backup
Each bot's workspace is pushed to a private GitHub repo at 2am.
Set the remote URL and add the deploy key to the repo to enable.
Loading…
Hook Posture
Cross-bot view of both hook surfaces. Red = unexpected webhook ingress /
silent-disable / allowPromptInjection outside trusted-mutators set;
yellow = generic policy drift / command-gate enabled.
The silent-disable column specifically catches the April 2026
incident class — required allowConversationAccess flipped false on an
enabled plugin. Spec: docs/spec-hook-governance-2026-05-10.md.
Loading…
Plugin Posture
Cross-bot inventory of OpenClaw plugin entries, allow / deny lists, and load paths.
Red = required-missing / denied-present / unauthorized source / load-path drift;
yellow = unexpected enabled / unexpected disabled / allow-list missing or drifted.
Spec: docs/spec-plugin-inventory-2026-05-10.md.
Loading…
Content Scan
Scans the markdown files each bot reads at session start (AGENTS.md,
SOUL.md, HEARTBEAT.md, IDENTITY.md, TOOLS.md, USER.md, MEMORY.md,
README.md) and the pod-wide POD_CONDUCT.md for indirect-prompt-injection
patterns — HTML-comment payloads, zero-width Unicode, authority-impersonation
framings, long base64 / hex blocks, subcommand chains, credential-exfil
curls, oversize lines, structural emptiness. Red = alert; yellow = warn;
green = clear. Spec: docs/spec-prompt-injection-scanner-2026-05-10.md.
Summary
Pattern Catalog
Suppressions
Loading…
Loading…
Loading…
MCP Posture
Cross-bot inventory of MCP servers configured in openclaw.json → mcp.servers.
Red = unknown server (not in allowlist); yellow = config drift; green = approved.
Spec: docs/spec-mcp-administration-2026-05-10.md.
Loading…
Permissions
What each bot is allowed to do at runtime — execution, filesystem, web,
sandbox, and scheduled invocations. Read-only in Phase A; mutation actions
(change level, add/revoke pattern, edit cron caps) ship in Phase B.
Spec: docs/spec-permission-posture-2026-05-10.md.
Loading…
Auto-Memory
Inventory of OpenClaw's per-project auto-memory across every bot.
OC writes memory files under ~/.claude/projects/<project>/memory/
as bots operate — Tier 2.4 of the roadmap catalogs that growth.
Phase A is inventory only (counts, sizes, mtimes). Phase B will add
threshold signals + content scanning; Phase C optional backup.
Spec: roadmap-openclaw-admin-coverage-2026-05-10.md §2.4.
Loading…
Sessions → Usage
This page has moved to Usage → Sessions.
Usage
AI API usage by model, source, and channel — with billing breakdown.
Spend
Sessions
Today
7d
30d
Custom…
Usage Summary
Loading…
Activity Composition (by trigger)
Loading…
Stack by:
Activity Timeline — Turns by Model
Activity Timeline — Turns by Trigger
Day detail
Click a day on either timeline above to see the top sessions for that day.
By Model
No data
By Channel
No data
By Source
No data
By User (top 10)
No data
Context Health
Loading…
Anthropic Admin Cost Reportcross-check
Pulls the org-level cost report from Anthropic's Admin API so the
operator can verify the locally-derived cost ledger against the
authoritative numbers. Requires an admin org API key — drop
{"api_key": "sk-ant-admin-..."} at
/Users/Shared/evolve/anthropic-admin-key.json (mode 600,
evolve-owned). Phase A is on-demand fetch only; Phase B adds daily
ingest + a divergence signal when the two sources disagree.
Click Fetch from Anthropic to load the cost report.
7d
30d
90d
When this bot is active?Cost-event count by hour of day (UTC) × day of week. Reveals each bot's natural rhythm — a steady fingerprint that shifts when something changes.
Sessions per day?Distinct sessions counted per day. A session is "active on a day" if any of its cost events land on that date. Spotting growth, abandonment, or burst days.
Inter-turn gap distribution?Seconds between consecutive user turns within a session. TTL must outlive the gap to reap cacheRead savings — if most gaps are above your TTL, you're paying cacheWrite over and over. Median and p95 shown below.
Cache health over time?Per-day stacked counts of cost events by cache_state. Invalidated turns paid cacheWrite cost without cacheRead savings — typically TTL too short. Fresh = first turn of a session; cannot be cached.
Token decomposition?Token totals across the window. Operator weights to dollars using model's published prices — cacheRead is ~10% of input price; cacheWrite is ~125%. Total cost shown below.
Cost per session?Distribution of session costs (heavy-tailed log-ish bins). The top 10 most expensive sessions are listed below — the "go read these" surface.
Context size trajectory?Average prompt tokens (input + cacheRead + cacheWrite) per event per day. Catches conversation bloat that the cache-state signals don't see directly.
Sessions to read?Top sessions worth investigating, grouped by ground-truth criteria. A session showing up in multiple categories (e.g. expensive AND highly invalidated) is informative — that's where to look first.
Cost Optimization
Budget caps, warning thresholds, and spend governance — the levers you set to keep costs in bounds. For observational data, see the Usage page.
Loading…
Cost Efficiency Score
Loading…
Context & Session Settings
Loading…
Cost Profiles
Loading…
Spending Caps & Enforcement
Loading…
Runaway Session Monitor
Loading…
Turn Audit
Loading…
Spike Explorer
top LLM calls by cost — Budget Hawk v2
Loading…
AI Optimization
Session classification, model routing, and tier configuration.
Loading…
⚠ Restart gateway to apply changes.
Model Freshness
Compares each bot's tier assignments to the latest recommended models for the providers you have keys for.
Loading…
Model Catalog
Select a bot above to manage its model catalog.
Tier Definitions
Which models live at each tier
Loading tier config…
Routing Rules
Select a bot above to load routing config.
Fallback Configuration
Loading fallback config…
Embedding Providers
Order = OpenClaw failover for memory_search
Loading embedding config…
Live Session Routing Status
Phase 2
Real-time session tier assignments, confidence scores, and manual overrides. Coming in Phase 2.
How Sessions Are Routed
Classifier accuracy
—
Session Classification Quality
⚠ Classifier accuracy is below 80%. Routing decisions may be unreliable. Consider running a classifier audit.
Every Saturday, Evolve audits whether sessions were classified correctly.
Add Bot
Add an existing OpenClaw bot to this Evolve pod.
Review & Deploy
⚠ This will install Evolve measure scripts and a launchd job on the bot's macOS user account.
The bot must already exist as a macOS user with OpenClaw installed and its gateway running.
Deploying…
1 · Check
2 · Scope
3 · Review
4 · Execute
🔍 Orphan Scan Results
Import API Usage from Logs
Paste or type cost data below to seed the spend baseline. Accepted formats: JSON (array or object), CSV (date,model,tokens,cost), or plain text from an API usage report.
Create a New App
⚠️ Errors 0
Turn detail
⚠️ Error Log
No errors logged this session.
Upgrading Evolve…
This may take a few minutes.
Starting…
Uninstall Evolve
This will remove all Evolve launchd jobs, bot workspace directories, and network.json.
⚠ This page will go offline approximately 5 seconds after uninstall starts.