@gguf/pigbot 0.0.1 → 0.0.3
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 +6 -1054
- package/README-header.png +0 -0
- package/README.md +1 -1
- package/assets/chrome-extension/README.md +5 -5
- package/assets/chrome-extension/background.js +5 -5
- package/assets/chrome-extension/manifest.json +3 -3
- package/assets/chrome-extension/options.html +5 -6
- package/assets/chrome-extension/options.js +1 -1
- package/dist/acp/client.js +5 -5
- package/dist/acp/server.js +3 -3
- package/dist/acp/types.js +2 -2
- package/dist/agents/agent-paths.js +6 -6
- package/dist/agents/anthropic-payload-log.js +2 -2
- package/dist/agents/auth-health.js +2 -6
- package/dist/agents/auth-profiles/doctor.js +1 -1
- package/dist/agents/auth-profiles/external-cli-sync.js +5 -150
- package/dist/agents/auth-profiles/oauth.js +26 -7
- package/dist/agents/auth-profiles/paths.js +3 -3
- package/dist/agents/auth-profiles/store.js +5 -13
- package/dist/agents/bash-tools.exec.js +77 -26
- package/dist/agents/bash-tools.shared.js +8 -1
- package/dist/agents/cache-trace.js +5 -5
- package/dist/agents/cli-backends.js +8 -0
- package/dist/agents/cli-runner/helpers.js +3 -3
- package/dist/agents/cli-runner.js +3 -3
- package/dist/agents/compaction.js +3 -0
- package/dist/agents/context.js +4 -4
- package/dist/agents/docs-path.js +3 -3
- package/dist/agents/identity.js +1 -1
- package/dist/agents/live-auth-keys.js +2 -2
- package/dist/agents/memory-search.js +7 -2
- package/dist/agents/minimax-vlm.js +1 -1
- package/dist/agents/model-auth.js +1 -1
- package/dist/agents/model-catalog.js +23 -5
- package/dist/agents/model-fallback.js +22 -0
- package/dist/agents/model-selection.js +9 -2
- package/dist/agents/models-config.js +3 -3
- package/dist/agents/models-config.providers.js +4 -4
- package/dist/agents/{pigbot-tools.js → moltbot-tools.js} +7 -6
- package/dist/agents/pi-embedded-helpers/errors.js +23 -1
- 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 +5 -0
- package/dist/agents/pi-embedded-runner/model.js +9 -3
- package/dist/agents/pi-embedded-runner/run/attempt.js +10 -6
- package/dist/agents/pi-embedded-runner/run.js +5 -5
- package/dist/agents/pi-embedded-runner/sandbox-info.js +1 -4
- package/dist/agents/pi-embedded-runner/session-manager-cache.js +1 -1
- package/dist/agents/pi-embedded-runner/utils.js +1 -1
- package/dist/agents/pi-embedded-subscribe.raw-stream.js +2 -2
- package/dist/agents/pi-embedded-utils.js +7 -1
- package/dist/agents/pi-extensions/compaction-safeguard-runtime.js +20 -0
- package/dist/agents/pi-extensions/compaction-safeguard.js +32 -3
- package/dist/agents/pi-tools.js +26 -15
- package/dist/agents/pi-tools.policy.js +34 -1
- package/dist/agents/pi-tools.read.js +2 -2
- package/dist/agents/sandbox/browser.js +10 -12
- package/dist/agents/sandbox/config.js +0 -12
- package/dist/agents/sandbox/constants.js +8 -8
- 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 +68 -0
- package/dist/agents/skills/bundled-dir.js +1 -1
- package/dist/agents/skills/config.js +9 -8
- package/dist/agents/skills/env-overrides.js +1 -1
- package/dist/agents/skills/frontmatter.js +15 -14
- 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 +21 -32
- package/dist/agents/tool-images.js +1 -1
- package/dist/agents/tool-policy.js +8 -2
- package/dist/agents/tools/agents-list-tool.js +3 -1
- package/dist/agents/tools/browser-tool.js +19 -79
- package/dist/agents/tools/browser-tool.schema.js +1 -2
- package/dist/agents/tools/cron-tool.js +44 -1
- package/dist/agents/tools/discord-actions-guild.js +5 -1
- package/dist/agents/tools/image-tool.js +2 -2
- package/dist/agents/tools/message-tool.js +13 -1
- package/dist/agents/tools/sessions-send-helpers.js +17 -2
- package/dist/agents/tools/sessions-spawn-tool.js +1 -1
- package/dist/agents/tools/telegram-actions.js +95 -1
- package/dist/agents/tools/web-fetch.js +123 -103
- package/dist/agents/tools/web-search.js +7 -7
- package/dist/agents/workspace.js +37 -1
- package/dist/auto-reply/chunk.js +71 -26
- package/dist/auto-reply/commands-registry.data.js +73 -22
- package/dist/auto-reply/commands-registry.js +14 -11
- package/dist/auto-reply/heartbeat.js +3 -0
- package/dist/auto-reply/model.js +1 -1
- package/dist/auto-reply/reply/agent-runner-execution.js +21 -3
- package/dist/auto-reply/reply/agent-runner-memory.js +5 -0
- package/dist/auto-reply/reply/bash-command.js +2 -2
- package/dist/auto-reply/reply/block-streaming.js +8 -15
- package/dist/auto-reply/reply/commands-context-report.js +2 -2
- package/dist/auto-reply/reply/commands-info.js +50 -5
- package/dist/auto-reply/reply/commands-plugin.js +4 -2
- package/dist/auto-reply/reply/commands-session.js +4 -4
- package/dist/auto-reply/reply/commands-tts.js +61 -63
- package/dist/auto-reply/reply/directive-handling.shared.js +1 -1
- package/dist/auto-reply/reply/directives.js +12 -1
- package/dist/auto-reply/reply/dispatch-from-config.js +68 -22
- package/dist/auto-reply/reply/followup-runner.js +5 -0
- package/dist/auto-reply/reply/get-reply-inline-actions.js +2 -2
- package/dist/auto-reply/reply/get-reply-run.js +4 -0
- package/dist/auto-reply/reply/get-reply.js +1 -1
- package/dist/auto-reply/reply/groups.js +1 -1
- package/dist/auto-reply/reply/history.js +23 -0
- package/dist/auto-reply/reply/line-directives.js +294 -0
- package/dist/auto-reply/reply/normalize-reply.js +13 -5
- package/dist/auto-reply/reply/reply-elevated.js +1 -1
- package/dist/auto-reply/reply/reply-payloads.js +2 -1
- package/dist/auto-reply/reply/route-reply.js +1 -1
- package/dist/auto-reply/reply/session-updates.js +6 -1
- package/dist/auto-reply/reply/stage-sandbox-media.js +1 -1
- package/dist/auto-reply/status.js +144 -42
- package/dist/auto-reply/thinking.js +13 -0
- package/dist/browser/bridge-server.js +1 -3
- package/dist/browser/client-actions-core.js +13 -7
- package/dist/browser/client-actions-observe.js +14 -8
- package/dist/browser/client-actions-state.js +21 -15
- package/dist/browser/client-fetch.js +74 -61
- package/dist/browser/client.js +19 -21
- package/dist/browser/config.js +13 -26
- package/dist/browser/constants.js +1 -1
- package/dist/browser/control-service.js +72 -0
- package/dist/browser/extension-relay.js +3 -3
- package/dist/browser/pw-session.js +41 -4
- 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 +13 -0
- package/dist/browser/routes/agent.debug.js +1 -1
- package/dist/browser/routes/basic.js +0 -1
- package/dist/browser/routes/dispatcher.js +86 -0
- package/dist/browser/server-context.js +3 -3
- package/dist/browser/server.js +7 -9
- package/dist/build-info.json +2 -2
- package/dist/canvas-host/a2ui/.bundle.hash +1 -0
- package/dist/canvas-host/a2ui/a2ui.bundle.js +1620 -1618
- package/dist/canvas-host/a2ui/index.html +28 -28
- package/dist/canvas-host/a2ui.js +27 -21
- package/dist/canvas-host/server.js +67 -33
- package/dist/channels/plugins/actions/discord/handle-action.guild-admin.js +5 -1
- package/dist/channels/plugins/actions/telegram.js +62 -7
- package/dist/channels/plugins/catalog.js +7 -5
- package/dist/channels/plugins/group-mentions.js +48 -1
- package/dist/channels/plugins/helpers.js +2 -2
- package/dist/channels/plugins/message-action-names.js +1 -0
- package/dist/channels/plugins/normalize/imessage.js +36 -0
- 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 +17 -9
- package/dist/channels/plugins/onboarding/whatsapp.js +4 -4
- package/dist/channels/plugins/outbound/telegram.js +40 -0
- 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 +14 -7
- package/dist/cli/banner.js +3 -1
- package/dist/cli/browser-cli-actions-input/register.element.js +72 -44
- package/dist/cli/browser-cli-actions-input/register.files-downloads.js +55 -35
- package/dist/cli/browser-cli-actions-input/register.form-wait-eval.js +41 -28
- package/dist/cli/browser-cli-actions-input/register.navigation.js +23 -14
- package/dist/cli/browser-cli-actions-input/shared.js +10 -3
- package/dist/cli/browser-cli-actions-observe.js +29 -21
- package/dist/cli/browser-cli-debug.js +49 -35
- 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 +23 -17
- package/dist/cli/browser-cli-manage.js +106 -56
- package/dist/cli/browser-cli-shared.js +34 -1
- package/dist/cli/browser-cli-state.cookies-storage.js +53 -39
- package/dist/cli/browser-cli-state.js +90 -64
- package/dist/cli/browser-cli.js +4 -5
- package/dist/cli/channel-options.js +1 -1
- package/dist/cli/channels-cli.js +1 -1
- package/dist/cli/cli-name.js +26 -0
- package/dist/cli/command-format.js +12 -8
- package/dist/cli/config-cli.js +2 -2
- package/dist/cli/cron-cli/register.js +1 -1
- package/dist/cli/daemon-cli/install.js +3 -2
- package/dist/cli/daemon-cli/register.js +1 -1
- package/dist/cli/daemon-cli/shared.js +13 -11
- package/dist/cli/daemon-cli/status.gather.js +2 -2
- package/dist/cli/daemon-cli/status.print.js +8 -8
- 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 +5 -5
- package/dist/cli/gateway-cli/register.js +1 -1
- package/dist/cli/gateway-cli/run.js +19 -16
- package/dist/cli/gateway-cli/shared.js +5 -5
- package/dist/cli/hooks-cli.js +3 -3
- package/dist/cli/logs-cli.js +3 -3
- package/dist/cli/memory-cli.js +1 -1
- package/dist/cli/models-cli.js +2 -2
- package/dist/cli/node-cli/daemon.js +3 -3
- package/dist/cli/node-cli/register.js +1 -1
- package/dist/cli/nodes-camera.js +3 -1
- package/dist/cli/nodes-canvas.js +3 -1
- package/dist/cli/nodes-cli/register.canvas.js +1 -1
- package/dist/cli/nodes-cli/register.js +1 -1
- package/dist/cli/nodes-screen.js +1 -1
- package/dist/cli/pairing-cli.js +3 -3
- package/dist/cli/plugin-registry.js +2 -2
- package/dist/cli/plugins-cli.js +3 -3
- package/dist/cli/profile.js +9 -9
- package/dist/cli/program/config-guard.js +1 -1
- package/dist/cli/program/help.js +15 -16
- package/dist/cli/program/message/register.send.js +2 -1
- package/dist/cli/program/preaction.js +5 -3
- 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 +5 -3
- package/dist/cli/program/register.setup.js +2 -2
- package/dist/cli/program/register.status-health-sessions.js +13 -13
- package/dist/cli/program/register.subclis.js +2 -2
- package/dist/cli/route.js +1 -1
- package/dist/cli/run-main.js +11 -4
- package/dist/cli/sandbox-cli.js +19 -19
- package/dist/cli/security-cli.js +18 -8
- package/dist/cli/skills-cli.js +3 -3
- package/dist/cli/system-cli.js +1 -1
- package/dist/cli/tagline.js +2 -2
- package/dist/cli/tui-cli.js +1 -1
- package/dist/cli/update-cli.js +64 -48
- package/dist/cli/webhooks-cli.js +6 -6
- package/dist/commands/agent-via-gateway.js +1 -1
- package/dist/commands/agent.js +2 -1
- package/dist/commands/agents.command-shared.js +1 -1
- package/dist/commands/agents.commands.add.js +2 -3
- package/dist/commands/agents.commands.list.js +1 -1
- package/dist/commands/auth-choice-options.js +4 -54
- package/dist/commands/auth-choice.apply.anthropic.js +6 -109
- package/dist/commands/auth-choice.apply.openai.js +1 -33
- 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.daemon.js +10 -2
- package/dist/commands/configure.gateway-auth.js +1 -8
- package/dist/commands/configure.gateway.js +1 -10
- package/dist/commands/configure.wizard.js +21 -21
- package/dist/commands/daemon-install-helpers.js +10 -3
- package/dist/commands/dashboard.js +2 -2
- package/dist/commands/docs.js +5 -5
- package/dist/commands/doctor-auth.js +122 -3
- package/dist/commands/doctor-config-flow.js +7 -7
- package/dist/commands/doctor-format.js +5 -5
- package/dist/commands/doctor-gateway-daemon-flow.js +5 -4
- package/dist/commands/doctor-gateway-services.js +7 -5
- package/dist/commands/doctor-platform-notes.js +7 -7
- package/dist/commands/doctor-security.js +48 -1
- package/dist/commands/doctor-state-integrity.js +3 -3
- package/dist/commands/doctor-ui.js +2 -2
- package/dist/commands/doctor-update.js +5 -5
- package/dist/commands/doctor-workspace-status.js +2 -2
- package/dist/commands/doctor-workspace.js +4 -4
- package/dist/commands/doctor.js +13 -12
- package/dist/commands/gateway-status/helpers.js +2 -2
- package/dist/commands/gateway-status.js +2 -2
- package/dist/commands/health.js +2 -2
- package/dist/commands/models/auth.js +23 -22
- 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 +8 -9
- package/dist/commands/node-daemon-install-helpers.js +1 -1
- 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 +38 -34
- package/dist/commands/onboard-non-interactive/local/daemon-install.js +1 -0
- package/dist/commands/onboard-non-interactive/local/gateway-config.js +7 -4
- 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 +25 -4
- 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 +5 -5
- package/dist/commands/status.command.js +9 -9
- package/dist/commands/status.gateway-probe.js +2 -2
- package/dist/commands/status.scan.js +2 -2
- package/dist/commands/status.update.js +3 -3
- package/dist/commands/uninstall.js +4 -4
- package/dist/compat/legacy-names.js +6 -0
- package/dist/config/config.js +1 -1
- package/dist/config/env-vars.js +21 -0
- package/dist/config/group-policy.js +69 -0
- package/dist/config/io.js +24 -28
- package/dist/config/legacy.migrations.part-3.js +3 -0
- package/dist/config/logging.js +3 -3
- package/dist/config/paths.js +57 -17
- package/dist/config/schema.js +26 -12
- package/dist/config/sessions/store.js +1 -1
- package/dist/config/sessions/transcript.js +1 -1
- package/dist/config/types.clawdbot.js +1 -0
- package/dist/config/types.js +1 -1
- package/dist/config/validation.js +2 -2
- package/dist/config/version.js +4 -4
- package/dist/config/zod-schema.agent-defaults.js +1 -0
- package/dist/config/zod-schema.agent-runtime.js +39 -7
- package/dist/config/zod-schema.hooks.js +2 -0
- package/dist/config/zod-schema.js +10 -3
- package/dist/config/zod-schema.providers-core.js +24 -0
- package/dist/config/zod-schema.providers-whatsapp.js +3 -0
- package/dist/control-ui/assets/index-BAFzd9IE.css +1 -0
- package/dist/control-ui/assets/index-CxUFDXFX.js +3162 -0
- package/dist/control-ui/assets/index-CxUFDXFX.js.map +1 -0
- package/dist/control-ui/index.html +4 -4
- package/dist/cron/isolated-agent/run.js +38 -3
- package/dist/daemon/constants.js +26 -16
- package/dist/daemon/inspect.js +16 -15
- package/dist/daemon/launchd.js +8 -8
- package/dist/daemon/node-service.js +14 -14
- package/dist/daemon/paths.js +3 -3
- package/dist/daemon/program-args.js +1 -1
- package/dist/daemon/schtasks.js +6 -6
- package/dist/daemon/service-env.js +21 -21
- package/dist/daemon/systemd-hints.js +1 -1
- package/dist/daemon/systemd-unit.js +1 -1
- package/dist/daemon/systemd.js +6 -6
- package/dist/discord/monitor/listeners.js +25 -1
- package/dist/discord/monitor/native-command.js +7 -5
- package/dist/discord/monitor/presence-cache.js +38 -0
- package/dist/discord/monitor/provider.js +21 -7
- package/dist/entry.js +7 -7
- package/dist/gateway/auth.js +55 -22
- package/dist/gateway/call.js +2 -2
- package/dist/gateway/control-ui.js +4 -4
- package/dist/gateway/hooks-mapping.js +18 -4
- package/dist/gateway/hooks.js +5 -7
- package/dist/gateway/http-utils.js +3 -5
- 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/__tests__/test-utils.js +2 -0
- package/dist/gateway/server/health-state.js +3 -3
- package/dist/gateway/server/hooks.js +1 -0
- package/dist/gateway/server/plugins-http.js +23 -2
- package/dist/gateway/server/ws-connection/message-handler.js +66 -19
- package/dist/gateway/server-browser.js +16 -5
- package/dist/gateway/server-chat.js +28 -2
- package/dist/gateway/server-constants.js +2 -2
- package/dist/gateway/server-cron.js +1 -1
- package/dist/gateway/server-discovery-runtime.js +25 -17
- package/dist/gateway/server-discovery.js +7 -7
- package/dist/gateway/server-http.js +13 -7
- package/dist/gateway/server-methods/agent.js +2 -0
- package/dist/gateway/server-methods/browser.js +204 -0
- package/dist/gateway/server-methods/chat.js +5 -0
- 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 +1 -0
- package/dist/gateway/server-methods.js +3 -0
- package/dist/gateway/server-plugins.js +2 -2
- package/dist/gateway/server-reload-handlers.js +5 -5
- package/dist/gateway/server-restart-sentinel.js +10 -5
- package/dist/gateway/server-runtime-config.js +7 -4
- package/dist/gateway/server-startup.js +5 -5
- package/dist/gateway/server.impl.js +17 -7
- package/dist/gateway/session-utils.fs.js +1 -1
- package/dist/gateway/session-utils.js +31 -11
- package/dist/gateway/test-helpers.mocks.js +8 -7
- package/dist/gateway/test-helpers.server.js +51 -32
- package/dist/gateway/tools-invoke-http.js +15 -8
- package/dist/hooks/bundled/boot-md/HOOK.md +3 -3
- package/dist/hooks/bundled/command-logger/HOOK.md +12 -12
- package/dist/hooks/bundled/command-logger/handler.js +1 -1
- 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 +2 -2
- package/dist/hooks/config.js +8 -7
- package/dist/hooks/frontmatter.js +16 -15
- package/dist/hooks/gmail-ops.js +4 -4
- package/dist/hooks/gmail-watcher.js +1 -1
- package/dist/hooks/hooks-status.js +13 -13
- package/dist/hooks/install.js +8 -7
- 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 +10 -9
- package/dist/imessage/monitor/monitor-provider.js +2 -2
- package/dist/imessage/targets.js +19 -0
- package/dist/index.js +4 -4
- package/dist/infra/agent-events.js +3 -0
- package/dist/infra/bonjour-discovery.js +9 -9
- package/dist/infra/bonjour.js +20 -13
- package/dist/infra/device-identity.js +1 -1
- package/dist/infra/diagnostic-flags.js +66 -0
- package/dist/infra/dotenv.js +1 -1
- package/dist/infra/env.js +22 -0
- package/dist/infra/exec-approvals.js +2 -2
- package/dist/infra/fs-safe.js +76 -0
- package/dist/infra/gateway-lock.js +5 -4
- package/dist/infra/heartbeat-visibility.js +14 -0
- package/dist/infra/heartbeat-wake.js +2 -2
- package/dist/infra/machine-name.js +1 -1
- package/dist/infra/{pigbot-root.js → moltbot-root.js} +3 -2
- package/dist/infra/net/ssrf.js +77 -1
- package/dist/infra/node-shell.js +1 -1
- package/dist/infra/outbound/deliver.js +41 -18
- package/dist/infra/outbound/message-action-runner.js +24 -3
- package/dist/infra/outbound/message-action-spec.js +1 -0
- package/dist/infra/outbound/message.js +1 -0
- package/dist/infra/outbound/outbound-policy.js +4 -1
- package/dist/infra/outbound/outbound-send-service.js +10 -0
- package/dist/infra/outbound/payloads.js +15 -5
- package/dist/infra/outbound/target-resolver.js +53 -14
- package/dist/infra/outbound/targets.js +1 -1
- package/dist/infra/path-env.js +9 -9
- package/dist/infra/ports-format.js +2 -2
- package/dist/infra/ports.js +2 -2
- package/dist/infra/provider-usage.auth.js +2 -4
- 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 +4 -4
- package/dist/infra/retry-policy.js +4 -1
- package/dist/infra/runtime-guard.js +2 -2
- package/dist/infra/shell-env.js +4 -4
- package/dist/infra/skills-remote.js +3 -3
- package/dist/infra/state-migrations.js +1 -1
- package/dist/infra/system-presence.js +1 -1
- package/dist/infra/tailscale.js +63 -1
- package/dist/infra/tls/gateway.js +1 -1
- package/dist/infra/unhandled-rejections.js +89 -2
- package/dist/infra/update-check.js +2 -4
- package/dist/infra/update-global.js +5 -5
- package/dist/infra/update-runner.js +32 -8
- 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/accounts.js +130 -0
- package/dist/line/auto-reply-delivery.js +102 -0
- package/dist/line/bot-access.js +38 -0
- package/dist/line/bot-handlers.js +258 -0
- package/dist/line/bot-message-context.js +374 -0
- package/dist/line/bot.js +48 -0
- package/dist/line/config-schema.js +47 -0
- package/dist/line/download.js +95 -0
- package/dist/line/flex-templates.js +1264 -0
- package/dist/line/http-registry.js +27 -0
- package/dist/line/index.js +19 -0
- package/dist/line/markdown-to-line.js +346 -0
- package/dist/line/monitor.js +266 -0
- package/dist/line/probe.js +37 -0
- package/dist/line/reply-chunks.js +53 -0
- package/dist/line/rich-menu.js +320 -0
- package/dist/line/send.js +451 -0
- package/dist/line/signature.js +11 -0
- package/dist/line/template-messages.js +258 -0
- package/dist/line/types.js +1 -0
- package/dist/line/webhook.js +71 -0
- package/dist/link-understanding/apply.js +22 -0
- package/dist/link-understanding/defaults.js +2 -0
- package/dist/link-understanding/detect.js +49 -0
- package/dist/link-understanding/format.js +10 -0
- package/dist/link-understanding/index.js +4 -0
- package/dist/link-understanding/runner.js +99 -0
- package/dist/logging/logger.js +4 -4
- package/dist/macos/gateway-daemon.js +7 -7
- package/dist/macos/relay-smoke.js +1 -1
- package/dist/macos/relay.js +6 -6
- package/dist/media/host.js +1 -1
- package/dist/media/image-ops.js +3 -3
- package/dist/media/input-files.js +40 -32
- package/dist/media/server.js +39 -15
- package/dist/media/store.js +72 -52
- package/dist/media-understanding/attachments.js +1 -1
- package/dist/media-understanding/providers/image.js +2 -2
- package/dist/media-understanding/runner.js +69 -1
- package/dist/memory/batch-gemini.js +2 -2
- package/dist/memory/batch-openai.js +1 -1
- package/dist/memory/embeddings-gemini.js +1 -1
- package/dist/memory/embeddings.js +1 -1
- package/dist/node-host/runner.js +64 -60
- package/dist/pairing/pairing-messages.js +2 -2
- package/dist/plugin-sdk/index.js +12 -2
- package/dist/plugins/bundled-dir.js +1 -1
- package/dist/plugins/cli.js +2 -2
- package/dist/plugins/commands.js +1 -1
- package/dist/plugins/discovery.js +6 -5
- package/dist/plugins/http-path.js +10 -0
- package/dist/plugins/http-registry.js +31 -0
- package/dist/plugins/install.js +8 -7
- package/dist/plugins/loader.js +11 -4
- package/dist/plugins/manifest-registry.js +4 -4
- package/dist/plugins/manifest.js +16 -1
- package/dist/plugins/providers.js +2 -2
- package/dist/plugins/registry.js +36 -5
- package/dist/plugins/runtime/index.js +26 -0
- package/dist/plugins/runtime.js +2 -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/process/exec.js +11 -7
- package/dist/process/spawn-utils.js +95 -0
- package/dist/providers/qwen-portal-oauth.js +1 -1
- package/dist/routing/session-key.js +17 -12
- package/dist/security/audit-extra.js +120 -70
- package/dist/security/audit-fs.js +78 -0
- package/dist/security/audit.js +145 -87
- package/dist/security/external-content.js +143 -0
- package/dist/security/fix.js +93 -8
- package/dist/security/windows-acl.js +162 -0
- package/dist/shared/text/reasoning-tags.js +48 -0
- package/dist/slack/monitor/media.js +32 -4
- package/dist/slack/monitor/message-handler/dispatch.js +2 -1
- package/dist/slack/monitor/slash.js +3 -3
- package/dist/slack/monitor.test-helpers.js +1 -1
- package/dist/telegram/accounts.js +1 -1
- package/dist/telegram/api-logging.js +24 -0
- package/dist/telegram/bot/delivery.js +218 -28
- package/dist/telegram/bot/helpers.js +29 -19
- package/dist/telegram/bot-handlers.js +70 -8
- package/dist/telegram/bot-message-context.js +83 -22
- package/dist/telegram/bot-message-dispatch.js +69 -0
- package/dist/telegram/bot-native-commands.js +245 -94
- package/dist/telegram/bot.js +18 -2
- package/dist/telegram/fetch.js +25 -1
- package/dist/telegram/monitor.js +11 -3
- package/dist/telegram/network-config.js +23 -0
- package/dist/telegram/network-errors.js +103 -0
- package/dist/telegram/send.js +229 -41
- package/dist/telegram/sticker-cache.js +202 -0
- package/dist/telegram/webhook-set.js +13 -6
- package/dist/telegram/webhook.js +8 -3
- package/dist/terminal/links.js +1 -1
- package/dist/tts/tts.js +128 -25
- package/dist/tui/components/filterable-select-list.js +1 -1
- package/dist/tui/components/searchable-select-list.js +2 -1
- package/dist/tui/gateway-chat.js +3 -3
- package/dist/tui/tui.js +1 -1
- package/dist/utils.js +3 -3
- package/dist/version.js +3 -3
- package/dist/web/active-listener.js +1 -1
- package/dist/web/auth-store.js +1 -1
- package/dist/web/auto-reply/monitor/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 +22 -21
- package/dist/wizard/onboarding.gateway-config.js +1 -11
- package/dist/wizard/onboarding.js +24 -13
- package/docs/CNAME +1 -1
- package/docs/_config.yml +2 -2
- package/docs/_layouts/default.html +9 -9
- package/docs/assets/terminal.css +3 -0
- package/docs/assets/theme.js +1 -1
- package/docs/automation/auth-monitoring.md +7 -7
- package/docs/automation/cron-jobs.md +19 -19
- package/docs/automation/cron-vs-heartbeat.md +8 -8
- package/docs/automation/gmail-pubsub.md +27 -25
- package/docs/automation/poll.md +7 -7
- package/docs/automation/webhook.md +13 -8
- package/docs/bedrock.md +10 -10
- package/docs/brave-search.md +1 -1
- package/docs/broadcast-groups.md +4 -4
- package/docs/channels/bluebubbles.md +14 -12
- package/docs/channels/discord.md +23 -18
- package/docs/channels/googlechat.md +16 -16
- package/docs/channels/grammy.md +1 -1
- package/docs/channels/imessage.md +14 -14
- package/docs/channels/index.md +6 -4
- package/docs/channels/line.md +183 -0
- package/docs/channels/location.md +1 -1
- package/docs/channels/matrix.md +16 -16
- package/docs/channels/mattermost.md +8 -8
- package/docs/channels/msteams.md +31 -27
- package/docs/channels/nextcloud-talk.md +8 -8
- package/docs/channels/nostr.md +9 -9
- package/docs/channels/signal.md +11 -11
- package/docs/channels/slack.md +31 -29
- package/docs/channels/telegram.md +152 -22
- package/docs/channels/tlon.md +5 -5
- package/docs/channels/troubleshooting.md +2 -2
- package/docs/channels/twitch.md +366 -0
- package/docs/channels/whatsapp.md +26 -26
- package/docs/channels/zalo.md +8 -8
- package/docs/channels/zalouser.md +12 -12
- package/docs/cli/acp.md +24 -24
- package/docs/cli/agent.md +6 -6
- package/docs/cli/agents.md +9 -9
- package/docs/cli/approvals.md +14 -14
- package/docs/cli/browser.md +33 -35
- 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 +11 -11
- package/docs/cli/gateway.md +26 -26
- package/docs/cli/health.md +5 -5
- package/docs/cli/hooks.md +34 -34
- package/docs/cli/index.md +46 -52
- 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 +14 -14
- package/docs/cli/nodes.md +14 -14
- package/docs/cli/onboard.md +7 -6
- 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 +21 -21
- package/docs/concepts/agent.md +12 -12
- package/docs/concepts/architecture.md +2 -2
- package/docs/concepts/channel-routing.md +4 -4
- package/docs/concepts/compaction.md +5 -5
- package/docs/concepts/context.md +6 -6
- package/docs/concepts/group-messages.md +6 -6
- package/docs/concepts/groups.md +41 -5
- package/docs/concepts/markdown-formatting.md +3 -3
- package/docs/concepts/memory.md +14 -14
- package/docs/concepts/messages.md +4 -4
- package/docs/concepts/model-failover.md +14 -14
- package/docs/concepts/model-providers.md +22 -22
- package/docs/concepts/models.md +27 -27
- package/docs/concepts/multi-agent.md +19 -19
- package/docs/concepts/oauth.md +32 -59
- 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 +14 -14
- package/docs/concepts/streaming.md +4 -4
- package/docs/concepts/system-prompt.md +11 -11
- package/docs/concepts/timezone.md +2 -2
- package/docs/concepts/typebox.md +3 -3
- package/docs/concepts/typing-indicators.md +2 -2
- package/docs/concepts/usage-tracking.md +3 -3
- package/docs/date-time.md +2 -2
- package/docs/debug/node-issue.md +4 -4
- package/docs/debugging.md +18 -18
- package/docs/diagnostics/flags.md +89 -0
- package/docs/docs.json +37 -7
- package/docs/environment.md +7 -7
- package/docs/experiments/plans/cron-add-hardening.md +1 -1
- package/docs/experiments/plans/openresponses-gateway.md +2 -2
- package/docs/experiments/research/memory.md +6 -6
- package/docs/gateway/authentication.md +33 -57
- package/docs/gateway/background-process.md +2 -2
- package/docs/gateway/bonjour.md +25 -25
- package/docs/gateway/bridge-protocol.md +2 -2
- package/docs/gateway/cli-backends.md +13 -12
- package/docs/gateway/configuration-examples.md +14 -14
- package/docs/gateway/configuration.md +160 -145
- package/docs/gateway/discovery.md +10 -10
- package/docs/gateway/doctor.md +27 -27
- package/docs/gateway/gateway-lock.md +1 -1
- package/docs/gateway/health.md +11 -11
- package/docs/gateway/heartbeat.md +5 -5
- package/docs/gateway/index.md +65 -65
- package/docs/gateway/local-models.md +2 -2
- package/docs/gateway/logging.md +8 -8
- package/docs/gateway/multiple-gateways.md +27 -27
- package/docs/gateway/openai-http-api.md +12 -12
- package/docs/gateway/openresponses-http-api.md +12 -12
- package/docs/gateway/pairing.md +9 -9
- package/docs/gateway/protocol.md +6 -5
- package/docs/gateway/remote-gateway-readme.md +16 -14
- package/docs/gateway/remote.md +5 -5
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +10 -7
- package/docs/gateway/sandboxing.md +8 -6
- package/docs/gateway/security/formal-verification.md +107 -0
- package/docs/gateway/{security.md → security/index.md} +172 -75
- package/docs/gateway/tailscale.md +19 -38
- package/docs/gateway/tools-invoke-http-api.md +5 -5
- package/docs/gateway/troubleshooting.md +114 -119
- package/docs/help/faq.md +369 -355
- package/docs/help/troubleshooting.md +16 -16
- package/docs/hooks/soul-evil.md +2 -2
- package/docs/hooks.md +60 -60
- package/docs/index.md +35 -35
- package/docs/install/ansible.md +35 -35
- package/docs/install/development-channels.md +10 -10
- package/docs/install/docker.md +44 -44
- package/docs/install/index.md +34 -33
- package/docs/install/installer.md +24 -24
- package/docs/install/migrating.md +190 -0
- package/docs/install/nix.md +18 -18
- package/docs/install/node.md +7 -6
- package/docs/install/uninstall.md +30 -30
- package/docs/install/updating.md +50 -49
- package/docs/logging.md +82 -58
- package/docs/multi-agent-sandbox-tools.md +7 -7
- package/docs/network.md +1 -1
- package/docs/nodes/audio.md +2 -2
- package/docs/nodes/camera.md +18 -18
- package/docs/nodes/images.md +4 -4
- package/docs/nodes/index.md +57 -57
- package/docs/nodes/location-command.md +2 -2
- package/docs/nodes/media-understanding.md +5 -5
- package/docs/nodes/talk.md +1 -1
- package/docs/nodes/voicewake.md +2 -2
- package/docs/northflank.mdx +53 -0
- package/docs/perplexity.md +2 -2
- package/docs/platforms/android.md +13 -13
- package/docs/platforms/digitalocean.md +243 -0
- package/docs/platforms/exe-dev.md +25 -25
- package/docs/platforms/fly.md +149 -24
- package/docs/platforms/gcp.md +498 -0
- package/docs/platforms/hetzner.md +42 -42
- package/docs/platforms/index.md +9 -9
- package/docs/platforms/ios.md +13 -13
- package/docs/platforms/linux.md +11 -11
- package/docs/platforms/mac/bundled-gateway.md +16 -16
- package/docs/platforms/mac/canvas.md +14 -14
- package/docs/platforms/mac/child-process.md +9 -9
- package/docs/platforms/mac/dev-setup.md +11 -11
- package/docs/platforms/mac/health.md +2 -2
- package/docs/platforms/mac/icon.md +1 -1
- package/docs/platforms/mac/logging.md +7 -7
- package/docs/platforms/mac/menu-bar.md +1 -1
- package/docs/platforms/mac/peekaboo.md +9 -9
- package/docs/platforms/mac/permissions.md +3 -3
- package/docs/platforms/mac/release.md +20 -20
- package/docs/platforms/mac/remote.md +14 -14
- package/docs/platforms/mac/signing.md +7 -7
- package/docs/platforms/mac/skills.md +4 -4
- package/docs/platforms/mac/voice-overlay.md +2 -2
- package/docs/platforms/mac/webchat.md +2 -2
- package/docs/platforms/mac/xpc.md +4 -4
- package/docs/platforms/macos-vm.md +27 -27
- package/docs/platforms/macos.md +20 -20
- package/docs/platforms/oracle.md +291 -0
- package/docs/platforms/raspberry-pi.md +354 -0
- package/docs/platforms/windows.md +11 -11
- package/docs/plugin.md +80 -64
- package/docs/plugins/agent-tools.md +1 -1
- package/docs/plugins/manifest.md +4 -4
- package/docs/plugins/voice-call.md +96 -12
- package/docs/plugins/zalouser.md +9 -9
- package/docs/prose.md +9 -9
- package/docs/providers/anthropic.md +23 -27
- package/docs/providers/claude-max-api-proxy.md +145 -0
- 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 +7 -3
- 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 +9 -13
- 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 +5 -4
- package/docs/providers/zai.md +5 -5
- package/docs/railway.mdx +9 -7
- package/docs/refactor/exec-host.md +5 -5
- package/docs/refactor/plugin-sdk.md +12 -12
- package/docs/refactor/strict-config.md +11 -11
- package/docs/reference/AGENTS.default.md +10 -10
- package/docs/reference/RELEASING.md +29 -29
- package/docs/reference/api-usage-costs.md +6 -6
- package/docs/reference/device-models.md +7 -7
- package/docs/reference/rpc.md +3 -3
- package/docs/reference/session-management-compaction.md +19 -19
- package/docs/reference/templates/AGENTS.dev.md +1 -1
- package/docs/reference/templates/BOOT.md +1 -1
- package/docs/reference/templates/IDENTITY.md +27 -0
- package/docs/reference/templates/TOOLS.dev.md +1 -1
- package/docs/reference/templates/USER.dev.md +2 -2
- package/docs/reference/templates/USER.md +22 -0
- package/docs/reference/test.md +2 -2
- package/docs/reference/transcript-hygiene.md +1 -1
- package/docs/render.mdx +158 -0
- package/docs/scripts.md +1 -1
- package/docs/security/formal-verification.md +107 -0
- package/docs/start/clawd.md +29 -29
- package/docs/start/getting-started.md +31 -25
- package/docs/start/hubs.md +2 -2
- package/docs/start/lore.md +74 -38
- package/docs/start/onboarding.md +7 -7
- package/docs/start/pairing.md +10 -10
- package/docs/start/setup.md +30 -17
- package/docs/start/showcase.md +32 -32
- package/docs/start/wizard.md +29 -26
- package/docs/testing.md +56 -56
- package/docs/token-use.md +7 -7
- package/docs/tools/agent-send.md +10 -10
- package/docs/tools/browser-linux-troubleshooting.md +10 -10
- package/docs/tools/browser-login.md +4 -4
- package/docs/tools/browser.md +136 -242
- package/docs/tools/chrome-extension.md +31 -48
- package/docs/tools/clawdhub.md +7 -7
- package/docs/tools/creating-skills.md +41 -0
- package/docs/tools/elevated.md +1 -0
- package/docs/tools/exec-approvals.md +8 -5
- package/docs/tools/exec.md +15 -4
- package/docs/tools/firecrawl.md +2 -2
- package/docs/tools/index.md +18 -15
- package/docs/tools/llm-task.md +1 -1
- package/docs/tools/lobster.md +23 -11
- package/docs/tools/skills-config.md +2 -2
- package/docs/tools/skills.md +39 -31
- package/docs/tools/slash-commands.md +10 -8
- package/docs/tools/web.md +8 -8
- package/docs/tts.md +11 -11
- package/docs/tui.md +7 -7
- package/docs/vps.md +6 -1
- package/docs/web/control-ui.md +15 -14
- package/docs/web/dashboard.md +10 -6
- package/docs/web/index.md +7 -6
- package/docs/web/webchat.md +1 -1
- package/extensions/bluebubbles/index.ts +3 -3
- package/extensions/bluebubbles/package.json +5 -5
- package/extensions/bluebubbles/src/accounts.ts +9 -9
- package/extensions/bluebubbles/src/actions.test.ts +22 -22
- package/extensions/bluebubbles/src/actions.ts +6 -6
- package/extensions/bluebubbles/src/attachments.ts +2 -2
- package/extensions/bluebubbles/src/channel.ts +71 -17
- package/extensions/bluebubbles/src/chat.ts +2 -2
- package/extensions/bluebubbles/src/config-schema.ts +1 -1
- package/extensions/bluebubbles/src/media-send.ts +2 -2
- package/extensions/bluebubbles/src/monitor.test.ts +56 -50
- package/extensions/bluebubbles/src/monitor.ts +181 -6
- package/extensions/bluebubbles/src/onboarding.ts +9 -9
- package/extensions/bluebubbles/src/reactions.ts +2 -2
- package/extensions/bluebubbles/src/runtime.ts +1 -1
- package/extensions/bluebubbles/src/send.test.ts +94 -2
- package/extensions/bluebubbles/src/send.ts +73 -7
- package/extensions/copilot-proxy/README.md +3 -3
- package/extensions/copilot-proxy/index.ts +1 -1
- package/extensions/copilot-proxy/package.json +4 -4
- package/extensions/diagnostics-otel/index.ts +3 -3
- package/extensions/diagnostics-otel/package.json +4 -4
- package/extensions/diagnostics-otel/src/service.test.ts +15 -15
- package/extensions/diagnostics-otel/src/service.ts +85 -85
- package/extensions/discord/index.ts +3 -3
- package/extensions/discord/package.json +4 -4
- package/extensions/discord/src/channel.ts +1 -1
- package/extensions/discord/src/runtime.ts +1 -1
- package/extensions/google-antigravity-auth/README.md +3 -3
- package/extensions/google-antigravity-auth/index.ts +9 -2
- package/extensions/google-antigravity-auth/package.json +4 -4
- package/extensions/google-gemini-cli-auth/README.md +17 -6
- package/extensions/google-gemini-cli-auth/index.ts +3 -3
- package/extensions/google-gemini-cli-auth/oauth.test.ts +228 -0
- package/extensions/google-gemini-cli-auth/oauth.ts +96 -12
- package/extensions/google-gemini-cli-auth/package.json +4 -4
- package/extensions/googlechat/index.ts +4 -4
- package/extensions/googlechat/package.json +7 -7
- package/extensions/googlechat/src/accounts.ts +9 -9
- package/extensions/googlechat/src/actions.ts +8 -8
- package/extensions/googlechat/src/api.ts +1 -1
- package/extensions/googlechat/src/channel.ts +23 -23
- package/extensions/googlechat/src/monitor.ts +9 -9
- package/extensions/googlechat/src/onboarding.ts +11 -11
- package/extensions/googlechat/src/runtime.ts +1 -1
- package/extensions/googlechat/src/types.config.ts +1 -1
- package/extensions/imessage/index.ts +3 -3
- package/extensions/imessage/package.json +4 -4
- package/extensions/imessage/src/channel.ts +5 -8
- package/extensions/imessage/src/runtime.ts +1 -1
- package/extensions/line/clawdbot.plugin.json +11 -0
- package/extensions/line/index.ts +20 -0
- package/extensions/line/package.json +29 -0
- package/extensions/line/src/card-command.ts +338 -0
- package/extensions/line/src/channel.logout.test.ts +96 -0
- package/extensions/line/src/channel.sendPayload.test.ts +308 -0
- package/extensions/line/src/channel.ts +773 -0
- package/extensions/line/src/runtime.ts +14 -0
- package/extensions/llm-task/README.md +4 -4
- package/extensions/llm-task/index.ts +2 -2
- package/extensions/llm-task/package.json +4 -4
- package/extensions/llm-task/src/llm-task-tool.ts +5 -5
- package/extensions/lobster/README.md +6 -6
- package/extensions/lobster/index.ts +2 -2
- package/extensions/lobster/package.json +3 -3
- package/extensions/lobster/src/lobster-tool.test.ts +26 -6
- package/extensions/lobster/src/lobster-tool.ts +24 -6
- package/extensions/matrix/CHANGELOG.md +9 -9
- package/extensions/matrix/index.ts +3 -3
- package/extensions/matrix/node_modules/.bin/markdown-it +2 -2
- package/extensions/matrix/node_modules/.bin/markdown-it.CMD +2 -2
- package/extensions/matrix/node_modules/.bin/markdown-it.ps1 +2 -2
- package/extensions/matrix/package.json +7 -7
- package/extensions/matrix/src/actions.ts +1 -1
- package/extensions/matrix/src/channel.directory.test.ts +1 -1
- package/extensions/matrix/src/channel.ts +1 -1
- package/extensions/matrix/src/config-schema.ts +1 -1
- package/extensions/matrix/src/directory-live.ts +1 -1
- package/extensions/matrix/src/group-mentions.ts +1 -1
- package/extensions/matrix/src/matrix/accounts.ts +1 -1
- package/extensions/matrix/src/matrix/actions/client.ts +1 -1
- package/extensions/matrix/src/matrix/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 +5 -5
- package/extensions/matrix/src/matrix/monitor/allowlist.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/auto-join.ts +4 -4
- package/extensions/matrix/src/matrix/monitor/direct.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/events.ts +2 -2
- package/extensions/matrix/src/matrix/monitor/handler.ts +15 -11
- package/extensions/matrix/src/matrix/monitor/index.ts +2 -2
- package/extensions/matrix/src/matrix/monitor/location.ts +2 -2
- package/extensions/matrix/src/matrix/monitor/media.test.ts +41 -5
- package/extensions/matrix/src/matrix/monitor/media.ts +17 -14
- package/extensions/matrix/src/matrix/monitor/replies.ts +2 -2
- package/extensions/matrix/src/matrix/monitor/room-info.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/rooms.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/threads.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/types.ts +2 -1
- package/extensions/matrix/src/matrix/poll-types.ts +1 -1
- package/extensions/matrix/src/matrix/probe.ts +1 -1
- package/extensions/matrix/src/matrix/send/client.ts +3 -3
- 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 +3 -3
- package/extensions/matrix/src/matrix/send.ts +4 -4
- package/extensions/matrix/src/onboarding.ts +3 -3
- package/extensions/matrix/src/outbound.ts +1 -1
- package/extensions/matrix/src/resolve-targets.ts +1 -1
- package/extensions/matrix/src/runtime.ts +1 -1
- package/extensions/matrix/src/tool-actions.ts +1 -1
- package/extensions/matrix/src/types.ts +1 -1
- package/extensions/mattermost/index.ts +3 -3
- package/extensions/mattermost/package.json +5 -5
- package/extensions/mattermost/src/channel.ts +1 -1
- package/extensions/mattermost/src/config-schema.ts +1 -1
- package/extensions/mattermost/src/group-mentions.ts +2 -2
- package/extensions/mattermost/src/mattermost/accounts.ts +10 -10
- package/extensions/mattermost/src/mattermost/client.ts +1 -1
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +6 -6
- package/extensions/mattermost/src/mattermost/monitor.ts +4 -4
- package/extensions/mattermost/src/mattermost/probe.ts +1 -1
- package/extensions/mattermost/src/onboarding-helpers.ts +5 -5
- package/extensions/mattermost/src/onboarding.ts +5 -5
- package/extensions/mattermost/src/runtime.ts +1 -1
- package/extensions/mattermost/src/types.ts +1 -1
- package/extensions/memory-core/index.ts +3 -3
- package/extensions/memory-core/package.json +9 -6
- package/extensions/memory-lancedb/{pigbot.plugin.json → clawdbot.plugin.json} +1 -1
- package/extensions/memory-lancedb/config.ts +2 -2
- package/extensions/memory-lancedb/index.test.ts +3 -3
- package/extensions/memory-lancedb/index.ts +4 -4
- package/extensions/memory-lancedb/node_modules/.bin/openai +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/openai.CMD +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/openai.ps1 +2 -2
- package/extensions/memory-lancedb/package.json +4 -4
- package/extensions/msteams/CHANGELOG.md +7 -7
- package/extensions/msteams/index.ts +3 -3
- package/extensions/msteams/package.json +6 -6
- package/extensions/msteams/src/attachments.test.ts +1 -1
- package/extensions/msteams/src/channel.directory.test.ts +2 -2
- package/extensions/msteams/src/channel.ts +3 -3
- package/extensions/msteams/src/conversation-store-fs.test.ts +5 -5
- package/extensions/msteams/src/directory-live.ts +1 -1
- package/extensions/msteams/src/graph-upload.ts +4 -4
- package/extensions/msteams/src/media-helpers.ts +1 -1
- package/extensions/msteams/src/messenger.test.ts +1 -1
- package/extensions/msteams/src/messenger.ts +1 -1
- package/extensions/msteams/src/monitor-handler/message-handler.ts +1 -1
- package/extensions/msteams/src/monitor-handler.ts +2 -2
- package/extensions/msteams/src/monitor.ts +3 -3
- package/extensions/msteams/src/onboarding.ts +11 -11
- package/extensions/msteams/src/outbound.ts +1 -1
- package/extensions/msteams/src/policy.test.ts +1 -1
- package/extensions/msteams/src/policy.ts +50 -5
- package/extensions/msteams/src/polls-store.test.ts +1 -1
- package/extensions/msteams/src/polls.test.ts +5 -5
- package/extensions/msteams/src/polls.ts +8 -8
- package/extensions/msteams/src/probe.test.ts +1 -1
- package/extensions/msteams/src/probe.ts +1 -1
- package/extensions/msteams/src/reply-dispatcher.ts +36 -36
- package/extensions/msteams/src/runtime.ts +1 -1
- package/extensions/msteams/src/send-context.ts +2 -2
- package/extensions/msteams/src/send.ts +5 -5
- package/extensions/msteams/src/token.ts +1 -1
- package/extensions/nextcloud-talk/index.ts +3 -3
- package/extensions/nextcloud-talk/package.json +5 -5
- package/extensions/nextcloud-talk/src/accounts.ts +2 -2
- package/extensions/nextcloud-talk/src/channel.ts +8 -8
- package/extensions/nextcloud-talk/src/config-schema.ts +1 -1
- package/extensions/nextcloud-talk/src/inbound.ts +8 -8
- package/extensions/nextcloud-talk/src/monitor.ts +1 -1
- package/extensions/nextcloud-talk/src/onboarding.ts +2 -2
- package/extensions/nextcloud-talk/src/policy.ts +2 -2
- package/extensions/nextcloud-talk/src/room-info.ts +1 -1
- package/extensions/nextcloud-talk/src/runtime.ts +1 -1
- package/extensions/nextcloud-talk/src/types.ts +1 -1
- package/extensions/nostr/CHANGELOG.md +4 -4
- package/extensions/nostr/README.md +5 -5
- package/extensions/nostr/index.ts +6 -6
- package/extensions/nostr/package.json +6 -6
- package/extensions/nostr/src/channel.ts +2 -2
- package/extensions/nostr/src/config-schema.ts +1 -1
- package/extensions/nostr/src/nostr-state-store.test.ts +8 -8
- package/extensions/nostr/src/runtime.ts +1 -1
- package/extensions/nostr/src/types.ts +4 -4
- package/extensions/open-prose/index.ts +2 -2
- package/extensions/open-prose/package.json +3 -3
- package/extensions/open-prose/skills/prose/SKILL.md +5 -5
- package/extensions/open-prose/skills/prose/examples/28-automated-pr-review.prose +2 -2
- package/extensions/open-prose/skills/prose/prose.md +4 -4
- package/extensions/qwen-portal-auth/README.md +3 -3
- package/extensions/qwen-portal-auth/index.ts +1 -1
- package/extensions/signal/index.ts +3 -3
- package/extensions/signal/package.json +4 -4
- package/extensions/signal/src/channel.ts +1 -1
- package/extensions/signal/src/runtime.ts +1 -1
- package/extensions/slack/index.ts +3 -3
- package/extensions/slack/package.json +4 -4
- package/extensions/slack/src/channel.ts +1 -1
- package/extensions/slack/src/runtime.ts +1 -1
- package/extensions/telegram/index.ts +3 -3
- package/extensions/telegram/package.json +4 -4
- package/extensions/telegram/src/channel.ts +3 -3
- package/extensions/telegram/src/runtime.ts +1 -1
- package/extensions/tlon/README.md +3 -3
- package/extensions/tlon/index.ts +3 -3
- package/extensions/tlon/package.json +5 -5
- package/extensions/tlon/src/channel.ts +15 -15
- package/extensions/tlon/src/config-schema.ts +1 -1
- package/extensions/tlon/src/monitor/discovery.ts +1 -1
- package/extensions/tlon/src/monitor/history.ts +1 -1
- package/extensions/tlon/src/monitor/index.ts +3 -3
- package/extensions/tlon/src/onboarding.ts +4 -4
- package/extensions/tlon/src/runtime.ts +1 -1
- package/extensions/tlon/src/types.ts +3 -3
- package/extensions/tlon/src/urbit/send.ts +19 -6
- package/extensions/twitch/CHANGELOG.md +21 -0
- package/extensions/twitch/README.md +89 -0
- package/extensions/twitch/clawdbot.plugin.json +9 -0
- package/extensions/twitch/index.ts +20 -0
- package/extensions/twitch/package.json +20 -0
- package/extensions/twitch/src/access-control.test.ts +489 -0
- package/extensions/twitch/src/access-control.ts +154 -0
- package/extensions/twitch/src/actions.ts +173 -0
- package/extensions/twitch/src/client-manager-registry.ts +115 -0
- package/extensions/twitch/src/config-schema.ts +82 -0
- package/extensions/twitch/src/config.test.ts +88 -0
- package/extensions/twitch/src/config.ts +116 -0
- package/extensions/twitch/src/monitor.ts +257 -0
- package/extensions/twitch/src/onboarding.test.ts +311 -0
- package/extensions/twitch/src/onboarding.ts +411 -0
- package/extensions/twitch/src/outbound.test.ts +373 -0
- package/extensions/twitch/src/outbound.ts +186 -0
- package/extensions/twitch/src/plugin.test.ts +39 -0
- package/extensions/twitch/src/plugin.ts +274 -0
- package/extensions/twitch/src/probe.test.ts +198 -0
- package/extensions/twitch/src/probe.ts +118 -0
- package/extensions/twitch/src/resolver.ts +137 -0
- package/extensions/twitch/src/runtime.ts +14 -0
- package/extensions/twitch/src/send.test.ts +289 -0
- package/extensions/twitch/src/send.ts +136 -0
- package/extensions/twitch/src/status.test.ts +270 -0
- package/extensions/twitch/src/status.ts +176 -0
- package/extensions/twitch/src/token.test.ts +171 -0
- package/extensions/twitch/src/token.ts +87 -0
- package/extensions/twitch/src/twitch-client.test.ts +574 -0
- package/extensions/twitch/src/twitch-client.ts +277 -0
- package/extensions/twitch/src/types.ts +141 -0
- package/extensions/twitch/src/utils/markdown.ts +92 -0
- package/extensions/twitch/src/utils/twitch.ts +78 -0
- package/extensions/twitch/test/setup.ts +7 -0
- package/extensions/voice-call/CHANGELOG.md +19 -11
- package/extensions/voice-call/README.md +38 -16
- package/extensions/voice-call/{pigbot.plugin.json → clawdbot.plugin.json} +210 -14
- package/extensions/voice-call/index.ts +32 -12
- package/extensions/voice-call/package.json +4 -4
- package/extensions/voice-call/src/cli.ts +1 -1
- package/extensions/voice-call/src/config.test.ts +204 -0
- package/extensions/voice-call/src/config.ts +134 -26
- package/extensions/voice-call/src/core-bridge.ts +16 -8
- package/extensions/voice-call/src/manager/context.ts +0 -1
- package/extensions/voice-call/src/manager/events.ts +0 -1
- package/extensions/voice-call/src/manager/lookup.ts +0 -1
- package/extensions/voice-call/src/manager/outbound.ts +4 -3
- package/extensions/voice-call/src/manager/state.ts +0 -1
- package/extensions/voice-call/src/manager/store.ts +0 -1
- package/extensions/voice-call/src/manager/timers.ts +0 -1
- package/extensions/voice-call/src/manager/twiml.ts +0 -1
- package/extensions/voice-call/src/manager.test.ts +2 -2
- package/extensions/voice-call/src/manager.ts +4 -2
- package/extensions/voice-call/src/media-stream.test.ts +97 -0
- package/extensions/voice-call/src/media-stream.ts +114 -0
- package/extensions/voice-call/src/providers/plivo.test.ts +0 -1
- package/extensions/voice-call/src/providers/stt-openai-realtime.ts +8 -0
- package/extensions/voice-call/src/providers/twilio/webhook.ts +2 -2
- package/extensions/voice-call/src/providers/twilio.ts +44 -26
- package/extensions/voice-call/src/response-generator.ts +1 -1
- package/extensions/voice-call/src/runtime.ts +37 -27
- package/extensions/voice-call/src/telephony-audio.ts +88 -0
- package/extensions/voice-call/src/telephony-tts.ts +95 -0
- package/extensions/voice-call/src/types.ts +1 -0
- package/extensions/voice-call/src/webhook-security.test.ts +52 -0
- package/extensions/voice-call/src/webhook-security.ts +16 -5
- package/extensions/voice-call/src/webhook.ts +11 -0
- package/extensions/whatsapp/index.ts +3 -3
- package/extensions/whatsapp/package.json +4 -4
- package/extensions/whatsapp/src/channel.ts +1 -1
- package/extensions/whatsapp/src/runtime.ts +1 -1
- package/extensions/zalo/CHANGELOG.md +9 -9
- package/extensions/zalo/README.md +4 -4
- package/extensions/zalo/index.ts +3 -3
- package/extensions/zalo/package.json +6 -6
- package/extensions/zalo/src/accounts.ts +9 -9
- package/extensions/zalo/src/actions.ts +6 -6
- package/extensions/zalo/src/channel.directory.test.ts +2 -2
- package/extensions/zalo/src/channel.ts +20 -20
- package/extensions/zalo/src/config-schema.ts +1 -1
- package/extensions/zalo/src/monitor.ts +9 -9
- package/extensions/zalo/src/monitor.webhook.test.ts +2 -2
- package/extensions/zalo/src/onboarding.ts +27 -27
- package/extensions/zalo/src/runtime.ts +1 -1
- package/extensions/zalo/src/send.ts +2 -2
- package/extensions/zalo/src/status-issues.ts +1 -1
- package/extensions/zalo/src/token.ts +1 -1
- package/extensions/zalouser/CHANGELOG.md +4 -4
- package/extensions/zalouser/README.md +18 -18
- package/extensions/zalouser/index.ts +3 -3
- package/extensions/zalouser/package.json +6 -6
- package/extensions/zalouser/src/accounts.ts +10 -10
- package/extensions/zalouser/src/channel.test.ts +0 -1
- package/extensions/zalouser/src/channel.ts +27 -27
- package/extensions/zalouser/src/config-schema.ts +1 -1
- package/extensions/zalouser/src/monitor.ts +5 -5
- package/extensions/zalouser/src/onboarding.ts +32 -32
- package/extensions/zalouser/src/runtime.ts +1 -1
- package/extensions/zalouser/src/status-issues.ts +2 -2
- package/package.json +39 -23
- package/scripts/postinstall.js +1 -1
- 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 +2 -2
- 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 +6 -5
- package/skills/eightctl/SKILL.md +1 -1
- package/skills/food-order/SKILL.md +1 -1
- package/skills/gemini/SKILL.md +1 -1
- package/skills/gifgrep/SKILL.md +1 -1
- package/skills/github/SKILL.md +1 -0
- 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 +2 -2
- package/skills/mcporter/SKILL.md +1 -1
- package/skills/model-usage/SKILL.md +1 -1
- package/skills/nano-banana-pro/SKILL.md +10 -5
- package/skills/nano-banana-pro/scripts/generate_image.py +42 -27
- 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 +7 -7
- package/skills/sherpa-onnx-tts/SKILL.md +6 -6
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
- package/skills/slack/SKILL.md +4 -3
- 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 +8 -8
- package/skills/tmux/scripts/find-sessions.sh +2 -2
- package/skills/trello/SKILL.md +2 -2
- package/skills/video-frames/SKILL.md +1 -1
- package/skills/voice-call/SKILL.md +4 -4
- package/skills/wacli/SKILL.md +2 -2
- package/skills/weather/SKILL.md +1 -1
- package/dist/cli/browser-cli-serve.js +0 -91
- package/dist/control-ui/assets/index--6ilUi7V.css +0 -1
- package/dist/control-ui/assets/index-DrGg77je.js +0 -3111
- package/dist/control-ui/assets/index-DrGg77je.js.map +0 -1
- package/extensions/diagnostics-otel/node_modules/.bin/acorn +0 -21
- package/extensions/diagnostics-otel/node_modules/.bin/acorn.CMD +0 -12
- package/extensions/diagnostics-otel/node_modules/.bin/acorn.ps1 +0 -41
- package/extensions/googlechat/node_modules/.bin/pigbot +0 -21
- package/extensions/googlechat/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/googlechat/node_modules/.bin/pigbot.ps1 +0 -41
- package/extensions/matrix/node_modules/.bin/pigbot +0 -21
- package/extensions/matrix/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/matrix/node_modules/.bin/pigbot.ps1 +0 -41
- package/extensions/memory-core/node_modules/.bin/pigbot +0 -21
- package/extensions/memory-core/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/memory-core/node_modules/.bin/pigbot.ps1 +0 -41
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +0 -21
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv.CMD +0 -12
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv.ps1 +0 -41
- package/extensions/msteams/node_modules/.bin/pigbot +0 -21
- package/extensions/msteams/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/msteams/node_modules/.bin/pigbot.ps1 +0 -41
- package/extensions/nostr/node_modules/.bin/pigbot +0 -21
- package/extensions/nostr/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/nostr/node_modules/.bin/pigbot.ps1 +0 -41
- package/extensions/nostr/node_modules/.bin/tsc +0 -21
- package/extensions/nostr/node_modules/.bin/tsc.CMD +0 -12
- package/extensions/nostr/node_modules/.bin/tsc.ps1 +0 -41
- package/extensions/nostr/node_modules/.bin/tsserver +0 -21
- package/extensions/nostr/node_modules/.bin/tsserver.CMD +0 -12
- package/extensions/nostr/node_modules/.bin/tsserver.ps1 +0 -41
- package/extensions/zalo/node_modules/.bin/pigbot +0 -21
- package/extensions/zalo/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/zalo/node_modules/.bin/pigbot.ps1 +0 -41
- package/extensions/zalouser/node_modules/.bin/pigbot +0 -21
- package/extensions/zalouser/node_modules/.bin/pigbot.CMD +0 -12
- package/extensions/zalouser/node_modules/.bin/pigbot.ps1 +0 -41
- /package/dist/{config/types.pigbot.js → browser/routes/types.js} +0 -0
- /package/extensions/bluebubbles/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/copilot-proxy/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/diagnostics-otel/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/discord/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/google-antigravity-auth/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/google-gemini-cli-auth/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/googlechat/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/imessage/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/llm-task/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/lobster/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/matrix/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/mattermost/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/memory-core/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/msteams/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/nextcloud-talk/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/nostr/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/open-prose/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/qwen-portal-auth/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/signal/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/slack/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/telegram/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/tlon/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/whatsapp/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/zalo/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
- /package/extensions/zalouser/{pigbot.plugin.json → clawdbot.plugin.json} +0 -0
package/docs/help/faq.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "Frequently asked questions about
|
|
2
|
+
summary: "Frequently asked questions about Moltbot setup, configuration, and usage"
|
|
3
3
|
---
|
|
4
4
|
# FAQ
|
|
5
5
|
|
|
@@ -9,7 +9,7 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
9
9
|
|
|
10
10
|
- [Quick start and first-run setup](#quick-start-and-firstrun-setup)
|
|
11
11
|
- [Im stuck whats the fastest way to get unstuck?](#im-stuck-whats-the-fastest-way-to-get-unstuck)
|
|
12
|
-
- [What’s the recommended way to install and set up
|
|
12
|
+
- [What’s the recommended way to install and set up Moltbot?](#whats-the-recommended-way-to-install-and-set-up-moltbot)
|
|
13
13
|
- [How do I open the dashboard after onboarding?](#how-do-i-open-the-dashboard-after-onboarding)
|
|
14
14
|
- [How do I authenticate the dashboard (token) on localhost vs remote?](#how-do-i-authenticate-the-dashboard-token-on-localhost-vs-remote)
|
|
15
15
|
- [What runtime do I need?](#what-runtime-do-i-need)
|
|
@@ -18,16 +18,16 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
18
18
|
- [It is stuck on "wake up my friend" / onboarding will not hatch. What now?](#it-is-stuck-on-wake-up-my-friend-onboarding-will-not-hatch-what-now)
|
|
19
19
|
- [Can I migrate my setup to a new machine (Mac mini) without redoing onboarding?](#can-i-migrate-my-setup-to-a-new-machine-mac-mini-without-redoing-onboarding)
|
|
20
20
|
- [Where do I see what’s new in the latest version?](#where-do-i-see-whats-new-in-the-latest-version)
|
|
21
|
-
- [I can't access docs.
|
|
21
|
+
- [I can't access docs.molt.bot (SSL error). What now?](#i-cant-access-docsmoltbot-ssl-error-what-now)
|
|
22
22
|
- [What’s the difference between stable and beta?](#whats-the-difference-between-stable-and-beta)
|
|
23
23
|
- [How do I install the beta version, and what’s the difference between beta and dev?](#how-do-i-install-the-beta-version-and-whats-the-difference-between-beta-and-dev)
|
|
24
24
|
- [How do I try the latest bits?](#how-do-i-try-the-latest-bits)
|
|
25
25
|
- [How long does install and onboarding usually take?](#how-long-does-install-and-onboarding-usually-take)
|
|
26
26
|
- [Installer stuck? How do I get more feedback?](#installer-stuck-how-do-i-get-more-feedback)
|
|
27
|
-
- [Windows install says git not found or
|
|
27
|
+
- [Windows install says git not found or moltbot not recognized](#windows-install-says-git-not-found-or-moltbot-not-recognized)
|
|
28
28
|
- [The docs didn’t answer my question - how do I get a better answer?](#the-docs-didnt-answer-my-question-how-do-i-get-a-better-answer)
|
|
29
|
-
- [How do I install
|
|
30
|
-
- [How do I install
|
|
29
|
+
- [How do I install Moltbot on Linux?](#how-do-i-install-moltbot-on-linux)
|
|
30
|
+
- [How do I install Moltbot on a VPS?](#how-do-i-install-moltbot-on-a-vps)
|
|
31
31
|
- [Where are the cloud/VPS install guides?](#where-are-the-cloudvps-install-guides)
|
|
32
32
|
- [Can I ask Clawd to update itself?](#can-i-ask-clawd-to-update-itself)
|
|
33
33
|
- [What does the onboarding wizard actually do?](#what-does-the-onboarding-wizard-actually-do)
|
|
@@ -45,24 +45,24 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
45
45
|
- [How do I keep hosted model traffic in a specific region?](#how-do-i-keep-hosted-model-traffic-in-a-specific-region)
|
|
46
46
|
- [Do I have to buy a Mac Mini to install this?](#do-i-have-to-buy-a-mac-mini-to-install-this)
|
|
47
47
|
- [Do I need a Mac mini for iMessage support?](#do-i-need-a-mac-mini-for-imessage-support)
|
|
48
|
-
- [If I buy a Mac mini to run
|
|
48
|
+
- [If I buy a Mac mini to run Moltbot, can I connect it to my MacBook Pro?](#if-i-buy-a-mac-mini-to-run-moltbot-can-i-connect-it-to-my-macbook-pro)
|
|
49
49
|
- [Can I use Bun?](#can-i-use-bun)
|
|
50
50
|
- [Telegram: what goes in `allowFrom`?](#telegram-what-goes-in-allowfrom)
|
|
51
|
-
- [Can multiple people use one WhatsApp number with different
|
|
51
|
+
- [Can multiple people use one WhatsApp number with different Moltbots?](#can-multiple-people-use-one-whatsapp-number-with-different-moltbots)
|
|
52
52
|
- [Can I run a "fast chat" agent and an "Opus for coding" agent?](#can-i-run-a-fast-chat-agent-and-an-opus-for-coding-agent)
|
|
53
53
|
- [Does Homebrew work on Linux?](#does-homebrew-work-on-linux)
|
|
54
54
|
- [What’s the difference between the hackable (git) install and npm install?](#whats-the-difference-between-the-hackable-git-install-and-npm-install)
|
|
55
55
|
- [Can I switch between npm and git installs later?](#can-i-switch-between-npm-and-git-installs-later)
|
|
56
56
|
- [Should I run the Gateway on my laptop or a VPS?](#should-i-run-the-gateway-on-my-laptop-or-a-vps)
|
|
57
|
-
- [How important is it to run
|
|
57
|
+
- [How important is it to run Moltbot on a dedicated machine?](#how-important-is-it-to-run-moltbot-on-a-dedicated-machine)
|
|
58
58
|
- [What are the minimum VPS requirements and recommended OS?](#what-are-the-minimum-vps-requirements-and-recommended-os)
|
|
59
|
-
- [Can I run
|
|
60
|
-
- [What is
|
|
61
|
-
- [What is
|
|
59
|
+
- [Can I run Moltbot in a VM and what are the requirements](#can-i-run-moltbot-in-a-vm-and-what-are-the-requirements)
|
|
60
|
+
- [What is Moltbot?](#what-is-moltbot)
|
|
61
|
+
- [What is Moltbot, in one paragraph?](#what-is-moltbot-in-one-paragraph)
|
|
62
62
|
- [What’s the value proposition?](#whats-the-value-proposition)
|
|
63
63
|
- [I just set it up what should I do first](#i-just-set-it-up-what-should-i-do-first)
|
|
64
|
-
- [What are the top five everyday use cases for
|
|
65
|
-
- [Can
|
|
64
|
+
- [What are the top five everyday use cases for Moltbot](#what-are-the-top-five-everyday-use-cases-for-moltbot)
|
|
65
|
+
- [Can Moltbot help with lead gen outreach ads and blogs for a SaaS](#can-moltbot-help-with-lead-gen-outreach-ads-and-blogs-for-a-saas)
|
|
66
66
|
- [What are the advantages vs Claude Code for web development?](#what-are-the-advantages-vs-claude-code-for-web-development)
|
|
67
67
|
- [Skills and automation](#skills-and-automation)
|
|
68
68
|
- [How do I customize skills without keeping the repo dirty?](#how-do-i-customize-skills-without-keeping-the-repo-dirty)
|
|
@@ -71,7 +71,7 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
71
71
|
- [The bot freezes while doing heavy work. How do I offload that?](#the-bot-freezes-while-doing-heavy-work-how-do-i-offload-that)
|
|
72
72
|
- [Cron or reminders do not fire. What should I check?](#cron-or-reminders-do-not-fire-what-should-i-check)
|
|
73
73
|
- [How do I install skills on Linux?](#how-do-i-install-skills-on-linux)
|
|
74
|
-
- [Can
|
|
74
|
+
- [Can Moltbot run tasks on a schedule or continuously in the background?](#can-moltbot-run-tasks-on-a-schedule-or-continuously-in-the-background)
|
|
75
75
|
- [Can I run Apple/macOS-only skills from Linux?](#can-i-run-applemacosonly-skills-from-linux)
|
|
76
76
|
- [Do you have a Notion or HeyGen integration?](#do-you-have-a-notion-or-heygen-integration)
|
|
77
77
|
- [How do I install the Chrome extension for browser takeover?](#how-do-i-install-the-chrome-extension-for-browser-takeover)
|
|
@@ -83,11 +83,11 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
83
83
|
- [Does memory persist forever? What are the limits?](#does-memory-persist-forever-what-are-the-limits)
|
|
84
84
|
- [Does semantic memory search require an OpenAI API key?](#does-semantic-memory-search-require-an-openai-api-key)
|
|
85
85
|
- [Where things live on disk](#where-things-live-on-disk)
|
|
86
|
-
- [Is all data used with
|
|
87
|
-
- [Where does
|
|
86
|
+
- [Is all data used with Moltbot saved locally?](#is-all-data-used-with-moltbot-saved-locally)
|
|
87
|
+
- [Where does Moltbot store its data?](#where-does-moltbot-store-its-data)
|
|
88
88
|
- [Where should AGENTS.md / SOUL.md / USER.md / MEMORY.md live?](#where-should-agentsmd-soulmd-usermd-memorymd-live)
|
|
89
89
|
- [What’s the recommended backup strategy?](#whats-the-recommended-backup-strategy)
|
|
90
|
-
- [How do I completely uninstall
|
|
90
|
+
- [How do I completely uninstall Moltbot?](#how-do-i-completely-uninstall-moltbot)
|
|
91
91
|
- [Can agents work outside the workspace?](#can-agents-work-outside-the-workspace)
|
|
92
92
|
- [I’m in remote mode - where is the session store?](#im-in-remote-mode-where-is-the-session-store)
|
|
93
93
|
- [Config basics](#config-basics)
|
|
@@ -98,13 +98,14 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
98
98
|
- [How do I enable web search (and web fetch)?](#how-do-i-enable-web-search-and-web-fetch)
|
|
99
99
|
- [config.apply wiped my config. How do I recover and avoid this?](#configapply-wiped-my-config-how-do-i-recover-and-avoid-this)
|
|
100
100
|
- [How do I run a central Gateway with specialized workers across devices?](#how-do-i-run-a-central-gateway-with-specialized-workers-across-devices)
|
|
101
|
-
- [Can the
|
|
101
|
+
- [Can the Moltbot browser run headless?](#can-the-moltbot-browser-run-headless)
|
|
102
102
|
- [How do I use Brave for browser control?](#how-do-i-use-brave-for-browser-control)
|
|
103
103
|
- [Remote gateways + nodes](#remote-gateways-nodes)
|
|
104
104
|
- [How do commands propagate between Telegram, the gateway, and nodes?](#how-do-commands-propagate-between-telegram-the-gateway-and-nodes)
|
|
105
105
|
- [How can my agent access my computer if the Gateway is hosted remotely?](#how-can-my-agent-access-my-computer-if-the-gateway-is-hosted-remotely)
|
|
106
106
|
- [Tailscale is connected but I get no replies. What now?](#tailscale-is-connected-but-i-get-no-replies-what-now)
|
|
107
|
-
- [Can two
|
|
107
|
+
- [Can two Moltbots talk to each other (local + VPS)?](#can-two-moltbots-talk-to-each-other-local-vps)
|
|
108
|
+
- [Do I need separate VPSes for multiple agents](#do-i-need-separate-vpses-for-multiple-agents)
|
|
108
109
|
- [Is there a benefit to using a node on my personal laptop instead of SSH from a VPS?](#is-there-a-benefit-to-using-a-node-on-my-personal-laptop-instead-of-ssh-from-a-vps)
|
|
109
110
|
- [Do nodes run a gateway service?](#do-nodes-run-a-gateway-service)
|
|
110
111
|
- [Is there an API / RPC way to apply config?](#is-there-an-api-rpc-way-to-apply-config)
|
|
@@ -113,21 +114,21 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
113
114
|
- [How do I connect a Mac node to a remote Gateway (Tailscale Serve)?](#how-do-i-connect-a-mac-node-to-a-remote-gateway-tailscale-serve)
|
|
114
115
|
- [Should I install on a second laptop or just add a node?](#should-i-install-on-a-second-laptop-or-just-add-a-node)
|
|
115
116
|
- [Env vars and .env loading](#env-vars-and-env-loading)
|
|
116
|
-
- [How does
|
|
117
|
+
- [How does Moltbot load environment variables?](#how-does-moltbot-load-environment-variables)
|
|
117
118
|
- [“I started the Gateway via the service and my env vars disappeared.” What now?](#i-started-the-gateway-via-the-service-and-my-env-vars-disappeared-what-now)
|
|
118
119
|
- [I set `COPILOT_GITHUB_TOKEN`, but models status shows “Shell env: off.” Why?](#i-set-copilotgithubtoken-but-models-status-shows-shell-env-off-why)
|
|
119
120
|
- [Sessions & multiple chats](#sessions-multiple-chats)
|
|
120
121
|
- [How do I start a fresh conversation?](#how-do-i-start-a-fresh-conversation)
|
|
121
122
|
- [Do sessions reset automatically if I never send `/new`?](#do-sessions-reset-automatically-if-i-never-send-new)
|
|
122
|
-
- [Is there a way to make a team of
|
|
123
|
+
- [Is there a way to make a team of Moltbots one CEO and many agents](#is-there-a-way-to-make-a-team-of-moltbots-one-ceo-and-many-agents)
|
|
123
124
|
- [Why did context get truncated mid-task? How do I prevent it?](#why-did-context-get-truncated-midtask-how-do-i-prevent-it)
|
|
124
|
-
- [How do I completely reset
|
|
125
|
+
- [How do I completely reset Moltbot but keep it installed?](#how-do-i-completely-reset-moltbot-but-keep-it-installed)
|
|
125
126
|
- [I’m getting “context too large” errors - how do I reset or compact?](#im-getting-context-too-large-errors-how-do-i-reset-or-compact)
|
|
126
127
|
- [Why am I seeing “LLM request rejected: messages.N.content.X.tool_use.input: Field required”?](#why-am-i-seeing-llm-request-rejected-messagesncontentxtooluseinput-field-required)
|
|
127
128
|
- [Why am I getting heartbeat messages every 30 minutes?](#why-am-i-getting-heartbeat-messages-every-30-minutes)
|
|
128
129
|
- [Do I need to add a “bot account” to a WhatsApp group?](#do-i-need-to-add-a-bot-account-to-a-whatsapp-group)
|
|
129
130
|
- [How do I get the JID of a WhatsApp group?](#how-do-i-get-the-jid-of-a-whatsapp-group)
|
|
130
|
-
- [Why doesn’t
|
|
131
|
+
- [Why doesn’t Moltbot reply in a group?](#why-doesnt-moltbot-reply-in-a-group)
|
|
131
132
|
- [Do groups/threads share context with DMs?](#do-groupsthreads-share-context-with-dms)
|
|
132
133
|
- [How many workspaces and agents can I create?](#how-many-workspaces-and-agents-can-i-create)
|
|
133
134
|
- [Can I run multiple bots or chats at the same time (Slack), and how should I set that up?](#can-i-run-multiple-bots-or-chats-at-the-same-time-slack-and-how-should-i-set-that-up)
|
|
@@ -138,6 +139,7 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
138
139
|
- [Can I use self-hosted models (llama.cpp, vLLM, Ollama)?](#can-i-use-selfhosted-models-llamacpp-vllm-ollama)
|
|
139
140
|
- [What do Clawd, Flawd, and Krill use for models?](#what-do-clawd-flawd-and-krill-use-for-models)
|
|
140
141
|
- [How do I switch models on the fly (without restarting)?](#how-do-i-switch-models-on-the-fly-without-restarting)
|
|
142
|
+
- [Can I use GPT 5.2 for daily tasks and Codex 5.2 for coding](#can-i-use-gpt-52-for-daily-tasks-and-codex-52-for-coding)
|
|
141
143
|
- [Why do I see “Model … is not allowed” and then no reply?](#why-do-i-see-model-is-not-allowed-and-then-no-reply)
|
|
142
144
|
- [Why do I see “Unknown model: minimax/MiniMax-M2.1”?](#why-do-i-see-unknown-model-minimaxminimaxm21)
|
|
143
145
|
- [Can I use MiniMax as my default and OpenAI for complex tasks?](#can-i-use-minimax-as-my-default-and-openai-for-complex-tasks)
|
|
@@ -156,10 +158,10 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
156
158
|
- [OAuth vs API key: what’s the difference?](#oauth-vs-api-key-whats-the-difference)
|
|
157
159
|
- [Gateway: ports, “already running”, and remote mode](#gateway-ports-already-running-and-remote-mode)
|
|
158
160
|
- [What port does the Gateway use?](#what-port-does-the-gateway-use)
|
|
159
|
-
- [Why does `
|
|
160
|
-
- [Why does `
|
|
161
|
+
- [Why does `moltbot gateway status` say `Runtime: running` but `RPC probe: failed`?](#why-does-moltbot-gateway-status-say-runtime-running-but-rpc-probe-failed)
|
|
162
|
+
- [Why does `moltbot gateway status` show `Config (cli)` and `Config (service)` different?](#why-does-moltbot-gateway-status-show-config-cli-and-config-service-different)
|
|
161
163
|
- [What does “another gateway instance is already listening” mean?](#what-does-another-gateway-instance-is-already-listening-mean)
|
|
162
|
-
- [How do I run
|
|
164
|
+
- [How do I run Moltbot in remote mode (client connects to a Gateway elsewhere)?](#how-do-i-run-moltbot-in-remote-mode-client-connects-to-a-gateway-elsewhere)
|
|
163
165
|
- [The Control UI says “unauthorized” (or keeps reconnecting). What now?](#the-control-ui-says-unauthorized-or-keeps-reconnecting-what-now)
|
|
164
166
|
- [I set `gateway.bind: "tailnet"` but it can’t bind / nothing listens](#i-set-gatewaybind-tailnet-but-it-cant-bind-nothing-listens)
|
|
165
167
|
- [Can I run multiple Gateways on the same host?](#can-i-run-multiple-gateways-on-the-same-host)
|
|
@@ -167,18 +169,18 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
167
169
|
- [Logging and debugging](#logging-and-debugging)
|
|
168
170
|
- [Where are logs?](#where-are-logs)
|
|
169
171
|
- [How do I start/stop/restart the Gateway service?](#how-do-i-startstoprestart-the-gateway-service)
|
|
170
|
-
- [I closed my terminal on Windows - how do I restart
|
|
172
|
+
- [I closed my terminal on Windows - how do I restart Moltbot?](#i-closed-my-terminal-on-windows-how-do-i-restart-moltbot)
|
|
171
173
|
- [The Gateway is up but replies never arrive. What should I check?](#the-gateway-is-up-but-replies-never-arrive-what-should-i-check)
|
|
172
174
|
- ["Disconnected from gateway: no reason" - what now?](#disconnected-from-gateway-no-reason-what-now)
|
|
173
175
|
- [Telegram setMyCommands fails with network errors. What should I check?](#telegram-setmycommands-fails-with-network-errors-what-should-i-check)
|
|
174
176
|
- [TUI shows no output. What should I check?](#tui-shows-no-output-what-should-i-check)
|
|
175
177
|
- [How do I completely stop then start the Gateway?](#how-do-i-completely-stop-then-start-the-gateway)
|
|
176
|
-
- [ELI5: `
|
|
178
|
+
- [ELI5: `moltbot gateway restart` vs `moltbot gateway`](#eli5-moltbot-gateway-restart-vs-moltbot-gateway)
|
|
177
179
|
- [What’s the fastest way to get more details when something fails?](#whats-the-fastest-way-to-get-more-details-when-something-fails)
|
|
178
180
|
- [Media & attachments](#media-attachments)
|
|
179
181
|
- [My skill generated an image/PDF, but nothing was sent](#my-skill-generated-an-imagepdf-but-nothing-was-sent)
|
|
180
182
|
- [Security and access control](#security-and-access-control)
|
|
181
|
-
- [Is it safe to expose
|
|
183
|
+
- [Is it safe to expose Moltbot to inbound DMs?](#is-it-safe-to-expose-moltbot-to-inbound-dms)
|
|
182
184
|
- [Is prompt injection only a concern for public bots?](#is-prompt-injection-only-a-concern-for-public-bots)
|
|
183
185
|
- [Should my bot have its own email GitHub account or phone number](#should-my-bot-have-its-own-email-github-account-or-phone-number)
|
|
184
186
|
- [Can I give it autonomy over my text messages and is that safe](#can-i-give-it-autonomy-over-my-text-messages-and-is-that-safe)
|
|
@@ -195,48 +197,48 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
195
197
|
|
|
196
198
|
1) **Quick status (first check)**
|
|
197
199
|
```bash
|
|
198
|
-
|
|
200
|
+
moltbot status
|
|
199
201
|
```
|
|
200
202
|
Fast local summary: OS + update, gateway/service reachability, agents/sessions, provider config + runtime issues (when gateway is reachable).
|
|
201
203
|
|
|
202
204
|
2) **Pasteable report (safe to share)**
|
|
203
205
|
```bash
|
|
204
|
-
|
|
206
|
+
moltbot status --all
|
|
205
207
|
```
|
|
206
208
|
Read-only diagnosis with log tail (tokens redacted).
|
|
207
209
|
|
|
208
210
|
3) **Daemon + port state**
|
|
209
211
|
```bash
|
|
210
|
-
|
|
212
|
+
moltbot gateway status
|
|
211
213
|
```
|
|
212
214
|
Shows supervisor runtime vs RPC reachability, the probe target URL, and which config the service likely used.
|
|
213
215
|
|
|
214
216
|
4) **Deep probes**
|
|
215
217
|
```bash
|
|
216
|
-
|
|
218
|
+
moltbot status --deep
|
|
217
219
|
```
|
|
218
220
|
Runs gateway health checks + provider probes (requires a reachable gateway). See [Health](/gateway/health).
|
|
219
221
|
|
|
220
222
|
5) **Tail the latest log**
|
|
221
223
|
```bash
|
|
222
|
-
|
|
224
|
+
moltbot logs --follow
|
|
223
225
|
```
|
|
224
226
|
If RPC is down, fall back to:
|
|
225
227
|
```bash
|
|
226
|
-
tail -f "$(ls -t /tmp/
|
|
228
|
+
tail -f "$(ls -t /tmp/moltbot/moltbot-*.log | head -1)"
|
|
227
229
|
```
|
|
228
230
|
File logs are separate from service logs; see [Logging](/logging) and [Troubleshooting](/gateway/troubleshooting).
|
|
229
231
|
|
|
230
232
|
6) **Run the doctor (repairs)**
|
|
231
233
|
```bash
|
|
232
|
-
|
|
234
|
+
moltbot doctor
|
|
233
235
|
```
|
|
234
236
|
Repairs/migrates config/state + runs health checks. See [Doctor](/gateway/doctor).
|
|
235
237
|
|
|
236
238
|
7) **Gateway snapshot**
|
|
237
239
|
```bash
|
|
238
|
-
|
|
239
|
-
|
|
240
|
+
moltbot health --json
|
|
241
|
+
moltbot health --verbose # shows the target URL + config path on errors
|
|
240
242
|
```
|
|
241
243
|
Asks the running gateway for a full snapshot (WS-only). See [Health](/gateway/health).
|
|
242
244
|
|
|
@@ -256,10 +258,10 @@ setup (PATH, services, permissions, auth files). Give them the **full source che
|
|
|
256
258
|
the hackable (git) install:
|
|
257
259
|
|
|
258
260
|
```bash
|
|
259
|
-
curl -fsSL https://
|
|
261
|
+
curl -fsSL https://molt.bot/install.sh | bash -s -- --install-method git
|
|
260
262
|
```
|
|
261
263
|
|
|
262
|
-
This installs
|
|
264
|
+
This installs Moltbot **from a git checkout**, so the agent can read the code + docs and
|
|
263
265
|
reason about the exact version you are running. You can always switch back to stable later
|
|
264
266
|
by re-running the installer without `--install-method git`.
|
|
265
267
|
|
|
@@ -267,35 +269,35 @@ Tip: ask the agent to **plan and supervise** the fix (step-by-step), then execut
|
|
|
267
269
|
necessary commands. That keeps changes small and easier to audit.
|
|
268
270
|
|
|
269
271
|
If you discover a real bug or fix, please file a GitHub issue or send a PR:
|
|
270
|
-
https://github.com/
|
|
271
|
-
https://github.com/
|
|
272
|
+
https://github.com/moltbot/moltbot/issues
|
|
273
|
+
https://github.com/moltbot/moltbot/pulls
|
|
272
274
|
|
|
273
275
|
Start with these commands (share outputs when asking for help):
|
|
274
276
|
|
|
275
277
|
```bash
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
278
|
+
moltbot status
|
|
279
|
+
moltbot models status
|
|
280
|
+
moltbot doctor
|
|
279
281
|
```
|
|
280
282
|
|
|
281
283
|
What they do:
|
|
282
|
-
- `
|
|
283
|
-
- `
|
|
284
|
-
- `
|
|
284
|
+
- `moltbot status`: quick snapshot of gateway/agent health + basic config.
|
|
285
|
+
- `moltbot models status`: checks provider auth + model availability.
|
|
286
|
+
- `moltbot doctor`: validates and repairs common config/state issues.
|
|
285
287
|
|
|
286
|
-
Other useful CLI checks: `
|
|
287
|
-
`
|
|
288
|
+
Other useful CLI checks: `moltbot status --all`, `moltbot logs --follow`,
|
|
289
|
+
`moltbot gateway status`, `moltbot health --verbose`.
|
|
288
290
|
|
|
289
291
|
Quick debug loop: [First 60 seconds if something's broken](#first-60-seconds-if-somethings-broken).
|
|
290
292
|
Install docs: [Install](/install), [Installer flags](/install/installer), [Updating](/install/updating).
|
|
291
293
|
|
|
292
|
-
### Whats the recommended way to install and set up
|
|
294
|
+
### Whats the recommended way to install and set up Moltbot
|
|
293
295
|
|
|
294
296
|
The repo recommends running from source and using the onboarding wizard:
|
|
295
297
|
|
|
296
298
|
```bash
|
|
297
|
-
curl -fsSL https://
|
|
298
|
-
|
|
299
|
+
curl -fsSL https://molt.bot/install.sh | bash
|
|
300
|
+
moltbot onboard --install-daemon
|
|
299
301
|
```
|
|
300
302
|
|
|
301
303
|
The wizard can also build UI assets automatically. After onboarding, you typically run the Gateway on port **18789**.
|
|
@@ -303,15 +305,15 @@ The wizard can also build UI assets automatically. After onboarding, you typical
|
|
|
303
305
|
From source (contributors/dev):
|
|
304
306
|
|
|
305
307
|
```bash
|
|
306
|
-
git clone https://github.com/
|
|
307
|
-
cd
|
|
308
|
+
git clone https://github.com/moltbot/moltbot.git
|
|
309
|
+
cd moltbot
|
|
308
310
|
pnpm install
|
|
309
311
|
pnpm build
|
|
310
312
|
pnpm ui:build # auto-installs UI deps on first run
|
|
311
|
-
|
|
313
|
+
moltbot onboard
|
|
312
314
|
```
|
|
313
315
|
|
|
314
|
-
If you don’t have a global install yet, run it via `pnpm
|
|
316
|
+
If you don’t have a global install yet, run it via `pnpm moltbot onboard`.
|
|
315
317
|
|
|
316
318
|
### How do I open the dashboard after onboarding
|
|
317
319
|
|
|
@@ -321,13 +323,13 @@ The wizard now opens your browser with a tokenized dashboard URL right after onb
|
|
|
321
323
|
|
|
322
324
|
**Localhost (same machine):**
|
|
323
325
|
- Open `http://127.0.0.1:18789/`.
|
|
324
|
-
- If it asks for auth, run `
|
|
325
|
-
- The token is the same value as `gateway.auth.token` (or `
|
|
326
|
+
- If it asks for auth, run `moltbot dashboard` and use the tokenized link (`?token=...`).
|
|
327
|
+
- The token is the same value as `gateway.auth.token` (or `CLAWDBOT_GATEWAY_TOKEN`) and is stored by the UI after first load.
|
|
326
328
|
|
|
327
329
|
**Not on localhost:**
|
|
328
|
-
- **Tailscale Serve** (recommended): keep bind loopback, run `
|
|
329
|
-
- **Tailnet bind**: run `
|
|
330
|
-
- **SSH tunnel**: `ssh -N -L 18789:127.0.0.1:18789 user@host` then open `http://127.0.0.1:18789/?token=...` from `
|
|
330
|
+
- **Tailscale Serve** (recommended): keep bind loopback, run `moltbot gateway --tailscale serve`, open `https://<magicdns>/`. If `gateway.auth.allowTailscale` is `true`, identity headers satisfy auth (no token).
|
|
331
|
+
- **Tailnet bind**: run `moltbot gateway --bind tailnet --token "<token>"`, open `http://<tailscale-ip>:18789/`, paste token in dashboard settings.
|
|
332
|
+
- **SSH tunnel**: `ssh -N -L 18789:127.0.0.1:18789 user@host` then open `http://127.0.0.1:18789/?token=...` from `moltbot dashboard`.
|
|
331
333
|
|
|
332
334
|
See [Dashboard](/web/dashboard) and [Web surfaces](/web) for bind modes and auth details.
|
|
333
335
|
|
|
@@ -365,17 +367,17 @@ and tokens stay at 0, the agent never ran.
|
|
|
365
367
|
|
|
366
368
|
1) Restart the Gateway:
|
|
367
369
|
```bash
|
|
368
|
-
|
|
370
|
+
moltbot gateway restart
|
|
369
371
|
```
|
|
370
372
|
2) Check status + auth:
|
|
371
373
|
```bash
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
374
|
+
moltbot status
|
|
375
|
+
moltbot models status
|
|
376
|
+
moltbot logs --follow
|
|
375
377
|
```
|
|
376
378
|
3) If it still hangs, run:
|
|
377
379
|
```bash
|
|
378
|
-
|
|
380
|
+
moltbot doctor
|
|
379
381
|
```
|
|
380
382
|
|
|
381
383
|
If the Gateway is remote, ensure the tunnel/Tailscale connection is up and that the UI
|
|
@@ -387,40 +389,40 @@ Yes. Copy the **state directory** and **workspace**, then run Doctor once. This
|
|
|
387
389
|
keeps your bot “exactly the same” (memory, session history, auth, and channel
|
|
388
390
|
state) as long as you copy **both** locations:
|
|
389
391
|
|
|
390
|
-
1) Install
|
|
391
|
-
2) Copy `$
|
|
392
|
+
1) Install Moltbot on the new machine.
|
|
393
|
+
2) Copy `$CLAWDBOT_STATE_DIR` (default: `~/.clawdbot`) from the old machine.
|
|
392
394
|
3) Copy your workspace (default: `~/clawd`).
|
|
393
|
-
4) Run `
|
|
395
|
+
4) Run `moltbot doctor` and restart the Gateway service.
|
|
394
396
|
|
|
395
397
|
That preserves config, auth profiles, WhatsApp creds, sessions, and memory. If you’re in
|
|
396
398
|
remote mode, remember the gateway host owns the session store and workspace.
|
|
397
399
|
|
|
398
400
|
**Important:** if you only commit/push your workspace to GitHub, you’re backing
|
|
399
401
|
up **memory + bootstrap files**, but **not** session history or auth. Those live
|
|
400
|
-
under `~/.
|
|
402
|
+
under `~/.clawdbot/` (for example `~/.clawdbot/agents/<agentId>/sessions/`).
|
|
401
403
|
|
|
402
|
-
Related: [Where things live on disk](/help/faq#where-does-
|
|
404
|
+
Related: [Migrating](/install/migrating), [Where things live on disk](/help/faq#where-does-moltbot-store-its-data),
|
|
403
405
|
[Agent workspace](/concepts/agent-workspace), [Doctor](/gateway/doctor),
|
|
404
406
|
[Remote mode](/gateway/remote).
|
|
405
407
|
|
|
406
408
|
### Where do I see whats new in the latest version
|
|
407
409
|
|
|
408
410
|
Check the GitHub changelog:
|
|
409
|
-
https://github.com/
|
|
411
|
+
https://github.com/moltbot/moltbot/blob/main/CHANGELOG.md
|
|
410
412
|
|
|
411
413
|
Newest entries are at the top. If the top section is marked **Unreleased**, the next dated
|
|
412
414
|
section is the latest shipped version. Entries are grouped by **Highlights**, **Changes**, and
|
|
413
415
|
**Fixes** (plus docs/other sections when needed).
|
|
414
416
|
|
|
415
|
-
### I cant access
|
|
417
|
+
### I cant access docsmoltbot SSL error What now
|
|
416
418
|
|
|
417
|
-
Some Comcast/Xfinity connections incorrectly block `docs.
|
|
418
|
-
Advanced Security. Disable it or allowlist `docs.
|
|
419
|
-
detail: [Troubleshooting](/help/troubleshooting#
|
|
419
|
+
Some Comcast/Xfinity connections incorrectly block `docs.molt.bot` via Xfinity
|
|
420
|
+
Advanced Security. Disable it or allowlist `docs.molt.bot`, then retry. More
|
|
421
|
+
detail: [Troubleshooting](/help/troubleshooting#docsmoltbot-shows-an-ssl-error-comcastxfinity).
|
|
420
422
|
Please help us unblock it by reporting here: https://spa.xfinity.com/check_url_status.
|
|
421
423
|
|
|
422
424
|
If you still can't reach the site, the docs are mirrored on GitHub:
|
|
423
|
-
https://github.com/
|
|
425
|
+
https://github.com/moltbot/moltbot/tree/main/docs
|
|
424
426
|
|
|
425
427
|
### Whats the difference between stable and beta
|
|
426
428
|
|
|
@@ -433,7 +435,7 @@ that same version to `latest`**. That’s why beta and stable can point at the
|
|
|
433
435
|
**same version**.
|
|
434
436
|
|
|
435
437
|
See what changed:
|
|
436
|
-
https://github.com/
|
|
438
|
+
https://github.com/moltbot/moltbot/blob/main/CHANGELOG.md
|
|
437
439
|
|
|
438
440
|
### How do I install the beta version and whats the difference between beta and dev
|
|
439
441
|
|
|
@@ -443,15 +445,15 @@ https://github.com/pigbot/pigbot/blob/main/CHANGELOG.md
|
|
|
443
445
|
One‑liners (macOS/Linux):
|
|
444
446
|
|
|
445
447
|
```bash
|
|
446
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://
|
|
448
|
+
curl -fsSL --proto '=https' --tlsv1.2 https://molt.bot/install.sh | bash -s -- --beta
|
|
447
449
|
```
|
|
448
450
|
|
|
449
451
|
```bash
|
|
450
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://
|
|
452
|
+
curl -fsSL --proto '=https' --tlsv1.2 https://molt.bot/install.sh | bash -s -- --install-method git
|
|
451
453
|
```
|
|
452
454
|
|
|
453
455
|
Windows installer (PowerShell):
|
|
454
|
-
https://
|
|
456
|
+
https://molt.bot/install.ps1
|
|
455
457
|
|
|
456
458
|
More detail: [Development channels](/install/development-channels) and [Installer flags](/install/installer).
|
|
457
459
|
|
|
@@ -470,20 +472,20 @@ Two options:
|
|
|
470
472
|
|
|
471
473
|
1) **Dev channel (git checkout):**
|
|
472
474
|
```bash
|
|
473
|
-
|
|
475
|
+
moltbot update --channel dev
|
|
474
476
|
```
|
|
475
477
|
This switches to the `main` branch and updates from source.
|
|
476
478
|
|
|
477
479
|
2) **Hackable install (from the installer site):**
|
|
478
480
|
```bash
|
|
479
|
-
curl -fsSL https://
|
|
481
|
+
curl -fsSL https://molt.bot/install.sh | bash -s -- --install-method git
|
|
480
482
|
```
|
|
481
483
|
That gives you a local repo you can edit, then update via git.
|
|
482
484
|
|
|
483
485
|
If you prefer a clean clone manually, use:
|
|
484
486
|
```bash
|
|
485
|
-
git clone https://github.com/
|
|
486
|
-
cd
|
|
487
|
+
git clone https://github.com/moltbot/moltbot.git
|
|
488
|
+
cd moltbot
|
|
487
489
|
pnpm install
|
|
488
490
|
pnpm build
|
|
489
491
|
```
|
|
@@ -496,24 +498,24 @@ Docs: [Update](/cli/update), [Development channels](/install/development-channel
|
|
|
496
498
|
Re-run the installer with **verbose output**:
|
|
497
499
|
|
|
498
500
|
```bash
|
|
499
|
-
curl -fsSL https://
|
|
501
|
+
curl -fsSL https://molt.bot/install.sh | bash -s -- --verbose
|
|
500
502
|
```
|
|
501
503
|
|
|
502
504
|
Beta install with verbose:
|
|
503
505
|
|
|
504
506
|
```bash
|
|
505
|
-
curl -fsSL https://
|
|
507
|
+
curl -fsSL https://molt.bot/install.sh | bash -s -- --beta --verbose
|
|
506
508
|
```
|
|
507
509
|
|
|
508
510
|
For a hackable (git) install:
|
|
509
511
|
|
|
510
512
|
```bash
|
|
511
|
-
curl -fsSL https://
|
|
513
|
+
curl -fsSL https://molt.bot/install.sh | bash -s -- --install-method git --verbose
|
|
512
514
|
```
|
|
513
515
|
|
|
514
516
|
More options: [Installer flags](/install/installer).
|
|
515
517
|
|
|
516
|
-
### Windows install says git not found or
|
|
518
|
+
### Windows install says git not found or moltbot not recognized
|
|
517
519
|
|
|
518
520
|
Two common Windows issues:
|
|
519
521
|
|
|
@@ -521,7 +523,7 @@ Two common Windows issues:
|
|
|
521
523
|
- Install **Git for Windows** and make sure `git` is on your PATH.
|
|
522
524
|
- Close and reopen PowerShell, then re-run the installer.
|
|
523
525
|
|
|
524
|
-
**2)
|
|
526
|
+
**2) moltbot is not recognized after install**
|
|
525
527
|
- Your npm global bin folder is not on PATH.
|
|
526
528
|
- Check the path:
|
|
527
529
|
```powershell
|
|
@@ -539,12 +541,12 @@ Use the **hackable (git) install** so you have the full source and docs locally,
|
|
|
539
541
|
your bot (or Claude/Codex) *from that folder* so it can read the repo and answer precisely.
|
|
540
542
|
|
|
541
543
|
```bash
|
|
542
|
-
curl -fsSL https://
|
|
544
|
+
curl -fsSL https://molt.bot/install.sh | bash -s -- --install-method git
|
|
543
545
|
```
|
|
544
546
|
|
|
545
547
|
More detail: [Install](/install) and [Installer flags](/install/installer).
|
|
546
548
|
|
|
547
|
-
### How do I install
|
|
549
|
+
### How do I install Moltbot on Linux
|
|
548
550
|
|
|
549
551
|
Short answer: follow the Linux guide, then run the onboarding wizard.
|
|
550
552
|
|
|
@@ -552,7 +554,7 @@ Short answer: follow the Linux guide, then run the onboarding wizard.
|
|
|
552
554
|
- Full walkthrough: [Getting Started](/start/getting-started).
|
|
553
555
|
- Installer + updates: [Install & updates](/install/updating).
|
|
554
556
|
|
|
555
|
-
### How do I install
|
|
557
|
+
### How do I install Moltbot on a VPS
|
|
556
558
|
|
|
557
559
|
Any Linux VPS works. Install on the server, then use SSH/Tailscale to reach the Gateway.
|
|
558
560
|
|
|
@@ -564,7 +566,6 @@ Remote access: [Gateway remote](/gateway/remote).
|
|
|
564
566
|
We keep a **hosting hub** with the common providers. Pick one and follow the guide:
|
|
565
567
|
|
|
566
568
|
- [VPS hosting](/vps) (all providers in one place)
|
|
567
|
-
- [Railway](/railway) (one‑click, browser‑based setup)
|
|
568
569
|
- [Fly.io](/platforms/fly)
|
|
569
570
|
- [Hetzner](/platforms/hetzner)
|
|
570
571
|
- [exe.dev](/platforms/exe-dev)
|
|
@@ -589,25 +590,25 @@ can prompt for confirmation. Safer: run updates from a shell as the operator.
|
|
|
589
590
|
Use the CLI:
|
|
590
591
|
|
|
591
592
|
```bash
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
593
|
+
moltbot update
|
|
594
|
+
moltbot update status
|
|
595
|
+
moltbot update --channel stable|beta|dev
|
|
596
|
+
moltbot update --tag <dist-tag|version>
|
|
597
|
+
moltbot update --no-restart
|
|
597
598
|
```
|
|
598
599
|
|
|
599
600
|
If you must automate from an agent:
|
|
600
601
|
|
|
601
602
|
```bash
|
|
602
|
-
|
|
603
|
-
|
|
603
|
+
moltbot update --yes --no-restart
|
|
604
|
+
moltbot gateway restart
|
|
604
605
|
```
|
|
605
606
|
|
|
606
607
|
Docs: [Update](/cli/update), [Updating](/install/updating).
|
|
607
608
|
|
|
608
609
|
### What does the onboarding wizard actually do
|
|
609
610
|
|
|
610
|
-
`
|
|
611
|
+
`moltbot onboard` is the recommended setup path. In **local mode** it walks you through:
|
|
611
612
|
|
|
612
613
|
- **Model/auth setup** (Anthropic **setup-token** recommended for Claude subscriptions, OpenAI Codex OAuth supported, API keys optional, LM Studio local models supported)
|
|
613
614
|
- **Workspace** location + bootstrap files
|
|
@@ -620,7 +621,7 @@ It also warns if your configured model is unknown or missing auth.
|
|
|
620
621
|
|
|
621
622
|
### Do I need a Claude or OpenAI subscription to run this
|
|
622
623
|
|
|
623
|
-
No. You can run
|
|
624
|
+
No. You can run Moltbot with **API keys** (Anthropic/OpenAI/others) or with
|
|
624
625
|
**local‑only models** so your data stays on your device. Subscriptions (Claude
|
|
625
626
|
Pro/Max or OpenAI Codex) are optional ways to authenticate those providers.
|
|
626
627
|
|
|
@@ -629,20 +630,17 @@ Docs: [Anthropic](/providers/anthropic), [OpenAI](/providers/openai),
|
|
|
629
630
|
|
|
630
631
|
### Can I use Claude Max subscription without an API key
|
|
631
632
|
|
|
632
|
-
Yes. You can authenticate with
|
|
633
|
+
Yes. You can authenticate with a **setup-token**
|
|
633
634
|
instead of an API key. This is the subscription path.
|
|
634
635
|
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
636
|
+
Claude Pro/Max subscriptions **do not include an API key**, so this is the
|
|
637
|
+
correct approach for subscription accounts. Important: you must verify with
|
|
638
|
+
Anthropic that this usage is allowed under their subscription policy and terms.
|
|
639
|
+
If you want the most explicit, supported path, use an Anthropic API key.
|
|
638
640
|
|
|
639
641
|
### How does Anthropic setuptoken auth work
|
|
640
642
|
|
|
641
|
-
`claude setup-token` generates a **token string** via the Claude Code CLI (it is not available in the web console). You can run it on **any machine**.
|
|
642
|
-
|
|
643
|
-
Pigbot keeps `auth.profiles["anthropic:claude-cli"].mode` set to `"oauth"` so
|
|
644
|
-
the profile accepts both OAuth and setup-token credentials; older `"token"` mode
|
|
645
|
-
entries auto-migrate.
|
|
643
|
+
`claude setup-token` generates a **token string** via the Claude Code CLI (it is not available in the web console). You can run it on **any machine**. Choose **Anthropic token (paste setup-token)** in the wizard or paste it with `moltbot models auth paste-token --provider anthropic`. The token is stored as an auth profile for the **anthropic** provider and used like an API key (no auto-refresh). More detail: [OAuth](/concepts/oauth).
|
|
646
644
|
|
|
647
645
|
### Where do I find an Anthropic setuptoken
|
|
648
646
|
|
|
@@ -652,11 +650,11 @@ It is **not** in the Anthropic Console. The setup-token is generated by the **Cl
|
|
|
652
650
|
claude setup-token
|
|
653
651
|
```
|
|
654
652
|
|
|
655
|
-
Copy the token it prints, then choose **Anthropic token (paste setup-token)** in the wizard. If you want to run it on the gateway host, use `
|
|
653
|
+
Copy the token it prints, then choose **Anthropic token (paste setup-token)** in the wizard. If you want to run it on the gateway host, use `moltbot models auth setup-token --provider anthropic`. If you ran `claude setup-token` elsewhere, paste it on the gateway host with `moltbot models auth paste-token --provider anthropic`. See [Anthropic](/providers/anthropic).
|
|
656
654
|
|
|
657
|
-
### Do you support Claude subscription auth Claude
|
|
655
|
+
### Do you support Claude subscription auth (Claude Pro/Max)
|
|
658
656
|
|
|
659
|
-
Yes
|
|
657
|
+
Yes — via **setup-token**. Moltbot no longer reuses Claude Code CLI OAuth tokens; use a setup-token or an Anthropic API key. Generate the token anywhere and paste it on the gateway host. See [Anthropic](/providers/anthropic) and [OAuth](/concepts/oauth).
|
|
660
658
|
|
|
661
659
|
Note: Claude subscription access is governed by Anthropic’s terms. For production or multi‑user workloads, API keys are usually the safer choice.
|
|
662
660
|
|
|
@@ -667,7 +665,7 @@ use a **Claude subscription** (setup‑token or Claude Code OAuth), wait for the
|
|
|
667
665
|
reset or upgrade your plan. If you use an **Anthropic API key**, check the Anthropic Console
|
|
668
666
|
for usage/billing and raise limits as needed.
|
|
669
667
|
|
|
670
|
-
Tip: set a **fallback model** so
|
|
668
|
+
Tip: set a **fallback model** so Moltbot can keep replying while a provider is rate‑limited.
|
|
671
669
|
See [Models](/cli/models) and [OAuth](/concepts/oauth).
|
|
672
670
|
|
|
673
671
|
### Is AWS Bedrock supported
|
|
@@ -676,29 +674,28 @@ Yes - via pi‑ai’s **Amazon Bedrock (Converse)** provider with **manual confi
|
|
|
676
674
|
|
|
677
675
|
### How does Codex auth work
|
|
678
676
|
|
|
679
|
-
|
|
677
|
+
Moltbot supports **OpenAI Code (Codex)** via OAuth (ChatGPT sign-in). The wizard can run the OAuth flow and will set the default model to `openai-codex/gpt-5.2` when appropriate. See [Model providers](/concepts/model-providers) and [Wizard](/start/wizard).
|
|
680
678
|
|
|
681
679
|
### Do you support OpenAI subscription auth Codex OAuth
|
|
682
680
|
|
|
683
|
-
Yes.
|
|
684
|
-
|
|
685
|
-
can import the CLI login or run the OAuth flow for you.
|
|
681
|
+
Yes. Moltbot fully supports **OpenAI Code (Codex) subscription OAuth**. The onboarding wizard
|
|
682
|
+
can run the OAuth flow for you.
|
|
686
683
|
|
|
687
684
|
See [OAuth](/concepts/oauth), [Model providers](/concepts/model-providers), and [Wizard](/start/wizard).
|
|
688
685
|
|
|
689
686
|
### How do I set up Gemini CLI OAuth
|
|
690
687
|
|
|
691
|
-
Gemini CLI uses a **plugin auth flow**, not a client id or secret in `
|
|
688
|
+
Gemini CLI uses a **plugin auth flow**, not a client id or secret in `moltbot.json`.
|
|
692
689
|
|
|
693
690
|
Steps:
|
|
694
|
-
1) Enable the plugin: `
|
|
695
|
-
2) Login: `
|
|
691
|
+
1) Enable the plugin: `moltbot plugins enable google-gemini-cli-auth`
|
|
692
|
+
2) Login: `moltbot models auth login --provider google-gemini-cli --set-default`
|
|
696
693
|
|
|
697
694
|
This stores OAuth tokens in auth profiles on the gateway host. Details: [Model providers](/concepts/model-providers).
|
|
698
695
|
|
|
699
696
|
### Is a local model OK for casual chats
|
|
700
697
|
|
|
701
|
-
Usually no.
|
|
698
|
+
Usually no. Moltbot needs large context + strong safety; small cards truncate and leak. If you must, run the **largest** MiniMax M2.1 build you can locally (LM Studio) and see [/gateway/local-models](/gateway/local-models). Smaller/quantized models increase prompt-injection risk - see [Security](/gateway/security).
|
|
702
699
|
|
|
703
700
|
### How do I keep hosted model traffic in a specific region
|
|
704
701
|
|
|
@@ -706,7 +703,7 @@ Pick region-pinned endpoints. OpenRouter exposes US-hosted options for MiniMax,
|
|
|
706
703
|
|
|
707
704
|
### Do I have to buy a Mac Mini to install this
|
|
708
705
|
|
|
709
|
-
No.
|
|
706
|
+
No. Moltbot runs on macOS or Linux (Windows via WSL2). A Mac mini is optional - some people
|
|
710
707
|
buy one as an always‑on host, but a small VPS, home server, or Raspberry Pi‑class box works too.
|
|
711
708
|
|
|
712
709
|
You only need a Mac **for macOS‑only tools**. For iMessage, you can keep the Gateway on Linux
|
|
@@ -718,7 +715,7 @@ Docs: [iMessage](/channels/imessage), [Nodes](/nodes), [Mac remote mode](/platfo
|
|
|
718
715
|
### Do I need a Mac mini for iMessage support
|
|
719
716
|
|
|
720
717
|
You need **some macOS device** signed into Messages. It does **not** have to be a Mac mini -
|
|
721
|
-
any Mac works.
|
|
718
|
+
any Mac works. Moltbot’s iMessage integrations run on macOS (BlueBubbles or `imsg`), while
|
|
722
719
|
the Gateway can run elsewhere.
|
|
723
720
|
|
|
724
721
|
Common setups:
|
|
@@ -729,7 +726,7 @@ Common setups:
|
|
|
729
726
|
Docs: [iMessage](/channels/imessage), [BlueBubbles](/channels/bluebubbles),
|
|
730
727
|
[Mac remote mode](/platforms/mac/remote).
|
|
731
728
|
|
|
732
|
-
### If I buy a Mac mini to run
|
|
729
|
+
### If I buy a Mac mini to run Moltbot can I connect it to my MacBook Pro
|
|
733
730
|
|
|
734
731
|
Yes. The **Mac mini can run the Gateway**, and your MacBook Pro can connect as a
|
|
735
732
|
**node** (companion device). Nodes don’t run the Gateway - they provide extra
|
|
@@ -738,7 +735,7 @@ capabilities like screen/camera/canvas and `system.run` on that device.
|
|
|
738
735
|
Common pattern:
|
|
739
736
|
- Gateway on the Mac mini (always‑on).
|
|
740
737
|
- MacBook Pro runs the macOS app or a node host and pairs to the Gateway.
|
|
741
|
-
- Use `
|
|
738
|
+
- Use `moltbot nodes status` / `moltbot nodes list` to see it.
|
|
742
739
|
|
|
743
740
|
Docs: [Nodes](/nodes), [Nodes CLI](/cli/nodes).
|
|
744
741
|
|
|
@@ -755,7 +752,7 @@ without WhatsApp/Telegram.
|
|
|
755
752
|
`channels.telegram.allowFrom` is **the human sender’s Telegram user ID** (numeric, recommended) or `@username`. It is not the bot username.
|
|
756
753
|
|
|
757
754
|
Safer (no third-party bot):
|
|
758
|
-
- DM your bot, then run `
|
|
755
|
+
- DM your bot, then run `moltbot logs --follow` and read `from.id`.
|
|
759
756
|
|
|
760
757
|
Official Bot API:
|
|
761
758
|
- DM your bot, then call `https://api.telegram.org/bot<bot_token>/getUpdates` and read `message.from.id`.
|
|
@@ -765,7 +762,7 @@ Third-party (less private):
|
|
|
765
762
|
|
|
766
763
|
See [/channels/telegram](/channels/telegram#access-control-dms--groups).
|
|
767
764
|
|
|
768
|
-
### Can multiple people use one WhatsApp number with different
|
|
765
|
+
### Can multiple people use one WhatsApp number with different Moltbots
|
|
769
766
|
|
|
770
767
|
Yes, via **multi‑agent routing**. Bind each sender’s WhatsApp **DM** (peer `kind: "dm"`, sender E.164 like `+15551234567`) to a different `agentId`, so each person gets their own workspace and session store. Replies still come from the **same WhatsApp account**, and DM access control (`channels.whatsapp.dmPolicy` / `channels.whatsapp.allowFrom`) is global per WhatsApp account. See [Multi-Agent Routing](/concepts/multi-agent) and [WhatsApp](/channels/whatsapp).
|
|
771
768
|
|
|
@@ -784,7 +781,7 @@ eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
|
|
784
781
|
brew install <formula>
|
|
785
782
|
```
|
|
786
783
|
|
|
787
|
-
If you run
|
|
784
|
+
If you run Moltbot via systemd, ensure the service PATH includes `/home/linuxbrew/.linuxbrew/bin` (or your brew prefix) so `brew`-installed tools resolve in non‑login shells.
|
|
788
785
|
Recent builds also prepend common user bin dirs on Linux systemd services (for example `~/.local/bin`, `~/.npm-global/bin`, `~/.local/share/pnpm`, `~/.bun/bin`) and honor `PNPM_HOME`, `NPM_CONFIG_PREFIX`, `BUN_INSTALL`, `VOLTA_HOME`, `ASDF_DATA_DIR`, `NVM_DIR`, and `FNM_DIR` when set.
|
|
789
786
|
|
|
790
787
|
### Whats the difference between the hackable git install and npm install
|
|
@@ -799,26 +796,26 @@ Docs: [Getting started](/start/getting-started), [Updating](/install/updating).
|
|
|
799
796
|
### Can I switch between npm and git installs later
|
|
800
797
|
|
|
801
798
|
Yes. Install the other flavor, then run Doctor so the gateway service points at the new entrypoint.
|
|
802
|
-
This **does not delete your data** - it only changes the
|
|
803
|
-
(`~/.
|
|
799
|
+
This **does not delete your data** - it only changes the Moltbot code install. Your state
|
|
800
|
+
(`~/.clawdbot`) and workspace (`~/clawd`) stay untouched.
|
|
804
801
|
|
|
805
802
|
From npm → git:
|
|
806
803
|
|
|
807
804
|
```bash
|
|
808
|
-
git clone https://github.com/
|
|
809
|
-
cd
|
|
805
|
+
git clone https://github.com/moltbot/moltbot.git
|
|
806
|
+
cd moltbot
|
|
810
807
|
pnpm install
|
|
811
808
|
pnpm build
|
|
812
|
-
|
|
813
|
-
|
|
809
|
+
moltbot doctor
|
|
810
|
+
moltbot gateway restart
|
|
814
811
|
```
|
|
815
812
|
|
|
816
813
|
From git → npm:
|
|
817
814
|
|
|
818
815
|
```bash
|
|
819
|
-
npm install -g
|
|
820
|
-
|
|
821
|
-
|
|
816
|
+
npm install -g moltbot@latest
|
|
817
|
+
moltbot doctor
|
|
818
|
+
moltbot gateway restart
|
|
822
819
|
```
|
|
823
820
|
|
|
824
821
|
Doctor detects a gateway service entrypoint mismatch and offers to rewrite the service config to match the current install (use `--repair` in automation).
|
|
@@ -838,11 +835,11 @@ lowest friction and you’re okay with sleep/restarts, run it locally.
|
|
|
838
835
|
- **Pros:** always‑on, stable network, no laptop sleep issues, easier to keep running.
|
|
839
836
|
- **Cons:** often run headless (use screenshots), remote file access only, you must SSH for updates.
|
|
840
837
|
|
|
841
|
-
**
|
|
838
|
+
**Moltbot-specific note:** WhatsApp/Telegram/Slack/Mattermost (plugin)/Discord all work fine from a VPS. The only real trade-off is **headless browser** vs a visible window. See [Browser](/tools/browser).
|
|
842
839
|
|
|
843
840
|
**Recommended default:** VPS if you had gateway disconnects before. Local is great when you’re actively using the Mac and want local file access or UI automation with a visible browser.
|
|
844
841
|
|
|
845
|
-
### How important is it to run
|
|
842
|
+
### How important is it to run Moltbot on a dedicated machine
|
|
846
843
|
|
|
847
844
|
Not required, but **recommended for reliability and isolation**.
|
|
848
845
|
|
|
@@ -854,7 +851,7 @@ For security guidance, read [Security](/gateway/security).
|
|
|
854
851
|
|
|
855
852
|
### What are the minimum VPS requirements and recommended OS
|
|
856
853
|
|
|
857
|
-
|
|
854
|
+
Moltbot is lightweight. For a basic Gateway + one chat channel:
|
|
858
855
|
|
|
859
856
|
- **Absolute minimum:** 1 vCPU, 1GB RAM, ~500MB disk.
|
|
860
857
|
- **Recommended:** 1-2 vCPU, 2GB RAM or more for headroom (logs, media, multiple channels). Node tools and browser automation can be resource hungry.
|
|
@@ -863,7 +860,7 @@ OS: use **Ubuntu LTS** (or any modern Debian/Ubuntu). The Linux install path is
|
|
|
863
860
|
|
|
864
861
|
Docs: [Linux](/platforms/linux), [VPS hosting](/vps).
|
|
865
862
|
|
|
866
|
-
### Can I run
|
|
863
|
+
### Can I run Moltbot in a VM and what are the requirements
|
|
867
864
|
|
|
868
865
|
Yes. Treat a VM the same as a VPS: it needs to be always on, reachable, and have enough
|
|
869
866
|
RAM for the Gateway and any channels you enable.
|
|
@@ -877,15 +874,15 @@ If you are on Windows, **WSL2 is the easiest VM style setup** and has the best t
|
|
|
877
874
|
compatibility. See [Windows](/platforms/windows), [VPS hosting](/vps).
|
|
878
875
|
If you are running macOS in a VM, see [macOS VM](/platforms/macos-vm).
|
|
879
876
|
|
|
880
|
-
## What is
|
|
877
|
+
## What is Moltbot?
|
|
881
878
|
|
|
882
|
-
### What is
|
|
879
|
+
### What is Moltbot in one paragraph
|
|
883
880
|
|
|
884
|
-
|
|
881
|
+
Moltbot is a personal AI assistant you run on your own devices. It replies on the messaging surfaces you already use (WhatsApp, Telegram, Slack, Mattermost (plugin), Discord, Google Chat, Signal, iMessage, WebChat) and can also do voice + a live Canvas on supported platforms. The **Gateway** is the always-on control plane; the assistant is the product.
|
|
885
882
|
|
|
886
883
|
### Whats the value proposition
|
|
887
884
|
|
|
888
|
-
|
|
885
|
+
Moltbot is not “just a Claude wrapper.” It’s a **local-first control plane** that lets you run a
|
|
889
886
|
capable assistant on **your own hardware**, reachable from the chat apps you already use, with
|
|
890
887
|
stateful sessions, memory, and tools - without handing control of your workflows to a hosted
|
|
891
888
|
SaaS.
|
|
@@ -916,7 +913,7 @@ Good first projects:
|
|
|
916
913
|
It can handle large tasks, but it works best when you split them into phases and
|
|
917
914
|
use sub agents for parallel work.
|
|
918
915
|
|
|
919
|
-
### What are the top five everyday use cases for
|
|
916
|
+
### What are the top five everyday use cases for Moltbot
|
|
920
917
|
|
|
921
918
|
Everyday wins usually look like:
|
|
922
919
|
- **Personal briefings:** summaries of inbox, calendar, and news you care about.
|
|
@@ -925,21 +922,21 @@ Everyday wins usually look like:
|
|
|
925
922
|
- **Browser automation:** filling forms, collecting data, and repeating web tasks.
|
|
926
923
|
- **Cross device coordination:** send a task from your phone, let the Gateway run it on a server, and get the result back in chat.
|
|
927
924
|
|
|
928
|
-
### Can
|
|
925
|
+
### Can Moltbot help with lead gen outreach ads and blogs for a SaaS
|
|
929
926
|
|
|
930
927
|
Yes for **research, qualification, and drafting**. It can scan sites, build shortlists,
|
|
931
928
|
summarize prospects, and write outreach or ad copy drafts.
|
|
932
929
|
|
|
933
930
|
For **outreach or ad runs**, keep a human in the loop. Avoid spam, follow local laws and
|
|
934
931
|
platform policies, and review anything before it is sent. The safest pattern is to let
|
|
935
|
-
|
|
932
|
+
Moltbot draft and you approve.
|
|
936
933
|
|
|
937
934
|
Docs: [Security](/gateway/security).
|
|
938
935
|
|
|
939
936
|
### What are the advantages vs Claude Code for web development
|
|
940
937
|
|
|
941
|
-
|
|
942
|
-
Claude Code or Codex for the fastest direct coding loop inside a repo. Use
|
|
938
|
+
Moltbot is a **personal assistant** and coordination layer, not an IDE replacement. Use
|
|
939
|
+
Claude Code or Codex for the fastest direct coding loop inside a repo. Use Moltbot when you
|
|
943
940
|
want durable memory, cross-device access, and tool orchestration.
|
|
944
941
|
|
|
945
942
|
Advantages:
|
|
@@ -949,17 +946,17 @@ Advantages:
|
|
|
949
946
|
- **Always-on Gateway** (run on a VPS, interact from anywhere)
|
|
950
947
|
- **Nodes** for local browser/screen/camera/exec
|
|
951
948
|
|
|
952
|
-
Showcase: https://
|
|
949
|
+
Showcase: https://molt.bot/showcase
|
|
953
950
|
|
|
954
951
|
## Skills and automation
|
|
955
952
|
|
|
956
953
|
### How do I customize skills without keeping the repo dirty
|
|
957
954
|
|
|
958
|
-
Use managed overrides instead of editing the repo copy. Put your changes in `~/.
|
|
955
|
+
Use managed overrides instead of editing the repo copy. Put your changes in `~/.clawdbot/skills/<name>/SKILL.md` (or add a folder via `skills.load.extraDirs` in `~/.clawdbot/moltbot.json`). Precedence is `<workspace>/skills` > `~/.clawdbot/skills` > bundled, so managed overrides win without touching git. Only upstream-worthy edits should live in the repo and go out as PRs.
|
|
959
956
|
|
|
960
957
|
### Can I load skills from a custom folder
|
|
961
958
|
|
|
962
|
-
Yes. Add extra directories via `skills.load.extraDirs` in `~/.
|
|
959
|
+
Yes. Add extra directories via `skills.load.extraDirs` in `~/.clawdbot/moltbot.json` (lowest precedence). Default precedence remains: `<workspace>/skills` → `~/.clawdbot/skills` → bundled → `skills.load.extraDirs`. `clawdhub` installs into `./skills` by default, which Moltbot treats as `<workspace>/skills`.
|
|
963
960
|
|
|
964
961
|
### How can I use different models for different tasks
|
|
965
962
|
|
|
@@ -989,14 +986,14 @@ Cron runs inside the Gateway process. If the Gateway is not running continuously
|
|
|
989
986
|
scheduled jobs will not run.
|
|
990
987
|
|
|
991
988
|
Checklist:
|
|
992
|
-
- Confirm cron is enabled (`cron.enabled`) and `
|
|
989
|
+
- Confirm cron is enabled (`cron.enabled`) and `CLAWDBOT_SKIP_CRON` is not set.
|
|
993
990
|
- Check the Gateway is running 24/7 (no sleep/restarts).
|
|
994
991
|
- Verify timezone settings for the job (`--tz` vs host timezone).
|
|
995
992
|
|
|
996
993
|
Debug:
|
|
997
994
|
```bash
|
|
998
|
-
|
|
999
|
-
|
|
995
|
+
moltbot cron run <jobId> --force
|
|
996
|
+
moltbot cron runs --id <jobId> --limit 50
|
|
1000
997
|
```
|
|
1001
998
|
|
|
1002
999
|
Docs: [Cron jobs](/automation/cron-jobs), [Cron vs Heartbeat](/automation/cron-vs-heartbeat).
|
|
@@ -1016,7 +1013,7 @@ npm i -g clawdhub
|
|
|
1016
1013
|
pnpm add -g clawdhub
|
|
1017
1014
|
```
|
|
1018
1015
|
|
|
1019
|
-
### Can
|
|
1016
|
+
### Can Moltbot run tasks on a schedule or continuously in the background
|
|
1020
1017
|
|
|
1021
1018
|
Yes. Use the Gateway scheduler:
|
|
1022
1019
|
|
|
@@ -1029,15 +1026,15 @@ Docs: [Cron jobs](/automation/cron-jobs), [Cron vs Heartbeat](/automation/cron-v
|
|
|
1029
1026
|
|
|
1030
1027
|
**Can I run Apple macOS only skills from Linux**
|
|
1031
1028
|
|
|
1032
|
-
Not directly. macOS skills are gated by `metadata.
|
|
1029
|
+
Not directly. macOS skills are gated by `metadata.clawdbot.os` plus required binaries, and skills only appear in the system prompt when they are eligible on the **Gateway host**. On Linux, `darwin`-only skills (like `imsg`, `apple-notes`, `apple-reminders`) will not load unless you override the gating.
|
|
1033
1030
|
|
|
1034
1031
|
You have three supported patterns:
|
|
1035
1032
|
|
|
1036
1033
|
**Option A - run the Gateway on a Mac (simplest).**
|
|
1037
|
-
Run the Gateway where the macOS binaries exist, then connect from Linux in [remote mode](#how-do-i-run-
|
|
1034
|
+
Run the Gateway where the macOS binaries exist, then connect from Linux in [remote mode](#how-do-i-run-moltbot-in-remote-mode-client-connects-to-a-gateway-elsewhere) or over Tailscale. The skills load normally because the Gateway host is macOS.
|
|
1038
1035
|
|
|
1039
1036
|
**Option B - use a macOS node (no SSH).**
|
|
1040
|
-
Run the Gateway on Linux, pair a macOS node (menubar app), and set **Node Run Commands** to "Always Ask" or "Always Allow" on the Mac.
|
|
1037
|
+
Run the Gateway on Linux, pair a macOS node (menubar app), and set **Node Run Commands** to "Always Ask" or "Always Allow" on the Mac. Moltbot can treat macOS-only skills as eligible when the required binaries exist on the node. The agent runs those skills via the `nodes` tool. If you choose "Always Ask", approving "Always Allow" in the prompt adds that command to the allowlist.
|
|
1041
1038
|
|
|
1042
1039
|
**Option C - proxy macOS binaries over SSH (advanced).**
|
|
1043
1040
|
Keep the Gateway on Linux, but make the required CLI binaries resolve to SSH wrappers that run on a Mac. Then override the skill to allow Linux so it stays eligible.
|
|
@@ -1049,17 +1046,17 @@ Keep the Gateway on Linux, but make the required CLI binaries resolve to SSH wra
|
|
|
1049
1046
|
exec ssh -T user@mac-host /opt/homebrew/bin/imsg "$@"
|
|
1050
1047
|
```
|
|
1051
1048
|
2) Put the wrapper on `PATH` on the Linux host (for example `~/bin/imsg`).
|
|
1052
|
-
3) Override the skill metadata (workspace or `~/.
|
|
1049
|
+
3) Override the skill metadata (workspace or `~/.clawdbot/skills`) to allow Linux:
|
|
1053
1050
|
```markdown
|
|
1054
1051
|
---
|
|
1055
1052
|
name: imsg
|
|
1056
1053
|
description: iMessage/SMS CLI for listing chats, history, watch, and sending.
|
|
1057
|
-
metadata: {"
|
|
1054
|
+
metadata: {"moltbot":{"os":["darwin","linux"],"requires":{"bins":["imsg"]}}}
|
|
1058
1055
|
---
|
|
1059
1056
|
```
|
|
1060
1057
|
4) Start a new session so the skills snapshot refreshes.
|
|
1061
1058
|
|
|
1062
|
-
For iMessage specifically, you can also point `channels.imessage.cliPath` at an SSH wrapper (
|
|
1059
|
+
For iMessage specifically, you can also point `channels.imessage.cliPath` at an SSH wrapper (Moltbot only needs stdio). See [iMessage](/channels/imessage).
|
|
1063
1060
|
|
|
1064
1061
|
### Do you have a Notion or HeyGen integration
|
|
1065
1062
|
|
|
@@ -1083,22 +1080,23 @@ clawdhub install <skill-slug>
|
|
|
1083
1080
|
clawdhub update --all
|
|
1084
1081
|
```
|
|
1085
1082
|
|
|
1086
|
-
ClawdHub installs into `./skills` under your current directory (or falls back to your configured
|
|
1083
|
+
ClawdHub installs into `./skills` under your current directory (or falls back to your configured Moltbot workspace); Moltbot treats that as `<workspace>/skills` on the next session. For shared skills across agents, place them in `~/.clawdbot/skills/<name>/SKILL.md`. Some skills expect binaries installed via Homebrew; on Linux that means Linuxbrew (see the Homebrew Linux FAQ entry above). See [Skills](/tools/skills) and [ClawdHub](/tools/clawdhub).
|
|
1087
1084
|
|
|
1088
1085
|
### How do I install the Chrome extension for browser takeover
|
|
1089
1086
|
|
|
1090
1087
|
Use the built-in installer, then load the unpacked extension in Chrome:
|
|
1091
1088
|
|
|
1092
1089
|
```bash
|
|
1093
|
-
|
|
1094
|
-
|
|
1090
|
+
moltbot browser extension install
|
|
1091
|
+
moltbot browser extension path
|
|
1095
1092
|
```
|
|
1096
1093
|
|
|
1097
1094
|
Then Chrome → `chrome://extensions` → enable “Developer mode” → “Load unpacked” → pick that folder.
|
|
1098
1095
|
|
|
1099
|
-
Full guide (including remote Gateway
|
|
1096
|
+
Full guide (including remote Gateway + security notes): [Chrome extension](/tools/chrome-extension)
|
|
1100
1097
|
|
|
1101
|
-
If the Gateway runs on the same machine as Chrome (default setup), you usually **do not** need
|
|
1098
|
+
If the Gateway runs on the same machine as Chrome (default setup), you usually **do not** need anything extra.
|
|
1099
|
+
If the Gateway runs elsewhere, run a node host on the browser machine so the Gateway can proxy browser actions.
|
|
1102
1100
|
You still need to click the extension button on the tab you want to control (it doesn’t auto-attach).
|
|
1103
1101
|
|
|
1104
1102
|
## Sandboxing and memory
|
|
@@ -1123,11 +1121,11 @@ Set `agents.defaults.sandbox.docker.binds` to `["host:path:mode"]` (e.g., `"/hom
|
|
|
1123
1121
|
|
|
1124
1122
|
### How does memory work
|
|
1125
1123
|
|
|
1126
|
-
|
|
1124
|
+
Moltbot memory is just Markdown files in the agent workspace:
|
|
1127
1125
|
- Daily notes in `memory/YYYY-MM-DD.md`
|
|
1128
1126
|
- Curated long-term notes in `MEMORY.md` (main/private sessions only)
|
|
1129
1127
|
|
|
1130
|
-
|
|
1128
|
+
Moltbot also runs a **silent pre-compaction memory flush** to remind the model
|
|
1131
1129
|
to write durable notes before auto-compaction. This only runs when the workspace
|
|
1132
1130
|
is writable (read-only sandboxes skip it). See [Memory](/concepts/memory).
|
|
1133
1131
|
|
|
@@ -1149,11 +1147,11 @@ does **not** grant embeddings access, so **signing in with Codex (OAuth or the
|
|
|
1149
1147
|
Codex CLI login)** does not help for semantic memory search. OpenAI embeddings
|
|
1150
1148
|
still need a real API key (`OPENAI_API_KEY` or `models.providers.openai.apiKey`).
|
|
1151
1149
|
|
|
1152
|
-
If you don’t set a provider explicitly,
|
|
1150
|
+
If you don’t set a provider explicitly, Moltbot auto-selects a provider when it
|
|
1153
1151
|
can resolve an API key (auth profiles, `models.providers.*.apiKey`, or env vars).
|
|
1154
1152
|
It prefers OpenAI if an OpenAI key resolves, otherwise Gemini if a Gemini key
|
|
1155
1153
|
resolves. If neither key is available, memory search stays disabled until you
|
|
1156
|
-
configure it. If you have a local model path configured and present,
|
|
1154
|
+
configure it. If you have a local model path configured and present, Moltbot
|
|
1157
1155
|
prefers `local`.
|
|
1158
1156
|
|
|
1159
1157
|
If you’d rather stay local, set `memorySearch.provider = "local"` (and optionally
|
|
@@ -1173,12 +1171,12 @@ Docs: [Memory](/concepts/memory), [Context](/concepts/context).
|
|
|
1173
1171
|
|
|
1174
1172
|
## Where things live on disk
|
|
1175
1173
|
|
|
1176
|
-
### Is all data used with
|
|
1174
|
+
### Is all data used with Moltbot saved locally
|
|
1177
1175
|
|
|
1178
|
-
No - **
|
|
1176
|
+
No - **Moltbot’s state is local**, but **external services still see what you send them**.
|
|
1179
1177
|
|
|
1180
1178
|
- **Local by default:** sessions, memory files, config, and workspace live on the Gateway host
|
|
1181
|
-
(`~/.
|
|
1179
|
+
(`~/.clawdbot` + your workspace directory).
|
|
1182
1180
|
- **Remote by necessity:** messages you send to model providers (Anthropic/OpenAI/etc.) go to
|
|
1183
1181
|
their APIs, and chat platforms (WhatsApp/Telegram/Slack/etc.) store message data on their
|
|
1184
1182
|
servers.
|
|
@@ -1187,33 +1185,33 @@ No - **Pigbot’s state is local**, but **external services still see what you s
|
|
|
1187
1185
|
|
|
1188
1186
|
Related: [Agent workspace](/concepts/agent-workspace), [Memory](/concepts/memory).
|
|
1189
1187
|
|
|
1190
|
-
### Where does
|
|
1188
|
+
### Where does Moltbot store its data
|
|
1191
1189
|
|
|
1192
|
-
Everything lives under `$
|
|
1190
|
+
Everything lives under `$CLAWDBOT_STATE_DIR` (default: `~/.clawdbot`):
|
|
1193
1191
|
|
|
1194
1192
|
| Path | Purpose |
|
|
1195
1193
|
|------|---------|
|
|
1196
|
-
| `$
|
|
1197
|
-
| `$
|
|
1198
|
-
| `$
|
|
1199
|
-
| `$
|
|
1200
|
-
| `$
|
|
1201
|
-
| `$
|
|
1202
|
-
| `$
|
|
1203
|
-
| `$
|
|
1194
|
+
| `$CLAWDBOT_STATE_DIR/moltbot.json` | Main config (JSON5) |
|
|
1195
|
+
| `$CLAWDBOT_STATE_DIR/credentials/oauth.json` | Legacy OAuth import (copied into auth profiles on first use) |
|
|
1196
|
+
| `$CLAWDBOT_STATE_DIR/agents/<agentId>/agent/auth-profiles.json` | Auth profiles (OAuth + API keys) |
|
|
1197
|
+
| `$CLAWDBOT_STATE_DIR/agents/<agentId>/agent/auth.json` | Runtime auth cache (managed automatically) |
|
|
1198
|
+
| `$CLAWDBOT_STATE_DIR/credentials/` | Provider state (e.g. `whatsapp/<accountId>/creds.json`) |
|
|
1199
|
+
| `$CLAWDBOT_STATE_DIR/agents/` | Per‑agent state (agentDir + sessions) |
|
|
1200
|
+
| `$CLAWDBOT_STATE_DIR/agents/<agentId>/sessions/` | Conversation history & state (per agent) |
|
|
1201
|
+
| `$CLAWDBOT_STATE_DIR/agents/<agentId>/sessions/sessions.json` | Session metadata (per agent) |
|
|
1204
1202
|
|
|
1205
|
-
Legacy single‑agent path: `~/.
|
|
1203
|
+
Legacy single‑agent path: `~/.clawdbot/agent/*` (migrated by `moltbot doctor`).
|
|
1206
1204
|
|
|
1207
1205
|
Your **workspace** (AGENTS.md, memory files, skills, etc.) is separate and configured via `agents.defaults.workspace` (default: `~/clawd`).
|
|
1208
1206
|
|
|
1209
1207
|
### Where should AGENTSmd SOULmd USERmd MEMORYmd live
|
|
1210
1208
|
|
|
1211
|
-
These files live in the **agent workspace**, not `~/.
|
|
1209
|
+
These files live in the **agent workspace**, not `~/.clawdbot`.
|
|
1212
1210
|
|
|
1213
1211
|
- **Workspace (per agent)**: `AGENTS.md`, `SOUL.md`, `IDENTITY.md`, `USER.md`,
|
|
1214
1212
|
`MEMORY.md` (or `memory.md`), `memory/YYYY-MM-DD.md`, optional `HEARTBEAT.md`.
|
|
1215
|
-
- **State dir (`~/.
|
|
1216
|
-
and shared skills (`~/.
|
|
1213
|
+
- **State dir (`~/.clawdbot`)**: config, credentials, auth profiles, sessions, logs,
|
|
1214
|
+
and shared skills (`~/.clawdbot/skills`).
|
|
1217
1215
|
|
|
1218
1216
|
Default workspace is `~/clawd`, configurable via:
|
|
1219
1217
|
|
|
@@ -1238,13 +1236,13 @@ Put your **agent workspace** in a **private** git repo and back it up somewhere
|
|
|
1238
1236
|
private (for example GitHub private). This captures memory + AGENTS/SOUL/USER
|
|
1239
1237
|
files, and lets you restore the assistant’s “mind” later.
|
|
1240
1238
|
|
|
1241
|
-
Do **not** commit anything under `~/.
|
|
1239
|
+
Do **not** commit anything under `~/.clawdbot` (credentials, sessions, tokens).
|
|
1242
1240
|
If you need a full restore, back up both the workspace and the state directory
|
|
1243
1241
|
separately (see the migration question above).
|
|
1244
1242
|
|
|
1245
1243
|
Docs: [Agent workspace](/concepts/agent-workspace).
|
|
1246
1244
|
|
|
1247
|
-
### How do I completely uninstall
|
|
1245
|
+
### How do I completely uninstall Moltbot
|
|
1248
1246
|
|
|
1249
1247
|
See the dedicated guide: [Uninstall](/install/uninstall).
|
|
1250
1248
|
|
|
@@ -1255,7 +1253,7 @@ Relative paths resolve inside the workspace, but absolute paths can access other
|
|
|
1255
1253
|
host locations unless sandboxing is enabled. If you need isolation, use
|
|
1256
1254
|
[`agents.defaults.sandbox`](/gateway/sandboxing) or per‑agent sandbox settings. If you
|
|
1257
1255
|
want a repo to be the default working directory, point that agent’s
|
|
1258
|
-
`workspace` to the repo root. The
|
|
1256
|
+
`workspace` to the repo root. The Moltbot repo is just source code; keep the
|
|
1259
1257
|
workspace separate unless you intentionally want the agent to work inside it.
|
|
1260
1258
|
|
|
1261
1259
|
Example (repo as default cwd):
|
|
@@ -1278,17 +1276,17 @@ Session state is owned by the **gateway host**. If you’re in remote mode, the
|
|
|
1278
1276
|
|
|
1279
1277
|
### What format is the config Where is it
|
|
1280
1278
|
|
|
1281
|
-
|
|
1279
|
+
Moltbot reads an optional **JSON5** config from `$CLAWDBOT_CONFIG_PATH` (default: `~/.clawdbot/moltbot.json`):
|
|
1282
1280
|
|
|
1283
1281
|
```
|
|
1284
|
-
$
|
|
1282
|
+
$CLAWDBOT_CONFIG_PATH
|
|
1285
1283
|
```
|
|
1286
1284
|
|
|
1287
1285
|
If the file is missing, it uses safe‑ish defaults (including a default workspace of `~/clawd`).
|
|
1288
1286
|
|
|
1289
1287
|
### I set gatewaybind lan or tailnet and now nothing listens the UI says unauthorized
|
|
1290
1288
|
|
|
1291
|
-
Non-loopback binds **require auth**. Configure `gateway.auth.mode` + `gateway.auth.token` (or use `
|
|
1289
|
+
Non-loopback binds **require auth**. Configure `gateway.auth.mode` + `gateway.auth.token` (or use `CLAWDBOT_GATEWAY_TOKEN`).
|
|
1292
1290
|
|
|
1293
1291
|
```json5
|
|
1294
1292
|
{
|
|
@@ -1310,7 +1308,7 @@ Notes:
|
|
|
1310
1308
|
|
|
1311
1309
|
The wizard generates a gateway token by default (even on loopback) so **local WS clients must authenticate**. This blocks other local processes from calling the Gateway. Paste the token into the Control UI settings (or your client config) to connect.
|
|
1312
1310
|
|
|
1313
|
-
If you **really** want open loopback, remove `gateway.auth` from your config. Doctor can generate a token for you any time: `
|
|
1311
|
+
If you **really** want open loopback, remove `gateway.auth` from your config. Doctor can generate a token for you any time: `moltbot doctor --generate-gateway-token`.
|
|
1314
1312
|
|
|
1315
1313
|
### Do I have to restart after changing config
|
|
1316
1314
|
|
|
@@ -1322,7 +1320,7 @@ The Gateway watches the config and supports hot‑reload:
|
|
|
1322
1320
|
### How do I enable web search and web fetch
|
|
1323
1321
|
|
|
1324
1322
|
`web_fetch` works without an API key. `web_search` requires a Brave Search API
|
|
1325
|
-
key. **Recommended:** run `
|
|
1323
|
+
key. **Recommended:** run `moltbot configure --section web` to store it in
|
|
1326
1324
|
`tools.web.search.apiKey`. Environment alternative: set `BRAVE_API_KEY` for the
|
|
1327
1325
|
Gateway process.
|
|
1328
1326
|
|
|
@@ -1346,7 +1344,7 @@ Gateway process.
|
|
|
1346
1344
|
Notes:
|
|
1347
1345
|
- If you use allowlists, add `web_search`/`web_fetch` or `group:web`.
|
|
1348
1346
|
- `web_fetch` is enabled by default (unless explicitly disabled).
|
|
1349
|
-
- Daemons read env vars from `~/.
|
|
1347
|
+
- Daemons read env vars from `~/.clawdbot/.env` (or the service environment).
|
|
1350
1348
|
|
|
1351
1349
|
Docs: [Web tools](/tools/web).
|
|
1352
1350
|
|
|
@@ -1362,7 +1360,7 @@ The common pattern is **one Gateway** (e.g. Raspberry Pi) plus **nodes** and **a
|
|
|
1362
1360
|
|
|
1363
1361
|
Docs: [Nodes](/nodes), [Remote access](/gateway/remote), [Multi-Agent Routing](/concepts/multi-agent), [Sub-agents](/tools/subagents), [TUI](/tui).
|
|
1364
1362
|
|
|
1365
|
-
### Can the
|
|
1363
|
+
### Can the Moltbot browser run headless
|
|
1366
1364
|
|
|
1367
1365
|
Yes. It’s a config option:
|
|
1368
1366
|
|
|
@@ -1413,8 +1411,8 @@ Typical setup:
|
|
|
1413
1411
|
so it can register as a node.
|
|
1414
1412
|
5) Approve the node on the Gateway:
|
|
1415
1413
|
```bash
|
|
1416
|
-
|
|
1417
|
-
|
|
1414
|
+
moltbot nodes pending
|
|
1415
|
+
moltbot nodes approve <requestId>
|
|
1418
1416
|
```
|
|
1419
1417
|
|
|
1420
1418
|
No separate TCP bridge is required; nodes connect over the Gateway WebSocket.
|
|
@@ -1427,9 +1425,9 @@ Docs: [Nodes](/nodes), [Gateway protocol](/gateway/protocol), [macOS remote mode
|
|
|
1427
1425
|
### Tailscale is connected but I get no replies What now
|
|
1428
1426
|
|
|
1429
1427
|
Check the basics:
|
|
1430
|
-
- Gateway is running: `
|
|
1431
|
-
- Gateway health: `
|
|
1432
|
-
- Channel health: `
|
|
1428
|
+
- Gateway is running: `moltbot gateway status`
|
|
1429
|
+
- Gateway health: `moltbot status`
|
|
1430
|
+
- Channel health: `moltbot channels status`
|
|
1433
1431
|
|
|
1434
1432
|
Then verify auth and routing:
|
|
1435
1433
|
- If you use Tailscale Serve, make sure `gateway.auth.allowTailscale` is set correctly.
|
|
@@ -1438,7 +1436,7 @@ Then verify auth and routing:
|
|
|
1438
1436
|
|
|
1439
1437
|
Docs: [Tailscale](/gateway/tailscale), [Remote access](/gateway/remote), [Channels](/channels).
|
|
1440
1438
|
|
|
1441
|
-
### Can two
|
|
1439
|
+
### Can two Moltbots talk to each other local VPS
|
|
1442
1440
|
|
|
1443
1441
|
Yes. There is no built-in "bot-to-bot" bridge, but you can wire it up in a few
|
|
1444
1442
|
reliable ways:
|
|
@@ -1447,13 +1445,13 @@ reliable ways:
|
|
|
1447
1445
|
Have Bot A send a message to Bot B, then let Bot B reply as usual.
|
|
1448
1446
|
|
|
1449
1447
|
**CLI bridge (generic):** run a script that calls the other Gateway with
|
|
1450
|
-
`
|
|
1451
|
-
listens. If one bot is on
|
|
1448
|
+
`moltbot agent --message ... --deliver`, targeting a chat where the other bot
|
|
1449
|
+
listens. If one bot is on a remote VPS, point your CLI at that remote Gateway
|
|
1452
1450
|
via SSH/Tailscale (see [Remote access](/gateway/remote)).
|
|
1453
1451
|
|
|
1454
1452
|
Example pattern (run from a machine that can reach the target Gateway):
|
|
1455
1453
|
```bash
|
|
1456
|
-
|
|
1454
|
+
moltbot agent --message "Hello from local bot" --deliver --channel telegram --reply-to <chat-id>
|
|
1457
1455
|
```
|
|
1458
1456
|
|
|
1459
1457
|
Tip: add a guardrail so the two bots do not loop endlessly (mention-only, channel
|
|
@@ -1461,6 +1459,16 @@ allowlists, or a "do not reply to bot messages" rule).
|
|
|
1461
1459
|
|
|
1462
1460
|
Docs: [Remote access](/gateway/remote), [Agent CLI](/cli/agent), [Agent send](/tools/agent-send).
|
|
1463
1461
|
|
|
1462
|
+
### Do I need separate VPSes for multiple agents
|
|
1463
|
+
|
|
1464
|
+
No. One Gateway can host multiple agents, each with its own workspace, model defaults,
|
|
1465
|
+
and routing. That is the normal setup and it is much cheaper and simpler than running
|
|
1466
|
+
one VPS per agent.
|
|
1467
|
+
|
|
1468
|
+
Use separate VPSes only when you need hard isolation (security boundaries) or very
|
|
1469
|
+
different configs that you do not want to share. Otherwise, keep one Gateway and
|
|
1470
|
+
use multiple agents or sub-agents.
|
|
1471
|
+
|
|
1464
1472
|
### Is there a benefit to using a node on my personal laptop instead of SSH from a VPS
|
|
1465
1473
|
|
|
1466
1474
|
Yes - nodes are the first‑class way to reach your laptop from a remote Gateway, and they
|
|
@@ -1472,7 +1480,7 @@ setup is an always‑on host plus your laptop as a node.
|
|
|
1472
1480
|
- **Safer execution controls.** `system.run` is gated by node allowlists/approvals on that laptop.
|
|
1473
1481
|
- **More device tools.** Nodes expose `canvas`, `camera`, and `screen` in addition to `system.run`.
|
|
1474
1482
|
- **Local browser automation.** Keep the Gateway on a VPS, but run Chrome locally and relay control
|
|
1475
|
-
with the Chrome extension +
|
|
1483
|
+
with the Chrome extension + a node host on the laptop.
|
|
1476
1484
|
|
|
1477
1485
|
SSH is fine for ad‑hoc shell access, but nodes are simpler for ongoing agent workflows and
|
|
1478
1486
|
device automation.
|
|
@@ -1507,14 +1515,14 @@ Yes. `config.apply` validates + writes the full config and restarts the Gateway
|
|
|
1507
1515
|
else is removed.
|
|
1508
1516
|
|
|
1509
1517
|
Recover:
|
|
1510
|
-
- Restore from backup (git or a copied `~/.
|
|
1511
|
-
- If you have no backup, re-run `
|
|
1518
|
+
- Restore from backup (git or a copied `~/.clawdbot/moltbot.json`).
|
|
1519
|
+
- If you have no backup, re-run `moltbot doctor` and reconfigure channels/models.
|
|
1512
1520
|
- If this was unexpected, file a bug and include your last known config or any backup.
|
|
1513
1521
|
- A local coding agent can often reconstruct a working config from logs or history.
|
|
1514
1522
|
|
|
1515
1523
|
Avoid it:
|
|
1516
|
-
- Use `
|
|
1517
|
-
- Use `
|
|
1524
|
+
- Use `moltbot config set` for small changes.
|
|
1525
|
+
- Use `moltbot configure` for interactive edits.
|
|
1518
1526
|
|
|
1519
1527
|
Docs: [Config](/cli/config), [Configure](/cli/configure), [Doctor](/gateway/doctor).
|
|
1520
1528
|
|
|
@@ -1548,7 +1556,7 @@ Minimal steps:
|
|
|
1548
1556
|
|
|
1549
1557
|
If you want the Control UI without SSH, use Tailscale Serve on the VPS:
|
|
1550
1558
|
```bash
|
|
1551
|
-
|
|
1559
|
+
moltbot gateway --tailscale serve
|
|
1552
1560
|
```
|
|
1553
1561
|
This keeps the gateway bound to loopback and exposes HTTPS via Tailscale. See [Tailscale](/gateway/tailscale).
|
|
1554
1562
|
|
|
@@ -1562,20 +1570,20 @@ Recommended setup:
|
|
|
1562
1570
|
The app will tunnel the Gateway port and connect as a node.
|
|
1563
1571
|
3) **Approve the node** on the gateway:
|
|
1564
1572
|
```bash
|
|
1565
|
-
|
|
1566
|
-
|
|
1573
|
+
moltbot nodes pending
|
|
1574
|
+
moltbot nodes approve <requestId>
|
|
1567
1575
|
```
|
|
1568
1576
|
|
|
1569
1577
|
Docs: [Gateway protocol](/gateway/protocol), [Discovery](/gateway/discovery), [macOS remote mode](/platforms/mac/remote).
|
|
1570
1578
|
|
|
1571
1579
|
## Env vars and .env loading
|
|
1572
1580
|
|
|
1573
|
-
### How does
|
|
1581
|
+
### How does Moltbot load environment variables
|
|
1574
1582
|
|
|
1575
|
-
|
|
1583
|
+
Moltbot reads env vars from the parent process (shell, launchd/systemd, CI, etc.) and additionally loads:
|
|
1576
1584
|
|
|
1577
1585
|
- `.env` from the current working directory
|
|
1578
|
-
- a global fallback `.env` from `~/.
|
|
1586
|
+
- a global fallback `.env` from `~/.clawdbot/.env` (aka `$CLAWDBOT_STATE_DIR/.env`)
|
|
1579
1587
|
|
|
1580
1588
|
Neither `.env` file overrides existing env vars.
|
|
1581
1589
|
|
|
@@ -1596,7 +1604,7 @@ See [/environment](/environment) for full precedence and sources.
|
|
|
1596
1604
|
|
|
1597
1605
|
Two common fixes:
|
|
1598
1606
|
|
|
1599
|
-
1) Put the missing keys in `~/.
|
|
1607
|
+
1) Put the missing keys in `~/.clawdbot/.env` so they’re picked up even when the service doesn’t inherit your shell env.
|
|
1600
1608
|
2) Enable shell import (opt‑in convenience):
|
|
1601
1609
|
|
|
1602
1610
|
```json5
|
|
@@ -1611,18 +1619,18 @@ Two common fixes:
|
|
|
1611
1619
|
```
|
|
1612
1620
|
|
|
1613
1621
|
This runs your login shell and imports only missing expected keys (never overrides). Env var equivalents:
|
|
1614
|
-
`
|
|
1622
|
+
`CLAWDBOT_LOAD_SHELL_ENV=1`, `CLAWDBOT_SHELL_ENV_TIMEOUT_MS=15000`.
|
|
1615
1623
|
|
|
1616
1624
|
### I set COPILOTGITHUBTOKEN but models status shows Shell env off Why
|
|
1617
1625
|
|
|
1618
|
-
`
|
|
1619
|
-
does **not** mean your env vars are missing - it just means
|
|
1626
|
+
`moltbot models status` reports whether **shell env import** is enabled. “Shell env: off”
|
|
1627
|
+
does **not** mean your env vars are missing - it just means Moltbot won’t load
|
|
1620
1628
|
your login shell automatically.
|
|
1621
1629
|
|
|
1622
1630
|
If the Gateway runs as a service (launchd/systemd), it won’t inherit your shell
|
|
1623
1631
|
environment. Fix by doing one of these:
|
|
1624
1632
|
|
|
1625
|
-
1) Put the token in `~/.
|
|
1633
|
+
1) Put the token in `~/.clawdbot/.env`:
|
|
1626
1634
|
```
|
|
1627
1635
|
COPILOT_GITHUB_TOKEN=...
|
|
1628
1636
|
```
|
|
@@ -1631,7 +1639,7 @@ environment. Fix by doing one of these:
|
|
|
1631
1639
|
|
|
1632
1640
|
Then restart the gateway and recheck:
|
|
1633
1641
|
```bash
|
|
1634
|
-
|
|
1642
|
+
moltbot models status
|
|
1635
1643
|
```
|
|
1636
1644
|
|
|
1637
1645
|
Copilot tokens are read from `COPILOT_GITHUB_TOKEN` (also `GH_TOKEN` / `GITHUB_TOKEN`).
|
|
@@ -1657,7 +1665,7 @@ transcripts - it just starts a new session.
|
|
|
1657
1665
|
}
|
|
1658
1666
|
```
|
|
1659
1667
|
|
|
1660
|
-
### Is there a way to make a team of
|
|
1668
|
+
### Is there a way to make a team of Moltbots one CEO and many agents
|
|
1661
1669
|
|
|
1662
1670
|
Yes, via **multi-agent routing** and **sub-agents**. You can create one coordinator
|
|
1663
1671
|
agent and several worker agents with their own workspaces and models.
|
|
@@ -1681,30 +1689,30 @@ What helps:
|
|
|
1681
1689
|
- Use sub-agents for long or parallel work so the main chat stays smaller.
|
|
1682
1690
|
- Pick a model with a larger context window if this happens often.
|
|
1683
1691
|
|
|
1684
|
-
### How do I completely reset
|
|
1692
|
+
### How do I completely reset Moltbot but keep it installed
|
|
1685
1693
|
|
|
1686
1694
|
Use the reset command:
|
|
1687
1695
|
|
|
1688
1696
|
```bash
|
|
1689
|
-
|
|
1697
|
+
moltbot reset
|
|
1690
1698
|
```
|
|
1691
1699
|
|
|
1692
1700
|
Non-interactive full reset:
|
|
1693
1701
|
|
|
1694
1702
|
```bash
|
|
1695
|
-
|
|
1703
|
+
moltbot reset --scope full --yes --non-interactive
|
|
1696
1704
|
```
|
|
1697
1705
|
|
|
1698
1706
|
Then re-run onboarding:
|
|
1699
1707
|
|
|
1700
1708
|
```bash
|
|
1701
|
-
|
|
1709
|
+
moltbot onboard --install-daemon
|
|
1702
1710
|
```
|
|
1703
1711
|
|
|
1704
1712
|
Notes:
|
|
1705
1713
|
- The onboarding wizard also offers **Reset** if it sees an existing config. See [Wizard](/start/wizard).
|
|
1706
|
-
- If you used profiles (`--profile` / `
|
|
1707
|
-
- Dev reset: `
|
|
1714
|
+
- If you used profiles (`--profile` / `CLAWDBOT_PROFILE`), reset each state dir (defaults are `~/.clawdbot-<profile>`).
|
|
1715
|
+
- Dev reset: `moltbot gateway --dev --reset` (dev-only; wipes dev config + credentials + sessions + workspace).
|
|
1708
1716
|
|
|
1709
1717
|
### Im getting context too large errors how do I reset or compact
|
|
1710
1718
|
|
|
@@ -1753,14 +1761,14 @@ Heartbeats run every **30m** by default. Tune or disable them:
|
|
|
1753
1761
|
```
|
|
1754
1762
|
|
|
1755
1763
|
If `HEARTBEAT.md` exists but is effectively empty (only blank lines and markdown
|
|
1756
|
-
headers like `# Heading`),
|
|
1764
|
+
headers like `# Heading`), Moltbot skips the heartbeat run to save API calls.
|
|
1757
1765
|
If the file is missing, the heartbeat still runs and the model decides what to do.
|
|
1758
1766
|
|
|
1759
1767
|
Per-agent overrides use `agents.list[].heartbeat`. Docs: [Heartbeat](/gateway/heartbeat).
|
|
1760
1768
|
|
|
1761
1769
|
### Do I need to add a bot account to a WhatsApp group
|
|
1762
1770
|
|
|
1763
|
-
No.
|
|
1771
|
+
No. Moltbot runs on **your own account**, so if you’re in the group, Moltbot can see it.
|
|
1764
1772
|
By default, group replies are blocked until you allow senders (`groupPolicy: "allowlist"`).
|
|
1765
1773
|
|
|
1766
1774
|
If you want only **you** to be able to trigger group replies:
|
|
@@ -1781,7 +1789,7 @@ If you want only **you** to be able to trigger group replies:
|
|
|
1781
1789
|
Option 1 (fastest): tail logs and send a test message in the group:
|
|
1782
1790
|
|
|
1783
1791
|
```bash
|
|
1784
|
-
|
|
1792
|
+
moltbot logs --follow --json
|
|
1785
1793
|
```
|
|
1786
1794
|
|
|
1787
1795
|
Look for `chatId` (or `from`) ending in `@g.us`, like:
|
|
@@ -1790,12 +1798,12 @@ Look for `chatId` (or `from`) ending in `@g.us`, like:
|
|
|
1790
1798
|
Option 2 (if already configured/allowlisted): list groups from config:
|
|
1791
1799
|
|
|
1792
1800
|
```bash
|
|
1793
|
-
|
|
1801
|
+
moltbot directory groups list --channel whatsapp
|
|
1794
1802
|
```
|
|
1795
1803
|
|
|
1796
1804
|
Docs: [WhatsApp](/channels/whatsapp), [Directory](/cli/directory), [Logs](/cli/logs).
|
|
1797
1805
|
|
|
1798
|
-
### Why doesnt
|
|
1806
|
+
### Why doesnt Moltbot reply in a group
|
|
1799
1807
|
|
|
1800
1808
|
Two common causes:
|
|
1801
1809
|
- Mention gating is on (default). You must @mention the bot (or match `mentionPatterns`).
|
|
@@ -1811,14 +1819,14 @@ Direct chats collapse to the main session by default. Groups/channels have their
|
|
|
1811
1819
|
|
|
1812
1820
|
No hard limits. Dozens (even hundreds) are fine, but watch for:
|
|
1813
1821
|
|
|
1814
|
-
- **Disk growth:** sessions + transcripts live under `~/.
|
|
1822
|
+
- **Disk growth:** sessions + transcripts live under `~/.clawdbot/agents/<agentId>/sessions/`.
|
|
1815
1823
|
- **Token cost:** more agents means more concurrent model usage.
|
|
1816
1824
|
- **Ops overhead:** per-agent auth profiles, workspaces, and channel routing.
|
|
1817
1825
|
|
|
1818
1826
|
Tips:
|
|
1819
1827
|
- Keep one **active** workspace per agent (`agents.defaults.workspace`).
|
|
1820
1828
|
- Prune old sessions (delete JSONL or store entries) if disk grows.
|
|
1821
|
-
- Use `
|
|
1829
|
+
- Use `moltbot doctor` to spot stray workspaces and profile mismatches.
|
|
1822
1830
|
|
|
1823
1831
|
### Can I run multiple bots or chats at the same time Slack and how should I set that up
|
|
1824
1832
|
|
|
@@ -1842,13 +1850,13 @@ Docs: [Multi‑Agent Routing](/concepts/multi-agent), [Slack](/channels/slack),
|
|
|
1842
1850
|
|
|
1843
1851
|
### What is the default model
|
|
1844
1852
|
|
|
1845
|
-
|
|
1853
|
+
Moltbot’s default model is whatever you set as:
|
|
1846
1854
|
|
|
1847
1855
|
```
|
|
1848
1856
|
agents.defaults.model.primary
|
|
1849
1857
|
```
|
|
1850
1858
|
|
|
1851
|
-
Models are referenced as `provider/model` (example: `anthropic/claude-opus-4-5`). If you omit the provider,
|
|
1859
|
+
Models are referenced as `provider/model` (example: `anthropic/claude-opus-4-5`). If you omit the provider, Moltbot currently assumes `anthropic` as a temporary deprecation fallback - but you should still **explicitly** set `provider/model`.
|
|
1852
1860
|
|
|
1853
1861
|
### What model do you recommend
|
|
1854
1862
|
|
|
@@ -1889,12 +1897,12 @@ Use **model commands** or edit only the **model** fields. Avoid full config repl
|
|
|
1889
1897
|
|
|
1890
1898
|
Safe options:
|
|
1891
1899
|
- `/model` in chat (quick, per-session)
|
|
1892
|
-
- `
|
|
1893
|
-
- `
|
|
1894
|
-
- edit `agents.defaults.model` in `~/.
|
|
1900
|
+
- `moltbot models set ...` (updates just model config)
|
|
1901
|
+
- `moltbot configure --section models` (interactive)
|
|
1902
|
+
- edit `agents.defaults.model` in `~/.clawdbot/moltbot.json`
|
|
1895
1903
|
|
|
1896
1904
|
Avoid `config.apply` with a partial object unless you intend to replace the whole config.
|
|
1897
|
-
If you did overwrite config, restore from backup or re-run `
|
|
1905
|
+
If you did overwrite config, restore from backup or re-run `moltbot doctor` to repair.
|
|
1898
1906
|
|
|
1899
1907
|
Docs: [Models](/concepts/models), [Configure](/cli/configure), [Config](/cli/config), [Doctor](/gateway/doctor).
|
|
1900
1908
|
|
|
@@ -1928,8 +1936,8 @@ You can list available models with `/model`, `/model list`, or `/model status`.
|
|
|
1928
1936
|
You can also force a specific auth profile for the provider (per session):
|
|
1929
1937
|
|
|
1930
1938
|
```
|
|
1931
|
-
/model opus@anthropic:claude-cli
|
|
1932
1939
|
/model opus@anthropic:default
|
|
1940
|
+
/model opus@anthropic:work
|
|
1933
1941
|
```
|
|
1934
1942
|
|
|
1935
1943
|
Tip: `/model status` shows which agent is active, which `auth-profiles.json` file is being used, and which auth profile will be tried next.
|
|
@@ -1946,6 +1954,16 @@ Re-run `/model` **without** the `@profile` suffix:
|
|
|
1946
1954
|
If you want to return to the default, pick it from `/model` (or send `/model <default provider/model>`).
|
|
1947
1955
|
Use `/model status` to confirm which auth profile is active.
|
|
1948
1956
|
|
|
1957
|
+
### Can I use GPT 5.2 for daily tasks and Codex 5.2 for coding
|
|
1958
|
+
|
|
1959
|
+
Yes. Set one as default and switch as needed:
|
|
1960
|
+
|
|
1961
|
+
- **Quick switch (per session):** `/model gpt-5.2` for daily tasks, `/model gpt-5.2-codex` for coding.
|
|
1962
|
+
- **Default + switch:** set `agents.defaults.model.primary` to `openai-codex/gpt-5.2`, then switch to `openai-codex/gpt-5.2-codex` when coding (or the other way around).
|
|
1963
|
+
- **Sub-agents:** route coding tasks to sub-agents with a different default model.
|
|
1964
|
+
|
|
1965
|
+
See [Models](/concepts/models) and [Slash commands](/tools/slash-commands).
|
|
1966
|
+
|
|
1949
1967
|
### Why do I see Model is not allowed and then no reply
|
|
1950
1968
|
|
|
1951
1969
|
If `agents.defaults.models` is set, it becomes the **allowlist** for `/model` and any
|
|
@@ -1972,7 +1990,7 @@ Fix checklist:
|
|
|
1972
1990
|
`minimax/MiniMax-M2.1-lightning`.
|
|
1973
1991
|
4) Run:
|
|
1974
1992
|
```bash
|
|
1975
|
-
|
|
1993
|
+
moltbot models list
|
|
1976
1994
|
```
|
|
1977
1995
|
and pick from the list (or `/model list` in chat).
|
|
1978
1996
|
|
|
@@ -2013,7 +2031,7 @@ Docs: [Models](/concepts/models), [Multi-Agent Routing](/concepts/multi-agent),
|
|
|
2013
2031
|
|
|
2014
2032
|
### Are opus sonnet gpt builtin shortcuts
|
|
2015
2033
|
|
|
2016
|
-
Yes.
|
|
2034
|
+
Yes. Moltbot ships a few default shorthands (only applied when the model exists in `agents.defaults.models`):
|
|
2017
2035
|
|
|
2018
2036
|
- `opus` → `anthropic/claude-opus-4-5`
|
|
2019
2037
|
- `sonnet` → `anthropic/claude-sonnet-4-5`
|
|
@@ -2083,11 +2101,11 @@ This usually means the **new agent** has an empty auth store. Auth is per-agent
|
|
|
2083
2101
|
stored in:
|
|
2084
2102
|
|
|
2085
2103
|
```
|
|
2086
|
-
~/.
|
|
2104
|
+
~/.clawdbot/agents/<agentId>/agent/auth-profiles.json
|
|
2087
2105
|
```
|
|
2088
2106
|
|
|
2089
2107
|
Fix options:
|
|
2090
|
-
- Run `
|
|
2108
|
+
- Run `moltbot agents add <id>` and configure auth during the wizard.
|
|
2091
2109
|
- Or copy `auth-profiles.json` from the main agent’s `agentDir` into the new agent’s `agentDir`.
|
|
2092
2110
|
|
|
2093
2111
|
Do **not** reuse `agentDir` across agents; it causes auth/session collisions.
|
|
@@ -2101,7 +2119,7 @@ Failover happens in two stages:
|
|
|
2101
2119
|
1) **Auth profile rotation** within the same provider.
|
|
2102
2120
|
2) **Model fallback** to the next model in `agents.defaults.model.fallbacks`.
|
|
2103
2121
|
|
|
2104
|
-
Cooldowns apply to failing profiles (exponential backoff), so
|
|
2122
|
+
Cooldowns apply to failing profiles (exponential backoff), so Moltbot can keep responding even when a provider is rate‑limited or temporarily failing.
|
|
2105
2123
|
|
|
2106
2124
|
### What does this error mean
|
|
2107
2125
|
|
|
@@ -2114,39 +2132,35 @@ It means the system attempted to use the auth profile ID `anthropic:default`, bu
|
|
|
2114
2132
|
### Fix checklist for No credentials found for profile anthropicdefault
|
|
2115
2133
|
|
|
2116
2134
|
- **Confirm where auth profiles live** (new vs legacy paths)
|
|
2117
|
-
- Current: `~/.
|
|
2118
|
-
- Legacy: `~/.
|
|
2135
|
+
- Current: `~/.clawdbot/agents/<agentId>/agent/auth-profiles.json`
|
|
2136
|
+
- Legacy: `~/.clawdbot/agent/*` (migrated by `moltbot doctor`)
|
|
2119
2137
|
- **Confirm your env var is loaded by the Gateway**
|
|
2120
|
-
- If you set `ANTHROPIC_API_KEY` in your shell but run the Gateway via systemd/launchd, it may not inherit it. Put it in `~/.
|
|
2138
|
+
- If you set `ANTHROPIC_API_KEY` in your shell but run the Gateway via systemd/launchd, it may not inherit it. Put it in `~/.clawdbot/.env` or enable `env.shellEnv`.
|
|
2121
2139
|
- **Make sure you’re editing the correct agent**
|
|
2122
2140
|
- Multi‑agent setups mean there can be multiple `auth-profiles.json` files.
|
|
2123
2141
|
- **Sanity‑check model/auth status**
|
|
2124
|
-
- Use `
|
|
2142
|
+
- Use `moltbot models status` to see configured models and whether providers are authenticated.
|
|
2125
2143
|
|
|
2126
|
-
**Fix checklist for No credentials found for profile anthropic
|
|
2144
|
+
**Fix checklist for No credentials found for profile anthropic**
|
|
2127
2145
|
|
|
2128
|
-
This means the run is pinned to
|
|
2129
|
-
can’t find
|
|
2146
|
+
This means the run is pinned to an Anthropic auth profile, but the Gateway
|
|
2147
|
+
can’t find it in its auth store.
|
|
2130
2148
|
|
|
2131
|
-
- **
|
|
2132
|
-
- Run `
|
|
2133
|
-
- If
|
|
2134
|
-
- **If the token was created on another machine**
|
|
2135
|
-
- Paste it into the gateway host with `pigbot models auth paste-token --provider anthropic`.
|
|
2136
|
-
- **Check the profile mode**
|
|
2137
|
-
- `auth.profiles["anthropic:claude-cli"].mode` must be `"oauth"` (token mode rejects OAuth credentials).
|
|
2149
|
+
- **Use a setup-token**
|
|
2150
|
+
- Run `claude setup-token`, then paste it with `moltbot models auth setup-token --provider anthropic`.
|
|
2151
|
+
- If the token was created on another machine, use `moltbot models auth paste-token --provider anthropic`.
|
|
2138
2152
|
- **If you want to use an API key instead**
|
|
2139
|
-
- Put `ANTHROPIC_API_KEY` in `~/.
|
|
2140
|
-
- Clear any pinned order that forces
|
|
2153
|
+
- Put `ANTHROPIC_API_KEY` in `~/.clawdbot/.env` on the **gateway host**.
|
|
2154
|
+
- Clear any pinned order that forces a missing profile:
|
|
2141
2155
|
```bash
|
|
2142
|
-
|
|
2156
|
+
moltbot models auth order clear --provider anthropic
|
|
2143
2157
|
```
|
|
2144
2158
|
- **Confirm you’re running commands on the gateway host**
|
|
2145
2159
|
- In remote mode, auth profiles live on the gateway machine, not your laptop.
|
|
2146
2160
|
|
|
2147
2161
|
### Why did it also try Google Gemini and fail
|
|
2148
2162
|
|
|
2149
|
-
If your model config includes Google Gemini as a fallback (or you switched to a Gemini shorthand),
|
|
2163
|
+
If your model config includes Google Gemini as a fallback (or you switched to a Gemini shorthand), Moltbot will try it during model fallback. If you haven’t configured Google credentials, you’ll see `No API key found for provider "google"`.
|
|
2150
2164
|
|
|
2151
2165
|
Fix: either provide Google auth, or remove/avoid Google models in `agents.defaults.model.fallbacks` / aliases so fallback doesn’t route there.
|
|
2152
2166
|
|
|
@@ -2155,23 +2169,23 @@ Fix: either provide Google auth, or remove/avoid Google models in `agents.defaul
|
|
|
2155
2169
|
Cause: the session history contains **thinking blocks without signatures** (often from
|
|
2156
2170
|
an aborted/partial stream). Google Antigravity requires signatures for thinking blocks.
|
|
2157
2171
|
|
|
2158
|
-
Fix:
|
|
2172
|
+
Fix: Moltbot now strips unsigned thinking blocks for Google Antigravity Claude. If it still appears, start a **new session** or set `/thinking off` for that agent.
|
|
2159
2173
|
|
|
2160
2174
|
## Auth profiles: what they are and how to manage them
|
|
2161
2175
|
|
|
2162
|
-
Related: [/concepts/oauth](/concepts/oauth) (OAuth flows, token storage, multi-account patterns
|
|
2176
|
+
Related: [/concepts/oauth](/concepts/oauth) (OAuth flows, token storage, multi-account patterns)
|
|
2163
2177
|
|
|
2164
2178
|
### What is an auth profile
|
|
2165
2179
|
|
|
2166
2180
|
An auth profile is a named credential record (OAuth or API key) tied to a provider. Profiles live in:
|
|
2167
2181
|
|
|
2168
2182
|
```
|
|
2169
|
-
~/.
|
|
2183
|
+
~/.clawdbot/agents/<agentId>/agent/auth-profiles.json
|
|
2170
2184
|
```
|
|
2171
2185
|
|
|
2172
2186
|
### What are typical profile IDs
|
|
2173
2187
|
|
|
2174
|
-
|
|
2188
|
+
Moltbot uses provider‑prefixed IDs like:
|
|
2175
2189
|
|
|
2176
2190
|
- `anthropic:default` (common when no email identity exists)
|
|
2177
2191
|
- `anthropic:<email>` for OAuth identities
|
|
@@ -2181,38 +2195,38 @@ Pigbot uses provider‑prefixed IDs like:
|
|
|
2181
2195
|
|
|
2182
2196
|
Yes. Config supports optional metadata for profiles and an ordering per provider (`auth.order.<provider>`). This does **not** store secrets; it maps IDs to provider/mode and sets rotation order.
|
|
2183
2197
|
|
|
2184
|
-
|
|
2198
|
+
Moltbot may temporarily skip a profile if it’s in a short **cooldown** (rate limits/timeouts/auth failures) or a longer **disabled** state (billing/insufficient credits). To inspect this, run `moltbot models status --json` and check `auth.unusableProfiles`. Tuning: `auth.cooldowns.billingBackoffHours*`.
|
|
2185
2199
|
|
|
2186
2200
|
You can also set a **per-agent** order override (stored in that agent’s `auth-profiles.json`) via the CLI:
|
|
2187
2201
|
|
|
2188
2202
|
```bash
|
|
2189
2203
|
# Defaults to the configured default agent (omit --agent)
|
|
2190
|
-
|
|
2204
|
+
moltbot models auth order get --provider anthropic
|
|
2191
2205
|
|
|
2192
2206
|
# Lock rotation to a single profile (only try this one)
|
|
2193
|
-
|
|
2207
|
+
moltbot models auth order set --provider anthropic anthropic:default
|
|
2194
2208
|
|
|
2195
2209
|
# Or set an explicit order (fallback within provider)
|
|
2196
|
-
|
|
2210
|
+
moltbot models auth order set --provider anthropic anthropic:work anthropic:default
|
|
2197
2211
|
|
|
2198
2212
|
# Clear override (fall back to config auth.order / round-robin)
|
|
2199
|
-
|
|
2213
|
+
moltbot models auth order clear --provider anthropic
|
|
2200
2214
|
```
|
|
2201
2215
|
|
|
2202
2216
|
To target a specific agent:
|
|
2203
2217
|
|
|
2204
2218
|
```bash
|
|
2205
|
-
|
|
2219
|
+
moltbot models auth order set --provider anthropic --agent main anthropic:default
|
|
2206
2220
|
```
|
|
2207
2221
|
|
|
2208
2222
|
### OAuth vs API key whats the difference
|
|
2209
2223
|
|
|
2210
|
-
|
|
2224
|
+
Moltbot supports both:
|
|
2211
2225
|
|
|
2212
2226
|
- **OAuth** often leverages subscription access (where applicable).
|
|
2213
2227
|
- **API keys** use pay‑per‑token billing.
|
|
2214
2228
|
|
|
2215
|
-
The wizard explicitly supports Anthropic
|
|
2229
|
+
The wizard explicitly supports Anthropic setup-token and OpenAI Codex OAuth and can store API keys for you.
|
|
2216
2230
|
|
|
2217
2231
|
## Gateway: ports, “already running”, and remote mode
|
|
2218
2232
|
|
|
@@ -2223,35 +2237,35 @@ The wizard explicitly supports Anthropic OAuth and OpenAI Codex OAuth and can st
|
|
|
2223
2237
|
Precedence:
|
|
2224
2238
|
|
|
2225
2239
|
```
|
|
2226
|
-
--port >
|
|
2240
|
+
--port > CLAWDBOT_GATEWAY_PORT > gateway.port > default 18789
|
|
2227
2241
|
```
|
|
2228
2242
|
|
|
2229
|
-
### Why does
|
|
2243
|
+
### Why does moltbot gateway status say Runtime running but RPC probe failed
|
|
2230
2244
|
|
|
2231
2245
|
Because “running” is the **supervisor’s** view (launchd/systemd/schtasks). The RPC probe is the CLI actually connecting to the gateway WebSocket and calling `status`.
|
|
2232
2246
|
|
|
2233
|
-
Use `
|
|
2247
|
+
Use `moltbot gateway status` and trust these lines:
|
|
2234
2248
|
- `Probe target:` (the URL the probe actually used)
|
|
2235
2249
|
- `Listening:` (what’s actually bound on the port)
|
|
2236
2250
|
- `Last gateway error:` (common root cause when the process is alive but the port isn’t listening)
|
|
2237
2251
|
|
|
2238
|
-
### Why does
|
|
2252
|
+
### Why does moltbot gateway status show Config cli and Config service different
|
|
2239
2253
|
|
|
2240
|
-
You’re editing one config file while the service is running another (often a `--profile` / `
|
|
2254
|
+
You’re editing one config file while the service is running another (often a `--profile` / `CLAWDBOT_STATE_DIR` mismatch).
|
|
2241
2255
|
|
|
2242
2256
|
Fix:
|
|
2243
2257
|
```bash
|
|
2244
|
-
|
|
2258
|
+
moltbot gateway install --force
|
|
2245
2259
|
```
|
|
2246
2260
|
Run that from the same `--profile` / environment you want the service to use.
|
|
2247
2261
|
|
|
2248
2262
|
### What does another gateway instance is already listening mean
|
|
2249
2263
|
|
|
2250
|
-
|
|
2264
|
+
Moltbot enforces a runtime lock by binding the WebSocket listener immediately on startup (default `ws://127.0.0.1:18789`). If the bind fails with `EADDRINUSE`, it throws `GatewayLockError` indicating another instance is already listening.
|
|
2251
2265
|
|
|
2252
|
-
Fix: stop the other instance, free the port, or run with `
|
|
2266
|
+
Fix: stop the other instance, free the port, or run with `moltbot gateway --port <port>`.
|
|
2253
2267
|
|
|
2254
|
-
### How do I run
|
|
2268
|
+
### How do I run Moltbot in remote mode client connects to a Gateway elsewhere
|
|
2255
2269
|
|
|
2256
2270
|
Set `gateway.mode: "remote"` and point to a remote WebSocket URL, optionally with a token/password:
|
|
2257
2271
|
|
|
@@ -2269,7 +2283,7 @@ Set `gateway.mode: "remote"` and point to a remote WebSocket URL, optionally wit
|
|
|
2269
2283
|
```
|
|
2270
2284
|
|
|
2271
2285
|
Notes:
|
|
2272
|
-
- `
|
|
2286
|
+
- `moltbot gateway` only starts when `gateway.mode` is `local` (or you pass the override flag).
|
|
2273
2287
|
- The macOS app watches the config file and switches modes live when these values change.
|
|
2274
2288
|
|
|
2275
2289
|
### The Control UI says unauthorized or keeps reconnecting What now
|
|
@@ -2277,16 +2291,16 @@ Notes:
|
|
|
2277
2291
|
Your gateway is running with auth enabled (`gateway.auth.*`), but the UI is not sending the matching token/password.
|
|
2278
2292
|
|
|
2279
2293
|
Facts (from code):
|
|
2280
|
-
- The Control UI stores the token in browser localStorage key `
|
|
2294
|
+
- The Control UI stores the token in browser localStorage key `moltbot.control.settings.v1`.
|
|
2281
2295
|
- The UI can import `?token=...` (and/or `?password=...`) once, then strips it from the URL.
|
|
2282
2296
|
|
|
2283
2297
|
Fix:
|
|
2284
|
-
- Fastest: `
|
|
2285
|
-
- If you don’t have a token yet: `
|
|
2298
|
+
- Fastest: `moltbot dashboard` (prints + copies tokenized link, tries to open; shows SSH hint if headless).
|
|
2299
|
+
- If you don’t have a token yet: `moltbot doctor --generate-gateway-token`.
|
|
2286
2300
|
- If remote, tunnel first: `ssh -N -L 18789:127.0.0.1:18789 user@host` then open `http://127.0.0.1:18789/?token=...`.
|
|
2287
|
-
- Set `gateway.auth.token` (or `
|
|
2301
|
+
- Set `gateway.auth.token` (or `CLAWDBOT_GATEWAY_TOKEN`) on the gateway host.
|
|
2288
2302
|
- In the Control UI settings, paste the same token (or refresh with a one-time `?token=...` link).
|
|
2289
|
-
- Still stuck? Run `
|
|
2303
|
+
- Still stuck? Run `moltbot status --all` and follow [Troubleshooting](/gateway/troubleshooting). See [Dashboard](/web/dashboard) for auth details.
|
|
2290
2304
|
|
|
2291
2305
|
### I set gatewaybind tailnet but it cant bind nothing listens
|
|
2292
2306
|
|
|
@@ -2304,17 +2318,17 @@ Usually no - one Gateway can run multiple messaging channels and agents. Use mul
|
|
|
2304
2318
|
|
|
2305
2319
|
Yes, but you must isolate:
|
|
2306
2320
|
|
|
2307
|
-
- `
|
|
2308
|
-
- `
|
|
2321
|
+
- `CLAWDBOT_CONFIG_PATH` (per‑instance config)
|
|
2322
|
+
- `CLAWDBOT_STATE_DIR` (per‑instance state)
|
|
2309
2323
|
- `agents.defaults.workspace` (workspace isolation)
|
|
2310
2324
|
- `gateway.port` (unique ports)
|
|
2311
2325
|
|
|
2312
2326
|
Quick setup (recommended):
|
|
2313
|
-
- Use `
|
|
2327
|
+
- Use `moltbot --profile <name> …` per instance (auto-creates `~/.clawdbot-<name>`).
|
|
2314
2328
|
- Set a unique `gateway.port` in each profile config (or pass `--port` for manual runs).
|
|
2315
|
-
- Install a per-profile service: `
|
|
2329
|
+
- Install a per-profile service: `moltbot --profile <name> gateway install`.
|
|
2316
2330
|
|
|
2317
|
-
Profiles also suffix service names (`
|
|
2331
|
+
Profiles also suffix service names (`bot.molt.<profile>`; legacy `com.clawdbot.*`, `moltbot-gateway-<profile>.service`, `Moltbot Gateway (<profile>)`).
|
|
2318
2332
|
Full guide: [Multiple gateways](/gateway/multiple-gateways).
|
|
2319
2333
|
|
|
2320
2334
|
### What does invalid handshake code 1008 mean
|
|
@@ -2335,7 +2349,7 @@ Quick fixes:
|
|
|
2335
2349
|
|
|
2336
2350
|
If you’re using the CLI or TUI, the URL should look like:
|
|
2337
2351
|
```
|
|
2338
|
-
|
|
2352
|
+
moltbot tui --url ws://<host>:18789 --token <token>
|
|
2339
2353
|
```
|
|
2340
2354
|
|
|
2341
2355
|
Protocol details: [Gateway protocol](/gateway/protocol).
|
|
@@ -2347,7 +2361,7 @@ Protocol details: [Gateway protocol](/gateway/protocol).
|
|
|
2347
2361
|
File logs (structured):
|
|
2348
2362
|
|
|
2349
2363
|
```
|
|
2350
|
-
/tmp/
|
|
2364
|
+
/tmp/moltbot/moltbot-YYYY-MM-DD.log
|
|
2351
2365
|
```
|
|
2352
2366
|
|
|
2353
2367
|
You can set a stable path via `logging.file`. File log level is controlled by `logging.level`. Console verbosity is controlled by `--verbose` and `logging.consoleLevel`.
|
|
@@ -2355,13 +2369,13 @@ You can set a stable path via `logging.file`. File log level is controlled by `l
|
|
|
2355
2369
|
Fastest log tail:
|
|
2356
2370
|
|
|
2357
2371
|
```bash
|
|
2358
|
-
|
|
2372
|
+
moltbot logs --follow
|
|
2359
2373
|
```
|
|
2360
2374
|
|
|
2361
2375
|
Service/supervisor logs (when the gateway runs via launchd/systemd):
|
|
2362
|
-
- macOS: `$
|
|
2363
|
-
- Linux: `journalctl --user -u
|
|
2364
|
-
- Windows: `schtasks /Query /TN "
|
|
2376
|
+
- macOS: `$CLAWDBOT_STATE_DIR/logs/gateway.log` and `gateway.err.log` (default: `~/.clawdbot/logs/...`; profiles use `~/.clawdbot-<profile>/logs/...`)
|
|
2377
|
+
- Linux: `journalctl --user -u moltbot-gateway[-<profile>].service -n 200 --no-pager`
|
|
2378
|
+
- Windows: `schtasks /Query /TN "Moltbot Gateway (<profile>)" /V /FO LIST`
|
|
2365
2379
|
|
|
2366
2380
|
See [Troubleshooting](/gateway/troubleshooting#log-locations) for more.
|
|
2367
2381
|
|
|
@@ -2370,13 +2384,13 @@ See [Troubleshooting](/gateway/troubleshooting#log-locations) for more.
|
|
|
2370
2384
|
Use the gateway helpers:
|
|
2371
2385
|
|
|
2372
2386
|
```bash
|
|
2373
|
-
|
|
2374
|
-
|
|
2387
|
+
moltbot gateway status
|
|
2388
|
+
moltbot gateway restart
|
|
2375
2389
|
```
|
|
2376
2390
|
|
|
2377
|
-
If you run the gateway manually, `
|
|
2391
|
+
If you run the gateway manually, `moltbot gateway --force` can reclaim the port. See [Gateway](/gateway).
|
|
2378
2392
|
|
|
2379
|
-
### I closed my terminal on Windows how do I restart
|
|
2393
|
+
### I closed my terminal on Windows how do I restart Moltbot
|
|
2380
2394
|
|
|
2381
2395
|
There are **two Windows install modes**:
|
|
2382
2396
|
|
|
@@ -2386,14 +2400,14 @@ Open PowerShell, enter WSL, then restart:
|
|
|
2386
2400
|
|
|
2387
2401
|
```powershell
|
|
2388
2402
|
wsl
|
|
2389
|
-
|
|
2390
|
-
|
|
2403
|
+
moltbot gateway status
|
|
2404
|
+
moltbot gateway restart
|
|
2391
2405
|
```
|
|
2392
2406
|
|
|
2393
2407
|
If you never installed the service, start it in the foreground:
|
|
2394
2408
|
|
|
2395
2409
|
```bash
|
|
2396
|
-
|
|
2410
|
+
moltbot gateway run
|
|
2397
2411
|
```
|
|
2398
2412
|
|
|
2399
2413
|
**2) Native Windows (not recommended):** the Gateway runs directly in Windows.
|
|
@@ -2401,14 +2415,14 @@ pigbot gateway run
|
|
|
2401
2415
|
Open PowerShell and run:
|
|
2402
2416
|
|
|
2403
2417
|
```powershell
|
|
2404
|
-
|
|
2405
|
-
|
|
2418
|
+
moltbot gateway status
|
|
2419
|
+
moltbot gateway restart
|
|
2406
2420
|
```
|
|
2407
2421
|
|
|
2408
2422
|
If you run it manually (no service), use:
|
|
2409
2423
|
|
|
2410
2424
|
```powershell
|
|
2411
|
-
|
|
2425
|
+
moltbot gateway run
|
|
2412
2426
|
```
|
|
2413
2427
|
|
|
2414
2428
|
Docs: [Windows (WSL2)](/platforms/windows), [Gateway service runbook](/gateway).
|
|
@@ -2418,10 +2432,10 @@ Docs: [Windows (WSL2)](/platforms/windows), [Gateway service runbook](/gateway).
|
|
|
2418
2432
|
Start with a quick health sweep:
|
|
2419
2433
|
|
|
2420
2434
|
```bash
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2435
|
+
moltbot status
|
|
2436
|
+
moltbot models status
|
|
2437
|
+
moltbot channels status
|
|
2438
|
+
moltbot logs --follow
|
|
2425
2439
|
```
|
|
2426
2440
|
|
|
2427
2441
|
Common causes:
|
|
@@ -2438,15 +2452,15 @@ Docs: [Channels](/channels), [Troubleshooting](/gateway/troubleshooting), [Remot
|
|
|
2438
2452
|
|
|
2439
2453
|
This usually means the UI lost the WebSocket connection. Check:
|
|
2440
2454
|
|
|
2441
|
-
1) Is the Gateway running? `
|
|
2442
|
-
2) Is the Gateway healthy? `
|
|
2443
|
-
3) Does the UI have the right token? `
|
|
2455
|
+
1) Is the Gateway running? `moltbot gateway status`
|
|
2456
|
+
2) Is the Gateway healthy? `moltbot status`
|
|
2457
|
+
3) Does the UI have the right token? `moltbot dashboard`
|
|
2444
2458
|
4) If remote, is the tunnel/Tailscale link up?
|
|
2445
2459
|
|
|
2446
2460
|
Then tail logs:
|
|
2447
2461
|
|
|
2448
2462
|
```bash
|
|
2449
|
-
|
|
2463
|
+
moltbot logs --follow
|
|
2450
2464
|
```
|
|
2451
2465
|
|
|
2452
2466
|
Docs: [Dashboard](/web/dashboard), [Remote access](/gateway/remote), [Troubleshooting](/gateway/troubleshooting).
|
|
@@ -2456,8 +2470,8 @@ Docs: [Dashboard](/web/dashboard), [Remote access](/gateway/remote), [Troublesho
|
|
|
2456
2470
|
Start with logs and channel status:
|
|
2457
2471
|
|
|
2458
2472
|
```bash
|
|
2459
|
-
|
|
2460
|
-
|
|
2473
|
+
moltbot channels status
|
|
2474
|
+
moltbot channels logs --channel telegram
|
|
2461
2475
|
```
|
|
2462
2476
|
|
|
2463
2477
|
If you are on a VPS or behind a proxy, confirm outbound HTTPS is allowed and DNS works.
|
|
@@ -2470,9 +2484,9 @@ Docs: [Telegram](/channels/telegram), [Channel troubleshooting](/channels/troubl
|
|
|
2470
2484
|
First confirm the Gateway is reachable and the agent can run:
|
|
2471
2485
|
|
|
2472
2486
|
```bash
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2487
|
+
moltbot status
|
|
2488
|
+
moltbot models status
|
|
2489
|
+
moltbot logs --follow
|
|
2476
2490
|
```
|
|
2477
2491
|
|
|
2478
2492
|
In the TUI, use `/status` to see the current state. If you expect replies in a chat
|
|
@@ -2485,8 +2499,8 @@ Docs: [TUI](/tui), [Slash commands](/tools/slash-commands).
|
|
|
2485
2499
|
If you installed the service:
|
|
2486
2500
|
|
|
2487
2501
|
```bash
|
|
2488
|
-
|
|
2489
|
-
|
|
2502
|
+
moltbot gateway stop
|
|
2503
|
+
moltbot gateway start
|
|
2490
2504
|
```
|
|
2491
2505
|
|
|
2492
2506
|
This stops/starts the **supervised service** (launchd on macOS, systemd on Linux).
|
|
@@ -2495,17 +2509,17 @@ Use this when the Gateway runs in the background as a daemon.
|
|
|
2495
2509
|
If you’re running in the foreground, stop with Ctrl‑C, then:
|
|
2496
2510
|
|
|
2497
2511
|
```bash
|
|
2498
|
-
|
|
2512
|
+
moltbot gateway run
|
|
2499
2513
|
```
|
|
2500
2514
|
|
|
2501
2515
|
Docs: [Gateway service runbook](/gateway).
|
|
2502
2516
|
|
|
2503
|
-
### ELI5
|
|
2517
|
+
### ELI5 moltbot gateway restart vs moltbot gateway
|
|
2504
2518
|
|
|
2505
|
-
- `
|
|
2506
|
-
- `
|
|
2519
|
+
- `moltbot gateway restart`: restarts the **background service** (launchd/systemd).
|
|
2520
|
+
- `moltbot gateway`: runs the gateway **in the foreground** for this terminal session.
|
|
2507
2521
|
|
|
2508
|
-
If you installed the service, use the gateway commands. Use `
|
|
2522
|
+
If you installed the service, use the gateway commands. Use `moltbot gateway` when
|
|
2509
2523
|
you want a one-off, foreground run.
|
|
2510
2524
|
|
|
2511
2525
|
### Whats the fastest way to get more details when something fails
|
|
@@ -2516,12 +2530,12 @@ Start the Gateway with `--verbose` to get more console detail. Then inspect the
|
|
|
2516
2530
|
|
|
2517
2531
|
### My skill generated an imagePDF but nothing was sent
|
|
2518
2532
|
|
|
2519
|
-
Outbound attachments from the agent must include a `MEDIA:<path-or-url>` line (on its own line). See [
|
|
2533
|
+
Outbound attachments from the agent must include a `MEDIA:<path-or-url>` line (on its own line). See [Moltbot assistant setup](/start/clawd) and [Agent send](/tools/agent-send).
|
|
2520
2534
|
|
|
2521
2535
|
CLI sending:
|
|
2522
2536
|
|
|
2523
2537
|
```bash
|
|
2524
|
-
|
|
2538
|
+
moltbot message send --target +15555550123 --message "Here you go" --media /path/to/file.png
|
|
2525
2539
|
```
|
|
2526
2540
|
|
|
2527
2541
|
Also check:
|
|
@@ -2532,17 +2546,17 @@ See [Images](/nodes/images).
|
|
|
2532
2546
|
|
|
2533
2547
|
## Security and access control
|
|
2534
2548
|
|
|
2535
|
-
### Is it safe to expose
|
|
2549
|
+
### Is it safe to expose Moltbot to inbound DMs
|
|
2536
2550
|
|
|
2537
2551
|
Treat inbound DMs as untrusted input. Defaults are designed to reduce risk:
|
|
2538
2552
|
|
|
2539
2553
|
- Default behavior on DM‑capable channels is **pairing**:
|
|
2540
2554
|
- Unknown senders receive a pairing code; the bot does not process their message.
|
|
2541
|
-
- Approve with: `
|
|
2542
|
-
- Pending requests are capped at **3 per channel**; check `
|
|
2555
|
+
- Approve with: `moltbot pairing approve <channel> <code>`
|
|
2556
|
+
- Pending requests are capped at **3 per channel**; check `moltbot pairing list <channel>` if a code didn’t arrive.
|
|
2543
2557
|
- Opening DMs publicly requires explicit opt‑in (`dmPolicy: "open"` and allowlist `"*"`).
|
|
2544
2558
|
|
|
2545
|
-
Run `
|
|
2559
|
+
Run `moltbot doctor` to surface risky DM policies.
|
|
2546
2560
|
|
|
2547
2561
|
### Is prompt injection only a concern for public bots
|
|
2548
2562
|
|
|
@@ -2594,7 +2608,7 @@ Pairing codes are sent **only** when an unknown sender messages the bot and
|
|
|
2594
2608
|
|
|
2595
2609
|
Check pending requests:
|
|
2596
2610
|
```bash
|
|
2597
|
-
|
|
2611
|
+
moltbot pairing list telegram
|
|
2598
2612
|
```
|
|
2599
2613
|
|
|
2600
2614
|
If you want immediate access, allowlist your sender id or set `dmPolicy: "open"`
|
|
@@ -2602,18 +2616,18 @@ for that account.
|
|
|
2602
2616
|
|
|
2603
2617
|
### WhatsApp will it message my contacts How does pairing work
|
|
2604
2618
|
|
|
2605
|
-
No. Default WhatsApp DM policy is **pairing**. Unknown senders only get a pairing code and their message is **not processed**.
|
|
2619
|
+
No. Default WhatsApp DM policy is **pairing**. Unknown senders only get a pairing code and their message is **not processed**. Moltbot only replies to chats it receives or to explicit sends you trigger.
|
|
2606
2620
|
|
|
2607
2621
|
Approve pairing with:
|
|
2608
2622
|
|
|
2609
2623
|
```bash
|
|
2610
|
-
|
|
2624
|
+
moltbot pairing approve whatsapp <code>
|
|
2611
2625
|
```
|
|
2612
2626
|
|
|
2613
2627
|
List pending requests:
|
|
2614
2628
|
|
|
2615
2629
|
```bash
|
|
2616
|
-
|
|
2630
|
+
moltbot pairing list whatsapp
|
|
2617
2631
|
```
|
|
2618
2632
|
|
|
2619
2633
|
Wizard phone number prompt: it’s used to set your **allowlist/owner** so your own DMs are permitted. It’s not used for auto-sending. If you run on your personal WhatsApp number, use that number and enable `channels.whatsapp.selfChatMode`.
|
|
@@ -2664,7 +2678,7 @@ Most commands must be sent as a **standalone** message that starts with `/`, but
|
|
|
2664
2678
|
|
|
2665
2679
|
### How do I send a Discord message from Telegram Crosscontext messaging denied
|
|
2666
2680
|
|
|
2667
|
-
|
|
2681
|
+
Moltbot blocks **cross‑provider** messaging by default. If a tool call is bound
|
|
2668
2682
|
to Telegram, it won’t send to Discord unless you explicitly allow it.
|
|
2669
2683
|
|
|
2670
2684
|
Enable cross‑provider messaging for the agent:
|
|
@@ -2705,8 +2719,8 @@ You can add options like `debounce:2s cap:25 drop:summarize` for followup modes.
|
|
|
2705
2719
|
|
|
2706
2720
|
**Q: “What’s the default model for Anthropic with an API key?”**
|
|
2707
2721
|
|
|
2708
|
-
**A:** In
|
|
2722
|
+
**A:** In Moltbot, credentials and model selection are separate. Setting `ANTHROPIC_API_KEY` (or storing an Anthropic API key in auth profiles) enables authentication, but the actual default model is whatever you configure in `agents.defaults.model.primary` (for example, `anthropic/claude-sonnet-4-5` or `anthropic/claude-opus-4-5`). If you see `No credentials found for profile "anthropic:default"`, it means the Gateway couldn’t find Anthropic credentials in the expected `auth-profiles.json` for the agent that’s running.
|
|
2709
2723
|
|
|
2710
2724
|
---
|
|
2711
2725
|
|
|
2712
|
-
Still stuck? Ask in [Discord](https://discord.com/invite/clawd) or open a [GitHub discussion](https://github.com/
|
|
2726
|
+
Still stuck? Ask in [Discord](https://discord.com/invite/clawd) or open a [GitHub discussion](https://github.com/moltbot/moltbot/discussions).
|