@poolzin/pool-bot 1.28.0 → 2026.1.26
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 +1123 -32
- package/README.md +37 -47
- package/assets/chrome-extension/background.js +5 -5
- package/assets/chrome-extension/manifest.json +3 -3
- package/assets/chrome-extension/options.html +6 -5
- package/assets/chrome-extension/options.js +1 -1
- package/dist/acp/client.js +5 -5
- package/dist/acp/server.js +1 -1
- package/dist/acp/types.js +2 -2
- package/dist/agents/agent-paths.js +3 -3
- package/dist/agents/auth-health.js +6 -2
- package/dist/agents/auth-profiles/doctor.js +1 -1
- package/dist/agents/auth-profiles/external-cli-sync.js +150 -5
- package/dist/agents/auth-profiles/oauth.js +7 -26
- package/dist/agents/auth-profiles/paths.js +3 -3
- package/dist/agents/auth-profiles/store.js +13 -5
- package/dist/agents/bash-tools.shared.js +1 -8
- package/dist/agents/cli-backends.js +0 -8
- package/dist/agents/cli-runner/helpers.js +3 -3
- package/dist/agents/cli-runner.js +2 -2
- package/dist/agents/compaction.js +0 -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/memory-search.js +2 -7
- package/dist/agents/minimax-vlm.js +1 -1
- package/dist/agents/model-auth.js +1 -1
- package/dist/agents/model-catalog.js +4 -4
- package/dist/agents/model-fallback.js +0 -22
- package/dist/agents/model-selection.js +1 -1
- package/dist/agents/models-config.js +3 -3
- package/dist/agents/models-config.providers.js +4 -4
- package/dist/agents/pi-embedded-helpers/openai.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/extensions.js +0 -5
- package/dist/agents/pi-embedded-runner/model.js +2 -2
- package/dist/agents/pi-embedded-runner/run/attempt.js +6 -10
- package/dist/agents/pi-embedded-runner/run.js +4 -4
- package/dist/agents/pi-embedded-runner/sandbox-info.js +4 -1
- package/dist/agents/pi-embedded-runner/utils.js +1 -1
- package/dist/agents/pi-embedded-utils.js +1 -7
- package/dist/agents/pi-extensions/compaction-safeguard.js +3 -32
- package/dist/agents/pi-tools.js +15 -25
- package/dist/agents/pi-tools.policy.js +1 -34
- package/dist/agents/pi-tools.read.js +2 -2
- package/dist/agents/sandbox/browser.js +7 -5
- package/dist/agents/sandbox/config.js +12 -0
- package/dist/agents/sandbox/constants.js +7 -7
- package/dist/agents/sandbox/context.js +3 -3
- package/dist/agents/sandbox/docker.js +8 -8
- 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 +0 -68
- package/dist/agents/skills/config.js +8 -9
- package/dist/agents/skills/env-overrides.js +1 -1
- package/dist/agents/skills/frontmatter.js +14 -15
- package/dist/agents/skills/workspace.js +7 -7
- package/dist/agents/skills-install.js +1 -1
- package/dist/agents/skills-status.js +12 -12
- package/dist/agents/subagent-registry.store.js +2 -2
- package/dist/agents/system-prompt.js +32 -21
- package/dist/agents/tool-images.js +1 -1
- package/dist/agents/tool-policy.js +2 -8
- package/dist/agents/tools/browser-tool.js +79 -19
- package/dist/agents/tools/browser-tool.schema.js +2 -1
- package/dist/agents/tools/cron-tool.js +1 -44
- package/dist/agents/tools/discord-actions-guild.js +1 -5
- package/dist/agents/tools/image-tool.js +2 -2
- package/dist/agents/tools/message-tool.js +0 -1
- package/dist/agents/tools/sessions-send-helpers.js +2 -17
- package/dist/agents/tools/telegram-actions.js +1 -93
- package/dist/agents/tools/web-fetch.js +103 -123
- package/dist/agents/tools/web-search.js +7 -7
- package/dist/agents/workspace.js +0 -36
- package/dist/auto-reply/commands-registry.data.js +3 -68
- package/dist/auto-reply/commands-registry.js +11 -14
- package/dist/auto-reply/reply/agent-runner-execution.js +3 -21
- package/dist/auto-reply/reply/agent-runner-memory.js +0 -5
- 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-info.js +5 -50
- package/dist/auto-reply/reply/commands-session.js +4 -4
- package/dist/auto-reply/reply/commands-tts.js +63 -61
- package/dist/auto-reply/reply/directive-handling.shared.js +1 -1
- package/dist/auto-reply/reply/dispatch-from-config.js +1 -65
- package/dist/auto-reply/reply/followup-runner.js +0 -5
- package/dist/auto-reply/reply/get-reply-inline-actions.js +2 -2
- package/dist/auto-reply/reply/get-reply-run.js +0 -4
- package/dist/auto-reply/reply/groups.js +1 -1
- package/dist/auto-reply/reply/history.js +0 -23
- package/dist/auto-reply/reply/reply-elevated.js +1 -1
- package/dist/auto-reply/reply/session-updates.js +1 -6
- package/dist/auto-reply/status.js +49 -141
- package/dist/browser/bridge-server.js +3 -1
- package/dist/browser/client-actions-core.js +7 -13
- package/dist/browser/client-actions-observe.js +8 -14
- package/dist/browser/client-actions-state.js +15 -21
- package/dist/browser/client-fetch.js +61 -74
- package/dist/browser/client.js +21 -19
- package/dist/browser/config.js +26 -13
- package/dist/browser/constants.js +1 -1
- package/dist/browser/extension-relay.js +3 -3
- package/dist/browser/pw-session.js +4 -41
- 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 +0 -13
- package/dist/browser/routes/agent.debug.js +1 -1
- package/dist/browser/routes/basic.js +1 -0
- package/dist/browser/server-context.js +3 -3
- package/dist/browser/server.js +9 -7
- package/dist/build-info.json +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/a2ui/a2ui.bundle.js +1618 -1620
- package/dist/canvas-host/a2ui/index.html +28 -28
- package/dist/canvas-host/a2ui.js +19 -25
- package/dist/canvas-host/server.js +32 -66
- package/dist/channels/plugins/actions/discord/handle-action.guild-admin.js +1 -5
- package/dist/channels/plugins/actions/telegram.js +7 -60
- package/dist/channels/plugins/catalog.js +4 -6
- package/dist/channels/plugins/group-mentions.js +1 -48
- package/dist/channels/plugins/helpers.js +2 -2
- package/dist/channels/plugins/message-action-names.js +0 -1
- 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 +4 -4
- package/dist/channels/plugins/onboarding/telegram.js +9 -17
- package/dist/channels/plugins/onboarding/whatsapp.js +4 -4
- package/dist/channels/plugins/outbound/telegram.js +0 -38
- 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 +7 -14
- package/dist/cli/banner.js +1 -3
- package/dist/cli/browser-cli-actions-input/register.element.js +44 -72
- package/dist/cli/browser-cli-actions-input/register.files-downloads.js +35 -55
- package/dist/cli/browser-cli-actions-input/register.form-wait-eval.js +28 -41
- package/dist/cli/browser-cli-actions-input/register.navigation.js +14 -23
- package/dist/cli/browser-cli-actions-input/shared.js +3 -10
- package/dist/cli/browser-cli-actions-observe.js +21 -29
- package/dist/cli/browser-cli-debug.js +35 -49
- package/dist/cli/browser-cli-examples.js +29 -29
- package/dist/cli/browser-cli-extension.js +8 -8
- package/dist/cli/browser-cli-inspect.js +17 -23
- package/dist/cli/browser-cli-manage.js +56 -106
- package/dist/cli/browser-cli-shared.js +1 -34
- package/dist/cli/browser-cli-state.cookies-storage.js +39 -53
- package/dist/cli/browser-cli-state.js +64 -90
- package/dist/cli/browser-cli.js +5 -4
- package/dist/cli/channels-cli.js +1 -1
- package/dist/cli/command-format.js +7 -11
- package/dist/cli/config-cli.js +2 -2
- package/dist/cli/cron-cli/register.js +1 -1
- package/dist/cli/daemon-cli/install.js +1 -1
- package/dist/cli/daemon-cli/register.js +1 -1
- package/dist/cli/daemon-cli/shared.js +3 -5
- package/dist/cli/daemon-cli/status.print.js +6 -6
- package/dist/cli/directory-cli.js +1 -1
- package/dist/cli/dns-cli.js +7 -7
- package/dist/cli/docs-cli.js +2 -2
- package/dist/cli/exec-approvals-cli.js +2 -2
- package/dist/cli/gateway-cli/dev.js +4 -4
- package/dist/cli/gateway-cli/register.js +1 -1
- package/dist/cli/gateway-cli/run.js +8 -11
- package/dist/cli/gateway-cli/shared.js +4 -4
- package/dist/cli/hooks-cli.js +3 -3
- package/dist/cli/logs-cli.js +3 -3
- package/dist/cli/memory-cli.js +1 -1
- package/dist/cli/models-cli.js +2 -2
- package/dist/cli/node-cli/daemon.js +2 -2
- package/dist/cli/node-cli/register.js +1 -1
- package/dist/cli/nodes-camera.js +1 -3
- package/dist/cli/nodes-canvas.js +1 -3
- 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 +1 -1
- package/dist/cli/program/config-guard.js +1 -1
- package/dist/cli/program/help.js +14 -13
- package/dist/cli/program/message/register.send.js +1 -2
- package/dist/cli/program/preaction.js +2 -4
- package/dist/cli/program/register.agent.js +12 -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 +3 -5
- package/dist/cli/program/register.setup.js +2 -2
- package/dist/cli/program/register.status-health-sessions.js +13 -13
- package/dist/cli/run-main.js +4 -11
- package/dist/cli/sandbox-cli.js +19 -19
- package/dist/cli/security-cli.js +8 -18
- package/dist/cli/skills-cli.js +3 -3
- package/dist/cli/system-cli.js +1 -1
- package/dist/cli/tagline.js +1 -1
- package/dist/cli/tui-cli.js +1 -1
- package/dist/cli/update-cli.js +42 -58
- package/dist/cli/webhooks-cli.js +6 -6
- package/dist/commands/agent-via-gateway.js +1 -1
- package/dist/commands/agent.js +1 -2
- package/dist/commands/agents.command-shared.js +1 -1
- package/dist/commands/agents.commands.add.js +3 -2
- package/dist/commands/agents.commands.list.js +1 -1
- package/dist/commands/auth-choice-options.js +54 -4
- package/dist/commands/auth-choice.apply.anthropic.js +109 -6
- package/dist/commands/auth-choice.apply.openai.js +33 -1
- package/dist/commands/auth-choice.apply.plugin-provider.js +2 -2
- package/dist/commands/channels/list.js +2 -2
- 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 +4 -4
- package/dist/commands/configure.gateway-auth.js +8 -1
- package/dist/commands/configure.gateway.js +10 -1
- package/dist/commands/configure.wizard.js +11 -11
- package/dist/commands/daemon-install-helpers.js +1 -1
- package/dist/commands/dashboard.js +1 -1
- package/dist/commands/docs.js +5 -5
- package/dist/commands/doctor-auth.js +3 -122
- package/dist/commands/doctor-config-flow.js +7 -7
- package/dist/commands/doctor-format.js +2 -2
- package/dist/commands/doctor-gateway-daemon-flow.js +1 -1
- package/dist/commands/doctor-gateway-services.js +3 -3
- package/dist/commands/doctor-security.js +1 -48
- package/dist/commands/doctor-ui.js +2 -2
- package/dist/commands/doctor-update.js +4 -4
- package/dist/commands/doctor-workspace-status.js +2 -2
- package/dist/commands/doctor-workspace.js +4 -4
- package/dist/commands/doctor.js +12 -13
- package/dist/commands/gateway-status.js +2 -2
- package/dist/commands/models/auth.js +22 -23
- 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 +9 -8
- package/dist/commands/onboard-auth.credentials.js +2 -2
- package/dist/commands/onboard-channels.js +3 -3
- package/dist/commands/onboard-helpers.js +4 -4
- package/dist/commands/onboard-hooks.js +4 -4
- package/dist/commands/onboard-non-interactive/local/auth-choice.js +34 -38
- package/dist/commands/onboard-non-interactive/local/gateway-config.js +4 -7
- 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 +2 -2
- package/dist/commands/onboard-skills.js +2 -2
- package/dist/commands/onboard.js +4 -25
- 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 +2 -2
- 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 +3 -3
- package/dist/commands/status.command.js +9 -9
- package/dist/commands/status.update.js +3 -3
- package/dist/commands/uninstall.js +3 -3
- package/dist/config/config.js +1 -1
- package/dist/config/group-policy.js +0 -69
- package/dist/config/io.js +5 -17
- package/dist/config/legacy.migrations.part-3.js +0 -3
- package/dist/config/logging.js +3 -3
- package/dist/config/paths.js +13 -43
- package/dist/config/schema.js +9 -21
- package/dist/config/sessions/transcript.js +1 -1
- package/dist/config/validation.js +2 -2
- package/dist/config/version.js +4 -4
- package/dist/config/zod-schema.agent-defaults.js +0 -1
- package/dist/config/zod-schema.agent-runtime.js +7 -39
- package/dist/config/zod-schema.hooks.js +0 -2
- package/dist/config/zod-schema.js +3 -9
- package/dist/config/zod-schema.providers-core.js +0 -23
- package/dist/config/zod-schema.providers-whatsapp.js +0 -3
- package/dist/control-ui/assets/{index-HlBhZmfj.js → index-Cl-Y9zqE.js} +578 -620
- package/dist/control-ui/assets/index-Cl-Y9zqE.js.map +1 -0
- package/dist/control-ui/assets/index-DEPfFcOb.css +1 -0
- package/dist/control-ui/index.html +4 -4
- package/dist/cron/isolated-agent/run.js +3 -38
- package/dist/daemon/constants.js +12 -12
- package/dist/daemon/inspect.js +11 -11
- package/dist/daemon/program-args.js +1 -1
- package/dist/daemon/systemd-hints.js +1 -1
- package/dist/daemon/systemd-unit.js +1 -1
- package/dist/discord/monitor/listeners.js +1 -25
- package/dist/discord/monitor/native-command.js +5 -7
- package/dist/discord/monitor/provider.js +7 -21
- package/dist/entry.js +4 -4
- package/dist/gateway/auth.js +19 -52
- package/dist/gateway/hooks-mapping.js +4 -18
- package/dist/gateway/hooks.js +7 -5
- package/dist/gateway/http-utils.js +5 -3
- package/dist/gateway/net.js +1 -1
- 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/protocol/schema/logs-chat.js +1 -1
- package/dist/gateway/server/health-state.js +3 -3
- package/dist/gateway/server/hooks.js +0 -1
- package/dist/gateway/server/ws-connection/message-handler.js +35 -44
- package/dist/gateway/server-browser.js +3 -14
- package/dist/gateway/server-chat.js +2 -28
- package/dist/gateway/server-discovery-runtime.js +17 -25
- package/dist/gateway/server-discovery.js +5 -5
- package/dist/gateway/server-http.js +3 -9
- package/dist/gateway/server-methods/agent.js +0 -2
- package/dist/gateway/server-methods/chat.js +0 -5
- package/dist/gateway/server-methods/config.js +8 -8
- package/dist/gateway/server-methods/logs.js +1 -1
- package/dist/gateway/server-methods/skills.js +3 -3
- package/dist/gateway/server-methods/update.js +2 -2
- package/dist/gateway/server-methods-list.js +0 -1
- package/dist/gateway/server-methods.js +0 -3
- package/dist/gateway/server-plugins.js +2 -2
- package/dist/gateway/server-restart-sentinel.js +5 -10
- package/dist/gateway/server-runtime-config.js +2 -5
- package/dist/gateway/server.impl.js +6 -7
- package/dist/gateway/session-utils.js +11 -31
- package/dist/gateway/test-helpers.mocks.js +5 -5
- package/dist/gateway/test-helpers.server.js +9 -28
- package/dist/gateway/tools-invoke-http.js +8 -15
- package/dist/hooks/bundled/boot-md/HOOK.md +3 -3
- package/dist/hooks/bundled/command-logger/HOOK.md +5 -5
- package/dist/hooks/bundled/session-memory/HOOK.md +4 -4
- package/dist/hooks/bundled/session-memory/handler.js +2 -2
- package/dist/hooks/bundled/soul-evil/HOOK.md +5 -5
- package/dist/hooks/bundled-dir.js +1 -1
- package/dist/hooks/config.js +7 -8
- package/dist/hooks/frontmatter.js +15 -16
- package/dist/hooks/gmail-ops.js +4 -4
- package/dist/hooks/hooks-status.js +13 -13
- package/dist/hooks/install.js +7 -8
- package/dist/hooks/internal-hooks.js +1 -1
- package/dist/hooks/llm-slug-generator.js +1 -1
- package/dist/hooks/loader.js +3 -3
- package/dist/hooks/plugin-hooks.js +8 -8
- package/dist/hooks/workspace.js +9 -10
- package/dist/imessage/monitor/monitor-provider.js +2 -2
- package/dist/index.js +4 -4
- package/dist/infra/agent-events.js +0 -3
- package/dist/infra/bonjour-discovery.js +9 -9
- package/dist/infra/bonjour.js +12 -19
- package/dist/infra/gateway-lock.js +1 -1
- package/dist/infra/heartbeat-visibility.js +0 -14
- package/dist/infra/heartbeat-wake.js +2 -2
- package/dist/infra/machine-name.js +1 -1
- package/dist/infra/net/ssrf.js +1 -77
- package/dist/infra/outbound/message-action-spec.js +0 -1
- package/dist/infra/outbound/targets.js +1 -1
- package/dist/infra/path-env.js +7 -7
- package/dist/infra/ports-format.js +2 -2
- package/dist/infra/ports.js +2 -2
- package/dist/infra/provider-usage.auth.js +4 -2
- package/dist/infra/provider-usage.fetch.claude.js +1 -1
- package/dist/infra/provider-usage.fetch.minimax.js +1 -1
- package/dist/infra/restart-sentinel.js +1 -1
- package/dist/infra/restart.js +1 -1
- package/dist/infra/retry-policy.js +1 -4
- package/dist/infra/runtime-guard.js +2 -2
- package/dist/infra/shell-env.js +1 -1
- package/dist/infra/skills-remote.js +3 -3
- package/dist/infra/tailscale.js +1 -63
- package/dist/infra/tls/gateway.js +1 -1
- package/dist/infra/unhandled-rejections.js +2 -89
- package/dist/infra/update-check.js +4 -2
- package/dist/infra/update-global.js +5 -5
- package/dist/infra/update-runner.js +8 -32
- package/dist/infra/update-startup.js +3 -3
- package/dist/infra/warnings.js +1 -1
- package/dist/infra/widearea-dns.js +10 -10
- package/dist/line/monitor.js +5 -1
- package/dist/line/webhook.js +6 -2
- package/dist/logging/logger.js +4 -4
- package/dist/macos/gateway-daemon.js +2 -2
- package/dist/macos/relay.js +4 -4
- package/dist/media/host.js +1 -1
- package/dist/media/image-ops.js +1 -1
- package/dist/media/input-files.js +32 -40
- package/dist/media/server.js +15 -39
- package/dist/media/store.js +52 -72
- package/dist/media-understanding/attachments.js +1 -1
- package/dist/media-understanding/providers/image.js +2 -2
- package/dist/media-understanding/runner.js +1 -33
- package/dist/memory/batch-gemini.js +1 -1
- package/dist/memory/batch-openai.js +1 -1
- package/dist/memory/embeddings.js +1 -1
- package/dist/node-host/runner.js +56 -60
- package/dist/pairing/pairing-messages.js +2 -2
- package/dist/plugin-sdk/index.js +0 -1
- package/dist/plugins/cli.js +2 -2
- package/dist/plugins/discovery.js +4 -5
- package/dist/plugins/install.js +7 -8
- package/dist/plugins/loader.js +4 -11
- package/dist/plugins/manifest-registry.js +2 -2
- package/dist/plugins/manifest.js +1 -16
- package/dist/plugins/providers.js +2 -2
- package/dist/plugins/registry.js +5 -5
- package/dist/plugins/runtime.js +1 -1
- package/dist/plugins/services.js +3 -3
- 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/session-key.js +12 -17
- package/dist/security/audit-extra.js +69 -116
- package/dist/security/audit-fs.js +0 -78
- package/dist/security/audit.js +88 -121
- package/dist/security/fix.js +8 -93
- package/dist/slack/monitor/media.js +4 -32
- package/dist/slack/monitor/message-handler/dispatch.js +1 -2
- package/dist/slack/monitor/slash.js +3 -3
- package/dist/slack/monitor.test-helpers.js +1 -1
- package/dist/telegram/bot/delivery.js +22 -139
- package/dist/telegram/bot-handlers.js +8 -70
- package/dist/telegram/bot-message-context.js +21 -79
- package/dist/telegram/bot-message-dispatch.js +0 -64
- package/dist/telegram/bot-native-commands.js +94 -244
- package/dist/telegram/bot.js +2 -18
- package/dist/telegram/fetch.js +1 -25
- package/dist/telegram/monitor.js +3 -11
- package/dist/telegram/send.js +4 -148
- package/dist/telegram/webhook-set.js +6 -13
- package/dist/telegram/webhook.js +3 -8
- package/dist/terminal/links.js +1 -1
- package/dist/tts/tts.js +22 -27
- package/dist/tui/components/filterable-select-list.js +1 -1
- package/dist/tui/components/searchable-select-list.js +1 -2
- package/dist/tui/gateway-chat.js +1 -1
- package/dist/tui/tui.js +1 -1
- package/dist/version.js +1 -1
- package/dist/web/active-listener.js +1 -1
- package/dist/web/auth-store.js +1 -1
- 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 +14 -14
- package/dist/wizard/onboarding.gateway-config.js +11 -1
- package/dist/wizard/onboarding.js +10 -21
- package/docs/CNAME +1 -1
- package/docs/POOL-BOT.md +119 -0
- package/docs/_config.yml +2 -2
- package/docs/_layouts/default.html +9 -9
- package/docs/assets/terminal.css +0 -3
- package/docs/assets/theme.js +1 -1
- package/docs/automation/auth-monitoring.md +7 -7
- package/docs/automation/cron-jobs.md +13 -13
- package/docs/automation/cron-vs-heartbeat.md +8 -8
- package/docs/automation/gmail-pubsub.md +21 -23
- package/docs/automation/poll.md +6 -6
- package/docs/automation/webhook.md +8 -13
- package/docs/bedrock.md +10 -10
- package/docs/brave-search.md +1 -1
- package/docs/broadcast-groups.md +3 -3
- package/docs/channels/bluebubbles.md +12 -13
- package/docs/channels/discord.md +16 -21
- package/docs/channels/googlechat.md +15 -15
- package/docs/channels/imessage.md +10 -10
- package/docs/channels/index.md +4 -6
- package/docs/channels/location.md +1 -1
- package/docs/channels/matrix.md +13 -13
- package/docs/channels/mattermost.md +8 -8
- package/docs/channels/msteams.md +25 -29
- 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 +13 -15
- package/docs/channels/telegram.md +20 -149
- package/docs/channels/tlon.md +5 -5
- package/docs/channels/troubleshooting.md +2 -2
- package/docs/channels/whatsapp.md +23 -23
- 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 +9 -9
- package/docs/cli/approvals.md +13 -13
- package/docs/cli/browser.md +35 -33
- 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 -5
- package/docs/cli/docs.md +5 -5
- package/docs/cli/doctor.md +6 -6
- package/docs/cli/gateway.md +24 -24
- package/docs/cli/health.md +5 -5
- package/docs/cli/hooks.md +28 -28
- package/docs/cli/index.md +50 -44
- package/docs/cli/logs.md +6 -6
- package/docs/cli/memory.md +11 -11
- package/docs/cli/message.md +11 -11
- package/docs/cli/models.md +17 -17
- package/docs/cli/node.md +12 -12
- package/docs/cli/nodes.md +14 -14
- package/docs/cli/onboard.md +6 -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 +5 -5
- 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 +11 -11
- package/docs/concepts/agent.md +10 -10
- package/docs/concepts/architecture.md +1 -1
- package/docs/concepts/channel-routing.md +2 -2
- package/docs/concepts/compaction.md +5 -5
- package/docs/concepts/context.md +6 -6
- package/docs/concepts/group-messages.md +5 -5
- package/docs/concepts/groups.md +5 -41
- package/docs/concepts/markdown-formatting.md +3 -3
- package/docs/concepts/memory.md +12 -12
- package/docs/concepts/messages.md +4 -4
- package/docs/concepts/model-failover.md +11 -11
- package/docs/concepts/model-providers.md +22 -22
- package/docs/concepts/models.md +26 -26
- package/docs/concepts/multi-agent.md +5 -5
- package/docs/concepts/oauth.md +55 -28
- 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 +11 -11
- 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 +2 -2
- 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 +4 -4
- package/docs/debugging.md +9 -9
- package/docs/diagnostics/flags.md +5 -5
- package/docs/docs.json +7 -37
- package/docs/environment.md +3 -3
- 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 +6 -6
- package/docs/gateway/authentication.md +54 -30
- package/docs/gateway/background-process.md +1 -1
- package/docs/gateway/bonjour.md +21 -21
- package/docs/gateway/bridge-protocol.md +2 -2
- package/docs/gateway/cli-backends.md +12 -13
- package/docs/gateway/configuration-examples.md +10 -10
- package/docs/gateway/configuration.md +107 -120
- package/docs/gateway/discovery.md +6 -6
- package/docs/gateway/doctor.md +21 -21
- package/docs/gateway/gateway-lock.md +1 -1
- package/docs/gateway/health.md +9 -9
- package/docs/gateway/heartbeat.md +5 -5
- package/docs/gateway/index.md +51 -51
- package/docs/gateway/local-models.md +2 -2
- package/docs/gateway/logging.md +8 -8
- package/docs/gateway/multiple-gateways.md +19 -19
- package/docs/gateway/openai-http-api.md +10 -10
- package/docs/gateway/openresponses-http-api.md +10 -10
- package/docs/gateway/pairing.md +5 -5
- package/docs/gateway/protocol.md +4 -5
- package/docs/gateway/remote-gateway-readme.md +8 -8
- package/docs/gateway/remote.md +4 -4
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +7 -10
- package/docs/gateway/sandboxing.md +5 -7
- package/docs/gateway/{security/index.md → security.md} +63 -143
- package/docs/gateway/tailscale.md +35 -16
- package/docs/gateway/tools-invoke-http-api.md +3 -3
- package/docs/gateway/troubleshooting.md +106 -101
- package/docs/help/faq.md +312 -303
- package/docs/help/troubleshooting.md +15 -15
- package/docs/hooks/soul-evil.md +2 -2
- package/docs/hooks.md +44 -44
- package/docs/index.md +33 -33
- package/docs/install/ansible.md +35 -35
- package/docs/install/development-channels.md +10 -10
- package/docs/install/docker.md +27 -27
- package/docs/install/index.md +27 -28
- package/docs/install/installer.md +21 -21
- package/docs/install/nix.md +16 -16
- package/docs/install/node.md +6 -7
- package/docs/install/uninstall.md +21 -21
- package/docs/install/updating.md +47 -48
- package/docs/logging.md +58 -58
- package/docs/multi-agent-sandbox-tools.md +5 -5
- 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 +50 -50
- 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 +1 -1
- package/docs/perplexity.md +2 -2
- package/docs/platforms/android.md +13 -13
- package/docs/platforms/exe-dev.md +23 -23
- package/docs/platforms/fly.md +18 -129
- package/docs/platforms/hetzner.md +20 -20
- 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 +11 -11
- package/docs/platforms/mac/canvas.md +14 -14
- package/docs/platforms/mac/child-process.md +1 -1
- 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 +6 -6
- package/docs/platforms/mac/skills.md +2 -2
- 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 +14 -14
- package/docs/platforms/windows.md +11 -11
- package/docs/plugin.md +57 -57
- package/docs/plugins/agent-tools.md +1 -1
- package/docs/plugins/manifest.md +4 -4
- package/docs/plugins/voice-call.md +12 -15
- package/docs/plugins/zalouser.md +9 -9
- package/docs/prose.md +9 -9
- package/docs/providers/anthropic.md +27 -23
- 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 +3 -7
- package/docs/providers/minimax.md +9 -9
- package/docs/providers/models.md +3 -3
- package/docs/providers/moonshot.md +2 -2
- package/docs/providers/ollama.md +11 -11
- package/docs/providers/openai.md +13 -9
- 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 +21 -21
- package/docs/providers/vercel-ai-gateway.md +3 -4
- package/docs/providers/zai.md +5 -5
- package/docs/railway.mdx +5 -5
- package/docs/refactor/plugin-sdk.md +10 -10
- package/docs/refactor/strict-config.md +11 -11
- package/docs/reference/AGENTS.default.md +10 -10
- package/docs/reference/RELEASING.md +27 -27
- 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 +17 -17
- package/docs/reference/templates/AGENTS.dev.md +1 -1
- package/docs/reference/templates/BOOT.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/scripts.md +1 -1
- package/docs/start/clawd.md +27 -27
- package/docs/start/getting-started.md +23 -29
- package/docs/start/hubs.md +2 -2
- package/docs/start/lore.md +38 -74
- package/docs/start/onboarding.md +4 -4
- package/docs/start/pairing.md +8 -8
- package/docs/start/setup.md +15 -28
- package/docs/start/showcase.md +32 -32
- package/docs/start/wizard.md +21 -24
- package/docs/testing.md +10 -10
- package/docs/token-use.md +7 -7
- package/docs/tools/agent-send.md +10 -10
- package/docs/tools/browser-linux-troubleshooting.md +8 -8
- package/docs/tools/browser-login.md +4 -4
- package/docs/tools/browser.md +241 -135
- package/docs/tools/chrome-extension.md +48 -31
- package/docs/tools/clawdhub.md +7 -7
- package/docs/tools/creating-skills.md +4 -4
- package/docs/tools/elevated.md +0 -1
- package/docs/tools/exec-approvals.md +2 -5
- package/docs/tools/exec.md +3 -14
- package/docs/tools/firecrawl.md +2 -2
- package/docs/tools/index.md +15 -18
- package/docs/tools/llm-task.md +1 -1
- package/docs/tools/lobster.md +11 -23
- package/docs/tools/skills-config.md +1 -1
- package/docs/tools/skills.md +21 -29
- package/docs/tools/slash-commands.md +8 -10
- package/docs/tools/web.md +6 -6
- package/docs/tts.md +9 -9
- package/docs/tui.md +7 -7
- package/docs/vps.md +1 -6
- package/docs/web/control-ui.md +12 -13
- package/docs/web/dashboard.md +4 -8
- package/docs/web/index.md +5 -6
- package/docs/web/webchat.md +1 -1
- package/extensions/bluebubbles/index.ts +2 -2
- package/extensions/bluebubbles/package.json +5 -5
- package/extensions/bluebubbles/src/accounts.ts +8 -8
- package/extensions/bluebubbles/src/actions.test.ts +22 -22
- package/extensions/bluebubbles/src/actions.ts +5 -5
- package/extensions/bluebubbles/src/attachments.ts +2 -2
- package/extensions/bluebubbles/src/channel.ts +16 -16
- package/extensions/bluebubbles/src/chat.ts +2 -2
- package/extensions/bluebubbles/src/media-send.ts +2 -2
- package/extensions/bluebubbles/src/monitor.test.ts +49 -55
- package/extensions/bluebubbles/src/monitor.ts +5 -180
- package/extensions/bluebubbles/src/onboarding.ts +7 -7
- package/extensions/bluebubbles/src/reactions.ts +2 -2
- package/extensions/bluebubbles/src/send.ts +2 -2
- package/extensions/copilot-proxy/package.json +4 -4
- package/extensions/diagnostics-otel/index.ts +2 -2
- package/extensions/diagnostics-otel/package.json +4 -4
- package/extensions/diagnostics-otel/src/service.test.ts +12 -12
- package/extensions/diagnostics-otel/src/service.ts +84 -84
- package/extensions/discord/index.ts +2 -2
- package/extensions/discord/package.json +4 -4
- package/extensions/google-antigravity-auth/index.ts +1 -8
- package/extensions/google-antigravity-auth/package.json +4 -4
- package/extensions/google-gemini-cli-auth/oauth.ts +2 -2
- package/extensions/google-gemini-cli-auth/package.json +4 -4
- package/extensions/googlechat/index.ts +3 -3
- package/extensions/googlechat/package.json +7 -7
- package/extensions/googlechat/src/accounts.ts +8 -8
- package/extensions/googlechat/src/actions.ts +6 -6
- package/extensions/googlechat/src/api.ts +1 -1
- package/extensions/googlechat/src/channel.ts +21 -21
- package/extensions/googlechat/src/monitor.ts +8 -8
- package/extensions/googlechat/src/onboarding.ts +10 -10
- package/extensions/imessage/index.ts +2 -2
- package/extensions/imessage/package.json +4 -4
- package/extensions/line/index.ts +2 -2
- package/extensions/line/package.json +6 -6
- package/extensions/line/src/card-command.ts +2 -2
- 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 +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 +5 -5
- package/extensions/lobster/index.ts +2 -2
- package/extensions/lobster/package.json +3 -3
- package/extensions/lobster/src/lobster-tool.test.ts +6 -26
- package/extensions/lobster/src/lobster-tool.ts +6 -24
- package/extensions/matrix/CHANGELOG.md +9 -9
- package/extensions/matrix/index.ts +2 -2
- package/extensions/matrix/package.json +7 -7
- package/extensions/matrix/src/matrix/actions/messages.ts +1 -1
- package/extensions/matrix/src/matrix/actions/reactions.ts +1 -1
- package/extensions/matrix/src/matrix/actions/room.ts +3 -3
- package/extensions/matrix/src/matrix/actions/summary.ts +1 -1
- package/extensions/matrix/src/matrix/actions/types.ts +1 -1
- package/extensions/matrix/src/matrix/active-client.ts +1 -1
- package/extensions/matrix/src/matrix/client/config.ts +2 -2
- package/extensions/matrix/src/matrix/client/create-client.ts +2 -2
- package/extensions/matrix/src/matrix/client/logging.ts +1 -1
- package/extensions/matrix/src/matrix/client/shared.ts +3 -3
- package/extensions/matrix/src/matrix/deps.ts +4 -4
- package/extensions/matrix/src/matrix/monitor/auto-join.ts +2 -2
- package/extensions/matrix/src/matrix/monitor/direct.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 +2 -2
- package/extensions/matrix/src/matrix/monitor/media.ts +3 -3
- package/extensions/matrix/src/matrix/monitor/replies.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/room-info.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/threads.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/types.ts +1 -1
- package/extensions/matrix/src/matrix/probe.ts +1 -1
- package/extensions/matrix/src/matrix/send/client.ts +2 -2
- package/extensions/matrix/src/matrix/send/media.ts +1 -1
- package/extensions/matrix/src/matrix/send/targets.test.ts +1 -1
- package/extensions/matrix/src/matrix/send/targets.ts +1 -1
- package/extensions/matrix/src/matrix/send/types.ts +2 -2
- package/extensions/matrix/src/matrix/send.test.ts +2 -2
- package/extensions/matrix/src/matrix/send.ts +3 -3
- package/extensions/matrix/src/onboarding.ts +2 -2
- package/extensions/matrix/src/types.ts +1 -1
- package/extensions/mattermost/index.ts +2 -2
- package/extensions/mattermost/package.json +5 -5
- package/extensions/mattermost/src/mattermost/accounts.ts +8 -8
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +5 -5
- package/extensions/mattermost/src/mattermost/monitor.ts +2 -2
- package/extensions/mattermost/src/onboarding-helpers.ts +3 -3
- package/extensions/mattermost/src/onboarding.ts +3 -3
- package/extensions/memory-core/index.ts +2 -2
- package/extensions/memory-core/package.json +5 -5
- package/extensions/memory-lancedb/index.test.ts +2 -2
- package/extensions/memory-lancedb/index.ts +3 -3
- package/extensions/memory-lancedb/package.json +4 -4
- package/extensions/msteams/CHANGELOG.md +7 -7
- package/extensions/msteams/index.ts +2 -2
- package/extensions/msteams/package.json +6 -6
- package/extensions/msteams/src/channel.directory.test.ts +2 -2
- package/extensions/msteams/src/channel.ts +2 -2
- package/extensions/msteams/src/conversation-store-fs.test.ts +1 -1
- package/extensions/msteams/src/graph-upload.ts +4 -4
- package/extensions/msteams/src/monitor-handler.ts +2 -2
- package/extensions/msteams/src/monitor.ts +2 -2
- package/extensions/msteams/src/onboarding.ts +9 -9
- package/extensions/msteams/src/policy.ts +3 -48
- package/extensions/msteams/src/polls-store.test.ts +1 -1
- package/extensions/msteams/src/polls.test.ts +2 -2
- package/extensions/msteams/src/polls.ts +8 -8
- package/extensions/msteams/src/reply-dispatcher.ts +35 -35
- package/extensions/msteams/src/send-context.ts +2 -2
- package/extensions/msteams/src/send.ts +4 -4
- package/extensions/nextcloud-talk/index.ts +2 -2
- package/extensions/nextcloud-talk/package.json +5 -5
- package/extensions/nextcloud-talk/src/channel.ts +7 -7
- package/extensions/nextcloud-talk/src/inbound.ts +7 -7
- package/extensions/nextcloud-talk/src/onboarding.ts +1 -1
- package/extensions/nostr/CHANGELOG.md +4 -4
- package/extensions/nostr/index.ts +5 -5
- package/extensions/nostr/package.json +6 -6
- package/extensions/nostr/src/channel.ts +1 -1
- package/extensions/nostr/src/nostr-state-store.test.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/signal/index.ts +2 -2
- package/extensions/signal/package.json +4 -4
- package/extensions/slack/index.ts +2 -2
- package/extensions/slack/package.json +4 -4
- package/extensions/telegram/index.ts +2 -2
- package/extensions/telegram/package.json +4 -4
- package/extensions/telegram/src/channel.ts +2 -2
- package/extensions/tlon/README.md +1 -1
- package/extensions/tlon/index.ts +2 -2
- package/extensions/tlon/package.json +5 -5
- package/extensions/tlon/src/channel.ts +13 -13
- package/extensions/tlon/src/monitor/index.ts +3 -3
- package/extensions/tlon/src/onboarding.ts +3 -3
- package/extensions/tlon/src/types.ts +3 -3
- package/extensions/tlon/src/urbit/send.ts +6 -19
- package/extensions/voice-call/CHANGELOG.md +12 -13
- package/extensions/voice-call/README.md +2 -3
- package/extensions/voice-call/clawdbot.plugin.json +3 -3
- package/extensions/voice-call/index.ts +9 -11
- package/extensions/voice-call/package.json +4 -4
- package/extensions/voice-call/src/cli.ts +1 -1
- package/extensions/voice-call/src/config.ts +4 -61
- package/extensions/voice-call/src/core-bridge.ts +8 -10
- package/extensions/voice-call/src/manager.test.ts +2 -2
- package/extensions/voice-call/src/providers/twilio/webhook.ts +1 -2
- package/extensions/voice-call/src/providers/twilio.ts +2 -2
- package/extensions/voice-call/src/response-generator.ts +1 -1
- package/extensions/voice-call/src/runtime.ts +15 -26
- package/extensions/voice-call/src/types.ts +0 -1
- package/extensions/voice-call/src/webhook-security.test.ts +0 -52
- package/extensions/voice-call/src/webhook-security.ts +5 -16
- package/extensions/voice-call/src/webhook.ts +0 -1
- package/extensions/whatsapp/index.ts +2 -2
- package/extensions/whatsapp/package.json +4 -4
- package/extensions/zalo/CHANGELOG.md +9 -9
- package/extensions/zalo/index.ts +2 -2
- package/extensions/zalo/package.json +6 -6
- package/extensions/zalo/src/accounts.ts +8 -8
- package/extensions/zalo/src/actions.ts +4 -4
- package/extensions/zalo/src/channel.directory.test.ts +2 -2
- package/extensions/zalo/src/channel.ts +18 -18
- package/extensions/zalo/src/monitor.ts +9 -9
- package/extensions/zalo/src/monitor.webhook.test.ts +2 -2
- package/extensions/zalo/src/onboarding.ts +25 -25
- package/extensions/zalo/src/send.ts +2 -2
- package/extensions/zalouser/CHANGELOG.md +4 -4
- package/extensions/zalouser/index.ts +2 -2
- package/extensions/zalouser/package.json +6 -6
- package/extensions/zalouser/src/accounts.ts +9 -9
- package/extensions/zalouser/src/channel.ts +25 -25
- package/extensions/zalouser/src/monitor.ts +4 -4
- package/extensions/zalouser/src/onboarding.ts +30 -30
- package/extensions/zalouser/src/status-issues.ts +1 -1
- package/package.json +18 -17
- 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 +15 -15
- package/skills/clawdhub/SKILL.md +2 -2
- package/skills/coding-agent/SKILL.md +6 -6
- package/skills/discord/SKILL.md +5 -6
- 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 +0 -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 +5 -10
- package/skills/nano-banana-pro/scripts/generate_image.py +27 -42
- 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 +3 -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/tmux/scripts/find-sessions.sh +1 -1
- 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/LICENSE +0 -21
- package/dist/agents/moltbot-tools.js +0 -121
- package/dist/agents/pi-extensions/compaction-safeguard-runtime.js +0 -20
- package/dist/browser/control-service.js +0 -72
- package/dist/browser/routes/dispatcher.js +0 -86
- package/dist/browser/routes/types.js +0 -1
- package/dist/cli/cli-name.js +0 -26
- package/dist/compat/legacy-names.js +0 -5
- package/dist/control-ui/assets/index-CIRDm-Lu.css +0 -1
- package/dist/control-ui/assets/index-HlBhZmfj.js.map +0 -1
- package/dist/discord/monitor/presence-cache.js +0 -38
- package/dist/gateway/server-methods/browser.js +0 -204
- package/dist/infra/fs-safe.js +0 -76
- package/dist/infra/moltbot-root.js +0 -57
- package/dist/line/signature.js +0 -11
- package/dist/security/external-content.js +0 -143
- package/dist/security/windows-acl.js +0 -162
- package/dist/telegram/api-logging.js +0 -24
- package/dist/telegram/network-config.js +0 -23
- package/dist/telegram/network-errors.js +0 -103
- package/dist/telegram/sticker-cache.js +0 -202
- package/docs/channels/line.md +0 -183
- package/docs/channels/twitch.md +0 -366
- package/docs/gateway/security/formal-verification.md +0 -107
- package/docs/install/migrating.md +0 -190
- package/docs/northflank.mdx +0 -53
- package/docs/platforms/digitalocean.md +0 -243
- package/docs/platforms/gcp.md +0 -498
- package/docs/platforms/oracle.md +0 -291
- package/docs/platforms/raspberry-pi.md +0 -354
- package/docs/providers/claude-max-api-proxy.md +0 -145
- package/docs/render.mdx +0 -158
- package/docs/security/formal-verification.md +0 -107
- package/extensions/googlechat/node_modules/.bin/poolbot +0 -21
- package/extensions/line/node_modules/.bin/poolbot +0 -21
- package/extensions/matrix/node_modules/.bin/poolbot +0 -21
- package/extensions/memory-core/node_modules/.bin/poolbot +0 -21
- package/extensions/msteams/node_modules/.bin/poolbot +0 -21
- package/extensions/nostr/node_modules/.bin/poolbot +0 -21
- package/extensions/twitch/CHANGELOG.md +0 -21
- package/extensions/twitch/README.md +0 -89
- package/extensions/twitch/clawdbot.plugin.json +0 -9
- package/extensions/twitch/index.ts +0 -20
- package/extensions/twitch/node_modules/.bin/poolbot +0 -21
- package/extensions/twitch/package.json +0 -20
- package/extensions/twitch/src/access-control.test.ts +0 -489
- package/extensions/twitch/src/access-control.ts +0 -154
- package/extensions/twitch/src/actions.ts +0 -173
- package/extensions/twitch/src/client-manager-registry.ts +0 -115
- package/extensions/twitch/src/config-schema.ts +0 -82
- package/extensions/twitch/src/config.test.ts +0 -88
- package/extensions/twitch/src/config.ts +0 -116
- package/extensions/twitch/src/monitor.ts +0 -257
- package/extensions/twitch/src/onboarding.test.ts +0 -311
- package/extensions/twitch/src/onboarding.ts +0 -411
- package/extensions/twitch/src/outbound.test.ts +0 -373
- package/extensions/twitch/src/outbound.ts +0 -186
- package/extensions/twitch/src/plugin.test.ts +0 -39
- package/extensions/twitch/src/plugin.ts +0 -274
- package/extensions/twitch/src/probe.test.ts +0 -198
- package/extensions/twitch/src/probe.ts +0 -118
- package/extensions/twitch/src/resolver.ts +0 -137
- package/extensions/twitch/src/runtime.ts +0 -14
- package/extensions/twitch/src/send.test.ts +0 -289
- package/extensions/twitch/src/send.ts +0 -136
- package/extensions/twitch/src/status.test.ts +0 -270
- package/extensions/twitch/src/status.ts +0 -176
- package/extensions/twitch/src/token.test.ts +0 -171
- package/extensions/twitch/src/token.ts +0 -87
- package/extensions/twitch/src/twitch-client.test.ts +0 -574
- package/extensions/twitch/src/twitch-client.ts +0 -277
- package/extensions/twitch/src/types.ts +0 -141
- package/extensions/twitch/src/utils/markdown.ts +0 -92
- package/extensions/twitch/src/utils/twitch.ts +0 -78
- package/extensions/twitch/test/setup.ts +0 -7
- package/extensions/voice-call/src/config.test.ts +0 -204
- package/extensions/zalo/node_modules/.bin/poolbot +0 -21
- package/extensions/zalouser/node_modules/.bin/poolbot +0 -21
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "All configuration options for ~/.clawdbot/
|
|
2
|
+
summary: "All configuration options for ~/.clawdbot/clawdbot.json with examples"
|
|
3
3
|
read_when:
|
|
4
4
|
- Adding or modifying config fields
|
|
5
5
|
---
|
|
6
6
|
# Configuration 🔧
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Clawdbot reads an optional **JSON5** config from `~/.clawdbot/clawdbot.json` (comments + trailing commas allowed).
|
|
9
9
|
|
|
10
|
-
If the file is missing,
|
|
10
|
+
If the file is missing, Clawdbot uses safe-ish defaults (embedded Pi agent + per-sender sessions + workspace `~/clawd`). You usually only need a config to:
|
|
11
11
|
- restrict who can trigger the bot (`channels.whatsapp.allowFrom`, `channels.telegram.allowFrom`, etc.)
|
|
12
12
|
- control group allowlists + mention behavior (`channels.whatsapp.groups`, `channels.telegram.groups`, `channels.discord.guilds`, `agents.list[].groupChat`)
|
|
13
13
|
- customize message prefixes (`messages`)
|
|
@@ -19,14 +19,14 @@ If the file is missing, Pool Bot uses safe-ish defaults (embedded Pi agent + per
|
|
|
19
19
|
|
|
20
20
|
## Strict config validation
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Clawdbot only accepts configurations that fully match the schema.
|
|
23
23
|
Unknown keys, malformed types, or invalid values cause the Gateway to **refuse to start** for safety.
|
|
24
24
|
|
|
25
25
|
When validation fails:
|
|
26
26
|
- The Gateway does not boot.
|
|
27
|
-
- Only diagnostic commands are allowed (for example: `
|
|
28
|
-
- Run `
|
|
29
|
-
- Run `
|
|
27
|
+
- Only diagnostic commands are allowed (for example: `clawdbot doctor`, `clawdbot logs`, `clawdbot health`, `clawdbot status`, `clawdbot service`, `clawdbot help`).
|
|
28
|
+
- Run `clawdbot doctor` to see the exact issues.
|
|
29
|
+
- Run `clawdbot doctor --fix` (or `--yes`) to apply migrations/repairs.
|
|
30
30
|
|
|
31
31
|
Doctor never writes changes unless you explicitly opt into `--fix`/`--yes`.
|
|
32
32
|
|
|
@@ -47,7 +47,7 @@ Use `config.apply` to validate + write the full config and restart the Gateway i
|
|
|
47
47
|
It writes a restart sentinel and pings the last active session after the Gateway comes back.
|
|
48
48
|
|
|
49
49
|
Warning: `config.apply` replaces the **entire config**. If you want to change only a few keys,
|
|
50
|
-
use `config.patch` or `
|
|
50
|
+
use `config.patch` or `clawdbot config set`. Keep a backup of `~/.clawdbot/clawdbot.json`.
|
|
51
51
|
|
|
52
52
|
Params:
|
|
53
53
|
- `raw` (string) — JSON5 payload for the entire config
|
|
@@ -59,8 +59,8 @@ Params:
|
|
|
59
59
|
Example (via `gateway call`):
|
|
60
60
|
|
|
61
61
|
```bash
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
clawdbot gateway call config.get --params '{}' # capture payload.hash
|
|
63
|
+
clawdbot gateway call config.apply --params '{
|
|
64
64
|
"raw": "{\\n agents: { defaults: { workspace: \\"~/clawd\\" } }\\n}\\n",
|
|
65
65
|
"baseHash": "<hash-from-config.get>",
|
|
66
66
|
"sessionKey": "agent:main:whatsapp:dm:+15555550123",
|
|
@@ -88,8 +88,8 @@ Params:
|
|
|
88
88
|
Example:
|
|
89
89
|
|
|
90
90
|
```bash
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
clawdbot gateway call config.get --params '{}' # capture payload.hash
|
|
92
|
+
clawdbot gateway call config.patch --params '{
|
|
93
93
|
"raw": "{\\n channels: { telegram: { groups: { \\"*\\": { requireMention: false } } } }\\n}\\n",
|
|
94
94
|
"baseHash": "<hash-from-config.get>",
|
|
95
95
|
"sessionKey": "agent:main:whatsapp:dm:+15555550123",
|
|
@@ -146,7 +146,7 @@ Split your config into multiple files using the `$include` directive. This is us
|
|
|
146
146
|
### Basic usage
|
|
147
147
|
|
|
148
148
|
```json5
|
|
149
|
-
// ~/.clawdbot/
|
|
149
|
+
// ~/.clawdbot/clawdbot.json
|
|
150
150
|
{
|
|
151
151
|
gateway: { port: 18789 },
|
|
152
152
|
|
|
@@ -208,7 +208,7 @@ Included files can themselves contain `$include` directives (up to 10 levels dee
|
|
|
208
208
|
|
|
209
209
|
```json5
|
|
210
210
|
{ "$include": "./sub/config.json5" } // relative
|
|
211
|
-
{ "$include": "/etc/
|
|
211
|
+
{ "$include": "/etc/clawdbot/base.json5" } // absolute
|
|
212
212
|
{ "$include": "../shared/common.json5" } // parent dir
|
|
213
213
|
```
|
|
214
214
|
|
|
@@ -221,7 +221,7 @@ Included files can themselves contain `$include` directives (up to 10 levels dee
|
|
|
221
221
|
### Example: Multi-client legal setup
|
|
222
222
|
|
|
223
223
|
```json5
|
|
224
|
-
// ~/.clawdbot/
|
|
224
|
+
// ~/.clawdbot/clawdbot.json
|
|
225
225
|
{
|
|
226
226
|
gateway: { port: 18789, auth: { token: "secret" } },
|
|
227
227
|
|
|
@@ -266,7 +266,7 @@ Included files can themselves contain `$include` directives (up to 10 levels dee
|
|
|
266
266
|
|
|
267
267
|
### Env vars + `.env`
|
|
268
268
|
|
|
269
|
-
|
|
269
|
+
Clawdbot reads env vars from the parent process (shell, launchd/systemd, CI, etc.).
|
|
270
270
|
|
|
271
271
|
Additionally, it loads:
|
|
272
272
|
- `.env` from the current working directory (if present)
|
|
@@ -292,7 +292,7 @@ See [/environment](/environment) for full precedence and sources.
|
|
|
292
292
|
|
|
293
293
|
### `env.shellEnv` (optional)
|
|
294
294
|
|
|
295
|
-
Opt-in convenience: if enabled and none of the expected keys are set yet,
|
|
295
|
+
Opt-in convenience: if enabled and none of the expected keys are set yet, Clawdbot runs your login shell and imports only the missing expected keys (never overrides).
|
|
296
296
|
This effectively sources your shell profile.
|
|
297
297
|
|
|
298
298
|
```json5
|
|
@@ -354,7 +354,7 @@ You can reference environment variables directly in any config string value usin
|
|
|
354
354
|
|
|
355
355
|
### Auth storage (OAuth + API keys)
|
|
356
356
|
|
|
357
|
-
|
|
357
|
+
Clawdbot stores **per-agent** auth profiles (OAuth + API keys) in:
|
|
358
358
|
- `<agentDir>/auth-profiles.json` (default: `~/.clawdbot/agents/<agentId>/agent/auth-profiles.json`)
|
|
359
359
|
|
|
360
360
|
See also: [/concepts/oauth](/concepts/oauth)
|
|
@@ -366,13 +366,19 @@ The embedded Pi agent maintains a runtime cache at:
|
|
|
366
366
|
- `<agentDir>/auth.json` (managed automatically; don’t edit manually)
|
|
367
367
|
|
|
368
368
|
Legacy agent dir (pre multi-agent):
|
|
369
|
-
- `~/.clawdbot/agent/*` (migrated by `
|
|
369
|
+
- `~/.clawdbot/agent/*` (migrated by `clawdbot doctor` into `~/.clawdbot/agents/<defaultAgentId>/agent/*`)
|
|
370
370
|
|
|
371
371
|
Overrides:
|
|
372
372
|
- OAuth dir (legacy import only): `CLAWDBOT_OAUTH_DIR`
|
|
373
373
|
- Agent dir (default agent root override): `CLAWDBOT_AGENT_DIR` (preferred), `PI_CODING_AGENT_DIR` (legacy)
|
|
374
374
|
|
|
375
|
-
On first use,
|
|
375
|
+
On first use, Clawdbot imports `oauth.json` entries into `auth-profiles.json`.
|
|
376
|
+
|
|
377
|
+
Clawdbot also auto-syncs OAuth tokens from external CLIs into `auth-profiles.json` (when present on the gateway host):
|
|
378
|
+
- Claude Code → `anthropic:claude-cli`
|
|
379
|
+
- macOS: Keychain item "Claude Code-credentials" (choose "Always Allow" to avoid launchd prompts)
|
|
380
|
+
- Linux/Windows: `~/.claude/.credentials.json`
|
|
381
|
+
- `~/.codex/auth.json` (Codex CLI) → `openai-codex:codex-cli`
|
|
376
382
|
|
|
377
383
|
### `auth`
|
|
378
384
|
|
|
@@ -394,11 +400,15 @@ rotation order used for failover.
|
|
|
394
400
|
}
|
|
395
401
|
```
|
|
396
402
|
|
|
403
|
+
Note: `anthropic:claude-cli` should use `mode: "oauth"` even when the stored
|
|
404
|
+
credential is a setup-token. Clawdbot auto-migrates older configs that used
|
|
405
|
+
`mode: "token"`.
|
|
406
|
+
|
|
397
407
|
### `agents.list[].identity`
|
|
398
408
|
|
|
399
409
|
Optional per-agent identity used for defaults and UX. This is written by the macOS onboarding assistant.
|
|
400
410
|
|
|
401
|
-
If set,
|
|
411
|
+
If set, Clawdbot derives defaults (only when you haven’t set them explicitly):
|
|
402
412
|
- `messages.ackReaction` from the **active agent**’s `identity.emoji` (falls back to 👀)
|
|
403
413
|
- `agents.list[].groupChat.mentionPatterns` from the agent’s `identity.name`/`identity.emoji` (so “@Samantha” works in groups across Telegram/Slack/Discord/Google Chat/iMessage/WhatsApp)
|
|
404
414
|
- `identity.avatar` accepts a workspace-relative image path or a remote URL/data URL. Local files must live inside the agent workspace.
|
|
@@ -444,8 +454,8 @@ Metadata written by CLI wizards (`onboard`, `configure`, `doctor`).
|
|
|
444
454
|
|
|
445
455
|
### `logging`
|
|
446
456
|
|
|
447
|
-
- Default log file: `/tmp/
|
|
448
|
-
- If you want a stable path, set `logging.file` to `/tmp/
|
|
457
|
+
- Default log file: `/tmp/clawdbot/clawdbot-YYYY-MM-DD.log`
|
|
458
|
+
- If you want a stable path, set `logging.file` to `/tmp/clawdbot/clawdbot.log`.
|
|
449
459
|
- Console output can be tuned separately via:
|
|
450
460
|
- `logging.consoleLevel` (defaults to `info`, bumps to `debug` when `--verbose`)
|
|
451
461
|
- `logging.consoleStyle` (`pretty` | `compact` | `json`)
|
|
@@ -457,7 +467,7 @@ Metadata written by CLI wizards (`onboard`, `configure`, `doctor`).
|
|
|
457
467
|
{
|
|
458
468
|
logging: {
|
|
459
469
|
level: "info",
|
|
460
|
-
file: "/tmp/
|
|
470
|
+
file: "/tmp/clawdbot/clawdbot.log",
|
|
461
471
|
consoleLevel: "info",
|
|
462
472
|
consoleStyle: "pretty",
|
|
463
473
|
redactSensitive: "tools",
|
|
@@ -481,8 +491,8 @@ Controls how WhatsApp direct chats (DMs) are handled:
|
|
|
481
491
|
Pairing codes expire after 1 hour; the bot only sends a pairing code when a new request is created. Pending DM pairing requests are capped at **3 per channel** by default.
|
|
482
492
|
|
|
483
493
|
Pairing approvals:
|
|
484
|
-
- `
|
|
485
|
-
- `
|
|
494
|
+
- `clawdbot pairing list whatsapp`
|
|
495
|
+
- `clawdbot pairing approve whatsapp <code>`
|
|
486
496
|
|
|
487
497
|
### `channels.whatsapp.allowFrom`
|
|
488
498
|
|
|
@@ -543,7 +553,7 @@ Run multiple WhatsApp accounts in one gateway:
|
|
|
543
553
|
|
|
544
554
|
Notes:
|
|
545
555
|
- Outbound commands default to account `default` if present; otherwise the first configured account id (sorted).
|
|
546
|
-
- The legacy single-account Baileys auth dir is migrated by `
|
|
556
|
+
- The legacy single-account Baileys auth dir is migrated by `clawdbot doctor` into `whatsapp/default`.
|
|
547
557
|
|
|
548
558
|
### `channels.telegram.accounts` / `channels.discord.accounts` / `channels.googlechat.accounts` / `channels.slack.accounts` / `channels.mattermost.accounts` / `channels.signal.accounts` / `channels.imessage.accounts`
|
|
549
559
|
|
|
@@ -590,7 +600,7 @@ Group messages default to **require mention** (either metadata mention or regex
|
|
|
590
600
|
},
|
|
591
601
|
agents: {
|
|
592
602
|
list: [
|
|
593
|
-
{ id: "main", groupChat: { mentionPatterns: ["@clawd", "
|
|
603
|
+
{ id: "main", groupChat: { mentionPatterns: ["@clawd", "clawdbot", "clawd"] } }
|
|
594
604
|
]
|
|
595
605
|
}
|
|
596
606
|
}
|
|
@@ -949,13 +959,11 @@ Notes:
|
|
|
949
959
|
- `channels.telegram.customCommands` adds extra Telegram bot menu entries. Names are normalized; conflicts with native commands are ignored.
|
|
950
960
|
- `commands.bash: true` enables `! <cmd>` to run host shell commands (`/bash <cmd>` also works as an alias). Requires `tools.elevated.enabled` and allowlisting the sender in `tools.elevated.allowFrom.<channel>`.
|
|
951
961
|
- `commands.bashForegroundMs` controls how long bash waits before backgrounding. While a bash job is running, new `! <cmd>` requests are rejected (one at a time).
|
|
952
|
-
- `commands.config: true` enables `/config` (reads/writes `
|
|
962
|
+
- `commands.config: true` enables `/config` (reads/writes `clawdbot.json`).
|
|
953
963
|
- `channels.<provider>.configWrites` gates config mutations initiated by that channel (default: true). This applies to `/config set|unset` plus provider-specific auto-migrations (Telegram supergroup ID changes, Slack channel ID changes).
|
|
954
964
|
- `commands.debug: true` enables `/debug` (runtime-only overrides).
|
|
955
965
|
- `commands.restart: true` enables `/restart` and the gateway tool restart action.
|
|
956
966
|
- `commands.useAccessGroups: false` allows commands to bypass access-group allowlists/policies.
|
|
957
|
-
- Slash commands and directives are only honored for **authorized senders**. Authorization is derived from
|
|
958
|
-
channel allowlists/pairing plus `commands.useAccessGroups`.
|
|
959
967
|
|
|
960
968
|
### `web` (WhatsApp web channel runtime)
|
|
961
969
|
|
|
@@ -980,7 +988,7 @@ Set `web.enabled: false` to keep it off by default.
|
|
|
980
988
|
|
|
981
989
|
### `channels.telegram` (bot transport)
|
|
982
990
|
|
|
983
|
-
|
|
991
|
+
Clawdbot starts Telegram only when a `channels.telegram` config section exists. The bot token is resolved from `channels.telegram.botToken` (or `channels.telegram.tokenFile`), with `TELEGRAM_BOT_TOKEN` as a fallback for the default account.
|
|
984
992
|
Set `channels.telegram.enabled: false` to disable automatic startup.
|
|
985
993
|
Multi-account support lives under `channels.telegram.accounts` (see the multi-account section above). Env tokens only apply to the default account.
|
|
986
994
|
Set `channels.telegram.configWrites: false` to block Telegram-initiated config writes (including supergroup ID migrations and `/config set|unset`).
|
|
@@ -1029,9 +1037,6 @@ Set `channels.telegram.configWrites: false` to block Telegram-initiated config w
|
|
|
1029
1037
|
maxDelayMs: 30000,
|
|
1030
1038
|
jitter: 0.1
|
|
1031
1039
|
},
|
|
1032
|
-
network: { // transport overrides
|
|
1033
|
-
autoSelectFamily: false
|
|
1034
|
-
},
|
|
1035
1040
|
proxy: "socks5://localhost:9050",
|
|
1036
1041
|
webhookUrl: "https://example.com/telegram-webhook",
|
|
1037
1042
|
webhookSecret: "secret",
|
|
@@ -1118,7 +1123,7 @@ Multi-account support lives under `channels.discord.accounts` (see the multi-acc
|
|
|
1118
1123
|
}
|
|
1119
1124
|
```
|
|
1120
1125
|
|
|
1121
|
-
|
|
1126
|
+
Clawdbot starts Discord only when a `channels.discord` config section exists. The token is resolved from `channels.discord.token`, with `DISCORD_BOT_TOKEN` as a fallback for the default account (unless `channels.discord.enabled` is `false`). Use `user:<id>` (DM) or `channel:<id>` (guild channel) when specifying delivery targets for cron/CLI commands; bare numeric IDs are ambiguous and rejected.
|
|
1122
1127
|
Guild slugs are lowercase with spaces replaced by `-`; channel keys use the slugged channel name (no leading `#`). Prefer guild ids as keys to avoid rename ambiguity.
|
|
1123
1128
|
Bot-authored messages are ignored by default. Enable with `channels.discord.allowBots` (own messages are still filtered to prevent self-reply loops).
|
|
1124
1129
|
Reaction notification modes:
|
|
@@ -1228,7 +1233,7 @@ Slack runs in Socket Mode and requires both a bot token and app token:
|
|
|
1228
1233
|
|
|
1229
1234
|
Multi-account support lives under `channels.slack.accounts` (see the multi-account section above). Env tokens only apply to the default account.
|
|
1230
1235
|
|
|
1231
|
-
|
|
1236
|
+
Clawdbot starts Slack when the provider is enabled and both tokens are set (via config or `SLACK_BOT_TOKEN` + `SLACK_APP_TOKEN`). Use `user:<id>` (DM) or `channel:<id>` when specifying delivery targets for cron/CLI commands.
|
|
1232
1237
|
Set `channels.slack.configWrites: false` to block Slack-initiated config writes (including channel ID migrations and `/config set|unset`).
|
|
1233
1238
|
|
|
1234
1239
|
Bot-authored messages are ignored by default. Enable with `channels.slack.allowBots` or `channels.slack.channels.<id>.allowBots`.
|
|
@@ -1255,7 +1260,7 @@ Slack action groups (gate `slack` tool actions):
|
|
|
1255
1260
|
### `channels.mattermost` (bot token)
|
|
1256
1261
|
|
|
1257
1262
|
Mattermost ships as a plugin and is not bundled with the core install.
|
|
1258
|
-
Install it first: `
|
|
1263
|
+
Install it first: `clawdbot plugins install @clawdbot/mattermost` (or `./extensions/mattermost` from a git checkout).
|
|
1259
1264
|
|
|
1260
1265
|
Mattermost requires a bot token plus the base URL for your server:
|
|
1261
1266
|
|
|
@@ -1276,7 +1281,7 @@ Mattermost requires a bot token plus the base URL for your server:
|
|
|
1276
1281
|
}
|
|
1277
1282
|
```
|
|
1278
1283
|
|
|
1279
|
-
|
|
1284
|
+
Clawdbot starts Mattermost when the account is configured (bot token + base URL) and enabled. The token + base URL are resolved from `channels.mattermost.botToken` + `channels.mattermost.baseUrl` or `MATTERMOST_BOT_TOKEN` + `MATTERMOST_URL` for the default account (unless `channels.mattermost.enabled` is `false`).
|
|
1280
1285
|
|
|
1281
1286
|
Chat modes:
|
|
1282
1287
|
- `oncall` (default): respond to channel messages only when @mentioned.
|
|
@@ -1315,7 +1320,7 @@ Reaction notification modes:
|
|
|
1315
1320
|
|
|
1316
1321
|
### `channels.imessage` (imsg CLI)
|
|
1317
1322
|
|
|
1318
|
-
|
|
1323
|
+
Clawdbot spawns `imsg rpc` (JSON-RPC over stdio). No daemon or port required.
|
|
1319
1324
|
|
|
1320
1325
|
```json5
|
|
1321
1326
|
{
|
|
@@ -1369,13 +1374,13 @@ own per-scope workspaces under `agents.defaults.sandbox.workspaceRoot`.
|
|
|
1369
1374
|
|
|
1370
1375
|
### `agents.defaults.repoRoot`
|
|
1371
1376
|
|
|
1372
|
-
Optional repository root to show in the system prompt’s Runtime line. If unset,
|
|
1377
|
+
Optional repository root to show in the system prompt’s Runtime line. If unset, Clawdbot
|
|
1373
1378
|
tries to detect a `.git` directory by walking upward from the workspace (and current
|
|
1374
1379
|
working directory). The path must exist to be used.
|
|
1375
1380
|
|
|
1376
1381
|
```json5
|
|
1377
1382
|
{
|
|
1378
|
-
agents: { defaults: { repoRoot: "~/Projects/
|
|
1383
|
+
agents: { defaults: { repoRoot: "~/Projects/clawdbot" } }
|
|
1379
1384
|
}
|
|
1380
1385
|
```
|
|
1381
1386
|
|
|
@@ -1396,7 +1401,7 @@ Use this for pre-seeded deployments where your workspace files come from a repo.
|
|
|
1396
1401
|
Max characters of each workspace bootstrap file injected into the system prompt
|
|
1397
1402
|
before truncation. Default: `20000`.
|
|
1398
1403
|
|
|
1399
|
-
When a file exceeds this limit,
|
|
1404
|
+
When a file exceeds this limit, Clawdbot logs a warning and injects a truncated
|
|
1400
1405
|
head/tail with a marker.
|
|
1401
1406
|
|
|
1402
1407
|
```json5
|
|
@@ -1408,7 +1413,7 @@ head/tail with a marker.
|
|
|
1408
1413
|
### `agents.defaults.userTimezone`
|
|
1409
1414
|
|
|
1410
1415
|
Sets the user’s timezone for **system prompt context** (not for timestamps in
|
|
1411
|
-
message envelopes). If unset,
|
|
1416
|
+
message envelopes). If unset, Clawdbot uses the host timezone at runtime.
|
|
1412
1417
|
|
|
1413
1418
|
```json5
|
|
1414
1419
|
{
|
|
@@ -1448,7 +1453,7 @@ streaming, final replies) across channels unless already present.
|
|
|
1448
1453
|
|
|
1449
1454
|
If `messages.responsePrefix` is unset, no prefix is applied by default. WhatsApp self-chat
|
|
1450
1455
|
replies are the exception: they default to `[{identity.name}]` when set, otherwise
|
|
1451
|
-
`[
|
|
1456
|
+
`[clawdbot]`, so same-phone conversations stay legible.
|
|
1452
1457
|
Set it to `"auto"` to derive `[{identity.name}]` for the routed agent (when set).
|
|
1453
1458
|
|
|
1454
1459
|
#### Template variables
|
|
@@ -1477,9 +1482,9 @@ Unresolved variables remain as literal text.
|
|
|
1477
1482
|
Example output: `[claude-opus-4-5 | think:high] Here's my response...`
|
|
1478
1483
|
|
|
1479
1484
|
WhatsApp inbound prefix is configured via `channels.whatsapp.messagePrefix` (deprecated:
|
|
1480
|
-
`messages.messagePrefix`). Default stays **unchanged**: `"[
|
|
1485
|
+
`messages.messagePrefix`). Default stays **unchanged**: `"[clawdbot]"` when
|
|
1481
1486
|
`channels.whatsapp.allowFrom` is empty, otherwise `""` (no prefix). When using
|
|
1482
|
-
`"[
|
|
1487
|
+
`"[clawdbot]"`, Clawdbot will instead use `[{identity.name}]` when the routed
|
|
1483
1488
|
agent has `identity.name` set.
|
|
1484
1489
|
|
|
1485
1490
|
`ackReaction` sends a best-effort emoji reaction to acknowledge inbound messages
|
|
@@ -1497,7 +1502,7 @@ active agent’s `identity.emoji` when set, otherwise `"👀"`. Set it to `""` t
|
|
|
1497
1502
|
|
|
1498
1503
|
#### `messages.tts`
|
|
1499
1504
|
|
|
1500
|
-
Enable text-to-speech for outbound replies. When on,
|
|
1505
|
+
Enable text-to-speech for outbound replies. When on, Clawdbot generates audio
|
|
1501
1506
|
using ElevenLabs or OpenAI and attaches it to responses. Telegram uses Opus
|
|
1502
1507
|
voice notes; other channels send MP3 audio.
|
|
1503
1508
|
|
|
@@ -1613,7 +1618,7 @@ Z.AI GLM-4.x models automatically enable thinking mode unless you:
|
|
|
1613
1618
|
- set `--thinking off`, or
|
|
1614
1619
|
- define `agents.defaults.models["zai/<model>"].params.thinking` yourself.
|
|
1615
1620
|
|
|
1616
|
-
|
|
1621
|
+
Clawdbot also ships a few built-in alias shorthands. Defaults only apply when the model
|
|
1617
1622
|
is already present in `agents.defaults.models`:
|
|
1618
1623
|
|
|
1619
1624
|
- `opus` -> `anthropic/claude-opus-4-5`
|
|
@@ -1908,7 +1913,7 @@ See [/concepts/typing-indicators](/concepts/typing-indicators) for behavior deta
|
|
|
1908
1913
|
|
|
1909
1914
|
`agents.defaults.model.primary` should be set as `provider/model` (e.g. `anthropic/claude-opus-4-5`).
|
|
1910
1915
|
Aliases come from `agents.defaults.models.*.alias` (e.g. `Opus`).
|
|
1911
|
-
If you omit the provider,
|
|
1916
|
+
If you omit the provider, Clawdbot currently assumes `anthropic` as a temporary
|
|
1912
1917
|
deprecation fallback.
|
|
1913
1918
|
Z.AI models are available as `zai/<model>` (e.g. `zai/glm-4.7`) and require
|
|
1914
1919
|
`ZAI_API_KEY` (or legacy `Z_AI_API_KEY`) in the environment.
|
|
@@ -1943,7 +1948,7 @@ Note: `applyPatch` is only under `tools.exec`.
|
|
|
1943
1948
|
|
|
1944
1949
|
`tools.web` configures web search + fetch tools:
|
|
1945
1950
|
- `tools.web.search.enabled` (default: true when key is present)
|
|
1946
|
-
- `tools.web.search.apiKey` (recommended: set via `
|
|
1951
|
+
- `tools.web.search.apiKey` (recommended: set via `clawdbot configure --section web`, or use `BRAVE_API_KEY` env var)
|
|
1947
1952
|
- `tools.web.search.maxResults` (1–10, default 5)
|
|
1948
1953
|
- `tools.web.search.timeoutSeconds` (default 30)
|
|
1949
1954
|
- `tools.web.search.cacheTtlMinutes` (default 15)
|
|
@@ -2101,7 +2106,7 @@ Tool groups (shorthands) work in **global** and **per-agent** tool policies:
|
|
|
2101
2106
|
- `group:automation`: `cron`, `gateway`
|
|
2102
2107
|
- `group:messaging`: `message`
|
|
2103
2108
|
- `group:nodes`: `nodes`
|
|
2104
|
-
- `group:
|
|
2109
|
+
- `group:clawdbot`: all built-in Clawdbot tools (excludes provider plugins)
|
|
2105
2110
|
|
|
2106
2111
|
`tools.elevated` controls elevated (host) exec access:
|
|
2107
2112
|
- `enabled`: allow elevated mode (default true)
|
|
@@ -2194,8 +2199,8 @@ For package installs, ensure network egress, a writable root FS, and a root user
|
|
|
2194
2199
|
workspaceAccess: "none", // none | ro | rw
|
|
2195
2200
|
workspaceRoot: "~/.clawdbot/sandboxes",
|
|
2196
2201
|
docker: {
|
|
2197
|
-
image: "
|
|
2198
|
-
containerPrefix: "
|
|
2202
|
+
image: "clawdbot-sandbox:bookworm-slim",
|
|
2203
|
+
containerPrefix: "clawdbot-sbx-",
|
|
2199
2204
|
workdir: "/workspace",
|
|
2200
2205
|
readOnlyRoot: true,
|
|
2201
2206
|
tmpfs: ["/tmp", "/var/tmp", "/run"],
|
|
@@ -2214,15 +2219,15 @@ For package installs, ensure network egress, a writable root FS, and a root user
|
|
|
2214
2219
|
nproc: 256
|
|
2215
2220
|
},
|
|
2216
2221
|
seccompProfile: "/path/to/seccomp.json",
|
|
2217
|
-
apparmorProfile: "
|
|
2222
|
+
apparmorProfile: "clawdbot-sandbox",
|
|
2218
2223
|
dns: ["1.1.1.1", "8.8.8.8"],
|
|
2219
2224
|
extraHosts: ["internal.service:10.0.0.5"],
|
|
2220
2225
|
binds: ["/var/run/docker.sock:/var/run/docker.sock", "/home/user/source:/source:rw"]
|
|
2221
2226
|
},
|
|
2222
2227
|
browser: {
|
|
2223
2228
|
enabled: false,
|
|
2224
|
-
image: "
|
|
2225
|
-
containerPrefix: "
|
|
2229
|
+
image: "clawdbot-sandbox-browser:bookworm-slim",
|
|
2230
|
+
containerPrefix: "clawdbot-sbx-browser-",
|
|
2226
2231
|
cdpPort: 9222,
|
|
2227
2232
|
vncPort: 5900,
|
|
2228
2233
|
noVncPort: 6080,
|
|
@@ -2289,13 +2294,13 @@ Defaults: all allowlists are unset (no restriction). `allowHostControl` defaults
|
|
|
2289
2294
|
|
|
2290
2295
|
### `models` (custom providers + base URLs)
|
|
2291
2296
|
|
|
2292
|
-
|
|
2297
|
+
Clawdbot uses the **pi-coding-agent** model catalog. You can add custom providers
|
|
2293
2298
|
(LiteLLM, local OpenAI-compatible servers, Anthropic proxies, etc.) by writing
|
|
2294
2299
|
`~/.clawdbot/agents/<agentId>/agent/models.json` or by defining the same schema inside your
|
|
2295
|
-
|
|
2300
|
+
Clawdbot config under `models.providers`.
|
|
2296
2301
|
Provider-by-provider overview + examples: [/concepts/model-providers](/concepts/model-providers).
|
|
2297
2302
|
|
|
2298
|
-
When `models.providers` is present,
|
|
2303
|
+
When `models.providers` is present, Clawdbot writes/merges a `models.json` into
|
|
2299
2304
|
`~/.clawdbot/agents/<agentId>/agent/` on startup:
|
|
2300
2305
|
- default behavior: **merge** (keeps existing providers, overrides on name)
|
|
2301
2306
|
- set `models.mode: "replace"` to overwrite the file contents
|
|
@@ -2338,14 +2343,14 @@ Select the model via `agents.defaults.model.primary` (provider/model).
|
|
|
2338
2343
|
|
|
2339
2344
|
### OpenCode Zen (multi-model proxy)
|
|
2340
2345
|
|
|
2341
|
-
OpenCode Zen is a multi-model gateway with per-model endpoints.
|
|
2346
|
+
OpenCode Zen is a multi-model gateway with per-model endpoints. Clawdbot uses
|
|
2342
2347
|
the built-in `opencode` provider from pi-ai; set `OPENCODE_API_KEY` (or
|
|
2343
2348
|
`OPENCODE_ZEN_API_KEY`) from https://opencode.ai/auth.
|
|
2344
2349
|
|
|
2345
2350
|
Notes:
|
|
2346
2351
|
- Model refs use `opencode/<modelId>` (example: `opencode/claude-opus-4-5`).
|
|
2347
2352
|
- If you enable an allowlist via `agents.defaults.models`, add each model you plan to use.
|
|
2348
|
-
- Shortcut: `
|
|
2353
|
+
- Shortcut: `clawdbot onboard --auth-choice opencode-zen`.
|
|
2349
2354
|
|
|
2350
2355
|
```json5
|
|
2351
2356
|
{
|
|
@@ -2363,7 +2368,7 @@ Notes:
|
|
|
2363
2368
|
Z.AI models are available via the built-in `zai` provider. Set `ZAI_API_KEY`
|
|
2364
2369
|
in your environment and reference the model by provider/model.
|
|
2365
2370
|
|
|
2366
|
-
Shortcut: `
|
|
2371
|
+
Shortcut: `clawdbot onboard --auth-choice zai-api-key`.
|
|
2367
2372
|
|
|
2368
2373
|
```json5
|
|
2369
2374
|
{
|
|
@@ -2425,7 +2430,7 @@ Use Moonshot's OpenAI-compatible endpoint:
|
|
|
2425
2430
|
```
|
|
2426
2431
|
|
|
2427
2432
|
Notes:
|
|
2428
|
-
- Set `MOONSHOT_API_KEY` in the environment or use `
|
|
2433
|
+
- Set `MOONSHOT_API_KEY` in the environment or use `clawdbot onboard --auth-choice moonshot-api-key`.
|
|
2429
2434
|
- Model ref: `moonshot/kimi-k2-0905-preview`.
|
|
2430
2435
|
- Use `https://api.moonshot.cn/v1` if you need the China endpoint.
|
|
2431
2436
|
|
|
@@ -2469,7 +2474,7 @@ Use Kimi Code's dedicated OpenAI-compatible endpoint (separate from Moonshot):
|
|
|
2469
2474
|
```
|
|
2470
2475
|
|
|
2471
2476
|
Notes:
|
|
2472
|
-
- Set `KIMICODE_API_KEY` in the environment or use `
|
|
2477
|
+
- Set `KIMICODE_API_KEY` in the environment or use `clawdbot onboard --auth-choice kimi-code-api-key`.
|
|
2473
2478
|
- Model ref: `kimi-code/kimi-for-coding`.
|
|
2474
2479
|
|
|
2475
2480
|
### Synthetic (Anthropic-compatible)
|
|
@@ -2510,7 +2515,7 @@ Use Synthetic's Anthropic-compatible endpoint:
|
|
|
2510
2515
|
```
|
|
2511
2516
|
|
|
2512
2517
|
Notes:
|
|
2513
|
-
- Set `SYNTHETIC_API_KEY` or use `
|
|
2518
|
+
- Set `SYNTHETIC_API_KEY` or use `clawdbot onboard --auth-choice synthetic-api-key`.
|
|
2514
2519
|
- Model ref: `synthetic/hf:MiniMaxAI/MiniMax-M2.1`.
|
|
2515
2520
|
- Base URL should omit `/v1` because the Anthropic client appends it.
|
|
2516
2521
|
|
|
@@ -2557,7 +2562,7 @@ Use MiniMax M2.1 directly without LM Studio:
|
|
|
2557
2562
|
```
|
|
2558
2563
|
|
|
2559
2564
|
Notes:
|
|
2560
|
-
- Set `MINIMAX_API_KEY` environment variable or use `
|
|
2565
|
+
- Set `MINIMAX_API_KEY` environment variable or use `clawdbot onboard --auth-choice minimax-api`.
|
|
2561
2566
|
- Available model: `MiniMax-M2.1` (default).
|
|
2562
2567
|
- Update pricing in `models.json` if you need exact cost tracking.
|
|
2563
2568
|
|
|
@@ -2664,7 +2669,7 @@ Fields:
|
|
|
2664
2669
|
- `atHour`: local hour (0-23) for the daily reset boundary.
|
|
2665
2670
|
- `idleMinutes`: sliding idle window in minutes. When daily + idle are both configured, whichever expires first wins.
|
|
2666
2671
|
- `resetByType`: per-session overrides for `dm`, `group`, and `thread`.
|
|
2667
|
-
- If you only set legacy `session.idleMinutes` without any `reset`/`resetByType`,
|
|
2672
|
+
- If you only set legacy `session.idleMinutes` without any `reset`/`resetByType`, Clawdbot stays in idle-only mode for backward compatibility.
|
|
2668
2673
|
- `heartbeatIdleMinutes`: optional idle override for heartbeat checks (daily reset still applies when enabled).
|
|
2669
2674
|
- `agentToAgent.maxPingPongTurns`: max reply-back turns between requester/target (0–5, default 5).
|
|
2670
2675
|
- `sendPolicy.default`: `allow` or `deny` fallback when no rule matches.
|
|
@@ -2759,7 +2764,7 @@ Example:
|
|
|
2759
2764
|
|
|
2760
2765
|
### `browser` (clawd-managed browser)
|
|
2761
2766
|
|
|
2762
|
-
|
|
2767
|
+
Clawdbot can start a **dedicated, isolated** Chrome/Brave/Edge/Chromium instance for clawd and expose a small loopback control server.
|
|
2763
2768
|
Profiles can point at a **remote** Chromium-based browser via `profiles.<name>.cdpUrl`. Remote
|
|
2764
2769
|
profiles are attach-only (start/stop/reset are disabled).
|
|
2765
2770
|
|
|
@@ -2768,18 +2773,17 @@ scheme/host for profiles that only set `cdpPort`.
|
|
|
2768
2773
|
|
|
2769
2774
|
Defaults:
|
|
2770
2775
|
- enabled: `true`
|
|
2771
|
-
-
|
|
2772
|
-
-
|
|
2773
|
-
- CDP URL: `http://127.0.0.1:18792` (control service + 1, legacy single-profile)
|
|
2776
|
+
- control URL: `http://127.0.0.1:18791` (CDP uses `18792`)
|
|
2777
|
+
- CDP URL: `http://127.0.0.1:18792` (control URL + 1, legacy single-profile)
|
|
2774
2778
|
- profile color: `#FF4500` (lobster-orange)
|
|
2775
|
-
- Note: the control server is started by the running gateway (
|
|
2779
|
+
- Note: the control server is started by the running gateway (Clawdbot.app menubar, or `clawdbot gateway`).
|
|
2776
2780
|
- Auto-detect order: default browser if Chromium-based; otherwise Chrome → Brave → Edge → Chromium → Chrome Canary.
|
|
2777
2781
|
|
|
2778
2782
|
```json5
|
|
2779
2783
|
{
|
|
2780
2784
|
browser: {
|
|
2781
2785
|
enabled: true,
|
|
2782
|
-
|
|
2786
|
+
controlUrl: "http://127.0.0.1:18791",
|
|
2783
2787
|
// cdpUrl: "http://127.0.0.1:18792", // legacy single-profile override
|
|
2784
2788
|
defaultProfile: "chrome",
|
|
2785
2789
|
profiles: {
|
|
@@ -2810,7 +2814,7 @@ If unset, clients fall back to a muted light-blue.
|
|
|
2810
2814
|
// Optional: Control UI assistant identity override.
|
|
2811
2815
|
// If unset, the Control UI uses the active agent identity (config or IDENTITY.md).
|
|
2812
2816
|
assistant: {
|
|
2813
|
-
name: "
|
|
2817
|
+
name: "Clawdbot",
|
|
2814
2818
|
avatar: "CB" // emoji, short text, or image URL/data URI
|
|
2815
2819
|
}
|
|
2816
2820
|
}
|
|
@@ -2832,7 +2836,7 @@ Defaults:
|
|
|
2832
2836
|
mode: "local", // or "remote"
|
|
2833
2837
|
port: 18789, // WS + HTTP multiplex
|
|
2834
2838
|
bind: "loopback",
|
|
2835
|
-
// controlUi: { enabled: true, basePath: "/
|
|
2839
|
+
// controlUi: { enabled: true, basePath: "/clawdbot" }
|
|
2836
2840
|
// auth: { mode: "token", token: "your-token" } // token gates WS + Control UI access
|
|
2837
2841
|
// tailscale: { mode: "off" | "serve" | "funnel" }
|
|
2838
2842
|
}
|
|
@@ -2841,13 +2845,11 @@ Defaults:
|
|
|
2841
2845
|
|
|
2842
2846
|
Control UI base path:
|
|
2843
2847
|
- `gateway.controlUi.basePath` sets the URL prefix where the Control UI is served.
|
|
2844
|
-
- Examples: `"/ui"`, `"/
|
|
2848
|
+
- Examples: `"/ui"`, `"/clawdbot"`, `"/apps/clawdbot"`.
|
|
2845
2849
|
- Default: root (`/`) (unchanged).
|
|
2846
|
-
- `gateway.controlUi.allowInsecureAuth` allows token-only auth for the Control UI
|
|
2847
|
-
device identity
|
|
2850
|
+
- `gateway.controlUi.allowInsecureAuth` allows token-only auth for the Control UI and skips
|
|
2851
|
+
device identity + pairing (even on HTTPS). Default: `false`. Prefer HTTPS
|
|
2848
2852
|
(Tailscale Serve) or `127.0.0.1`.
|
|
2849
|
-
- `gateway.controlUi.dangerouslyDisableDeviceAuth` disables device identity checks for the
|
|
2850
|
-
Control UI (token/password only). Default: `false`. Break-glass only.
|
|
2851
2853
|
|
|
2852
2854
|
Related docs:
|
|
2853
2855
|
- [Control UI](/web/control-ui)
|
|
@@ -2857,30 +2859,29 @@ Related docs:
|
|
|
2857
2859
|
|
|
2858
2860
|
Trusted proxies:
|
|
2859
2861
|
- `gateway.trustedProxies`: list of reverse proxy IPs that terminate TLS in front of the Gateway.
|
|
2860
|
-
- When a connection comes from one of these IPs,
|
|
2862
|
+
- When a connection comes from one of these IPs, Clawdbot uses `x-forwarded-for` (or `x-real-ip`) to determine the client IP for local pairing checks and HTTP auth/local checks.
|
|
2861
2863
|
- Only list proxies you fully control, and ensure they **overwrite** incoming `x-forwarded-for`.
|
|
2862
2864
|
|
|
2863
2865
|
Notes:
|
|
2864
|
-
- `
|
|
2866
|
+
- `clawdbot gateway` refuses to start unless `gateway.mode` is set to `local` (or you pass the override flag).
|
|
2865
2867
|
- `gateway.port` controls the single multiplexed port used for WebSocket + HTTP (control UI, hooks, A2UI).
|
|
2866
2868
|
- OpenAI Chat Completions endpoint: **disabled by default**; enable with `gateway.http.endpoints.chatCompletions.enabled: true`.
|
|
2867
2869
|
- Precedence: `--port` > `CLAWDBOT_GATEWAY_PORT` > `gateway.port` > default `18789`.
|
|
2868
|
-
-
|
|
2870
|
+
- Non-loopback binds (`lan`/`tailnet`/`auto`) require auth. Use `gateway.auth.token` (or `CLAWDBOT_GATEWAY_TOKEN`).
|
|
2869
2871
|
- The onboarding wizard generates a gateway token by default (even on loopback).
|
|
2870
2872
|
- `gateway.remote.token` is **only** for remote CLI calls; it does not enable local gateway auth. `gateway.token` is ignored.
|
|
2871
2873
|
|
|
2872
2874
|
Auth and Tailscale:
|
|
2873
|
-
- `gateway.auth.mode` sets the handshake requirements (`token` or `password`).
|
|
2875
|
+
- `gateway.auth.mode` sets the handshake requirements (`token` or `password`).
|
|
2874
2876
|
- `gateway.auth.token` stores the shared token for token auth (used by the CLI on the same machine).
|
|
2875
2877
|
- When `gateway.auth.mode` is set, only that method is accepted (plus optional Tailscale headers).
|
|
2876
2878
|
- `gateway.auth.password` can be set here, or via `CLAWDBOT_GATEWAY_PASSWORD` (recommended).
|
|
2877
2879
|
- `gateway.auth.allowTailscale` allows Tailscale Serve identity headers
|
|
2878
2880
|
(`tailscale-user-login`) to satisfy auth when the request arrives on loopback
|
|
2879
|
-
with `x-forwarded-for`, `x-forwarded-proto`, and `x-forwarded-host`.
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
`true` when `tailscale.mode = "serve"` and auth mode is not `password`.
|
|
2881
|
+
with `x-forwarded-for`, `x-forwarded-proto`, and `x-forwarded-host`. When
|
|
2882
|
+
`true`, Serve requests do not need a token/password; set `false` to require
|
|
2883
|
+
explicit credentials. Defaults to `true` when `tailscale.mode = "serve"` and
|
|
2884
|
+
auth mode is not `password`.
|
|
2884
2885
|
- `gateway.tailscale.mode: "serve"` uses Tailscale Serve (tailnet only, loopback bind).
|
|
2885
2886
|
- `gateway.tailscale.mode: "funnel"` exposes the dashboard publicly; requires auth.
|
|
2886
2887
|
- `gateway.tailscale.resetOnExit` resets Serve/Funnel config on shutdown.
|
|
@@ -2892,7 +2893,7 @@ Remote client defaults (CLI):
|
|
|
2892
2893
|
- `gateway.remote.password` supplies the password for remote calls (leave unset for no auth).
|
|
2893
2894
|
|
|
2894
2895
|
macOS app behavior:
|
|
2895
|
-
-
|
|
2896
|
+
- Clawdbot.app watches `~/.clawdbot/clawdbot.json` and switches modes live when `gateway.mode` or `gateway.remote.url` changes.
|
|
2896
2897
|
- If `gateway.mode` is unset but `gateway.remote.url` is set, the macOS app treats it as remote mode.
|
|
2897
2898
|
- When you change connection mode in the macOS app, it writes `gateway.mode` (and `gateway.remote.url` + `gateway.remote.transport` in remote mode) back to the config file.
|
|
2898
2899
|
|
|
@@ -2926,7 +2927,7 @@ Direct transport example (macOS app):
|
|
|
2926
2927
|
|
|
2927
2928
|
### `gateway.reload` (Config hot reload)
|
|
2928
2929
|
|
|
2929
|
-
The Gateway watches `~/.clawdbot/
|
|
2930
|
+
The Gateway watches `~/.clawdbot/clawdbot.json` (or `CLAWDBOT_CONFIG_PATH`) and applies changes automatically.
|
|
2930
2931
|
|
|
2931
2932
|
Modes:
|
|
2932
2933
|
- `hybrid` (default): hot-apply safe changes; restart the Gateway for critical changes.
|
|
@@ -2948,7 +2949,7 @@ Modes:
|
|
|
2948
2949
|
#### Hot reload matrix (files + impact)
|
|
2949
2950
|
|
|
2950
2951
|
Files watched:
|
|
2951
|
-
- `~/.clawdbot/
|
|
2952
|
+
- `~/.clawdbot/clawdbot.json` (or `CLAWDBOT_CONFIG_PATH`)
|
|
2952
2953
|
|
|
2953
2954
|
Hot-applied (no full gateway restart):
|
|
2954
2955
|
- `hooks` (webhook auth/path/mappings) + `hooks.gmail` (Gmail watcher restarted)
|
|
@@ -2976,8 +2977,8 @@ To run multiple gateways on one host (for redundancy or a rescue bot), isolate p
|
|
|
2976
2977
|
- `gateway.port` (unique per instance)
|
|
2977
2978
|
|
|
2978
2979
|
Convenience flags (CLI):
|
|
2979
|
-
- `
|
|
2980
|
-
- `
|
|
2980
|
+
- `clawdbot --dev …` → uses `~/.clawdbot-dev` + shifts ports from base `19001`
|
|
2981
|
+
- `clawdbot --profile <name> …` → uses `~/.clawdbot-<name>` (port via config/env/flags)
|
|
2981
2982
|
|
|
2982
2983
|
See [Gateway runbook](/gateway) for the derived port mapping (gateway/browser/canvas).
|
|
2983
2984
|
See [Multiple gateways](/gateway/multiple-gateways) for browser/CDP port isolation details.
|
|
@@ -2986,7 +2987,7 @@ Example:
|
|
|
2986
2987
|
```bash
|
|
2987
2988
|
CLAWDBOT_CONFIG_PATH=~/.clawdbot/a.json \
|
|
2988
2989
|
CLAWDBOT_STATE_DIR=~/.clawdbot-a \
|
|
2989
|
-
|
|
2990
|
+
clawdbot gateway --port 19001
|
|
2990
2991
|
```
|
|
2991
2992
|
|
|
2992
2993
|
### `hooks` (Gateway webhooks)
|
|
@@ -3026,7 +3027,7 @@ Defaults:
|
|
|
3026
3027
|
|
|
3027
3028
|
Requests must include the hook token:
|
|
3028
3029
|
- `Authorization: Bearer <token>` **or**
|
|
3029
|
-
- `x-
|
|
3030
|
+
- `x-clawdbot-token: <token>` **or**
|
|
3030
3031
|
- `?token=<token>`
|
|
3031
3032
|
|
|
3032
3033
|
Endpoints:
|
|
@@ -3045,13 +3046,13 @@ Mapping notes:
|
|
|
3045
3046
|
- If there is no prior delivery route, set `channel` + `to` explicitly (required for Telegram/Discord/Google Chat/Slack/Signal/iMessage/MS Teams).
|
|
3046
3047
|
- `model` overrides the LLM for this hook run (`provider/model` or alias; must be allowed if `agents.defaults.models` is set).
|
|
3047
3048
|
|
|
3048
|
-
Gmail helper config (used by `
|
|
3049
|
+
Gmail helper config (used by `clawdbot webhooks gmail setup` / `run`):
|
|
3049
3050
|
|
|
3050
3051
|
```json5
|
|
3051
3052
|
{
|
|
3052
3053
|
hooks: {
|
|
3053
3054
|
gmail: {
|
|
3054
|
-
account: "
|
|
3055
|
+
account: "clawdbot@gmail.com",
|
|
3055
3056
|
topic: "projects/<project-id>/topics/gog-gmail-watch",
|
|
3056
3057
|
subscription: "gog-gmail-watch-push",
|
|
3057
3058
|
pushToken: "shared-push-token",
|
|
@@ -3087,7 +3088,7 @@ Gateway auto-start:
|
|
|
3087
3088
|
- Avoid running a separate `gog gmail watch serve` alongside the Gateway; it will
|
|
3088
3089
|
fail with `listen tcp 127.0.0.1:8788: bind: address already in use`.
|
|
3089
3090
|
|
|
3090
|
-
Note: when `tailscale.mode` is on,
|
|
3091
|
+
Note: when `tailscale.mode` is on, Clawdbot defaults `serve.path` to `/` so
|
|
3091
3092
|
Tailscale can proxy `/gmail-pubsub` correctly (it strips the set-path prefix).
|
|
3092
3093
|
If you need the backend to receive the prefixed path, set
|
|
3093
3094
|
`hooks.gmail.tailscale.target` to a full URL (and align `serve.path`).
|
|
@@ -3103,9 +3104,9 @@ The server listens on the **gateway bind host** (LAN or Tailnet) so nodes can re
|
|
|
3103
3104
|
The server:
|
|
3104
3105
|
- serves files under `canvasHost.root`
|
|
3105
3106
|
- injects a tiny live-reload client into served HTML
|
|
3106
|
-
- watches the directory and broadcasts reloads over a WebSocket endpoint at `/
|
|
3107
|
+
- watches the directory and broadcasts reloads over a WebSocket endpoint at `/__clawdbot/ws`
|
|
3107
3108
|
- auto-creates a starter `index.html` when the directory is empty (so you see something immediately)
|
|
3108
|
-
- also serves A2UI at `/
|
|
3109
|
+
- also serves A2UI at `/__clawdbot__/a2ui/` and is advertised to nodes as `canvasHostUrl`
|
|
3109
3110
|
(always used by nodes for Canvas/A2UI)
|
|
3110
3111
|
|
|
3111
3112
|
Disable live reload (and file watching) if the directory is large or you hit `EMFILE`:
|
|
@@ -3173,32 +3174,18 @@ Auto-generated certs require `openssl` on PATH; if generation fails, the bridge
|
|
|
3173
3174
|
}
|
|
3174
3175
|
```
|
|
3175
3176
|
|
|
3176
|
-
### `discovery.mdns` (Bonjour / mDNS broadcast mode)
|
|
3177
|
-
|
|
3178
|
-
Controls LAN mDNS discovery broadcasts (`_moltbot-gw._tcp`).
|
|
3179
|
-
|
|
3180
|
-
- `minimal` (default): omit `cliPath` + `sshPort` from TXT records
|
|
3181
|
-
- `full`: include `cliPath` + `sshPort` in TXT records
|
|
3182
|
-
- `off`: disable mDNS broadcasts entirely
|
|
3183
|
-
|
|
3184
|
-
```json5
|
|
3185
|
-
{
|
|
3186
|
-
discovery: { mdns: { mode: "minimal" } }
|
|
3187
|
-
}
|
|
3188
|
-
```
|
|
3189
|
-
|
|
3190
3177
|
### `discovery.wideArea` (Wide-Area Bonjour / unicast DNS‑SD)
|
|
3191
3178
|
|
|
3192
|
-
When enabled, the Gateway writes a unicast DNS-SD zone for `
|
|
3179
|
+
When enabled, the Gateway writes a unicast DNS-SD zone for `_clawdbot-bridge._tcp` under `~/.clawdbot/dns/` using the standard discovery domain `clawdbot.internal.`
|
|
3193
3180
|
|
|
3194
3181
|
To make iOS/Android discover across networks (Vienna ⇄ London), pair this with:
|
|
3195
|
-
- a DNS server on the gateway host serving `
|
|
3196
|
-
- Tailscale **split DNS** so clients resolve `
|
|
3182
|
+
- a DNS server on the gateway host serving `clawdbot.internal.` (CoreDNS is recommended)
|
|
3183
|
+
- Tailscale **split DNS** so clients resolve `clawdbot.internal` via that server
|
|
3197
3184
|
|
|
3198
3185
|
One-time setup helper (gateway host):
|
|
3199
3186
|
|
|
3200
3187
|
```bash
|
|
3201
|
-
|
|
3188
|
+
clawdbot dns setup --apply
|
|
3202
3189
|
```
|
|
3203
3190
|
|
|
3204
3191
|
```json5
|