@gguf/pigbot 0.0.5 → 0.0.7
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 +1208 -10
- package/LICENSE +2 -2
- package/README.md +347 -37
- package/assets/chrome-extension/README.md +5 -5
- package/assets/chrome-extension/background.js +5 -5
- package/assets/chrome-extension/manifest.json +3 -3
- package/assets/chrome-extension/options.html +5 -5
- package/assets/chrome-extension/options.js +1 -1
- package/dist/acp/client.js +5 -5
- package/dist/acp/server.js +3 -3
- package/dist/acp/types.js +2 -2
- package/dist/agents/agent-paths.js +6 -6
- package/dist/agents/agent-scope.js +1 -1
- package/dist/agents/anthropic-payload-log.js +2 -2
- package/dist/agents/auth-profiles/doctor.js +1 -1
- package/dist/agents/auth-profiles/paths.js +3 -3
- package/dist/agents/bash-tools.exec.js +1 -1
- package/dist/agents/bash-tools.shared.js +2 -2
- package/dist/agents/cache-trace.js +5 -5
- package/dist/agents/channel-tools.js +31 -2
- package/dist/agents/cli-runner/helpers.js +3 -3
- package/dist/agents/cli-runner.js +3 -3
- package/dist/agents/context.js +4 -4
- package/dist/agents/docs-path.js +3 -3
- package/dist/agents/identity.js +1 -1
- package/dist/agents/live-auth-keys.js +2 -2
- package/dist/agents/memory-search.js +5 -0
- package/dist/agents/minimax-vlm.js +1 -1
- package/dist/agents/model-auth.js +2 -1
- package/dist/agents/model-catalog.js +4 -4
- package/dist/agents/model-selection.js +1 -1
- package/dist/agents/models-config.js +3 -3
- package/dist/agents/models-config.providers.js +40 -8
- package/dist/agents/{moltbot-tools.js → openclaw-tools.js} +1 -1
- package/dist/agents/pi-embedded-helpers/errors.js +20 -0
- package/dist/agents/pi-embedded-helpers/openai.js +1 -1
- package/dist/agents/pi-embedded-helpers.js +1 -1
- package/dist/agents/pi-embedded-runner/cache-ttl.js +1 -1
- package/dist/agents/pi-embedded-runner/compact.js +8 -8
- package/dist/agents/pi-embedded-runner/model.js +2 -2
- package/dist/agents/pi-embedded-runner/run/attempt.js +6 -6
- package/dist/agents/pi-embedded-runner/run.js +31 -5
- package/dist/agents/pi-embedded-runner/session-manager-cache.js +1 -1
- package/dist/agents/pi-embedded-runner/utils.js +1 -1
- package/dist/agents/pi-embedded-subscribe.raw-stream.js +2 -2
- package/dist/agents/pi-tools.js +5 -5
- package/dist/agents/pi-tools.read.js +2 -2
- package/dist/agents/sandbox/browser.js +16 -11
- package/dist/agents/sandbox/constants.js +7 -7
- package/dist/agents/sandbox/docker.js +17 -14
- package/dist/agents/sandbox/runtime-status.js +1 -1
- package/dist/agents/session-transcript-repair.js +1 -1
- package/dist/agents/session-write-lock.js +2 -2
- package/dist/agents/skills/bundled-dir.js +1 -1
- package/dist/agents/skills/config.js +2 -1
- package/dist/agents/skills/frontmatter.js +11 -3
- package/dist/agents/skills/workspace.js +6 -6
- package/dist/agents/synthetic-models.js +8 -0
- package/dist/agents/system-prompt.js +21 -21
- package/dist/agents/tool-images.js +1 -1
- package/dist/agents/tool-policy.js +2 -2
- package/dist/agents/tools/browser-tool.js +5 -5
- package/dist/agents/tools/image-tool.js +2 -2
- package/dist/agents/tools/memory-tool.js +1 -1
- package/dist/agents/tools/sessions-send-tool.js +2 -2
- package/dist/agents/tools/web-search.js +7 -7
- package/dist/agents/transcript-policy.js +2 -1
- package/dist/agents/workspace.js +3 -3
- package/dist/auto-reply/commands-registry.data.js +1 -1
- package/dist/auto-reply/reply/agent-runner-execution.js +1 -1
- package/dist/auto-reply/reply/bash-command.js +2 -2
- package/dist/auto-reply/reply/commands-context-report.js +2 -2
- package/dist/auto-reply/reply/commands-session.js +4 -4
- package/dist/auto-reply/reply/directive-handling.shared.js +1 -1
- package/dist/auto-reply/reply/dispatch-from-config.js +21 -0
- package/dist/auto-reply/reply/get-reply-inline-actions.js +2 -2
- package/dist/auto-reply/reply/get-reply.js +1 -1
- package/dist/auto-reply/reply/groups.js +1 -1
- package/dist/auto-reply/reply/mentions.js +3 -2
- package/dist/auto-reply/reply/normalize-reply.js +12 -4
- package/dist/auto-reply/reply/reply-dispatcher.js +8 -1
- package/dist/auto-reply/reply/reply-elevated.js +1 -1
- package/dist/auto-reply/reply/stage-sandbox-media.js +1 -1
- package/dist/auto-reply/status.js +2 -2
- package/dist/browser/chrome.js +13 -13
- package/dist/browser/chrome.profile-decoration.js +5 -5
- package/dist/browser/client-fetch.js +3 -3
- package/dist/browser/config.js +11 -11
- package/dist/browser/constants.js +3 -3
- package/dist/browser/control-service.js +1 -1
- package/dist/browser/extension-relay.js +3 -3
- package/dist/browser/profiles-service.js +2 -2
- package/dist/browser/profiles.js +1 -1
- package/dist/browser/pw-tools-core.downloads.js +1 -1
- package/dist/browser/pw-tools-core.interactions.js +5 -5
- package/dist/browser/pw-tools-core.responses.js +1 -1
- package/dist/browser/routes/agent.act.js +2 -2
- package/dist/browser/routes/agent.debug.js +1 -1
- package/dist/browser/server-context.js +9 -9
- package/dist/browser/server.js +2 -2
- package/dist/build-info.json +2 -2
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/a2ui/a2ui.bundle.js +24 -19
- package/dist/canvas-host/a2ui/index.html +28 -28
- package/dist/canvas-host/a2ui.js +14 -18
- package/dist/canvas-host/server.js +33 -35
- package/dist/channels/plugins/catalog.js +7 -7
- package/dist/channels/plugins/helpers.js +2 -2
- package/dist/channels/plugins/onboarding/imessage.js +1 -1
- package/dist/channels/plugins/onboarding/signal.js +2 -2
- package/dist/channels/plugins/onboarding/slack.js +5 -5
- package/dist/channels/plugins/onboarding/telegram.js +3 -3
- package/dist/channels/plugins/onboarding/whatsapp.js +4 -4
- package/dist/channels/plugins/pairing-message.js +1 -1
- package/dist/channels/plugins/status-issues/bluebubbles.js +1 -1
- package/dist/channels/plugins/status-issues/whatsapp.js +2 -2
- package/dist/channels/registry.js +1 -1
- package/dist/cli/acp-cli.js +2 -2
- package/dist/cli/argv.js +2 -2
- package/dist/cli/banner.js +10 -11
- package/dist/cli/browser-cli-actions-input/register.files-downloads.js +1 -1
- package/dist/cli/browser-cli-examples.js +29 -29
- package/dist/cli/browser-cli-extension.js +5 -5
- package/dist/cli/browser-cli-manage.js +4 -4
- package/dist/cli/browser-cli.js +3 -3
- package/dist/cli/channel-options.js +1 -1
- package/dist/cli/channels-cli.js +1 -1
- package/dist/cli/cli-name.js +4 -8
- package/dist/cli/command-format.js +3 -3
- package/dist/cli/config-cli.js +2 -2
- package/dist/cli/cron-cli/register.js +1 -1
- package/dist/cli/daemon-cli/install.js +2 -2
- package/dist/cli/daemon-cli/register.js +1 -1
- package/dist/cli/daemon-cli/shared.js +11 -13
- package/dist/cli/daemon-cli/status.gather.js +2 -5
- package/dist/cli/daemon-cli/status.print.js +9 -17
- package/dist/cli/directory-cli.js +1 -1
- package/dist/cli/dns-cli.js +20 -13
- package/dist/cli/docs-cli.js +2 -2
- package/dist/cli/exec-approvals-cli.js +2 -2
- package/dist/cli/gateway-cli/dev.js +7 -5
- package/dist/cli/gateway-cli/register.js +12 -6
- package/dist/cli/gateway-cli/run.js +15 -14
- package/dist/cli/gateway-cli/shared.js +5 -5
- package/dist/cli/hooks-cli.js +3 -3
- package/dist/cli/logs-cli.js +3 -3
- package/dist/cli/memory-cli.js +36 -5
- package/dist/cli/models-cli.js +1 -1
- package/dist/cli/node-cli/daemon.js +3 -3
- package/dist/cli/node-cli/register.js +1 -1
- package/dist/cli/nodes-cli/register.canvas.js +1 -1
- package/dist/cli/nodes-cli/register.js +1 -1
- package/dist/cli/nodes-screen.js +1 -1
- package/dist/cli/pairing-cli.js +3 -3
- package/dist/cli/plugin-registry.js +2 -2
- package/dist/cli/plugins-cli.js +3 -3
- package/dist/cli/profile.js +9 -9
- package/dist/cli/program/config-guard.js +1 -1
- package/dist/cli/program/help.js +14 -11
- package/dist/cli/program/preaction.js +1 -1
- package/dist/cli/program/register.agent.js +15 -12
- package/dist/cli/program/register.configure.js +1 -1
- package/dist/cli/program/register.maintenance.js +4 -4
- package/dist/cli/program/register.message.js +5 -5
- package/dist/cli/program/register.onboard.js +5 -3
- package/dist/cli/program/register.setup.js +3 -3
- package/dist/cli/program/register.status-health-sessions.js +13 -13
- package/dist/cli/program/register.subclis.js +7 -2
- package/dist/cli/route.js +1 -1
- package/dist/cli/run-main.js +3 -3
- package/dist/cli/sandbox-cli.js +19 -19
- package/dist/cli/security-cli.js +4 -4
- package/dist/cli/skills-cli.js +3 -3
- package/dist/cli/system-cli.js +1 -1
- package/dist/cli/tagline.js +11 -9
- package/dist/cli/tui-cli.js +1 -1
- package/dist/cli/update-cli.js +48 -45
- package/dist/cli/webhooks-cli.js +6 -6
- package/dist/commands/agent-via-gateway.js +1 -1
- package/dist/commands/agent.js +1 -1
- package/dist/commands/agents.command-shared.js +1 -1
- package/dist/commands/agents.commands.add.js +2 -2
- package/dist/commands/agents.commands.list.js +1 -1
- package/dist/commands/auth-choice-options.js +10 -0
- package/dist/commands/auth-choice.apply.api-providers.js +49 -1
- package/dist/commands/auth-choice.apply.openai.js +1 -1
- package/dist/commands/auth-choice.apply.plugin-provider.js +2 -2
- package/dist/commands/auth-choice.preferred-provider.js +1 -0
- package/dist/commands/channels/shared.js +1 -1
- package/dist/commands/channels/status.js +1 -1
- package/dist/commands/chutes-oauth.js +1 -1
- package/dist/commands/configure.channels.js +2 -2
- package/dist/commands/configure.gateway.js +1 -1
- package/dist/commands/configure.wizard.js +21 -21
- package/dist/commands/daemon-install-helpers.js +2 -2
- package/dist/commands/dashboard.js +2 -2
- package/dist/commands/docs.js +5 -5
- package/dist/commands/doctor-auth.js +5 -5
- package/dist/commands/doctor-config-flow.js +64 -7
- package/dist/commands/doctor-format.js +5 -5
- package/dist/commands/doctor-gateway-daemon-flow.js +7 -4
- package/dist/commands/doctor-gateway-services.js +72 -65
- package/dist/commands/doctor-platform-notes.js +51 -9
- package/dist/commands/doctor-sandbox.js +4 -4
- package/dist/commands/doctor-security.js +7 -7
- package/dist/commands/doctor-state-integrity.js +9 -7
- package/dist/commands/doctor-state-migrations.js +1 -1
- package/dist/commands/doctor-ui.js +2 -2
- package/dist/commands/doctor-update.js +5 -5
- package/dist/commands/doctor-workspace-status.js +2 -2
- package/dist/commands/doctor-workspace.js +5 -27
- package/dist/commands/doctor.js +11 -11
- package/dist/commands/gateway-status/helpers.js +2 -2
- package/dist/commands/gateway-status.js +9 -3
- package/dist/commands/health.js +2 -2
- package/dist/commands/models/auth.js +1 -1
- package/dist/commands/models/list.probe.js +2 -2
- package/dist/commands/models/list.registry.js +4 -4
- package/dist/commands/models/list.status-command.js +4 -4
- package/dist/commands/node-daemon-install-helpers.js +1 -1
- package/dist/commands/onboard-auth.config-core.js +65 -1
- package/dist/commands/onboard-auth.credentials.js +14 -2
- package/dist/commands/onboard-auth.js +2 -2
- package/dist/commands/onboard-channels.js +5 -5
- package/dist/commands/onboard-helpers.js +9 -8
- package/dist/commands/onboard-hooks.js +4 -4
- package/dist/commands/onboard-non-interactive/local/auth-choice.js +21 -1
- package/dist/commands/onboard-non-interactive/local.js +1 -1
- package/dist/commands/onboard-non-interactive/remote.js +1 -1
- package/dist/commands/onboard-non-interactive.js +1 -1
- package/dist/commands/onboard-remote.js +7 -3
- package/dist/commands/onboard-skills.js +2 -2
- package/dist/commands/onboard.js +3 -3
- package/dist/commands/onboarding/plugin-install.js +2 -2
- package/dist/commands/reset.js +3 -3
- package/dist/commands/sandbox-display.js +1 -1
- package/dist/commands/sandbox-explain.js +2 -2
- package/dist/commands/setup.js +9 -7
- package/dist/commands/signal-install.js +2 -2
- package/dist/commands/status-all/diagnosis.js +1 -1
- package/dist/commands/status-all/report-lines.js +1 -1
- package/dist/commands/status-all.js +5 -5
- package/dist/commands/status.command.js +9 -9
- package/dist/commands/status.gateway-probe.js +2 -2
- package/dist/commands/status.scan.js +2 -2
- package/dist/commands/status.update.js +3 -3
- package/dist/commands/uninstall.js +4 -4
- package/dist/compat/legacy-names.js +8 -6
- package/dist/config/config.js +1 -1
- package/dist/config/io.js +13 -14
- package/dist/config/paths.js +107 -33
- package/dist/config/schema.js +14 -12
- package/dist/config/sessions/store.js +1 -1
- package/dist/config/sessions/transcript.js +1 -1
- package/dist/config/types.js +1 -1
- package/dist/config/validation.js +2 -2
- package/dist/config/version.js +4 -4
- package/dist/config/zod-schema.agent-runtime.js +1 -0
- package/dist/config/zod-schema.js +3 -2
- package/dist/config/zod-schema.session.js +6 -1
- package/dist/control-ui/apple-touch-icon.png +0 -0
- package/dist/control-ui/assets/index-BKPyesll.css +1 -0
- package/dist/control-ui/assets/{index-CxLFx0Ae.js → index-DFDgq9AK.js} +397 -366
- package/dist/control-ui/assets/index-DFDgq9AK.js.map +1 -0
- package/dist/control-ui/favicon-32.png +0 -0
- package/dist/control-ui/favicon.svg +22 -0
- package/dist/control-ui/index.html +7 -5
- package/dist/daemon/constants.js +19 -25
- package/dist/daemon/inspect.js +64 -28
- package/dist/daemon/launchd.js +7 -7
- package/dist/daemon/node-service.js +14 -14
- package/dist/daemon/paths.js +3 -3
- package/dist/daemon/program-args.js +1 -1
- package/dist/daemon/schtasks.js +6 -6
- package/dist/daemon/service-env.js +25 -21
- package/dist/daemon/systemd-hints.js +1 -1
- package/dist/daemon/systemd-unit.js +1 -1
- package/dist/daemon/systemd.js +6 -6
- package/dist/discord/send.outbound.js +4 -4
- package/dist/discord/send.shared.js +32 -1
- package/dist/discord/targets.js +79 -0
- package/dist/entry.js +9 -8
- package/dist/gateway/auth.js +6 -3
- package/dist/gateway/call.js +3 -1
- package/dist/gateway/control-ui.js +4 -4
- package/dist/gateway/hooks.js +3 -1
- package/dist/gateway/http-utils.js +5 -3
- package/dist/gateway/openai-http.js +3 -3
- package/dist/gateway/openresponses-http.js +4 -4
- package/dist/gateway/protocol/client-info.js +5 -5
- package/dist/gateway/server/ws-connection/message-handler.js +1 -1
- package/dist/gateway/server-browser.js +2 -2
- package/dist/gateway/server-constants.js +2 -2
- package/dist/gateway/server-cron.js +1 -1
- package/dist/gateway/server-discovery-runtime.js +12 -4
- package/dist/gateway/server-discovery.js +7 -7
- package/dist/gateway/server-http.js +1 -1
- package/dist/gateway/server-methods/config.js +2 -2
- package/dist/gateway/server-methods/logs.js +1 -1
- package/dist/gateway/server-methods/update.js +2 -2
- package/dist/gateway/server-plugins.js +2 -2
- package/dist/gateway/server-reload-handlers.js +5 -5
- package/dist/gateway/server-runtime-config.js +3 -3
- package/dist/gateway/server-startup.js +6 -6
- package/dist/gateway/server.impl.js +8 -7
- package/dist/gateway/session-utils.fs.js +2 -1
- package/dist/gateway/test-helpers.mocks.js +8 -6
- package/dist/gateway/test-helpers.server.js +28 -28
- package/dist/gateway/tools-invoke-http.js +40 -4
- package/dist/hooks/bundled/boot-md/HOOK.md +3 -3
- package/dist/hooks/bundled/command-logger/HOOK.md +12 -12
- package/dist/hooks/bundled/command-logger/handler.js +2 -1
- package/dist/hooks/bundled/session-memory/HOOK.md +30 -7
- package/dist/hooks/bundled/session-memory/handler.js +19 -12
- package/dist/hooks/bundled/soul-evil/HOOK.md +5 -5
- package/dist/hooks/bundled-dir.js +2 -2
- package/dist/hooks/config.js +1 -1
- package/dist/hooks/frontmatter.js +11 -3
- package/dist/hooks/gmail-ops.js +1 -1
- package/dist/hooks/gmail-watcher.js +1 -1
- package/dist/hooks/hooks-status.js +2 -2
- package/dist/hooks/install.js +8 -8
- package/dist/hooks/internal-hooks.js +1 -1
- package/dist/hooks/llm-slug-generator.js +1 -1
- package/dist/hooks/loader.js +1 -1
- package/dist/hooks/plugin-hooks.js +2 -2
- package/dist/hooks/workspace.js +9 -9
- package/dist/imessage/monitor/monitor-provider.js +2 -2
- package/dist/index.js +4 -4
- package/dist/infra/bonjour-discovery.js +21 -17
- package/dist/infra/bonjour.js +10 -9
- package/dist/infra/device-identity.js +1 -1
- package/dist/infra/diagnostic-flags.js +1 -1
- package/dist/infra/dotenv.js +1 -1
- package/dist/infra/exec-approvals.js +2 -2
- package/dist/infra/gateway-lock.js +3 -2
- package/dist/infra/machine-name.js +1 -1
- package/dist/infra/{moltbot-root.js → openclaw-root.js} +2 -2
- package/dist/infra/outbound/outbound-session.js +18 -0
- package/dist/infra/outbound/targets.js +1 -1
- package/dist/infra/path-env.js +10 -9
- package/dist/infra/ports-format.js +3 -2
- package/dist/infra/ports.js +2 -2
- package/dist/infra/provider-usage.auth.js +33 -0
- package/dist/infra/provider-usage.fetch.claude.js +1 -1
- package/dist/infra/provider-usage.fetch.minimax.js +1 -1
- package/dist/infra/provider-usage.load.js +6 -0
- package/dist/infra/provider-usage.shared.js +2 -0
- package/dist/infra/restart-sentinel.js +1 -1
- package/dist/infra/restart.js +4 -4
- package/dist/infra/runtime-guard.js +2 -2
- package/dist/infra/shell-env.js +4 -4
- package/dist/infra/ssh-config.js +2 -1
- package/dist/infra/ssh-tunnel.js +8 -1
- package/dist/infra/state-migrations.js +165 -6
- package/dist/infra/system-presence.js +1 -1
- package/dist/infra/tailscale.js +1 -1
- package/dist/infra/tls/gateway.js +1 -1
- package/dist/infra/unhandled-rejections.js +56 -33
- package/dist/infra/update-check.js +1 -1
- package/dist/infra/update-global.js +21 -11
- package/dist/infra/update-runner.js +7 -7
- package/dist/infra/update-startup.js +3 -3
- package/dist/infra/voicewake.js +1 -1
- package/dist/infra/warnings.js +1 -1
- package/dist/infra/widearea-dns.js +31 -14
- package/dist/logging/logger.js +4 -4
- package/dist/macos/gateway-daemon.js +9 -6
- package/dist/macos/relay-smoke.js +1 -1
- package/dist/macos/relay.js +6 -6
- package/dist/media/host.js +1 -1
- package/dist/media/image-ops.js +3 -3
- package/dist/media/input-files.js +1 -1
- package/dist/media/mime.js +3 -0
- package/dist/media-understanding/apply.js +278 -1
- package/dist/media-understanding/attachments.js +1 -1
- package/dist/media-understanding/providers/image.js +2 -2
- package/dist/media-understanding/runner.js +1 -1
- package/dist/memory/batch-gemini.js +2 -2
- package/dist/memory/batch-openai.js +1 -1
- package/dist/memory/embeddings-gemini.js +1 -1
- package/dist/memory/embeddings.js +1 -1
- package/dist/memory/internal.js +49 -16
- package/dist/memory/manager-cache-key.js +1 -0
- package/dist/memory/manager.js +62 -10
- package/dist/memory/sync-memory-files.js +1 -1
- package/dist/node-host/runner.js +6 -6
- package/dist/pairing/pairing-messages.js +2 -2
- package/dist/plugins/bundled-dir.js +1 -1
- package/dist/plugins/cli.js +2 -2
- package/dist/plugins/config-state.js +60 -0
- package/dist/plugins/discovery.js +14 -12
- package/dist/plugins/install.js +8 -8
- package/dist/plugins/loader.js +4 -7
- package/dist/plugins/manifest-registry.js +4 -4
- package/dist/plugins/manifest.js +4 -7
- package/dist/plugins/providers.js +2 -2
- package/dist/plugins/registry.js +2 -2
- package/dist/plugins/runtime.js +1 -1
- package/dist/plugins/status.js +2 -2
- package/dist/plugins/tools.js +2 -2
- package/dist/plugins/update.js +3 -3
- package/dist/providers/qwen-portal-oauth.js +1 -1
- package/dist/routing/resolve-route.js +2 -0
- package/dist/routing/session-key.js +5 -0
- package/dist/security/audit-extra.js +2 -2
- package/dist/security/audit.js +7 -7
- package/dist/shared/text/reasoning-tags.js +44 -3
- package/dist/slack/monitor/commands.js +4 -3
- package/dist/slack/monitor/slash.js +62 -59
- package/dist/slack/monitor.test-helpers.js +1 -1
- package/dist/telegram/accounts.js +1 -1
- package/dist/telegram/bot/delivery.js +26 -3
- package/dist/telegram/bot/helpers.js +13 -2
- package/dist/telegram/bot-message-context.js +8 -4
- package/dist/telegram/bot-message-dispatch.js +36 -5
- package/dist/telegram/bot-native-commands.js +50 -11
- package/dist/telegram/bot.js +7 -5
- package/dist/telegram/download.js +1 -1
- package/dist/telegram/monitor.js +19 -1
- package/dist/telegram/network-config.js +2 -2
- package/dist/telegram/network-errors.js +4 -0
- package/dist/terminal/links.js +1 -1
- package/dist/tts/tts.js +12 -6
- package/dist/tui/gateway-chat.js +3 -3
- package/dist/tui/tui.js +1 -1
- package/dist/utils.js +12 -3
- package/dist/version.js +3 -3
- package/dist/web/active-listener.js +1 -1
- package/dist/web/auth-store.js +1 -1
- package/dist/web/auto-reply/monitor/broadcast.js +2 -0
- package/dist/web/auto-reply/monitor/process-message.js +1 -1
- package/dist/web/auto-reply/monitor.js +1 -1
- package/dist/web/login.js +1 -1
- package/dist/web/session.js +2 -2
- package/dist/wizard/onboarding.finalize.js +24 -21
- package/dist/wizard/onboarding.gateway-config.js +1 -1
- package/dist/wizard/onboarding.js +11 -11
- package/docs/CNAME +1 -1
- package/docs/_config.yml +3 -3
- package/docs/_layouts/default.html +9 -9
- package/docs/assets/openclaw-logo-text-dark.png +0 -0
- package/docs/assets/openclaw-logo-text.png +0 -0
- package/docs/assets/theme.js +1 -1
- package/docs/automation/auth-monitoring.md +7 -7
- package/docs/automation/cron-jobs.md +19 -19
- package/docs/automation/cron-vs-heartbeat.md +7 -7
- package/docs/automation/gmail-pubsub.md +25 -25
- package/docs/automation/poll.md +7 -7
- package/docs/automation/webhook.md +5 -5
- package/docs/bedrock.md +10 -10
- package/docs/brave-search.md +1 -1
- package/docs/broadcast-groups.md +6 -6
- package/docs/channels/bluebubbles.md +12 -12
- package/docs/channels/discord.md +15 -15
- package/docs/channels/googlechat.md +16 -16
- package/docs/channels/imessage.md +13 -13
- package/docs/channels/index.md +4 -4
- package/docs/channels/line.md +6 -6
- package/docs/channels/location.md +1 -1
- package/docs/channels/matrix.md +14 -14
- package/docs/channels/mattermost.md +8 -8
- package/docs/channels/msteams.md +26 -26
- package/docs/channels/nextcloud-talk.md +7 -7
- package/docs/channels/nostr.md +9 -9
- package/docs/channels/signal.md +9 -9
- package/docs/channels/slack.md +16 -16
- package/docs/channels/telegram.md +23 -23
- package/docs/channels/tlon.md +5 -5
- package/docs/channels/troubleshooting.md +2 -2
- package/docs/channels/twitch.md +14 -14
- package/docs/channels/whatsapp.md +26 -26
- package/docs/channels/zalo.md +8 -8
- package/docs/channels/zalouser.md +12 -12
- package/docs/cli/acp.md +24 -24
- package/docs/cli/agent.md +6 -6
- package/docs/cli/agents.md +12 -12
- package/docs/cli/approvals.md +14 -14
- package/docs/cli/browser.md +24 -24
- package/docs/cli/channels.md +21 -21
- package/docs/cli/config.md +15 -15
- package/docs/cli/configure.md +6 -6
- package/docs/cli/cron.md +5 -5
- package/docs/cli/dashboard.md +4 -4
- package/docs/cli/devices.md +13 -13
- package/docs/cli/directory.md +12 -12
- package/docs/cli/dns.md +5 -6
- package/docs/cli/docs.md +5 -5
- package/docs/cli/doctor.md +11 -11
- package/docs/cli/gateway.md +26 -26
- package/docs/cli/health.md +5 -5
- package/docs/cli/hooks.md +35 -35
- package/docs/cli/index.md +42 -42
- package/docs/cli/logs.md +6 -6
- package/docs/cli/memory.md +12 -11
- package/docs/cli/message.md +11 -11
- package/docs/cli/models.md +15 -15
- package/docs/cli/node.md +14 -14
- package/docs/cli/nodes.md +14 -14
- package/docs/cli/onboard.md +7 -7
- package/docs/cli/pairing.md +4 -4
- package/docs/cli/plugins.md +16 -16
- package/docs/cli/reset.md +5 -5
- package/docs/cli/sandbox.md +28 -28
- package/docs/cli/security.md +6 -6
- package/docs/cli/sessions.md +5 -5
- package/docs/cli/setup.md +6 -6
- package/docs/cli/skills.md +6 -6
- package/docs/cli/status.md +7 -7
- package/docs/cli/system.md +6 -6
- package/docs/cli/tui.md +5 -5
- package/docs/cli/uninstall.md +5 -5
- package/docs/cli/update.md +20 -20
- package/docs/cli/voicecall.md +9 -9
- package/docs/cli/webhooks.md +5 -5
- package/docs/concepts/agent-loop.md +5 -5
- package/docs/concepts/agent-workspace.md +27 -27
- package/docs/concepts/agent.md +12 -12
- package/docs/concepts/architecture.md +2 -2
- package/docs/concepts/channel-routing.md +5 -5
- package/docs/concepts/compaction.md +5 -5
- package/docs/concepts/context.md +6 -6
- package/docs/concepts/group-messages.md +7 -7
- package/docs/concepts/groups.md +5 -5
- package/docs/concepts/markdown-formatting.md +3 -3
- package/docs/concepts/memory.md +41 -19
- package/docs/concepts/messages.md +4 -4
- package/docs/concepts/model-failover.md +14 -14
- package/docs/concepts/model-providers.md +25 -24
- package/docs/concepts/models.md +27 -27
- package/docs/concepts/multi-agent.md +31 -31
- package/docs/concepts/oauth.md +22 -22
- package/docs/concepts/presence.md +2 -2
- package/docs/concepts/retry.md +1 -1
- package/docs/concepts/session-pruning.md +1 -1
- package/docs/concepts/session-tool.md +4 -4
- package/docs/concepts/session.md +18 -16
- package/docs/concepts/streaming.md +3 -3
- package/docs/concepts/system-prompt.md +11 -11
- package/docs/concepts/timezone.md +2 -2
- package/docs/concepts/typebox.md +3 -3
- package/docs/concepts/typing-indicators.md +2 -2
- package/docs/concepts/usage-tracking.md +3 -3
- package/docs/date-time.md +2 -2
- package/docs/debug/node-issue.md +6 -6
- package/docs/debugging.md +18 -18
- package/docs/diagnostics/flags.md +7 -7
- package/docs/docs.json +21 -5
- package/docs/environment.md +7 -7
- package/docs/experiments/plans/cron-add-hardening.md +1 -1
- package/docs/experiments/plans/openresponses-gateway.md +2 -2
- package/docs/experiments/research/memory.md +12 -12
- package/docs/gateway/authentication.md +22 -22
- package/docs/gateway/background-process.md +2 -2
- package/docs/gateway/bonjour.md +25 -25
- package/docs/gateway/bridge-protocol.md +2 -2
- package/docs/gateway/cli-backends.md +12 -12
- package/docs/gateway/configuration-examples.md +26 -25
- package/docs/gateway/configuration.md +155 -153
- package/docs/gateway/discovery.md +10 -10
- package/docs/gateway/doctor.md +27 -27
- package/docs/gateway/gateway-lock.md +1 -1
- package/docs/gateway/health.md +11 -11
- package/docs/gateway/heartbeat.md +5 -5
- package/docs/gateway/index.md +63 -63
- package/docs/gateway/local-models.md +2 -2
- package/docs/gateway/logging.md +8 -8
- package/docs/gateway/multiple-gateways.md +24 -24
- package/docs/gateway/openai-http-api.md +12 -12
- package/docs/gateway/openresponses-http-api.md +12 -12
- package/docs/gateway/pairing.md +9 -9
- package/docs/gateway/protocol.md +4 -4
- package/docs/gateway/remote-gateway-readme.md +10 -10
- package/docs/gateway/remote.md +4 -4
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +7 -7
- package/docs/gateway/sandboxing.md +6 -6
- package/docs/gateway/security/formal-verification.md +67 -14
- package/docs/gateway/security/index.md +56 -59
- package/docs/gateway/tailscale.md +10 -10
- package/docs/gateway/tools-invoke-http-api.md +5 -5
- package/docs/gateway/troubleshooting.md +112 -112
- package/docs/help/faq.md +338 -338
- package/docs/help/troubleshooting.md +16 -16
- package/docs/hooks/soul-evil.md +2 -2
- package/docs/hooks.md +62 -62
- package/docs/index.md +45 -36
- package/docs/install/ansible.md +35 -35
- package/docs/install/development-channels.md +10 -10
- package/docs/install/docker.md +45 -45
- package/docs/install/index.md +33 -33
- package/docs/install/installer.md +24 -24
- package/docs/install/migrating.md +36 -36
- package/docs/install/nix.md +18 -18
- package/docs/install/node.md +4 -4
- package/docs/install/uninstall.md +29 -29
- package/docs/install/updating.md +51 -51
- package/docs/logging.md +59 -59
- package/docs/multi-agent-sandbox-tools.md +15 -15
- package/docs/network.md +1 -1
- package/docs/nodes/audio.md +2 -2
- package/docs/nodes/camera.md +18 -18
- package/docs/nodes/images.md +4 -4
- package/docs/nodes/index.md +57 -57
- package/docs/nodes/location-command.md +2 -2
- package/docs/nodes/media-understanding.md +5 -5
- package/docs/nodes/talk.md +1 -1
- package/docs/nodes/voicewake.md +3 -3
- package/docs/northflank.mdx +9 -9
- package/docs/perplexity.md +2 -2
- package/docs/platforms/android.md +14 -14
- package/docs/platforms/digitalocean.md +26 -26
- package/docs/platforms/exe-dev.md +68 -130
- package/docs/platforms/fly.md +33 -33
- package/docs/platforms/gcp.md +58 -58
- package/docs/platforms/hetzner.md +45 -45
- package/docs/platforms/index.md +8 -8
- package/docs/platforms/ios.md +13 -13
- package/docs/platforms/linux.md +11 -11
- package/docs/platforms/mac/bundled-gateway.md +14 -14
- package/docs/platforms/mac/canvas.md +14 -14
- package/docs/platforms/mac/child-process.md +5 -5
- package/docs/platforms/mac/dev-setup.md +10 -10
- package/docs/platforms/mac/health.md +2 -2
- package/docs/platforms/mac/icon.md +1 -1
- package/docs/platforms/mac/logging.md +4 -4
- package/docs/platforms/mac/menu-bar.md +1 -1
- package/docs/platforms/mac/peekaboo.md +9 -9
- package/docs/platforms/mac/permissions.md +1 -1
- package/docs/platforms/mac/release.md +18 -18
- package/docs/platforms/mac/remote.md +14 -14
- package/docs/platforms/mac/signing.md +7 -7
- package/docs/platforms/mac/skills.md +4 -4
- package/docs/platforms/mac/webchat.md +1 -1
- package/docs/platforms/mac/xpc.md +4 -4
- package/docs/platforms/macos-vm.md +27 -27
- package/docs/platforms/macos.md +16 -16
- package/docs/platforms/oracle.md +35 -35
- package/docs/platforms/raspberry-pi.md +22 -22
- package/docs/platforms/windows.md +11 -11
- package/docs/plugin.md +65 -65
- package/docs/plugins/agent-tools.md +1 -1
- package/docs/plugins/manifest.md +4 -4
- package/docs/plugins/voice-call.md +12 -12
- package/docs/plugins/zalouser.md +9 -9
- package/docs/prose.md +9 -9
- package/docs/providers/anthropic.md +16 -16
- package/docs/providers/claude-max-api-proxy.md +4 -4
- package/docs/providers/deepgram.md +2 -2
- package/docs/providers/github-copilot.md +11 -11
- package/docs/providers/glm.md +4 -4
- package/docs/providers/index.md +4 -3
- package/docs/providers/minimax.md +9 -9
- package/docs/providers/models.md +3 -3
- package/docs/providers/moonshot.md +15 -4
- package/docs/providers/ollama.md +11 -11
- package/docs/providers/openai.md +6 -6
- package/docs/providers/opencode.md +3 -3
- package/docs/providers/openrouter.md +3 -3
- package/docs/providers/qwen.md +6 -6
- package/docs/providers/synthetic.md +4 -4
- package/docs/providers/venice.md +23 -23
- package/docs/providers/vercel-ai-gateway.md +4 -4
- package/docs/providers/xiaomi.md +62 -0
- package/docs/providers/zai.md +5 -5
- package/docs/railway.mdx +8 -8
- package/docs/refactor/exec-host.md +5 -5
- package/docs/refactor/plugin-sdk.md +12 -12
- package/docs/refactor/strict-config.md +11 -11
- package/docs/reference/AGENTS.default.md +17 -17
- package/docs/reference/RELEASING.md +29 -29
- package/docs/reference/api-usage-costs.md +6 -6
- package/docs/reference/device-models.md +7 -7
- package/docs/reference/rpc.md +3 -3
- package/docs/reference/session-management-compaction.md +19 -19
- package/docs/reference/templates/AGENTS.dev.md +1 -1
- package/docs/reference/templates/BOOT.md +1 -1
- package/docs/reference/templates/IDENTITY.md +1 -1
- package/docs/reference/templates/TOOLS.dev.md +1 -1
- package/docs/reference/templates/USER.dev.md +2 -2
- package/docs/reference/test.md +2 -2
- package/docs/reference/transcript-hygiene.md +1 -1
- package/docs/render.mdx +13 -13
- package/docs/scripts.md +1 -1
- package/docs/security/formal-verification.md +66 -13
- package/docs/start/getting-started.md +29 -29
- package/docs/start/hubs.md +2 -2
- package/docs/start/lore.md +14 -14
- package/docs/start/onboarding.md +7 -7
- package/docs/start/{clawd.md → openclaw.md} +35 -35
- package/docs/start/pairing.md +10 -10
- package/docs/start/setup.md +22 -22
- package/docs/start/showcase.md +32 -32
- package/docs/start/wizard.md +30 -30
- package/docs/testing.md +56 -56
- package/docs/token-use.md +7 -7
- package/docs/tools/agent-send.md +10 -10
- package/docs/tools/browser-linux-troubleshooting.md +16 -16
- package/docs/tools/browser-login.md +6 -6
- package/docs/tools/browser.md +126 -126
- package/docs/tools/chrome-extension.md +17 -17
- package/docs/tools/clawdhub.md +7 -7
- package/docs/tools/creating-skills.md +6 -6
- package/docs/tools/exec-approvals.md +5 -5
- package/docs/tools/exec.md +4 -4
- package/docs/tools/firecrawl.md +2 -2
- package/docs/tools/index.md +13 -13
- package/docs/tools/llm-task.md +2 -2
- package/docs/tools/lobster.md +13 -13
- package/docs/tools/skills-config.md +2 -2
- package/docs/tools/skills.md +31 -31
- package/docs/tools/slash-commands.md +8 -8
- package/docs/tools/web.md +8 -8
- package/docs/tts.md +11 -11
- package/docs/tui.md +7 -7
- package/docs/vps.md +1 -1
- package/docs/web/control-ui.md +8 -8
- package/docs/web/dashboard.md +6 -6
- package/docs/web/index.md +5 -5
- package/extensions/bluebubbles/index.ts +3 -3
- package/extensions/bluebubbles/package.json +5 -5
- package/extensions/bluebubbles/src/accounts.ts +9 -9
- package/extensions/bluebubbles/src/actions.test.ts +22 -22
- package/extensions/bluebubbles/src/actions.ts +6 -6
- package/extensions/bluebubbles/src/attachments.ts +2 -2
- package/extensions/bluebubbles/src/channel.ts +17 -17
- package/extensions/bluebubbles/src/chat.ts +2 -2
- package/extensions/bluebubbles/src/config-schema.ts +1 -1
- package/extensions/bluebubbles/src/media-send.ts +2 -2
- package/extensions/bluebubbles/src/monitor.test.ts +48 -48
- package/extensions/bluebubbles/src/monitor.ts +6 -6
- package/extensions/bluebubbles/src/onboarding.ts +9 -9
- package/extensions/bluebubbles/src/reactions.ts +2 -2
- package/extensions/bluebubbles/src/runtime.ts +1 -1
- package/extensions/bluebubbles/src/send.ts +2 -2
- package/extensions/copilot-proxy/README.md +3 -3
- package/extensions/copilot-proxy/index.ts +1 -1
- package/extensions/copilot-proxy/package.json +4 -4
- package/extensions/diagnostics-otel/index.ts +3 -3
- package/extensions/diagnostics-otel/package.json +4 -4
- package/extensions/diagnostics-otel/src/service.test.ts +15 -15
- package/extensions/diagnostics-otel/src/service.ts +85 -85
- package/extensions/discord/index.ts +3 -3
- package/extensions/discord/package.json +4 -4
- package/extensions/discord/src/channel.ts +1 -1
- package/extensions/discord/src/runtime.ts +1 -1
- package/extensions/google-antigravity-auth/README.md +3 -3
- package/extensions/google-antigravity-auth/index.ts +2 -2
- package/extensions/google-antigravity-auth/package.json +4 -4
- package/extensions/google-gemini-cli-auth/README.md +5 -5
- package/extensions/google-gemini-cli-auth/index.ts +3 -3
- package/extensions/google-gemini-cli-auth/oauth.ts +4 -4
- package/extensions/google-gemini-cli-auth/package.json +4 -4
- package/extensions/googlechat/index.ts +4 -4
- package/extensions/googlechat/node_modules/.bin/openclaw +16 -0
- package/extensions/googlechat/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/googlechat/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/googlechat/package.json +7 -7
- package/extensions/googlechat/src/accounts.ts +9 -9
- package/extensions/googlechat/src/actions.ts +8 -8
- package/extensions/googlechat/src/api.ts +1 -1
- package/extensions/googlechat/src/channel.ts +23 -23
- package/extensions/googlechat/src/monitor.ts +9 -9
- package/extensions/googlechat/src/onboarding.ts +11 -11
- package/extensions/googlechat/src/runtime.ts +1 -1
- package/extensions/googlechat/src/types.config.ts +1 -1
- package/extensions/imessage/index.ts +3 -3
- package/extensions/imessage/package.json +4 -4
- package/extensions/imessage/src/channel.ts +1 -1
- package/extensions/imessage/src/runtime.ts +1 -1
- package/extensions/line/index.ts +3 -3
- package/extensions/line/node_modules/.bin/openclaw +16 -0
- package/extensions/line/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/line/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/line/package.json +6 -6
- package/extensions/line/src/card-command.ts +3 -3
- package/extensions/line/src/channel.logout.test.ts +4 -4
- package/extensions/line/src/channel.sendPayload.test.ts +8 -8
- package/extensions/line/src/channel.ts +5 -5
- package/extensions/line/src/runtime.ts +1 -1
- package/extensions/llm-task/README.md +4 -4
- package/extensions/llm-task/index.ts +2 -2
- package/extensions/llm-task/package.json +4 -4
- package/extensions/llm-task/src/llm-task-tool.ts +6 -6
- package/extensions/lobster/README.md +7 -7
- package/extensions/lobster/index.ts +2 -2
- package/extensions/lobster/package.json +3 -3
- package/extensions/lobster/src/lobster-tool.test.ts +7 -7
- package/extensions/lobster/src/lobster-tool.ts +2 -2
- package/extensions/matrix/CHANGELOG.md +14 -9
- package/extensions/matrix/index.ts +3 -3
- package/extensions/matrix/node_modules/.bin/markdown-it +0 -5
- package/extensions/matrix/node_modules/.bin/markdown-it.CMD +0 -5
- package/extensions/matrix/node_modules/.bin/markdown-it.ps1 +0 -13
- package/extensions/matrix/node_modules/.bin/openclaw +16 -0
- package/extensions/matrix/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/matrix/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/matrix/package.json +6 -6
- package/extensions/matrix/src/actions.ts +1 -1
- package/extensions/matrix/src/channel.directory.test.ts +1 -1
- package/extensions/matrix/src/channel.ts +1 -1
- package/extensions/matrix/src/config-schema.ts +1 -1
- package/extensions/matrix/src/directory-live.ts +1 -1
- package/extensions/matrix/src/group-mentions.ts +1 -1
- package/extensions/matrix/src/matrix/accounts.ts +1 -1
- package/extensions/matrix/src/matrix/actions/client.ts +1 -1
- package/extensions/matrix/src/matrix/client/config.ts +1 -1
- package/extensions/matrix/src/matrix/deps.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/allowlist.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/auto-join.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/events.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/handler.ts +5 -5
- package/extensions/matrix/src/matrix/monitor/index.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/location.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/media.test.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/replies.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/rooms.ts +1 -1
- package/extensions/matrix/src/matrix/poll-types.ts +1 -1
- package/extensions/matrix/src/matrix/send/client.ts +1 -1
- package/extensions/matrix/src/matrix/send.test.ts +1 -1
- package/extensions/matrix/src/matrix/send.ts +1 -1
- package/extensions/matrix/src/onboarding.ts +2 -2
- package/extensions/matrix/src/outbound.ts +1 -1
- package/extensions/matrix/src/resolve-targets.ts +1 -1
- package/extensions/matrix/src/runtime.ts +1 -1
- package/extensions/matrix/src/tool-actions.ts +1 -1
- package/extensions/mattermost/index.ts +3 -3
- package/extensions/mattermost/package.json +5 -5
- package/extensions/mattermost/src/channel.ts +1 -1
- package/extensions/mattermost/src/config-schema.ts +1 -1
- package/extensions/mattermost/src/group-mentions.ts +1 -1
- package/extensions/mattermost/src/mattermost/accounts.ts +9 -9
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +5 -5
- package/extensions/mattermost/src/mattermost/monitor.ts +4 -4
- package/extensions/mattermost/src/onboarding-helpers.ts +4 -4
- package/extensions/mattermost/src/onboarding.ts +4 -4
- package/extensions/mattermost/src/runtime.ts +1 -1
- package/extensions/mattermost/src/types.ts +1 -1
- package/extensions/memory-core/index.ts +3 -3
- package/extensions/memory-core/node_modules/.bin/openclaw +16 -0
- package/extensions/memory-core/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/memory-core/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/memory-core/package.json +6 -6
- package/extensions/memory-lancedb/config.ts +26 -2
- package/extensions/memory-lancedb/index.test.ts +3 -3
- package/extensions/memory-lancedb/index.ts +4 -4
- package/extensions/memory-lancedb/node_modules/.bin/openai +0 -5
- package/extensions/memory-lancedb/node_modules/.bin/openai.CMD +0 -5
- package/extensions/memory-lancedb/node_modules/.bin/openai.ps1 +0 -13
- package/extensions/memory-lancedb/{clawdbot.plugin.json → openclaw.plugin.json} +1 -1
- package/extensions/memory-lancedb/package.json +4 -4
- package/extensions/msteams/CHANGELOG.md +12 -7
- package/extensions/msteams/index.ts +3 -3
- package/extensions/msteams/node_modules/.bin/openclaw +16 -0
- package/extensions/msteams/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/msteams/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/msteams/package.json +6 -6
- package/extensions/msteams/src/attachments.test.ts +1 -1
- package/extensions/msteams/src/channel.directory.test.ts +2 -2
- package/extensions/msteams/src/channel.ts +3 -3
- package/extensions/msteams/src/conversation-store-fs.test.ts +6 -5
- package/extensions/msteams/src/directory-live.ts +1 -1
- package/extensions/msteams/src/graph-upload.ts +4 -4
- package/extensions/msteams/src/media-helpers.ts +1 -1
- package/extensions/msteams/src/messenger.test.ts +1 -1
- package/extensions/msteams/src/messenger.ts +1 -1
- package/extensions/msteams/src/monitor-handler/message-handler.ts +1 -1
- package/extensions/msteams/src/monitor-handler.ts +2 -2
- package/extensions/msteams/src/monitor.ts +3 -3
- package/extensions/msteams/src/onboarding.ts +11 -11
- package/extensions/msteams/src/outbound.ts +1 -1
- package/extensions/msteams/src/policy.test.ts +1 -1
- package/extensions/msteams/src/policy.ts +2 -2
- package/extensions/msteams/src/polls-store.test.ts +1 -1
- package/extensions/msteams/src/polls.test.ts +6 -5
- package/extensions/msteams/src/polls.ts +9 -8
- package/extensions/msteams/src/probe.test.ts +1 -1
- package/extensions/msteams/src/probe.ts +1 -1
- package/extensions/msteams/src/reply-dispatcher.ts +3 -3
- package/extensions/msteams/src/runtime.ts +1 -1
- package/extensions/msteams/src/send-context.ts +2 -2
- package/extensions/msteams/src/send.ts +5 -5
- package/extensions/msteams/src/token.ts +1 -1
- package/extensions/nextcloud-talk/index.ts +3 -3
- package/extensions/nextcloud-talk/package.json +5 -5
- package/extensions/nextcloud-talk/src/accounts.ts +2 -2
- package/extensions/nextcloud-talk/src/channel.ts +8 -8
- package/extensions/nextcloud-talk/src/config-schema.ts +1 -1
- package/extensions/nextcloud-talk/src/inbound.ts +8 -8
- package/extensions/nextcloud-talk/src/monitor.ts +1 -1
- package/extensions/nextcloud-talk/src/onboarding.ts +2 -2
- package/extensions/nextcloud-talk/src/policy.ts +2 -2
- package/extensions/nextcloud-talk/src/room-info.ts +1 -1
- package/extensions/nextcloud-talk/src/runtime.ts +1 -1
- package/extensions/nextcloud-talk/src/types.ts +1 -1
- package/extensions/nostr/CHANGELOG.md +9 -4
- package/extensions/nostr/README.md +5 -5
- package/extensions/nostr/index.ts +6 -6
- package/extensions/nostr/node_modules/.bin/openclaw +16 -0
- package/extensions/nostr/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/nostr/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/nostr/package.json +6 -6
- package/extensions/nostr/src/channel.ts +2 -2
- package/extensions/nostr/src/config-schema.ts +1 -1
- package/extensions/nostr/src/nostr-state-store.test.ts +9 -8
- package/extensions/nostr/src/runtime.ts +1 -1
- package/extensions/nostr/src/types.ts +4 -4
- package/extensions/open-prose/index.ts +2 -2
- package/extensions/open-prose/package.json +3 -3
- package/extensions/open-prose/skills/prose/SKILL.md +5 -5
- package/extensions/open-prose/skills/prose/prose.md +4 -4
- package/extensions/qwen-portal-auth/README.md +3 -3
- package/extensions/qwen-portal-auth/index.ts +1 -1
- package/extensions/signal/index.ts +3 -3
- package/extensions/signal/package.json +4 -4
- package/extensions/signal/src/channel.ts +1 -1
- package/extensions/signal/src/runtime.ts +1 -1
- package/extensions/slack/index.ts +3 -3
- package/extensions/slack/package.json +4 -4
- package/extensions/slack/src/channel.ts +1 -1
- package/extensions/slack/src/runtime.ts +1 -1
- package/extensions/telegram/index.ts +3 -3
- package/extensions/telegram/package.json +4 -4
- package/extensions/telegram/src/channel.ts +3 -3
- package/extensions/telegram/src/runtime.ts +1 -1
- package/extensions/tlon/README.md +3 -3
- package/extensions/tlon/index.ts +3 -3
- package/extensions/tlon/package.json +5 -5
- package/extensions/tlon/src/channel.ts +15 -15
- package/extensions/tlon/src/config-schema.ts +1 -1
- package/extensions/tlon/src/monitor/discovery.ts +1 -1
- package/extensions/tlon/src/monitor/history.ts +1 -1
- package/extensions/tlon/src/monitor/index.ts +3 -3
- package/extensions/tlon/src/onboarding.ts +4 -4
- package/extensions/tlon/src/runtime.ts +1 -1
- package/extensions/tlon/src/types.ts +3 -3
- package/extensions/twitch/CHANGELOG.md +6 -1
- package/extensions/twitch/README.md +8 -8
- package/extensions/twitch/index.ts +3 -3
- package/extensions/twitch/node_modules/.bin/openclaw +16 -0
- package/extensions/twitch/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/twitch/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/twitch/package.json +5 -5
- package/extensions/twitch/src/actions.ts +1 -1
- package/extensions/twitch/src/config-schema.ts +1 -1
- package/extensions/twitch/src/config.ts +3 -3
- package/extensions/twitch/src/monitor.ts +3 -3
- package/extensions/twitch/src/onboarding.test.ts +1 -1
- package/extensions/twitch/src/onboarding.ts +13 -13
- package/extensions/twitch/src/outbound.test.ts +2 -2
- package/extensions/twitch/src/outbound.ts +2 -2
- package/extensions/twitch/src/plugin.test.ts +2 -2
- package/extensions/twitch/src/plugin.ts +9 -9
- package/extensions/twitch/src/runtime.ts +1 -1
- package/extensions/twitch/src/send.test.ts +2 -2
- package/extensions/twitch/src/send.ts +5 -5
- package/extensions/twitch/src/token.test.ts +12 -12
- package/extensions/twitch/src/token.ts +7 -7
- package/extensions/twitch/src/twitch-client.ts +4 -4
- package/extensions/twitch/src/types.ts +3 -3
- package/extensions/twitch/src/utils/markdown.ts +1 -1
- package/extensions/voice-call/CHANGELOG.md +16 -11
- package/extensions/voice-call/README.md +16 -16
- package/extensions/voice-call/package.json +4 -4
- package/extensions/voice-call/src/cli.ts +16 -4
- package/extensions/voice-call/src/core-bridge.ts +5 -5
- package/extensions/voice-call/src/manager.test.ts +2 -2
- package/extensions/voice-call/src/manager.ts +17 -5
- package/extensions/voice-call/src/response-generator.ts +1 -1
- package/extensions/whatsapp/index.ts +3 -3
- package/extensions/whatsapp/package.json +4 -4
- package/extensions/whatsapp/src/channel.ts +1 -1
- package/extensions/whatsapp/src/runtime.ts +1 -1
- package/extensions/zalo/CHANGELOG.md +14 -9
- package/extensions/zalo/README.md +4 -4
- package/extensions/zalo/index.ts +3 -3
- package/extensions/zalo/node_modules/.bin/openclaw +16 -0
- package/extensions/zalo/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/zalo/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/zalo/package.json +6 -6
- package/extensions/zalo/src/accounts.ts +9 -9
- package/extensions/zalo/src/actions.ts +6 -6
- package/extensions/zalo/src/channel.directory.test.ts +2 -2
- package/extensions/zalo/src/channel.ts +20 -20
- package/extensions/zalo/src/config-schema.ts +1 -1
- package/extensions/zalo/src/monitor.ts +9 -9
- package/extensions/zalo/src/monitor.webhook.test.ts +2 -2
- package/extensions/zalo/src/onboarding.ts +27 -27
- package/extensions/zalo/src/runtime.ts +1 -1
- package/extensions/zalo/src/send.ts +2 -2
- package/extensions/zalo/src/status-issues.ts +1 -1
- package/extensions/zalo/src/token.ts +1 -1
- package/extensions/zalouser/CHANGELOG.md +9 -4
- package/extensions/zalouser/README.md +18 -18
- package/extensions/zalouser/index.ts +3 -3
- package/extensions/zalouser/node_modules/.bin/openclaw +16 -0
- package/extensions/zalouser/node_modules/.bin/openclaw.CMD +7 -0
- package/extensions/zalouser/node_modules/.bin/openclaw.ps1 +28 -0
- package/extensions/zalouser/package.json +6 -6
- package/extensions/zalouser/src/accounts.ts +10 -10
- package/extensions/zalouser/src/channel.ts +27 -27
- package/extensions/zalouser/src/config-schema.ts +1 -1
- package/extensions/zalouser/src/monitor.ts +5 -5
- package/extensions/zalouser/src/onboarding.ts +32 -32
- package/extensions/zalouser/src/runtime.ts +1 -1
- package/extensions/zalouser/src/status-issues.ts +2 -2
- package/openclaw.mjs +14 -0
- package/package.json +35 -25
- package/scripts/postinstall.js +1 -0
- package/skills/1password/SKILL.md +3 -3
- package/skills/apple-notes/SKILL.md +2 -2
- package/skills/apple-reminders/SKILL.md +1 -1
- package/skills/bear-notes/SKILL.md +1 -1
- package/skills/bird/SKILL.md +1 -1
- package/skills/blogwatcher/SKILL.md +1 -1
- package/skills/blucli/SKILL.md +1 -1
- package/skills/bluebubbles/SKILL.md +1 -1
- package/skills/camsnap/SKILL.md +1 -1
- package/skills/canvas/SKILL.md +6 -6
- package/skills/clawdhub/SKILL.md +2 -2
- package/skills/coding-agent/SKILL.md +6 -6
- package/skills/discord/SKILL.md +5 -5
- package/skills/eightctl/SKILL.md +1 -1
- package/skills/food-order/SKILL.md +1 -1
- package/skills/gemini/SKILL.md +1 -1
- package/skills/gifgrep/SKILL.md +1 -1
- package/skills/github/SKILL.md +1 -1
- package/skills/gog/SKILL.md +1 -1
- package/skills/goplaces/SKILL.md +1 -1
- package/skills/himalaya/SKILL.md +1 -1
- package/skills/imsg/SKILL.md +1 -1
- package/skills/local-places/SKILL.md +1 -1
- package/skills/mcporter/SKILL.md +1 -1
- package/skills/model-usage/SKILL.md +1 -1
- package/skills/nano-banana-pro/SKILL.md +3 -3
- package/skills/nano-banana-pro/scripts/generate_image.py +1 -1
- package/skills/nano-pdf/SKILL.md +1 -1
- package/skills/notion/SKILL.md +1 -1
- package/skills/obsidian/SKILL.md +1 -1
- package/skills/openai-image-gen/SKILL.md +1 -1
- package/skills/openai-whisper/SKILL.md +1 -1
- package/skills/openai-whisper-api/SKILL.md +2 -2
- package/skills/openhue/SKILL.md +1 -1
- package/skills/oracle/SKILL.md +1 -1
- package/skills/ordercli/SKILL.md +1 -1
- package/skills/peekaboo/SKILL.md +1 -1
- package/skills/sag/SKILL.md +1 -1
- package/skills/session-logs/SKILL.md +1 -1
- package/skills/sherpa-onnx-tts/SKILL.md +2 -2
- package/skills/slack/SKILL.md +4 -4
- package/skills/songsee/SKILL.md +1 -1
- package/skills/sonoscli/SKILL.md +1 -1
- package/skills/spotify-player/SKILL.md +1 -1
- package/skills/summarize/SKILL.md +1 -1
- package/skills/things-mac/SKILL.md +3 -3
- package/skills/tmux/SKILL.md +7 -7
- package/skills/trello/SKILL.md +2 -2
- package/skills/video-frames/SKILL.md +1 -1
- package/skills/voice-call/SKILL.md +4 -4
- package/skills/wacli/SKILL.md +2 -2
- package/skills/weather/SKILL.md +1 -1
- package/dist/control-ui/assets/index-BAFzd9IE.css +0 -1
- package/dist/control-ui/assets/index-CxLFx0Ae.js.map +0 -1
- package/dist/control-ui/pixel_pig_icon.png +0 -0
- package/dist/daemon/legacy.js +0 -44
- /package/dist/config/{types.clawdbot.js → types.openclaw.js} +0 -0
- /package/docs/{whatsapp-clawd.jpg → whatsapp-openclaw.jpg} +0 -0
- /package/extensions/bluebubbles/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/copilot-proxy/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/diagnostics-otel/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/discord/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/google-antigravity-auth/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/google-gemini-cli-auth/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/googlechat/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/imessage/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/line/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/llm-task/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/lobster/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/matrix/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/mattermost/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/memory-core/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/msteams/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/nextcloud-talk/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/nostr/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/open-prose/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/qwen-portal-auth/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/signal/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/slack/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/telegram/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/tlon/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/twitch/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/voice-call/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/whatsapp/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/zalo/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
- /package/extensions/zalouser/{clawdbot.plugin.json → openclaw.plugin.json} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Creating Custom Skills 🛠
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
OpenClaw is designed to be easily extensible. "Skills" are the primary way to add new capabilities to your assistant.
|
|
4
4
|
|
|
5
5
|
## What is a Skill?
|
|
6
6
|
A skill is a directory containing a `SKILL.md` file (which provides instructions and tool definitions to the LLM) and optionally some scripts or resources.
|
|
@@ -8,9 +8,9 @@ A skill is a directory containing a `SKILL.md` file (which provides instructions
|
|
|
8
8
|
## Step-by-Step: Your First Skill
|
|
9
9
|
|
|
10
10
|
### 1. Create the Directory
|
|
11
|
-
Skills live in your workspace, usually
|
|
11
|
+
Skills live in your workspace, usually `~/.openclaw/workspace/skills/`. Create a new folder for your skill:
|
|
12
12
|
```bash
|
|
13
|
-
mkdir -p
|
|
13
|
+
mkdir -p ~/.openclaw/workspace/skills/hello-world
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
### 2. Define the `SKILL.md`
|
|
@@ -29,13 +29,13 @@ When the user asks for a greeting, use the `echo` tool to say "Hello from your c
|
|
|
29
29
|
### 3. Add Tools (Optional)
|
|
30
30
|
You can define custom tools in the frontmatter or instruct the agent to use existing system tools (like `bash` or `browser`).
|
|
31
31
|
|
|
32
|
-
### 4. Refresh
|
|
33
|
-
Ask your agent to "refresh skills" or restart the gateway.
|
|
32
|
+
### 4. Refresh OpenClaw
|
|
33
|
+
Ask your agent to "refresh skills" or restart the gateway. OpenClaw will discover the new directory and index the `SKILL.md`.
|
|
34
34
|
|
|
35
35
|
## Best Practices
|
|
36
36
|
- **Be Concise**: Instruct the model on *what* to do, not how to be an AI.
|
|
37
37
|
- **Safety First**: If your skill uses `bash`, ensure the prompts don't allow arbitrary command injection from untrusted user input.
|
|
38
|
-
- **Test Locally**: Use `
|
|
38
|
+
- **Test Locally**: Use `openclaw agent --message "use my new skill"` to test.
|
|
39
39
|
|
|
40
40
|
## Shared Skills
|
|
41
41
|
You can also browse and contribute skills to [ClawdHub](https://clawdhub.com).
|
|
@@ -20,7 +20,7 @@ resolved by the **ask fallback** (default: deny).
|
|
|
20
20
|
## Where it applies
|
|
21
21
|
|
|
22
22
|
Exec approvals are enforced locally on the execution host:
|
|
23
|
-
- **gateway host** → `
|
|
23
|
+
- **gateway host** → `openclaw` process on the gateway machine
|
|
24
24
|
- **node host** → node runner (macOS companion app or headless node host)
|
|
25
25
|
|
|
26
26
|
macOS split:
|
|
@@ -31,14 +31,14 @@ macOS split:
|
|
|
31
31
|
|
|
32
32
|
Approvals live in a local JSON file on the execution host:
|
|
33
33
|
|
|
34
|
-
`~/.
|
|
34
|
+
`~/.openclaw/exec-approvals.json`
|
|
35
35
|
|
|
36
36
|
Example schema:
|
|
37
37
|
```json
|
|
38
38
|
{
|
|
39
39
|
"version": 1,
|
|
40
40
|
"socket": {
|
|
41
|
-
"path": "~/.
|
|
41
|
+
"path": "~/.openclaw/exec-approvals.sock",
|
|
42
42
|
"token": "base64url-token"
|
|
43
43
|
},
|
|
44
44
|
"defaults": {
|
|
@@ -131,9 +131,9 @@ per pattern so you can keep the list tidy.
|
|
|
131
131
|
The target selector chooses **Gateway** (local approvals) or a **Node**. Nodes
|
|
132
132
|
must advertise `system.execApprovals.get/set` (macOS app or headless node host).
|
|
133
133
|
If a node does not advertise exec approvals yet, edit its local
|
|
134
|
-
`~/.
|
|
134
|
+
`~/.openclaw/exec-approvals.json` directly.
|
|
135
135
|
|
|
136
|
-
CLI: `
|
|
136
|
+
CLI: `openclaw approvals` supports gateway or node editing (see [Approvals CLI](/cli/approvals)).
|
|
137
137
|
|
|
138
138
|
## Approval flow
|
|
139
139
|
|
package/docs/tools/exec.md
CHANGED
|
@@ -29,7 +29,7 @@ Background sessions are scoped per agent; `process` only sees sessions from the
|
|
|
29
29
|
Notes:
|
|
30
30
|
- `host` defaults to `sandbox`.
|
|
31
31
|
- `elevated` is ignored when sandboxing is off (exec already runs on the host).
|
|
32
|
-
- `gateway`/`node` approvals are controlled by `~/.
|
|
32
|
+
- `gateway`/`node` approvals are controlled by `~/.openclaw/exec-approvals.json`.
|
|
33
33
|
- `node` requires a paired node (companion app or headless node host).
|
|
34
34
|
- If multiple nodes are available, set `exec.node` or `tools.exec.node` to select one.
|
|
35
35
|
- On non-Windows hosts, exec uses `SHELL` when set; if `SHELL` is `fish`, it prefers `bash` (or `sh`)
|
|
@@ -67,7 +67,7 @@ Example:
|
|
|
67
67
|
- macOS: `/opt/homebrew/bin`, `/usr/local/bin`, `/usr/bin`, `/bin`
|
|
68
68
|
- Linux: `/usr/local/bin`, `/usr/bin`, `/bin`
|
|
69
69
|
- `host=sandbox`: runs `sh -lc` (login shell) inside the container, so `/etc/profile` may reset `PATH`.
|
|
70
|
-
|
|
70
|
+
OpenClaw prepends `env.PATH` after profile sourcing via an internal env var (no shell interpolation);
|
|
71
71
|
`tools.exec.pathPrepend` applies here too.
|
|
72
72
|
- `host=node`: only env overrides you pass are sent to the node. `tools.exec.pathPrepend` only applies
|
|
73
73
|
if the exec call already sets `env.PATH`. Headless node hosts accept `PATH` only when it prepends
|
|
@@ -76,8 +76,8 @@ Example:
|
|
|
76
76
|
Per-agent node binding (use the agent list index in config):
|
|
77
77
|
|
|
78
78
|
```bash
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
openclaw config get agents.list
|
|
80
|
+
openclaw config set agents.list[0].tools.exec.node "node-id-or-name"
|
|
81
81
|
```
|
|
82
82
|
|
|
83
83
|
Control UI: the Nodes tab includes a small “Exec node binding” panel for the same settings.
|
package/docs/tools/firecrawl.md
CHANGED
|
@@ -8,7 +8,7 @@ read_when:
|
|
|
8
8
|
|
|
9
9
|
# Firecrawl
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
OpenClaw can use **Firecrawl** as a fallback extractor for `web_fetch`. It is a hosted
|
|
12
12
|
content extraction service that supports bot circumvention and caching, which helps
|
|
13
13
|
with JS-heavy sites or pages that block plain HTTP fetches.
|
|
14
14
|
|
|
@@ -44,7 +44,7 @@ Notes:
|
|
|
44
44
|
## Stealth / bot circumvention
|
|
45
45
|
|
|
46
46
|
Firecrawl exposes a **proxy mode** parameter for bot circumvention (`basic`, `stealth`, or `auto`).
|
|
47
|
-
|
|
47
|
+
OpenClaw always uses `proxy: "auto"` plus `storeInCache: true` for Firecrawl requests.
|
|
48
48
|
If proxy is omitted, Firecrawl defaults to `auto`. `auto` retries with stealth proxies if a basic attempt fails, which may use more credits
|
|
49
49
|
than basic-only scraping.
|
|
50
50
|
|
package/docs/tools/index.md
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "Agent tool surface for
|
|
2
|
+
summary: "Agent tool surface for OpenClaw (browser, canvas, nodes, message, cron) replacing legacy `openclaw-*` skills"
|
|
3
3
|
read_when:
|
|
4
4
|
- Adding or modifying agent tools
|
|
5
|
-
- Retiring or changing `
|
|
5
|
+
- Retiring or changing `openclaw-*` skills
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# Tools (
|
|
8
|
+
# Tools (OpenClaw)
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
These replace the old `
|
|
10
|
+
OpenClaw exposes **first-class agent tools** for browser, canvas, nodes, and cron.
|
|
11
|
+
These replace the old `openclaw-*` skills: the tools are typed, no shelling,
|
|
12
12
|
and the agent should rely on them directly.
|
|
13
13
|
|
|
14
14
|
## Disabling tools
|
|
15
15
|
|
|
16
|
-
You can globally allow/deny tools via `tools.allow` / `tools.deny` in `
|
|
16
|
+
You can globally allow/deny tools via `tools.allow` / `tools.deny` in `openclaw.json`
|
|
17
17
|
(deny wins). This prevents disallowed tools from being sent to model providers.
|
|
18
18
|
|
|
19
19
|
```json5
|
|
@@ -25,7 +25,7 @@ You can globally allow/deny tools via `tools.allow` / `tools.deny` in `moltbot.j
|
|
|
25
25
|
Notes:
|
|
26
26
|
- Matching is case-insensitive.
|
|
27
27
|
- `*` wildcards are supported (`"*"` means all tools).
|
|
28
|
-
- If `tools.allow` only references unknown or unloaded plugin tool names,
|
|
28
|
+
- If `tools.allow` only references unknown or unloaded plugin tool names, OpenClaw logs a warning and ignores the allowlist so core tools stay available.
|
|
29
29
|
|
|
30
30
|
## Tool profiles (base allowlist)
|
|
31
31
|
|
|
@@ -141,7 +141,7 @@ Available groups:
|
|
|
141
141
|
- `group:automation`: `cron`, `gateway`
|
|
142
142
|
- `group:messaging`: `message`
|
|
143
143
|
- `group:nodes`: `nodes`
|
|
144
|
-
- `group:
|
|
144
|
+
- `group:openclaw`: all built-in OpenClaw tools (excludes provider plugins)
|
|
145
145
|
|
|
146
146
|
Example (allow only file tools + browser):
|
|
147
147
|
```json5
|
|
@@ -190,7 +190,7 @@ Notes:
|
|
|
190
190
|
- If `process` is disallowed, `exec` runs synchronously and ignores `yieldMs`/`background`.
|
|
191
191
|
- `elevated` is gated by `tools.elevated` plus any `agents.list[].tools.elevated` override (both must allow) and is an alias for `host=gateway` + `security=full`.
|
|
192
192
|
- `elevated` only changes behavior when the agent is sandboxed (otherwise it’s a no-op).
|
|
193
|
-
- `host=node` can target a macOS companion app or a headless node host (`
|
|
193
|
+
- `host=node` can target a macOS companion app or a headless node host (`openclaw node run`).
|
|
194
194
|
- gateway/node approvals and allowlists: [Exec approvals](/tools/exec-approvals).
|
|
195
195
|
|
|
196
196
|
### `process`
|
|
@@ -212,7 +212,7 @@ Core parameters:
|
|
|
212
212
|
- `count` (1–10; default from `tools.web.search.maxResults`)
|
|
213
213
|
|
|
214
214
|
Notes:
|
|
215
|
-
- Requires a Brave API key (recommended: `
|
|
215
|
+
- Requires a Brave API key (recommended: `openclaw configure --section web`, or set `BRAVE_API_KEY`).
|
|
216
216
|
- Enable via `tools.web.search.enabled`.
|
|
217
217
|
- Responses are cached (default 15 min).
|
|
218
218
|
- See [Web tools](/tools/web) for setup.
|
|
@@ -233,7 +233,7 @@ Notes:
|
|
|
233
233
|
- See [Firecrawl](/tools/firecrawl) for the optional anti-bot fallback.
|
|
234
234
|
|
|
235
235
|
### `browser`
|
|
236
|
-
Control the dedicated
|
|
236
|
+
Control the dedicated OpenClaw-managed browser.
|
|
237
237
|
|
|
238
238
|
Core actions:
|
|
239
239
|
- `status`, `start`, `stop`, `tabs`, `open`, `focus`, `close`
|
|
@@ -279,7 +279,7 @@ Notes:
|
|
|
279
279
|
- Uses gateway `node.invoke` under the hood.
|
|
280
280
|
- If no `node` is provided, the tool picks a default (single connected node or local mac node).
|
|
281
281
|
- A2UI is v0.8 only (no `createSurface`); the CLI rejects v0.9 JSONL with line errors.
|
|
282
|
-
- Quick smoke: `
|
|
282
|
+
- Quick smoke: `openclaw nodes canvas a2ui push --node <id> --text "Hello from A2UI"`.
|
|
283
283
|
|
|
284
284
|
### `nodes`
|
|
285
285
|
Discover and target paired nodes; send notifications; capture camera/screen.
|
|
@@ -366,7 +366,7 @@ Notes:
|
|
|
366
366
|
Restart or apply updates to the running Gateway process (in-place).
|
|
367
367
|
|
|
368
368
|
Core actions:
|
|
369
|
-
- `restart` (authorizes + sends `SIGUSR1` for in-process restart; `
|
|
369
|
+
- `restart` (authorizes + sends `SIGUSR1` for in-process restart; `openclaw gateway` restart in-place)
|
|
370
370
|
- `config.get` / `config.schema`
|
|
371
371
|
- `config.apply` (validate + write config + restart + wake)
|
|
372
372
|
- `config.patch` (merge partial update + restart + wake)
|
package/docs/tools/llm-task.md
CHANGED
|
@@ -11,7 +11,7 @@ read_when:
|
|
|
11
11
|
returns structured output (optionally validated against JSON Schema).
|
|
12
12
|
|
|
13
13
|
This is ideal for workflow engines like Lobster: you can add a single LLM step
|
|
14
|
-
without writing custom
|
|
14
|
+
without writing custom OpenClaw code for each workflow.
|
|
15
15
|
|
|
16
16
|
## Enable the plugin
|
|
17
17
|
|
|
@@ -87,7 +87,7 @@ Returns `details.json` containing the parsed JSON (and validates against
|
|
|
87
87
|
## Example: Lobster workflow step
|
|
88
88
|
|
|
89
89
|
```lobster
|
|
90
|
-
|
|
90
|
+
openclaw.invoke --tool llm-task --action json --args-json '{
|
|
91
91
|
"prompt": "Given the input email, return intent and draft.",
|
|
92
92
|
"input": {
|
|
93
93
|
"subject": "Hello",
|
package/docs/tools/lobster.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Lobster
|
|
3
|
-
summary: "Typed workflow runtime for
|
|
4
|
-
description: Typed workflow runtime for
|
|
3
|
+
summary: "Typed workflow runtime for OpenClaw with resumable approval gates."
|
|
4
|
+
description: Typed workflow runtime for OpenClaw — composable pipelines with approval gates.
|
|
5
5
|
read_when:
|
|
6
6
|
- You want deterministic multi-step workflows with explicit approvals
|
|
7
7
|
- You need to resume a workflow without re-running earlier steps
|
|
@@ -9,7 +9,7 @@ read_when:
|
|
|
9
9
|
|
|
10
10
|
# Lobster
|
|
11
11
|
|
|
12
|
-
Lobster is a workflow shell that lets
|
|
12
|
+
Lobster is a workflow shell that lets OpenClaw run multi-step tool sequences as a single, deterministic operation with explicit approval checkpoints.
|
|
13
13
|
|
|
14
14
|
## Hook
|
|
15
15
|
|
|
@@ -19,7 +19,7 @@ Your assistant can build the tools that manage itself. Ask for a workflow, and 3
|
|
|
19
19
|
|
|
20
20
|
Today, complex workflows require many back-and-forth tool calls. Each call costs tokens, and the LLM has to orchestrate every step. Lobster moves that orchestration into a typed runtime:
|
|
21
21
|
|
|
22
|
-
- **One call instead of many**:
|
|
22
|
+
- **One call instead of many**: OpenClaw runs one Lobster tool call and gets a structured result.
|
|
23
23
|
- **Approvals built in**: Side effects (send email, post comment) halt the workflow until explicitly approved.
|
|
24
24
|
- **Resumable**: Halted workflows return a token; approve and resume without re-running everything.
|
|
25
25
|
|
|
@@ -35,7 +35,7 @@ Lobster is intentionally small. The goal is not "a new language," it's a predict
|
|
|
35
35
|
|
|
36
36
|
## How it works
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
OpenClaw launches the local `lobster` CLI in **tool mode** and parses a JSON envelope from stdout.
|
|
39
39
|
If the pipeline pauses for approval, the tool returns a `resumeToken` so you can continue later.
|
|
40
40
|
|
|
41
41
|
## Pattern: small CLI + JSON pipes + approvals
|
|
@@ -72,7 +72,7 @@ Example: map input items into tool calls:
|
|
|
72
72
|
|
|
73
73
|
```bash
|
|
74
74
|
gog.gmail.search --query 'newer_than:1d' \
|
|
75
|
-
|
|
|
75
|
+
| openclaw.invoke --tool message --action send --each --item-key message --args-json '{"provider":"telegram","to":"..."}'
|
|
76
76
|
```
|
|
77
77
|
|
|
78
78
|
## JSON-only LLM steps (llm-task)
|
|
@@ -104,7 +104,7 @@ Enable the tool:
|
|
|
104
104
|
Use it in a pipeline:
|
|
105
105
|
|
|
106
106
|
```lobster
|
|
107
|
-
|
|
107
|
+
openclaw.invoke --tool llm-task --action json --args-json '{
|
|
108
108
|
"prompt": "Given the input email, return intent and draft.",
|
|
109
109
|
"input": { "subject": "Hello", "body": "Can you help?" },
|
|
110
110
|
"schema": {
|
|
@@ -123,7 +123,7 @@ See [LLM Task](/tools/llm-task) for details and configuration options.
|
|
|
123
123
|
|
|
124
124
|
## Workflow files (.lobster)
|
|
125
125
|
|
|
126
|
-
Lobster can run YAML/JSON workflow files with `name`, `args`, `steps`, `env`, `condition`, and `approval` fields. In
|
|
126
|
+
Lobster can run YAML/JSON workflow files with `name`, `args`, `steps`, `env`, `condition`, and `approval` fields. In OpenClaw tool calls, set `pipeline` to the file path.
|
|
127
127
|
|
|
128
128
|
```yaml
|
|
129
129
|
name: inbox-triage
|
|
@@ -153,7 +153,7 @@ Notes:
|
|
|
153
153
|
|
|
154
154
|
## Install Lobster
|
|
155
155
|
|
|
156
|
-
Install the Lobster CLI on the **same host** that runs the
|
|
156
|
+
Install the Lobster CLI on the **same host** that runs the OpenClaw Gateway (see the [Lobster repo](https://github.com/openclaw/lobster)), and ensure `lobster` is on `PATH`.
|
|
157
157
|
If you want to use a custom binary location, pass an **absolute** `lobsterPath` in the tool call.
|
|
158
158
|
|
|
159
159
|
## Enable the tool
|
|
@@ -190,7 +190,7 @@ Or per-agent:
|
|
|
190
190
|
Avoid using `tools.allow: ["lobster"]` unless you intend to run in restrictive allowlist mode.
|
|
191
191
|
|
|
192
192
|
Note: allowlists are opt-in for optional plugins. If your allowlist only names
|
|
193
|
-
plugin tools (like `lobster`),
|
|
193
|
+
plugin tools (like `lobster`), OpenClaw keeps core tools enabled. To restrict core
|
|
194
194
|
tools, include the core tools or groups you want in the allowlist too.
|
|
195
195
|
|
|
196
196
|
## Example: Email triage
|
|
@@ -198,12 +198,12 @@ tools, include the core tools or groups you want in the allowlist too.
|
|
|
198
198
|
Without Lobster:
|
|
199
199
|
```
|
|
200
200
|
User: "Check my email and draft replies"
|
|
201
|
-
→
|
|
201
|
+
→ openclaw calls gmail.list
|
|
202
202
|
→ LLM summarizes
|
|
203
203
|
→ User: "draft replies to #2 and #5"
|
|
204
204
|
→ LLM drafts
|
|
205
205
|
→ User: "send #2"
|
|
206
|
-
→
|
|
206
|
+
→ openclaw calls gmail.send
|
|
207
207
|
(repeat daily, no memory of what was triaged)
|
|
208
208
|
```
|
|
209
209
|
|
|
@@ -314,7 +314,7 @@ OpenProse pairs well with Lobster: use `/prose` to orchestrate multi-agent prep,
|
|
|
314
314
|
## Safety
|
|
315
315
|
|
|
316
316
|
- **Local subprocess only** — no network calls from the plugin itself.
|
|
317
|
-
- **No secrets** — Lobster doesn't manage OAuth; it calls
|
|
317
|
+
- **No secrets** — Lobster doesn't manage OAuth; it calls OpenClaw tools that do.
|
|
318
318
|
- **Sandbox-aware** — disabled when the tool context is sandboxed.
|
|
319
319
|
- **Hardened** — `lobsterPath` must be absolute if specified; timeouts and output caps enforced.
|
|
320
320
|
|
|
@@ -6,7 +6,7 @@ read_when:
|
|
|
6
6
|
---
|
|
7
7
|
# Skills Config
|
|
8
8
|
|
|
9
|
-
All skills-related configuration lives under `skills` in `~/.
|
|
9
|
+
All skills-related configuration lives under `skills` in `~/.openclaw/openclaw.json`.
|
|
10
10
|
|
|
11
11
|
```json5
|
|
12
12
|
{
|
|
@@ -60,7 +60,7 @@ Per-skill fields:
|
|
|
60
60
|
## Notes
|
|
61
61
|
|
|
62
62
|
- Keys under `entries` map to the skill name by default. If a skill defines
|
|
63
|
-
`metadata.
|
|
63
|
+
`metadata.openclaw.skillKey`, use that key instead.
|
|
64
64
|
- Changes to skills are picked up on the next agent turn when the watcher is enabled.
|
|
65
65
|
|
|
66
66
|
### Sandboxed skills + env vars
|
package/docs/tools/skills.md
CHANGED
|
@@ -4,31 +4,31 @@ read_when:
|
|
|
4
4
|
- Adding or modifying skills
|
|
5
5
|
- Changing skill gating or load rules
|
|
6
6
|
---
|
|
7
|
-
# Skills (
|
|
7
|
+
# Skills (OpenClaw)
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
OpenClaw uses **[AgentSkills](https://agentskills.io)-compatible** skill folders to teach the agent how to use tools. Each skill is a directory containing a `SKILL.md` with YAML frontmatter and instructions. OpenClaw loads **bundled skills** plus optional local overrides, and filters them at load time based on environment, config, and binary presence.
|
|
10
10
|
|
|
11
11
|
## Locations and precedence
|
|
12
12
|
|
|
13
13
|
Skills are loaded from **three** places:
|
|
14
14
|
|
|
15
|
-
1) **Bundled skills**: shipped with the install (npm package or
|
|
16
|
-
2) **Managed/local skills**: `~/.
|
|
15
|
+
1) **Bundled skills**: shipped with the install (npm package or OpenClaw.app)
|
|
16
|
+
2) **Managed/local skills**: `~/.openclaw/skills`
|
|
17
17
|
3) **Workspace skills**: `<workspace>/skills`
|
|
18
18
|
|
|
19
19
|
If a skill name conflicts, precedence is:
|
|
20
20
|
|
|
21
|
-
`<workspace>/skills` (highest) → `~/.
|
|
21
|
+
`<workspace>/skills` (highest) → `~/.openclaw/skills` → bundled skills (lowest)
|
|
22
22
|
|
|
23
23
|
Additionally, you can configure extra skill folders (lowest precedence) via
|
|
24
|
-
`skills.load.extraDirs` in `~/.
|
|
24
|
+
`skills.load.extraDirs` in `~/.openclaw/openclaw.json`.
|
|
25
25
|
|
|
26
26
|
## Per-agent vs shared skills
|
|
27
27
|
|
|
28
28
|
In **multi-agent** setups, each agent has its own workspace. That means:
|
|
29
29
|
|
|
30
30
|
- **Per-agent skills** live in `<workspace>/skills` for that agent only.
|
|
31
|
-
- **Shared skills** live in `~/.
|
|
31
|
+
- **Shared skills** live in `~/.openclaw/skills` (managed/local) and are visible
|
|
32
32
|
to **all agents** on the same machine.
|
|
33
33
|
- **Shared folders** can also be added via `skills.load.extraDirs` (lowest
|
|
34
34
|
precedence) if you want a common skills pack used by multiple agents.
|
|
@@ -39,15 +39,15 @@ applies: workspace wins, then managed/local, then bundled.
|
|
|
39
39
|
## Plugins + skills
|
|
40
40
|
|
|
41
41
|
Plugins can ship their own skills by listing `skills` directories in
|
|
42
|
-
`
|
|
42
|
+
`openclaw.plugin.json` (paths relative to the plugin root). Plugin skills load
|
|
43
43
|
when the plugin is enabled and participate in the normal skill precedence rules.
|
|
44
|
-
You can gate them via `metadata.
|
|
44
|
+
You can gate them via `metadata.openclaw.requires.config` on the plugin’s config
|
|
45
45
|
entry. See [Plugins](/plugin) for discovery/config and [Tools](/tools) for the
|
|
46
46
|
tool surface those skills teach.
|
|
47
47
|
|
|
48
48
|
## ClawdHub (install + sync)
|
|
49
49
|
|
|
50
|
-
ClawdHub is the public skills registry for
|
|
50
|
+
ClawdHub is the public skills registry for OpenClaw. Browse at
|
|
51
51
|
https://clawdhub.com. Use it to discover, install, update, and back up skills.
|
|
52
52
|
Full guide: [ClawdHub](/tools/clawdhub).
|
|
53
53
|
|
|
@@ -61,7 +61,7 @@ Common flows:
|
|
|
61
61
|
- `clawdhub sync --all`
|
|
62
62
|
|
|
63
63
|
By default, `clawdhub` installs into `./skills` under your current working
|
|
64
|
-
directory (or falls back to the configured
|
|
64
|
+
directory (or falls back to the configured OpenClaw workspace). OpenClaw picks
|
|
65
65
|
that up as `<workspace>/skills` on the next session.
|
|
66
66
|
|
|
67
67
|
## Security notes
|
|
@@ -89,7 +89,7 @@ Notes:
|
|
|
89
89
|
- `metadata` should be a **single-line JSON object**.
|
|
90
90
|
- Use `{baseDir}` in instructions to reference the skill folder path.
|
|
91
91
|
- Optional frontmatter keys:
|
|
92
|
-
- `homepage` — URL surfaced as “Website” in the macOS Skills UI (also supported via `metadata.
|
|
92
|
+
- `homepage` — URL surfaced as “Website” in the macOS Skills UI (also supported via `metadata.openclaw.homepage`).
|
|
93
93
|
- `user-invocable` — `true|false` (default: `true`). When `true`, the skill is exposed as a user slash command.
|
|
94
94
|
- `disable-model-invocation` — `true|false` (default: `false`). When `true`, the skill is excluded from the model prompt (still available via user invocation).
|
|
95
95
|
- `command-dispatch` — `tool` (optional). When set to `tool`, the slash command bypasses the model and dispatches directly to a tool.
|
|
@@ -101,17 +101,17 @@ Notes:
|
|
|
101
101
|
|
|
102
102
|
## Gating (load-time filters)
|
|
103
103
|
|
|
104
|
-
|
|
104
|
+
OpenClaw **filters skills at load time** using `metadata` (single-line JSON):
|
|
105
105
|
|
|
106
106
|
```markdown
|
|
107
107
|
---
|
|
108
108
|
name: nano-banana-pro
|
|
109
109
|
description: Generate or edit images via Gemini 3 Pro Image
|
|
110
|
-
metadata: {"
|
|
110
|
+
metadata: {"openclaw":{"requires":{"bins":["uv"],"env":["GEMINI_API_KEY"],"config":["browser.enabled"]},"primaryEnv":"GEMINI_API_KEY"}}
|
|
111
111
|
---
|
|
112
112
|
```
|
|
113
113
|
|
|
114
|
-
Fields under `metadata.
|
|
114
|
+
Fields under `metadata.openclaw`:
|
|
115
115
|
- `always: true` — always include the skill (skip other gates).
|
|
116
116
|
- `emoji` — optional emoji used by the macOS Skills UI.
|
|
117
117
|
- `homepage` — optional URL shown as “Website” in the macOS Skills UI.
|
|
@@ -119,7 +119,7 @@ Fields under `metadata.clawdbot`:
|
|
|
119
119
|
- `requires.bins` — list; each must exist on `PATH`.
|
|
120
120
|
- `requires.anyBins` — list; at least one must exist on `PATH`.
|
|
121
121
|
- `requires.env` — list; env var must exist **or** be provided in config.
|
|
122
|
-
- `requires.config` — list of `
|
|
122
|
+
- `requires.config` — list of `openclaw.json` paths that must be truthy.
|
|
123
123
|
- `primaryEnv` — env var name associated with `skills.entries.<name>.apiKey`.
|
|
124
124
|
- `install` — optional array of installer specs used by the macOS Skills UI (brew/node/go/uv/download).
|
|
125
125
|
|
|
@@ -138,24 +138,24 @@ Installer example:
|
|
|
138
138
|
---
|
|
139
139
|
name: gemini
|
|
140
140
|
description: Use Gemini CLI for coding assistance and Google search lookups.
|
|
141
|
-
metadata: {"
|
|
141
|
+
metadata: {"openclaw":{"emoji":"♊️","requires":{"bins":["gemini"]},"install":[{"id":"brew","kind":"brew","formula":"gemini-cli","bins":["gemini"],"label":"Install Gemini CLI (brew)"}]}}
|
|
142
142
|
---
|
|
143
143
|
```
|
|
144
144
|
|
|
145
145
|
Notes:
|
|
146
146
|
- If multiple installers are listed, the gateway picks a **single** preferred option (brew when available, otherwise node).
|
|
147
|
-
- If all installers are `download`,
|
|
147
|
+
- If all installers are `download`, OpenClaw lists each entry so you can see the available artifacts.
|
|
148
148
|
- Installer specs can include `os: ["darwin"|"linux"|"win32"]` to filter options by platform.
|
|
149
|
-
- Node installs honor `skills.install.nodeManager` in `
|
|
149
|
+
- Node installs honor `skills.install.nodeManager` in `openclaw.json` (default: npm; options: npm/pnpm/yarn/bun).
|
|
150
150
|
This only affects **skill installs**; the Gateway runtime should still be Node
|
|
151
151
|
(Bun is not recommended for WhatsApp/Telegram).
|
|
152
152
|
- Go installs: if `go` is missing and `brew` is available, the gateway installs Go via Homebrew first and sets `GOBIN` to Homebrew’s `bin` when possible.
|
|
153
|
-
- Download installs: `url` (required), `archive` (`tar.gz` | `tar.bz2` | `zip`), `extract` (default: auto when archive detected), `stripComponents`, `targetDir` (default: `~/.
|
|
153
|
+
- Download installs: `url` (required), `archive` (`tar.gz` | `tar.bz2` | `zip`), `extract` (default: auto when archive detected), `stripComponents`, `targetDir` (default: `~/.openclaw/tools/<skillKey>`).
|
|
154
154
|
|
|
155
|
-
If no `metadata.
|
|
155
|
+
If no `metadata.openclaw` is present, the skill is always eligible (unless
|
|
156
156
|
disabled in config or blocked by `skills.allowBundled` for bundled skills).
|
|
157
157
|
|
|
158
|
-
## Config overrides (`~/.
|
|
158
|
+
## Config overrides (`~/.openclaw/openclaw.json`)
|
|
159
159
|
|
|
160
160
|
Bundled/managed skills can be toggled and supplied with env values:
|
|
161
161
|
|
|
@@ -184,19 +184,19 @@ Bundled/managed skills can be toggled and supplied with env values:
|
|
|
184
184
|
Note: if the skill name contains hyphens, quote the key (JSON5 allows quoted keys).
|
|
185
185
|
|
|
186
186
|
Config keys match the **skill name** by default. If a skill defines
|
|
187
|
-
`metadata.
|
|
187
|
+
`metadata.openclaw.skillKey`, use that key under `skills.entries`.
|
|
188
188
|
|
|
189
189
|
Rules:
|
|
190
190
|
- `enabled: false` disables the skill even if it’s bundled/installed.
|
|
191
191
|
- `env`: injected **only if** the variable isn’t already set in the process.
|
|
192
|
-
- `apiKey`: convenience for skills that declare `metadata.
|
|
192
|
+
- `apiKey`: convenience for skills that declare `metadata.openclaw.primaryEnv`.
|
|
193
193
|
- `config`: optional bag for custom per-skill fields; custom keys must live here.
|
|
194
194
|
- `allowBundled`: optional allowlist for **bundled** skills only. If set, only
|
|
195
195
|
bundled skills in the list are eligible (managed/workspace skills unaffected).
|
|
196
196
|
|
|
197
197
|
## Environment injection (per agent run)
|
|
198
198
|
|
|
199
|
-
When an agent run starts,
|
|
199
|
+
When an agent run starts, OpenClaw:
|
|
200
200
|
1) Reads skill metadata.
|
|
201
201
|
2) Applies any `skills.entries.<key>.env` or `skills.entries.<key>.apiKey` to
|
|
202
202
|
`process.env`.
|
|
@@ -207,19 +207,19 @@ This is **scoped to the agent run**, not a global shell environment.
|
|
|
207
207
|
|
|
208
208
|
## Session snapshot (performance)
|
|
209
209
|
|
|
210
|
-
|
|
210
|
+
OpenClaw snapshots the eligible skills **when a session starts** and reuses that list for subsequent turns in the same session. Changes to skills or config take effect on the next new session.
|
|
211
211
|
|
|
212
212
|
Skills can also refresh mid-session when the skills watcher is enabled or when a new eligible remote node appears (see below). Think of this as a **hot reload**: the refreshed list is picked up on the next agent turn.
|
|
213
213
|
|
|
214
214
|
## Remote macOS nodes (Linux gateway)
|
|
215
215
|
|
|
216
|
-
If the Gateway is running on Linux but a **macOS node** is connected **with `system.run` allowed** (Exec approvals security not set to `deny`),
|
|
216
|
+
If the Gateway is running on Linux but a **macOS node** is connected **with `system.run` allowed** (Exec approvals security not set to `deny`), OpenClaw can treat macOS-only skills as eligible when the required binaries are present on that node. The agent should execute those skills via the `nodes` tool (typically `nodes.run`).
|
|
217
217
|
|
|
218
218
|
This relies on the node reporting its command support and on a bin probe via `system.run`. If the macOS node goes offline later, the skills remain visible; invocations may fail until the node reconnects.
|
|
219
219
|
|
|
220
220
|
## Skills watcher (auto-refresh)
|
|
221
221
|
|
|
222
|
-
By default,
|
|
222
|
+
By default, OpenClaw watches skill folders and bumps the skills snapshot when `SKILL.md` files change. Configure this under `skills.load`:
|
|
223
223
|
|
|
224
224
|
```json5
|
|
225
225
|
{
|
|
@@ -234,7 +234,7 @@ By default, Moltbot watches skill folders and bumps the skills snapshot when `SK
|
|
|
234
234
|
|
|
235
235
|
## Token impact (skills list)
|
|
236
236
|
|
|
237
|
-
When skills are eligible,
|
|
237
|
+
When skills are eligible, OpenClaw injects a compact XML list of available skills into the system prompt (via `formatSkillsForPrompt` in `pi-coding-agent`). The cost is deterministic:
|
|
238
238
|
|
|
239
239
|
- **Base overhead (only when ≥1 skill):** 195 characters.
|
|
240
240
|
- **Per skill:** 97 characters + the length of the XML-escaped `<name>`, `<description>`, and `<location>` values.
|
|
@@ -251,8 +251,8 @@ Notes:
|
|
|
251
251
|
|
|
252
252
|
## Managed skills lifecycle
|
|
253
253
|
|
|
254
|
-
|
|
255
|
-
install (npm package or
|
|
254
|
+
OpenClaw ships a baseline set of skills as **bundled skills** as part of the
|
|
255
|
+
install (npm package or OpenClaw.app). `~/.openclaw/skills` exists for local
|
|
256
256
|
overrides (for example, pinning/patching a skill without changing the bundled
|
|
257
257
|
copy). Workspace skills are user-owned and override both on name conflicts.
|
|
258
258
|
|
|
@@ -51,7 +51,7 @@ They run immediately, are stripped before the model sees the message, and the re
|
|
|
51
51
|
- Set `channels.discord.commands.nativeSkills`, `channels.telegram.commands.nativeSkills`, or `channels.slack.commands.nativeSkills` to override per provider (bool or `"auto"`).
|
|
52
52
|
- `commands.bash` (default `false`) enables `! <cmd>` to run host shell commands (`/bash <cmd>` is an alias; requires `tools.elevated` allowlists).
|
|
53
53
|
- `commands.bashForegroundMs` (default `2000`) controls how long bash waits before switching to background mode (`0` backgrounds immediately).
|
|
54
|
-
- `commands.config` (default `false`) enables `/config` (reads/writes `
|
|
54
|
+
- `commands.config` (default `false`) enables `/config` (reads/writes `openclaw.json`).
|
|
55
55
|
- `commands.debug` (default `false`) enables `/debug` (runtime-only overrides).
|
|
56
56
|
- `commands.useAccessGroups` (default `true`) enforces allowlists/policies for commands.
|
|
57
57
|
|
|
@@ -98,9 +98,9 @@ Text-only:
|
|
|
98
98
|
Notes:
|
|
99
99
|
- Commands accept an optional `:` between the command and args (e.g. `/think: high`, `/send: on`, `/help:`).
|
|
100
100
|
- `/new <model>` accepts a model alias, `provider/model`, or a provider name (fuzzy match); if no match, the text is treated as the message body.
|
|
101
|
-
- For full provider usage breakdown, use `
|
|
101
|
+
- For full provider usage breakdown, use `openclaw status --usage`.
|
|
102
102
|
- `/allowlist add|remove` requires `commands.config=true` and honors channel `configWrites`.
|
|
103
|
-
- `/usage` controls the per-response usage footer; `/usage cost` prints a local cost summary from
|
|
103
|
+
- `/usage` controls the per-response usage footer; `/usage cost` prints a local cost summary from OpenClaw session logs.
|
|
104
104
|
- `/restart` is disabled by default; set `commands.restart: true` to enable it.
|
|
105
105
|
- `/verbose` is meant for debugging and extra visibility; keep it **off** in normal use.
|
|
106
106
|
- `/reasoning` (and `/verbose`) are risky in group settings: they may reveal internal reasoning or tool output you did not intend to expose. Prefer leaving them off, especially in group chats.
|
|
@@ -151,19 +151,19 @@ Examples:
|
|
|
151
151
|
|
|
152
152
|
```
|
|
153
153
|
/debug show
|
|
154
|
-
/debug set messages.responsePrefix="[
|
|
154
|
+
/debug set messages.responsePrefix="[openclaw]"
|
|
155
155
|
/debug set channels.whatsapp.allowFrom=["+1555","+4477"]
|
|
156
156
|
/debug unset messages.responsePrefix
|
|
157
157
|
/debug reset
|
|
158
158
|
```
|
|
159
159
|
|
|
160
160
|
Notes:
|
|
161
|
-
- Overrides apply immediately to new config reads, but do **not** write to `
|
|
161
|
+
- Overrides apply immediately to new config reads, but do **not** write to `openclaw.json`.
|
|
162
162
|
- Use `/debug reset` to clear all overrides and return to the on-disk config.
|
|
163
163
|
|
|
164
164
|
## Config updates
|
|
165
165
|
|
|
166
|
-
`/config` writes to your on-disk config (`
|
|
166
|
+
`/config` writes to your on-disk config (`openclaw.json`). Owner-only. Disabled by default; enable with `commands.config: true`.
|
|
167
167
|
|
|
168
168
|
Examples:
|
|
169
169
|
|
|
@@ -171,7 +171,7 @@ Examples:
|
|
|
171
171
|
/config show
|
|
172
172
|
/config show messages.responsePrefix
|
|
173
173
|
/config get messages.responsePrefix
|
|
174
|
-
/config set messages.responsePrefix="[
|
|
174
|
+
/config set messages.responsePrefix="[openclaw]"
|
|
175
175
|
/config unset messages.responsePrefix
|
|
176
176
|
```
|
|
177
177
|
|
|
@@ -187,4 +187,4 @@ Notes:
|
|
|
187
187
|
- Slack: `agent:<agentId>:slack:slash:<userId>` (prefix configurable via `channels.slack.slashCommand.sessionPrefix`)
|
|
188
188
|
- Telegram: `telegram:slash:<userId>` (targets the chat session via `CommandTargetSessionKey`)
|
|
189
189
|
- **`/stop`** targets the active chat session so it can abort the current run.
|
|
190
|
-
- **Slack:** `channels.slack.slashCommand` is still supported for a single `/
|
|
190
|
+
- **Slack:** `channels.slack.slashCommand` is still supported for a single `/openclaw`-style command. If you enable `commands.native`, you must create one Slack slash command per built-in command (same names as `/help`). Command argument menus for Slack are delivered as ephemeral Block Kit buttons.
|