Active Memory

Runs a bounded blocking memory sub-agent before eligible conversational replies and injects relevant memory into prompt context.

@openclaw/admin-http-rpc

OpenClaw admin HTTP RPC endpoint

Alibaba Model Studio Plugin

Bundled Alibaba Model Studio video provider plugin

Anthropic Provider

Bundled Anthropic provider plugin

Azure Speech

Bundled Azure Speech provider

Bonjour Gateway Discovery

Advertise the local OpenClaw gateway over Bonjour/mDNS.

Browser

Default browser tool plugin

BytePlus Provider

Bundled BytePlus provider plugin

Canvas

Experimental Canvas control and A2UI rendering surfaces for paired nodes.

@openclaw/clickclack

OpenClaw ClickClack channel plugin

Codex Supervisor

Supervise Codex app-server sessions from OpenClaw.

Cohere Provider

Cohere provider plugin

ComfyUI Provider

Bundled ComfyUI workflow media generation provider

Copilot Proxy

Local Copilot Proxy (VS Code LM) provider plugin

Deepgram Media Understanding

Bundled Deepgram audio transcription provider

Device Pair

QR/bootstrap pairing helpers for OpenClaw devices

Document Extraction

Extract text and fallback page images from local document attachments.

@openclaw/duckduckgo-plugin

OpenClaw DuckDuckGo plugin

ElevenLabs Speech

Bundled ElevenLabs speech provider

fal Provider

Bundled fal image, video, and music generation provider

File Transfer

Fetch, list, and write files on paired nodes via dedicated node commands.

Fireworks Provider

Bundled Fireworks AI provider plugin

GitHub Copilot Provider

Bundled GitHub Copilot provider plugin

Google Plugin

Bundled Google plugin

Hugging Face Provider

Bundled Hugging Face provider plugin

@openclaw/imessage

OpenClaw iMessage channel plugin using imsg on a signed-in Mac

@openclaw/irc

OpenClaw IRC channel plugin

LiteLLM Provider

Bundled LiteLLM provider plugin

LLM Task

Generic JSON-only LLM tool for structured tasks callable from workflows.

LM Studio Provider

Bundled LM Studio provider plugin

@openclaw/mattermost

OpenClaw Mattermost channel plugin

Memory (Core)

File-backed memory search tools and CLI

Memory Wiki

Persistent wiki compiler and Obsidian-friendly knowledge vault for OpenClaw.

Microsoft Speech

Bundled Microsoft speech provider

Microsoft Foundry Provider

Microsoft Foundry provider with Entra ID and API key auth

Claude Migration

Imports Claude Code and Claude Desktop instructions, MCP servers, skills, and safe configuration into OpenClaw.

Hermes Migration

Imports Hermes configuration, memories, skills, and supported credentials into OpenClaw.

MiniMax

Bundled MiniMax API-key and OAuth provider plugin

Mistral Provider

Bundled Mistral provider plugin

Moonshot Provider

Bundled Moonshot provider plugin

NovitaAI Provider

Bundled NovitaAI provider plugin

NVIDIA Provider

Bundled NVIDIA provider plugin

OC Path

Adds the openclaw path CLI for oc:// workspace file addressing.

Ollama Provider

Bundled Ollama provider plugin

OpenProse

OpenProse VM skill pack with a /prose slash command.

OpenAI Provider

Bundled OpenAI provider plugins

OpenCode Zen Provider

Bundled OpenCode Zen provider plugin

OpenCode Go Provider

Bundled OpenCode Go provider plugin

OpenRouter Provider

Bundled OpenRouter provider plugin

Phone Control

Temporary allowlist control for phone automation commands

Policy

Adds policy-backed doctor checks for workspace conformance.

Runway Provider

Bundled Runway video provider plugin

@openclaw/searxng-plugin

OpenClaw SearXNG plugin

SenseAudio

Bundled SenseAudio audio transcription provider

SGLang Provider

Bundled SGLang provider plugin

Signal

Signal channel plugin

SMS

Twilio SMS channel plugin for OpenClaw text messages.

Synthetic Provider

Bundled Synthetic provider plugin

Talk Voice

Command helpers for managing Talk voice configuration

@openclaw/tavily-plugin

OpenClaw Tavily plugin

@openclaw/telegram

OpenClaw Telegram channel plugin

Tencent Cloud Provider

Bundled Tencent Cloud provider plugin (TokenHub)

Thread Ownership

Prevents multiple agents from responding in the same Slack thread. Uses HTTP calls to the slack-forwarder ownership API.

Together Provider

Bundled Together provider plugin

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

autonomous-brain

Advanced autonomous AI brain with proactive monitoring, intelligent decision-making, context awareness, and seamless task execution. Enables OpenClaw to think independently, anticipate needs, and act without constant user direction.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

clawhub

Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.

diagram-maker

Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.

gh-issues

Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.

github

GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.

gog

Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.

healthcheck

Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.

imsg

iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.

mcporter

List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.

meme-maker

Search meme templates, suggest formats, and generate local or hosted image memes.

model-usage

Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.

Designs and outputs n8n workflow JSON with robust triggers, idempotency, error handling, logging, retries, and human-in-the-loop review queues. Use when you need an auditable automation that won’t silently fail.

nano-pdf

Edit PDFs with natural-language instructions using the nano-pdf CLI.

node-connect

Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.

node-inspect-debugger

Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.

notion

Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.

openai-whisper

Local speech-to-text with the Whisper CLI (no API key).

peekaboo

Capture and automate macOS UI with the Peekaboo CLI.

proactive-agent

Transform AI agents from task-followers into proactive partners that anticipate needs and continuously improve. Now with WAL Protocol, Working Buffer, Autonomous Crons, and battle-tested patterns. Part of the Hal Stack 🦞

python-debugpy

Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.

session-logs

Search and analyze your own session logs (older/parent conversations) using jq.

skill-creator

Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.

spike

Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.

summarize

Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.

taskflow

Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.

taskflow-inbox-triage

Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.

tmux

Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.

video-frames

Extract frames or short clips from videos using ffmpeg.

weather

Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.


Prompt: [OpenClaw heartbeat poll]

[User] post-update health check: reply OK

[Assistant] OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

Apply a patch to one or more files using the apply_patch format. The input should include *** Begin Patch and *** End Patch markers.

Patch content using the *** Begin Patch/End Patch format.

Create a goal only when explicitly requested by the user or system instructions. Fails if a goal already exists; use user-facing goal controls to clear it.

Concrete objective to pursue. Create only when explicitly requested.

Optional positive token budget for this goal.

cron

Manage Gateway cron jobs and wake events: reminders, check-back-later, delayed follow-ups, recurring work. Do not emulate scheduling with exec sleep/process polling.

Main cron => system events for heartbeat. Isolated cron => background task in `openclaw tasks`.

ACTIONS:
- status: scheduler status
- list: compact job summaries; includeDisabled true includes disabled; use get for full job details; agentId filter auto-filled from session
- get: one job; needs jobId
- add: create job; needs job object
- update: patch job; needs jobId + patch
- remove: delete job; needs jobId
- run: run only if due by default; needs jobId; pass runMode="force" to trigger now
- runs: run history; needs jobId
- wake: send wake event; needs text, optional mode; defaults the target to the calling session/agent. Pass top-level sessionKey/agentId to wake a different lane.

JOB SCHEMA (for add action):
{
  "name": "string",
  "schedule": { ... },      // required
  "payload": { ... },       // required
  "delivery": { ... },      // optional announce for isolated/current/session, webhook for any target
  "sessionTarget": "main" | "isolated" | "current" | "session:<id>",
  "enabled": true | false   // default true
}

