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​