@gguf/pigbot 0.0.6 → 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 +1206 -12
- 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/assets/images/icon.png +0 -0
- 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/extension.js +0 -70
- /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
package/docs/channels/discord.md
CHANGED
|
@@ -11,7 +11,7 @@ Status: ready for DM and guild text channels via the official Discord bot gatewa
|
|
|
11
11
|
## Quick setup (beginner)
|
|
12
12
|
1) Create a Discord bot and copy the bot token.
|
|
13
13
|
2) In the Discord app settings, enable **Message Content Intent** (and **Server Members Intent** if you plan to use allowlists or name lookups).
|
|
14
|
-
3) Set the token for
|
|
14
|
+
3) Set the token for OpenClaw:
|
|
15
15
|
- Env: `DISCORD_BOT_TOKEN=...`
|
|
16
16
|
- Or config: `channels.discord.token: "..."`.
|
|
17
17
|
- If both are set, config takes precedence (env fallback is default-account only).
|
|
@@ -32,7 +32,7 @@ Minimal config:
|
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
## Goals
|
|
35
|
-
- Talk to
|
|
35
|
+
- Talk to OpenClaw via Discord DMs or guild channels.
|
|
36
36
|
- Direct chats collapse into the agent's main session (default `agent:main:main`); guild channels stay isolated as `agent:<agentId>:discord:channel:<channelId>` (display names use `discord:<guildSlug>#<channelSlug>`).
|
|
37
37
|
- Group DMs are ignored by default; enable via `channels.discord.dm.groupEnabled` and optionally restrict by `channels.discord.dm.groupChannels`.
|
|
38
38
|
- Keep routing deterministic: replies always go back to the channel they arrived on.
|
|
@@ -40,12 +40,12 @@ Minimal config:
|
|
|
40
40
|
## How it works
|
|
41
41
|
1. Create a Discord application → Bot, enable the intents you need (DMs + guild messages + message content), and grab the bot token.
|
|
42
42
|
2. Invite the bot to your server with the permissions required to read/send messages where you want to use it.
|
|
43
|
-
3. Configure
|
|
43
|
+
3. Configure OpenClaw with `channels.discord.token` (or `DISCORD_BOT_TOKEN` as a fallback).
|
|
44
44
|
4. Run the gateway; it auto-starts the Discord channel when a token is available (config first, env fallback) and `channels.discord.enabled` is not `false`.
|
|
45
45
|
- If you prefer env vars, set `DISCORD_BOT_TOKEN` (a config block is optional).
|
|
46
46
|
5. Direct chats: use `user:<id>` (or a `<@id>` mention) when delivering; all turns land in the shared `main` session. Bare numeric IDs are ambiguous and rejected.
|
|
47
47
|
6. Guild channels: use `channel:<channelId>` for delivery. Mentions are required by default and can be set per guild or per channel.
|
|
48
|
-
7. Direct chats: secure by default via `channels.discord.dm.policy` (default: `"pairing"`). Unknown senders get a pairing code (expires after 1 hour); approve via `
|
|
48
|
+
7. Direct chats: secure by default via `channels.discord.dm.policy` (default: `"pairing"`). Unknown senders get a pairing code (expires after 1 hour); approve via `openclaw pairing approve discord <code>`.
|
|
49
49
|
- To keep old “open to anyone” behavior: set `channels.discord.dm.policy="open"` and `channels.discord.dm.allowFrom=["*"]`.
|
|
50
50
|
- To hard-allowlist: set `channels.discord.dm.policy="allowlist"` and list senders in `channels.discord.dm.allowFrom`.
|
|
51
51
|
- To ignore all DMs: set `channels.discord.dm.enabled=false` or `channels.discord.dm.policy="disabled"`.
|
|
@@ -75,7 +75,7 @@ Disable with:
|
|
|
75
75
|
|
|
76
76
|
## How to create your own bot
|
|
77
77
|
|
|
78
|
-
This is the “Discord Developer Portal” setup for running
|
|
78
|
+
This is the “Discord Developer Portal” setup for running OpenClaw in a server (guild) channel like `#help`.
|
|
79
79
|
|
|
80
80
|
### 1) Create the Discord app + bot user
|
|
81
81
|
1. Discord Developer Portal → **Applications** → **New Application**
|
|
@@ -83,7 +83,7 @@ This is the “Discord Developer Portal” setup for running Moltbot in a server
|
|
|
83
83
|
- **Bot** → **Add Bot**
|
|
84
84
|
- Copy the **Bot Token** (this is what you put in `DISCORD_BOT_TOKEN`)
|
|
85
85
|
|
|
86
|
-
### 2) Enable the gateway intents
|
|
86
|
+
### 2) Enable the gateway intents OpenClaw needs
|
|
87
87
|
Discord blocks “privileged intents” unless you explicitly enable them.
|
|
88
88
|
|
|
89
89
|
In **Bot** → **Privileged Gateway Intents**, enable:
|
|
@@ -113,7 +113,7 @@ Avoid **Administrator** unless you’re debugging and fully trust the bot.
|
|
|
113
113
|
Copy the generated URL, open it, pick your server, and install the bot.
|
|
114
114
|
|
|
115
115
|
### 4) Get the ids (guild/user/channel)
|
|
116
|
-
Discord uses numeric ids everywhere;
|
|
116
|
+
Discord uses numeric ids everywhere; OpenClaw config prefers ids.
|
|
117
117
|
|
|
118
118
|
1. Discord (desktop/web) → **User Settings** → **Advanced** → enable **Developer Mode**
|
|
119
119
|
2. Right-click:
|
|
@@ -121,7 +121,7 @@ Discord uses numeric ids everywhere; Moltbot config prefers ids.
|
|
|
121
121
|
- Channel (e.g. `#help`) → **Copy Channel ID**
|
|
122
122
|
- Your user → **Copy User ID**
|
|
123
123
|
|
|
124
|
-
### 5) Configure
|
|
124
|
+
### 5) Configure OpenClaw
|
|
125
125
|
|
|
126
126
|
#### Token
|
|
127
127
|
Set the bot token via env var (recommended on servers):
|
|
@@ -187,7 +187,7 @@ Notes:
|
|
|
187
187
|
3. If nothing happens: check **Troubleshooting** below.
|
|
188
188
|
|
|
189
189
|
### Troubleshooting
|
|
190
|
-
- First: run `
|
|
190
|
+
- First: run `openclaw doctor` and `openclaw channels status --probe` (actionable warnings + quick audits).
|
|
191
191
|
- **“Used disallowed intents”**: enable **Message Content Intent** (and likely **Server Members Intent**) in the Developer Portal, then restart the gateway.
|
|
192
192
|
- **Bot connects but never replies in a guild channel**:
|
|
193
193
|
- Missing **Message Content Intent**, or
|
|
@@ -258,12 +258,12 @@ Outbound Discord API calls retry on rate limits (429) using Discord `retry_after
|
|
|
258
258
|
policy: "pairing", // pairing | allowlist | open | disabled
|
|
259
259
|
allowFrom: ["123456789012345678", "steipete"],
|
|
260
260
|
groupEnabled: false,
|
|
261
|
-
groupChannels: ["
|
|
261
|
+
groupChannels: ["openclaw-dm"]
|
|
262
262
|
},
|
|
263
263
|
guilds: {
|
|
264
264
|
"*": { requireMention: true },
|
|
265
265
|
"123456789012345678": {
|
|
266
|
-
slug: "friends-of-
|
|
266
|
+
slug: "friends-of-openclaw",
|
|
267
267
|
requireMention: false,
|
|
268
268
|
reactionNotifications: "own",
|
|
269
269
|
users: ["987654321098765432", "steipete"],
|
|
@@ -375,13 +375,13 @@ Allowlist matching notes:
|
|
|
375
375
|
- When `guilds.<id>.channels` is omitted, all channels in the allowlisted guild are allowed.
|
|
376
376
|
- To allow **no channels**, set `channels.discord.groupPolicy: "disabled"` (or keep an empty allowlist).
|
|
377
377
|
- The configure wizard accepts `Guild/Channel` names (public + private) and resolves them to IDs when possible.
|
|
378
|
-
- On startup,
|
|
378
|
+
- On startup, OpenClaw resolves channel/user names in allowlists to IDs (when the bot can search members)
|
|
379
379
|
and logs the mapping; unresolved entries are kept as typed.
|
|
380
380
|
|
|
381
381
|
Native command notes:
|
|
382
|
-
- The registered commands mirror
|
|
382
|
+
- The registered commands mirror OpenClaw’s chat commands.
|
|
383
383
|
- Native commands honor the same allowlists as DMs/guild messages (`channels.discord.dm.allowFrom`, `channels.discord.guilds`, per-channel rules).
|
|
384
|
-
- Slash commands may still be visible in Discord UI to users who aren’t allowlisted;
|
|
384
|
+
- Slash commands may still be visible in Discord UI to users who aren’t allowlisted; OpenClaw enforces allowlists on execution and replies “not authorized”.
|
|
385
385
|
|
|
386
386
|
## Tool actions
|
|
387
387
|
The agent can call `discord` with actions like:
|
|
@@ -401,4 +401,4 @@ Emoji can be unicode (e.g., `✅`) or custom emoji syntax like `<:party_blob:123
|
|
|
401
401
|
## Safety & ops
|
|
402
402
|
- Treat the bot token like a password; prefer the `DISCORD_BOT_TOKEN` env var on supervised hosts or lock down the config file permissions.
|
|
403
403
|
- Only grant the bot permissions it needs (typically Read/Send Messages).
|
|
404
|
-
- If the bot is stuck or rate limited, restart the gateway (`
|
|
404
|
+
- If the bot is stuck or rate limited, restart the gateway (`openclaw gateway --force`) after confirming no other processes own the Discord session.
|
|
@@ -13,7 +13,7 @@ Status: ready for DMs + spaces via Google Chat API webhooks (HTTP only).
|
|
|
13
13
|
- Enable the API if it is not already enabled.
|
|
14
14
|
2) Create a **Service Account**:
|
|
15
15
|
- Press **Create Credentials** > **Service Account**.
|
|
16
|
-
- Name it whatever you want (e.g., `
|
|
16
|
+
- Name it whatever you want (e.g., `openclaw-chat`).
|
|
17
17
|
- Leave permissions blank (press **Continue**).
|
|
18
18
|
- Leave principals with access blank (press **Done**).
|
|
19
19
|
3) Create and download the **JSON Key**:
|
|
@@ -21,17 +21,17 @@ Status: ready for DMs + spaces via Google Chat API webhooks (HTTP only).
|
|
|
21
21
|
- Go to the **Keys** tab.
|
|
22
22
|
- Click **Add Key** > **Create new key**.
|
|
23
23
|
- Select **JSON** and press **Create**.
|
|
24
|
-
4) Store the downloaded JSON file on your gateway host (e.g., `~/.
|
|
24
|
+
4) Store the downloaded JSON file on your gateway host (e.g., `~/.openclaw/googlechat-service-account.json`).
|
|
25
25
|
5) Create a Google Chat app in the [Google Cloud Console Chat Configuration](https://console.cloud.google.com/apis/api/chat.googleapis.com/hangouts-chat):
|
|
26
26
|
- Fill in the **Application info**:
|
|
27
|
-
- **App name**: (e.g. `
|
|
28
|
-
- **Avatar URL**: (e.g. `https://
|
|
27
|
+
- **App name**: (e.g. `OpenClaw`)
|
|
28
|
+
- **Avatar URL**: (e.g. `https://openclaw.ai/logo.png`)
|
|
29
29
|
- **Description**: (e.g. `Personal AI Assistant`)
|
|
30
30
|
- Enable **Interactive features**.
|
|
31
31
|
- Under **Functionality**, check **Join spaces and group conversations**.
|
|
32
32
|
- Under **Connection settings**, select **HTTP endpoint URL**.
|
|
33
33
|
- Under **Triggers**, select **Use a common HTTP endpoint URL for all triggers** and set it to your gateway's public URL followed by `/googlechat`.
|
|
34
|
-
- *Tip: Run `
|
|
34
|
+
- *Tip: Run `openclaw status` to find your gateway's public URL.*
|
|
35
35
|
- Under **Visibility**, check **Make this Chat app available to specific people and groups in <Your Domain>**.
|
|
36
36
|
- Enter your email address (e.g. `user@example.com`) in the text box.
|
|
37
37
|
- Click **Save** at the bottom.
|
|
@@ -40,7 +40,7 @@ Status: ready for DMs + spaces via Google Chat API webhooks (HTTP only).
|
|
|
40
40
|
- Look for the **App status** section (usually near the top or bottom after saving).
|
|
41
41
|
- Change the status to **Live - available to users**.
|
|
42
42
|
- Click **Save** again.
|
|
43
|
-
7) Configure
|
|
43
|
+
7) Configure OpenClaw with the service account path + webhook audience:
|
|
44
44
|
- Env: `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE=/path/to/service-account.json`
|
|
45
45
|
- Or config: `channels.googlechat.serviceAccountFile: "/path/to/service-account.json"`.
|
|
46
46
|
8) Set the webhook audience type + value (matches your Chat app config).
|
|
@@ -57,7 +57,7 @@ Once the gateway is running and your email is added to the visibility list:
|
|
|
57
57
|
6) Send "Hello" to trigger the assistant!
|
|
58
58
|
|
|
59
59
|
## Public URL (Webhook-only)
|
|
60
|
-
Google Chat webhooks require a public HTTPS endpoint. For security, **only expose the `/googlechat` path** to the internet. Keep the
|
|
60
|
+
Google Chat webhooks require a public HTTPS endpoint. For security, **only expose the `/googlechat` path** to the internet. Keep the OpenClaw dashboard and other sensitive endpoints on your private network.
|
|
61
61
|
|
|
62
62
|
### Option A: Tailscale Funnel (Recommended)
|
|
63
63
|
Use Tailscale Serve for the private dashboard and Funnel for the public webhook path. This keeps `/` private while exposing only `/googlechat`.
|
|
@@ -112,7 +112,7 @@ your-domain.com {
|
|
|
112
112
|
reverse_proxy /googlechat* localhost:18789
|
|
113
113
|
}
|
|
114
114
|
```
|
|
115
|
-
With this config, any request to `your-domain.com/` will be ignored or returned as 404, while `your-domain.com/googlechat` is safely routed to
|
|
115
|
+
With this config, any request to `your-domain.com/` will be ignored or returned as 404, while `your-domain.com/googlechat` is safely routed to OpenClaw.
|
|
116
116
|
|
|
117
117
|
### Option C: Cloudflare Tunnel
|
|
118
118
|
Configure your tunnel's ingress rules to only route the webhook path:
|
|
@@ -122,14 +122,14 @@ Configure your tunnel's ingress rules to only route the webhook path:
|
|
|
122
122
|
## How it works
|
|
123
123
|
|
|
124
124
|
1. Google Chat sends webhook POSTs to the gateway. Each request includes an `Authorization: Bearer <token>` header.
|
|
125
|
-
2.
|
|
125
|
+
2. OpenClaw verifies the token against the configured `audienceType` + `audience`:
|
|
126
126
|
- `audienceType: "app-url"` → audience is your HTTPS webhook URL.
|
|
127
127
|
- `audienceType: "project-number"` → audience is the Cloud project number.
|
|
128
128
|
3. Messages are routed by space:
|
|
129
129
|
- DMs use session key `agent:<agentId>:googlechat:dm:<spaceId>`.
|
|
130
130
|
- Spaces use session key `agent:<agentId>:googlechat:group:<spaceId>`.
|
|
131
131
|
4. DM access is pairing by default. Unknown senders receive a pairing code; approve with:
|
|
132
|
-
- `
|
|
132
|
+
- `openclaw pairing approve googlechat <code>`
|
|
133
133
|
5. Group spaces require @-mention by default. Use `botUser` if mention detection needs the app’s user name.
|
|
134
134
|
|
|
135
135
|
## Targets
|
|
@@ -187,32 +187,32 @@ status code: 405, reason phrase: HTTP error response: HTTP/1.1 405 Method Not Al
|
|
|
187
187
|
This means the webhook handler isn't registered. Common causes:
|
|
188
188
|
1. **Channel not configured**: The `channels.googlechat` section is missing from your config. Verify with:
|
|
189
189
|
```bash
|
|
190
|
-
|
|
190
|
+
openclaw config get channels.googlechat
|
|
191
191
|
```
|
|
192
192
|
If it returns "Config path not found", add the configuration (see [Config highlights](#config-highlights)).
|
|
193
193
|
|
|
194
194
|
2. **Plugin not enabled**: Check plugin status:
|
|
195
195
|
```bash
|
|
196
|
-
|
|
196
|
+
openclaw plugins list | grep googlechat
|
|
197
197
|
```
|
|
198
198
|
If it shows "disabled", add `plugins.entries.googlechat.enabled: true` to your config.
|
|
199
199
|
|
|
200
200
|
3. **Gateway not restarted**: After adding config, restart the gateway:
|
|
201
201
|
```bash
|
|
202
|
-
|
|
202
|
+
openclaw gateway restart
|
|
203
203
|
```
|
|
204
204
|
|
|
205
205
|
Verify the channel is running:
|
|
206
206
|
```bash
|
|
207
|
-
|
|
207
|
+
openclaw channels status
|
|
208
208
|
# Should show: Google Chat default: enabled, configured, ...
|
|
209
209
|
```
|
|
210
210
|
|
|
211
211
|
### Other issues
|
|
212
|
-
- Check `
|
|
212
|
+
- Check `openclaw channels status --probe` for auth errors or missing audience config.
|
|
213
213
|
- If no messages arrive, confirm the Chat app's webhook URL + event subscriptions.
|
|
214
214
|
- If mention gating blocks replies, set `botUser` to the app's user resource name and verify `requireMention`.
|
|
215
|
-
- Use `
|
|
215
|
+
- Use `openclaw logs --follow` while sending a test message to see if requests reach the gateway.
|
|
216
216
|
|
|
217
217
|
Related docs:
|
|
218
218
|
- [Gateway configuration](/gateway/configuration)
|
|
@@ -13,7 +13,7 @@ Status: external CLI integration. Gateway spawns `imsg rpc` (JSON-RPC over stdio
|
|
|
13
13
|
1) Ensure Messages is signed in on this Mac.
|
|
14
14
|
2) Install `imsg`:
|
|
15
15
|
- `brew install steipete/tap/imsg`
|
|
16
|
-
3) Configure
|
|
16
|
+
3) Configure OpenClaw with `channels.imessage.cliPath` and `channels.imessage.dbPath`.
|
|
17
17
|
4) Start the gateway and approve any macOS prompts (Automation + Full Disk Access).
|
|
18
18
|
|
|
19
19
|
Minimal config:
|
|
@@ -47,7 +47,7 @@ Disable with:
|
|
|
47
47
|
|
|
48
48
|
## Requirements
|
|
49
49
|
- macOS with Messages signed in.
|
|
50
|
-
- Full Disk Access for
|
|
50
|
+
- Full Disk Access for OpenClaw + `imsg` (Messages DB access).
|
|
51
51
|
- Automation permission when sending.
|
|
52
52
|
- `channels.imessage.cliPath` can point to any command that proxies stdin/stdout (for example, a wrapper script that SSHes to another Mac and runs `imsg rpc`).
|
|
53
53
|
|
|
@@ -60,7 +60,7 @@ If you want the bot to send from a **separate iMessage identity** (and keep your
|
|
|
60
60
|
|
|
61
61
|
1) Create a dedicated Apple ID (example: `my-cool-bot@icloud.com`).
|
|
62
62
|
- Apple may require a phone number for verification / 2FA.
|
|
63
|
-
2) Create a macOS user (example: `
|
|
63
|
+
2) Create a macOS user (example: `openclawhome`) and sign into it.
|
|
64
64
|
3) Open Messages in that macOS user and sign into iMessage using the bot Apple ID.
|
|
65
65
|
4) Enable Remote Login (System Settings → General → Sharing → Remote Login).
|
|
66
66
|
5) Install `imsg`:
|
|
@@ -103,7 +103,7 @@ Example config:
|
|
|
103
103
|
For single-account setups, use flat options (`channels.imessage.cliPath`, `channels.imessage.dbPath`) instead of the `accounts` map.
|
|
104
104
|
|
|
105
105
|
### Remote/SSH variant (optional)
|
|
106
|
-
If you want iMessage on another Mac, set `channels.imessage.cliPath` to a wrapper that runs `imsg` on the remote macOS host over SSH.
|
|
106
|
+
If you want iMessage on another Mac, set `channels.imessage.cliPath` to a wrapper that runs `imsg` on the remote macOS host over SSH. OpenClaw only needs stdio.
|
|
107
107
|
|
|
108
108
|
Example wrapper:
|
|
109
109
|
```bash
|
|
@@ -111,7 +111,7 @@ Example wrapper:
|
|
|
111
111
|
exec ssh -T gateway-host imsg "$@"
|
|
112
112
|
```
|
|
113
113
|
|
|
114
|
-
**Remote attachments:** When `cliPath` points to a remote host via SSH, attachment paths in the Messages database reference files on the remote machine.
|
|
114
|
+
**Remote attachments:** When `cliPath` points to a remote host via SSH, attachment paths in the Messages database reference files on the remote machine. OpenClaw can automatically fetch these over SCP by setting `channels.imessage.remoteHost`:
|
|
115
115
|
|
|
116
116
|
```json5
|
|
117
117
|
{
|
|
@@ -125,7 +125,7 @@ exec ssh -T gateway-host imsg "$@"
|
|
|
125
125
|
}
|
|
126
126
|
```
|
|
127
127
|
|
|
128
|
-
If `remoteHost` is not set,
|
|
128
|
+
If `remoteHost` is not set, OpenClaw attempts to auto-detect it by parsing the SSH command in your wrapper script. Explicit configuration is recommended for reliability.
|
|
129
129
|
|
|
130
130
|
#### Remote Mac via Tailscale (example)
|
|
131
131
|
If the Gateway runs on a Linux host/VM but iMessage must run on a Mac, Tailscale is the simplest bridge: the Gateway talks to the Mac over the tailnet, runs `imsg` via SSH, and SCPs attachments back.
|
|
@@ -134,7 +134,7 @@ Architecture:
|
|
|
134
134
|
```
|
|
135
135
|
┌──────────────────────────────┐ SSH (imsg rpc) ┌──────────────────────────┐
|
|
136
136
|
│ Gateway host (Linux/VM) │──────────────────────────────────▶│ Mac with Messages + imsg │
|
|
137
|
-
│ -
|
|
137
|
+
│ - openclaw gateway │ SCP (attachments) │ - Messages signed in │
|
|
138
138
|
│ - channels.imessage.cliPath │◀──────────────────────────────────│ - Remote Login enabled │
|
|
139
139
|
└──────────────────────────────┘ └──────────────────────────┘
|
|
140
140
|
▲
|
|
@@ -149,7 +149,7 @@ Concrete config example (Tailscale hostname):
|
|
|
149
149
|
channels: {
|
|
150
150
|
imessage: {
|
|
151
151
|
enabled: true,
|
|
152
|
-
cliPath: "~/.
|
|
152
|
+
cliPath: "~/.openclaw/scripts/imsg-ssh",
|
|
153
153
|
remoteHost: "bot@mac-mini.tailnet-1234.ts.net",
|
|
154
154
|
includeAttachments: true,
|
|
155
155
|
dbPath: "/Users/bot/Library/Messages/chat.db"
|
|
@@ -158,7 +158,7 @@ Concrete config example (Tailscale hostname):
|
|
|
158
158
|
}
|
|
159
159
|
```
|
|
160
160
|
|
|
161
|
-
Example wrapper (`~/.
|
|
161
|
+
Example wrapper (`~/.openclaw/scripts/imsg-ssh`):
|
|
162
162
|
```bash
|
|
163
163
|
#!/usr/bin/env bash
|
|
164
164
|
exec ssh -T bot@mac-mini.tailnet-1234.ts.net imsg "$@"
|
|
@@ -169,15 +169,15 @@ Notes:
|
|
|
169
169
|
- Use SSH keys so `ssh bot@mac-mini.tailnet-1234.ts.net` works without prompts.
|
|
170
170
|
- `remoteHost` should match the SSH target so SCP can fetch attachments.
|
|
171
171
|
|
|
172
|
-
Multi-account support: use `channels.imessage.accounts` with per-account config and optional `name`. See [`gateway/configuration`](/gateway/configuration#telegramaccounts--discordaccounts--slackaccounts--signalaccounts--imessageaccounts) for the shared pattern. Don't commit `~/.
|
|
172
|
+
Multi-account support: use `channels.imessage.accounts` with per-account config and optional `name`. See [`gateway/configuration`](/gateway/configuration#telegramaccounts--discordaccounts--slackaccounts--signalaccounts--imessageaccounts) for the shared pattern. Don't commit `~/.openclaw/openclaw.json` (it often contains tokens).
|
|
173
173
|
|
|
174
174
|
## Access control (DMs + groups)
|
|
175
175
|
DMs:
|
|
176
176
|
- Default: `channels.imessage.dmPolicy = "pairing"`.
|
|
177
177
|
- Unknown senders receive a pairing code; messages are ignored until approved (codes expire after 1 hour).
|
|
178
178
|
- Approve via:
|
|
179
|
-
- `
|
|
180
|
-
- `
|
|
179
|
+
- `openclaw pairing list imessage`
|
|
180
|
+
- `openclaw pairing approve imessage <CODE>`
|
|
181
181
|
- Pairing is the default token exchange for iMessage DMs. Details: [Pairing](/start/pairing)
|
|
182
182
|
|
|
183
183
|
Groups:
|
|
@@ -193,7 +193,7 @@ Groups:
|
|
|
193
193
|
## Group-ish threads (`is_group=false`)
|
|
194
194
|
Some iMessage threads can have multiple participants but still arrive with `is_group=false` depending on how Messages stores the chat identifier.
|
|
195
195
|
|
|
196
|
-
If you explicitly configure a `chat_id` under `channels.imessage.groups`,
|
|
196
|
+
If you explicitly configure a `chat_id` under `channels.imessage.groups`, OpenClaw treats that thread as a “group” for:
|
|
197
197
|
- session isolation (separate `agent:<agentId>:imessage:group:<chat_id>` session key)
|
|
198
198
|
- group allowlisting / mention gating behavior
|
|
199
199
|
|
package/docs/channels/index.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "Messaging platforms
|
|
2
|
+
summary: "Messaging platforms OpenClaw can connect to"
|
|
3
3
|
read_when:
|
|
4
|
-
- You want to choose a chat channel for
|
|
4
|
+
- You want to choose a chat channel for OpenClaw
|
|
5
5
|
- You need a quick overview of supported messaging platforms
|
|
6
6
|
---
|
|
7
7
|
# Chat Channels
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
OpenClaw can talk to you on any chat app you already use. Each channel connects via the Gateway.
|
|
10
10
|
Text is supported everywhere; media and reactions vary by channel.
|
|
11
11
|
|
|
12
12
|
## Supported channels
|
|
@@ -33,7 +33,7 @@ Text is supported everywhere; media and reactions vary by channel.
|
|
|
33
33
|
|
|
34
34
|
## Notes
|
|
35
35
|
|
|
36
|
-
- Channels can run simultaneously; configure multiple and
|
|
36
|
+
- Channels can run simultaneously; configure multiple and OpenClaw will route per chat.
|
|
37
37
|
- Fastest setup is usually **Telegram** (simple bot token). WhatsApp requires QR pairing and
|
|
38
38
|
stores more state on disk.
|
|
39
39
|
- Group behavior varies by channel; see [Groups](/concepts/groups).
|
package/docs/channels/line.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
summary: "LINE Messaging API plugin setup, config, and usage"
|
|
3
3
|
read_when:
|
|
4
|
-
- You want to connect
|
|
4
|
+
- You want to connect OpenClaw to LINE
|
|
5
5
|
- You need LINE webhook + credential setup
|
|
6
6
|
- You want LINE-specific message options
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
# LINE (plugin)
|
|
10
10
|
|
|
11
|
-
LINE connects to
|
|
11
|
+
LINE connects to OpenClaw via the LINE Messaging API. The plugin runs as a webhook
|
|
12
12
|
receiver on the gateway and uses your channel access token + channel secret for
|
|
13
13
|
authentication.
|
|
14
14
|
|
|
@@ -21,13 +21,13 @@ are not supported.
|
|
|
21
21
|
Install the LINE plugin:
|
|
22
22
|
|
|
23
23
|
```bash
|
|
24
|
-
|
|
24
|
+
openclaw plugins install @openclaw/line
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
Local checkout (when running from a git repo):
|
|
28
28
|
|
|
29
29
|
```bash
|
|
30
|
-
|
|
30
|
+
openclaw plugins install ./extensions/line
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
## Setup
|
|
@@ -106,8 +106,8 @@ Direct messages default to pairing. Unknown senders get a pairing code and their
|
|
|
106
106
|
messages are ignored until approved.
|
|
107
107
|
|
|
108
108
|
```bash
|
|
109
|
-
|
|
110
|
-
|
|
109
|
+
openclaw pairing list line
|
|
110
|
+
openclaw pairing approve line <CODE>
|
|
111
111
|
```
|
|
112
112
|
|
|
113
113
|
Allowlists and policies:
|
|
@@ -7,7 +7,7 @@ read_when:
|
|
|
7
7
|
|
|
8
8
|
# Channel location parsing
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
OpenClaw normalizes shared locations from chat channels into:
|
|
11
11
|
- human-readable text appended to the inbound body, and
|
|
12
12
|
- structured fields in the auto-reply context payload.
|
|
13
13
|
|
package/docs/channels/matrix.md
CHANGED
|
@@ -5,7 +5,7 @@ read_when:
|
|
|
5
5
|
---
|
|
6
6
|
# Matrix (plugin)
|
|
7
7
|
|
|
8
|
-
Matrix is an open, decentralized messaging protocol.
|
|
8
|
+
Matrix is an open, decentralized messaging protocol. OpenClaw connects as a Matrix **user**
|
|
9
9
|
on any homeserver, so you need a Matrix account for the bot. Once it is logged in, you can DM
|
|
10
10
|
the bot directly or invite it to rooms (Matrix "groups"). Beeper is a valid client option too,
|
|
11
11
|
but it requires E2EE to be enabled.
|
|
@@ -20,25 +20,25 @@ Matrix ships as a plugin and is not bundled with the core install.
|
|
|
20
20
|
Install via CLI (npm registry):
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
|
|
23
|
+
openclaw plugins install @openclaw/matrix
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
Local checkout (when running from a git repo):
|
|
27
27
|
|
|
28
28
|
```bash
|
|
29
|
-
|
|
29
|
+
openclaw plugins install ./extensions/matrix
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
If you choose Matrix during configure/onboarding and a git checkout is detected,
|
|
33
|
-
|
|
33
|
+
OpenClaw will offer the local install path automatically.
|
|
34
34
|
|
|
35
35
|
Details: [Plugins](/plugin)
|
|
36
36
|
|
|
37
37
|
## Setup
|
|
38
38
|
|
|
39
39
|
1) Install the Matrix plugin:
|
|
40
|
-
- From npm: `
|
|
41
|
-
- From a local checkout: `
|
|
40
|
+
- From npm: `openclaw plugins install @openclaw/matrix`
|
|
41
|
+
- From a local checkout: `openclaw plugins install ./extensions/matrix`
|
|
42
42
|
2) Create a Matrix account on a homeserver:
|
|
43
43
|
- Browse hosting options at [https://matrix.org/ecosystem/hosting/](https://matrix.org/ecosystem/hosting/)
|
|
44
44
|
- Or host it yourself.
|
|
@@ -60,8 +60,8 @@ Details: [Plugins](/plugin)
|
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
- Replace `matrix.example.org` with your homeserver URL.
|
|
63
|
-
- Or set `channels.matrix.userId` + `channels.matrix.password`:
|
|
64
|
-
login endpoint, stores the access token in `~/.
|
|
63
|
+
- Or set `channels.matrix.userId` + `channels.matrix.password`: OpenClaw calls the same
|
|
64
|
+
login endpoint, stores the access token in `~/.openclaw/credentials/matrix/credentials.json`,
|
|
65
65
|
and reuses it on next start.
|
|
66
66
|
4) Configure credentials:
|
|
67
67
|
- Env: `MATRIX_HOMESERVER`, `MATRIX_ACCESS_TOKEN` (or `MATRIX_USER_ID` + `MATRIX_PASSWORD`)
|
|
@@ -113,17 +113,17 @@ Enable with `channels.matrix.encryption: true`:
|
|
|
113
113
|
|
|
114
114
|
- If the crypto module loads, encrypted rooms are decrypted automatically.
|
|
115
115
|
- Outbound media is encrypted when sending to encrypted rooms.
|
|
116
|
-
- On first connection,
|
|
116
|
+
- On first connection, OpenClaw requests device verification from your other sessions.
|
|
117
117
|
- Verify the device in another Matrix client (Element, etc.) to enable key sharing.
|
|
118
118
|
- If the crypto module cannot be loaded, E2EE is disabled and encrypted rooms will not decrypt;
|
|
119
|
-
|
|
119
|
+
OpenClaw logs a warning.
|
|
120
120
|
- If you see missing crypto module errors (for example, `@matrix-org/matrix-sdk-crypto-nodejs-*`),
|
|
121
121
|
allow build scripts for `@matrix-org/matrix-sdk-crypto-nodejs` and run
|
|
122
122
|
`pnpm rebuild @matrix-org/matrix-sdk-crypto-nodejs` or fetch the binary with
|
|
123
123
|
`node node_modules/@matrix-org/matrix-sdk-crypto-nodejs/download-lib.js`.
|
|
124
124
|
|
|
125
125
|
Crypto state is stored per account + access token in
|
|
126
|
-
`~/.
|
|
126
|
+
`~/.openclaw/matrix/accounts/<account>/<homeserver>__<user>/<token-hash>/crypto/`
|
|
127
127
|
(SQLite database). Sync state lives alongside it in `bot-storage.json`.
|
|
128
128
|
If the access token (device) changes, a new store is created and the bot must be
|
|
129
129
|
re-verified for encrypted rooms.
|
|
@@ -142,8 +142,8 @@ Once verified, the bot can decrypt messages in encrypted rooms.
|
|
|
142
142
|
|
|
143
143
|
- Default: `channels.matrix.dm.policy = "pairing"`. Unknown senders get a pairing code.
|
|
144
144
|
- Approve via:
|
|
145
|
-
- `
|
|
146
|
-
- `
|
|
145
|
+
- `openclaw pairing list matrix`
|
|
146
|
+
- `openclaw pairing approve matrix <CODE>`
|
|
147
147
|
- Public DMs: `channels.matrix.dm.policy="open"` plus `channels.matrix.dm.allowFrom=["*"]`.
|
|
148
148
|
- `channels.matrix.dm.allowFrom` accepts user IDs or display names. The wizard resolves display names to user IDs when directory search is available.
|
|
149
149
|
|
|
@@ -172,7 +172,7 @@ Once verified, the bot can decrypt messages in encrypted rooms.
|
|
|
172
172
|
- `groupAllowFrom` restricts which senders can trigger the bot in rooms (optional).
|
|
173
173
|
- Per-room `users` allowlists can further restrict senders inside a specific room.
|
|
174
174
|
- The configure wizard prompts for room allowlists (room IDs, aliases, or names) and resolves names when possible.
|
|
175
|
-
- On startup,
|
|
175
|
+
- On startup, OpenClaw resolves room/user names in allowlists to IDs and logs the mapping; unresolved entries are kept as typed.
|
|
176
176
|
- Invites are auto-joined by default; control with `channels.matrix.autoJoin` and `channels.matrix.autoJoinAllowlist`.
|
|
177
177
|
- To allow **no rooms**, set `channels.matrix.groupPolicy: "disabled"` (or keep an empty allowlist).
|
|
178
178
|
- Legacy key: `channels.matrix.rooms` (same shape as `groups`).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "Mattermost bot setup and
|
|
2
|
+
summary: "Mattermost bot setup and OpenClaw config"
|
|
3
3
|
read_when:
|
|
4
4
|
- Setting up Mattermost
|
|
5
5
|
- Debugging Mattermost routing
|
|
@@ -16,16 +16,16 @@ Mattermost ships as a plugin and is not bundled with the core install.
|
|
|
16
16
|
|
|
17
17
|
Install via CLI (npm registry):
|
|
18
18
|
```bash
|
|
19
|
-
|
|
19
|
+
openclaw plugins install @openclaw/mattermost
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
Local checkout (when running from a git repo):
|
|
23
23
|
```bash
|
|
24
|
-
|
|
24
|
+
openclaw plugins install ./extensions/mattermost
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
If you choose Mattermost during configure/onboarding and a git checkout is detected,
|
|
28
|
-
|
|
28
|
+
OpenClaw will offer the local install path automatically.
|
|
29
29
|
|
|
30
30
|
Details: [Plugins](/plugin)
|
|
31
31
|
|
|
@@ -33,7 +33,7 @@ Details: [Plugins](/plugin)
|
|
|
33
33
|
1) Install the Mattermost plugin.
|
|
34
34
|
2) Create a Mattermost bot account and copy the **bot token**.
|
|
35
35
|
3) Copy the Mattermost **base URL** (e.g., `https://chat.example.com`).
|
|
36
|
-
4) Configure
|
|
36
|
+
4) Configure OpenClaw and start the gateway.
|
|
37
37
|
|
|
38
38
|
Minimal config:
|
|
39
39
|
```json5
|
|
@@ -83,8 +83,8 @@ Notes:
|
|
|
83
83
|
## Access control (DMs)
|
|
84
84
|
- Default: `channels.mattermost.dmPolicy = "pairing"` (unknown senders get a pairing code).
|
|
85
85
|
- Approve via:
|
|
86
|
-
- `
|
|
87
|
-
- `
|
|
86
|
+
- `openclaw pairing list mattermost`
|
|
87
|
+
- `openclaw pairing approve mattermost <CODE>`
|
|
88
88
|
- Public DMs: `channels.mattermost.dmPolicy="open"` plus `channels.mattermost.allowFrom=["*"]`.
|
|
89
89
|
|
|
90
90
|
## Channels (groups)
|
|
@@ -93,7 +93,7 @@ Notes:
|
|
|
93
93
|
- Open channels: `channels.mattermost.groupPolicy="open"` (mention-gated).
|
|
94
94
|
|
|
95
95
|
## Targets for outbound delivery
|
|
96
|
-
Use these target formats with `
|
|
96
|
+
Use these target formats with `openclaw message send` or cron/webhooks:
|
|
97
97
|
|
|
98
98
|
- `channel:<id>` for a channel
|
|
99
99
|
- `user:<id>` for a DM
|