SESSION TARGET OPTIONS:
- "main": main session; requires payload.kind="systemEvent"
- "isolated": ephemeral isolated session; requires payload.kind="agentTurn"
- "current": bind current session at creation
- "session:<id>": persistent named session

DEFAULTS:
- payload.kind="systemEvent" → defaults to "main"
- payload.kind="agentTurn" → defaults to "isolated"
Current binding needs sessionTarget="current".

SCHEDULE TYPES (schedule.kind):
- "at": one-shot absolute time
  { "kind": "at", "at": "<ISO-8601 timestamp>" }
- "every": recurring interval
  { "kind": "every", "everyMs": <ms>, "anchorMs": <optional-ms> }
- "cron": expr in supplied timezone, or Gateway host local timezone when tz omitted
  { "kind": "cron", "expr": "<cron-expression>", "tz": "<optional-IANA-timezone>" }
  Write expr in local wall-clock time; do not convert the requested local time to UTC first.
  tz omitted => Gateway host local timezone, not UTC.
  Example 6pm Shanghai daily: { "kind": "cron", "expr": "0 18 * * *", "tz": "Asia/Shanghai" }

For "at", ISO timestamps without timezone are UTC.

PAYLOAD TYPES (payload.kind):
- "systemEvent": inject text as system event
  { "kind": "systemEvent", "text": "<message>" }
- "agentTurn": run agent with prompt; isolated/current/session only
  { "kind": "agentTurn", "message": "<prompt>", "model": "<optional>", "thinking": "<optional>", "timeoutSeconds": <optional, 0=no timeout> }

DELIVERY (top-level):
  { "mode": "none|announce|webhook", "channel": "<optional>", "to": "<optional>", "threadId": "<optional>", "bestEffort": <optional-bool> }
  - isolated agentTurn default when omitted: "announce"
  - announce: send to chat channel; isolated/current/session only; optional channel/to
  - threadId: chat thread/topic id
  - webhook: POST finished-run event to delivery.to URL
  - Specific chat/recipient: set announce delivery.channel/to; do not call messaging tools inside run.

CRITICAL CONSTRAINTS:
- sessionTarget="main" REQUIRES payload.kind="systemEvent"
- sessionTarget="isolated" | "current" | "session:xxx" REQUIRES payload.kind="agentTurn"
- Webhook: delivery.mode="webhook" and delivery.to URL.
Default: prefer isolated agentTurn jobs unless the user explicitly wants current-session binding.

RESTRICTED CRON RUNS:
- Some isolated cron runs get narrow self-cleanup grant: status/list self-only, get/runs current job only, mutation only remove current job.

WAKE MODES (for wake action):
- "next-heartbeat" default: wake next heartbeat
- "now": wake immediately

Use jobId canonical; id accepted compat. contextMessages (0-10) adds previous messages as job context.

Run mode for action="run": omitted defaults to "due"; use "force" to trigger now.

List filter for `action: "list"`; wake target override for `action: "wake"` (defaults to the calling agent when omitted on wake)

Wake target override for `action: "wake"`: route the event to the named session rather than the calling agent's current session. Defaults to the resolved calling-session key when omitted.

edit

Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.

Path to the file to edit (relative or absolute)

One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead.

exec

Execute shell commands with background continuation for work that starts now. Use yieldMs/background to continue later via process tool. For long-running work started now, rely on automatic completion wake when it is enabled and the command emits output or fails; otherwise use process to confirm completion. Use process whenever you need logs, status, input, or intervention. Do not use exec sleep or delay loops for reminders or deferred follow-ups; use cron instead. Use pty=true for TTY-required commands (terminal UIs, coding agents).

Shell command to execute

Working directory (defaults to cwd)

Milliseconds to wait before backgrounding (default 10000)

Run in background immediately

Timeout in seconds (optional, kills process on expiry)

Run in a pseudo-terminal (PTY) when available (TTY-required CLIs, coding agents)

Run on the host with elevated permissions (if allowed)

Exec host/target (auto|sandbox|gateway|node).

Ignored for normal calls; exec security is set by tools.exec.security and host approvals.

Baseline ask comes from tools.exec.ask and host approvals; channel-origin calls ignore per-call ask when effective host ask is off.

Node id/name for host=node.

Get the current goal for this thread, including status and token usage.

image

Analyze images with vision model. Use image for one path/URL, images for max 20. Only use this tool when images were NOT already provided; prompt images already visible.

One image path/URL.

Image paths/URLs; maxImages default 20.

