@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
|
@@ -6,7 +6,7 @@ read_when:
|
|
|
6
6
|
---
|
|
7
7
|
# Media Understanding (Inbound) — 2026-01-17
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Clawdbot can **summarize inbound media** (image/audio/video) before the reply pipeline runs. It auto‑detects when local tools or provider keys are available, and can be disabled or customized. If understanding is off, models still receive the original files/URLs as usual.
|
|
10
10
|
|
|
11
11
|
## Goals
|
|
12
12
|
- Optional: pre‑digest inbound media into short text for faster routing + better command parsing.
|
|
@@ -106,12 +106,12 @@ Rules:
|
|
|
106
106
|
- If media exceeds `maxBytes`, that model is skipped and the **next model is tried**.
|
|
107
107
|
- If the model returns more than `maxChars`, output is trimmed.
|
|
108
108
|
- `prompt` defaults to simple “Describe the {media}.” plus the `maxChars` guidance (image/video only).
|
|
109
|
-
- If `<capability>.enabled: true` but no models are configured,
|
|
109
|
+
- If `<capability>.enabled: true` but no models are configured, Clawdbot tries the
|
|
110
110
|
**active reply model** when its provider supports the capability.
|
|
111
111
|
|
|
112
112
|
### Auto-detect media understanding (default)
|
|
113
113
|
If `tools.media.<capability>.enabled` is **not** set to `false` and you haven’t
|
|
114
|
-
configured models,
|
|
114
|
+
configured models, Clawdbot auto-detects in this order and **stops at the first
|
|
115
115
|
working option**:
|
|
116
116
|
|
|
117
117
|
1) **Local CLIs** (audio only; if installed)
|
|
@@ -140,7 +140,7 @@ Note: Binary detection is best-effort across macOS/Linux/Windows; ensure the CLI
|
|
|
140
140
|
|
|
141
141
|
## Capabilities (optional)
|
|
142
142
|
If you set `capabilities`, the entry only runs for those media types. For shared
|
|
143
|
-
lists,
|
|
143
|
+
lists, Clawdbot can infer defaults:
|
|
144
144
|
- `openai`, `anthropic`, `minimax`: **image**
|
|
145
145
|
- `google` (Gemini API): **image + audio + video**
|
|
146
146
|
- `groq`: **audio**
|
|
@@ -149,7 +149,7 @@ lists, Pool Bot can infer defaults:
|
|
|
149
149
|
For CLI entries, **set `capabilities` explicitly** to avoid surprising matches.
|
|
150
150
|
If you omit `capabilities`, the entry is eligible for the list it appears in.
|
|
151
151
|
|
|
152
|
-
## Provider support matrix (
|
|
152
|
+
## Provider support matrix (Clawdbot integrations)
|
|
153
153
|
| Capability | Provider integration | Notes |
|
|
154
154
|
|------------|----------------------|-------|
|
|
155
155
|
| Image | OpenAI / Anthropic / Google / others via `pi-ai` | Any image-capable model in the registry works. |
|
package/docs/nodes/talk.md
CHANGED
package/docs/nodes/voicewake.md
CHANGED
|
@@ -6,7 +6,7 @@ read_when:
|
|
|
6
6
|
---
|
|
7
7
|
# Voice Wake (Global Wake Words)
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Clawdbot treats **wake words as a single global list** owned by the **Gateway**.
|
|
10
10
|
|
|
11
11
|
- There are **no per-node custom wake words**.
|
|
12
12
|
- **Any node/app UI may edit** the list; changes are persisted by the Gateway and broadcast to everyone.
|
package/docs/perplexity.md
CHANGED
|
@@ -7,7 +7,7 @@ read_when:
|
|
|
7
7
|
|
|
8
8
|
# Perplexity Sonar
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
Clawdbot can use Perplexity Sonar for the `web_search` tool. You can connect
|
|
11
11
|
through Perplexity’s direct API or via OpenRouter.
|
|
12
12
|
|
|
13
13
|
## API options
|
|
@@ -64,7 +64,7 @@ If both `PERPLEXITY_API_KEY` and `OPENROUTER_API_KEY` are set, set
|
|
|
64
64
|
`tools.web.search.perplexity.baseUrl` (or `tools.web.search.perplexity.apiKey`)
|
|
65
65
|
to disambiguate.
|
|
66
66
|
|
|
67
|
-
If no base URL is set,
|
|
67
|
+
If no base URL is set, Clawdbot chooses a default based on the API key source:
|
|
68
68
|
|
|
69
69
|
- `PERPLEXITY_API_KEY` or `pplx-...` → direct Perplexity (`https://api.perplexity.ai`)
|
|
70
70
|
- `OPENROUTER_API_KEY` or `sk-or-...` → OpenRouter (`https://openrouter.ai/api/v1`)
|
|
@@ -31,12 +31,12 @@ Android connects directly to the Gateway WebSocket (default `ws://<host>:18789`)
|
|
|
31
31
|
- Same LAN with mDNS/NSD, **or**
|
|
32
32
|
- Same Tailscale tailnet using Wide-Area Bonjour / unicast DNS-SD (see below), **or**
|
|
33
33
|
- Manual gateway host/port (fallback)
|
|
34
|
-
- You can run the CLI (`
|
|
34
|
+
- You can run the CLI (`clawdbot`) on the gateway machine (or via SSH).
|
|
35
35
|
|
|
36
36
|
### 1) Start the Gateway
|
|
37
37
|
|
|
38
38
|
```bash
|
|
39
|
-
|
|
39
|
+
clawdbot gateway --port 18789 --verbose
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
Confirm in logs you see something like:
|
|
@@ -44,7 +44,7 @@ Confirm in logs you see something like:
|
|
|
44
44
|
|
|
45
45
|
For tailnet-only setups (recommended for Vienna ⇄ London), bind the gateway to the tailnet IP:
|
|
46
46
|
|
|
47
|
-
- Set `gateway.bind: "tailnet"` in `~/.clawdbot/
|
|
47
|
+
- Set `gateway.bind: "tailnet"` in `~/.clawdbot/clawdbot.json` on the gateway host.
|
|
48
48
|
- Restart the Gateway / macOS menubar app.
|
|
49
49
|
|
|
50
50
|
### 2) Verify discovery (optional)
|
|
@@ -52,7 +52,7 @@ For tailnet-only setups (recommended for Vienna ⇄ London), bind the gateway to
|
|
|
52
52
|
From the gateway machine:
|
|
53
53
|
|
|
54
54
|
```bash
|
|
55
|
-
dns-sd -B
|
|
55
|
+
dns-sd -B _clawdbot-gw._tcp local.
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
More debugging notes: [Bonjour](/gateway/bonjour).
|
|
@@ -61,8 +61,8 @@ More debugging notes: [Bonjour](/gateway/bonjour).
|
|
|
61
61
|
|
|
62
62
|
Android NSD/mDNS discovery won’t cross networks. If your Android node and the gateway are on different networks but connected via Tailscale, use Wide-Area Bonjour / unicast DNS-SD instead:
|
|
63
63
|
|
|
64
|
-
1) Set up a DNS-SD zone (example `
|
|
65
|
-
2) Configure Tailscale split DNS for `
|
|
64
|
+
1) Set up a DNS-SD zone (example `clawdbot.internal.`) on the gateway host and publish `_clawdbot-gw._tcp` records.
|
|
65
|
+
2) Configure Tailscale split DNS for `clawdbot.internal` pointing at that DNS server.
|
|
66
66
|
|
|
67
67
|
Details and example CoreDNS config: [Bonjour](/gateway/bonjour).
|
|
68
68
|
|
|
@@ -84,8 +84,8 @@ After the first successful pairing, Android auto-reconnects on launch:
|
|
|
84
84
|
On the gateway machine:
|
|
85
85
|
|
|
86
86
|
```bash
|
|
87
|
-
|
|
88
|
-
|
|
87
|
+
clawdbot nodes pending
|
|
88
|
+
clawdbot nodes approve <requestId>
|
|
89
89
|
```
|
|
90
90
|
|
|
91
91
|
Pairing details: [Gateway pairing](/gateway/pairing).
|
|
@@ -94,11 +94,11 @@ Pairing details: [Gateway pairing](/gateway/pairing).
|
|
|
94
94
|
|
|
95
95
|
- Via nodes status:
|
|
96
96
|
```bash
|
|
97
|
-
|
|
97
|
+
clawdbot nodes status
|
|
98
98
|
```
|
|
99
99
|
- Via Gateway:
|
|
100
100
|
```bash
|
|
101
|
-
|
|
101
|
+
clawdbot gateway call node.list --params "{}"
|
|
102
102
|
```
|
|
103
103
|
|
|
104
104
|
### 6) Chat + history
|
|
@@ -122,13 +122,13 @@ Note: nodes use the standalone canvas host on `canvasHost.port` (default `18793`
|
|
|
122
122
|
2) Navigate the node to it (LAN):
|
|
123
123
|
|
|
124
124
|
```bash
|
|
125
|
-
|
|
125
|
+
clawdbot nodes invoke --node "<Android Node>" --command canvas.navigate --params '{"url":"http://<gateway-hostname>.local:18793/__clawdbot__/canvas/"}'
|
|
126
126
|
```
|
|
127
127
|
|
|
128
|
-
Tailnet (optional): if both devices are on Tailscale, use a MagicDNS name or tailnet IP instead of `.local`, e.g. `http://<gateway-magicdns>:18793/
|
|
128
|
+
Tailnet (optional): if both devices are on Tailscale, use a MagicDNS name or tailnet IP instead of `.local`, e.g. `http://<gateway-magicdns>:18793/__clawdbot__/canvas/`.
|
|
129
129
|
|
|
130
130
|
This server injects a live-reload client into HTML and reloads on file changes.
|
|
131
|
-
The A2UI host lives at `http://<gateway-host>:18793/
|
|
131
|
+
The A2UI host lives at `http://<gateway-host>:18793/__clawdbot__/a2ui/`.
|
|
132
132
|
|
|
133
133
|
Canvas commands (foreground only):
|
|
134
134
|
- `canvas.eval`, `canvas.snapshot`, `canvas.navigate` (use `{"url":""}` or `{"url":"/"}` to return to the default scaffold). `canvas.snapshot` returns `{ format, base64 }` (default `format="jpeg"`).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "Run
|
|
2
|
+
summary: "Run Clawdbot Gateway on exe.dev (VM + HTTPS proxy) for remote access"
|
|
3
3
|
read_when:
|
|
4
4
|
- You want a cheap always-on Linux host for the Gateway
|
|
5
5
|
- You want remote Control UI access without running your own VPS
|
|
@@ -7,7 +7,7 @@ read_when:
|
|
|
7
7
|
|
|
8
8
|
# exe.dev
|
|
9
9
|
|
|
10
|
-
Goal:
|
|
10
|
+
Goal: Clawdbot Gateway running on an exe.dev VM, reachable from your laptop via:
|
|
11
11
|
- **exe.dev HTTPS proxy** (easy, no tunnel) or
|
|
12
12
|
- **SSH tunnel** (most secure; loopback-only Gateway)
|
|
13
13
|
|
|
@@ -17,8 +17,8 @@ If you’re on any other Linux VPS, the same steps apply — you just won’t us
|
|
|
17
17
|
|
|
18
18
|
## Beginner quick path
|
|
19
19
|
|
|
20
|
-
1) Create VM → install Node 22 → install
|
|
21
|
-
2) Run `
|
|
20
|
+
1) Create VM → install Node 22 → install Clawdbot
|
|
21
|
+
2) Run `clawdbot onboard --install-daemon`
|
|
22
22
|
3) Tunnel from laptop (`ssh -N -L 18789:127.0.0.1:18789 …`)
|
|
23
23
|
4) Open `http://127.0.0.1:18789/` and paste your token
|
|
24
24
|
|
|
@@ -34,16 +34,16 @@ If you’re on any other Linux VPS, the same steps apply — you just won’t us
|
|
|
34
34
|
From your laptop:
|
|
35
35
|
|
|
36
36
|
```bash
|
|
37
|
-
ssh exe.dev new --name=
|
|
37
|
+
ssh exe.dev new --name=clawdbot
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
Then connect:
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
ssh
|
|
43
|
+
ssh clawdbot.exe.xyz
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
-
Tip: keep this VM **stateful**.
|
|
46
|
+
Tip: keep this VM **stateful**. Clawdbot stores state under `~/.clawdbot/` and `~/clawd/`.
|
|
47
47
|
|
|
48
48
|
## 2) Install prerequisites (on the VM)
|
|
49
49
|
|
|
@@ -69,13 +69,13 @@ curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
|
|
|
69
69
|
sudo apt-get install -y nodejs
|
|
70
70
|
```
|
|
71
71
|
|
|
72
|
-
## 3) Install
|
|
72
|
+
## 3) Install Clawdbot
|
|
73
73
|
|
|
74
74
|
Recommended on servers: npm global install.
|
|
75
75
|
|
|
76
76
|
```bash
|
|
77
|
-
npm i -g
|
|
78
|
-
|
|
77
|
+
npm i -g clawdbot@latest
|
|
78
|
+
clawdbot --version
|
|
79
79
|
```
|
|
80
80
|
|
|
81
81
|
If native deps fail to install (rare; usually `sharp`), add build tools:
|
|
@@ -89,12 +89,12 @@ sudo apt-get install -y build-essential python3
|
|
|
89
89
|
Run the onboarding wizard on the VM:
|
|
90
90
|
|
|
91
91
|
```bash
|
|
92
|
-
|
|
92
|
+
clawdbot onboard --install-daemon
|
|
93
93
|
```
|
|
94
94
|
|
|
95
95
|
It can set up:
|
|
96
96
|
- `~/clawd` workspace bootstrap
|
|
97
|
-
- `~/.clawdbot/
|
|
97
|
+
- `~/.clawdbot/clawdbot.json` config
|
|
98
98
|
- model auth profiles
|
|
99
99
|
- model provider config/login
|
|
100
100
|
- Linux systemd **user** service (service)
|
|
@@ -108,7 +108,7 @@ If you’re doing OAuth on a headless VM: do OAuth on a normal machine first, th
|
|
|
108
108
|
Keep Gateway on loopback (default) and tunnel it from your laptop:
|
|
109
109
|
|
|
110
110
|
```bash
|
|
111
|
-
ssh -N -L 18789:127.0.0.1:18789
|
|
111
|
+
ssh -N -L 18789:127.0.0.1:18789 clawdbot.exe.xyz
|
|
112
112
|
```
|
|
113
113
|
|
|
114
114
|
Open locally:
|
|
@@ -122,10 +122,10 @@ To let exe.dev proxy traffic to the VM, bind the Gateway to the LAN interface an
|
|
|
122
122
|
|
|
123
123
|
```bash
|
|
124
124
|
export CLAWDBOT_GATEWAY_TOKEN="$(openssl rand -hex 32)"
|
|
125
|
-
|
|
125
|
+
clawdbot gateway --bind lan --port 8080 --token "$CLAWDBOT_GATEWAY_TOKEN"
|
|
126
126
|
```
|
|
127
127
|
|
|
128
|
-
For service runs, persist it in `~/.clawdbot/
|
|
128
|
+
For service runs, persist it in `~/.clawdbot/clawdbot.json`:
|
|
129
129
|
|
|
130
130
|
```json5
|
|
131
131
|
{
|
|
@@ -145,11 +145,11 @@ Notes:
|
|
|
145
145
|
Then point exe.dev’s proxy at `8080` (or whatever port you chose) and open your VM’s HTTPS URL:
|
|
146
146
|
|
|
147
147
|
```bash
|
|
148
|
-
ssh exe.dev share port
|
|
148
|
+
ssh exe.dev share port clawdbot 8080
|
|
149
149
|
```
|
|
150
150
|
|
|
151
151
|
Open:
|
|
152
|
-
- `https://
|
|
152
|
+
- `https://clawdbot.exe.xyz/`
|
|
153
153
|
|
|
154
154
|
In the Control UI, paste the token (UI → Settings → token). The UI sends it as `connect.params.auth.token`.
|
|
155
155
|
|
|
@@ -161,10 +161,10 @@ Control UI details: [Control UI](/web/control-ui)
|
|
|
161
161
|
|
|
162
162
|
## 6) Keep it running (service)
|
|
163
163
|
|
|
164
|
-
On Linux,
|
|
164
|
+
On Linux, Clawdbot uses a systemd **user** service. After `--install-daemon`, verify:
|
|
165
165
|
|
|
166
166
|
```bash
|
|
167
|
-
systemctl --user status
|
|
167
|
+
systemctl --user status clawdbot-gateway[-<profile>].service
|
|
168
168
|
```
|
|
169
169
|
|
|
170
170
|
If the service dies after logout, enable lingering:
|
|
@@ -178,10 +178,10 @@ More: [Linux](/platforms/linux)
|
|
|
178
178
|
## 7) Updates
|
|
179
179
|
|
|
180
180
|
```bash
|
|
181
|
-
npm i -g
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
181
|
+
npm i -g clawdbot@latest
|
|
182
|
+
clawdbot doctor
|
|
183
|
+
clawdbot gateway restart
|
|
184
|
+
clawdbot health
|
|
185
185
|
```
|
|
186
186
|
|
|
187
187
|
Guide: [Updating](/install/updating)
|
package/docs/platforms/fly.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Fly.io
|
|
3
|
-
description: Deploy
|
|
3
|
+
description: Deploy Clawdbot on Fly.io
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Fly.io Deployment
|
|
7
7
|
|
|
8
|
-
**Goal:**
|
|
8
|
+
**Goal:** Clawdbot Gateway running on a [Fly.io](https://fly.io) machine with persistent storage, automatic HTTPS, and Discord/channel access.
|
|
9
9
|
|
|
10
10
|
## What you need
|
|
11
11
|
|
|
@@ -25,26 +25,24 @@ description: Deploy Pool Bot on Fly.io
|
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
27
|
# Clone the repo
|
|
28
|
-
git clone https://github.com/
|
|
29
|
-
cd
|
|
28
|
+
git clone https://github.com/clawdbot/clawdbot.git
|
|
29
|
+
cd clawdbot
|
|
30
30
|
|
|
31
31
|
# Create a new Fly app (pick your own name)
|
|
32
|
-
fly apps create my-
|
|
32
|
+
fly apps create my-clawdbot
|
|
33
33
|
|
|
34
34
|
# Create a persistent volume (1GB is usually enough)
|
|
35
|
-
fly volumes create
|
|
35
|
+
fly volumes create clawdbot_data --size 1 --region iad
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
**Tip:** Choose a region close to you. Common options: `lhr` (London), `iad` (Virginia), `sjc` (San Jose).
|
|
39
39
|
|
|
40
40
|
## 2) Configure fly.toml
|
|
41
41
|
|
|
42
|
-
Edit `fly.toml` to match your app name and requirements
|
|
43
|
-
|
|
44
|
-
**Security note:** The default config exposes a public URL. For a hardened deployment with no public IP, see [Private Deployment](#private-deployment-hardened) or use `fly.private.toml`.
|
|
42
|
+
Edit `fly.toml` to match your app name and requirements:
|
|
45
43
|
|
|
46
44
|
```toml
|
|
47
|
-
app = "my-
|
|
45
|
+
app = "my-clawdbot" # Your app name
|
|
48
46
|
primary_region = "iad"
|
|
49
47
|
|
|
50
48
|
[build]
|
|
@@ -72,7 +70,7 @@ primary_region = "iad"
|
|
|
72
70
|
memory = "2048mb"
|
|
73
71
|
|
|
74
72
|
[mounts]
|
|
75
|
-
source = "
|
|
73
|
+
source = "clawdbot_data"
|
|
76
74
|
destination = "/data"
|
|
77
75
|
```
|
|
78
76
|
|
|
@@ -106,7 +104,6 @@ fly secrets set DISCORD_BOT_TOKEN=MTQ...
|
|
|
106
104
|
**Notes:**
|
|
107
105
|
- Non-loopback binds (`--bind lan`) require `CLAWDBOT_GATEWAY_TOKEN` for security.
|
|
108
106
|
- Treat these tokens like passwords.
|
|
109
|
-
- **Prefer env vars over config file** for all API keys and tokens. This keeps secrets out of `poolbot.json` where they could be accidentally exposed or logged.
|
|
110
107
|
|
|
111
108
|
## 4) Deploy
|
|
112
109
|
|
|
@@ -139,7 +136,7 @@ fly ssh console
|
|
|
139
136
|
Create the config directory and file:
|
|
140
137
|
```bash
|
|
141
138
|
mkdir -p /data
|
|
142
|
-
cat > /data/
|
|
139
|
+
cat > /data/clawdbot.json << 'EOF'
|
|
143
140
|
{
|
|
144
141
|
"agents": {
|
|
145
142
|
"defaults": {
|
|
@@ -185,13 +182,13 @@ cat > /data/poolbot.json << 'EOF'
|
|
|
185
182
|
"bind": "auto"
|
|
186
183
|
},
|
|
187
184
|
"meta": {
|
|
188
|
-
"lastTouchedVersion": "2026.1.
|
|
185
|
+
"lastTouchedVersion": "2026.1.24"
|
|
189
186
|
}
|
|
190
187
|
}
|
|
191
188
|
EOF
|
|
192
189
|
```
|
|
193
190
|
|
|
194
|
-
**Note:** With `CLAWDBOT_STATE_DIR=/data`, the config path is `/data/
|
|
191
|
+
**Note:** With `CLAWDBOT_STATE_DIR=/data`, the config path is `/data/clawdbot.json`.
|
|
195
192
|
|
|
196
193
|
**Note:** The Discord token can come from either:
|
|
197
194
|
- Environment variable: `DISCORD_BOT_TOKEN` (recommended for secrets)
|
|
@@ -214,7 +211,7 @@ Open in browser:
|
|
|
214
211
|
fly open
|
|
215
212
|
```
|
|
216
213
|
|
|
217
|
-
Or visit `https://my-
|
|
214
|
+
Or visit `https://my-clawdbot.fly.dev/`
|
|
218
215
|
|
|
219
216
|
Paste your gateway token (the one from `CLAWDBOT_GATEWAY_TOKEN`) to authenticate.
|
|
220
217
|
|
|
@@ -278,11 +275,11 @@ The lock file is at `/data/gateway.*.lock` (not in a subdirectory).
|
|
|
278
275
|
|
|
279
276
|
### Config Not Being Read
|
|
280
277
|
|
|
281
|
-
If using `--allow-unconfigured`, the gateway creates a minimal config. Your custom config at `/data/
|
|
278
|
+
If using `--allow-unconfigured`, the gateway creates a minimal config. Your custom config at `/data/clawdbot.json` should be read on restart.
|
|
282
279
|
|
|
283
280
|
Verify the config exists:
|
|
284
281
|
```bash
|
|
285
|
-
fly ssh console --command "cat /data/
|
|
282
|
+
fly ssh console --command "cat /data/clawdbot.json"
|
|
286
283
|
```
|
|
287
284
|
|
|
288
285
|
### Writing Config via SSH
|
|
@@ -291,16 +288,16 @@ The `fly ssh console -C` command doesn't support shell redirection. To write a c
|
|
|
291
288
|
|
|
292
289
|
```bash
|
|
293
290
|
# Use echo + tee (pipe from local to remote)
|
|
294
|
-
echo '{"your":"config"}' | fly ssh console -C "tee /data/
|
|
291
|
+
echo '{"your":"config"}' | fly ssh console -C "tee /data/clawdbot.json"
|
|
295
292
|
|
|
296
293
|
# Or use sftp
|
|
297
294
|
fly sftp shell
|
|
298
|
-
> put /local/path/config.json /data/
|
|
295
|
+
> put /local/path/config.json /data/clawdbot.json
|
|
299
296
|
```
|
|
300
297
|
|
|
301
298
|
**Note:** `fly sftp` may fail if the file already exists. Delete first:
|
|
302
299
|
```bash
|
|
303
|
-
fly ssh console --command "rm /data/
|
|
300
|
+
fly ssh console --command "rm /data/clawdbot.json"
|
|
304
301
|
```
|
|
305
302
|
|
|
306
303
|
### State Not Persisting
|
|
@@ -340,114 +337,6 @@ fly machine update <machine-id> --vm-memory 2048 --command "node dist/index.js g
|
|
|
340
337
|
|
|
341
338
|
**Note:** After `fly deploy`, the machine command may reset to what's in `fly.toml`. If you made manual changes, re-apply them after deploy.
|
|
342
339
|
|
|
343
|
-
## Private Deployment (Hardened)
|
|
344
|
-
|
|
345
|
-
By default, Fly allocates public IPs, making your gateway accessible at `https://your-app.fly.dev`. This is convenient but means your deployment is discoverable by internet scanners (Shodan, Censys, etc.).
|
|
346
|
-
|
|
347
|
-
For a hardened deployment with **no public exposure**, use the private template.
|
|
348
|
-
|
|
349
|
-
### When to use private deployment
|
|
350
|
-
|
|
351
|
-
- You only make **outbound** calls/messages (no inbound webhooks)
|
|
352
|
-
- You use **ngrok or Tailscale** tunnels for any webhook callbacks
|
|
353
|
-
- You access the gateway via **SSH, proxy, or WireGuard** instead of browser
|
|
354
|
-
- You want the deployment **hidden from internet scanners**
|
|
355
|
-
|
|
356
|
-
### Setup
|
|
357
|
-
|
|
358
|
-
Use `fly.private.toml` instead of the standard config:
|
|
359
|
-
|
|
360
|
-
```bash
|
|
361
|
-
# Deploy with private config
|
|
362
|
-
fly deploy -c fly.private.toml
|
|
363
|
-
```
|
|
364
|
-
|
|
365
|
-
Or convert an existing deployment:
|
|
366
|
-
|
|
367
|
-
```bash
|
|
368
|
-
# List current IPs
|
|
369
|
-
fly ips list -a my-poolbot
|
|
370
|
-
|
|
371
|
-
# Release public IPs
|
|
372
|
-
fly ips release <public-ipv4> -a my-poolbot
|
|
373
|
-
fly ips release <public-ipv6> -a my-poolbot
|
|
374
|
-
|
|
375
|
-
# Switch to private config so future deploys don't re-allocate public IPs
|
|
376
|
-
# (remove [http_service] or deploy with the private template)
|
|
377
|
-
fly deploy -c fly.private.toml
|
|
378
|
-
|
|
379
|
-
# Allocate private-only IPv6
|
|
380
|
-
fly ips allocate-v6 --private -a my-poolbot
|
|
381
|
-
```
|
|
382
|
-
|
|
383
|
-
After this, `fly ips list` should show only a `private` type IP:
|
|
384
|
-
```
|
|
385
|
-
VERSION IP TYPE REGION
|
|
386
|
-
v6 fdaa:x:x:x:x::x private global
|
|
387
|
-
```
|
|
388
|
-
|
|
389
|
-
### Accessing a private deployment
|
|
390
|
-
|
|
391
|
-
Since there's no public URL, use one of these methods:
|
|
392
|
-
|
|
393
|
-
**Option 1: Local proxy (simplest)**
|
|
394
|
-
```bash
|
|
395
|
-
# Forward local port 3000 to the app
|
|
396
|
-
fly proxy 3000:3000 -a my-poolbot
|
|
397
|
-
|
|
398
|
-
# Then open http://localhost:3000 in browser
|
|
399
|
-
```
|
|
400
|
-
|
|
401
|
-
**Option 2: WireGuard VPN**
|
|
402
|
-
```bash
|
|
403
|
-
# Create WireGuard config (one-time)
|
|
404
|
-
fly wireguard create
|
|
405
|
-
|
|
406
|
-
# Import to WireGuard client, then access via internal IPv6
|
|
407
|
-
# Example: http://[fdaa:x:x:x:x::x]:3000
|
|
408
|
-
```
|
|
409
|
-
|
|
410
|
-
**Option 3: SSH only**
|
|
411
|
-
```bash
|
|
412
|
-
fly ssh console -a my-poolbot
|
|
413
|
-
```
|
|
414
|
-
|
|
415
|
-
### Webhooks with private deployment
|
|
416
|
-
|
|
417
|
-
If you need webhook callbacks (Twilio, Telnyx, etc.) without public exposure:
|
|
418
|
-
|
|
419
|
-
1. **ngrok tunnel** - Run ngrok inside the container or as a sidecar
|
|
420
|
-
2. **Tailscale Funnel** - Expose specific paths via Tailscale
|
|
421
|
-
3. **Outbound-only** - Some providers (Twilio) work fine for outbound calls without webhooks
|
|
422
|
-
|
|
423
|
-
Example voice-call config with ngrok:
|
|
424
|
-
```json
|
|
425
|
-
{
|
|
426
|
-
"plugins": {
|
|
427
|
-
"entries": {
|
|
428
|
-
"voice-call": {
|
|
429
|
-
"enabled": true,
|
|
430
|
-
"config": {
|
|
431
|
-
"provider": "twilio",
|
|
432
|
-
"tunnel": { "provider": "ngrok" }
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
}
|
|
438
|
-
```
|
|
439
|
-
|
|
440
|
-
The ngrok tunnel runs inside the container and provides a public webhook URL without exposing the Fly app itself.
|
|
441
|
-
|
|
442
|
-
### Security benefits
|
|
443
|
-
|
|
444
|
-
| Aspect | Public | Private |
|
|
445
|
-
|--------|--------|---------|
|
|
446
|
-
| Internet scanners | Discoverable | Hidden |
|
|
447
|
-
| Direct attacks | Possible | Blocked |
|
|
448
|
-
| Control UI access | Browser | Proxy/VPN |
|
|
449
|
-
| Webhook delivery | Direct | Via tunnel |
|
|
450
|
-
|
|
451
340
|
## Notes
|
|
452
341
|
|
|
453
342
|
- Fly.io uses **x86 architecture** (not ARM)
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "Run
|
|
2
|
+
summary: "Run Clawdbot Gateway 24/7 on a cheap Hetzner VPS (Docker) with durable state and baked-in binaries"
|
|
3
3
|
read_when:
|
|
4
|
-
- You want
|
|
4
|
+
- You want Clawdbot running 24/7 on a cloud VPS (not your laptop)
|
|
5
5
|
- You want a production-grade, always-on Gateway on your own VPS
|
|
6
6
|
- You want full control over persistence, binaries, and restart behavior
|
|
7
|
-
- You are running
|
|
7
|
+
- You are running Clawdbot in Docker on Hetzner or a similar provider
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
#
|
|
10
|
+
# Clawdbot on Hetzner (Docker, Production VPS Guide)
|
|
11
11
|
|
|
12
12
|
## Goal
|
|
13
|
-
Run a persistent
|
|
13
|
+
Run a persistent Clawdbot Gateway on a Hetzner VPS using Docker, with durable state, baked-in binaries, and safe restart behavior.
|
|
14
14
|
|
|
15
|
-
If you want “
|
|
15
|
+
If you want “Clawdbot 24/7 for ~$5”, this is the simplest reliable setup.
|
|
16
16
|
Hetzner pricing changes; pick the smallest Debian/Ubuntu VPS and scale up if you hit OOMs.
|
|
17
17
|
|
|
18
18
|
## What are we doing (simple terms)?
|
|
19
19
|
|
|
20
20
|
- Rent a small Linux server (Hetzner VPS)
|
|
21
21
|
- Install Docker (isolated app runtime)
|
|
22
|
-
- Start the
|
|
22
|
+
- Start the Clawdbot Gateway in Docker
|
|
23
23
|
- Persist `~/.clawdbot` + `~/clawd` on the host (survives restarts/rebuilds)
|
|
24
24
|
- Access the Control UI from your laptop via an SSH tunnel
|
|
25
25
|
|
|
@@ -37,7 +37,7 @@ For the generic Docker flow, see [Docker](/install/docker).
|
|
|
37
37
|
|
|
38
38
|
1) Provision Hetzner VPS
|
|
39
39
|
2) Install Docker
|
|
40
|
-
3) Clone
|
|
40
|
+
3) Clone Clawdbot repository
|
|
41
41
|
4) Create persistent host directories
|
|
42
42
|
5) Configure `.env` and `docker-compose.yml`
|
|
43
43
|
6) Bake required binaries into the image
|
|
@@ -93,11 +93,11 @@ docker compose version
|
|
|
93
93
|
|
|
94
94
|
---
|
|
95
95
|
|
|
96
|
-
## 3) Clone the
|
|
96
|
+
## 3) Clone the Clawdbot repository
|
|
97
97
|
|
|
98
98
|
```bash
|
|
99
|
-
git clone https://github.com/
|
|
100
|
-
cd
|
|
99
|
+
git clone https://github.com/clawdbot/clawdbot.git
|
|
100
|
+
cd clawdbot
|
|
101
101
|
```
|
|
102
102
|
|
|
103
103
|
This guide assumes you will build a custom image to guarantee binary persistence.
|
|
@@ -125,7 +125,7 @@ chown -R 1000:1000 /root/clawd
|
|
|
125
125
|
Create `.env` in the repository root.
|
|
126
126
|
|
|
127
127
|
```bash
|
|
128
|
-
CLAWDBOT_IMAGE=
|
|
128
|
+
CLAWDBOT_IMAGE=clawdbot:latest
|
|
129
129
|
CLAWDBOT_GATEWAY_TOKEN=change-me-now
|
|
130
130
|
CLAWDBOT_GATEWAY_BIND=lan
|
|
131
131
|
CLAWDBOT_GATEWAY_PORT=18789
|
|
@@ -153,7 +153,7 @@ Create or update `docker-compose.yml`.
|
|
|
153
153
|
|
|
154
154
|
```yaml
|
|
155
155
|
services:
|
|
156
|
-
|
|
156
|
+
clawdbot-gateway:
|
|
157
157
|
image: ${CLAWDBOT_IMAGE}
|
|
158
158
|
build: .
|
|
159
159
|
restart: unless-stopped
|
|
@@ -259,15 +259,15 @@ CMD ["node","dist/index.js"]
|
|
|
259
259
|
|
|
260
260
|
```bash
|
|
261
261
|
docker compose build
|
|
262
|
-
docker compose up -d
|
|
262
|
+
docker compose up -d clawdbot-gateway
|
|
263
263
|
```
|
|
264
264
|
|
|
265
265
|
Verify binaries:
|
|
266
266
|
|
|
267
267
|
```bash
|
|
268
|
-
docker compose exec
|
|
269
|
-
docker compose exec
|
|
270
|
-
docker compose exec
|
|
268
|
+
docker compose exec clawdbot-gateway which gog
|
|
269
|
+
docker compose exec clawdbot-gateway which goplaces
|
|
270
|
+
docker compose exec clawdbot-gateway which wacli
|
|
271
271
|
```
|
|
272
272
|
|
|
273
273
|
Expected output:
|
|
@@ -283,7 +283,7 @@ Expected output:
|
|
|
283
283
|
## 9) Verify Gateway
|
|
284
284
|
|
|
285
285
|
```bash
|
|
286
|
-
docker compose logs -f
|
|
286
|
+
docker compose logs -f clawdbot-gateway
|
|
287
287
|
```
|
|
288
288
|
|
|
289
289
|
Success:
|
|
@@ -308,12 +308,12 @@ Paste your gateway token.
|
|
|
308
308
|
|
|
309
309
|
## What persists where (source of truth)
|
|
310
310
|
|
|
311
|
-
|
|
311
|
+
Clawdbot runs in Docker, but Docker is not the source of truth.
|
|
312
312
|
All long-lived state must survive restarts, rebuilds, and reboots.
|
|
313
313
|
|
|
314
314
|
| Component | Location | Persistence mechanism | Notes |
|
|
315
315
|
|---|---|---|---|
|
|
316
|
-
| Gateway config | `/home/node/.clawdbot/` | Host volume mount | Includes `
|
|
316
|
+
| Gateway config | `/home/node/.clawdbot/` | Host volume mount | Includes `clawdbot.json`, tokens |
|
|
317
317
|
| Model auth profiles | `/home/node/.clawdbot/` | Host volume mount | OAuth tokens, API keys |
|
|
318
318
|
| Skill configs | `/home/node/.clawdbot/skills/` | Host volume mount | Skill-level state |
|
|
319
319
|
| Agent workspace | `/home/node/clawd/` | Host volume mount | Code and agent artifacts |
|