@quantumclaw/quantumclaw 2026.3.22
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 +4601 -0
- package/LICENSE +21 -0
- package/README.md +559 -0
- package/assets/avatar-placeholder.svg +19 -0
- package/assets/chrome-extension/icons/icon128.png +0 -0
- package/assets/chrome-extension/icons/icon16.png +0 -0
- package/assets/chrome-extension/icons/icon32.png +0 -0
- package/assets/chrome-extension/icons/icon48.png +0 -0
- package/assets/dmg-background-small.png +0 -0
- package/assets/dmg-background.png +0 -0
- package/docs/.i18n/README.md +31 -0
- package/docs/.i18n/glossary.ja-JP.json +14 -0
- package/docs/.i18n/glossary.zh-CN.json +302 -0
- package/docs/.i18n/ja-JP.tm.jsonl +0 -0
- package/docs/assets/install-script.svg +1 -0
- package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
- package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
- package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
- package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
- package/docs/assets/macos-onboarding/05-permissions.png +0 -0
- package/docs/assets/pixel-lobster.svg +60 -0
- package/docs/assets/quantumclaw-logo-text-dark.png +0 -0
- package/docs/assets/quantumclaw-logo-text-dark.svg +418 -0
- package/docs/assets/quantumclaw-logo-text.png +0 -0
- package/docs/assets/quantumclaw-logo-text.svg +418 -0
- package/docs/assets/showcase/agents-ui.jpg +0 -0
- package/docs/assets/showcase/bambu-cli.png +0 -0
- package/docs/assets/showcase/codexmonitor.png +0 -0
- package/docs/assets/showcase/gohome-grafana.png +0 -0
- package/docs/assets/showcase/ios-testflight.jpg +0 -0
- package/docs/assets/showcase/oura-health.png +0 -0
- package/docs/assets/showcase/padel-cli.svg +11 -0
- package/docs/assets/showcase/padel-screenshot.jpg +0 -0
- package/docs/assets/showcase/papla-tts.jpg +0 -0
- package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
- package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
- package/docs/assets/showcase/roborock-status.svg +13 -0
- package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
- package/docs/assets/showcase/snag.png +0 -0
- package/docs/assets/showcase/tesco-shop.jpg +0 -0
- package/docs/assets/showcase/wienerlinien.png +0 -0
- package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
- package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
- package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
- package/docs/assets/sponsors/blacksmith.svg +14 -0
- package/docs/assets/sponsors/convex.svg +16 -0
- package/docs/assets/sponsors/openai.svg +3 -0
- package/docs/assets/sponsors/vercel.svg +5 -0
- package/docs/auth-credential-semantics.md +53 -0
- package/docs/automation/auth-monitoring.md +44 -0
- package/docs/automation/cron-jobs.md +727 -0
- package/docs/automation/cron-vs-heartbeat.md +286 -0
- package/docs/automation/gmail-pubsub.md +256 -0
- package/docs/automation/hooks.md +1056 -0
- package/docs/automation/poll.md +86 -0
- package/docs/automation/standing-orders.md +251 -0
- package/docs/automation/troubleshooting.md +122 -0
- package/docs/automation/webhook.md +217 -0
- package/docs/brave-search.md +93 -0
- package/docs/channels/bluebubbles.md +347 -0
- package/docs/channels/broadcast-groups.md +442 -0
- package/docs/channels/channel-routing.md +139 -0
- package/docs/channels/discord.md +1229 -0
- package/docs/channels/feishu.md +747 -0
- package/docs/channels/googlechat.md +261 -0
- package/docs/channels/group-messages.md +84 -0
- package/docs/channels/groups.md +379 -0
- package/docs/channels/imessage.md +367 -0
- package/docs/channels/index.md +47 -0
- package/docs/channels/irc.md +242 -0
- package/docs/channels/line.md +194 -0
- package/docs/channels/location.md +56 -0
- package/docs/channels/matrix.md +677 -0
- package/docs/channels/mattermost.md +427 -0
- package/docs/channels/msteams.md +780 -0
- package/docs/channels/nextcloud-talk.md +138 -0
- package/docs/channels/nostr.md +249 -0
- package/docs/channels/pairing.md +114 -0
- package/docs/channels/signal.md +329 -0
- package/docs/channels/slack.md +603 -0
- package/docs/channels/synology-chat.md +134 -0
- package/docs/channels/telegram.md +987 -0
- package/docs/channels/tlon.md +276 -0
- package/docs/channels/troubleshooting.md +118 -0
- package/docs/channels/twitch.md +379 -0
- package/docs/channels/whatsapp.md +460 -0
- package/docs/channels/zalo.md +243 -0
- package/docs/channels/zalouser.md +181 -0
- package/docs/ci.md +55 -0
- package/docs/cli/acp.md +288 -0
- package/docs/cli/agent.md +29 -0
- package/docs/cli/agents.md +123 -0
- package/docs/cli/approvals.md +50 -0
- package/docs/cli/backup.md +76 -0
- package/docs/cli/browser.md +106 -0
- package/docs/cli/channels.md +102 -0
- package/docs/cli/clawbot.md +21 -0
- package/docs/cli/completion.md +35 -0
- package/docs/cli/config.md +295 -0
- package/docs/cli/configure.md +36 -0
- package/docs/cli/cron.md +77 -0
- package/docs/cli/daemon.md +53 -0
- package/docs/cli/dashboard.md +22 -0
- package/docs/cli/devices.md +139 -0
- package/docs/cli/directory.md +63 -0
- package/docs/cli/dns.md +23 -0
- package/docs/cli/docs.md +15 -0
- package/docs/cli/doctor.md +48 -0
- package/docs/cli/gateway.md +235 -0
- package/docs/cli/health.md +21 -0
- package/docs/cli/hooks.md +329 -0
- package/docs/cli/index.md +1150 -0
- package/docs/cli/logs.md +28 -0
- package/docs/cli/memory.md +66 -0
- package/docs/cli/message.md +278 -0
- package/docs/cli/models.md +81 -0
- package/docs/cli/node.md +127 -0
- package/docs/cli/nodes.md +75 -0
- package/docs/cli/onboard.md +157 -0
- package/docs/cli/pairing.md +32 -0
- package/docs/cli/plugins.md +210 -0
- package/docs/cli/qr.md +46 -0
- package/docs/cli/reset.md +20 -0
- package/docs/cli/sandbox.md +197 -0
- package/docs/cli/secrets.md +188 -0
- package/docs/cli/security.md +79 -0
- package/docs/cli/sessions.md +110 -0
- package/docs/cli/setup.md +29 -0
- package/docs/cli/skills.md +36 -0
- package/docs/cli/status.md +30 -0
- package/docs/cli/system.md +60 -0
- package/docs/cli/tui.md +30 -0
- package/docs/cli/uninstall.md +20 -0
- package/docs/cli/update.md +103 -0
- package/docs/cli/voicecall.md +34 -0
- package/docs/cli/webhooks.md +25 -0
- package/docs/concepts/agent-loop.md +148 -0
- package/docs/concepts/agent-workspace.md +236 -0
- package/docs/concepts/agent.md +122 -0
- package/docs/concepts/architecture.md +137 -0
- package/docs/concepts/compaction.md +123 -0
- package/docs/concepts/context-engine.md +268 -0
- package/docs/concepts/context.md +172 -0
- package/docs/concepts/delegate-architecture.md +296 -0
- package/docs/concepts/features.md +73 -0
- package/docs/concepts/markdown-formatting.md +130 -0
- package/docs/concepts/memory.md +108 -0
- package/docs/concepts/messages.md +154 -0
- package/docs/concepts/model-failover.md +152 -0
- package/docs/concepts/model-providers.md +607 -0
- package/docs/concepts/models.md +225 -0
- package/docs/concepts/multi-agent.md +552 -0
- package/docs/concepts/oauth.md +158 -0
- package/docs/concepts/presence.md +102 -0
- package/docs/concepts/queue.md +89 -0
- package/docs/concepts/retry.md +69 -0
- package/docs/concepts/session-pruning.md +121 -0
- package/docs/concepts/session-tool.md +242 -0
- package/docs/concepts/session.md +310 -0
- package/docs/concepts/streaming.md +155 -0
- package/docs/concepts/system-prompt.md +132 -0
- package/docs/concepts/timezone.md +91 -0
- package/docs/concepts/typebox.md +291 -0
- package/docs/concepts/typing-indicators.md +68 -0
- package/docs/concepts/usage-tracking.md +35 -0
- package/docs/date-time.md +128 -0
- package/docs/debug/node-issue.md +85 -0
- package/docs/diagnostics/flags.md +91 -0
- package/docs/docs.json +2078 -0
- package/docs/gateway/authentication.md +179 -0
- package/docs/gateway/background-process.md +97 -0
- package/docs/gateway/bonjour.md +177 -0
- package/docs/gateway/bridge-protocol.md +91 -0
- package/docs/gateway/cli-backends.md +225 -0
- package/docs/gateway/configuration-examples.md +651 -0
- package/docs/gateway/configuration-reference.md +3123 -0
- package/docs/gateway/configuration.md +633 -0
- package/docs/gateway/discovery.md +123 -0
- package/docs/gateway/doctor.md +362 -0
- package/docs/gateway/gateway-lock.md +34 -0
- package/docs/gateway/health.md +44 -0
- package/docs/gateway/heartbeat.md +393 -0
- package/docs/gateway/index.md +261 -0
- package/docs/gateway/local-models.md +152 -0
- package/docs/gateway/logging.md +113 -0
- package/docs/gateway/multiple-gateways.md +112 -0
- package/docs/gateway/network-model.md +22 -0
- package/docs/gateway/openai-http-api.md +132 -0
- package/docs/gateway/openresponses-http-api.md +295 -0
- package/docs/gateway/openshell.md +307 -0
- package/docs/gateway/pairing.md +99 -0
- package/docs/gateway/protocol.md +267 -0
- package/docs/gateway/remote-gateway-readme.md +158 -0
- package/docs/gateway/remote.md +153 -0
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +134 -0
- package/docs/gateway/sandboxing.md +469 -0
- package/docs/gateway/secrets-plan-contract.md +116 -0
- package/docs/gateway/secrets.md +503 -0
- package/docs/gateway/security/index.md +1220 -0
- package/docs/gateway/tailscale.md +132 -0
- package/docs/gateway/tools-invoke-http-api.md +118 -0
- package/docs/gateway/troubleshooting.md +378 -0
- package/docs/gateway/trusted-proxy-auth.md +330 -0
- package/docs/help/debugging.md +168 -0
- package/docs/help/environment.md +163 -0
- package/docs/help/faq.md +2997 -0
- package/docs/help/index.md +28 -0
- package/docs/help/scripts.md +28 -0
- package/docs/help/testing.md +526 -0
- package/docs/help/troubleshooting.md +297 -0
- package/docs/images/configure-model-picker-unsearchable.png +0 -0
- package/docs/images/feishu-step2-create-app.png +0 -0
- package/docs/images/feishu-step3-credentials.png +0 -0
- package/docs/images/feishu-step4-permissions.png +0 -0
- package/docs/images/feishu-step5-bot-capability.png +0 -0
- package/docs/images/feishu-step6-event-subscription.png +0 -0
- package/docs/images/feishu-verification-token.png +0 -0
- package/docs/images/groups-flow.svg +52 -0
- package/docs/images/mobile-ui-screenshot.png +0 -0
- package/docs/index.md +196 -0
- package/docs/install/ansible.md +230 -0
- package/docs/install/azure.md +311 -0
- package/docs/install/bun.md +55 -0
- package/docs/install/development-channels.md +120 -0
- package/docs/install/digitalocean.md +129 -0
- package/docs/install/docker-vm-runtime.md +142 -0
- package/docs/install/docker.md +375 -0
- package/docs/install/exe-dev.md +126 -0
- package/docs/install/fly.md +501 -0
- package/docs/install/gcp.md +402 -0
- package/docs/install/hetzner.md +251 -0
- package/docs/install/index.md +183 -0
- package/docs/install/installer.md +415 -0
- package/docs/install/kubernetes.md +191 -0
- package/docs/install/macos-vm.md +281 -0
- package/docs/install/migrating-matrix.md +346 -0
- package/docs/install/migrating.md +110 -0
- package/docs/install/nix.md +89 -0
- package/docs/install/node.md +138 -0
- package/docs/install/northflank.mdx +54 -0
- package/docs/install/oracle.md +156 -0
- package/docs/install/podman.md +133 -0
- package/docs/install/railway.mdx +100 -0
- package/docs/install/raspberry-pi.md +159 -0
- package/docs/install/render.mdx +169 -0
- package/docs/install/uninstall.md +128 -0
- package/docs/install/updating.md +128 -0
- package/docs/ja-JP/index.md +186 -0
- package/docs/ja-JP/start/getting-started.md +125 -0
- package/docs/ja-JP/start/wizard.md +77 -0
- package/docs/logging.md +352 -0
- package/docs/nav-tabs-underline.js +100 -0
- package/docs/network.md +54 -0
- package/docs/nodes/audio.md +187 -0
- package/docs/nodes/camera.md +162 -0
- package/docs/nodes/images.md +72 -0
- package/docs/nodes/index.md +393 -0
- package/docs/nodes/location-command.md +98 -0
- package/docs/nodes/media-understanding.md +394 -0
- package/docs/nodes/talk.md +92 -0
- package/docs/nodes/troubleshooting.md +114 -0
- package/docs/nodes/voicewake.md +66 -0
- package/docs/perplexity.md +174 -0
- package/docs/pi-dev.md +80 -0
- package/docs/pi.md +567 -0
- package/docs/platforms/android.md +168 -0
- package/docs/platforms/digitalocean.md +266 -0
- package/docs/platforms/index.md +54 -0
- package/docs/platforms/ios.md +220 -0
- package/docs/platforms/linux.md +94 -0
- package/docs/platforms/mac/bundled-gateway.md +73 -0
- package/docs/platforms/mac/canvas.md +125 -0
- package/docs/platforms/mac/child-process.md +69 -0
- package/docs/platforms/mac/dev-setup.md +104 -0
- package/docs/platforms/mac/health.md +34 -0
- package/docs/platforms/mac/icon.md +31 -0
- package/docs/platforms/mac/logging.md +57 -0
- package/docs/platforms/mac/menu-bar.md +81 -0
- package/docs/platforms/mac/peekaboo.md +65 -0
- package/docs/platforms/mac/permissions.md +50 -0
- package/docs/platforms/mac/remote.md +84 -0
- package/docs/platforms/mac/signing.md +47 -0
- package/docs/platforms/mac/skills.md +33 -0
- package/docs/platforms/mac/voice-overlay.md +60 -0
- package/docs/platforms/mac/voicewake.md +67 -0
- package/docs/platforms/mac/webchat.md +43 -0
- package/docs/platforms/mac/xpc.md +61 -0
- package/docs/platforms/macos.md +226 -0
- package/docs/platforms/oracle.md +303 -0
- package/docs/platforms/raspberry-pi.md +412 -0
- package/docs/platforms/windows.md +241 -0
- package/docs/plugins/agent-tools.md +10 -0
- package/docs/plugins/architecture.md +1366 -0
- package/docs/plugins/building-extensions.md +10 -0
- package/docs/plugins/building-plugins.md +239 -0
- package/docs/plugins/bundles.md +181 -0
- package/docs/plugins/community.md +145 -0
- package/docs/plugins/manifest.md +241 -0
- package/docs/plugins/sdk-channel-plugins.md +370 -0
- package/docs/plugins/sdk-entrypoints.md +161 -0
- package/docs/plugins/sdk-migration.md +172 -0
- package/docs/plugins/sdk-overview.md +196 -0
- package/docs/plugins/sdk-provider-plugins.md +370 -0
- package/docs/plugins/sdk-runtime.md +345 -0
- package/docs/plugins/sdk-setup.md +331 -0
- package/docs/plugins/sdk-testing.md +263 -0
- package/docs/plugins/voice-call.md +380 -0
- package/docs/plugins/zalouser.md +77 -0
- package/docs/prose.md +134 -0
- package/docs/providers/anthropic.md +259 -0
- package/docs/providers/bedrock.md +176 -0
- package/docs/providers/claude-max-api-proxy.md +154 -0
- package/docs/providers/cloudflare-ai-gateway.md +71 -0
- package/docs/providers/deepgram.md +93 -0
- package/docs/providers/github-copilot.md +72 -0
- package/docs/providers/glm.md +43 -0
- package/docs/providers/google.md +78 -0
- package/docs/providers/groq.md +96 -0
- package/docs/providers/huggingface.md +209 -0
- package/docs/providers/index.md +69 -0
- package/docs/providers/kilocode.md +74 -0
- package/docs/providers/litellm.md +154 -0
- package/docs/providers/minimax.md +224 -0
- package/docs/providers/mistral.md +54 -0
- package/docs/providers/models.md +45 -0
- package/docs/providers/modelstudio.md +66 -0
- package/docs/providers/moonshot.md +175 -0
- package/docs/providers/nvidia.md +55 -0
- package/docs/providers/ollama.md +352 -0
- package/docs/providers/openai.md +303 -0
- package/docs/providers/opencode-go.md +45 -0
- package/docs/providers/opencode.md +64 -0
- package/docs/providers/openrouter.md +37 -0
- package/docs/providers/perplexity-provider.md +62 -0
- package/docs/providers/qianfan.md +38 -0
- package/docs/providers/qwen.md +53 -0
- package/docs/providers/sglang.md +104 -0
- package/docs/providers/synthetic.md +99 -0
- package/docs/providers/together.md +66 -0
- package/docs/providers/venice.md +282 -0
- package/docs/providers/vercel-ai-gateway.md +60 -0
- package/docs/providers/vllm.md +92 -0
- package/docs/providers/volcengine.md +74 -0
- package/docs/providers/xai.md +60 -0
- package/docs/providers/xiaomi.md +86 -0
- package/docs/providers/zai.md +46 -0
- package/docs/reference/AGENTS.default.md +126 -0
- package/docs/reference/RELEASING.md +42 -0
- package/docs/reference/api-usage-costs.md +144 -0
- package/docs/reference/credits.md +30 -0
- package/docs/reference/device-models.md +47 -0
- package/docs/reference/memory-config.md +711 -0
- package/docs/reference/prompt-caching.md +185 -0
- package/docs/reference/rpc.md +43 -0
- package/docs/reference/secretref-credential-surface.md +140 -0
- package/docs/reference/secretref-user-supplied-credentials-matrix.json +563 -0
- package/docs/reference/session-management-compaction.md +324 -0
- package/docs/reference/templates/AGENTS.dev.md +83 -0
- package/docs/reference/templates/AGENTS.md +219 -0
- package/docs/reference/templates/BOOT.md +11 -0
- package/docs/reference/templates/BOOTSTRAP.md +62 -0
- package/docs/reference/templates/HEARTBEAT.md +14 -0
- package/docs/reference/templates/IDENTITY.dev.md +47 -0
- package/docs/reference/templates/IDENTITY.md +29 -0
- package/docs/reference/templates/SOUL.dev.md +76 -0
- package/docs/reference/templates/SOUL.md +43 -0
- package/docs/reference/templates/TOOLS.dev.md +24 -0
- package/docs/reference/templates/TOOLS.md +47 -0
- package/docs/reference/templates/USER.dev.md +18 -0
- package/docs/reference/templates/USER.md +23 -0
- package/docs/reference/test.md +90 -0
- package/docs/reference/token-use.md +175 -0
- package/docs/reference/transcript-hygiene.md +151 -0
- package/docs/reference/wizard.md +235 -0
- package/docs/security/CONTRIBUTING-THREAT-MODEL.md +98 -0
- package/docs/security/THREAT-MODEL-ATLAS.md +611 -0
- package/docs/security/formal-verification.md +167 -0
- package/docs/start/bootstrapping.md +41 -0
- package/docs/start/docs-directory.md +66 -0
- package/docs/start/getting-started.md +116 -0
- package/docs/start/hubs.md +198 -0
- package/docs/start/lore.md +219 -0
- package/docs/start/onboarding-overview.md +67 -0
- package/docs/start/onboarding.md +91 -0
- package/docs/start/openclaw.md +221 -0
- package/docs/start/quickstart.md +22 -0
- package/docs/start/setup.md +164 -0
- package/docs/start/showcase.md +418 -0
- package/docs/start/wizard-cli-automation.md +215 -0
- package/docs/start/wizard-cli-reference.md +299 -0
- package/docs/start/wizard.md +125 -0
- package/docs/style.css +37 -0
- package/docs/tools/acp-agents.md +623 -0
- package/docs/tools/agent-send.md +100 -0
- package/docs/tools/apply-patch.md +51 -0
- package/docs/tools/brave-search.md +93 -0
- package/docs/tools/browser-linux-troubleshooting.md +138 -0
- package/docs/tools/browser-login.md +73 -0
- package/docs/tools/browser-wsl2-windows-remote-cdp-troubleshooting.md +211 -0
- package/docs/tools/browser.md +731 -0
- package/docs/tools/btw.md +142 -0
- package/docs/tools/capability-cookbook.md +119 -0
- package/docs/tools/clawhub.md +298 -0
- package/docs/tools/creating-skills.md +117 -0
- package/docs/tools/diffs.md +386 -0
- package/docs/tools/elevated.md +114 -0
- package/docs/tools/exec-approvals.md +430 -0
- package/docs/tools/exec.md +207 -0
- package/docs/tools/firecrawl.md +140 -0
- package/docs/tools/index.md +137 -0
- package/docs/tools/llm-task.md +119 -0
- package/docs/tools/lobster.md +340 -0
- package/docs/tools/loop-detection.md +100 -0
- package/docs/tools/multi-agent-sandbox-tools.md +364 -0
- package/docs/tools/pdf.md +156 -0
- package/docs/tools/perplexity-search.md +174 -0
- package/docs/tools/plugin.md +255 -0
- package/docs/tools/reactions.md +64 -0
- package/docs/tools/skills-config.md +86 -0
- package/docs/tools/skills.md +309 -0
- package/docs/tools/slash-commands.md +294 -0
- package/docs/tools/subagents.md +295 -0
- package/docs/tools/tavily.md +125 -0
- package/docs/tools/thinking.md +96 -0
- package/docs/tools/tts.md +406 -0
- package/docs/tools/web.md +516 -0
- package/docs/tts.md +406 -0
- package/docs/vps.md +112 -0
- package/docs/web/control-ui.md +275 -0
- package/docs/web/dashboard.md +54 -0
- package/docs/web/index.md +120 -0
- package/docs/web/tui.md +170 -0
- package/docs/web/webchat.md +61 -0
- package/docs/whatsapp-openclaw-ai-zh.jpg +0 -0
- package/docs/whatsapp-openclaw.jpg +0 -0
- package/docs/zh-CN/AGENTS.md +61 -0
- package/docs/zh-CN/automation/auth-monitoring.md +47 -0
- package/docs/zh-CN/automation/cron-jobs.md +435 -0
- package/docs/zh-CN/automation/cron-vs-heartbeat.md +286 -0
- package/docs/zh-CN/automation/gmail-pubsub.md +249 -0
- package/docs/zh-CN/automation/hooks.md +1051 -0
- package/docs/zh-CN/automation/poll.md +76 -0
- package/docs/zh-CN/automation/troubleshooting.md +8 -0
- package/docs/zh-CN/automation/webhook.md +163 -0
- package/docs/zh-CN/brave-search.md +60 -0
- package/docs/zh-CN/channels/bluebubbles.md +354 -0
- package/docs/zh-CN/channels/broadcast-groups.md +449 -0
- package/docs/zh-CN/channels/channel-routing.md +117 -0
- package/docs/zh-CN/channels/discord.md +468 -0
- package/docs/zh-CN/channels/feishu.md +728 -0
- package/docs/zh-CN/channels/googlechat.md +257 -0
- package/docs/zh-CN/channels/grammy.md +38 -0
- package/docs/zh-CN/channels/group-messages.md +91 -0
- package/docs/zh-CN/channels/groups.md +379 -0
- package/docs/zh-CN/channels/imessage.md +302 -0
- package/docs/zh-CN/channels/index.md +53 -0
- package/docs/zh-CN/channels/line.md +180 -0
- package/docs/zh-CN/channels/location.md +63 -0
- package/docs/zh-CN/channels/matrix.md +221 -0
- package/docs/zh-CN/channels/mattermost.md +144 -0
- package/docs/zh-CN/channels/msteams.md +775 -0
- package/docs/zh-CN/channels/nextcloud-talk.md +142 -0
- package/docs/zh-CN/channels/nostr.md +249 -0
- package/docs/zh-CN/channels/pairing.md +89 -0
- package/docs/zh-CN/channels/signal.md +209 -0
- package/docs/zh-CN/channels/slack.md +531 -0
- package/docs/zh-CN/channels/synology-chat.md +138 -0
- package/docs/zh-CN/channels/telegram.md +751 -0
- package/docs/zh-CN/channels/tlon.md +136 -0
- package/docs/zh-CN/channels/troubleshooting.md +36 -0
- package/docs/zh-CN/channels/twitch.md +385 -0
- package/docs/zh-CN/channels/whatsapp.md +411 -0
- package/docs/zh-CN/channels/zalo.md +196 -0
- package/docs/zh-CN/channels/zalouser.md +147 -0
- package/docs/zh-CN/cli/acp.md +173 -0
- package/docs/zh-CN/cli/agent.md +30 -0
- package/docs/zh-CN/cli/agents.md +82 -0
- package/docs/zh-CN/cli/approvals.md +57 -0
- package/docs/zh-CN/cli/browser.md +114 -0
- package/docs/zh-CN/cli/channels.md +86 -0
- package/docs/zh-CN/cli/config.md +57 -0
- package/docs/zh-CN/cli/configure.md +38 -0
- package/docs/zh-CN/cli/cron.md +43 -0
- package/docs/zh-CN/cli/dashboard.md +23 -0
- package/docs/zh-CN/cli/devices.md +74 -0
- package/docs/zh-CN/cli/directory.md +70 -0
- package/docs/zh-CN/cli/dns.md +30 -0
- package/docs/zh-CN/cli/docs.md +22 -0
- package/docs/zh-CN/cli/doctor.md +48 -0
- package/docs/zh-CN/cli/gateway.md +206 -0
- package/docs/zh-CN/cli/health.md +28 -0
- package/docs/zh-CN/cli/hooks.md +298 -0
- package/docs/zh-CN/cli/index.md +1143 -0
- package/docs/zh-CN/cli/logs.md +31 -0
- package/docs/zh-CN/cli/memory.md +52 -0
- package/docs/zh-CN/cli/message.md +246 -0
- package/docs/zh-CN/cli/models.md +85 -0
- package/docs/zh-CN/cli/node.md +115 -0
- package/docs/zh-CN/cli/nodes.md +80 -0
- package/docs/zh-CN/cli/onboard.md +164 -0
- package/docs/zh-CN/cli/pairing.md +28 -0
- package/docs/zh-CN/cli/plugins.md +66 -0
- package/docs/zh-CN/cli/reset.md +24 -0
- package/docs/zh-CN/cli/sandbox.md +158 -0
- package/docs/zh-CN/cli/security.md +33 -0
- package/docs/zh-CN/cli/sessions.md +23 -0
- package/docs/zh-CN/cli/setup.md +36 -0
- package/docs/zh-CN/cli/skills.md +33 -0
- package/docs/zh-CN/cli/status.md +33 -0
- package/docs/zh-CN/cli/system.md +63 -0
- package/docs/zh-CN/cli/tui.md +30 -0
- package/docs/zh-CN/cli/uninstall.md +24 -0
- package/docs/zh-CN/cli/update.md +101 -0
- package/docs/zh-CN/cli/voicecall.md +41 -0
- package/docs/zh-CN/cli/webhooks.md +32 -0
- package/docs/zh-CN/concepts/agent-loop.md +146 -0
- package/docs/zh-CN/concepts/agent-workspace.md +219 -0
- package/docs/zh-CN/concepts/agent.md +115 -0
- package/docs/zh-CN/concepts/architecture.md +123 -0
- package/docs/zh-CN/concepts/compaction.md +67 -0
- package/docs/zh-CN/concepts/context.md +168 -0
- package/docs/zh-CN/concepts/features.md +59 -0
- package/docs/zh-CN/concepts/markdown-formatting.md +117 -0
- package/docs/zh-CN/concepts/memory.md +412 -0
- package/docs/zh-CN/concepts/messages.md +141 -0
- package/docs/zh-CN/concepts/model-failover.md +145 -0
- package/docs/zh-CN/concepts/model-providers.md +606 -0
- package/docs/zh-CN/concepts/models.md +225 -0
- package/docs/zh-CN/concepts/multi-agent.md +372 -0
- package/docs/zh-CN/concepts/oauth.md +164 -0
- package/docs/zh-CN/concepts/presence.md +99 -0
- package/docs/zh-CN/concepts/queue.md +94 -0
- package/docs/zh-CN/concepts/retry.md +76 -0
- package/docs/zh-CN/concepts/session-pruning.md +129 -0
- package/docs/zh-CN/concepts/session-tool.md +200 -0
- package/docs/zh-CN/concepts/session.md +166 -0
- package/docs/zh-CN/concepts/streaming.md +133 -0
- package/docs/zh-CN/concepts/system-prompt.md +101 -0
- package/docs/zh-CN/concepts/timezone.md +96 -0
- package/docs/zh-CN/concepts/typebox.md +284 -0
- package/docs/zh-CN/concepts/typing-indicators.md +74 -0
- package/docs/zh-CN/concepts/usage-tracking.md +42 -0
- package/docs/zh-CN/date-time.md +129 -0
- package/docs/zh-CN/debug/node-issue.md +90 -0
- package/docs/zh-CN/diagnostics/flags.md +98 -0
- package/docs/zh-CN/gateway/authentication.md +184 -0
- package/docs/zh-CN/gateway/background-process.md +100 -0
- package/docs/zh-CN/gateway/bonjour.md +174 -0
- package/docs/zh-CN/gateway/bridge-protocol.md +86 -0
- package/docs/zh-CN/gateway/cli-backends.md +213 -0
- package/docs/zh-CN/gateway/configuration-examples.md +587 -0
- package/docs/zh-CN/gateway/configuration-reference.md +3103 -0
- package/docs/zh-CN/gateway/configuration.md +640 -0
- package/docs/zh-CN/gateway/discovery.md +123 -0
- package/docs/zh-CN/gateway/doctor.md +238 -0
- package/docs/zh-CN/gateway/gateway-lock.md +41 -0
- package/docs/zh-CN/gateway/health.md +42 -0
- package/docs/zh-CN/gateway/heartbeat.md +274 -0
- package/docs/zh-CN/gateway/index.md +335 -0
- package/docs/zh-CN/gateway/local-models.md +159 -0
- package/docs/zh-CN/gateway/logging.md +114 -0
- package/docs/zh-CN/gateway/multiple-gateways.md +119 -0
- package/docs/zh-CN/gateway/network-model.md +23 -0
- package/docs/zh-CN/gateway/openai-http-api.md +125 -0
- package/docs/zh-CN/gateway/openresponses-http-api.md +317 -0
- package/docs/zh-CN/gateway/pairing.md +99 -0
- package/docs/zh-CN/gateway/protocol.md +220 -0
- package/docs/zh-CN/gateway/remote-gateway-readme.md +164 -0
- package/docs/zh-CN/gateway/remote.md +133 -0
- package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +135 -0
- package/docs/zh-CN/gateway/sandboxing.md +188 -0
- package/docs/zh-CN/gateway/security/index.md +777 -0
- package/docs/zh-CN/gateway/tailscale.md +124 -0
- package/docs/zh-CN/gateway/tools-invoke-http-api.md +92 -0
- package/docs/zh-CN/gateway/troubleshooting.md +771 -0
- package/docs/zh-CN/help/debugging.md +160 -0
- package/docs/zh-CN/help/environment.md +88 -0
- package/docs/zh-CN/help/faq.md +2640 -0
- package/docs/zh-CN/help/index.md +28 -0
- package/docs/zh-CN/help/scripts.md +35 -0
- package/docs/zh-CN/help/testing.md +375 -0
- package/docs/zh-CN/help/troubleshooting.md +104 -0
- package/docs/zh-CN/index.md +186 -0
- package/docs/zh-CN/install/ansible.md +215 -0
- package/docs/zh-CN/install/bun.md +65 -0
- package/docs/zh-CN/install/development-channels.md +81 -0
- package/docs/zh-CN/install/docker.md +532 -0
- package/docs/zh-CN/install/exe-dev.md +133 -0
- package/docs/zh-CN/install/fly.md +490 -0
- package/docs/zh-CN/install/gcp.md +510 -0
- package/docs/zh-CN/install/hetzner.md +337 -0
- package/docs/zh-CN/install/index.md +235 -0
- package/docs/zh-CN/install/installer.md +422 -0
- package/docs/zh-CN/install/macos-vm.md +288 -0
- package/docs/zh-CN/install/migrating.md +199 -0
- package/docs/zh-CN/install/nix.md +99 -0
- package/docs/zh-CN/install/node.md +8 -0
- package/docs/zh-CN/install/northflank.mdx +60 -0
- package/docs/zh-CN/install/railway.mdx +106 -0
- package/docs/zh-CN/install/render.mdx +169 -0
- package/docs/zh-CN/install/uninstall.md +135 -0
- package/docs/zh-CN/install/updating.md +233 -0
- package/docs/zh-CN/logging.md +329 -0
- package/docs/zh-CN/network.md +59 -0
- package/docs/zh-CN/nodes/audio.md +120 -0
- package/docs/zh-CN/nodes/camera.md +162 -0
- package/docs/zh-CN/nodes/images.md +79 -0
- package/docs/zh-CN/nodes/index.md +348 -0
- package/docs/zh-CN/nodes/location-command.md +120 -0
- package/docs/zh-CN/nodes/media-understanding.md +380 -0
- package/docs/zh-CN/nodes/talk.md +97 -0
- package/docs/zh-CN/nodes/troubleshooting.md +8 -0
- package/docs/zh-CN/nodes/voicewake.md +72 -0
- package/docs/zh-CN/perplexity.md +102 -0
- package/docs/zh-CN/pi-dev.md +77 -0
- package/docs/zh-CN/pi.md +619 -0
- package/docs/zh-CN/platforms/android.md +155 -0
- package/docs/zh-CN/platforms/digitalocean.md +273 -0
- package/docs/zh-CN/platforms/index.md +60 -0
- package/docs/zh-CN/platforms/ios.md +114 -0
- package/docs/zh-CN/platforms/linux.md +100 -0
- package/docs/zh-CN/platforms/mac/bundled-gateway.md +75 -0
- package/docs/zh-CN/platforms/mac/canvas.md +128 -0
- package/docs/zh-CN/platforms/mac/child-process.md +73 -0
- package/docs/zh-CN/platforms/mac/dev-setup.md +109 -0
- package/docs/zh-CN/platforms/mac/health.md +41 -0
- package/docs/zh-CN/platforms/mac/icon.md +38 -0
- package/docs/zh-CN/platforms/mac/logging.md +64 -0
- package/docs/zh-CN/platforms/mac/menu-bar.md +88 -0
- package/docs/zh-CN/platforms/mac/peekaboo.md +62 -0
- package/docs/zh-CN/platforms/mac/permissions.md +46 -0
- package/docs/zh-CN/platforms/mac/remote.md +90 -0
- package/docs/zh-CN/platforms/mac/signing.md +54 -0
- package/docs/zh-CN/platforms/mac/skills.md +40 -0
- package/docs/zh-CN/platforms/mac/voice-overlay.md +67 -0
- package/docs/zh-CN/platforms/mac/voicewake.md +74 -0
- package/docs/zh-CN/platforms/mac/webchat.md +43 -0
- package/docs/zh-CN/platforms/mac/xpc.md +68 -0
- package/docs/zh-CN/platforms/macos.md +193 -0
- package/docs/zh-CN/platforms/oracle.md +310 -0
- package/docs/zh-CN/platforms/raspberry-pi.md +416 -0
- package/docs/zh-CN/platforms/windows.md +247 -0
- package/docs/zh-CN/plugins/agent-tools.md +99 -0
- package/docs/zh-CN/plugins/manifest.md +68 -0
- package/docs/zh-CN/plugins/voice-call.md +250 -0
- package/docs/zh-CN/plugins/zalouser.md +88 -0
- package/docs/zh-CN/prose.md +141 -0
- package/docs/zh-CN/providers/anthropic.md +265 -0
- package/docs/zh-CN/providers/bedrock.md +170 -0
- package/docs/zh-CN/providers/claude-max-api-proxy.md +155 -0
- package/docs/zh-CN/providers/cloudflare-ai-gateway.md +78 -0
- package/docs/zh-CN/providers/deepgram.md +97 -0
- package/docs/zh-CN/providers/github-copilot.md +67 -0
- package/docs/zh-CN/providers/glm.md +50 -0
- package/docs/zh-CN/providers/huggingface.md +216 -0
- package/docs/zh-CN/providers/index.md +69 -0
- package/docs/zh-CN/providers/kilocode.md +80 -0
- package/docs/zh-CN/providers/litellm.md +160 -0
- package/docs/zh-CN/providers/minimax.md +222 -0
- package/docs/zh-CN/providers/mistral.md +61 -0
- package/docs/zh-CN/providers/models.md +51 -0
- package/docs/zh-CN/providers/moonshot.md +182 -0
- package/docs/zh-CN/providers/nvidia.md +62 -0
- package/docs/zh-CN/providers/ollama.md +359 -0
- package/docs/zh-CN/providers/openai.md +308 -0
- package/docs/zh-CN/providers/opencode-go.md +52 -0
- package/docs/zh-CN/providers/opencode.md +71 -0
- package/docs/zh-CN/providers/openrouter.md +44 -0
- package/docs/zh-CN/providers/qianfan.md +45 -0
- package/docs/zh-CN/providers/qwen.md +55 -0
- package/docs/zh-CN/providers/sglang.md +111 -0
- package/docs/zh-CN/providers/synthetic.md +106 -0
- package/docs/zh-CN/providers/together.md +72 -0
- package/docs/zh-CN/providers/venice.md +289 -0
- package/docs/zh-CN/providers/vercel-ai-gateway.md +66 -0
- package/docs/zh-CN/providers/xiaomi.md +93 -0
- package/docs/zh-CN/providers/zai.md +53 -0
- package/docs/zh-CN/reference/AGENTS.default.md +131 -0
- package/docs/zh-CN/reference/RELEASING.md +48 -0
- package/docs/zh-CN/reference/api-usage-costs.md +141 -0
- package/docs/zh-CN/reference/credits.md +34 -0
- package/docs/zh-CN/reference/device-models.md +54 -0
- package/docs/zh-CN/reference/rpc.md +48 -0
- package/docs/zh-CN/reference/session-management-compaction.md +287 -0
- package/docs/zh-CN/reference/templates/AGENTS.dev.md +89 -0
- package/docs/zh-CN/reference/templates/AGENTS.md +225 -0
- package/docs/zh-CN/reference/templates/BOOT.md +17 -0
- package/docs/zh-CN/reference/templates/BOOTSTRAP.md +68 -0
- package/docs/zh-CN/reference/templates/HEARTBEAT.md +18 -0
- package/docs/zh-CN/reference/templates/IDENTITY.dev.md +54 -0
- package/docs/zh-CN/reference/templates/IDENTITY.md +36 -0
- package/docs/zh-CN/reference/templates/SOUL.dev.md +83 -0
- package/docs/zh-CN/reference/templates/SOUL.md +49 -0
- package/docs/zh-CN/reference/templates/TOOLS.dev.md +31 -0
- package/docs/zh-CN/reference/templates/TOOLS.md +53 -0
- package/docs/zh-CN/reference/templates/USER.dev.md +25 -0
- package/docs/zh-CN/reference/templates/USER.md +30 -0
- package/docs/zh-CN/reference/test.md +57 -0
- package/docs/zh-CN/reference/token-use.md +119 -0
- package/docs/zh-CN/reference/transcript-hygiene.md +109 -0
- package/docs/zh-CN/reference/wizard.md +242 -0
- package/docs/zh-CN/security/formal-verification.md +171 -0
- package/docs/zh-CN/start/bootstrapping.md +9 -0
- package/docs/zh-CN/start/docs-directory.md +70 -0
- package/docs/zh-CN/start/getting-started.md +143 -0
- package/docs/zh-CN/start/hubs.md +194 -0
- package/docs/zh-CN/start/lore.md +226 -0
- package/docs/zh-CN/start/onboarding-overview.md +58 -0
- package/docs/zh-CN/start/onboarding.md +105 -0
- package/docs/zh-CN/start/openclaw.md +248 -0
- package/docs/zh-CN/start/quickstart.md +88 -0
- package/docs/zh-CN/start/setup.md +153 -0
- package/docs/zh-CN/start/showcase.md +423 -0
- package/docs/zh-CN/start/wizard-cli-automation.md +222 -0
- package/docs/zh-CN/start/wizard-cli-reference.md +306 -0
- package/docs/zh-CN/start/wizard.md +132 -0
- package/docs/zh-CN/tools/agent-send.md +59 -0
- package/docs/zh-CN/tools/apply-patch.md +57 -0
- package/docs/zh-CN/tools/browser-linux-troubleshooting.md +144 -0
- package/docs/zh-CN/tools/browser-login.md +75 -0
- package/docs/zh-CN/tools/browser.md +553 -0
- package/docs/zh-CN/tools/chrome-extension.md +183 -0
- package/docs/zh-CN/tools/clawhub.md +209 -0
- package/docs/zh-CN/tools/creating-skills.md +61 -0
- package/docs/zh-CN/tools/elevated.md +64 -0
- package/docs/zh-CN/tools/exec-approvals.md +234 -0
- package/docs/zh-CN/tools/exec.md +169 -0
- package/docs/zh-CN/tools/firecrawl.md +68 -0
- package/docs/zh-CN/tools/index.md +515 -0
- package/docs/zh-CN/tools/llm-task.md +117 -0
- package/docs/zh-CN/tools/lobster.md +349 -0
- package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +401 -0
- package/docs/zh-CN/tools/plugin.md +1612 -0
- package/docs/zh-CN/tools/reactions.md +29 -0
- package/docs/zh-CN/tools/skills-config.md +78 -0
- package/docs/zh-CN/tools/skills.md +279 -0
- package/docs/zh-CN/tools/slash-commands.md +205 -0
- package/docs/zh-CN/tools/subagents.md +167 -0
- package/docs/zh-CN/tools/thinking.md +80 -0
- package/docs/zh-CN/tools/web.md +289 -0
- package/docs/zh-CN/tts.md +375 -0
- package/docs/zh-CN/vps.md +47 -0
- package/docs/zh-CN/web/control-ui.md +191 -0
- package/docs/zh-CN/web/dashboard.md +53 -0
- package/docs/zh-CN/web/index.md +118 -0
- package/docs/zh-CN/web/tui.md +166 -0
- package/docs/zh-CN/web/webchat.md +56 -0
- package/package.json +841 -0
- package/quantumclaw.mjs +135 -0
- package/skills/1password/SKILL.md +70 -0
- package/skills/1password/references/cli-examples.md +29 -0
- package/skills/1password/references/get-started.md +17 -0
- package/skills/apple-notes/SKILL.md +77 -0
- package/skills/apple-reminders/SKILL.md +118 -0
- package/skills/bear-notes/SKILL.md +107 -0
- package/skills/blogwatcher/SKILL.md +69 -0
- package/skills/blucli/SKILL.md +47 -0
- package/skills/bluebubbles/SKILL.md +131 -0
- package/skills/camsnap/SKILL.md +45 -0
- package/skills/canvas/SKILL.md +198 -0
- package/skills/clawhub/SKILL.md +77 -0
- package/skills/coding-agent/SKILL.md +295 -0
- package/skills/discord/SKILL.md +197 -0
- package/skills/eightctl/SKILL.md +50 -0
- package/skills/gemini/SKILL.md +43 -0
- package/skills/gh-issues/SKILL.md +865 -0
- package/skills/gifgrep/SKILL.md +79 -0
- package/skills/github/SKILL.md +163 -0
- package/skills/gog/SKILL.md +116 -0
- package/skills/goplaces/SKILL.md +52 -0
- package/skills/healthcheck/SKILL.md +245 -0
- package/skills/himalaya/SKILL.md +257 -0
- package/skills/himalaya/references/configuration.md +184 -0
- package/skills/himalaya/references/message-composition.md +199 -0
- package/skills/imsg/SKILL.md +122 -0
- package/skills/mcporter/SKILL.md +61 -0
- package/skills/model-usage/SKILL.md +69 -0
- package/skills/model-usage/references/codexbar-cli.md +33 -0
- package/skills/model-usage/scripts/model_usage.py +320 -0
- package/skills/model-usage/scripts/test_model_usage.py +40 -0
- package/skills/nano-pdf/SKILL.md +38 -0
- package/skills/node-connect/SKILL.md +142 -0
- package/skills/notion/SKILL.md +174 -0
- package/skills/obsidian/SKILL.md +81 -0
- package/skills/openai-image-gen/SKILL.md +92 -0
- package/skills/openai-image-gen/scripts/gen.py +328 -0
- package/skills/openai-image-gen/scripts/test_gen.py +140 -0
- package/skills/openai-whisper/SKILL.md +38 -0
- package/skills/openai-whisper-api/SKILL.md +52 -0
- package/skills/openai-whisper-api/scripts/transcribe.sh +85 -0
- package/skills/openhue/SKILL.md +112 -0
- package/skills/oracle/SKILL.md +125 -0
- package/skills/ordercli/SKILL.md +78 -0
- package/skills/peekaboo/SKILL.md +190 -0
- package/skills/sag/SKILL.md +87 -0
- package/skills/session-logs/SKILL.md +115 -0
- package/skills/sherpa-onnx-tts/SKILL.md +103 -0
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
- package/skills/skill-creator/SKILL.md +372 -0
- package/skills/skill-creator/license.txt +202 -0
- package/skills/skill-creator/scripts/init_skill.py +378 -0
- package/skills/skill-creator/scripts/package_skill.py +139 -0
- package/skills/skill-creator/scripts/quick_validate.py +159 -0
- package/skills/skill-creator/scripts/test_package_skill.py +160 -0
- package/skills/skill-creator/scripts/test_quick_validate.py +72 -0
- package/skills/slack/SKILL.md +144 -0
- package/skills/songsee/SKILL.md +49 -0
- package/skills/sonoscli/SKILL.md +65 -0
- package/skills/spotify-player/SKILL.md +64 -0
- package/skills/summarize/SKILL.md +87 -0
- package/skills/things-mac/SKILL.md +86 -0
- package/skills/tmux/SKILL.md +153 -0
- package/skills/tmux/scripts/find-sessions.sh +112 -0
- package/skills/tmux/scripts/wait-for-text.sh +83 -0
- package/skills/trello/SKILL.md +95 -0
- package/skills/video-frames/SKILL.md +46 -0
- package/skills/video-frames/scripts/frame.sh +81 -0
- package/skills/voice-call/SKILL.md +45 -0
- package/skills/wacli/SKILL.md +72 -0
- package/skills/weather/SKILL.md +112 -0
- package/skills/xurl/SKILL.md +461 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Deploy OpenClaw on Northflank with one-click template"
|
|
3
|
+
read_when:
|
|
4
|
+
- Deploying OpenClaw to Northflank
|
|
5
|
+
- You want a one-click cloud deploy with browser-based setup
|
|
6
|
+
title: "Northflank"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
Deploy OpenClaw on Northflank with a one-click template and finish setup in your browser.
|
|
10
|
+
This is the easiest “no terminal on the server” path: Northflank runs the Gateway for you,
|
|
11
|
+
and you configure everything via the `/setup` web wizard.
|
|
12
|
+
|
|
13
|
+
## How to get started
|
|
14
|
+
|
|
15
|
+
1. Click [Deploy OpenClaw](https://northflank.com/stacks/deploy-openclaw) to open the template.
|
|
16
|
+
2. Create an [account on Northflank](https://app.northflank.com/signup) if you don’t already have one.
|
|
17
|
+
3. Click **Deploy OpenClaw now**.
|
|
18
|
+
4. Set the required environment variable: `SETUP_PASSWORD`.
|
|
19
|
+
5. Click **Deploy stack** to build and run the OpenClaw template.
|
|
20
|
+
6. Wait for the deployment to complete, then click **View resources**.
|
|
21
|
+
7. Open the OpenClaw service.
|
|
22
|
+
8. Open the public OpenClaw URL and complete setup at `/setup`.
|
|
23
|
+
9. Open the Control UI at `/openclaw`.
|
|
24
|
+
|
|
25
|
+
## What you get
|
|
26
|
+
|
|
27
|
+
- Hosted OpenClaw Gateway + Control UI
|
|
28
|
+
- Web setup at `/setup` (no terminal commands)
|
|
29
|
+
- Persistent storage via Northflank Volume (`/data`) so config/credentials/workspace survive redeploys
|
|
30
|
+
|
|
31
|
+
## Setup flow
|
|
32
|
+
|
|
33
|
+
1. Visit `https://<your-northflank-domain>/setup` and enter your `SETUP_PASSWORD`.
|
|
34
|
+
2. Choose a model/auth provider and paste your key.
|
|
35
|
+
3. (Optional) Add Telegram/Discord/Slack tokens.
|
|
36
|
+
4. Click **Run setup**.
|
|
37
|
+
5. Open the Control UI at `https://<your-northflank-domain>/openclaw`
|
|
38
|
+
|
|
39
|
+
If Telegram DMs are set to pairing, web setup can approve the pairing code.
|
|
40
|
+
|
|
41
|
+
## Connect a channel
|
|
42
|
+
|
|
43
|
+
Paste your Telegram or Discord token into the `/setup` wizard. For setup
|
|
44
|
+
instructions, see the channel docs:
|
|
45
|
+
|
|
46
|
+
- [Telegram](/channels/telegram) (fastest — just a bot token)
|
|
47
|
+
- [Discord](/channels/discord)
|
|
48
|
+
- [All channels](/channels)
|
|
49
|
+
|
|
50
|
+
## Next steps
|
|
51
|
+
|
|
52
|
+
- Set up messaging channels: [Channels](/channels)
|
|
53
|
+
- Configure the Gateway: [Gateway configuration](/gateway/configuration)
|
|
54
|
+
- Keep OpenClaw up to date: [Updating](/install/updating)
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Host QuantumClaw on Oracle Cloud's Always Free ARM tier"
|
|
3
|
+
read_when:
|
|
4
|
+
- Setting up QuantumClaw on Oracle Cloud
|
|
5
|
+
- Looking for free VPS hosting for QuantumClaw
|
|
6
|
+
- Want 24/7 QuantumClaw on a small server
|
|
7
|
+
title: "Oracle Cloud"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Oracle Cloud
|
|
11
|
+
|
|
12
|
+
Run a persistent QuantumClaw Gateway on Oracle Cloud's **Always Free** ARM tier (up to 4 OCPU, 24 GB RAM, 200 GB storage) at no cost.
|
|
13
|
+
|
|
14
|
+
## Prerequisites
|
|
15
|
+
|
|
16
|
+
- Oracle Cloud account ([signup](https://www.oracle.com/cloud/free/)) -- see [community signup guide](https://gist.github.com/rssnyder/51e3cfedd730e7dd5f4a816143b25dbd) if you hit issues
|
|
17
|
+
- Tailscale account (free at [tailscale.com](https://tailscale.com))
|
|
18
|
+
- An SSH key pair
|
|
19
|
+
- About 30 minutes
|
|
20
|
+
|
|
21
|
+
## Setup
|
|
22
|
+
|
|
23
|
+
<Steps>
|
|
24
|
+
<Step title="Create an OCI instance">
|
|
25
|
+
1. Log into [Oracle Cloud Console](https://cloud.oracle.com/).
|
|
26
|
+
2. Navigate to **Compute > Instances > Create Instance**.
|
|
27
|
+
3. Configure:
|
|
28
|
+
- **Name:** `quantumclaw`
|
|
29
|
+
- **Image:** Ubuntu 24.04 (aarch64)
|
|
30
|
+
- **Shape:** `VM.Standard.A1.Flex` (Ampere ARM)
|
|
31
|
+
- **OCPUs:** 2 (or up to 4)
|
|
32
|
+
- **Memory:** 12 GB (or up to 24 GB)
|
|
33
|
+
- **Boot volume:** 50 GB (up to 200 GB free)
|
|
34
|
+
- **SSH key:** Add your public key
|
|
35
|
+
4. Click **Create** and note the public IP address.
|
|
36
|
+
|
|
37
|
+
<Tip>
|
|
38
|
+
If instance creation fails with "Out of capacity", try a different availability domain or retry later. Free tier capacity is limited.
|
|
39
|
+
</Tip>
|
|
40
|
+
|
|
41
|
+
</Step>
|
|
42
|
+
|
|
43
|
+
<Step title="Connect and update the system">
|
|
44
|
+
```bash
|
|
45
|
+
ssh ubuntu@YOUR_PUBLIC_IP
|
|
46
|
+
|
|
47
|
+
sudo apt update && sudo apt upgrade -y
|
|
48
|
+
sudo apt install -y build-essential
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
`build-essential` is required for ARM compilation of some dependencies.
|
|
52
|
+
|
|
53
|
+
</Step>
|
|
54
|
+
|
|
55
|
+
<Step title="Configure user and hostname">
|
|
56
|
+
```bash
|
|
57
|
+
sudo hostnamectl set-hostname quantumclaw
|
|
58
|
+
sudo passwd ubuntu
|
|
59
|
+
sudo loginctl enable-linger ubuntu
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Enabling linger keeps user services running after logout.
|
|
63
|
+
|
|
64
|
+
</Step>
|
|
65
|
+
|
|
66
|
+
<Step title="Install Tailscale">
|
|
67
|
+
```bash
|
|
68
|
+
curl -fsSL https://tailscale.com/install.sh | sh
|
|
69
|
+
sudo tailscale up --ssh --hostname=quantumclaw
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
From now on, connect via Tailscale: `ssh ubuntu@quantumclaw`.
|
|
73
|
+
|
|
74
|
+
</Step>
|
|
75
|
+
|
|
76
|
+
<Step title="Install QuantumClaw">
|
|
77
|
+
```bash
|
|
78
|
+
curl -fsSL https://quantumclaw.ai/install.sh | bash
|
|
79
|
+
source ~/.bashrc
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
When prompted "How do you want to hatch your bot?", select **Do this later**.
|
|
83
|
+
|
|
84
|
+
</Step>
|
|
85
|
+
|
|
86
|
+
<Step title="Configure the gateway">
|
|
87
|
+
Use token auth with Tailscale Serve for secure remote access.
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
quantumclaw config set gateway.bind loopback
|
|
91
|
+
quantumclaw config set gateway.auth.mode token
|
|
92
|
+
quantumclaw doctor --generate-gateway-token
|
|
93
|
+
quantumclaw config set gateway.tailscale.mode serve
|
|
94
|
+
quantumclaw config set gateway.trustedProxies '["127.0.0.1"]'
|
|
95
|
+
|
|
96
|
+
systemctl --user restart quantumclaw-gateway
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
</Step>
|
|
100
|
+
|
|
101
|
+
<Step title="Lock down VCN security">
|
|
102
|
+
Block all traffic except Tailscale at the network edge:
|
|
103
|
+
|
|
104
|
+
1. Go to **Networking > Virtual Cloud Networks** in the OCI Console.
|
|
105
|
+
2. Click your VCN, then **Security Lists > Default Security List**.
|
|
106
|
+
3. **Remove** all ingress rules except `0.0.0.0/0 UDP 41641` (Tailscale).
|
|
107
|
+
4. Keep default egress rules (allow all outbound).
|
|
108
|
+
|
|
109
|
+
This blocks SSH on port 22, HTTP, HTTPS, and everything else at the network edge. You can only connect via Tailscale from this point on.
|
|
110
|
+
|
|
111
|
+
</Step>
|
|
112
|
+
|
|
113
|
+
<Step title="Verify">
|
|
114
|
+
```bash
|
|
115
|
+
quantumclaw --version
|
|
116
|
+
systemctl --user status quantumclaw-gateway
|
|
117
|
+
tailscale serve status
|
|
118
|
+
curl http://localhost:18789
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Access the Control UI from any device on your tailnet:
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
https://quantumclaw.<tailnet-name>.ts.net/
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Replace `<tailnet-name>` with your tailnet name (visible in `tailscale status`).
|
|
128
|
+
|
|
129
|
+
</Step>
|
|
130
|
+
</Steps>
|
|
131
|
+
|
|
132
|
+
## Fallback: SSH tunnel
|
|
133
|
+
|
|
134
|
+
If Tailscale Serve is not working, use an SSH tunnel from your local machine:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
ssh -L 18789:127.0.0.1:18789 ubuntu@quantumclaw
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Then open `http://localhost:18789`.
|
|
141
|
+
|
|
142
|
+
## Troubleshooting
|
|
143
|
+
|
|
144
|
+
**Instance creation fails ("Out of capacity")** -- Free tier ARM instances are popular. Try a different availability domain or retry during off-peak hours.
|
|
145
|
+
|
|
146
|
+
**Tailscale will not connect** -- Run `sudo tailscale up --ssh --hostname=quantumclaw --reset` to re-authenticate.
|
|
147
|
+
|
|
148
|
+
**Gateway will not start** -- Run `quantumclaw doctor --non-interactive` and check logs with `journalctl --user -u quantumclaw-gateway -n 50`.
|
|
149
|
+
|
|
150
|
+
**ARM binary issues** -- Most npm packages work on ARM64. For native binaries, look for `linux-arm64` or `aarch64` releases. Verify architecture with `uname -m`.
|
|
151
|
+
|
|
152
|
+
## Next steps
|
|
153
|
+
|
|
154
|
+
- [Channels](/channels) -- connect Telegram, WhatsApp, Discord, and more
|
|
155
|
+
- [Gateway configuration](/gateway/configuration) -- all config options
|
|
156
|
+
- [Updating](/install/updating) -- keep QuantumClaw up to date
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Run QuantumClaw in a rootless Podman container"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want a containerized gateway with Podman instead of Docker
|
|
5
|
+
title: "Podman"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Podman
|
|
9
|
+
|
|
10
|
+
Run the QuantumClaw Gateway in a **rootless** Podman container. Uses the same image as Docker (built from the repo [Dockerfile](https://github.com/quantumclaw/quantumclaw/blob/main/Dockerfile)).
|
|
11
|
+
|
|
12
|
+
## Prerequisites
|
|
13
|
+
|
|
14
|
+
- **Podman** (rootless mode)
|
|
15
|
+
- **sudo** access for one-time setup (creating the dedicated user and building the image)
|
|
16
|
+
|
|
17
|
+
## Quick start
|
|
18
|
+
|
|
19
|
+
<Steps>
|
|
20
|
+
<Step title="One-time setup">
|
|
21
|
+
From the repo root, run the setup script. It creates a dedicated `quantumclaw` user, builds the container image, and installs the launch script:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
./scripts/podman/setup.sh
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
This also creates a minimal config at `~quantumclaw/.quantumclaw/quantumclaw.json` (sets `gateway.mode` to `"local"`) so the Gateway can start without running the wizard.
|
|
28
|
+
|
|
29
|
+
By default the container is **not** installed as a systemd service -- you start it manually in the next step. For a production-style setup with auto-start and restarts, pass `--quadlet` instead:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
./scripts/podman/setup.sh --quadlet
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
(Or set `QUANTUMCLAW_PODMAN_QUADLET=1`. Use `--container` to install only the container and launch script.)
|
|
36
|
+
|
|
37
|
+
**Optional build-time env vars** (set before running `scripts/podman/setup.sh`):
|
|
38
|
+
|
|
39
|
+
- `QUANTUMCLAW_DOCKER_APT_PACKAGES` -- install extra apt packages during image build.
|
|
40
|
+
- `QUANTUMCLAW_EXTENSIONS` -- pre-install extension dependencies (space-separated names, e.g. `diagnostics-otel matrix`).
|
|
41
|
+
|
|
42
|
+
</Step>
|
|
43
|
+
|
|
44
|
+
<Step title="Start the Gateway">
|
|
45
|
+
For a quick manual launch:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
./scripts/run-quantumclaw-podman.sh launch
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
</Step>
|
|
52
|
+
|
|
53
|
+
<Step title="Run the onboarding wizard">
|
|
54
|
+
To add channels or providers interactively:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
./scripts/run-quantumclaw-podman.sh launch setup
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Then open `http://127.0.0.1:18789/` and use the token from `~quantumclaw/.quantumclaw/.env` (or the value printed by setup).
|
|
61
|
+
|
|
62
|
+
</Step>
|
|
63
|
+
</Steps>
|
|
64
|
+
|
|
65
|
+
## Systemd (Quadlet, optional)
|
|
66
|
+
|
|
67
|
+
If you ran `./scripts/podman/setup.sh --quadlet` (or `QUANTUMCLAW_PODMAN_QUADLET=1`), a [Podman Quadlet](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html) unit is installed so the gateway runs as a systemd user service for the quantumclaw user. The service is enabled and started at the end of setup.
|
|
68
|
+
|
|
69
|
+
- **Start:** `sudo systemctl --machine quantumclaw@ --user start quantumclaw.service`
|
|
70
|
+
- **Stop:** `sudo systemctl --machine quantumclaw@ --user stop quantumclaw.service`
|
|
71
|
+
- **Status:** `sudo systemctl --machine quantumclaw@ --user status quantumclaw.service`
|
|
72
|
+
- **Logs:** `sudo journalctl --machine quantumclaw@ --user -u quantumclaw.service -f`
|
|
73
|
+
|
|
74
|
+
The quadlet file lives at `~quantumclaw/.config/containers/systemd/quantumclaw.container`. To change ports or env, edit that file (or the `.env` it sources), then `sudo systemctl --machine quantumclaw@ --user daemon-reload` and restart the service. On boot, the service starts automatically if lingering is enabled for quantumclaw (setup does this when loginctl is available).
|
|
75
|
+
|
|
76
|
+
To add quadlet **after** an initial setup that did not use it, re-run: `./scripts/podman/setup.sh --quadlet`.
|
|
77
|
+
|
|
78
|
+
## The quantumclaw user (non-login)
|
|
79
|
+
|
|
80
|
+
`scripts/podman/setup.sh` creates a dedicated system user `quantumclaw`:
|
|
81
|
+
|
|
82
|
+
- **Shell:** `nologin` — no interactive login; reduces attack surface.
|
|
83
|
+
- **Home:** e.g. `/home/quantumclaw` — holds `~/.quantumclaw` (config, workspace) and the launch script `run-quantumclaw-podman.sh`.
|
|
84
|
+
- **Rootless Podman:** The user must have a **subuid** and **subgid** range. Many distros assign these automatically when the user is created. If setup prints a warning, add lines to `/etc/subuid` and `/etc/subgid`:
|
|
85
|
+
|
|
86
|
+
```text
|
|
87
|
+
quantumclaw:100000:65536
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Then start the gateway as that user (e.g. from cron or systemd):
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
sudo -u quantumclaw /home/quantumclaw/run-quantumclaw-podman.sh
|
|
94
|
+
sudo -u quantumclaw /home/quantumclaw/run-quantumclaw-podman.sh setup
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
- **Config:** Only `quantumclaw` and root can access `/home/quantumclaw/.quantumclaw`. To edit config: use the Control UI once the gateway is running, or `sudo -u quantumclaw $EDITOR /home/quantumclaw/.quantumclaw/quantumclaw.json`.
|
|
98
|
+
|
|
99
|
+
## Environment and config
|
|
100
|
+
|
|
101
|
+
- **Token:** Stored in `~quantumclaw/.quantumclaw/.env` as `QUANTUMCLAW_GATEWAY_TOKEN`. `scripts/podman/setup.sh` and `run-quantumclaw-podman.sh` generate it if missing (uses `openssl`, `python3`, or `od`).
|
|
102
|
+
- **Optional:** In that `.env` you can set provider keys (e.g. `GROQ_API_KEY`, `OLLAMA_API_KEY`) and other QuantumClaw env vars.
|
|
103
|
+
- **Host ports:** By default the script maps `18789` (gateway) and `18790` (bridge). Override the **host** port mapping with `QUANTUMCLAW_PODMAN_GATEWAY_HOST_PORT` and `QUANTUMCLAW_PODMAN_BRIDGE_HOST_PORT` when launching.
|
|
104
|
+
- **Gateway bind:** By default, `run-quantumclaw-podman.sh` starts the gateway with `--bind loopback` for safe local access. To expose on LAN, set `QUANTUMCLAW_GATEWAY_BIND=lan` and configure `gateway.controlUi.allowedOrigins` (or explicitly enable host-header fallback) in `quantumclaw.json`.
|
|
105
|
+
- **Paths:** Host config and workspace default to `~quantumclaw/.quantumclaw` and `~quantumclaw/.quantumclaw/workspace`. Override the host paths used by the launch script with `QUANTUMCLAW_CONFIG_DIR` and `QUANTUMCLAW_WORKSPACE_DIR`.
|
|
106
|
+
|
|
107
|
+
## Storage model
|
|
108
|
+
|
|
109
|
+
- **Persistent host data:** `QUANTUMCLAW_CONFIG_DIR` and `QUANTUMCLAW_WORKSPACE_DIR` are bind-mounted into the container and retain state on the host.
|
|
110
|
+
- **Ephemeral sandbox tmpfs:** if you enable `agents.defaults.sandbox`, the tool sandbox containers mount `tmpfs` at `/tmp`, `/var/tmp`, and `/run`. Those paths are memory-backed and disappear with the sandbox container; the top-level Podman container setup does not add its own tmpfs mounts.
|
|
111
|
+
- **Disk growth hotspots:** the main paths to watch are `media/`, `agents/<agentId>/sessions/sessions.json`, transcript JSONL files, `cron/runs/*.jsonl`, and rolling file logs under `/tmp/quantumclaw/` (or your configured `logging.file`).
|
|
112
|
+
|
|
113
|
+
`scripts/podman/setup.sh` now stages the image tar in a private temp directory and prints the chosen base dir during setup. For non-root runs it accepts `TMPDIR` only when that base is safe to use; otherwise it falls back to `/var/tmp`, then `/tmp`. The saved tar stays owner-only and is streamed into the target user’s `podman load`, so private caller temp dirs do not block setup.
|
|
114
|
+
|
|
115
|
+
## Useful commands
|
|
116
|
+
|
|
117
|
+
- **Logs:** With quadlet: `sudo journalctl --machine quantumclaw@ --user -u quantumclaw.service -f`. With script: `sudo -u quantumclaw podman logs -f quantumclaw`
|
|
118
|
+
- **Stop:** With quadlet: `sudo systemctl --machine quantumclaw@ --user stop quantumclaw.service`. With script: `sudo -u quantumclaw podman stop quantumclaw`
|
|
119
|
+
- **Start again:** With quadlet: `sudo systemctl --machine quantumclaw@ --user start quantumclaw.service`. With script: re-run the launch script or `podman start quantumclaw`
|
|
120
|
+
- **Remove container:** `sudo -u quantumclaw podman rm -f quantumclaw` — config and workspace on the host are kept
|
|
121
|
+
|
|
122
|
+
## Troubleshooting
|
|
123
|
+
|
|
124
|
+
- **Permission denied (EACCES) on config or auth-profiles:** The container defaults to `--userns=keep-id` and runs as the same uid/gid as the host user running the script. Ensure your host `QUANTUMCLAW_CONFIG_DIR` and `QUANTUMCLAW_WORKSPACE_DIR` are owned by that user.
|
|
125
|
+
- **Gateway start blocked (missing `gateway.mode=local`):** Ensure `~quantumclaw/.quantumclaw/quantumclaw.json` exists and sets `gateway.mode="local"`. `scripts/podman/setup.sh` creates this file if missing.
|
|
126
|
+
- **Rootless Podman fails for user quantumclaw:** Check `/etc/subuid` and `/etc/subgid` contain a line for `quantumclaw` (e.g. `quantumclaw:100000:65536`). Add it if missing and restart.
|
|
127
|
+
- **Container name in use:** The launch script uses `podman run --replace`, so the existing container is replaced when you start again. To clean up manually: `podman rm -f quantumclaw`.
|
|
128
|
+
- **Script not found when running as quantumclaw:** Ensure `scripts/podman/setup.sh` was run so that `run-quantumclaw-podman.sh` is copied to quantumclaw’s home (e.g. `/home/quantumclaw/run-quantumclaw-podman.sh`).
|
|
129
|
+
- **Quadlet service not found or fails to start:** Run `sudo systemctl --machine quantumclaw@ --user daemon-reload` after editing the `.container` file. Quadlet requires cgroups v2: `podman info --format '{{.Host.CgroupsVersion}}'` should show `2`.
|
|
130
|
+
|
|
131
|
+
## Optional: run as your own user
|
|
132
|
+
|
|
133
|
+
To run the gateway as your normal user (no dedicated quantumclaw user): build the image, create `~/.quantumclaw/.env` with `QUANTUMCLAW_GATEWAY_TOKEN`, and run the container with `--userns=keep-id` and mounts to your `~/.quantumclaw`. The launch script is designed for the quantumclaw-user flow; for a single-user setup you can instead run the `podman run` command from the script manually, pointing config and workspace to your home. Recommended for most users: use `scripts/podman/setup.sh` and run as the quantumclaw user so config and process are isolated.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Deploy OpenClaw on Railway with one-click template"
|
|
3
|
+
read_when:
|
|
4
|
+
- Deploying OpenClaw to Railway
|
|
5
|
+
- You want a one-click cloud deploy with browser-based setup
|
|
6
|
+
title: "Railway"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
Deploy OpenClaw on Railway with a one-click template and finish setup in your browser.
|
|
10
|
+
This is the easiest “no terminal on the server” path: Railway runs the Gateway for you,
|
|
11
|
+
and you configure everything via the `/setup` web wizard.
|
|
12
|
+
|
|
13
|
+
## Quick checklist (new users)
|
|
14
|
+
|
|
15
|
+
1. Click **Deploy on Railway** (below).
|
|
16
|
+
2. Add a **Volume** mounted at `/data`.
|
|
17
|
+
3. Set the required **Variables** (at least `SETUP_PASSWORD`).
|
|
18
|
+
4. Enable **HTTP Proxy** on port `8080`.
|
|
19
|
+
5. Open `https://<your-railway-domain>/setup` and finish the wizard.
|
|
20
|
+
|
|
21
|
+
## One-click deploy
|
|
22
|
+
|
|
23
|
+
<a href="https://railway.com/deploy/clawdbot-railway-template" target="_blank" rel="noreferrer">
|
|
24
|
+
Deploy on Railway
|
|
25
|
+
</a>
|
|
26
|
+
|
|
27
|
+
After deploy, find your public URL in **Railway → your service → Settings → Domains**.
|
|
28
|
+
|
|
29
|
+
Railway will either:
|
|
30
|
+
|
|
31
|
+
- give you a generated domain (often `https://<something>.up.railway.app`), or
|
|
32
|
+
- use your custom domain if you attached one.
|
|
33
|
+
|
|
34
|
+
Then open:
|
|
35
|
+
|
|
36
|
+
- `https://<your-railway-domain>/setup` — web setup (password protected)
|
|
37
|
+
- `https://<your-railway-domain>/openclaw` — Control UI
|
|
38
|
+
|
|
39
|
+
## What you get
|
|
40
|
+
|
|
41
|
+
- Hosted OpenClaw Gateway + Control UI
|
|
42
|
+
- Web setup at `/setup` (no terminal commands)
|
|
43
|
+
- Persistent storage via Railway Volume (`/data`) so config/credentials/workspace survive redeploys
|
|
44
|
+
- Backup export at `/setup/export` to migrate off Railway later
|
|
45
|
+
|
|
46
|
+
## Required Railway settings
|
|
47
|
+
|
|
48
|
+
### Public Networking
|
|
49
|
+
|
|
50
|
+
Enable **HTTP Proxy** for the service.
|
|
51
|
+
|
|
52
|
+
- Port: `8080`
|
|
53
|
+
|
|
54
|
+
### Volume (required)
|
|
55
|
+
|
|
56
|
+
Attach a volume mounted at:
|
|
57
|
+
|
|
58
|
+
- `/data`
|
|
59
|
+
|
|
60
|
+
### Variables
|
|
61
|
+
|
|
62
|
+
Set these variables on the service:
|
|
63
|
+
|
|
64
|
+
- `SETUP_PASSWORD` (required)
|
|
65
|
+
- `PORT=8080` (required — must match the port in Public Networking)
|
|
66
|
+
- `OPENCLAW_STATE_DIR=/data/.openclaw` (recommended)
|
|
67
|
+
- `OPENCLAW_WORKSPACE_DIR=/data/workspace` (recommended)
|
|
68
|
+
- `OPENCLAW_GATEWAY_TOKEN` (recommended; treat as an admin secret)
|
|
69
|
+
|
|
70
|
+
## Setup flow
|
|
71
|
+
|
|
72
|
+
1. Visit `https://<your-railway-domain>/setup` and enter your `SETUP_PASSWORD`.
|
|
73
|
+
2. Choose a model/auth provider and paste your key.
|
|
74
|
+
3. (Optional) Add Telegram/Discord/Slack tokens.
|
|
75
|
+
4. Click **Run setup**.
|
|
76
|
+
|
|
77
|
+
If Telegram DMs are set to pairing, web setup can approve the pairing code.
|
|
78
|
+
|
|
79
|
+
## Connect a channel
|
|
80
|
+
|
|
81
|
+
Paste your Telegram or Discord token into the `/setup` wizard. For setup
|
|
82
|
+
instructions, see the channel docs:
|
|
83
|
+
|
|
84
|
+
- [Telegram](/channels/telegram) (fastest — just a bot token)
|
|
85
|
+
- [Discord](/channels/discord)
|
|
86
|
+
- [All channels](/channels)
|
|
87
|
+
|
|
88
|
+
## Backups & migration
|
|
89
|
+
|
|
90
|
+
Download a backup at:
|
|
91
|
+
|
|
92
|
+
- `https://<your-railway-domain>/setup/export`
|
|
93
|
+
|
|
94
|
+
This exports your OpenClaw state + workspace so you can migrate to another host without losing config or memory.
|
|
95
|
+
|
|
96
|
+
## Next steps
|
|
97
|
+
|
|
98
|
+
- Set up messaging channels: [Channels](/channels)
|
|
99
|
+
- Configure the Gateway: [Gateway configuration](/gateway/configuration)
|
|
100
|
+
- Keep OpenClaw up to date: [Updating](/install/updating)
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Host QuantumClaw on a Raspberry Pi for always-on self-hosting"
|
|
3
|
+
read_when:
|
|
4
|
+
- Setting up QuantumClaw on a Raspberry Pi
|
|
5
|
+
- Running QuantumClaw on ARM devices
|
|
6
|
+
- Building a cheap always-on personal AI
|
|
7
|
+
title: "Raspberry Pi"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Raspberry Pi
|
|
11
|
+
|
|
12
|
+
Run a persistent, always-on QuantumClaw Gateway on a Raspberry Pi. Since the Pi is just the gateway (models run in the cloud via API), even a modest Pi handles the workload well.
|
|
13
|
+
|
|
14
|
+
## Prerequisites
|
|
15
|
+
|
|
16
|
+
- Raspberry Pi 4 or 5 with 2 GB+ RAM (4 GB recommended)
|
|
17
|
+
- MicroSD card (16 GB+) or USB SSD (better performance)
|
|
18
|
+
- Official Pi power supply
|
|
19
|
+
- Network connection (Ethernet or WiFi)
|
|
20
|
+
- 64-bit Raspberry Pi OS (required -- do not use 32-bit)
|
|
21
|
+
- About 30 minutes
|
|
22
|
+
|
|
23
|
+
## Setup
|
|
24
|
+
|
|
25
|
+
<Steps>
|
|
26
|
+
<Step title="Flash the OS">
|
|
27
|
+
Use **Raspberry Pi OS Lite (64-bit)** -- no desktop needed for a headless server.
|
|
28
|
+
|
|
29
|
+
1. Download [Raspberry Pi Imager](https://www.raspberrypi.com/software/).
|
|
30
|
+
2. Choose OS: **Raspberry Pi OS Lite (64-bit)**.
|
|
31
|
+
3. In the settings dialog, pre-configure:
|
|
32
|
+
- Hostname: `gateway-host`
|
|
33
|
+
- Enable SSH
|
|
34
|
+
- Set username and password
|
|
35
|
+
- Configure WiFi (if not using Ethernet)
|
|
36
|
+
4. Flash to your SD card or USB drive, insert it, and boot the Pi.
|
|
37
|
+
|
|
38
|
+
</Step>
|
|
39
|
+
|
|
40
|
+
<Step title="Connect via SSH">
|
|
41
|
+
```bash
|
|
42
|
+
ssh user@gateway-host
|
|
43
|
+
```
|
|
44
|
+
</Step>
|
|
45
|
+
|
|
46
|
+
<Step title="Update the system">
|
|
47
|
+
```bash
|
|
48
|
+
sudo apt update && sudo apt upgrade -y
|
|
49
|
+
sudo apt install -y git curl build-essential
|
|
50
|
+
|
|
51
|
+
# Set timezone (important for cron and reminders)
|
|
52
|
+
sudo timedatectl set-timezone America/Chicago
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
</Step>
|
|
56
|
+
|
|
57
|
+
<Step title="Install Node.js 24">
|
|
58
|
+
```bash
|
|
59
|
+
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
|
|
60
|
+
sudo apt install -y nodejs
|
|
61
|
+
node --version
|
|
62
|
+
```
|
|
63
|
+
</Step>
|
|
64
|
+
|
|
65
|
+
<Step title="Add swap (important for 2 GB or less)">
|
|
66
|
+
```bash
|
|
67
|
+
sudo fallocate -l 2G /swapfile
|
|
68
|
+
sudo chmod 600 /swapfile
|
|
69
|
+
sudo mkswap /swapfile
|
|
70
|
+
sudo swapon /swapfile
|
|
71
|
+
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
|
|
72
|
+
|
|
73
|
+
# Reduce swappiness for low-RAM devices
|
|
74
|
+
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
|
|
75
|
+
sudo sysctl -p
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
</Step>
|
|
79
|
+
|
|
80
|
+
<Step title="Install QuantumClaw">
|
|
81
|
+
```bash
|
|
82
|
+
curl -fsSL https://quantumclaw.ai/install.sh | bash
|
|
83
|
+
```
|
|
84
|
+
</Step>
|
|
85
|
+
|
|
86
|
+
<Step title="Run onboarding">
|
|
87
|
+
```bash
|
|
88
|
+
quantumclaw onboard --install-daemon
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Follow the wizard. API keys are recommended over OAuth for headless devices. Telegram is the easiest channel to start with.
|
|
92
|
+
|
|
93
|
+
</Step>
|
|
94
|
+
|
|
95
|
+
<Step title="Verify">
|
|
96
|
+
```bash
|
|
97
|
+
quantumclaw status
|
|
98
|
+
sudo systemctl status quantumclaw
|
|
99
|
+
journalctl -u quantumclaw -f
|
|
100
|
+
```
|
|
101
|
+
</Step>
|
|
102
|
+
|
|
103
|
+
<Step title="Access the Control UI">
|
|
104
|
+
On your computer, get a dashboard URL from the Pi:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
ssh user@gateway-host 'quantumclaw dashboard --no-open'
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Then create an SSH tunnel in another terminal:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
ssh -N -L 18789:127.0.0.1:18789 user@gateway-host
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Open the printed URL in your local browser. For always-on remote access, see [Tailscale integration](/gateway/tailscale).
|
|
117
|
+
|
|
118
|
+
</Step>
|
|
119
|
+
</Steps>
|
|
120
|
+
|
|
121
|
+
## Performance tips
|
|
122
|
+
|
|
123
|
+
**Use a USB SSD** -- SD cards are slow and wear out. A USB SSD dramatically improves performance. See the [Pi USB boot guide](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#usb-mass-storage-boot).
|
|
124
|
+
|
|
125
|
+
**Enable module compile cache** -- Speeds up repeated CLI invocations on lower-power Pi hosts:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
grep -q 'NODE_COMPILE_CACHE=/var/tmp/quantumclaw-compile-cache' ~/.bashrc || cat >> ~/.bashrc <<'EOF' # pragma: allowlist secret
|
|
129
|
+
export NODE_COMPILE_CACHE=/var/tmp/quantumclaw-compile-cache
|
|
130
|
+
mkdir -p /var/tmp/quantumclaw-compile-cache
|
|
131
|
+
export QUANTUMCLAW_NO_RESPAWN=1
|
|
132
|
+
EOF
|
|
133
|
+
source ~/.bashrc
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Reduce memory usage** -- For headless setups, free GPU memory and disable unused services:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
echo 'gpu_mem=16' | sudo tee -a /boot/config.txt
|
|
140
|
+
sudo systemctl disable bluetooth
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Troubleshooting
|
|
144
|
+
|
|
145
|
+
**Out of memory** -- Verify swap is active with `free -h`. Disable unused services (`sudo systemctl disable cups bluetooth avahi-daemon`). Use API-based models only.
|
|
146
|
+
|
|
147
|
+
**Slow performance** -- Use a USB SSD instead of an SD card. Check for CPU throttling with `vcgencmd get_throttled` (should return `0x0`).
|
|
148
|
+
|
|
149
|
+
**Service will not start** -- Check logs with `journalctl -u quantumclaw --no-pager -n 100` and run `quantumclaw doctor --non-interactive`.
|
|
150
|
+
|
|
151
|
+
**ARM binary issues** -- If a skill fails with "exec format error", check whether the binary has an ARM64 build. Verify architecture with `uname -m` (should show `aarch64`).
|
|
152
|
+
|
|
153
|
+
**WiFi drops** -- Disable WiFi power management: `sudo iwconfig wlan0 power off`.
|
|
154
|
+
|
|
155
|
+
## Next steps
|
|
156
|
+
|
|
157
|
+
- [Channels](/channels) -- connect Telegram, WhatsApp, Discord, and more
|
|
158
|
+
- [Gateway configuration](/gateway/configuration) -- all config options
|
|
159
|
+
- [Updating](/install/updating) -- keep QuantumClaw up to date
|