vilvona 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12331 -0
- package/LICENSE +24 -0
- package/README.md +314 -0
- package/THIRD_PARTY_NOTICES.md +37 -0
- package/docs/.i18n/README.md +81 -0
- package/docs/.i18n/ar-navigation.json +18 -0
- package/docs/.i18n/de-navigation.json +18 -0
- package/docs/.i18n/es-navigation.json +18 -0
- package/docs/.i18n/fr-navigation.json +18 -0
- package/docs/.i18n/glossary.ar.json +82 -0
- package/docs/.i18n/glossary.de.json +82 -0
- package/docs/.i18n/glossary.es.json +82 -0
- package/docs/.i18n/glossary.fa.json +82 -0
- package/docs/.i18n/glossary.fr.json +82 -0
- package/docs/.i18n/glossary.id.json +82 -0
- package/docs/.i18n/glossary.it.json +82 -0
- package/docs/.i18n/glossary.ja-JP.json +102 -0
- package/docs/.i18n/glossary.ko.json +82 -0
- package/docs/.i18n/glossary.nl.json +82 -0
- package/docs/.i18n/glossary.pl.json +82 -0
- package/docs/.i18n/glossary.pt-BR.json +82 -0
- package/docs/.i18n/glossary.th.json +82 -0
- package/docs/.i18n/glossary.tr.json +82 -0
- package/docs/.i18n/glossary.uk.json +82 -0
- package/docs/.i18n/glossary.vi.json +82 -0
- package/docs/.i18n/glossary.zh-CN.json +1182 -0
- package/docs/.i18n/glossary.zh-TW.json +162 -0
- package/docs/.i18n/id-navigation.json +18 -0
- package/docs/.i18n/it-navigation.json +18 -0
- package/docs/.i18n/ja-navigation.json +18 -0
- package/docs/.i18n/ko-navigation.json +18 -0
- package/docs/.i18n/pl-navigation.json +18 -0
- package/docs/.i18n/pt-BR-navigation.json +18 -0
- package/docs/.i18n/tr-navigation.json +18 -0
- package/docs/.i18n/translation-workflow.md +111 -0
- package/docs/.i18n/zh-Hans-navigation.json +552 -0
- package/docs/AGENTS.md +36 -0
- package/docs/agent-runtime-architecture.md +48 -0
- package/docs/announcements/bluebubbles-imessage.md +79 -0
- package/docs/auth-credential-semantics.md +124 -0
- package/docs/automation/auth-monitoring.md +11 -0
- package/docs/automation/clawflow.md +12 -0
- package/docs/automation/cron-jobs.md +569 -0
- package/docs/automation/cron-vs-heartbeat.md +11 -0
- package/docs/automation/gmail-pubsub.md +11 -0
- package/docs/automation/hooks.md +387 -0
- package/docs/automation/index.md +135 -0
- package/docs/automation/poll.md +12 -0
- package/docs/automation/standing-orders.md +250 -0
- package/docs/automation/taskflow.md +155 -0
- package/docs/automation/tasks.md +374 -0
- package/docs/automation/troubleshooting.md +12 -0
- package/docs/automation/webhook.md +12 -0
- package/docs/brave-search.md +11 -0
- package/docs/channels/access-groups.md +201 -0
- package/docs/channels/ambient-room-events.md +214 -0
- package/docs/channels/bot-loop-protection.md +131 -0
- package/docs/channels/broadcast-groups.md +472 -0
- package/docs/channels/channel-routing.md +162 -0
- package/docs/channels/clickclack.md +146 -0
- package/docs/channels/discord.md +1758 -0
- package/docs/channels/feishu.md +654 -0
- package/docs/channels/googlechat.md +286 -0
- package/docs/channels/group-messages.md +95 -0
- package/docs/channels/groups.md +610 -0
- package/docs/channels/imessage-from-bluebubbles.md +259 -0
- package/docs/channels/imessage.md +864 -0
- package/docs/channels/index.md +65 -0
- package/docs/channels/irc.md +253 -0
- package/docs/channels/line.md +243 -0
- package/docs/channels/location.md +71 -0
- package/docs/channels/matrix-migration.md +375 -0
- package/docs/channels/matrix-presentation.md +77 -0
- package/docs/channels/matrix-push-rules.md +150 -0
- package/docs/channels/matrix.md +935 -0
- package/docs/channels/mattermost.md +542 -0
- package/docs/channels/msteams.md +1097 -0
- package/docs/channels/nextcloud-talk.md +176 -0
- package/docs/channels/nostr.md +253 -0
- package/docs/channels/pairing.md +214 -0
- package/docs/channels/qqbot.md +317 -0
- package/docs/channels/signal.md +417 -0
- package/docs/channels/slack.md +1623 -0
- package/docs/channels/sms.md +380 -0
- package/docs/channels/synology-chat.md +187 -0
- package/docs/channels/telegram.md +1121 -0
- package/docs/channels/tlon.md +296 -0
- package/docs/channels/troubleshooting.md +162 -0
- package/docs/channels/twitch.md +431 -0
- package/docs/channels/wechat.md +171 -0
- package/docs/channels/whatsapp.md +796 -0
- package/docs/channels/yuanbao.md +416 -0
- package/docs/channels/zalo.md +253 -0
- package/docs/channels/zalouser.md +217 -0
- package/docs/ci.md +665 -0
- package/docs/clawhub/cli.md +82 -0
- package/docs/clawhub/publishing.md +96 -0
- package/docs/cli/acp.md +370 -0
- package/docs/cli/agent.md +109 -0
- package/docs/cli/agents.md +253 -0
- package/docs/cli/approvals.md +193 -0
- package/docs/cli/backup.md +98 -0
- package/docs/cli/browser.md +322 -0
- package/docs/cli/channels.md +154 -0
- package/docs/cli/clawbot.md +25 -0
- package/docs/cli/commitments.md +90 -0
- package/docs/cli/completion.md +39 -0
- package/docs/cli/config.md +504 -0
- package/docs/cli/configure.md +77 -0
- package/docs/cli/crestodian.md +337 -0
- package/docs/cli/cron.md +344 -0
- package/docs/cli/daemon.md +67 -0
- package/docs/cli/dashboard.md +33 -0
- package/docs/cli/devices.md +240 -0
- package/docs/cli/directory.md +68 -0
- package/docs/cli/dns.md +53 -0
- package/docs/cli/docs.md +63 -0
- package/docs/cli/doctor.md +254 -0
- package/docs/cli/flows.md +52 -0
- package/docs/cli/gateway.md +572 -0
- package/docs/cli/health.md +43 -0
- package/docs/cli/hooks.md +345 -0
- package/docs/cli/index.md +406 -0
- package/docs/cli/infer.md +364 -0
- package/docs/cli/logs.md +68 -0
- package/docs/cli/mcp.md +851 -0
- package/docs/cli/memory.md +183 -0
- package/docs/cli/message.md +317 -0
- package/docs/cli/migrate.md +334 -0
- package/docs/cli/models.md +239 -0
- package/docs/cli/node.md +178 -0
- package/docs/cli/nodes.md +76 -0
- package/docs/cli/onboard.md +251 -0
- package/docs/cli/pairing.md +77 -0
- package/docs/cli/path.md +511 -0
- package/docs/cli/plugins.md +480 -0
- package/docs/cli/policy.md +929 -0
- package/docs/cli/proxy.md +89 -0
- package/docs/cli/qr.md +56 -0
- package/docs/cli/reset.md +39 -0
- package/docs/cli/sandbox.md +208 -0
- package/docs/cli/secrets.md +202 -0
- package/docs/cli/security.md +135 -0
- package/docs/cli/sessions.md +178 -0
- package/docs/cli/setup.md +60 -0
- package/docs/cli/skills.md +156 -0
- package/docs/cli/status.md +45 -0
- package/docs/cli/system.md +89 -0
- package/docs/cli/tasks.md +111 -0
- package/docs/cli/transcripts.md +151 -0
- package/docs/cli/tui.md +92 -0
- package/docs/cli/uninstall.md +45 -0
- package/docs/cli/update.md +283 -0
- package/docs/cli/voicecall.md +204 -0
- package/docs/cli/webhooks.md +117 -0
- package/docs/cli/wiki.md +256 -0
- package/docs/cli/workboard.md +228 -0
- package/docs/concepts/active-memory.md +856 -0
- package/docs/concepts/agent-loop.md +185 -0
- package/docs/concepts/agent-runtimes.md +276 -0
- package/docs/concepts/agent-workspace.md +230 -0
- package/docs/concepts/agent.md +142 -0
- package/docs/concepts/architecture.md +154 -0
- package/docs/concepts/channel-docking.md +145 -0
- package/docs/concepts/commitments.md +150 -0
- package/docs/concepts/compaction.md +203 -0
- package/docs/concepts/context-engine.md +347 -0
- package/docs/concepts/context.md +199 -0
- package/docs/concepts/delegate-architecture.md +319 -0
- package/docs/concepts/dreaming.md +279 -0
- package/docs/concepts/experimental-features.md +111 -0
- package/docs/concepts/features.md +91 -0
- package/docs/concepts/mantis-slack-desktop-runbook.md +231 -0
- package/docs/concepts/mantis.md +744 -0
- package/docs/concepts/markdown-formatting.md +139 -0
- package/docs/concepts/memory-builtin.md +151 -0
- package/docs/concepts/memory-honcho.md +144 -0
- package/docs/concepts/memory-qmd.md +277 -0
- package/docs/concepts/memory-search.md +175 -0
- package/docs/concepts/memory.md +299 -0
- package/docs/concepts/message-lifecycle-refactor.md +1126 -0
- package/docs/concepts/messages.md +216 -0
- package/docs/concepts/model-failover.md +405 -0
- package/docs/concepts/model-providers.md +719 -0
- package/docs/concepts/models.md +371 -0
- package/docs/concepts/multi-agent.md +625 -0
- package/docs/concepts/oauth.md +218 -0
- package/docs/concepts/parallel-specialist-lanes.md +127 -0
- package/docs/concepts/personal-agent-benchmark-pack.md +74 -0
- package/docs/concepts/presence.md +117 -0
- package/docs/concepts/progress-drafts.md +406 -0
- package/docs/concepts/qa-e2e-automation.md +979 -0
- package/docs/concepts/qa-matrix.md +139 -0
- package/docs/concepts/queue-steering.md +90 -0
- package/docs/concepts/queue.md +136 -0
- package/docs/concepts/retry.md +86 -0
- package/docs/concepts/session-pruning.md +104 -0
- package/docs/concepts/session-tool.md +201 -0
- package/docs/concepts/session.md +164 -0
- package/docs/concepts/soul.md +116 -0
- package/docs/concepts/streaming.md +258 -0
- package/docs/concepts/system-prompt.md +330 -0
- package/docs/concepts/timezone.md +47 -0
- package/docs/concepts/typebox.md +309 -0
- package/docs/concepts/typing-indicators.md +88 -0
- package/docs/concepts/usage-tracking.md +72 -0
- package/docs/date-time.md +126 -0
- package/docs/debug/node-issue.md +90 -0
- package/docs/diagnostics/flags.md +182 -0
- package/docs/docs.json +1885 -0
- package/docs/gateway/authentication.md +286 -0
- package/docs/gateway/background-process.md +147 -0
- package/docs/gateway/bonjour.md +303 -0
- package/docs/gateway/bridge-protocol.md +97 -0
- package/docs/gateway/cli-backends.md +463 -0
- package/docs/gateway/config-agents.md +1525 -0
- package/docs/gateway/config-channels.md +942 -0
- package/docs/gateway/config-tools.md +806 -0
- package/docs/gateway/configuration-examples.md +706 -0
- package/docs/gateway/configuration-reference.md +1449 -0
- package/docs/gateway/configuration.md +748 -0
- package/docs/gateway/diagnostics.md +213 -0
- package/docs/gateway/discovery.md +154 -0
- package/docs/gateway/doctor.md +576 -0
- package/docs/gateway/external-apps.md +86 -0
- package/docs/gateway/gateway-lock.md +37 -0
- package/docs/gateway/health.md +73 -0
- package/docs/gateway/heartbeat.md +498 -0
- package/docs/gateway/index.md +385 -0
- package/docs/gateway/local-model-services.md +205 -0
- package/docs/gateway/local-models.md +355 -0
- package/docs/gateway/logging.md +149 -0
- package/docs/gateway/multiple-gateways.md +178 -0
- package/docs/gateway/network-model.md +15 -0
- package/docs/gateway/openai-http-api.md +379 -0
- package/docs/gateway/openresponses-http-api.md +349 -0
- package/docs/gateway/openshell.md +316 -0
- package/docs/gateway/opentelemetry.md +440 -0
- package/docs/gateway/operator-scopes.md +119 -0
- package/docs/gateway/pairing.md +207 -0
- package/docs/gateway/prometheus.md +249 -0
- package/docs/gateway/protocol.md +839 -0
- package/docs/gateway/remote-gateway-readme.md +169 -0
- package/docs/gateway/remote.md +280 -0
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +148 -0
- package/docs/gateway/sandboxing.md +546 -0
- package/docs/gateway/secrets-plan-contract.md +159 -0
- package/docs/gateway/secrets.md +805 -0
- package/docs/gateway/security/audit-checks.md +127 -0
- package/docs/gateway/security/exposure-runbook.md +212 -0
- package/docs/gateway/security/index.md +1344 -0
- package/docs/gateway/security/secure-file-operations.md +76 -0
- package/docs/gateway/security/shrinkwrap.md +111 -0
- package/docs/gateway/tailscale.md +180 -0
- package/docs/gateway/tools-invoke-http-api.md +175 -0
- package/docs/gateway/troubleshooting.md +881 -0
- package/docs/gateway/trusted-proxy-auth.md +483 -0
- package/docs/help/debugging.md +341 -0
- package/docs/help/environment.md +240 -0
- package/docs/help/faq-first-run.md +872 -0
- package/docs/help/faq-models.md +557 -0
- package/docs/help/faq.md +2115 -0
- package/docs/help/index.md +39 -0
- package/docs/help/scripts.md +56 -0
- package/docs/help/testing-live.md +592 -0
- package/docs/help/testing-updates-plugins.md +299 -0
- package/docs/help/testing.md +977 -0
- package/docs/help/troubleshooting.md +500 -0
- package/docs/index.md +196 -0
- package/docs/install/ansible.md +233 -0
- package/docs/install/azure.md +315 -0
- package/docs/install/bun.md +59 -0
- package/docs/install/clawdock.md +112 -0
- package/docs/install/development-channels.md +148 -0
- package/docs/install/digitalocean.md +174 -0
- package/docs/install/docker-vm-runtime.md +154 -0
- package/docs/install/docker.md +564 -0
- package/docs/install/exe-dev.md +201 -0
- package/docs/install/fly.md +524 -0
- package/docs/install/gcp.md +418 -0
- package/docs/install/hetzner.md +285 -0
- package/docs/install/hostinger.md +98 -0
- package/docs/install/index.md +236 -0
- package/docs/install/installer.md +447 -0
- package/docs/install/kubernetes.md +196 -0
- package/docs/install/macos-vm.md +281 -0
- package/docs/install/migrating-claude.md +165 -0
- package/docs/install/migrating-hermes.md +178 -0
- package/docs/install/migrating.md +137 -0
- package/docs/install/nix.md +112 -0
- package/docs/install/node.md +142 -0
- package/docs/install/northflank.mdx +44 -0
- package/docs/install/oracle.md +218 -0
- package/docs/install/podman.md +216 -0
- package/docs/install/railway.mdx +92 -0
- package/docs/install/raspberry-pi.md +234 -0
- package/docs/install/render.mdx +167 -0
- package/docs/install/uninstall.md +140 -0
- package/docs/install/updating.md +284 -0
- package/docs/install/upstash.md +96 -0
- package/docs/logging.md +322 -0
- package/docs/maturity-scores.yaml +5361 -0
- package/docs/nav-tabs-underline.js +104 -0
- package/docs/network.md +72 -0
- package/docs/nodes/audio.md +216 -0
- package/docs/nodes/camera.md +166 -0
- package/docs/nodes/images.md +77 -0
- package/docs/nodes/index.md +444 -0
- package/docs/nodes/location-command.md +102 -0
- package/docs/nodes/media-understanding.md +495 -0
- package/docs/nodes/talk.md +160 -0
- package/docs/nodes/troubleshooting.md +123 -0
- package/docs/nodes/voicewake.md +93 -0
- package/docs/openclaw-agent-runtime.md +82 -0
- package/docs/perplexity.md +11 -0
- package/docs/plan/codex-context-engine-harness.md +624 -0
- package/docs/plan/ui-channels.md +284 -0
- package/docs/platforms/android.md +286 -0
- package/docs/platforms/digitalocean.md +12 -0
- package/docs/platforms/easyrunner.md +109 -0
- package/docs/platforms/index.md +65 -0
- package/docs/platforms/ios.md +287 -0
- package/docs/platforms/linux.md +141 -0
- package/docs/platforms/mac/bundled-gateway.md +79 -0
- package/docs/platforms/mac/canvas.md +128 -0
- package/docs/platforms/mac/child-process.md +72 -0
- package/docs/platforms/mac/dev-setup.md +112 -0
- package/docs/platforms/mac/health.md +39 -0
- package/docs/platforms/mac/icon.md +36 -0
- package/docs/platforms/mac/logging.md +62 -0
- package/docs/platforms/mac/menu-bar.md +93 -0
- package/docs/platforms/mac/peekaboo.md +96 -0
- package/docs/platforms/mac/permissions.md +73 -0
- package/docs/platforms/mac/remote.md +123 -0
- package/docs/platforms/mac/signing.md +52 -0
- package/docs/platforms/mac/skills.md +45 -0
- package/docs/platforms/mac/voice-overlay.md +66 -0
- package/docs/platforms/mac/voicewake.md +79 -0
- package/docs/platforms/mac/webchat.md +54 -0
- package/docs/platforms/mac/xpc.md +66 -0
- package/docs/platforms/macos.md +228 -0
- package/docs/platforms/oracle.md +12 -0
- package/docs/platforms/raspberry-pi.md +13 -0
- package/docs/platforms/windows.md +304 -0
- package/docs/plugins/adding-capabilities.md +146 -0
- package/docs/plugins/admin-http-rpc.md +216 -0
- package/docs/plugins/agent-tools.md +13 -0
- package/docs/plugins/architecture-internals.md +1203 -0
- package/docs/plugins/architecture.md +483 -0
- package/docs/plugins/building-extensions.md +13 -0
- package/docs/plugins/building-plugins.md +343 -0
- package/docs/plugins/bundles.md +310 -0
- package/docs/plugins/cli-backend-plugins.md +328 -0
- package/docs/plugins/codex-computer-use.md +297 -0
- package/docs/plugins/codex-harness-reference.md +480 -0
- package/docs/plugins/codex-harness-runtime.md +268 -0
- package/docs/plugins/codex-harness.md +800 -0
- package/docs/plugins/codex-native-plugins.md +280 -0
- package/docs/plugins/community.md +77 -0
- package/docs/plugins/compatibility.md +198 -0
- package/docs/plugins/copilot.md +355 -0
- package/docs/plugins/dependency-resolution.md +176 -0
- package/docs/plugins/google-meet.md +1737 -0
- package/docs/plugins/hooks.md +525 -0
- package/docs/plugins/install-overrides.md +80 -0
- package/docs/plugins/llama-cpp.md +58 -0
- package/docs/plugins/manage-plugins.md +214 -0
- package/docs/plugins/manifest.md +1468 -0
- package/docs/plugins/memory-lancedb.md +385 -0
- package/docs/plugins/memory-wiki.md +529 -0
- package/docs/plugins/message-presentation.md +487 -0
- package/docs/plugins/oc-path.md +166 -0
- package/docs/plugins/plugin-inventory.md +318 -0
- package/docs/plugins/plugin-permission-requests.md +193 -0
- package/docs/plugins/reference/acpx.md +23 -0
- package/docs/plugins/reference/admin-http-rpc.md +23 -0
- package/docs/plugins/reference/alibaba.md +23 -0
- package/docs/plugins/reference/amazon-bedrock-mantle.md +23 -0
- package/docs/plugins/reference/amazon-bedrock.md +23 -0
- package/docs/plugins/reference/anthropic-vertex.md +29 -0
- package/docs/plugins/reference/anthropic.md +23 -0
- package/docs/plugins/reference/arcee.md +23 -0
- package/docs/plugins/reference/azure-speech.md +23 -0
- package/docs/plugins/reference/bonjour.md +19 -0
- package/docs/plugins/reference/brave.md +23 -0
- package/docs/plugins/reference/browser.md +23 -0
- package/docs/plugins/reference/byteplus.md +19 -0
- package/docs/plugins/reference/canvas.md +19 -0
- package/docs/plugins/reference/cerebras.md +23 -0
- package/docs/plugins/reference/chutes.md +23 -0
- package/docs/plugins/reference/clickclack.md +23 -0
- package/docs/plugins/reference/cloudflare-ai-gateway.md +23 -0
- package/docs/plugins/reference/codex-supervisor.md +27 -0
- package/docs/plugins/reference/codex.md +23 -0
- package/docs/plugins/reference/comfy.md +23 -0
- package/docs/plugins/reference/copilot-proxy.md +19 -0
- package/docs/plugins/reference/copilot.md +23 -0
- package/docs/plugins/reference/deepgram.md +23 -0
- package/docs/plugins/reference/deepinfra.md +23 -0
- package/docs/plugins/reference/deepseek.md +23 -0
- package/docs/plugins/reference/diagnostics-otel.md +19 -0
- package/docs/plugins/reference/diagnostics-prometheus.md +19 -0
- package/docs/plugins/reference/diffs-language-pack.md +31 -0
- package/docs/plugins/reference/diffs.md +19 -0
- package/docs/plugins/reference/discord.md +23 -0
- package/docs/plugins/reference/document-extract.md +23 -0
- package/docs/plugins/reference/duckduckgo.md +23 -0
- package/docs/plugins/reference/elevenlabs.md +23 -0
- package/docs/plugins/reference/exa.md +23 -0
- package/docs/plugins/reference/fal.md +23 -0
- package/docs/plugins/reference/feishu.md +23 -0
- package/docs/plugins/reference/file-transfer.md +19 -0
- package/docs/plugins/reference/firecrawl.md +23 -0
- package/docs/plugins/reference/fireworks.md +23 -0
- package/docs/plugins/reference/github-copilot.md +23 -0
- package/docs/plugins/reference/gmi.md +23 -0
- package/docs/plugins/reference/google-meet.md +23 -0
- package/docs/plugins/reference/google.md +23 -0
- package/docs/plugins/reference/googlechat.md +23 -0
- package/docs/plugins/reference/gradium.md +23 -0
- package/docs/plugins/reference/groq.md +23 -0
- package/docs/plugins/reference/huggingface.md +23 -0
- package/docs/plugins/reference/imessage.md +23 -0
- package/docs/plugins/reference/inworld.md +23 -0
- package/docs/plugins/reference/irc.md +23 -0
- package/docs/plugins/reference/kilocode.md +23 -0
- package/docs/plugins/reference/kimi.md +23 -0
- package/docs/plugins/reference/line.md +23 -0
- package/docs/plugins/reference/litellm.md +23 -0
- package/docs/plugins/reference/llama-cpp.md +23 -0
- package/docs/plugins/reference/llm-task.md +19 -0
- package/docs/plugins/reference/lmstudio.md +23 -0
- package/docs/plugins/reference/lobster.md +19 -0
- package/docs/plugins/reference/matrix.md +23 -0
- package/docs/plugins/reference/mattermost.md +23 -0
- package/docs/plugins/reference/memory-core.md +19 -0
- package/docs/plugins/reference/memory-lancedb.md +23 -0
- package/docs/plugins/reference/memory-wiki.md +23 -0
- package/docs/plugins/reference/microsoft-foundry.md +113 -0
- package/docs/plugins/reference/microsoft.md +19 -0
- package/docs/plugins/reference/migrate-claude.md +19 -0
- package/docs/plugins/reference/migrate-hermes.md +19 -0
- package/docs/plugins/reference/minimax.md +23 -0
- package/docs/plugins/reference/mistral.md +23 -0
- package/docs/plugins/reference/moonshot.md +23 -0
- package/docs/plugins/reference/msteams.md +23 -0
- package/docs/plugins/reference/nextcloud-talk.md +23 -0
- package/docs/plugins/reference/nostr.md +23 -0
- package/docs/plugins/reference/novita.md +23 -0
- package/docs/plugins/reference/nvidia.md +23 -0
- package/docs/plugins/reference/oc-path.md +23 -0
- package/docs/plugins/reference/ollama.md +24 -0
- package/docs/plugins/reference/open-prose.md +19 -0
- package/docs/plugins/reference/openai.md +23 -0
- package/docs/plugins/reference/opencode-go.md +23 -0
- package/docs/plugins/reference/opencode.md +23 -0
- package/docs/plugins/reference/openrouter.md +23 -0
- package/docs/plugins/reference/openshell.md +19 -0
- package/docs/plugins/reference/perplexity.md +23 -0
- package/docs/plugins/reference/pixverse.md +23 -0
- package/docs/plugins/reference/policy.md +79 -0
- package/docs/plugins/reference/qa-channel.md +23 -0
- package/docs/plugins/reference/qa-lab.md +19 -0
- package/docs/plugins/reference/qa-matrix.md +19 -0
- package/docs/plugins/reference/qianfan.md +23 -0
- package/docs/plugins/reference/qqbot.md +23 -0
- package/docs/plugins/reference/qwen.md +24 -0
- package/docs/plugins/reference/runway.md +23 -0
- package/docs/plugins/reference/searxng.md +19 -0
- package/docs/plugins/reference/senseaudio.md +23 -0
- package/docs/plugins/reference/sglang.md +23 -0
- package/docs/plugins/reference/signal.md +23 -0
- package/docs/plugins/reference/slack.md +23 -0
- package/docs/plugins/reference/sms.md +23 -0
- package/docs/plugins/reference/stepfun.md +23 -0
- package/docs/plugins/reference/synology-chat.md +23 -0
- package/docs/plugins/reference/synthetic.md +23 -0
- package/docs/plugins/reference/tavily.md +23 -0
- package/docs/plugins/reference/telegram.md +23 -0
- package/docs/plugins/reference/tencent.md +23 -0
- package/docs/plugins/reference/tlon.md +23 -0
- package/docs/plugins/reference/together.md +23 -0
- package/docs/plugins/reference/tokenjuice.md +23 -0
- package/docs/plugins/reference/tts-local-cli.md +19 -0
- package/docs/plugins/reference/twitch.md +23 -0
- package/docs/plugins/reference/venice.md +23 -0
- package/docs/plugins/reference/vercel-ai-gateway.md +23 -0
- package/docs/plugins/reference/vllm.md +23 -0
- package/docs/plugins/reference/voice-call.md +23 -0
- package/docs/plugins/reference/volcengine.md +23 -0
- package/docs/plugins/reference/voyage.md +19 -0
- package/docs/plugins/reference/vydra.md +23 -0
- package/docs/plugins/reference/web-readability.md +19 -0
- package/docs/plugins/reference/webhooks.md +23 -0
- package/docs/plugins/reference/whatsapp.md +23 -0
- package/docs/plugins/reference/workboard.md +23 -0
- package/docs/plugins/reference/xai.md +23 -0
- package/docs/plugins/reference/xiaomi.md +23 -0
- package/docs/plugins/reference/zai.md +23 -0
- package/docs/plugins/reference/zalo.md +23 -0
- package/docs/plugins/reference/zalouser.md +24 -0
- package/docs/plugins/reference.md +19 -0
- package/docs/plugins/sdk-agent-harness.md +339 -0
- package/docs/plugins/sdk-channel-inbound.md +70 -0
- package/docs/plugins/sdk-channel-ingress.md +137 -0
- package/docs/plugins/sdk-channel-message.md +18 -0
- package/docs/plugins/sdk-channel-outbound.md +113 -0
- package/docs/plugins/sdk-channel-plugins.md +770 -0
- package/docs/plugins/sdk-channel-turn.md +9 -0
- package/docs/plugins/sdk-entrypoints.md +344 -0
- package/docs/plugins/sdk-migration.md +1011 -0
- package/docs/plugins/sdk-overview.md +525 -0
- package/docs/plugins/sdk-provider-plugins.md +1019 -0
- package/docs/plugins/sdk-runtime.md +683 -0
- package/docs/plugins/sdk-setup.md +550 -0
- package/docs/plugins/sdk-subpaths.md +401 -0
- package/docs/plugins/sdk-testing.md +403 -0
- package/docs/plugins/tool-plugins.md +411 -0
- package/docs/plugins/voice-call.md +942 -0
- package/docs/plugins/webhooks.md +192 -0
- package/docs/plugins/workboard.md +402 -0
- package/docs/plugins/zalouser.md +86 -0
- package/docs/prose.md +191 -0
- package/docs/providers/alibaba.md +158 -0
- package/docs/providers/anthropic.md +386 -0
- package/docs/providers/arcee.md +144 -0
- package/docs/providers/azure-speech.md +119 -0
- package/docs/providers/bedrock-mantle.md +224 -0
- package/docs/providers/bedrock.md +433 -0
- package/docs/providers/cerebras.md +130 -0
- package/docs/providers/chutes.md +153 -0
- package/docs/providers/claude-max-api-proxy.md +191 -0
- package/docs/providers/cloudflare-ai-gateway.md +119 -0
- package/docs/providers/comfy.md +362 -0
- package/docs/providers/deepgram.md +184 -0
- package/docs/providers/deepinfra.md +92 -0
- package/docs/providers/deepseek.md +146 -0
- package/docs/providers/ds4.md +309 -0
- package/docs/providers/elevenlabs.md +130 -0
- package/docs/providers/fal.md +240 -0
- package/docs/providers/fireworks.md +144 -0
- package/docs/providers/github-copilot.md +257 -0
- package/docs/providers/gmi.md +92 -0
- package/docs/providers/google.md +472 -0
- package/docs/providers/gradium.md +123 -0
- package/docs/providers/groq.md +171 -0
- package/docs/providers/huggingface.md +235 -0
- package/docs/providers/index.md +105 -0
- package/docs/providers/inferrs.md +272 -0
- package/docs/providers/inworld.md +120 -0
- package/docs/providers/kilocode.md +135 -0
- package/docs/providers/litellm.md +234 -0
- package/docs/providers/lmstudio.md +224 -0
- package/docs/providers/minimax.md +518 -0
- package/docs/providers/mistral.md +235 -0
- package/docs/providers/models.md +64 -0
- package/docs/providers/moonshot.md +413 -0
- package/docs/providers/novita.md +92 -0
- package/docs/providers/nvidia.md +208 -0
- package/docs/providers/ollama-cloud.md +115 -0
- package/docs/providers/ollama.md +1225 -0
- package/docs/providers/openai.md +1091 -0
- package/docs/providers/opencode-go.md +123 -0
- package/docs/providers/opencode.md +149 -0
- package/docs/providers/openrouter.md +390 -0
- package/docs/providers/perplexity-provider.md +123 -0
- package/docs/providers/pixverse.md +165 -0
- package/docs/providers/qianfan.md +132 -0
- package/docs/providers/qwen-oauth.md +115 -0
- package/docs/providers/qwen.md +364 -0
- package/docs/providers/runway.md +103 -0
- package/docs/providers/senseaudio.md +68 -0
- package/docs/providers/sglang.md +161 -0
- package/docs/providers/stepfun.md +229 -0
- package/docs/providers/synthetic.md +154 -0
- package/docs/providers/tencent.md +130 -0
- package/docs/providers/together.md +140 -0
- package/docs/providers/venice.md +312 -0
- package/docs/providers/vercel-ai-gateway.md +128 -0
- package/docs/providers/vllm.md +407 -0
- package/docs/providers/volcengine.md +199 -0
- package/docs/providers/vydra.md +180 -0
- package/docs/providers/xai.md +571 -0
- package/docs/providers/xiaomi.md +286 -0
- package/docs/providers/zai.md +224 -0
- package/docs/refactor/access.md +9 -0
- package/docs/refactor/acp.md +298 -0
- package/docs/refactor/canvas.md +131 -0
- package/docs/refactor/database-first.md +2263 -0
- package/docs/refactor/ingress-core.md +341 -0
- package/docs/reference/AGENTS.default.md +131 -0
- package/docs/reference/RELEASING.md +844 -0
- package/docs/reference/api-usage-costs.md +208 -0
- package/docs/reference/application-modernization-plan.md +208 -0
- package/docs/reference/code-mode.md +1058 -0
- package/docs/reference/credits.md +33 -0
- package/docs/reference/device-models.md +50 -0
- package/docs/reference/full-release-validation.md +206 -0
- package/docs/reference/memory-config.md +630 -0
- package/docs/reference/prompt-caching.md +358 -0
- package/docs/reference/release-performance-sweep.md +347 -0
- package/docs/reference/rich-output-protocol.md +93 -0
- package/docs/reference/rpc.md +43 -0
- package/docs/reference/secret-placeholder-conventions.md +33 -0
- package/docs/reference/secretref-credential-surface.md +163 -0
- package/docs/reference/secretref-user-supplied-credentials-matrix.json +691 -0
- package/docs/reference/session-management-compaction.md +474 -0
- package/docs/reference/templates/AGENTS.dev.md +90 -0
- package/docs/reference/templates/AGENTS.md +227 -0
- package/docs/reference/templates/BOOT.md +16 -0
- package/docs/reference/templates/BOOTSTRAP.md +66 -0
- package/docs/reference/templates/HEARTBEAT.md +24 -0
- package/docs/reference/templates/IDENTITY.dev.md +52 -0
- package/docs/reference/templates/IDENTITY.md +34 -0
- package/docs/reference/templates/SOUL.dev.md +82 -0
- package/docs/reference/templates/SOUL.md +49 -0
- package/docs/reference/templates/TOOLS.dev.md +29 -0
- package/docs/reference/templates/TOOLS.md +51 -0
- package/docs/reference/templates/USER.dev.md +23 -0
- package/docs/reference/templates/USER.md +28 -0
- package/docs/reference/test.md +248 -0
- package/docs/reference/token-use.md +246 -0
- package/docs/reference/transcript-hygiene.md +226 -0
- package/docs/reference/wizard.md +252 -0
- package/docs/security/CONTRIBUTING-THREAT-MODEL.md +101 -0
- package/docs/security/THREAT-MODEL-ATLAS.md +611 -0
- package/docs/security/formal-verification.md +170 -0
- package/docs/security/incident-response.md +59 -0
- package/docs/security/network-proxy.md +268 -0
- package/docs/snippets/plugin-publish/minimal-openclaw.plugin.json +12 -0
- package/docs/snippets/plugin-publish/minimal-package.json +16 -0
- package/docs/specs/claw-supervisor.md +247 -0
- package/docs/start/bootstrapping.md +49 -0
- package/docs/start/docs-directory.md +69 -0
- package/docs/start/getting-started.md +152 -0
- package/docs/start/hubs.md +201 -0
- package/docs/start/lore.md +223 -0
- package/docs/start/onboarding-overview.md +72 -0
- package/docs/start/onboarding.md +98 -0
- package/docs/start/openclaw.md +246 -0
- package/docs/start/quickstart.md +25 -0
- package/docs/start/setup.md +178 -0
- package/docs/start/showcase.md +371 -0
- package/docs/start/wizard-cli-automation.md +232 -0
- package/docs/start/wizard-cli-reference.md +331 -0
- package/docs/start/wizard.md +142 -0
- package/docs/style.css +137 -0
- package/docs/tools/acp-agents-setup.md +356 -0
- package/docs/tools/acp-agents.md +865 -0
- package/docs/tools/agent-send.md +130 -0
- package/docs/tools/apply-patch.md +64 -0
- package/docs/tools/brave-search.md +139 -0
- package/docs/tools/browser-control.md +405 -0
- package/docs/tools/browser-linux-troubleshooting.md +173 -0
- package/docs/tools/browser-login.md +77 -0
- package/docs/tools/browser-wsl2-windows-remote-cdp-troubleshooting.md +219 -0
- package/docs/tools/browser.md +866 -0
- package/docs/tools/btw.md +159 -0
- package/docs/tools/capability-cookbook.md +12 -0
- package/docs/tools/clawhub.md +5 -0
- package/docs/tools/code-execution.md +173 -0
- package/docs/tools/creating-skills.md +271 -0
- package/docs/tools/diffs.md +527 -0
- package/docs/tools/duckduckgo-search.md +109 -0
- package/docs/tools/elevated.md +128 -0
- package/docs/tools/exa-search.md +152 -0
- package/docs/tools/exec-approvals-advanced.md +457 -0
- package/docs/tools/exec-approvals.md +520 -0
- package/docs/tools/exec.md +294 -0
- package/docs/tools/firecrawl.md +155 -0
- package/docs/tools/gemini-search.md +114 -0
- package/docs/tools/goal.md +217 -0
- package/docs/tools/grok-search.md +129 -0
- package/docs/tools/image-generation.md +538 -0
- package/docs/tools/index.md +176 -0
- package/docs/tools/kimi-search.md +105 -0
- package/docs/tools/llm-task.md +137 -0
- package/docs/tools/lobster.md +365 -0
- package/docs/tools/loop-detection.md +154 -0
- package/docs/tools/media-overview.md +161 -0
- package/docs/tools/minimax-search.md +102 -0
- package/docs/tools/multi-agent-sandbox-tools.md +409 -0
- package/docs/tools/music-generation.md +372 -0
- package/docs/tools/ollama-search.md +153 -0
- package/docs/tools/parallel-search.md +154 -0
- package/docs/tools/pdf.md +213 -0
- package/docs/tools/permission-modes.md +111 -0
- package/docs/tools/perplexity-search.md +220 -0
- package/docs/tools/plugin.md +378 -0
- package/docs/tools/reactions.md +100 -0
- package/docs/tools/searxng-search.md +141 -0
- package/docs/tools/skill-workshop.md +283 -0
- package/docs/tools/skills-config.md +457 -0
- package/docs/tools/skills.md +591 -0
- package/docs/tools/slash-commands.md +518 -0
- package/docs/tools/steer.md +77 -0
- package/docs/tools/subagents.md +652 -0
- package/docs/tools/tavily.md +162 -0
- package/docs/tools/thinking.md +142 -0
- package/docs/tools/tokenjuice.md +84 -0
- package/docs/tools/tool-search.md +269 -0
- package/docs/tools/trajectory.md +229 -0
- package/docs/tools/tts.md +1013 -0
- package/docs/tools/video-generation.md +555 -0
- package/docs/tools/web-fetch.md +210 -0
- package/docs/tools/web.md +476 -0
- package/docs/tts.md +11 -0
- package/docs/vps.md +139 -0
- package/docs/web/control-ui.md +530 -0
- package/docs/web/dashboard.md +107 -0
- package/docs/web/index.md +133 -0
- package/docs/web/tui.md +258 -0
- package/docs/web/webchat.md +102 -0
- package/npm-shrinkwrap.json +3485 -0
- package/openclaw.mjs +661 -0
- package/package.json +1971 -0
- package/patches/.gitkeep +0 -0
- package/patches/@agentclientprotocol__claude-agent-acp@0.39.0.patch +40 -0
- package/pnpm-workspace.yaml +124 -0
- package/scripts/crabbox-wrapper.mjs +2470 -0
- package/scripts/lib/official-external-channel-catalog.json +570 -0
- package/scripts/lib/official-external-plugin-catalog.json +284 -0
- package/scripts/lib/official-external-provider-catalog.json +158 -0
- package/scripts/lib/package-dist-imports.mjs +174 -0
- package/scripts/npm-runner.mjs +95 -0
- package/scripts/postinstall-bundled-plugins.mjs +978 -0
- package/scripts/preinstall-package-manager-warning.mjs +74 -0
- package/scripts/prepare-git-hooks.mjs +73 -0
- package/scripts/windows-cmd-helpers.mjs +29 -0
- package/skills/1password/SKILL.md +70 -0
- package/skills/1password/references/cli-examples.md +29 -0
- package/skills/1password/references/get-started.md +17 -0
- package/skills/apple-notes/SKILL.md +77 -0
- package/skills/apple-reminders/SKILL.md +118 -0
- package/skills/bear-notes/SKILL.md +107 -0
- package/skills/blogwatcher/SKILL.md +69 -0
- package/skills/blucli/SKILL.md +47 -0
- package/skills/camsnap/SKILL.md +45 -0
- package/skills/canvas/SKILL.md +78 -0
- package/skills/clawhub/SKILL.md +77 -0
- package/skills/coding-agent/SKILL.md +143 -0
- package/skills/diagram-maker/SKILL.md +53 -0
- package/skills/diagram-maker/references/excalidraw-patterns.md +85 -0
- package/skills/diagram-maker/references/svg-template.md +112 -0
- package/skills/discord/SKILL.md +136 -0
- package/skills/eightctl/SKILL.md +50 -0
- package/skills/gemini/SKILL.md +47 -0
- package/skills/gh-issues/SKILL.md +213 -0
- package/skills/gifgrep/SKILL.md +85 -0
- package/skills/github/SKILL.md +84 -0
- package/skills/gog/SKILL.md +116 -0
- package/skills/goplaces/SKILL.md +52 -0
- package/skills/healthcheck/SKILL.md +105 -0
- package/skills/himalaya/SKILL.md +80 -0
- package/skills/himalaya/references/configuration.md +184 -0
- package/skills/himalaya/references/message-composition.md +199 -0
- package/skills/imsg/SKILL.md +122 -0
- package/skills/mcporter/SKILL.md +61 -0
- package/skills/meme-maker/SKILL.md +42 -0
- package/skills/meme-maker/references/templates.json +358 -0
- package/skills/meme-maker/scripts/meme.mjs +398 -0
- package/skills/model-usage/SKILL.md +71 -0
- package/skills/model-usage/references/codexbar-cli.md +33 -0
- package/skills/model-usage/scripts/model_usage.py +319 -0
- package/skills/model-usage/scripts/test_model_usage.py +40 -0
- package/skills/nano-pdf/SKILL.md +38 -0
- package/skills/node-connect/SKILL.md +143 -0
- package/skills/node-inspect-debugger/SKILL.md +85 -0
- package/skills/notion/SKILL.md +150 -0
- package/skills/obsidian/SKILL.md +119 -0
- package/skills/openai-whisper/SKILL.md +38 -0
- package/skills/openai-whisper-api/SKILL.md +71 -0
- package/skills/openai-whisper-api/scripts/transcribe.sh +154 -0
- package/skills/openhue/SKILL.md +112 -0
- package/skills/oracle/SKILL.md +126 -0
- package/skills/ordercli/SKILL.md +78 -0
- package/skills/peekaboo/SKILL.md +198 -0
- package/skills/pyproject.toml +10 -0
- package/skills/python-debugpy/SKILL.md +73 -0
- package/skills/sag/SKILL.md +87 -0
- package/skills/session-logs/SKILL.md +151 -0
- package/skills/sherpa-onnx-tts/SKILL.md +109 -0
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
- package/skills/skill-creator/SKILL.md +78 -0
- package/skills/skill-creator/license.txt +202 -0
- package/skills/skill-creator/scripts/init_skill.py +378 -0
- package/skills/skill-creator/scripts/package_skill.py +144 -0
- package/skills/skill-creator/scripts/quick_validate.py +169 -0
- package/skills/skill-creator/scripts/test_package_skill.py +199 -0
- package/skills/skill-creator/scripts/test_quick_validate.py +116 -0
- package/skills/slack/SKILL.md +78 -0
- package/skills/songsee/SKILL.md +49 -0
- package/skills/sonoscli/SKILL.md +65 -0
- package/skills/spike/SKILL.md +51 -0
- package/skills/spotify-player/SKILL.md +64 -0
- package/skills/summarize/SKILL.md +87 -0
- package/skills/taskflow/SKILL.md +149 -0
- package/skills/taskflow/examples/inbox-triage.lobster +33 -0
- package/skills/taskflow/examples/pr-intake.lobster +32 -0
- package/skills/taskflow-inbox-triage/SKILL.md +119 -0
- package/skills/things-mac/SKILL.md +86 -0
- package/skills/tmux/SKILL.md +91 -0
- package/skills/tmux/scripts/find-sessions.sh +112 -0
- package/skills/tmux/scripts/wait-for-text.sh +83 -0
- package/skills/trello/SKILL.md +108 -0
- package/skills/video-frames/SKILL.md +46 -0
- package/skills/video-frames/scripts/frame.sh +81 -0
- package/skills/voice-call/SKILL.md +45 -0
- package/skills/wacli/SKILL.md +72 -0
- package/skills/weather/SKILL.md +87 -0
- package/skills/xurl/SKILL.md +120 -0
- package/src/agents/templates/HEARTBEAT.md +5 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Ephemeral side questions with /btw"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want to ask a quick side question about the current session
|
|
5
|
+
- You are implementing or debugging BTW behavior across clients
|
|
6
|
+
title: "BTW side questions"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
`/btw` lets you ask a quick side question about the **current session** without
|
|
10
|
+
turning that question into normal conversation history. `/side` is an alias.
|
|
11
|
+
|
|
12
|
+
It is modeled after Claude Code's `/btw` behavior, but adapted to OpenClaw's
|
|
13
|
+
Gateway and multi-channel architecture.
|
|
14
|
+
|
|
15
|
+
## What it does
|
|
16
|
+
|
|
17
|
+
When you send:
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
/btw what changed?
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
OpenClaw:
|
|
24
|
+
|
|
25
|
+
1. snapshots the current session context,
|
|
26
|
+
2. runs a separate ephemeral side query,
|
|
27
|
+
3. answers only the side question,
|
|
28
|
+
4. leaves the main run alone,
|
|
29
|
+
5. does **not** write the BTW question or answer to session history,
|
|
30
|
+
6. emits the answer as a **live side result** rather than a normal assistant message.
|
|
31
|
+
|
|
32
|
+
The important mental model is:
|
|
33
|
+
|
|
34
|
+
- same session context
|
|
35
|
+
- separate one-shot side query
|
|
36
|
+
- same native harness transport when the session uses a native harness
|
|
37
|
+
- no future context pollution
|
|
38
|
+
- no transcript persistence
|
|
39
|
+
|
|
40
|
+
For Codex harness sessions, BTW stays inside Codex by forking the active
|
|
41
|
+
app-server thread as an ephemeral side thread. That keeps Codex OAuth and native
|
|
42
|
+
thread behavior intact while still isolating the side answer from the parent
|
|
43
|
+
transcript. Like Codex `/side`, the side thread keeps the current Codex
|
|
44
|
+
permissions and native tool surface, with guardrails that tell the model not to
|
|
45
|
+
treat inherited parent-thread work as active instructions. Non-Codex runtimes
|
|
46
|
+
keep the older direct one-shot path.
|
|
47
|
+
|
|
48
|
+
## What it does not do
|
|
49
|
+
|
|
50
|
+
`/btw` does **not**:
|
|
51
|
+
|
|
52
|
+
- create a new durable session,
|
|
53
|
+
- continue the unfinished main task,
|
|
54
|
+
- write BTW question/answer data to transcript history,
|
|
55
|
+
- appear in `chat.history`,
|
|
56
|
+
- survive a reload.
|
|
57
|
+
|
|
58
|
+
It is intentionally **ephemeral**.
|
|
59
|
+
|
|
60
|
+
## How context works
|
|
61
|
+
|
|
62
|
+
BTW uses the current session as **background context only**.
|
|
63
|
+
|
|
64
|
+
If the main run is currently active, OpenClaw snapshots the current message
|
|
65
|
+
state and includes the in-flight main prompt as background context, while
|
|
66
|
+
explicitly telling the model:
|
|
67
|
+
|
|
68
|
+
- answer only the side question,
|
|
69
|
+
- do not resume or complete the unfinished main task,
|
|
70
|
+
- do not steer the parent conversation.
|
|
71
|
+
|
|
72
|
+
That keeps BTW isolated from the main run while still making it aware of what
|
|
73
|
+
the session is about.
|
|
74
|
+
|
|
75
|
+
## Delivery model
|
|
76
|
+
|
|
77
|
+
BTW is **not** delivered as a normal assistant transcript message.
|
|
78
|
+
|
|
79
|
+
At the Gateway protocol level:
|
|
80
|
+
|
|
81
|
+
- normal assistant chat uses the `chat` event
|
|
82
|
+
- BTW uses the `chat.side_result` event
|
|
83
|
+
|
|
84
|
+
This separation is intentional. If BTW reused the normal `chat` event path,
|
|
85
|
+
clients would treat it like regular conversation history.
|
|
86
|
+
|
|
87
|
+
Because BTW uses a separate live event and is not replayed from
|
|
88
|
+
`chat.history`, it disappears after reload.
|
|
89
|
+
|
|
90
|
+
## Surface behavior
|
|
91
|
+
|
|
92
|
+
### TUI
|
|
93
|
+
|
|
94
|
+
In TUI, BTW is rendered inline in the current session view, but it remains
|
|
95
|
+
ephemeral:
|
|
96
|
+
|
|
97
|
+
- visibly distinct from a normal assistant reply
|
|
98
|
+
- dismissible with `Enter` or `Esc`
|
|
99
|
+
- not replayed on reload
|
|
100
|
+
|
|
101
|
+
### External channels
|
|
102
|
+
|
|
103
|
+
On channels like Telegram, WhatsApp, and Discord, BTW is delivered as a
|
|
104
|
+
clearly labeled one-off reply because those surfaces do not have a local
|
|
105
|
+
ephemeral overlay concept.
|
|
106
|
+
|
|
107
|
+
The answer is still treated as a side result, not normal session history.
|
|
108
|
+
|
|
109
|
+
### Control UI / web
|
|
110
|
+
|
|
111
|
+
The Gateway emits BTW correctly as `chat.side_result`, and BTW is not included
|
|
112
|
+
in `chat.history`, so the persistence contract is already correct for web.
|
|
113
|
+
|
|
114
|
+
The current Control UI still needs a dedicated `chat.side_result` consumer to
|
|
115
|
+
render BTW live in the browser. Until that client-side support lands, BTW is a
|
|
116
|
+
Gateway-level feature with full TUI and external-channel behavior, but not yet
|
|
117
|
+
a complete browser UX.
|
|
118
|
+
|
|
119
|
+
## When to use BTW
|
|
120
|
+
|
|
121
|
+
Use `/btw` when you want:
|
|
122
|
+
|
|
123
|
+
- a quick clarification about the current work,
|
|
124
|
+
- a factual side answer while a long run is still in progress,
|
|
125
|
+
- a temporary answer that should not become part of future session context.
|
|
126
|
+
|
|
127
|
+
Examples:
|
|
128
|
+
|
|
129
|
+
```text
|
|
130
|
+
/btw what file are we editing?
|
|
131
|
+
/side what changed while the main run continued?
|
|
132
|
+
/btw what does this error mean?
|
|
133
|
+
/btw summarize the current task in one sentence
|
|
134
|
+
/btw what is 17 * 19?
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## When not to use BTW
|
|
138
|
+
|
|
139
|
+
Do not use `/btw` when you want the answer to become part of the session's
|
|
140
|
+
future working context.
|
|
141
|
+
|
|
142
|
+
In that case, ask normally in the main session instead of using BTW.
|
|
143
|
+
|
|
144
|
+
## Related
|
|
145
|
+
|
|
146
|
+
<CardGroup cols={2}>
|
|
147
|
+
<Card title="Slash commands" href="/tools/slash-commands" icon="terminal">
|
|
148
|
+
Native command catalog and chat directives.
|
|
149
|
+
</Card>
|
|
150
|
+
<Card title="Thinking levels" href="/tools/thinking" icon="brain">
|
|
151
|
+
Reasoning effort levels for the side-question model call.
|
|
152
|
+
</Card>
|
|
153
|
+
<Card title="Session" href="/concepts/session" icon="comments">
|
|
154
|
+
Session keys, history, and persistence semantics.
|
|
155
|
+
</Card>
|
|
156
|
+
<Card title="Steer command" href="/tools/steer" icon="arrow-right">
|
|
157
|
+
Inject a steering message into the active run without ending it.
|
|
158
|
+
</Card>
|
|
159
|
+
</CardGroup>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Redirect to /plugins/adding-capabilities"
|
|
3
|
+
title: "Adding capabilities (redirect)"
|
|
4
|
+
redirect: /plugins/adding-capabilities
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
This contributor guide moved to [Adding capabilities](/plugins/adding-capabilities).
|
|
8
|
+
|
|
9
|
+
## Related
|
|
10
|
+
|
|
11
|
+
- [Plugin internals](/plugins/architecture)
|
|
12
|
+
- [Building plugins](/plugins/building-plugins)
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "code_execution: run sandboxed remote Python analysis with xAI"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want to enable or configure code_execution
|
|
5
|
+
- You want remote analysis without local shell access
|
|
6
|
+
- You want to combine x_search or web_search with remote Python analysis
|
|
7
|
+
title: "Code execution"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
`code_execution` runs sandboxed remote Python analysis on xAI's Responses API. It is registered by the bundled `xai` plugin (under the `tools` contract) and dispatches to the same `https://api.x.ai/v1/responses` endpoint used by `x_search`.
|
|
11
|
+
|
|
12
|
+
| Property | Value |
|
|
13
|
+
| ------------------ | --------------------------------------------------------------------------------- |
|
|
14
|
+
| Tool name | `code_execution` |
|
|
15
|
+
| Provider plugin | `xai` (bundled, `enabledByDefault: true`) |
|
|
16
|
+
| Auth | xAI auth profile, `XAI_API_KEY`, or `plugins.entries.xai.config.webSearch.apiKey` |
|
|
17
|
+
| Default model | `grok-4-1-fast` |
|
|
18
|
+
| Default timeout | 30 seconds |
|
|
19
|
+
| Default `maxTurns` | unset (xAI applies its own internal limit) |
|
|
20
|
+
|
|
21
|
+
This is different from local [`exec`](/tools/exec):
|
|
22
|
+
|
|
23
|
+
- `exec` runs shell commands on your machine or paired node.
|
|
24
|
+
- `code_execution` runs Python in xAI's remote sandbox.
|
|
25
|
+
|
|
26
|
+
Use `code_execution` for:
|
|
27
|
+
|
|
28
|
+
- Calculations.
|
|
29
|
+
- Tabulation.
|
|
30
|
+
- Quick statistics.
|
|
31
|
+
- Chart-style analysis.
|
|
32
|
+
- Analyzing data returned by `x_search` or `web_search`.
|
|
33
|
+
|
|
34
|
+
Do **not** use it when you need local files, your shell, your repo, or paired devices. Use [`exec`](/tools/exec) for that.
|
|
35
|
+
|
|
36
|
+
## Setup
|
|
37
|
+
|
|
38
|
+
<Steps>
|
|
39
|
+
<Step title="Provide xAI credentials">
|
|
40
|
+
Sign in with Grok OAuth using an eligible SuperGrok or X Premium subscription,
|
|
41
|
+
use the remote-friendly device-code flow, or store an API key. OAuth works
|
|
42
|
+
for `code_execution` and `x_search`; `XAI_API_KEY` or plugin web-search
|
|
43
|
+
config can also power Grok `web_search`.
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
openclaw models auth login --provider xai --method oauth
|
|
47
|
+
openclaw models auth login --provider xai --device-code
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
During a fresh install, the same auth choices are available inside
|
|
51
|
+
onboarding:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
openclaw onboard --install-daemon
|
|
55
|
+
openclaw onboard --install-daemon --auth-choice xai-device-code
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Or use an API key:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
openclaw models auth login --provider xai --method api-key
|
|
62
|
+
export XAI_API_KEY=xai-...
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Or via config:
|
|
66
|
+
|
|
67
|
+
```json5
|
|
68
|
+
{
|
|
69
|
+
plugins: {
|
|
70
|
+
entries: {
|
|
71
|
+
xai: {
|
|
72
|
+
config: {
|
|
73
|
+
webSearch: {
|
|
74
|
+
apiKey: "xai-...",
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
</Step>
|
|
84
|
+
|
|
85
|
+
<Step title="Enable and tune code_execution">
|
|
86
|
+
`code_execution` is available when xAI credentials are available. Set
|
|
87
|
+
`plugins.entries.xai.config.codeExecution.enabled` to `false` to disable it,
|
|
88
|
+
or use the same block to tune the model and timeout.
|
|
89
|
+
|
|
90
|
+
```json5
|
|
91
|
+
{
|
|
92
|
+
plugins: {
|
|
93
|
+
entries: {
|
|
94
|
+
xai: {
|
|
95
|
+
config: {
|
|
96
|
+
codeExecution: {
|
|
97
|
+
enabled: true,
|
|
98
|
+
model: "grok-4-1-fast", // override the default xAI code-execution model
|
|
99
|
+
maxTurns: 2, // optional cap on internal tool turns
|
|
100
|
+
timeoutSeconds: 30, // request timeout (default: 30)
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
</Step>
|
|
110
|
+
|
|
111
|
+
<Step title="Restart the Gateway">
|
|
112
|
+
```bash
|
|
113
|
+
openclaw gateway restart
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
`code_execution` shows up in the agent's tool list once the xAI plugin re-registers with `enabled: true`.
|
|
117
|
+
|
|
118
|
+
</Step>
|
|
119
|
+
</Steps>
|
|
120
|
+
|
|
121
|
+
## How to use it
|
|
122
|
+
|
|
123
|
+
Ask naturally and make the analysis intent explicit:
|
|
124
|
+
|
|
125
|
+
```text
|
|
126
|
+
Use code_execution to calculate the 7-day moving average for these numbers: ...
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
```text
|
|
130
|
+
Use x_search to find posts mentioning OpenClaw this week, then use code_execution to count them by day.
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
```text
|
|
134
|
+
Use web_search to gather the latest AI benchmark numbers, then use code_execution to compare percent changes.
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
The tool takes a single `task` parameter internally, so the agent should send the full analysis request and any inline data in one prompt.
|
|
138
|
+
|
|
139
|
+
## Errors
|
|
140
|
+
|
|
141
|
+
When the tool runs without auth, it returns a structured `missing_xai_api_key` error pointing at the auth-profile, env var, and config options. The error is JSON, not a thrown exception, so the agent can self-correct:
|
|
142
|
+
|
|
143
|
+
```json
|
|
144
|
+
{
|
|
145
|
+
"error": "missing_xai_api_key",
|
|
146
|
+
"message": "code_execution needs xAI credentials. Run `openclaw onboard --auth-choice xai-oauth` to sign in with Grok, run `openclaw onboard --auth-choice xai-api-key`, set `XAI_API_KEY` in the Gateway environment, or configure `plugins.entries.xai.config.webSearch.apiKey`.",
|
|
147
|
+
"docs": "https://docs.openclaw.ai/tools/code-execution"
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Limits
|
|
152
|
+
|
|
153
|
+
- This is remote xAI execution, not local process execution.
|
|
154
|
+
- Treat results as ephemeral analysis, not a persistent notebook session.
|
|
155
|
+
- Do not assume access to local files or your workspace.
|
|
156
|
+
- For fresh X data, use [`x_search`](/tools/web#x_search) first and pipe the result into `code_execution`.
|
|
157
|
+
|
|
158
|
+
## Related
|
|
159
|
+
|
|
160
|
+
<CardGroup cols={2}>
|
|
161
|
+
<Card title="Exec tool" href="/tools/exec" icon="terminal">
|
|
162
|
+
Local shell execution on your machine or paired node.
|
|
163
|
+
</Card>
|
|
164
|
+
<Card title="Exec approvals" href="/tools/exec-approvals" icon="shield">
|
|
165
|
+
Allow/deny policy for shell execution.
|
|
166
|
+
</Card>
|
|
167
|
+
<Card title="Web tools" href="/tools/web" icon="globe">
|
|
168
|
+
`web_search`, `x_search`, and `web_fetch`.
|
|
169
|
+
</Card>
|
|
170
|
+
<Card title="xAI provider" href="/providers/xai" icon="microchip">
|
|
171
|
+
Grok models, web/x search, and code execution config.
|
|
172
|
+
</Card>
|
|
173
|
+
</CardGroup>
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Creating skills"
|
|
3
|
+
sidebarTitle: "Creating skills"
|
|
4
|
+
summary: "Build, test, and publish custom SKILL.md workspace skills for your OpenClaw agents."
|
|
5
|
+
read_when:
|
|
6
|
+
- You are creating a new custom skill
|
|
7
|
+
- You need a quick starter workflow for SKILL.md-based skills
|
|
8
|
+
- You want to use Skill Workshop to propose a skill for agent review
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Skills teach the agent how and when to use tools. Each skill is a directory
|
|
12
|
+
containing a `SKILL.md` file with YAML frontmatter and markdown instructions.
|
|
13
|
+
OpenClaw loads skills from several roots in a defined [precedence order](/tools/skills#loading-order).
|
|
14
|
+
|
|
15
|
+
## Create your first skill
|
|
16
|
+
|
|
17
|
+
<Steps>
|
|
18
|
+
<Step title="Create the skill directory">
|
|
19
|
+
Skills live in your workspace `skills/` folder. Create a directory for your
|
|
20
|
+
new skill:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
mkdir -p ~/.openclaw/workspace/skills/hello-world
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
You can group skills in subfolders for organization — the skill is still
|
|
27
|
+
named by the `SKILL.md` frontmatter, not the folder path:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
mkdir -p ~/.openclaw/workspace/skills/personal/hello-world
|
|
31
|
+
# skill name is still "hello-world", invoked as /hello-world
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
</Step>
|
|
35
|
+
|
|
36
|
+
<Step title="Write SKILL.md">
|
|
37
|
+
Create `SKILL.md` inside the directory. The frontmatter defines metadata;
|
|
38
|
+
the body gives the agent instructions.
|
|
39
|
+
|
|
40
|
+
```markdown
|
|
41
|
+
---
|
|
42
|
+
name: hello-world
|
|
43
|
+
description: A simple skill that prints a greeting.
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
# Hello World
|
|
47
|
+
|
|
48
|
+
When the user asks for a greeting, use the `exec` tool to run:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
echo "Hello from your custom skill!"
|
|
52
|
+
```
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Naming rules:
|
|
56
|
+
- Use lowercase letters, digits, and hyphens for `name`.
|
|
57
|
+
- Keep the directory name and frontmatter `name` aligned.
|
|
58
|
+
- `description` is shown to the agent and in slash-command discovery —
|
|
59
|
+
keep it one line and under 160 characters.
|
|
60
|
+
|
|
61
|
+
</Step>
|
|
62
|
+
|
|
63
|
+
<Step title="Verify the skill loaded">
|
|
64
|
+
```bash
|
|
65
|
+
openclaw skills list
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
OpenClaw watches `SKILL.md` files under skills roots by default. If the
|
|
69
|
+
watcher is disabled or you are continuing an existing session, start a new
|
|
70
|
+
one so the agent receives the refreshed list:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
# From chat — archive current session and start fresh
|
|
74
|
+
/new
|
|
75
|
+
|
|
76
|
+
# Or restart the gateway
|
|
77
|
+
openclaw gateway restart
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
</Step>
|
|
81
|
+
|
|
82
|
+
<Step title="Test it">
|
|
83
|
+
Send a message that should trigger the skill:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
openclaw agent --message "give me a greeting"
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Or open a chat and ask the agent directly. Use `/skill hello-world` to
|
|
90
|
+
invoke it explicitly by name.
|
|
91
|
+
|
|
92
|
+
</Step>
|
|
93
|
+
</Steps>
|
|
94
|
+
|
|
95
|
+
## SKILL.md reference
|
|
96
|
+
|
|
97
|
+
### Required fields
|
|
98
|
+
|
|
99
|
+
| Field | Description |
|
|
100
|
+
| ------------- | --------------------------------------------------------------- |
|
|
101
|
+
| `name` | Unique slug using lowercase letters, digits, and hyphens |
|
|
102
|
+
| `description` | One-line description shown to the agent and in discovery output |
|
|
103
|
+
|
|
104
|
+
### Optional frontmatter keys
|
|
105
|
+
|
|
106
|
+
| Field | Default | Description |
|
|
107
|
+
| -------------------------- | ------- | -------------------------------------------------------------------------------- |
|
|
108
|
+
| `user-invocable` | `true` | Expose the skill as a user slash command |
|
|
109
|
+
| `disable-model-invocation` | `false` | Keep the skill out of the agent's system prompt (still runs via `/skill`) |
|
|
110
|
+
| `command-dispatch` | — | Set to `tool` to route the slash command directly to a tool, bypassing the model |
|
|
111
|
+
| `command-tool` | — | Tool name to invoke when `command-dispatch: tool` is set |
|
|
112
|
+
| `command-arg-mode` | `raw` | For tool dispatch, forwards the raw args string to the tool |
|
|
113
|
+
| `homepage` | — | URL shown as "Website" in the macOS Skills UI |
|
|
114
|
+
|
|
115
|
+
For gating fields (`requires.bins`, `requires.env`, etc.) see
|
|
116
|
+
[Skills — Gating](/tools/skills#gating).
|
|
117
|
+
|
|
118
|
+
### Using `{baseDir}`
|
|
119
|
+
|
|
120
|
+
Use `{baseDir}` in the skill body to reference files inside the skill
|
|
121
|
+
directory without hardcoding paths:
|
|
122
|
+
|
|
123
|
+
```markdown
|
|
124
|
+
Run the helper script at `{baseDir}/scripts/run.sh`.
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Adding conditional activation
|
|
128
|
+
|
|
129
|
+
Gate your skill so it only loads when its dependencies are available:
|
|
130
|
+
|
|
131
|
+
```markdown
|
|
132
|
+
---
|
|
133
|
+
name: gemini-search
|
|
134
|
+
description: Search using Gemini CLI.
|
|
135
|
+
metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }
|
|
136
|
+
---
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
<AccordionGroup>
|
|
140
|
+
<Accordion title="Gating options">
|
|
141
|
+
| Key | Description |
|
|
142
|
+
| --- | --- |
|
|
143
|
+
| `requires.bins` | All binaries must exist on `PATH` |
|
|
144
|
+
| `requires.anyBins` | At least one binary must exist on `PATH` |
|
|
145
|
+
| `requires.env` | Each env var must exist in the process or config |
|
|
146
|
+
| `requires.config` | Each `openclaw.json` path must be truthy |
|
|
147
|
+
| `os` | Platform filter: `["darwin"]`, `["linux"]`, `["win32"]` |
|
|
148
|
+
| `always` | Set `true` to skip all gates and always include the skill |
|
|
149
|
+
|
|
150
|
+
Full reference: [Skills — Gating](/tools/skills#gating).
|
|
151
|
+
|
|
152
|
+
</Accordion>
|
|
153
|
+
<Accordion title="Environment and API keys">
|
|
154
|
+
Wire an API key to a skill entry in `openclaw.json`:
|
|
155
|
+
|
|
156
|
+
```json5
|
|
157
|
+
{
|
|
158
|
+
skills: {
|
|
159
|
+
entries: {
|
|
160
|
+
"gemini-search": {
|
|
161
|
+
enabled: true,
|
|
162
|
+
apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" },
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
The key is injected into the host process for that agent turn only.
|
|
170
|
+
It does not reach the sandbox — see
|
|
171
|
+
[sandboxed env vars](/tools/skills-config#sandboxed-skills-and-env-vars).
|
|
172
|
+
|
|
173
|
+
</Accordion>
|
|
174
|
+
</AccordionGroup>
|
|
175
|
+
|
|
176
|
+
## Propose via Skill Workshop
|
|
177
|
+
|
|
178
|
+
For agent-drafted skills or when you want operator review before a skill goes
|
|
179
|
+
live, use [Skill Workshop](/tools/skill-workshop) proposals instead of writing
|
|
180
|
+
`SKILL.md` directly.
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
# Propose a brand-new skill
|
|
184
|
+
openclaw skills workshop propose-create \
|
|
185
|
+
--name "hello-world" \
|
|
186
|
+
--description "A simple skill that prints a greeting." \
|
|
187
|
+
--proposal ./PROPOSAL.md
|
|
188
|
+
|
|
189
|
+
# Propose an update to an existing skill
|
|
190
|
+
openclaw skills workshop propose-update hello-world \
|
|
191
|
+
--proposal ./PROPOSAL.md \
|
|
192
|
+
--description "Updated greeting skill"
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
Use `--proposal-dir` when the proposal includes support files:
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
openclaw skills workshop propose-create \
|
|
199
|
+
--name "hello-world" \
|
|
200
|
+
--description "A simple skill that prints a greeting." \
|
|
201
|
+
--proposal-dir ./hello-world-proposal/
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
The directory must contain `PROPOSAL.md`. Support files can go in `assets/`,
|
|
205
|
+
`examples/`, `references/`, `scripts/`, or `templates/`.
|
|
206
|
+
|
|
207
|
+
After review:
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
openclaw skills workshop inspect <proposal-id>
|
|
211
|
+
openclaw skills workshop apply <proposal-id>
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
See [Skill Workshop](/tools/skill-workshop) for the full proposal lifecycle.
|
|
215
|
+
|
|
216
|
+
## Publishing to ClawHub
|
|
217
|
+
|
|
218
|
+
<Steps>
|
|
219
|
+
<Step title="Ensure your SKILL.md is complete">
|
|
220
|
+
Make sure `name`, `description`, and any `metadata.openclaw` gating fields
|
|
221
|
+
are set. Add a `homepage` URL if you have a project page.
|
|
222
|
+
</Step>
|
|
223
|
+
<Step title="Install the ClawHub skill">
|
|
224
|
+
The ClawHub skill documents the current publish command shape and required
|
|
225
|
+
metadata:
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
openclaw skills install clawhub-publish
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
</Step>
|
|
232
|
+
<Step title="Publish">
|
|
233
|
+
```bash
|
|
234
|
+
clawhub publish
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
See [ClawHub — Publishing](/clawhub/publishing) for the full flow.
|
|
238
|
+
|
|
239
|
+
</Step>
|
|
240
|
+
</Steps>
|
|
241
|
+
|
|
242
|
+
## Best practices
|
|
243
|
+
|
|
244
|
+
<Tip>
|
|
245
|
+
- **Be concise** — instruct the model on *what* to do, not how to be an AI.
|
|
246
|
+
- **Safety first** — if your skill uses `exec`, ensure prompts do not allow
|
|
247
|
+
arbitrary command injection from untrusted input.
|
|
248
|
+
- **Test locally** — use `openclaw agent --message "..."` before sharing.
|
|
249
|
+
- **Use ClawHub** — browse community skills at [clawhub.ai](https://clawhub.ai)
|
|
250
|
+
before building from scratch.
|
|
251
|
+
</Tip>
|
|
252
|
+
|
|
253
|
+
## Related
|
|
254
|
+
|
|
255
|
+
<CardGroup cols={2}>
|
|
256
|
+
<Card title="Skills reference" href="/tools/skills" icon="puzzle-piece">
|
|
257
|
+
Loading order, gating, allowlists, and SKILL.md format.
|
|
258
|
+
</Card>
|
|
259
|
+
<Card title="Skill Workshop" href="/tools/skill-workshop" icon="flask">
|
|
260
|
+
Proposal queue for agent-drafted skills.
|
|
261
|
+
</Card>
|
|
262
|
+
<Card title="Skills config" href="/tools/skills-config" icon="gear">
|
|
263
|
+
Full `skills.*` config schema.
|
|
264
|
+
</Card>
|
|
265
|
+
<Card title="ClawHub" href="/clawhub" icon="cloud">
|
|
266
|
+
Browse and publish skills on the public registry.
|
|
267
|
+
</Card>
|
|
268
|
+
<Card title="Building plugins" href="/plugins/building-plugins" icon="plug">
|
|
269
|
+
Plugins can ship skills alongside the tools they document.
|
|
270
|
+
</Card>
|
|
271
|
+
</CardGroup>
|