Skip to main content

Operator Commands

Day-to-day operation of WASP happens through four surfaces: the wasp CLI, natural language via Telegram, the dashboard, and direct Docker commands. This page is the cheat-sheet.

wasp CLI

Installed at /usr/local/bin/wasp by install.sh. Run any command from any directory.

wasp onboard Re-run the configuration wizard
wasp start Start the stack
wasp stop Stop the stack
wasp restart Restart all services
wasp status Container status + health checks
wasp logs [service] Stream logs (default: agent-core)
wasp health Run the full health probe suite
wasp update Pull latest tarball, rebuild, restart, verify
wasp backup Create a timestamped backup archive (Postgres + volumes)
wasp restore <file> Restore from a backup archive
wasp reset Wipe runtime state but keep volumes
wasp uninstall Remove WASP (asks before deleting data)
wasp help Show command reference

Telegram

WASP listens on the bot configured by TELEGRAM_BOT_TOKEN. Only Telegram user IDs in TELEGRAM_ALLOWED_USERS can interact.

Asking the agent something

Send any message in your natural language. The agent will:

  1. Try a deterministic fast-path (e.g., listing reminders, deleting a reminder, listing tasks).
  2. Run the Decision Layer to classify intent (5 strategies: DIRECT_RESPONSE / GOAL / SCHEDULED_TASK / SUB_AGENT / SCRIPT).
  3. If the request needs planning, create a Goal; if it is a one-shot answer, run the LLM loop directly.
  4. Apply the policy guards before sending the reply.

Built-in Telegram commands

CommandEffect
/startConcise welcome (EN/ES/PT/FR) with capability summary
/helpFull command reference
/pingReachability check
/statusSystem status
/modelShow active model + provider
/skillsList registered skills
/skill <name>Invoke a skill directly
/scheduleShow scheduled tasks
/memoryMemory subsystem info
/snapshotSave current state to a memory snapshot
/introspectCapability + health snapshot
/monitor <url>Watch a URL for changes
/brokerIntegrations management
/api set <provider> <key>Persist a model API key
/openclaw <action>Manage dynamic skills from the ClawHub registry

Telegram input types

InputHandling
TextFull pipeline
PhotoVision-capable model receives the image bytes
DocumentTreated as file; can be referenced in subsequent messages
Voice noteTranscribed via OpenAI Whisper, then passed through the text pipeline
Video / video noteFirst frame extracted with ffmpeg, then vision pipeline

Live progress

While the agent is working on a response, it edits a single status message in place (TELEGRAM_PROGRESS events) showing the current step. Only one progress message is created per turn; on edit failure, it is dropped silently.

Common natural-language workflows

Create a recurring task

every 6 hours, fetch BTC price and email me a report

The agent detects the recurring keyword, routes to task_manager, creates a custom task with the literal instruction. The Custom Task Runner job (60 s) triggers it at the next interval.

:::warning Schedule semantics task_manager only supports interval scheduling. Clock-time requests (every Monday at 9am) and daypart phrases (in the morning) are surfaced via an automatic disclaimer; they are NOT honored literally. To approximate a fixed clock time, create the task at the desired wall-clock time so the interval boundary aligns. :::

Create a reminder

remind me to back up the disk in 3 hours

Reminders are one-shot or recurring. The Reminder Checker (30 s) fires due reminders. If a reminder is linked to an agent, firing it restarts that agent's goal cycle.

Create a sub-agent

create an agent named News Watcher to monitor RSS feeds every hour

The handler extracts the name (non-greedy regex with lookahead stop-set), the purpose, and the autonomy mode. Sub-agents have their own goal queues and Telegram chat-id default. Manage them at /agents.

One-time screenshot

capture a screenshot of example.com

The agent runs browser(action="capture", url="..."). The screenshot arrives as a Telegram photo with the page title as caption.

Investigate logs

there are 503 errors in the audit log, find a pattern and propose a fix

The agent creates a Goal: query audit log → analyze → propose patch via self_improve(action="propose"). Review the proposal at /self-improve. Apply only after reading the diff.

Host shell

ActionCommand
Container statusdocker compose ps
Recent agent logsdocker compose logs agent-core --tail=200
Follow logsdocker compose logs -f agent-core
Health checkcurl -s http://localhost:8080/health | jq
Queue depthsdocker exec agent-redis redis-cli XLEN events:incoming
Behavioral queuedocker exec agent-redis redis-cli LLEN behavioral:pending
Postgres consoledocker exec -it agent-postgres psql -U agent -d agent
Redis consoledocker exec -it agent-redis redis-cli
Restart coredocker compose up -d agent-core
Rebuild coredocker compose build agent-core && docker compose up -d agent-core

Dashboard quick reference

PageUse it for
/overviewTop-level snapshot
/healthCPU pressure (CPI), memory, queues, model liveness
/tracesPer-response forensic trace
/auditPer-action AuditLog (keyset pagination)
/cmdCommand palette (search across pages)
/schedulerRecurring tasks, custom tasks, monitor list
/agentsSub-agent CRUD, status, message log
/goalsActive and historical goals with TaskGraph visualization
/self-improvePending AI proposals — diff viewer, Apply/Reject
/behavioral-rulesLearned rules — view, filter, toggle, delete
/configprime.md editor + 12 feature flags
/modelsProvider status, default model, catalog
/integrations40+ connectors with circuit-breaker state
/cognitiveSelf-model, epistemic state, integrity report
/knowledge-graphForce-directed canvas of entities and relations
/world-modelTemporal observations, entity timelines
/memoryMemory tree browser
/vector-memorySemantic similarity search
/resetPanic Reset (hard confirmation)

See also