@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
|
@@ -17,7 +17,7 @@ cron is the mechanism.
|
|
|
17
17
|
|
|
18
18
|
## TL;DR
|
|
19
19
|
- Cron runs **inside the Gateway** (not inside the model).
|
|
20
|
-
- Jobs persist under `~/.
|
|
20
|
+
- Jobs persist under `~/.openclaw/cron/` so restarts don’t lose schedules.
|
|
21
21
|
- Two execution styles:
|
|
22
22
|
- **Main session**: enqueue a system event, then run on the next heartbeat.
|
|
23
23
|
- **Isolated**: run a dedicated agent turn in `cron:<jobId>`, optionally deliver output.
|
|
@@ -151,8 +151,8 @@ Prefixed targets like `telegram:...` / `telegram:group:...` are also accepted:
|
|
|
151
151
|
- `telegram:group:-1001234567890:topic:123`
|
|
152
152
|
|
|
153
153
|
## Storage & history
|
|
154
|
-
- Job store: `~/.
|
|
155
|
-
- Run history: `~/.
|
|
154
|
+
- Job store: `~/.openclaw/cron/jobs.json` (Gateway-managed JSON).
|
|
155
|
+
- Run history: `~/.openclaw/cron/runs/<jobId>.jsonl` (JSONL, auto-pruned).
|
|
156
156
|
- Override store path: `cron.store` in config.
|
|
157
157
|
|
|
158
158
|
## Configuration
|
|
@@ -161,7 +161,7 @@ Prefixed targets like `telegram:...` / `telegram:group:...` are also accepted:
|
|
|
161
161
|
{
|
|
162
162
|
cron: {
|
|
163
163
|
enabled: true, // default true
|
|
164
|
-
store: "~/.
|
|
164
|
+
store: "~/.openclaw/cron/jobs.json",
|
|
165
165
|
maxConcurrentRuns: 1 // default 1
|
|
166
166
|
}
|
|
167
167
|
}
|
|
@@ -169,13 +169,13 @@ Prefixed targets like `telegram:...` / `telegram:group:...` are also accepted:
|
|
|
169
169
|
|
|
170
170
|
Disable cron entirely:
|
|
171
171
|
- `cron.enabled: false` (config)
|
|
172
|
-
- `
|
|
172
|
+
- `OPENCLAW_SKIP_CRON=1` (env)
|
|
173
173
|
|
|
174
174
|
## CLI quickstart
|
|
175
175
|
|
|
176
176
|
One-shot reminder (UTC ISO, auto-delete after success):
|
|
177
177
|
```bash
|
|
178
|
-
|
|
178
|
+
openclaw cron add \
|
|
179
179
|
--name "Send reminder" \
|
|
180
180
|
--at "2026-01-12T18:00:00Z" \
|
|
181
181
|
--session main \
|
|
@@ -186,7 +186,7 @@ moltbot cron add \
|
|
|
186
186
|
|
|
187
187
|
One-shot reminder (main session, wake immediately):
|
|
188
188
|
```bash
|
|
189
|
-
|
|
189
|
+
openclaw cron add \
|
|
190
190
|
--name "Calendar check" \
|
|
191
191
|
--at "20m" \
|
|
192
192
|
--session main \
|
|
@@ -196,7 +196,7 @@ moltbot cron add \
|
|
|
196
196
|
|
|
197
197
|
Recurring isolated job (deliver to WhatsApp):
|
|
198
198
|
```bash
|
|
199
|
-
|
|
199
|
+
openclaw cron add \
|
|
200
200
|
--name "Morning status" \
|
|
201
201
|
--cron "0 7 * * *" \
|
|
202
202
|
--tz "America/Los_Angeles" \
|
|
@@ -209,7 +209,7 @@ moltbot cron add \
|
|
|
209
209
|
|
|
210
210
|
Recurring isolated job (deliver to a Telegram topic):
|
|
211
211
|
```bash
|
|
212
|
-
|
|
212
|
+
openclaw cron add \
|
|
213
213
|
--name "Nightly summary (topic)" \
|
|
214
214
|
--cron "0 22 * * *" \
|
|
215
215
|
--tz "America/Los_Angeles" \
|
|
@@ -222,7 +222,7 @@ moltbot cron add \
|
|
|
222
222
|
|
|
223
223
|
Isolated job with model and thinking override:
|
|
224
224
|
```bash
|
|
225
|
-
|
|
225
|
+
openclaw cron add \
|
|
226
226
|
--name "Deep analysis" \
|
|
227
227
|
--cron "0 6 * * 1" \
|
|
228
228
|
--tz "America/Los_Angeles" \
|
|
@@ -237,22 +237,22 @@ moltbot cron add \
|
|
|
237
237
|
Agent selection (multi-agent setups):
|
|
238
238
|
```bash
|
|
239
239
|
# Pin a job to agent "ops" (falls back to default if that agent is missing)
|
|
240
|
-
|
|
240
|
+
openclaw cron add --name "Ops sweep" --cron "0 6 * * *" --session isolated --message "Check ops queue" --agent ops
|
|
241
241
|
|
|
242
242
|
# Switch or clear the agent on an existing job
|
|
243
|
-
|
|
244
|
-
|
|
243
|
+
openclaw cron edit <jobId> --agent ops
|
|
244
|
+
openclaw cron edit <jobId> --clear-agent
|
|
245
245
|
```
|
|
246
246
|
```
|
|
247
247
|
|
|
248
248
|
Manual run (debug):
|
|
249
249
|
```bash
|
|
250
|
-
|
|
250
|
+
openclaw cron run <jobId> --force
|
|
251
251
|
```
|
|
252
252
|
|
|
253
253
|
Edit an existing job (patch fields):
|
|
254
254
|
```bash
|
|
255
|
-
|
|
255
|
+
openclaw cron edit <jobId> \
|
|
256
256
|
--message "Updated prompt" \
|
|
257
257
|
--model "opus" \
|
|
258
258
|
--thinking low
|
|
@@ -260,23 +260,23 @@ moltbot cron edit <jobId> \
|
|
|
260
260
|
|
|
261
261
|
Run history:
|
|
262
262
|
```bash
|
|
263
|
-
|
|
263
|
+
openclaw cron runs --id <jobId> --limit 50
|
|
264
264
|
```
|
|
265
265
|
|
|
266
266
|
Immediate system event without creating a job:
|
|
267
267
|
```bash
|
|
268
|
-
|
|
268
|
+
openclaw system event --mode now --text "Next heartbeat: check battery."
|
|
269
269
|
```
|
|
270
270
|
|
|
271
271
|
## Gateway API surface
|
|
272
272
|
- `cron.list`, `cron.status`, `cron.add`, `cron.update`, `cron.remove`
|
|
273
273
|
- `cron.run` (force or due), `cron.runs`
|
|
274
|
-
For immediate system events without a job, use [`
|
|
274
|
+
For immediate system events without a job, use [`openclaw system event`](/cli/system).
|
|
275
275
|
|
|
276
276
|
## Troubleshooting
|
|
277
277
|
|
|
278
278
|
### “Nothing runs”
|
|
279
|
-
- Check cron is enabled: `cron.enabled` and `
|
|
279
|
+
- Check cron is enabled: `cron.enabled` and `OPENCLAW_SKIP_CRON`.
|
|
280
280
|
- Check the Gateway is running continuously (cron runs inside the Gateway process).
|
|
281
281
|
- For `cron` schedules: confirm timezone (`--tz`) vs the host timezone.
|
|
282
282
|
|
|
@@ -95,7 +95,7 @@ Cron jobs run at **exact times** and can run in isolated sessions without affect
|
|
|
95
95
|
### Cron example: Daily morning briefing
|
|
96
96
|
|
|
97
97
|
```bash
|
|
98
|
-
|
|
98
|
+
openclaw cron add \
|
|
99
99
|
--name "Morning briefing" \
|
|
100
100
|
--cron "0 7 * * *" \
|
|
101
101
|
--tz "America/New_York" \
|
|
@@ -112,7 +112,7 @@ This runs at exactly 7:00 AM New York time, uses Opus for quality, and delivers
|
|
|
112
112
|
### Cron example: One-shot reminder
|
|
113
113
|
|
|
114
114
|
```bash
|
|
115
|
-
|
|
115
|
+
openclaw cron add \
|
|
116
116
|
--name "Meeting reminder" \
|
|
117
117
|
--at "20m" \
|
|
118
118
|
--session main \
|
|
@@ -168,13 +168,13 @@ The most efficient setup uses **both**:
|
|
|
168
168
|
**Cron jobs** (precise timing):
|
|
169
169
|
```bash
|
|
170
170
|
# Daily morning briefing at 7am
|
|
171
|
-
|
|
171
|
+
openclaw cron add --name "Morning brief" --cron "0 7 * * *" --session isolated --message "..." --deliver
|
|
172
172
|
|
|
173
173
|
# Weekly project review on Mondays at 9am
|
|
174
|
-
|
|
174
|
+
openclaw cron add --name "Weekly review" --cron "0 9 * * 1" --session isolated --message "..." --model opus
|
|
175
175
|
|
|
176
176
|
# One-shot reminder
|
|
177
|
-
|
|
177
|
+
openclaw cron add --name "Call back" --at "2h" --session main --system-event "Call back the client" --wake now
|
|
178
178
|
```
|
|
179
179
|
|
|
180
180
|
|
|
@@ -226,7 +226,7 @@ Use `--session main` with `--system-event` when you want:
|
|
|
226
226
|
- No separate isolated run
|
|
227
227
|
|
|
228
228
|
```bash
|
|
229
|
-
|
|
229
|
+
openclaw cron add \
|
|
230
230
|
--name "Check project" \
|
|
231
231
|
--every "4h" \
|
|
232
232
|
--session main \
|
|
@@ -243,7 +243,7 @@ Use `--session isolated` when you want:
|
|
|
243
243
|
- History that doesn't clutter main session
|
|
244
244
|
|
|
245
245
|
```bash
|
|
246
|
-
|
|
246
|
+
openclaw cron add \
|
|
247
247
|
--name "Deep analysis" \
|
|
248
248
|
--cron "0 6 * * 0" \
|
|
249
249
|
--session isolated \
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "Gmail Pub/Sub push wired into
|
|
2
|
+
summary: "Gmail Pub/Sub push wired into OpenClaw webhooks via gogcli"
|
|
3
3
|
read_when:
|
|
4
|
-
- Wiring Gmail inbox triggers to
|
|
4
|
+
- Wiring Gmail inbox triggers to OpenClaw
|
|
5
5
|
- Setting up Pub/Sub push for agent wake
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# Gmail Pub/Sub ->
|
|
8
|
+
# Gmail Pub/Sub -> OpenClaw
|
|
9
9
|
|
|
10
|
-
Goal: Gmail watch -> Pub/Sub push -> `gog gmail watch serve` ->
|
|
10
|
+
Goal: Gmail watch -> Pub/Sub push -> `gog gmail watch serve` -> OpenClaw webhook.
|
|
11
11
|
|
|
12
12
|
## Prereqs
|
|
13
13
|
|
|
14
14
|
- `gcloud` installed and logged in ([install guide](https://docs.cloud.google.com/sdk/docs/install-sdk)).
|
|
15
15
|
- `gog` (gogcli) installed and authorized for the Gmail account ([gogcli.sh](https://gogcli.sh/)).
|
|
16
|
-
-
|
|
16
|
+
- OpenClaw hooks enabled (see [Webhooks](/automation/webhook)).
|
|
17
17
|
- `tailscale` logged in ([tailscale.com](https://tailscale.com/)). Supported setup uses Tailscale Funnel for the public HTTPS endpoint.
|
|
18
18
|
Other tunnel services can work, but are DIY/unsupported and require manual wiring.
|
|
19
19
|
Right now, Tailscale is what we support.
|
|
@@ -24,7 +24,7 @@ Example hook config (enable Gmail preset mapping):
|
|
|
24
24
|
{
|
|
25
25
|
hooks: {
|
|
26
26
|
enabled: true,
|
|
27
|
-
token: "
|
|
27
|
+
token: "OPENCLAW_HOOK_TOKEN",
|
|
28
28
|
path: "/hooks",
|
|
29
29
|
presets: ["gmail"]
|
|
30
30
|
}
|
|
@@ -38,7 +38,7 @@ that sets `deliver` + optional `channel`/`to`:
|
|
|
38
38
|
{
|
|
39
39
|
hooks: {
|
|
40
40
|
enabled: true,
|
|
41
|
-
token: "
|
|
41
|
+
token: "OPENCLAW_HOOK_TOKEN",
|
|
42
42
|
presets: ["gmail"],
|
|
43
43
|
mappings: [
|
|
44
44
|
{
|
|
@@ -91,19 +91,19 @@ under `hooks.transformsDir` (see [Webhooks](/automation/webhook)).
|
|
|
91
91
|
|
|
92
92
|
## Wizard (recommended)
|
|
93
93
|
|
|
94
|
-
Use the
|
|
94
|
+
Use the OpenClaw helper to wire everything together (installs deps on macOS via brew):
|
|
95
95
|
|
|
96
96
|
```bash
|
|
97
|
-
|
|
98
|
-
--account
|
|
97
|
+
openclaw webhooks gmail setup \
|
|
98
|
+
--account openclaw@gmail.com
|
|
99
99
|
```
|
|
100
100
|
|
|
101
101
|
Defaults:
|
|
102
102
|
- Uses Tailscale Funnel for the public push endpoint.
|
|
103
|
-
- Writes `hooks.gmail` config for `
|
|
103
|
+
- Writes `hooks.gmail` config for `openclaw webhooks gmail run`.
|
|
104
104
|
- Enables the Gmail hook preset (`hooks.presets: ["gmail"]`).
|
|
105
105
|
|
|
106
|
-
Path note: when `tailscale.mode` is enabled,
|
|
106
|
+
Path note: when `tailscale.mode` is enabled, OpenClaw automatically sets
|
|
107
107
|
`hooks.gmail.serve.path` to `/` and keeps the public path at
|
|
108
108
|
`hooks.gmail.tailscale.path` (default `/gmail-pubsub`) because Tailscale
|
|
109
109
|
strips the set-path prefix before proxying.
|
|
@@ -119,14 +119,14 @@ via Homebrew; on Linux install them manually first.
|
|
|
119
119
|
Gateway auto-start (recommended):
|
|
120
120
|
- When `hooks.enabled=true` and `hooks.gmail.account` is set, the Gateway starts
|
|
121
121
|
`gog gmail watch serve` on boot and auto-renews the watch.
|
|
122
|
-
- Set `
|
|
122
|
+
- Set `OPENCLAW_SKIP_GMAIL_WATCHER=1` to opt out (useful if you run the daemon yourself).
|
|
123
123
|
- Do not run the manual daemon at the same time, or you will hit
|
|
124
124
|
`listen tcp 127.0.0.1:8788: bind: address already in use`.
|
|
125
125
|
|
|
126
126
|
Manual daemon (starts `gog gmail watch serve` + auto-renew):
|
|
127
127
|
|
|
128
128
|
```bash
|
|
129
|
-
|
|
129
|
+
openclaw webhooks gmail run
|
|
130
130
|
```
|
|
131
131
|
|
|
132
132
|
## One-time setup
|
|
@@ -164,7 +164,7 @@ gcloud pubsub topics add-iam-policy-binding gog-gmail-watch \
|
|
|
164
164
|
|
|
165
165
|
```bash
|
|
166
166
|
gog gmail watch start \
|
|
167
|
-
--account
|
|
167
|
+
--account openclaw@gmail.com \
|
|
168
168
|
--label INBOX \
|
|
169
169
|
--topic projects/<project-id>/topics/gog-gmail-watch
|
|
170
170
|
```
|
|
@@ -177,23 +177,23 @@ Local example (shared token auth):
|
|
|
177
177
|
|
|
178
178
|
```bash
|
|
179
179
|
gog gmail watch serve \
|
|
180
|
-
--account
|
|
180
|
+
--account openclaw@gmail.com \
|
|
181
181
|
--bind 127.0.0.1 \
|
|
182
182
|
--port 8788 \
|
|
183
183
|
--path /gmail-pubsub \
|
|
184
184
|
--token <shared> \
|
|
185
185
|
--hook-url http://127.0.0.1:18789/hooks/gmail \
|
|
186
|
-
--hook-token
|
|
186
|
+
--hook-token OPENCLAW_HOOK_TOKEN \
|
|
187
187
|
--include-body \
|
|
188
188
|
--max-bytes 20000
|
|
189
189
|
```
|
|
190
190
|
|
|
191
191
|
Notes:
|
|
192
192
|
- `--token` protects the push endpoint (`x-gog-token` or `?token=`).
|
|
193
|
-
- `--hook-url` points to
|
|
194
|
-
- `--include-body` and `--max-bytes` control the body snippet sent to
|
|
193
|
+
- `--hook-url` points to OpenClaw `/hooks/gmail` (mapped; isolated run + summary to main).
|
|
194
|
+
- `--include-body` and `--max-bytes` control the body snippet sent to OpenClaw.
|
|
195
195
|
|
|
196
|
-
Recommended: `
|
|
196
|
+
Recommended: `openclaw webhooks gmail run` wraps the same flow and auto-renews the watch.
|
|
197
197
|
|
|
198
198
|
## Expose the handler (advanced, unsupported)
|
|
199
199
|
|
|
@@ -224,8 +224,8 @@ Send a message to the watched inbox:
|
|
|
224
224
|
|
|
225
225
|
```bash
|
|
226
226
|
gog gmail send \
|
|
227
|
-
--account
|
|
228
|
-
--to
|
|
227
|
+
--account openclaw@gmail.com \
|
|
228
|
+
--to openclaw@gmail.com \
|
|
229
229
|
--subject "watch test" \
|
|
230
230
|
--body "ping"
|
|
231
231
|
```
|
|
@@ -233,8 +233,8 @@ gog gmail send \
|
|
|
233
233
|
Check watch state and history:
|
|
234
234
|
|
|
235
235
|
```bash
|
|
236
|
-
gog gmail watch status --account
|
|
237
|
-
gog gmail history --account
|
|
236
|
+
gog gmail watch status --account openclaw@gmail.com
|
|
237
|
+
gog gmail history --account openclaw@gmail.com --since <historyId>
|
|
238
238
|
```
|
|
239
239
|
|
|
240
240
|
## Troubleshooting
|
|
@@ -246,7 +246,7 @@ gog gmail history --account moltbot@gmail.com --since <historyId>
|
|
|
246
246
|
## Cleanup
|
|
247
247
|
|
|
248
248
|
```bash
|
|
249
|
-
gog gmail watch stop --account
|
|
249
|
+
gog gmail watch stop --account openclaw@gmail.com
|
|
250
250
|
gcloud pubsub subscriptions delete gog-gmail-watch-push
|
|
251
251
|
gcloud pubsub topics delete gog-gmail-watch
|
|
252
252
|
```
|
package/docs/automation/poll.md
CHANGED
|
@@ -16,19 +16,19 @@ read_when:
|
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
18
|
# WhatsApp
|
|
19
|
-
|
|
19
|
+
openclaw message poll --target +15555550123 \
|
|
20
20
|
--poll-question "Lunch today?" --poll-option "Yes" --poll-option "No" --poll-option "Maybe"
|
|
21
|
-
|
|
21
|
+
openclaw message poll --target 123456789@g.us \
|
|
22
22
|
--poll-question "Meeting time?" --poll-option "10am" --poll-option "2pm" --poll-option "4pm" --poll-multi
|
|
23
23
|
|
|
24
24
|
# Discord
|
|
25
|
-
|
|
25
|
+
openclaw message poll --channel discord --target channel:123456789 \
|
|
26
26
|
--poll-question "Snack?" --poll-option "Pizza" --poll-option "Sushi"
|
|
27
|
-
|
|
27
|
+
openclaw message poll --channel discord --target channel:123456789 \
|
|
28
28
|
--poll-question "Plan?" --poll-option "A" --poll-option "B" --poll-duration-hours 48
|
|
29
29
|
|
|
30
30
|
# MS Teams
|
|
31
|
-
|
|
31
|
+
openclaw message poll --channel msteams --target conversation:19:abc@thread.tacv2 \
|
|
32
32
|
--poll-question "Lunch?" --poll-option "Pizza" --poll-option "Sushi"
|
|
33
33
|
```
|
|
34
34
|
|
|
@@ -53,11 +53,11 @@ Params:
|
|
|
53
53
|
## Channel differences
|
|
54
54
|
- WhatsApp: 2-12 options, `maxSelections` must be within option count, ignores `durationHours`.
|
|
55
55
|
- Discord: 2-10 options, `durationHours` clamped to 1-768 hours (default 24). `maxSelections > 1` enables multi-select; Discord does not support a strict selection count.
|
|
56
|
-
- MS Teams: Adaptive Card polls (
|
|
56
|
+
- MS Teams: Adaptive Card polls (OpenClaw-managed). No native poll API; `durationHours` is ignored.
|
|
57
57
|
|
|
58
58
|
## Agent tool (Message)
|
|
59
59
|
Use the `message` tool with `poll` action (`to`, `pollQuestion`, `pollOption`, optional `pollMulti`, `pollDurationHours`, `channel`).
|
|
60
60
|
|
|
61
61
|
Note: Discord has no “pick exactly N” mode; `pollMulti` maps to multi-select.
|
|
62
62
|
Teams polls are rendered as Adaptive Cards and require the gateway to stay online
|
|
63
|
-
to record votes in `~/.
|
|
63
|
+
to record votes in `~/.openclaw/msteams-polls.json`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
summary: "Webhook ingress for wake and isolated agent runs"
|
|
3
3
|
read_when:
|
|
4
4
|
- Adding or changing webhook endpoints
|
|
5
|
-
- Wiring external systems into
|
|
5
|
+
- Wiring external systems into OpenClaw
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Webhooks
|
|
@@ -29,7 +29,7 @@ Notes:
|
|
|
29
29
|
|
|
30
30
|
Every request must include the hook token. Prefer headers:
|
|
31
31
|
- `Authorization: Bearer <token>` (recommended)
|
|
32
|
-
- `x-
|
|
32
|
+
- `x-openclaw-token: <token>`
|
|
33
33
|
- `?token=<token>` (deprecated; logs a warning and will be removed in a future major release)
|
|
34
34
|
|
|
35
35
|
## Endpoints
|
|
@@ -98,7 +98,7 @@ Mapping options (summary):
|
|
|
98
98
|
(`channel` defaults to `last` and falls back to WhatsApp).
|
|
99
99
|
- `allowUnsafeExternalContent: true` disables the external content safety wrapper for that hook
|
|
100
100
|
(dangerous; only for trusted internal sources).
|
|
101
|
-
- `
|
|
101
|
+
- `openclaw webhooks gmail setup` writes `hooks.gmail` config for `openclaw webhooks gmail run`.
|
|
102
102
|
See [Gmail Pub/Sub](/automation/gmail-pubsub) for the full Gmail watch flow.
|
|
103
103
|
|
|
104
104
|
## Responses
|
|
@@ -120,7 +120,7 @@ curl -X POST http://127.0.0.1:18789/hooks/wake \
|
|
|
120
120
|
|
|
121
121
|
```bash
|
|
122
122
|
curl -X POST http://127.0.0.1:18789/hooks/agent \
|
|
123
|
-
-H 'x-
|
|
123
|
+
-H 'x-openclaw-token: SECRET' \
|
|
124
124
|
-H 'Content-Type: application/json' \
|
|
125
125
|
-d '{"message":"Summarize inbox","name":"Email","wakeMode":"next-heartbeat"}'
|
|
126
126
|
```
|
|
@@ -131,7 +131,7 @@ Add `model` to the agent payload (or mapping) to override the model for that run
|
|
|
131
131
|
|
|
132
132
|
```bash
|
|
133
133
|
curl -X POST http://127.0.0.1:18789/hooks/agent \
|
|
134
|
-
-H 'x-
|
|
134
|
+
-H 'x-openclaw-token: SECRET' \
|
|
135
135
|
-H 'Content-Type: application/json' \
|
|
136
136
|
-d '{"message":"Summarize inbox","name":"Email","model":"openai/gpt-5.2-mini"}'
|
|
137
137
|
```
|
package/docs/bedrock.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "Use Amazon Bedrock (Converse API) models with
|
|
2
|
+
summary: "Use Amazon Bedrock (Converse API) models with OpenClaw"
|
|
3
3
|
read_when:
|
|
4
|
-
- You want to use Amazon Bedrock models with
|
|
4
|
+
- You want to use Amazon Bedrock models with OpenClaw
|
|
5
5
|
- You need AWS credential/region setup for model calls
|
|
6
6
|
---
|
|
7
7
|
# Amazon Bedrock
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
OpenClaw can use **Amazon Bedrock** models via pi‑ai’s **Bedrock Converse**
|
|
10
10
|
streaming provider. Bedrock auth uses the **AWS SDK default credential chain**,
|
|
11
11
|
not an API key.
|
|
12
12
|
|
|
@@ -19,7 +19,7 @@ not an API key.
|
|
|
19
19
|
|
|
20
20
|
## Automatic model discovery
|
|
21
21
|
|
|
22
|
-
If AWS credentials are detected,
|
|
22
|
+
If AWS credentials are detected, OpenClaw can automatically discover Bedrock
|
|
23
23
|
models that support **streaming** and **text output**. Discovery uses
|
|
24
24
|
`bedrock:ListFoundationModels` and is cached (default: 1 hour).
|
|
25
25
|
|
|
@@ -97,9 +97,9 @@ export AWS_BEARER_TOKEN_BEDROCK="..."
|
|
|
97
97
|
|
|
98
98
|
## EC2 Instance Roles
|
|
99
99
|
|
|
100
|
-
When running
|
|
100
|
+
When running OpenClaw on an EC2 instance with an IAM role attached, the AWS SDK
|
|
101
101
|
will automatically use the instance metadata service (IMDS) for authentication.
|
|
102
|
-
However,
|
|
102
|
+
However, OpenClaw's credential detection currently only checks for environment
|
|
103
103
|
variables, not IMDS credentials.
|
|
104
104
|
|
|
105
105
|
**Workaround:** Set `AWS_PROFILE=default` to signal that AWS credentials are
|
|
@@ -146,8 +146,8 @@ aws ec2 associate-iam-instance-profile \
|
|
|
146
146
|
--iam-instance-profile Name=EC2-Bedrock-Access
|
|
147
147
|
|
|
148
148
|
# 3. On the EC2 instance, enable discovery
|
|
149
|
-
|
|
150
|
-
|
|
149
|
+
openclaw config set models.bedrockDiscovery.enabled true
|
|
150
|
+
openclaw config set models.bedrockDiscovery.region us-east-1
|
|
151
151
|
|
|
152
152
|
# 4. Set the workaround env vars
|
|
153
153
|
echo 'export AWS_PROFILE=default' >> ~/.bashrc
|
|
@@ -155,7 +155,7 @@ echo 'export AWS_REGION=us-east-1' >> ~/.bashrc
|
|
|
155
155
|
source ~/.bashrc
|
|
156
156
|
|
|
157
157
|
# 5. Verify models are discovered
|
|
158
|
-
|
|
158
|
+
openclaw models list
|
|
159
159
|
```
|
|
160
160
|
|
|
161
161
|
## Notes
|
|
@@ -163,7 +163,7 @@ moltbot models list
|
|
|
163
163
|
- Bedrock requires **model access** enabled in your AWS account/region.
|
|
164
164
|
- Automatic discovery needs the `bedrock:ListFoundationModels` permission.
|
|
165
165
|
- If you use profiles, set `AWS_PROFILE` on the gateway host.
|
|
166
|
-
-
|
|
166
|
+
- OpenClaw surfaces the credential source in this order: `AWS_BEARER_TOKEN_BEDROCK`,
|
|
167
167
|
then `AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY`, then `AWS_PROFILE`, then the
|
|
168
168
|
default AWS SDK chain.
|
|
169
169
|
- Reasoning support depends on the model; check the Bedrock model card for
|
package/docs/brave-search.md
CHANGED
package/docs/broadcast-groups.md
CHANGED
|
@@ -17,7 +17,7 @@ Broadcast Groups enable multiple agents to process and respond to the same messa
|
|
|
17
17
|
|
|
18
18
|
Current scope: **WhatsApp only** (web channel).
|
|
19
19
|
|
|
20
|
-
Broadcast groups are evaluated after channel allowlists and group activation rules. In WhatsApp groups, this means broadcasts happen when
|
|
20
|
+
Broadcast groups are evaluated after channel allowlists and group activation rules. In WhatsApp groups, this means broadcasts happen when OpenClaw would normally reply (for example: on mention, depending on your group settings).
|
|
21
21
|
|
|
22
22
|
## Use Cases
|
|
23
23
|
|
|
@@ -76,7 +76,7 @@ Add a top-level `broadcast` section (next to `bindings`). Keys are WhatsApp peer
|
|
|
76
76
|
}
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
-
**Result:** When
|
|
79
|
+
**Result:** When OpenClaw would reply in this chat, it will run all three agents.
|
|
80
80
|
|
|
81
81
|
### Processing Strategy
|
|
82
82
|
|
|
@@ -179,7 +179,7 @@ In group `120363403215116621@g.us` with agents `["alfred", "baerbel"]`:
|
|
|
179
179
|
```
|
|
180
180
|
Session: agent:alfred:whatsapp:group:120363403215116621@g.us
|
|
181
181
|
History: [user message, alfred's previous responses]
|
|
182
|
-
Workspace: /Users/pascal/
|
|
182
|
+
Workspace: /Users/pascal/openclaw-alfred/
|
|
183
183
|
Tools: read, write, exec
|
|
184
184
|
```
|
|
185
185
|
|
|
@@ -187,7 +187,7 @@ Tools: read, write, exec
|
|
|
187
187
|
```
|
|
188
188
|
Session: agent:baerbel:whatsapp:group:120363403215116621@g.us
|
|
189
189
|
History: [user message, baerbel's previous responses]
|
|
190
|
-
Workspace: /Users/pascal/
|
|
190
|
+
Workspace: /Users/pascal/openclaw-baerbel/
|
|
191
191
|
Tools: read only
|
|
192
192
|
```
|
|
193
193
|
|
|
@@ -296,7 +296,7 @@ Broadcast groups work alongside existing routing:
|
|
|
296
296
|
|
|
297
297
|
**Debug:**
|
|
298
298
|
```bash
|
|
299
|
-
tail -f ~/.
|
|
299
|
+
tail -f ~/.openclaw/logs/gateway.log | grep broadcast
|
|
300
300
|
```
|
|
301
301
|
|
|
302
302
|
### Only One Agent Responding
|
|
@@ -368,7 +368,7 @@ tail -f ~/.clawdbot/logs/gateway.log | grep broadcast
|
|
|
368
368
|
### Config Schema
|
|
369
369
|
|
|
370
370
|
```typescript
|
|
371
|
-
interface
|
|
371
|
+
interface OpenClawConfig {
|
|
372
372
|
broadcast?: {
|
|
373
373
|
strategy?: "parallel" | "sequential";
|
|
374
374
|
[peerId: string]: string[];
|
|
@@ -12,7 +12,7 @@ Status: bundled plugin that talks to the BlueBubbles macOS server over HTTP. **R
|
|
|
12
12
|
## Overview
|
|
13
13
|
- Runs on macOS via the BlueBubbles helper app ([bluebubbles.app](https://bluebubbles.app)).
|
|
14
14
|
- Recommended/tested: macOS Sequoia (15). macOS Tahoe (26) works; edit is currently broken on Tahoe, and group icon updates may report success but not sync.
|
|
15
|
-
-
|
|
15
|
+
- OpenClaw talks to it through its REST API (`GET /api/v1/ping`, `POST /message/text`, `POST /chat/:id/*`).
|
|
16
16
|
- Incoming messages arrive via webhooks; outgoing replies, typing indicators, read receipts, and tapbacks are REST calls.
|
|
17
17
|
- Attachments and stickers are ingested as inbound media (and surfaced to the agent when possible).
|
|
18
18
|
- Pairing/allowlist works the same way as other channels (`/start/pairing` etc) with `channels.bluebubbles.allowFrom` + pairing codes.
|
|
@@ -22,7 +22,7 @@ Status: bundled plugin that talks to the BlueBubbles macOS server over HTTP. **R
|
|
|
22
22
|
## Quick start
|
|
23
23
|
1. Install the BlueBubbles server on your Mac (follow the instructions at [bluebubbles.app/install](https://bluebubbles.app/install)).
|
|
24
24
|
2. In the BlueBubbles config, enable the web API and set a password.
|
|
25
|
-
3. Run `
|
|
25
|
+
3. Run `openclaw onboard` and select BlueBubbles, or configure manually:
|
|
26
26
|
```json5
|
|
27
27
|
{
|
|
28
28
|
channels: {
|
|
@@ -41,7 +41,7 @@ Status: bundled plugin that talks to the BlueBubbles macOS server over HTTP. **R
|
|
|
41
41
|
## Onboarding
|
|
42
42
|
BlueBubbles is available in the interactive setup wizard:
|
|
43
43
|
```
|
|
44
|
-
|
|
44
|
+
openclaw onboard
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
The wizard prompts for:
|
|
@@ -53,7 +53,7 @@ The wizard prompts for:
|
|
|
53
53
|
|
|
54
54
|
You can also add BlueBubbles via CLI:
|
|
55
55
|
```
|
|
56
|
-
|
|
56
|
+
openclaw channels add bluebubbles --http-url http://192.168.1.100:1234 --password <password>
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
## Access control (DMs + groups)
|
|
@@ -61,8 +61,8 @@ DMs:
|
|
|
61
61
|
- Default: `channels.bluebubbles.dmPolicy = "pairing"`.
|
|
62
62
|
- Unknown senders receive a pairing code; messages are ignored until approved (codes expire after 1 hour).
|
|
63
63
|
- Approve via:
|
|
64
|
-
- `
|
|
65
|
-
- `
|
|
64
|
+
- `openclaw pairing list bluebubbles`
|
|
65
|
+
- `openclaw pairing approve bluebubbles <CODE>`
|
|
66
66
|
- Pairing is the default token exchange. Details: [Pairing](/start/pairing)
|
|
67
67
|
|
|
68
68
|
Groups:
|
|
@@ -99,7 +99,7 @@ Per-group configuration:
|
|
|
99
99
|
## Typing + read receipts
|
|
100
100
|
- **Typing indicators**: Sent automatically before and during response generation.
|
|
101
101
|
- **Read receipts**: Controlled by `channels.bluebubbles.sendReadReceipts` (default: `true`).
|
|
102
|
-
- **Typing indicators**:
|
|
102
|
+
- **Typing indicators**: OpenClaw sends typing start events; BlueBubbles clears typing automatically on send or timeout (manual stop via DELETE is unreliable).
|
|
103
103
|
|
|
104
104
|
```json5
|
|
105
105
|
{
|
|
@@ -151,7 +151,7 @@ Available actions:
|
|
|
151
151
|
- Voice memos: set `asVoice: true` with **MP3** or **CAF** audio to send as an iMessage voice message. BlueBubbles converts MP3 → CAF when sending voice memos.
|
|
152
152
|
|
|
153
153
|
### Message IDs (short vs full)
|
|
154
|
-
|
|
154
|
+
OpenClaw may surface *short* message IDs (e.g., `1`, `2`) to save tokens.
|
|
155
155
|
- `MessageSid` / `ReplyToId` can be short IDs.
|
|
156
156
|
- `MessageSidFull` / `ReplyToIdFull` contain the provider full IDs.
|
|
157
157
|
- Short IDs are in-memory; they can expire on restart or cache eviction.
|
|
@@ -213,7 +213,7 @@ Prefer `chat_guid` for stable routing:
|
|
|
213
213
|
- `chat_id:123`
|
|
214
214
|
- `chat_identifier:...`
|
|
215
215
|
- Direct handles: `+15555550123`, `user@example.com`
|
|
216
|
-
- If a direct handle does not have an existing DM chat,
|
|
216
|
+
- If a direct handle does not have an existing DM chat, OpenClaw will create one via `POST /api/v1/chat/new`. This requires the BlueBubbles Private API to be enabled.
|
|
217
217
|
|
|
218
218
|
## Security
|
|
219
219
|
- Webhook requests are authenticated by comparing `guid`/`password` query params or headers against `channels.bluebubbles.password`. Requests from `localhost` are also accepted.
|
|
@@ -223,11 +223,11 @@ Prefer `chat_guid` for stable routing:
|
|
|
223
223
|
|
|
224
224
|
## Troubleshooting
|
|
225
225
|
- If typing/read events stop working, check the BlueBubbles webhook logs and verify the gateway path matches `channels.bluebubbles.webhookPath`.
|
|
226
|
-
- Pairing codes expire after one hour; use `
|
|
226
|
+
- Pairing codes expire after one hour; use `openclaw pairing list bluebubbles` and `openclaw pairing approve bluebubbles <code>`.
|
|
227
227
|
- Reactions require the BlueBubbles private API (`POST /api/v1/message/react`); ensure the server version exposes it.
|
|
228
228
|
- Edit/unsend require macOS 13+ and a compatible BlueBubbles server version. On macOS 26 (Tahoe), edit is currently broken due to private API changes.
|
|
229
229
|
- Group icon updates can be flaky on macOS 26 (Tahoe): the API may return success but the new icon does not sync.
|
|
230
|
-
-
|
|
231
|
-
- For status/health info: `
|
|
230
|
+
- OpenClaw auto-hides known-broken actions based on the BlueBubbles server's macOS version. If edit still appears on macOS 26 (Tahoe), disable it manually with `channels.bluebubbles.actions.edit=false`.
|
|
231
|
+
- For status/health info: `openclaw status --all` or `openclaw status --deep`.
|
|
232
232
|
|
|
233
233
|
For general channel workflow reference, see [Channels](/channels) and the [Plugins](/plugins) guide.
|