Safe exact excerpt read from MEMORY.md or memory/*.md. Defaults to a bounded excerpt when lines are omitted, includes truncation/continuation info when more content exists, and `corpus=wiki` reads from registered compiled-wiki supplements.

Mandatory recall step: semantically search MEMORY.md + memory/*.md (and optional session transcripts) before answering questions about prior work, decisions, dates, people, preferences, or todos. Optional `corpus=wiki` or `corpus=all` also searches registered compiled-wiki supplements. `corpus=memory` restricts hits to indexed memory files (excludes session transcript chunks from ranking). `corpus=sessions` restricts hits to indexed session transcripts (same visibility rules as session history tools). If response has disabled=true, memory retrieval is unavailable and should be surfaced to the user.

process

Manage running exec sessions for commands already started: list, poll, log, write, send-keys, submit, paste, kill. Use poll/log when you need status, logs, quiet-success confirmation, or completion confirmation when automatic completion wake is unavailable. Use poll/log also for input-wait hints. Use write/send-keys/submit/paste/kill for input or intervention. Do not use process polling to emulate timers or reminders; use cron for scheduled follow-ups.

Process action (list|poll|log|write|send-keys|submit|paste|kill|clear|remove)

Session id for actions other than list

Data to write for write

Key tokens to send for send-keys

Hex bytes to send for send-keys

Literal string for send-keys

Text to paste for paste

Wrap paste in bracketed mode

Close stdin after write

Log offset

Log length

For poll: wait up to this many milliseconds before returning; max 30000 ms, higher values are clamped to 30000

read

Read the contents of a file. Supports text files and images (jpg, png, gif, webp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.

Path to the file to read (relative or absolute)

Line number to start reading from (1-indexed)

Maximum number of lines to read

Show /status-like card for current/visible session: model, usage, time, cost, tasks. Use `sessionKey="current"` for current session; UI labels like `openclaw-tui` are not keys. `model` sets session override; `model=default` resets. Use for active model/session config questions.

Fetch sanitized history for visible session. Use before replying, debugging, resuming; supports limits/tool messages.

List visible sessions; filter by kind, label, agentId, search, activity. Use before sessions_history or sessions_send target selection.

Send message to visible session by sessionKey/label, or configured agent by agentId; sessionKey wins when redundant label metadata is present. Thread-scoped chats rejected; target parent channel session. Creates missing configured-agent main session; waits for reply when available.

Spawn clean child session; default `runtime="subagent"`. `mode="run"` one-shot background work. Subagents inherit parent workspace. Native subagents get task in first visible `[Subagent Task]` message. Native only: `context="fork"` only when child needs current transcript; else omit or `isolated`. Use for fresh child-session work. Delegate sidecar/parallel tasks: batch file reads, multi-step searches, data collection. Avoid delegating quick lookups or single-file reads unless policy prefers delegation. After spawning, do non-overlapping work while run-mode results return.

Stable alias for later targeting; lowercase letters/digits/underscores/hyphens, starts letter.

Native context. Omit/"isolated" for clean child; "fork" only when child needs requester transcript.

Light bootstrap context; runtime="subagent" only.

End current turn. Use after spawning subagents; results arrive as next message.

Create, update, revise, list, inspect, apply, reject, or quarantine Skill Workshop proposals when reusable procedures should be captured, improved, or explicitly approved.

create for a new skill proposal, update for an existing skill, revise for a pending proposal, list or inspect proposals for proposal discovery, apply/reject/quarantine for explicit proposal lifecycle actions.

Existing proposal id for action=inspect, action=revise, action=apply, action=reject, or action=quarantine.

Skill/proposal name. Required for action=create; optional resolver for action=inspect or action=revise when proposal_id is unknown.

Optional query for action=list.

Optional proposal status filter for action=list.

Maximum proposals to return for action=list. Defaults to 20.

Skill description for action=create, action=update, or action=revise. Keep it concise; max 160 bytes.

Existing skill name or key for action=update.

Full proposed procedure markdown for action=create, action=update, or action=revise. It will be stored as PROPOSAL.md. Keep under configured skills.workshop.maxSkillBytes; default max is 40000 bytes.

Optional support files to store with the proposal.

Proposal or improvement goal.

Short evidence or notes.

Optional reason for action=apply, action=reject, or action=quarantine.

subagents

List active and recent subagents for the requester session. If sessions_yield exists, use it for completion; do not poll wait loops.

Mark the current goal complete only when achieved, or blocked only after the same blocking condition recurs for at least three consecutive goal turns. Do not use blocked for ordinary difficulty or missing polish.

complete | blocked.

Short status note.

Update current run plan. Use for non-trivial multi-step work; keep plan current while executing. Short steps; max one `in_progress`; skip for simple one-step work.

Short note: what changed.

Ordered steps; max one in_progress.

Fetch URL and extract readable markdown/text. Lightweight page access; no browser automation.

HTTP(S) URL.

Extract as markdown/text.

Max chars returned; truncates.

Search web for current info; returns normalized provider results.

Search query.

Result count.

2-letter country code.

ISO 639-1 language.

Time filter: day/week/month/year.

Published after YYYY-MM-DD.

Published before YYYY-MM-DD.

Brave result language.

Brave UI locale.

Perplexity domain filter.

Perplexity total token budget.

Perplexity tokens per page.

write

Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.

Path to the file to write (relative or absolute)

Content to write to the file


Prompt: [OpenClaw heartbeat poll]

[User] post-update health check: reply OK

[Assistant] OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK


post-update health check: reply OK

OK

[OpenClaw heartbeat poll]

[OpenClaw heartbeat poll]

[OpenClaw heartbeat poll]

[OpenClaw heartbeat poll]


alibaba anthropic azure-speech bonjour browser byteplus canvas cohere comfy copilot-proxy deepgram device-pair document-extract elevenlabs fal file-transfer fireworks github-copilot google huggingface litellm lmstudio memory-core microsoft microsoft-foundry minimax mistral moonshot novita nvidia ollama openai opencode opencode-go openrouter phone-control runway senseaudio sglang signal synthetic talk-voice tencent together tts-local-cli venice vercel-ai-gateway vllm volcengine voyage vydra web-readability xai xiaomi zai

Active Memory

Runs a bounded blocking memory sub-agent before eligible conversational replies and injects relevant memory into prompt context.

@openclaw/admin-http-rpc

OpenClaw admin HTTP RPC endpoint

Alibaba Model Studio Plugin

Bundled Alibaba Model Studio video provider plugin

Anthropic Provider

Bundled Anthropic provider plugin

Azure Speech

Bundled Azure Speech provider

Bonjour Gateway Discovery

Advertise the local OpenClaw gateway over Bonjour/mDNS.

Browser

Default browser tool plugin

BytePlus Provider

Bundled BytePlus provider plugin

Canvas

Experimental Canvas control and A2UI rendering surfaces for paired nodes.

@openclaw/clickclack

OpenClaw ClickClack channel plugin

Codex Supervisor

Supervise Codex app-server sessions from OpenClaw.

Cohere Provider

Cohere provider plugin

ComfyUI Provider

Bundled ComfyUI workflow media generation provider

Copilot Proxy

Local Copilot Proxy (VS Code LM) provider plugin

Deepgram Media Understanding

Bundled Deepgram audio transcription provider

Device Pair

QR/bootstrap pairing helpers for OpenClaw devices

Document Extraction

Extract text and fallback page images from local document attachments.

@openclaw/duckduckgo-plugin

OpenClaw DuckDuckGo plugin

ElevenLabs Speech

Bundled ElevenLabs speech provider

fal Provider

Bundled fal image, video, and music generation provider

File Transfer

Fetch, list, and write files on paired nodes via dedicated node commands.

Fireworks Provider

Bundled Fireworks AI provider plugin

GitHub Copilot Provider

Bundled GitHub Copilot provider plugin

Google Plugin

Bundled Google plugin

Hugging Face Provider

Bundled Hugging Face provider plugin

@openclaw/imessage

OpenClaw iMessage channel plugin using imsg on a signed-in Mac

@openclaw/irc

OpenClaw IRC channel plugin

LiteLLM Provider

Bundled LiteLLM provider plugin

LLM Task

Generic JSON-only LLM tool for structured tasks callable from workflows.

LM Studio Provider

Bundled LM Studio provider plugin

@openclaw/mattermost

OpenClaw Mattermost channel plugin

Memory (Core)

File-backed memory search tools and CLI

Memory Wiki

Persistent wiki compiler and Obsidian-friendly knowledge vault for OpenClaw.

Microsoft Speech

Bundled Microsoft speech provider

Microsoft Foundry Provider

Microsoft Foundry provider with Entra ID and API key auth

Claude Migration

Imports Claude Code and Claude Desktop instructions, MCP servers, skills, and safe configuration into OpenClaw.

Hermes Migration

Imports Hermes configuration, memories, skills, and supported credentials into OpenClaw.

MiniMax

Bundled MiniMax API-key and OAuth provider plugin

Mistral Provider

Bundled Mistral provider plugin

Moonshot Provider

Bundled Moonshot provider plugin

NovitaAI Provider

Bundled NovitaAI provider plugin

NVIDIA Provider

Bundled NVIDIA provider plugin

OC Path

Adds the openclaw path CLI for oc:// workspace file addressing.

Ollama Provider

Bundled Ollama provider plugin

OpenProse

OpenProse VM skill pack with a /prose slash command.

OpenAI Provider

Bundled OpenAI provider plugins

OpenCode Zen Provider

Bundled OpenCode Zen provider plugin

OpenCode Go Provider

Bundled OpenCode Go provider plugin

OpenRouter Provider

Bundled OpenRouter provider plugin

Phone Control

Temporary allowlist control for phone automation commands

Policy

Adds policy-backed doctor checks for workspace conformance.

Runway Provider

Bundled Runway video provider plugin

@openclaw/searxng-plugin

OpenClaw SearXNG plugin

SenseAudio

Bundled SenseAudio audio transcription provider

SGLang Provider

Bundled SGLang provider plugin

Signal

Signal channel plugin

SMS

Twilio SMS channel plugin for OpenClaw text messages.

Synthetic Provider

Bundled Synthetic provider plugin

Talk Voice

Command helpers for managing Talk voice configuration

@openclaw/tavily-plugin

OpenClaw Tavily plugin

@openclaw/telegram

OpenClaw Telegram channel plugin

Tencent Cloud Provider

Bundled Tencent Cloud provider plugin (TokenHub)

Thread Ownership

Prevents multiple agents from responding in the same Slack thread. Uses HTTP calls to the slack-forwarder ownership API.

Together Provider

Bundled Together provider plugin

weather

The following skills provide specialized instructions for specific tasks.
Use the read tool to load a skill's file when the task matches its description.
If a skill's <version> differs from a previous turn, re-read its SKILL.md before using it.
When a skill file references a relative path, resolve it against the skill directory (parent of SKILL.md / dirname of the path) and use that absolute path in tool commands.

<available_skills>
  <skill>
    <name>1password</name>
    <description>Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/1password/SKILL.md</location>
    <version>sha256:d8574f50448358d1</version>
  </skill>
  <skill>
    <name>autonomous-brain</name>
    <description>Advanced autonomous AI brain with proactive monitoring, intelligent decision-making, context awareness, and seamless task execution. Enables OpenClaw to think independently, anticipate needs, and act without constant user direction.</description>
    <location>~/.openclaw-link/workspace/skills/autonomous-brain/SKILL.md</location>
    <version>sha256:8966b31a72bb8675</version>
  </skill>
  <skill>
    <name>blogwatcher</name>
    <description>Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/blogwatcher/SKILL.md</location>
    <version>sha256:dc6b343e2c655215</version>
  </skill>
  <skill>
    <name>browser-automation</name>
    <description>Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.</description>
    <location>~/.openclaw-link/plugin-skills/browser-automation/SKILL.md</location>
    <version>sha256:608bed60aca52631</version>
  </skill>
  <skill>
    <name>canvas</name>
    <description>Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/canvas/SKILL.md</location>
    <version>sha256:7419e23f242397b3</version>
  </skill>
  <skill>
    <name>clawhub</name>
    <description>Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/clawhub/SKILL.md</location>
    <version>sha256:920a3d7387e32536</version>
  </skill>
  <skill>
    <name>diagram-maker</name>
    <description>Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/diagram-maker/SKILL.md</location>
    <version>sha256:6195e03fcb04a1a6</version>
  </skill>
  <skill>
    <name>gh-issues</name>
    <description>Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/gh-issues/SKILL.md</location>
    <version>sha256:e7a64973e1862117</version>
  </skill>
  <skill>
    <name>github</name>
    <description>GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/github/SKILL.md</location>
    <version>sha256:46f3610b1668c284</version>
  </skill>
  <skill>
    <name>gog</name>
    <description>Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/gog/SKILL.md</location>
    <version>sha256:ff7c0c4f08814dfe</version>
  </skill>
  <skill>
    <name>healthcheck</name>
    <description>Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/healthcheck/SKILL.md</location>
    <version>sha256:518ec6e0482cf1c7</version>
  </skill>
  <skill>
    <name>imsg</name>
    <description>iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/imsg/SKILL.md</location>
    <version>sha256:6fccb338c2aefd62</version>
  </skill>
  <skill>
    <name>mcporter</name>
    <description>List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/mcporter/SKILL.md</location>
    <version>sha256:010ed9b265e58d45</version>
  </skill>
  <skill>
    <name>meme-maker</name>
    <description>Search meme templates, suggest formats, and generate local or hosted image memes.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/meme-maker/SKILL.md</location>
    <version>sha256:8b8832f9f0f58b16</version>
  </skill>
  <skill>
    <name>model-usage</name>
    <description>Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/model-usage/SKILL.md</location>
    <version>sha256:159cfc9ad9f764ad</version>
  </skill>
  <skill>
    <name>n8n-workflow-automation</name>
    <description>Designs and outputs n8n workflow JSON with robust triggers, idempotency, error handling, logging, retries, and human-in-the-loop review queues. Use when you need an auditable automation that won’t silently fail.</description>
    <location>~/.openclaw-link/workspace/skills/n8n-workflow-automation/SKILL.md</location>
    <version>sha256:cc1b006ac5cf7258</version>
  </skill>
  <skill>
    <name>nano-pdf</name>
    <description>Edit PDFs with natural-language instructions using the nano-pdf CLI.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/nano-pdf/SKILL.md</location>
    <version>sha256:d8ab6db7572b0df8</version>
  </skill>
  <skill>
    <name>node-connect</name>
    <description>Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/node-connect/SKILL.md</location>
    <version>sha256:cc39026fd84e5cfa</version>
  </skill>
  <skill>
    <name>node-inspect-debugger</name>
    <description>Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/node-inspect-debugger/SKILL.md</location>
    <version>sha256:50d2f6828eaf4bbf</version>
  </skill>
  <skill>
    <name>notion</name>
    <description>Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/notion/SKILL.md</location>
    <version>sha256:d45e2c1270d58c78</version>
  </skill>
  <skill>
    <name>openai-whisper</name>
    <description>Local speech-to-text with the Whisper CLI (no API key).</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/openai-whisper/SKILL.md</location>
    <version>sha256:802e31d7310316fc</version>
  </skill>
  <skill>
    <name>peekaboo</name>
    <description>Capture and automate macOS UI with the Peekaboo CLI.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/peekaboo/SKILL.md</location>
    <version>sha256:0e7f6ae6c9a3d82f</version>
  </skill>
  <skill>
    <name>proactive-agent</name>
    <description>Transform AI agents from task-followers into proactive partners that anticipate needs and continuously improve. Now with WAL Protocol, Working Buffer, Autonomous Crons, and battle-tested patterns. Part of the Hal Stack 🦞</description>
    <location>~/.openclaw-link/workspace/skills/proactive-agent/SKILL.md</location>
    <version>sha256:bf25274dca82babc</version>
  </skill>
  <skill>
    <name>python-debugpy</name>
    <description>Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/python-debugpy/SKILL.md</location>
    <version>sha256:bfb1891204b67260</version>
  </skill>
  <skill>
    <name>session-logs</name>
    <description>Search and analyze your own session logs (older/parent conversations) using jq.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/session-logs/SKILL.md</location>
    <version>sha256:5cc9af328643b6b0</version>
  </skill>
  <skill>
    <name>skill-creator</name>
    <description>Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/skill-creator/SKILL.md</location>
    <version>sha256:9e971bac63ad787f</version>
  </skill>
  <skill>
    <name>spike</name>
    <description>Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/spike/SKILL.md</location>
    <version>sha256:1258cde2d0e53267</version>
  </skill>
  <skill>
    <name>summarize</name>
    <description>Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/summarize/SKILL.md</location>
    <version>sha256:b6d9be0ff47e6462</version>
  </skill>
  <skill>
    <name>taskflow</name>
    <description>Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/taskflow/SKILL.md</location>
    <version>sha256:d8b6a48d329aef0a</version>
  </skill>
  <skill>
    <name>taskflow-inbox-triage</name>
    <description>Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/taskflow-inbox-triage/SKILL.md</location>
    <version>sha256:1fe28cd924d8ae2d</version>
  </skill>
  <skill>
    <name>tmux</name>
    <description>Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/tmux/SKILL.md</location>
    <version>sha256:98b6b8392ec57e11</version>
  </skill>
  <skill>
    <name>video-frames</name>
    <description>Extract frames or short clips from videos using ffmpeg.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/video-frames/SKILL.md</location>
    <version>sha256:bdaaa9964db9584f</version>
  </skill>
  <skill>
    <name>weather</name>
    <description>Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.</description>
    <location>~/.openclaw-link/runtime/lib/node_modules/openclaw/skills/weather/SKILL.md</location>
    <version>sha256:62ab4821aa873949</version>
  </skill>
</available_skills>


Prompt: [OpenClaw heartbeat poll]

[User] post-update health check: reply OK

[Assistant] OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

Apply a patch to one or more files using the apply_patch format. The input should include *** Begin Patch and *** End Patch markers.

Patch content using the *** Begin Patch/End Patch format.

Create a goal only when explicitly requested by the user or system instructions. Fails if a goal already exists; use user-facing goal controls to clear it.

Concrete objective to pursue. Create only when explicitly requested.

Optional positive token budget for this goal.

cron

Manage Gateway cron jobs and wake events: reminders, check-back-later, delayed follow-ups, recurring work. Do not emulate scheduling with exec sleep/process polling.

Main cron => system events for heartbeat. Isolated cron => background task in `openclaw tasks`.

ACTIONS:
- status: scheduler status
- list: compact job summaries; includeDisabled true includes disabled; use get for full job details; agentId filter auto-filled from session
- get: one job; needs jobId
- add: create job; needs job object
- update: patch job; needs jobId + patch
- remove: delete job; needs jobId
- run: run only if due by default; needs jobId; pass runMode="force" to trigger now
- runs: run history; needs jobId
- wake: send wake event; needs text, optional mode; defaults the target to the calling session/agent. Pass top-level sessionKey/agentId to wake a different lane.

JOB SCHEMA (for add action):
{
  "name": "string",
  "schedule": { ... },      // required
  "payload": { ... },       // required
  "delivery": { ... },      // optional announce for isolated/current/session, webhook for any target
  "sessionTarget": "main" | "isolated" | "current" | "session:<id>",
  "enabled": true | false   // default true
}

SESSION TARGET OPTIONS:
- "main": main session; requires payload.kind="systemEvent"
- "isolated": ephemeral isolated session; requires payload.kind="agentTurn"
- "current": bind current session at creation
- "session:<id>": persistent named session

DEFAULTS:
- payload.kind="systemEvent" → defaults to "main"
- payload.kind="agentTurn" → defaults to "isolated"
Current binding needs sessionTarget="current".

SCHEDULE TYPES (schedule.kind):
- "at": one-shot absolute time
  { "kind": "at", "at": "<ISO-8601 timestamp>" }
- "every": recurring interval
  { "kind": "every", "everyMs": <ms>, "anchorMs": <optional-ms> }
- "cron": expr in supplied timezone, or Gateway host local timezone when tz omitted
  { "kind": "cron", "expr": "<cron-expression>", "tz": "<optional-IANA-timezone>" }
  Write expr in local wall-clock time; do not convert the requested local time to UTC first.
  tz omitted => Gateway host local timezone, not UTC.
  Example 6pm Shanghai daily: { "kind": "cron", "expr": "0 18 * * *", "tz": "Asia/Shanghai" }

For "at", ISO timestamps without timezone are UTC.

PAYLOAD TYPES (payload.kind):
- "systemEvent": inject text as system event
  { "kind": "systemEvent", "text": "<message>" }
- "agentTurn": run agent with prompt; isolated/current/session only
  { "kind": "agentTurn", "message": "<prompt>", "model": "<optional>", "thinking": "<optional>", "timeoutSeconds": <optional, 0=no timeout> }

DELIVERY (top-level):
  { "mode": "none|announce|webhook", "channel": "<optional>", "to": "<optional>", "threadId": "<optional>", "bestEffort": <optional-bool> }
  - isolated agentTurn default when omitted: "announce"
  - announce: send to chat channel; isolated/current/session only; optional channel/to
  - threadId: chat thread/topic id
  - webhook: POST finished-run event to delivery.to URL
  - Specific chat/recipient: set announce delivery.channel/to; do not call messaging tools inside run.

CRITICAL CONSTRAINTS:
- sessionTarget="main" REQUIRES payload.kind="systemEvent"
- sessionTarget="isolated" | "current" | "session:xxx" REQUIRES payload.kind="agentTurn"
- Webhook: delivery.mode="webhook" and delivery.to URL.
Default: prefer isolated agentTurn jobs unless the user explicitly wants current-session binding.

RESTRICTED CRON RUNS:
- Some isolated cron runs get narrow self-cleanup grant: status/list self-only, get/runs current job only, mutation only remove current job.

WAKE MODES (for wake action):
- "next-heartbeat" default: wake next heartbeat
- "now": wake immediately

Use jobId canonical; id accepted compat. contextMessages (0-10) adds previous messages as job context.

Run mode for action="run": omitted defaults to "due"; use "force" to trigger now.

List filter for `action: "list"`; wake target override for `action: "wake"` (defaults to the calling agent when omitted on wake)

Wake target override for `action: "wake"`: route the event to the named session rather than the calling agent's current session. Defaults to the resolved calling-session key when omitted.

edit

Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.

Path to the file to edit (relative or absolute)

One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead.

exec

Execute shell commands with background continuation for work that starts now. Use yieldMs/background to continue later via process tool. For long-running work started now, rely on automatic completion wake when it is enabled and the command emits output or fails; otherwise use process to confirm completion. Use process whenever you need logs, status, input, or intervention. Do not use exec sleep or delay loops for reminders or deferred follow-ups; use cron instead. Use pty=true for TTY-required commands (terminal UIs, coding agents).

Shell command to execute

Working directory (defaults to cwd)

Milliseconds to wait before backgrounding (default 10000)

Run in background immediately

Timeout in seconds (optional, kills process on expiry)

Run in a pseudo-terminal (PTY) when available (TTY-required CLIs, coding agents)

Run on the host with elevated permissions (if allowed)

Exec host/target (auto|sandbox|gateway|node).

Ignored for normal calls; exec security is set by tools.exec.security and host approvals.

Baseline ask comes from tools.exec.ask and host approvals; channel-origin calls ignore per-call ask when effective host ask is off.

Node id/name for host=node.

Get the current goal for this thread, including status and token usage.

image

Analyze images with vision model. Use image for one path/URL, images for max 20. Only use this tool when images were NOT already provided; prompt images already visible.

One image path/URL.

Image paths/URLs; maxImages default 20.

Safe exact excerpt read from MEMORY.md or memory/*.md. Defaults to a bounded excerpt when lines are omitted, includes truncation/continuation info when more content exists, and `corpus=wiki` reads from registered compiled-wiki supplements.

Mandatory recall step: semantically search MEMORY.md + memory/*.md (and optional session transcripts) before answering questions about prior work, decisions, dates, people, preferences, or todos. Optional `corpus=wiki` or `corpus=all` also searches registered compiled-wiki supplements. `corpus=memory` restricts hits to indexed memory files (excludes session transcript chunks from ranking). `corpus=sessions` restricts hits to indexed session transcripts (same visibility rules as session history tools). If response has disabled=true, memory retrieval is unavailable and should be surfaced to the user.

process

Manage running exec sessions for commands already started: list, poll, log, write, send-keys, submit, paste, kill. Use poll/log when you need status, logs, quiet-success confirmation, or completion confirmation when automatic completion wake is unavailable. Use poll/log also for input-wait hints. Use write/send-keys/submit/paste/kill for input or intervention. Do not use process polling to emulate timers or reminders; use cron for scheduled follow-ups.

Process action (list|poll|log|write|send-keys|submit|paste|kill|clear|remove)

Session id for actions other than list

Data to write for write

Key tokens to send for send-keys

Hex bytes to send for send-keys

Literal string for send-keys

Text to paste for paste

Wrap paste in bracketed mode

Close stdin after write

Log offset

Log length

For poll: wait up to this many milliseconds before returning; max 30000 ms, higher values are clamped to 30000

read

Read the contents of a file. Supports text files and images (jpg, png, gif, webp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.

Path to the file to read (relative or absolute)

Line number to start reading from (1-indexed)

Maximum number of lines to read

Show /status-like card for current/visible session: model, usage, time, cost, tasks. Use `sessionKey="current"` for current session; UI labels like `openclaw-tui` are not keys. `model` sets session override; `model=default` resets. Use for active model/session config questions.

Fetch sanitized history for visible session. Use before replying, debugging, resuming; supports limits/tool messages.

List visible sessions; filter by kind, label, agentId, search, activity. Use before sessions_history or sessions_send target selection.

Send message to visible session by sessionKey/label, or configured agent by agentId; sessionKey wins when redundant label metadata is present. Thread-scoped chats rejected; target parent channel session. Creates missing configured-agent main session; waits for reply when available.

Spawn clean child session; default `runtime="subagent"`. `mode="run"` one-shot background work. Subagents inherit parent workspace. Native subagents get task in first visible `[Subagent Task]` message. Native only: `context="fork"` only when child needs current transcript; else omit or `isolated`. Use for fresh child-session work. Delegate sidecar/parallel tasks: batch file reads, multi-step searches, data collection. Avoid delegating quick lookups or single-file reads unless policy prefers delegation. After spawning, do non-overlapping work while run-mode results return.

Stable alias for later targeting; lowercase letters/digits/underscores/hyphens, starts letter.

Native context. Omit/"isolated" for clean child; "fork" only when child needs requester transcript.

Light bootstrap context; runtime="subagent" only.

End current turn. Use after spawning subagents; results arrive as next message.

Create, update, revise, list, inspect, apply, reject, or quarantine Skill Workshop proposals when reusable procedures should be captured, improved, or explicitly approved.

create for a new skill proposal, update for an existing skill, revise for a pending proposal, list or inspect proposals for proposal discovery, apply/reject/quarantine for explicit proposal lifecycle actions.

Existing proposal id for action=inspect, action=revise, action=apply, action=reject, or action=quarantine.

Skill/proposal name. Required for action=create; optional resolver for action=inspect or action=revise when proposal_id is unknown.

Optional query for action=list.

Optional proposal status filter for action=list.

Maximum proposals to return for action=list. Defaults to 20.

Skill description for action=create, action=update, or action=revise. Keep it concise; max 160 bytes.

Existing skill name or key for action=update.

Full proposed procedure markdown for action=create, action=update, or action=revise. It will be stored as PROPOSAL.md. Keep under configured skills.workshop.maxSkillBytes; default max is 40000 bytes.

Optional support files to store with the proposal.

Proposal or improvement goal.

Short evidence or notes.

Optional reason for action=apply, action=reject, or action=quarantine.

subagents

List active and recent subagents for the requester session. If sessions_yield exists, use it for completion; do not poll wait loops.

Mark the current goal complete only when achieved, or blocked only after the same blocking condition recurs for at least three consecutive goal turns. Do not use blocked for ordinary difficulty or missing polish.

complete | blocked.

Short status note.

Update current run plan. Use for non-trivial multi-step work; keep plan current while executing. Short steps; max one `in_progress`; skip for simple one-step work.

Short note: what changed.

Ordered steps; max one in_progress.

Fetch URL and extract readable markdown/text. Lightweight page access; no browser automation.

HTTP(S) URL.

Extract as markdown/text.

Max chars returned; truncates.

Search web for current info; returns normalized provider results.

Search query.

Result count.

2-letter country code.

ISO 639-1 language.

Time filter: day/week/month/year.

Published after YYYY-MM-DD.

Published before YYYY-MM-DD.

Brave result language.

Brave UI locale.

Perplexity domain filter.

Perplexity total token budget.

Perplexity tokens per page.

write

Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.

Path to the file to write (relative or absolute)

Content to write to the file


Prompt: [OpenClaw heartbeat poll]

[User] post-update health check: reply OK

[Assistant] OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK


post-update health check: reply OK

OK

[OpenClaw heartbeat poll]

[OpenClaw heartbeat poll]

[OpenClaw heartbeat poll]

[OpenClaw heartbeat poll]

[OpenClaw heartbeat poll]


Active Memory

Runs a bounded blocking memory sub-agent before eligible conversational replies and injects relevant memory into prompt context.

@openclaw/admin-http-rpc

OpenClaw admin HTTP RPC endpoint

Alibaba Model Studio Plugin

Bundled Alibaba Model Studio video provider plugin

Anthropic Provider

Bundled Anthropic provider plugin

Azure Speech

Bundled Azure Speech provider

Bonjour Gateway Discovery

Advertise the local OpenClaw gateway over Bonjour/mDNS.

Browser

Default browser tool plugin

BytePlus Provider

Bundled BytePlus provider plugin

Canvas

Experimental Canvas control and A2UI rendering surfaces for paired nodes.

@openclaw/clickclack

OpenClaw ClickClack channel plugin

Codex Supervisor

Supervise Codex app-server sessions from OpenClaw.

Cohere Provider

Cohere provider plugin

ComfyUI Provider

Bundled ComfyUI workflow media generation provider

Copilot Proxy

Local Copilot Proxy (VS Code LM) provider plugin

Deepgram Media Understanding

Bundled Deepgram audio transcription provider

Device Pair

QR/bootstrap pairing helpers for OpenClaw devices

Document Extraction

Extract text and fallback page images from local document attachments.

@openclaw/duckduckgo-plugin

OpenClaw DuckDuckGo plugin

ElevenLabs Speech

Bundled ElevenLabs speech provider

fal Provider

Bundled fal image, video, and music generation provider

File Transfer

Fetch, list, and write files on paired nodes via dedicated node commands.

Fireworks Provider

Bundled Fireworks AI provider plugin

GitHub Copilot Provider

Bundled GitHub Copilot provider plugin

Google Plugin

Bundled Google plugin

Hugging Face Provider

Bundled Hugging Face provider plugin

@openclaw/imessage

OpenClaw iMessage channel plugin using imsg on a signed-in Mac

@openclaw/irc

OpenClaw IRC channel plugin

LiteLLM Provider

Bundled LiteLLM provider plugin

LLM Task

Generic JSON-only LLM tool for structured tasks callable from workflows.

LM Studio Provider

Bundled LM Studio provider plugin

@openclaw/mattermost

OpenClaw Mattermost channel plugin

Memory (Core)

File-backed memory search tools and CLI

Memory Wiki

Persistent wiki compiler and Obsidian-friendly knowledge vault for OpenClaw.

Microsoft Speech

Bundled Microsoft speech provider

Microsoft Foundry Provider

Microsoft Foundry provider with Entra ID and API key auth

Claude Migration

Imports Claude Code and Claude Desktop instructions, MCP servers, skills, and safe configuration into OpenClaw.

Hermes Migration

Imports Hermes configuration, memories, skills, and supported credentials into OpenClaw.

MiniMax

Bundled MiniMax API-key and OAuth provider plugin

Mistral Provider

Bundled Mistral provider plugin

Moonshot Provider

Bundled Moonshot provider plugin

NovitaAI Provider

Bundled NovitaAI provider plugin

NVIDIA Provider

Bundled NVIDIA provider plugin

OC Path

Adds the openclaw path CLI for oc:// workspace file addressing.

Ollama Provider

Bundled Ollama provider plugin

OpenProse

OpenProse VM skill pack with a /prose slash command.

OpenAI Provider

Bundled OpenAI provider plugins

OpenCode Zen Provider

Bundled OpenCode Zen provider plugin

OpenCode Go Provider

Bundled OpenCode Go provider plugin

OpenRouter Provider

Bundled OpenRouter provider plugin

Phone Control

Temporary allowlist control for phone automation commands

Policy

Adds policy-backed doctor checks for workspace conformance.

Runway Provider

Bundled Runway video provider plugin

@openclaw/searxng-plugin

OpenClaw SearXNG plugin

SenseAudio

Bundled SenseAudio audio transcription provider

SGLang Provider

Bundled SGLang provider plugin

Signal

Signal channel plugin

SMS

Twilio SMS channel plugin for OpenClaw text messages.

Synthetic Provider

Bundled Synthetic provider plugin

Talk Voice

Command helpers for managing Talk voice configuration

@openclaw/tavily-plugin

OpenClaw Tavily plugin

@openclaw/telegram

OpenClaw Telegram channel plugin

Tencent Cloud Provider

Bundled Tencent Cloud provider plugin (TokenHub)

Thread Ownership

Prevents multiple agents from responding in the same Slack thread. Uses HTTP calls to the slack-forwarder ownership API.

Together Provider

Bundled Together provider plugin

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

autonomous-brain

Advanced autonomous AI brain with proactive monitoring, intelligent decision-making, context awareness, and seamless task execution. Enables OpenClaw to think independently, anticipate needs, and act without constant user direction.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

clawhub

Search, install, update, sync, or publish agent skills with the ClawHub CLI and registry.

diagram-maker

Create SVG/HTML or Excalidraw diagrams for concepts, architecture, flows, and whiteboards.

gh-issues

Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments.

github

GitHub CLI for issues, PRs, CI/check logs, comments, reviews, releases, repos, and gh api queries.

gog

Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.

healthcheck

Audit/harden OpenClaw hosts: SSH, firewall, updates, exposure, backups, disk encryption, gateway security.

imsg

iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.

mcporter

List, configure, authenticate, call, and inspect MCP servers/tools with mcporter over HTTP or stdio.

meme-maker

Search meme templates, suggest formats, and generate local or hosted image memes.

model-usage

Summarize CodexBar local cost logs by model for Codex or Claude, including current or full breakdowns.

Designs and outputs n8n workflow JSON with robust triggers, idempotency, error handling, logging, retries, and human-in-the-loop review queues. Use when you need an auditable automation that won’t silently fail.

nano-pdf

Edit PDFs with natural-language instructions using the nano-pdf CLI.

node-connect

Diagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.

node-inspect-debugger

Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.

notion

Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.

openai-whisper

Local speech-to-text with the Whisper CLI (no API key).

peekaboo

Capture and automate macOS UI with the Peekaboo CLI.

proactive-agent

Transform AI agents from task-followers into proactive partners that anticipate needs and continuously improve. Now with WAL Protocol, Working Buffer, Autonomous Crons, and battle-tested patterns. Part of the Hal Stack 🦞

python-debugpy

Debug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.

session-logs

Search and analyze your own session logs (older/parent conversations) using jq.

skill-creator

Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.

spike

Run throwaway prototypes to validate feasibility, compare approaches, and report a verdict.

summarize

Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.

taskflow

Coordinate multi-step detached tasks as one durable TaskFlow job with owner context, state, waits, and child tasks.

taskflow-inbox-triage

Example TaskFlow pattern for inbox triage, intent routing, waiting on replies, and later summaries.

tmux

Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.

video-frames

Extract frames or short clips from videos using ffmpeg.

weather

Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.


Prompt: [OpenClaw heartbeat poll]

[User] post-update health check: reply OK

[Assistant] OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

Apply a patch to one or more files using the apply_patch format. The input should include *** Begin Patch and *** End Patch markers.

Patch content using the *** Begin Patch/End Patch format.

Create a goal only when explicitly requested by the user or system instructions. Fails if a goal already exists; use user-facing goal controls to clear it.

Concrete objective to pursue. Create only when explicitly requested.

Optional positive token budget for this goal.

cron

Manage Gateway cron jobs and wake events: reminders, check-back-later, delayed follow-ups, recurring work. Do not emulate scheduling with exec sleep/process polling.

Main cron => system events for heartbeat. Isolated cron => background task in `openclaw tasks`.

ACTIONS:
- status: scheduler status
- list: compact job summaries; includeDisabled true includes disabled; use get for full job details; agentId filter auto-filled from session
- get: one job; needs jobId
- add: create job; needs job object
- update: patch job; needs jobId + patch
- remove: delete job; needs jobId
- run: run only if due by default; needs jobId; pass runMode="force" to trigger now
- runs: run history; needs jobId
- wake: send wake event; needs text, optional mode; defaults the target to the calling session/agent. Pass top-level sessionKey/agentId to wake a different lane.

JOB SCHEMA (for add action):
{
  "name": "string",
  "schedule": { ... },      // required
  "payload": { ... },       // required
  "delivery": { ... },      // optional announce for isolated/current/session, webhook for any target
  "sessionTarget": "main" | "isolated" | "current" | "session:<id>",
  "enabled": true | false   // default true
}

SESSION TARGET OPTIONS:
- "main": main session; requires payload.kind="systemEvent"
- "isolated": ephemeral isolated session; requires payload.kind="agentTurn"
- "current": bind current session at creation
- "session:<id>": persistent named session

DEFAULTS:
- payload.kind="systemEvent" → defaults to "main"
- payload.kind="agentTurn" → defaults to "isolated"
Current binding needs sessionTarget="current".

SCHEDULE TYPES (schedule.kind):
- "at": one-shot absolute time
  { "kind": "at", "at": "<ISO-8601 timestamp>" }
- "every": recurring interval
  { "kind": "every", "everyMs": <ms>, "anchorMs": <optional-ms> }
- "cron": expr in supplied timezone, or Gateway host local timezone when tz omitted
  { "kind": "cron", "expr": "<cron-expression>", "tz": "<optional-IANA-timezone>" }
  Write expr in local wall-clock time; do not convert the requested local time to UTC first.
  tz omitted => Gateway host local timezone, not UTC.
  Example 6pm Shanghai daily: { "kind": "cron", "expr": "0 18 * * *", "tz": "Asia/Shanghai" }

For "at", ISO timestamps without timezone are UTC.

PAYLOAD TYPES (payload.kind):
- "systemEvent": inject text as system event
  { "kind": "systemEvent", "text": "<message>" }
- "agentTurn": run agent with prompt; isolated/current/session only
  { "kind": "agentTurn", "message": "<prompt>", "model": "<optional>", "thinking": "<optional>", "timeoutSeconds": <optional, 0=no timeout> }

DELIVERY (top-level):
  { "mode": "none|announce|webhook", "channel": "<optional>", "to": "<optional>", "threadId": "<optional>", "bestEffort": <optional-bool> }
  - isolated agentTurn default when omitted: "announce"
  - announce: send to chat channel; isolated/current/session only; optional channel/to
  - threadId: chat thread/topic id
  - webhook: POST finished-run event to delivery.to URL
  - Specific chat/recipient: set announce delivery.channel/to; do not call messaging tools inside run.

CRITICAL CONSTRAINTS:
- sessionTarget="main" REQUIRES payload.kind="systemEvent"
- sessionTarget="isolated" | "current" | "session:xxx" REQUIRES payload.kind="agentTurn"
- Webhook: delivery.mode="webhook" and delivery.to URL.
Default: prefer isolated agentTurn jobs unless the user explicitly wants current-session binding.

RESTRICTED CRON RUNS:
- Some isolated cron runs get narrow self-cleanup grant: status/list self-only, get/runs current job only, mutation only remove current job.

WAKE MODES (for wake action):
- "next-heartbeat" default: wake next heartbeat
- "now": wake immediately

Use jobId canonical; id accepted compat. contextMessages (0-10) adds previous messages as job context.

Run mode for action="run": omitted defaults to "due"; use "force" to trigger now.

List filter for `action: "list"`; wake target override for `action: "wake"` (defaults to the calling agent when omitted on wake)

Wake target override for `action: "wake"`: route the event to the named session rather than the calling agent's current session. Defaults to the resolved calling-session key when omitted.

edit

Edit a single file using exact text replacement. Every edits[].oldText must match a unique, non-overlapping region of the original file. If two changes affect the same block or nearby lines, merge them into one edit instead of emitting overlapping edits. Do not include large unchanged regions just to connect distant changes.

Path to the file to edit (relative or absolute)

One or more targeted replacements. Each edit is matched against the original file, not incrementally. Do not include overlapping or nested edits. If two changes touch the same block or nearby lines, merge them into one edit instead.

exec

Execute shell commands with background continuation for work that starts now. Use yieldMs/background to continue later via process tool. For long-running work started now, rely on automatic completion wake when it is enabled and the command emits output or fails; otherwise use process to confirm completion. Use process whenever you need logs, status, input, or intervention. Do not use exec sleep or delay loops for reminders or deferred follow-ups; use cron instead. Use pty=true for TTY-required commands (terminal UIs, coding agents).

Shell command to execute

Working directory (defaults to cwd)

Milliseconds to wait before backgrounding (default 10000)

Run in background immediately

Timeout in seconds (optional, kills process on expiry)

Run in a pseudo-terminal (PTY) when available (TTY-required CLIs, coding agents)

Run on the host with elevated permissions (if allowed)

Exec host/target (auto|sandbox|gateway|node).

Ignored for normal calls; exec security is set by tools.exec.security and host approvals.

Baseline ask comes from tools.exec.ask and host approvals; channel-origin calls ignore per-call ask when effective host ask is off.

Node id/name for host=node.

Get the current goal for this thread, including status and token usage.

image

Analyze images with vision model. Use image for one path/URL, images for max 20. Only use this tool when images were NOT already provided; prompt images already visible.

One image path/URL.

Image paths/URLs; maxImages default 20.

Safe exact excerpt read from MEMORY.md or memory/*.md. Defaults to a bounded excerpt when lines are omitted, includes truncation/continuation info when more content exists, and `corpus=wiki` reads from registered compiled-wiki supplements.

Mandatory recall step: semantically search MEMORY.md + memory/*.md (and optional session transcripts) before answering questions about prior work, decisions, dates, people, preferences, or todos. Optional `corpus=wiki` or `corpus=all` also searches registered compiled-wiki supplements. `corpus=memory` restricts hits to indexed memory files (excludes session transcript chunks from ranking). `corpus=sessions` restricts hits to indexed session transcripts (same visibility rules as session history tools). If response has disabled=true, memory retrieval is unavailable and should be surfaced to the user.

process

Manage running exec sessions for commands already started: list, poll, log, write, send-keys, submit, paste, kill. Use poll/log when you need status, logs, quiet-success confirmation, or completion confirmation when automatic completion wake is unavailable. Use poll/log also for input-wait hints. Use write/send-keys/submit/paste/kill for input or intervention. Do not use process polling to emulate timers or reminders; use cron for scheduled follow-ups.

Process action (list|poll|log|write|send-keys|submit|paste|kill|clear|remove)

Session id for actions other than list

Data to write for write

Key tokens to send for send-keys

Hex bytes to send for send-keys

Literal string for send-keys

Text to paste for paste

Wrap paste in bracketed mode

Close stdin after write

Log offset

Log length

For poll: wait up to this many milliseconds before returning; max 30000 ms, higher values are clamped to 30000

read

Read the contents of a file. Supports text files and images (jpg, png, gif, webp). Images are sent as attachments. For text files, output is truncated to 2000 lines or 50KB (whichever is hit first). Use offset/limit for large files. When you need the full file, continue with offset until complete.

Path to the file to read (relative or absolute)

Line number to start reading from (1-indexed)

Maximum number of lines to read

Show /status-like card for current/visible session: model, usage, time, cost, tasks. Use `sessionKey="current"` for current session; UI labels like `openclaw-tui` are not keys. `model` sets session override; `model=default` resets. Use for active model/session config questions.

Fetch sanitized history for visible session. Use before replying, debugging, resuming; supports limits/tool messages.

List visible sessions; filter by kind, label, agentId, search, activity. Use before sessions_history or sessions_send target selection.

Send message to visible session by sessionKey/label, or configured agent by agentId; sessionKey wins when redundant label metadata is present. Thread-scoped chats rejected; target parent channel session. Creates missing configured-agent main session; waits for reply when available.

Spawn clean child session; default `runtime="subagent"`. `mode="run"` one-shot background work. Subagents inherit parent workspace. Native subagents get task in first visible `[Subagent Task]` message. Native only: `context="fork"` only when child needs current transcript; else omit or `isolated`. Use for fresh child-session work. Delegate sidecar/parallel tasks: batch file reads, multi-step searches, data collection. Avoid delegating quick lookups or single-file reads unless policy prefers delegation. After spawning, do non-overlapping work while run-mode results return.

Stable alias for later targeting; lowercase letters/digits/underscores/hyphens, starts letter.

Native context. Omit/"isolated" for clean child; "fork" only when child needs requester transcript.

Light bootstrap context; runtime="subagent" only.

End current turn. Use after spawning subagents; results arrive as next message.

Create, update, revise, list, inspect, apply, reject, or quarantine Skill Workshop proposals when reusable procedures should be captured, improved, or explicitly approved.

create for a new skill proposal, update for an existing skill, revise for a pending proposal, list or inspect proposals for proposal discovery, apply/reject/quarantine for explicit proposal lifecycle actions.

Existing proposal id for action=inspect, action=revise, action=apply, action=reject, or action=quarantine.

Skill/proposal name. Required for action=create; optional resolver for action=inspect or action=revise when proposal_id is unknown.

Optional query for action=list.

Optional proposal status filter for action=list.

Maximum proposals to return for action=list. Defaults to 20.

Skill description for action=create, action=update, or action=revise. Keep it concise; max 160 bytes.

Existing skill name or key for action=update.

Full proposed procedure markdown for action=create, action=update, or action=revise. It will be stored as PROPOSAL.md. Keep under configured skills.workshop.maxSkillBytes; default max is 40000 bytes.

Optional support files to store with the proposal.

Proposal or improvement goal.

Short evidence or notes.

Optional reason for action=apply, action=reject, or action=quarantine.

subagents

List active and recent subagents for the requester session. If sessions_yield exists, use it for completion; do not poll wait loops.

Mark the current goal complete only when achieved, or blocked only after the same blocking condition recurs for at least three consecutive goal turns. Do not use blocked for ordinary difficulty or missing polish.

complete | blocked.

Short status note.

Update current run plan. Use for non-trivial multi-step work; keep plan current while executing. Short steps; max one `in_progress`; skip for simple one-step work.

Short note: what changed.

Ordered steps; max one in_progress.

Fetch URL and extract readable markdown/text. Lightweight page access; no browser automation.

HTTP(S) URL.

Extract as markdown/text.

Max chars returned; truncates.

Search web for current info; returns normalized provider results.

Search query.

Result count.

2-letter country code.

ISO 639-1 language.

Time filter: day/week/month/year.

Published after YYYY-MM-DD.

Published before YYYY-MM-DD.

Brave result language.

Brave UI locale.

Perplexity domain filter.

Perplexity total token budget.

Perplexity tokens per page.

write

Write content to a file. Creates the file if it doesn't exist, overwrites if it does. Automatically creates parent directories.

Path to the file to write (relative or absolute)

Content to write to the file


Prompt: [OpenClaw heartbeat poll]

[User] post-update health check: reply OK

[Assistant] OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK

[User] [OpenClaw heartbeat poll]

[Assistant] HEARTBEAT_OK


post-update health check: reply OK

OK

[OpenClaw heartbeat poll]

[OpenClaw heartbeat poll]

[OpenClaw heartbeat poll]

[OpenClaw heartbeat poll]

[OpenClaw heartbeat poll]

[OpenClaw heartbeat poll]