@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,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Run agent turns from the CLI and optionally deliver replies to channels"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want to trigger agent runs from scripts or the command line
|
|
5
|
+
- You need to deliver agent replies to a chat channel programmatically
|
|
6
|
+
title: "Agent Send"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Agent Send
|
|
10
|
+
|
|
11
|
+
`quantumclaw agent` runs a single agent turn from the command line without needing
|
|
12
|
+
an inbound chat message. Use it for scripted workflows, testing, and
|
|
13
|
+
programmatic delivery.
|
|
14
|
+
|
|
15
|
+
## Quick start
|
|
16
|
+
|
|
17
|
+
<Steps>
|
|
18
|
+
<Step title="Run a simple agent turn">
|
|
19
|
+
```bash
|
|
20
|
+
quantumclaw agent --message "What is the weather today?"
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
This sends the message through the Gateway and prints the reply.
|
|
24
|
+
|
|
25
|
+
</Step>
|
|
26
|
+
|
|
27
|
+
<Step title="Target a specific agent or session">
|
|
28
|
+
```bash
|
|
29
|
+
# Target a specific agent
|
|
30
|
+
quantumclaw agent --agent ops --message "Summarize logs"
|
|
31
|
+
|
|
32
|
+
# Target a phone number (derives session key)
|
|
33
|
+
quantumclaw agent --to +15555550123 --message "Status update"
|
|
34
|
+
|
|
35
|
+
# Reuse an existing session
|
|
36
|
+
quantumclaw agent --session-id abc123 --message "Continue the task"
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
</Step>
|
|
40
|
+
|
|
41
|
+
<Step title="Deliver the reply to a channel">
|
|
42
|
+
```bash
|
|
43
|
+
# Deliver to WhatsApp (default channel)
|
|
44
|
+
quantumclaw agent --to +15555550123 --message "Report ready" --deliver
|
|
45
|
+
|
|
46
|
+
# Deliver to Slack
|
|
47
|
+
quantumclaw agent --agent ops --message "Generate report" \
|
|
48
|
+
--deliver --reply-channel slack --reply-to "#reports"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
</Step>
|
|
52
|
+
</Steps>
|
|
53
|
+
|
|
54
|
+
## Flags
|
|
55
|
+
|
|
56
|
+
| Flag | Description |
|
|
57
|
+
| ----------------------------- | ----------------------------------------------------------- |
|
|
58
|
+
| `--message \<text\>` | Message to send (required) |
|
|
59
|
+
| `--to \<dest\>` | Derive session key from a target (phone, chat id) |
|
|
60
|
+
| `--agent \<id\>` | Target a configured agent (uses its `main` session) |
|
|
61
|
+
| `--session-id \<id\>` | Reuse an existing session by id |
|
|
62
|
+
| `--local` | Force local embedded runtime (skip Gateway) |
|
|
63
|
+
| `--deliver` | Send the reply to a chat channel |
|
|
64
|
+
| `--channel \<name\>` | Delivery channel (whatsapp, telegram, discord, slack, etc.) |
|
|
65
|
+
| `--reply-to \<target\>` | Delivery target override |
|
|
66
|
+
| `--reply-channel \<name\>` | Delivery channel override |
|
|
67
|
+
| `--reply-account \<id\>` | Delivery account id override |
|
|
68
|
+
| `--thinking \<level\>` | Set thinking level (off, minimal, low, medium, high, xhigh) |
|
|
69
|
+
| `--verbose \<on\|full\|off\>` | Set verbose level |
|
|
70
|
+
| `--timeout \<seconds\>` | Override agent timeout |
|
|
71
|
+
| `--json` | Output structured JSON |
|
|
72
|
+
|
|
73
|
+
## Behavior
|
|
74
|
+
|
|
75
|
+
- By default, the CLI goes **through the Gateway**. Add `--local` to force the
|
|
76
|
+
embedded runtime on the current machine.
|
|
77
|
+
- If the Gateway is unreachable, the CLI **falls back** to the local embedded run.
|
|
78
|
+
- Session selection: `--to` derives the session key (group/channel targets
|
|
79
|
+
preserve isolation; direct chats collapse to `main`).
|
|
80
|
+
- Thinking and verbose flags persist into the session store.
|
|
81
|
+
- Output: plain text by default, or `--json` for structured payload + metadata.
|
|
82
|
+
|
|
83
|
+
## Examples
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
# Simple turn with JSON output
|
|
87
|
+
quantumclaw agent --to +15555550123 --message "Trace logs" --verbose on --json
|
|
88
|
+
|
|
89
|
+
# Turn with thinking level
|
|
90
|
+
quantumclaw agent --session-id 1234 --message "Summarize inbox" --thinking medium
|
|
91
|
+
|
|
92
|
+
# Deliver to a different channel than the session
|
|
93
|
+
quantumclaw agent --agent ops --message "Alert" --deliver --reply-channel telegram --reply-to "@admin"
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Related
|
|
97
|
+
|
|
98
|
+
- [Agent CLI reference](/cli/agent)
|
|
99
|
+
- [Sub-agents](/tools/subagents) — background sub-agent spawning
|
|
100
|
+
- [Sessions](/concepts/session) — how session keys work
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Apply multi-file patches with the apply_patch tool"
|
|
3
|
+
read_when:
|
|
4
|
+
- You need structured file edits across multiple files
|
|
5
|
+
- You want to document or debug patch-based edits
|
|
6
|
+
title: "apply_patch Tool"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# apply_patch tool
|
|
10
|
+
|
|
11
|
+
Apply file changes using a structured patch format. This is ideal for multi-file
|
|
12
|
+
or multi-hunk edits where a single `edit` call would be brittle.
|
|
13
|
+
|
|
14
|
+
The tool accepts a single `input` string that wraps one or more file operations:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
*** Begin Patch
|
|
18
|
+
*** Add File: path/to/file.txt
|
|
19
|
+
+line 1
|
|
20
|
+
+line 2
|
|
21
|
+
*** Update File: src/app.ts
|
|
22
|
+
@@
|
|
23
|
+
-old line
|
|
24
|
+
+new line
|
|
25
|
+
*** Delete File: obsolete.txt
|
|
26
|
+
*** End Patch
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Parameters
|
|
30
|
+
|
|
31
|
+
- `input` (required): Full patch contents including `*** Begin Patch` and `*** End Patch`.
|
|
32
|
+
|
|
33
|
+
## Notes
|
|
34
|
+
|
|
35
|
+
- Patch paths support relative paths (from the workspace directory) and absolute paths.
|
|
36
|
+
- `tools.exec.applyPatch.workspaceOnly` defaults to `true` (workspace-contained). Set it to `false` only if you intentionally want `apply_patch` to write/delete outside the workspace directory.
|
|
37
|
+
- Use `*** Move to:` within an `*** Update File:` hunk to rename files.
|
|
38
|
+
- `*** End of File` marks an EOF-only insert when needed.
|
|
39
|
+
- Experimental and disabled by default. Enable with `tools.exec.applyPatch.enabled`.
|
|
40
|
+
- OpenAI-only (including OpenAI Codex). Optionally gate by model via
|
|
41
|
+
`tools.exec.applyPatch.allowModels`.
|
|
42
|
+
- Config is only under `tools.exec`.
|
|
43
|
+
|
|
44
|
+
## Example
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"tool": "apply_patch",
|
|
49
|
+
"input": "*** Begin Patch\n*** Update File: src/index.ts\n@@\n-const foo = 1\n+const foo = 2\n*** End Patch"
|
|
50
|
+
}
|
|
51
|
+
```
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Brave Search API setup for web_search"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want to use Brave Search for web_search
|
|
5
|
+
- You need a BRAVE_API_KEY or plan details
|
|
6
|
+
title: "Brave Search"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Brave Search API
|
|
10
|
+
|
|
11
|
+
QuantumClaw supports Brave Search API as a `web_search` provider.
|
|
12
|
+
|
|
13
|
+
## Get an API key
|
|
14
|
+
|
|
15
|
+
1. Create a Brave Search API account at [https://brave.com/search/api/](https://brave.com/search/api/)
|
|
16
|
+
2. In the dashboard, choose the **Search** plan and generate an API key.
|
|
17
|
+
3. Store the key in config or set `BRAVE_API_KEY` in the Gateway environment.
|
|
18
|
+
|
|
19
|
+
## Config example
|
|
20
|
+
|
|
21
|
+
```json5
|
|
22
|
+
{
|
|
23
|
+
plugins: {
|
|
24
|
+
entries: {
|
|
25
|
+
brave: {
|
|
26
|
+
config: {
|
|
27
|
+
webSearch: {
|
|
28
|
+
apiKey: "BRAVE_API_KEY_HERE",
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
tools: {
|
|
35
|
+
web: {
|
|
36
|
+
search: {
|
|
37
|
+
provider: "brave",
|
|
38
|
+
maxResults: 5,
|
|
39
|
+
timeoutSeconds: 30,
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Provider-specific Brave search settings now live under `plugins.entries.brave.config.webSearch.*`.
|
|
47
|
+
Legacy `tools.web.search.apiKey` still loads through the compatibility shim, but it is no longer the canonical config path.
|
|
48
|
+
|
|
49
|
+
## Tool parameters
|
|
50
|
+
|
|
51
|
+
| Parameter | Description |
|
|
52
|
+
| ------------- | ------------------------------------------------------------------- |
|
|
53
|
+
| `query` | Search query (required) |
|
|
54
|
+
| `count` | Number of results to return (1-10, default: 5) |
|
|
55
|
+
| `country` | 2-letter ISO country code (e.g., "US", "DE") |
|
|
56
|
+
| `language` | ISO 639-1 language code for search results (e.g., "en", "de", "fr") |
|
|
57
|
+
| `ui_lang` | ISO language code for UI elements |
|
|
58
|
+
| `freshness` | Time filter: `day` (24h), `week`, `month`, or `year` |
|
|
59
|
+
| `date_after` | Only results published after this date (YYYY-MM-DD) |
|
|
60
|
+
| `date_before` | Only results published before this date (YYYY-MM-DD) |
|
|
61
|
+
|
|
62
|
+
**Examples:**
|
|
63
|
+
|
|
64
|
+
```javascript
|
|
65
|
+
// Country and language-specific search
|
|
66
|
+
await web_search({
|
|
67
|
+
query: "renewable energy",
|
|
68
|
+
country: "DE",
|
|
69
|
+
language: "de",
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
// Recent results (past week)
|
|
73
|
+
await web_search({
|
|
74
|
+
query: "AI news",
|
|
75
|
+
freshness: "week",
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
// Date range search
|
|
79
|
+
await web_search({
|
|
80
|
+
query: "AI developments",
|
|
81
|
+
date_after: "2024-01-01",
|
|
82
|
+
date_before: "2024-06-30",
|
|
83
|
+
});
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Notes
|
|
87
|
+
|
|
88
|
+
- QuantumClaw uses the Brave **Search** plan. If you have a legacy subscription (e.g. the original Free plan with 2,000 queries/month), it remains valid but does not include newer features like LLM Context or higher rate limits.
|
|
89
|
+
- Each Brave plan includes **\$5/month in free credit** (renewing). The Search plan costs \$5 per 1,000 requests, so the credit covers 1,000 queries/month. Set your usage limit in the Brave dashboard to avoid unexpected charges. See the [Brave API portal](https://brave.com/search/api/) for current plans.
|
|
90
|
+
- The Search plan includes the LLM Context endpoint and AI inference rights. Storing results to train or tune models requires a plan with explicit storage rights. See the Brave [Terms of Service](https://api-dashboard.search.brave.com/terms-of-service).
|
|
91
|
+
- Results are cached for 15 minutes by default (configurable via `cacheTtlMinutes`).
|
|
92
|
+
|
|
93
|
+
See [Web tools](/tools/web) for the full web_search configuration.
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Fix Chrome/Brave/Edge/Chromium CDP startup issues for QuantumClaw browser control on Linux"
|
|
3
|
+
read_when: "Browser control fails on Linux, especially with snap Chromium"
|
|
4
|
+
title: "Browser Troubleshooting"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Browser Troubleshooting (Linux)
|
|
8
|
+
|
|
9
|
+
## Problem: "Failed to start Chrome CDP on port 18800"
|
|
10
|
+
|
|
11
|
+
QuantumClaw's browser control server fails to launch Chrome/Brave/Edge/Chromium with the error:
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
{"error":"Error: Failed to start Chrome CDP on port 18800 for profile \"quantumclaw\"."}
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Root Cause
|
|
18
|
+
|
|
19
|
+
On Ubuntu (and many Linux distros), the default Chromium installation is a **snap package**. Snap's AppArmor confinement interferes with how QuantumClaw spawns and monitors the browser process.
|
|
20
|
+
|
|
21
|
+
The `apt install chromium` command installs a stub package that redirects to snap:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
Note, selecting 'chromium-browser' instead of 'chromium'
|
|
25
|
+
chromium-browser is already the newest version (2:1snap1-0ubuntu2).
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
This is NOT a real browser - it's just a wrapper.
|
|
29
|
+
|
|
30
|
+
### Solution 1: Install Google Chrome (Recommended)
|
|
31
|
+
|
|
32
|
+
Install the official Google Chrome `.deb` package, which is not sandboxed by snap:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
|
|
36
|
+
sudo dpkg -i google-chrome-stable_current_amd64.deb
|
|
37
|
+
sudo apt --fix-broken install -y # if there are dependency errors
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Then update your QuantumClaw config (`~/.quantumclaw/quantumclaw.json`):
|
|
41
|
+
|
|
42
|
+
```json
|
|
43
|
+
{
|
|
44
|
+
"browser": {
|
|
45
|
+
"enabled": true,
|
|
46
|
+
"executablePath": "/usr/bin/google-chrome-stable",
|
|
47
|
+
"headless": true,
|
|
48
|
+
"noSandbox": true
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Solution 2: Use Snap Chromium with Attach-Only Mode
|
|
54
|
+
|
|
55
|
+
If you must use snap Chromium, configure QuantumClaw to attach to a manually-started browser:
|
|
56
|
+
|
|
57
|
+
1. Update config:
|
|
58
|
+
|
|
59
|
+
```json
|
|
60
|
+
{
|
|
61
|
+
"browser": {
|
|
62
|
+
"enabled": true,
|
|
63
|
+
"attachOnly": true,
|
|
64
|
+
"headless": true,
|
|
65
|
+
"noSandbox": true
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
2. Start Chromium manually:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
chromium-browser --headless --no-sandbox --disable-gpu \
|
|
74
|
+
--remote-debugging-port=18800 \
|
|
75
|
+
--user-data-dir=$HOME/.quantumclaw/browser/quantumclaw/user-data \
|
|
76
|
+
about:blank &
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
3. Optionally create a systemd user service to auto-start Chrome:
|
|
80
|
+
|
|
81
|
+
```ini
|
|
82
|
+
# ~/.config/systemd/user/quantumclaw-browser.service
|
|
83
|
+
[Unit]
|
|
84
|
+
Description=QuantumClaw Browser (Chrome CDP)
|
|
85
|
+
After=network.target
|
|
86
|
+
|
|
87
|
+
[Service]
|
|
88
|
+
ExecStart=/snap/bin/chromium --headless --no-sandbox --disable-gpu --remote-debugging-port=18800 --user-data-dir=%h/.quantumclaw/browser/quantumclaw/user-data about:blank
|
|
89
|
+
Restart=on-failure
|
|
90
|
+
RestartSec=5
|
|
91
|
+
|
|
92
|
+
[Install]
|
|
93
|
+
WantedBy=default.target
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Enable with: `systemctl --user enable --now quantumclaw-browser.service`
|
|
97
|
+
|
|
98
|
+
### Verifying the Browser Works
|
|
99
|
+
|
|
100
|
+
Check status:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
curl -s http://127.0.0.1:18791/ | jq '{running, pid, chosenBrowser}'
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Test browsing:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
curl -s -X POST http://127.0.0.1:18791/start
|
|
110
|
+
curl -s http://127.0.0.1:18791/tabs
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Config Reference
|
|
114
|
+
|
|
115
|
+
| Option | Description | Default |
|
|
116
|
+
| ------------------------ | -------------------------------------------------------------------- | ----------------------------------------------------------- |
|
|
117
|
+
| `browser.enabled` | Enable browser control | `true` |
|
|
118
|
+
| `browser.executablePath` | Path to a Chromium-based browser binary (Chrome/Brave/Edge/Chromium) | auto-detected (prefers default browser when Chromium-based) |
|
|
119
|
+
| `browser.headless` | Run without GUI | `false` |
|
|
120
|
+
| `browser.noSandbox` | Add `--no-sandbox` flag (needed for some Linux setups) | `false` |
|
|
121
|
+
| `browser.attachOnly` | Don't launch browser, only attach to existing | `false` |
|
|
122
|
+
| `browser.cdpPort` | Chrome DevTools Protocol port | `18800` |
|
|
123
|
+
|
|
124
|
+
### Problem: "No Chrome tabs found for profile=\"user\""
|
|
125
|
+
|
|
126
|
+
You're using an `existing-session` / Chrome MCP profile. QuantumClaw can see local Chrome,
|
|
127
|
+
but there are no open tabs available to attach to.
|
|
128
|
+
|
|
129
|
+
Fix options:
|
|
130
|
+
|
|
131
|
+
1. **Use the managed browser:** `quantumclaw browser start --browser-profile quantumclaw`
|
|
132
|
+
(or set `browser.defaultProfile: "quantumclaw"`).
|
|
133
|
+
2. **Use Chrome MCP:** make sure local Chrome is running with at least one open tab, then retry with `--browser-profile user`.
|
|
134
|
+
|
|
135
|
+
Notes:
|
|
136
|
+
|
|
137
|
+
- `user` is host-only. For Linux servers, containers, or remote hosts, prefer CDP profiles.
|
|
138
|
+
- Local `quantumclaw` profiles auto-assign `cdpPort`/`cdpUrl`; only set those for remote CDP.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Manual logins for browser automation + X/Twitter posting"
|
|
3
|
+
read_when:
|
|
4
|
+
- You need to log into sites for browser automation
|
|
5
|
+
- You want to post updates to X/Twitter
|
|
6
|
+
title: "Browser Login"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Browser login + X/Twitter posting
|
|
10
|
+
|
|
11
|
+
## Manual login (recommended)
|
|
12
|
+
|
|
13
|
+
When a site requires login, **sign in manually** in the **host** browser profile (the quantumclaw browser).
|
|
14
|
+
|
|
15
|
+
Do **not** give the model your credentials. Automated logins often trigger anti‑bot defenses and can lock the account.
|
|
16
|
+
|
|
17
|
+
Back to the main browser docs: [Browser](/tools/browser).
|
|
18
|
+
|
|
19
|
+
## Which Chrome profile is used?
|
|
20
|
+
|
|
21
|
+
QuantumClaw controls a **dedicated Chrome profile** (named `quantumclaw`, orange‑tinted UI). This is separate from your daily browser profile.
|
|
22
|
+
|
|
23
|
+
For agent browser tool calls:
|
|
24
|
+
|
|
25
|
+
- Default choice: the agent should use its isolated `quantumclaw` browser.
|
|
26
|
+
- Use `profile="user"` only when existing logged-in sessions matter and the user is at the computer to click/approve any attach prompt.
|
|
27
|
+
- If you have multiple user-browser profiles, specify the profile explicitly instead of guessing.
|
|
28
|
+
|
|
29
|
+
Two easy ways to access it:
|
|
30
|
+
|
|
31
|
+
1. **Ask the agent to open the browser** and then log in yourself.
|
|
32
|
+
2. **Open it via CLI**:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
quantumclaw browser start
|
|
36
|
+
quantumclaw browser open https://x.com
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
If you have multiple profiles, pass `--browser-profile <name>` (the default is `quantumclaw`).
|
|
40
|
+
|
|
41
|
+
## X/Twitter: recommended flow
|
|
42
|
+
|
|
43
|
+
- **Read/search/threads:** use the **host** browser (manual login).
|
|
44
|
+
- **Post updates:** use the **host** browser (manual login).
|
|
45
|
+
|
|
46
|
+
## Sandboxing + host browser access
|
|
47
|
+
|
|
48
|
+
Sandboxed browser sessions are **more likely** to trigger bot detection. For X/Twitter (and other strict sites), prefer the **host** browser.
|
|
49
|
+
|
|
50
|
+
If the agent is sandboxed, the browser tool defaults to the sandbox. To allow host control:
|
|
51
|
+
|
|
52
|
+
```json5
|
|
53
|
+
{
|
|
54
|
+
agents: {
|
|
55
|
+
defaults: {
|
|
56
|
+
sandbox: {
|
|
57
|
+
mode: "non-main",
|
|
58
|
+
browser: {
|
|
59
|
+
allowHostControl: true,
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Then target the host browser:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
quantumclaw browser open https://x.com --browser-profile quantumclaw --target host
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Or disable sandboxing for the agent that posts updates.
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Troubleshoot WSL2 Gateway + Windows Chrome remote CDP in layers"
|
|
3
|
+
read_when:
|
|
4
|
+
- Running QuantumClaw Gateway in WSL2 while Chrome lives on Windows
|
|
5
|
+
- Seeing overlapping browser/control-ui errors across WSL2 and Windows
|
|
6
|
+
- Deciding between host-local Chrome MCP and raw remote CDP in split-host setups
|
|
7
|
+
title: "WSL2 + Windows + remote Chrome CDP troubleshooting"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# WSL2 + Windows + remote Chrome CDP troubleshooting
|
|
11
|
+
|
|
12
|
+
This guide covers the common split-host setup where:
|
|
13
|
+
|
|
14
|
+
- QuantumClaw Gateway runs inside WSL2
|
|
15
|
+
- Chrome runs on Windows
|
|
16
|
+
- browser control must cross the WSL2/Windows boundary
|
|
17
|
+
|
|
18
|
+
It also covers the layered failure pattern from [issue #39369](https://github.com/quantumclaw/quantumclaw/issues/39369): several independent problems can show up at once, which makes the wrong layer look broken first.
|
|
19
|
+
|
|
20
|
+
## Choose the right browser mode first
|
|
21
|
+
|
|
22
|
+
You have two valid patterns:
|
|
23
|
+
|
|
24
|
+
### Option 1: Raw remote CDP from WSL2 to Windows
|
|
25
|
+
|
|
26
|
+
Use a remote browser profile that points from WSL2 to a Windows Chrome CDP endpoint.
|
|
27
|
+
|
|
28
|
+
Choose this when:
|
|
29
|
+
|
|
30
|
+
- the Gateway stays inside WSL2
|
|
31
|
+
- Chrome runs on Windows
|
|
32
|
+
- you need browser control to cross the WSL2/Windows boundary
|
|
33
|
+
|
|
34
|
+
### Option 2: Host-local Chrome MCP
|
|
35
|
+
|
|
36
|
+
Use `existing-session` / `user` only when the Gateway itself runs on the same host as Chrome.
|
|
37
|
+
|
|
38
|
+
Choose this when:
|
|
39
|
+
|
|
40
|
+
- QuantumClaw and Chrome are on the same machine
|
|
41
|
+
- you want the local signed-in browser state
|
|
42
|
+
- you do not need cross-host browser transport
|
|
43
|
+
|
|
44
|
+
For WSL2 Gateway + Windows Chrome, prefer raw remote CDP. Chrome MCP is host-local, not a WSL2-to-Windows bridge.
|
|
45
|
+
|
|
46
|
+
## Working architecture
|
|
47
|
+
|
|
48
|
+
Reference shape:
|
|
49
|
+
|
|
50
|
+
- WSL2 runs the Gateway on `127.0.0.1:18789`
|
|
51
|
+
- Windows opens the Control UI in a normal browser at `http://127.0.0.1:18789/`
|
|
52
|
+
- Windows Chrome exposes a CDP endpoint on port `9222`
|
|
53
|
+
- WSL2 can reach that Windows CDP endpoint
|
|
54
|
+
- QuantumClaw points a browser profile at the address that is reachable from WSL2
|
|
55
|
+
|
|
56
|
+
## Why this setup is confusing
|
|
57
|
+
|
|
58
|
+
Several failures can overlap:
|
|
59
|
+
|
|
60
|
+
- WSL2 cannot reach the Windows CDP endpoint
|
|
61
|
+
- the Control UI is opened from a non-secure origin
|
|
62
|
+
- `gateway.controlUi.allowedOrigins` does not match the page origin
|
|
63
|
+
- token or pairing is missing
|
|
64
|
+
- the browser profile points at the wrong address
|
|
65
|
+
|
|
66
|
+
Because of that, fixing one layer can still leave a different error visible.
|
|
67
|
+
|
|
68
|
+
## Critical rule for the Control UI
|
|
69
|
+
|
|
70
|
+
When the UI is opened from Windows, use Windows localhost unless you have a deliberate HTTPS setup.
|
|
71
|
+
|
|
72
|
+
Use:
|
|
73
|
+
|
|
74
|
+
`http://127.0.0.1:18789/`
|
|
75
|
+
|
|
76
|
+
Do not default to a LAN IP for the Control UI. Plain HTTP on a LAN or tailnet address can trigger insecure-origin/device-auth behavior that is unrelated to CDP itself. See [Control UI](/web/control-ui).
|
|
77
|
+
|
|
78
|
+
## Validate in layers
|
|
79
|
+
|
|
80
|
+
Work top to bottom. Do not skip ahead.
|
|
81
|
+
|
|
82
|
+
### Layer 1: Verify Chrome is serving CDP on Windows
|
|
83
|
+
|
|
84
|
+
Start Chrome on Windows with remote debugging enabled:
|
|
85
|
+
|
|
86
|
+
```powershell
|
|
87
|
+
chrome.exe --remote-debugging-port=9222
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
From Windows, verify Chrome itself first:
|
|
91
|
+
|
|
92
|
+
```powershell
|
|
93
|
+
curl http://127.0.0.1:9222/json/version
|
|
94
|
+
curl http://127.0.0.1:9222/json/list
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
If this fails on Windows, QuantumClaw is not the problem yet.
|
|
98
|
+
|
|
99
|
+
### Layer 2: Verify WSL2 can reach that Windows endpoint
|
|
100
|
+
|
|
101
|
+
From WSL2, test the exact address you plan to use in `cdpUrl`:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
curl http://WINDOWS_HOST_OR_IP:9222/json/version
|
|
105
|
+
curl http://WINDOWS_HOST_OR_IP:9222/json/list
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Good result:
|
|
109
|
+
|
|
110
|
+
- `/json/version` returns JSON with Browser / Protocol-Version metadata
|
|
111
|
+
- `/json/list` returns JSON (empty array is fine if no pages are open)
|
|
112
|
+
|
|
113
|
+
If this fails:
|
|
114
|
+
|
|
115
|
+
- Windows is not exposing the port to WSL2 yet
|
|
116
|
+
- the address is wrong for the WSL2 side
|
|
117
|
+
- firewall / port forwarding / local proxying is still missing
|
|
118
|
+
|
|
119
|
+
Fix that before touching QuantumClaw config.
|
|
120
|
+
|
|
121
|
+
### Layer 3: Configure the correct browser profile
|
|
122
|
+
|
|
123
|
+
For raw remote CDP, point QuantumClaw at the address that is reachable from WSL2:
|
|
124
|
+
|
|
125
|
+
```json5
|
|
126
|
+
{
|
|
127
|
+
browser: {
|
|
128
|
+
enabled: true,
|
|
129
|
+
defaultProfile: "remote",
|
|
130
|
+
profiles: {
|
|
131
|
+
remote: {
|
|
132
|
+
cdpUrl: "http://WINDOWS_HOST_OR_IP:9222",
|
|
133
|
+
attachOnly: true,
|
|
134
|
+
color: "#00AA00",
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Notes:
|
|
142
|
+
|
|
143
|
+
- use the WSL2-reachable address, not whatever only works on Windows
|
|
144
|
+
- keep `attachOnly: true` for externally managed browsers
|
|
145
|
+
- test the same URL with `curl` before expecting QuantumClaw to succeed
|
|
146
|
+
|
|
147
|
+
### Layer 4: Verify the Control UI layer separately
|
|
148
|
+
|
|
149
|
+
Open the UI from Windows:
|
|
150
|
+
|
|
151
|
+
`http://127.0.0.1:18789/`
|
|
152
|
+
|
|
153
|
+
Then verify:
|
|
154
|
+
|
|
155
|
+
- the page origin matches what `gateway.controlUi.allowedOrigins` expects
|
|
156
|
+
- token auth or pairing is configured correctly
|
|
157
|
+
- you are not debugging a Control UI auth problem as if it were a browser problem
|
|
158
|
+
|
|
159
|
+
Helpful page:
|
|
160
|
+
|
|
161
|
+
- [Control UI](/web/control-ui)
|
|
162
|
+
|
|
163
|
+
### Layer 5: Verify end-to-end browser control
|
|
164
|
+
|
|
165
|
+
From WSL2:
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
quantumclaw browser open https://example.com --browser-profile remote
|
|
169
|
+
quantumclaw browser tabs --browser-profile remote
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Good result:
|
|
173
|
+
|
|
174
|
+
- the tab opens in Windows Chrome
|
|
175
|
+
- `quantumclaw browser tabs` returns the target
|
|
176
|
+
- later actions (`snapshot`, `screenshot`, `navigate`) work from the same profile
|
|
177
|
+
|
|
178
|
+
## Common misleading errors
|
|
179
|
+
|
|
180
|
+
Treat each message as a layer-specific clue:
|
|
181
|
+
|
|
182
|
+
- `control-ui-insecure-auth`
|
|
183
|
+
- UI origin / secure-context problem, not a CDP transport problem
|
|
184
|
+
- `token_missing`
|
|
185
|
+
- auth configuration problem
|
|
186
|
+
- `pairing required`
|
|
187
|
+
- device approval problem
|
|
188
|
+
- `Remote CDP for profile "remote" is not reachable`
|
|
189
|
+
- WSL2 cannot reach the configured `cdpUrl`
|
|
190
|
+
- `gateway timeout after 1500ms`
|
|
191
|
+
- often still CDP reachability or a slow/unreachable remote endpoint
|
|
192
|
+
- `No Chrome tabs found for profile="user"`
|
|
193
|
+
- local Chrome MCP profile selected where no host-local tabs are available
|
|
194
|
+
|
|
195
|
+
## Fast triage checklist
|
|
196
|
+
|
|
197
|
+
1. Windows: does `curl http://127.0.0.1:9222/json/version` work?
|
|
198
|
+
2. WSL2: does `curl http://WINDOWS_HOST_OR_IP:9222/json/version` work?
|
|
199
|
+
3. QuantumClaw config: does `browser.profiles.<name>.cdpUrl` use that exact WSL2-reachable address?
|
|
200
|
+
4. Control UI: are you opening `http://127.0.0.1:18789/` instead of a LAN IP?
|
|
201
|
+
5. Are you trying to use `existing-session` across WSL2 and Windows instead of raw remote CDP?
|
|
202
|
+
|
|
203
|
+
## Practical takeaway
|
|
204
|
+
|
|
205
|
+
The setup is usually viable. The hard part is that browser transport, Control UI origin security, and token/pairing can each fail independently while looking similar from the user side.
|
|
206
|
+
|
|
207
|
+
When in doubt:
|
|
208
|
+
|
|
209
|
+
- verify the Windows Chrome endpoint locally first
|
|
210
|
+
- verify the same endpoint from WSL2 second
|
|
211
|
+
- only then debug QuantumClaw config or Control UI auth
|