@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,152 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Run QuantumClaw on local LLMs (LM Studio, vLLM, LiteLLM, custom OpenAI endpoints)"
|
|
3
|
+
read_when:
|
|
4
|
+
- You want to serve models from your own GPU box
|
|
5
|
+
- You are wiring LM Studio or an OpenAI-compatible proxy
|
|
6
|
+
- You need the safest local model guidance
|
|
7
|
+
title: "Local Models"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Local models
|
|
11
|
+
|
|
12
|
+
Local is doable, but QuantumClaw expects large context + strong defenses against prompt injection. Small cards truncate context and leak safety. Aim high: **≥2 maxed-out Mac Studios or equivalent GPU rig (~$30k+)**. A single **24 GB** GPU works only for lighter prompts with higher latency. Use the **largest / full-size model variant you can run**; aggressively quantized or “small” checkpoints raise prompt-injection risk (see [Security](/gateway/security)).
|
|
13
|
+
|
|
14
|
+
If you want the lowest-friction local setup, start with [Ollama](/providers/ollama) and `quantumclaw onboard`. This page is the opinionated guide for higher-end local stacks and custom OpenAI-compatible local servers.
|
|
15
|
+
|
|
16
|
+
## Recommended: LM Studio + MiniMax M2.5 (Responses API, full-size)
|
|
17
|
+
|
|
18
|
+
Best current local stack. Load MiniMax M2.5 in LM Studio, enable the local server (default `http://127.0.0.1:1234`), and use Responses API to keep reasoning separate from final text.
|
|
19
|
+
|
|
20
|
+
```json5
|
|
21
|
+
{
|
|
22
|
+
agents: {
|
|
23
|
+
defaults: {
|
|
24
|
+
model: { primary: "lmstudio/minimax-m2.5-gs32" },
|
|
25
|
+
models: {
|
|
26
|
+
"anthropic/claude-opus-4-6": { alias: "Opus" },
|
|
27
|
+
"lmstudio/minimax-m2.5-gs32": { alias: "Minimax" },
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
models: {
|
|
32
|
+
mode: "merge",
|
|
33
|
+
providers: {
|
|
34
|
+
lmstudio: {
|
|
35
|
+
baseUrl: "http://127.0.0.1:1234/v1",
|
|
36
|
+
apiKey: "lmstudio",
|
|
37
|
+
api: "openai-responses",
|
|
38
|
+
models: [
|
|
39
|
+
{
|
|
40
|
+
id: "minimax-m2.5-gs32",
|
|
41
|
+
name: "MiniMax M2.5 GS32",
|
|
42
|
+
reasoning: false,
|
|
43
|
+
input: ["text"],
|
|
44
|
+
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
45
|
+
contextWindow: 196608,
|
|
46
|
+
maxTokens: 8192,
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Setup checklist**
|
|
56
|
+
|
|
57
|
+
- Install LM Studio: [https://lmstudio.ai](https://lmstudio.ai)
|
|
58
|
+
- In LM Studio, download the **largest MiniMax M2.5 build available** (avoid “small”/heavily quantized variants), start the server, confirm `http://127.0.0.1:1234/v1/models` lists it.
|
|
59
|
+
- Keep the model loaded; cold-load adds startup latency.
|
|
60
|
+
- Adjust `contextWindow`/`maxTokens` if your LM Studio build differs.
|
|
61
|
+
- For WhatsApp, stick to Responses API so only final text is sent.
|
|
62
|
+
|
|
63
|
+
Keep hosted models configured even when running local; use `models.mode: "merge"` so fallbacks stay available.
|
|
64
|
+
|
|
65
|
+
### Hybrid config: hosted primary, local fallback
|
|
66
|
+
|
|
67
|
+
```json5
|
|
68
|
+
{
|
|
69
|
+
agents: {
|
|
70
|
+
defaults: {
|
|
71
|
+
model: {
|
|
72
|
+
primary: "anthropic/claude-sonnet-4-6",
|
|
73
|
+
fallbacks: ["lmstudio/minimax-m2.5-gs32", "anthropic/claude-opus-4-6"],
|
|
74
|
+
},
|
|
75
|
+
models: {
|
|
76
|
+
"anthropic/claude-sonnet-4-6": { alias: "Sonnet" },
|
|
77
|
+
"lmstudio/minimax-m2.5-gs32": { alias: "MiniMax Local" },
|
|
78
|
+
"anthropic/claude-opus-4-6": { alias: "Opus" },
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
models: {
|
|
83
|
+
mode: "merge",
|
|
84
|
+
providers: {
|
|
85
|
+
lmstudio: {
|
|
86
|
+
baseUrl: "http://127.0.0.1:1234/v1",
|
|
87
|
+
apiKey: "lmstudio",
|
|
88
|
+
api: "openai-responses",
|
|
89
|
+
models: [
|
|
90
|
+
{
|
|
91
|
+
id: "minimax-m2.5-gs32",
|
|
92
|
+
name: "MiniMax M2.5 GS32",
|
|
93
|
+
reasoning: false,
|
|
94
|
+
input: ["text"],
|
|
95
|
+
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
96
|
+
contextWindow: 196608,
|
|
97
|
+
maxTokens: 8192,
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Local-first with hosted safety net
|
|
107
|
+
|
|
108
|
+
Swap the primary and fallback order; keep the same providers block and `models.mode: "merge"` so you can fall back to Sonnet or Opus when the local box is down.
|
|
109
|
+
|
|
110
|
+
### Regional hosting / data routing
|
|
111
|
+
|
|
112
|
+
- Hosted MiniMax/Kimi/GLM variants also exist on OpenRouter with region-pinned endpoints (e.g., US-hosted). Pick the regional variant there to keep traffic in your chosen jurisdiction while still using `models.mode: "merge"` for Anthropic/OpenAI fallbacks.
|
|
113
|
+
- Local-only remains the strongest privacy path; hosted regional routing is the middle ground when you need provider features but want control over data flow.
|
|
114
|
+
|
|
115
|
+
## Other OpenAI-compatible local proxies
|
|
116
|
+
|
|
117
|
+
vLLM, LiteLLM, OAI-proxy, or custom gateways work if they expose an OpenAI-style `/v1` endpoint. Replace the provider block above with your endpoint and model ID:
|
|
118
|
+
|
|
119
|
+
```json5
|
|
120
|
+
{
|
|
121
|
+
models: {
|
|
122
|
+
mode: "merge",
|
|
123
|
+
providers: {
|
|
124
|
+
local: {
|
|
125
|
+
baseUrl: "http://127.0.0.1:8000/v1",
|
|
126
|
+
apiKey: "sk-local",
|
|
127
|
+
api: "openai-responses",
|
|
128
|
+
models: [
|
|
129
|
+
{
|
|
130
|
+
id: "my-local-model",
|
|
131
|
+
name: "Local Model",
|
|
132
|
+
reasoning: false,
|
|
133
|
+
input: ["text"],
|
|
134
|
+
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
135
|
+
contextWindow: 120000,
|
|
136
|
+
maxTokens: 8192,
|
|
137
|
+
},
|
|
138
|
+
],
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Keep `models.mode: "merge"` so hosted models stay available as fallbacks.
|
|
146
|
+
|
|
147
|
+
## Troubleshooting
|
|
148
|
+
|
|
149
|
+
- Gateway can reach the proxy? `curl http://127.0.0.1:1234/v1/models`.
|
|
150
|
+
- LM Studio model unloaded? Reload; cold start is a common “hanging” cause.
|
|
151
|
+
- Context errors? Lower `contextWindow` or raise your server limit.
|
|
152
|
+
- Safety: local models skip provider-side filters; keep agents narrow and compaction on to limit prompt injection blast radius.
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Logging surfaces, file logs, WS log styles, and console formatting"
|
|
3
|
+
read_when:
|
|
4
|
+
- Changing logging output or formats
|
|
5
|
+
- Debugging CLI or gateway output
|
|
6
|
+
title: "Logging"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Logging
|
|
10
|
+
|
|
11
|
+
For a user-facing overview (CLI + Control UI + config), see [/logging](/logging).
|
|
12
|
+
|
|
13
|
+
QuantumClaw has two log “surfaces”:
|
|
14
|
+
|
|
15
|
+
- **Console output** (what you see in the terminal / Debug UI).
|
|
16
|
+
- **File logs** (JSON lines) written by the gateway logger.
|
|
17
|
+
|
|
18
|
+
## File-based logger
|
|
19
|
+
|
|
20
|
+
- Default rolling log file is under `/tmp/quantumclaw/` (one file per day): `quantumclaw-YYYY-MM-DD.log`
|
|
21
|
+
- Date uses the gateway host's local timezone.
|
|
22
|
+
- The log file path and level can be configured via `~/.quantumclaw/quantumclaw.json`:
|
|
23
|
+
- `logging.file`
|
|
24
|
+
- `logging.level`
|
|
25
|
+
|
|
26
|
+
The file format is one JSON object per line.
|
|
27
|
+
|
|
28
|
+
The Control UI Logs tab tails this file via the gateway (`logs.tail`).
|
|
29
|
+
CLI can do the same:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
quantumclaw logs --follow
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**Verbose vs. log levels**
|
|
36
|
+
|
|
37
|
+
- **File logs** are controlled exclusively by `logging.level`.
|
|
38
|
+
- `--verbose` only affects **console verbosity** (and WS log style); it does **not**
|
|
39
|
+
raise the file log level.
|
|
40
|
+
- To capture verbose-only details in file logs, set `logging.level` to `debug` or
|
|
41
|
+
`trace`.
|
|
42
|
+
|
|
43
|
+
## Console capture
|
|
44
|
+
|
|
45
|
+
The CLI captures `console.log/info/warn/error/debug/trace` and writes them to file logs,
|
|
46
|
+
while still printing to stdout/stderr.
|
|
47
|
+
|
|
48
|
+
You can tune console verbosity independently via:
|
|
49
|
+
|
|
50
|
+
- `logging.consoleLevel` (default `info`)
|
|
51
|
+
- `logging.consoleStyle` (`pretty` | `compact` | `json`)
|
|
52
|
+
|
|
53
|
+
## Tool summary redaction
|
|
54
|
+
|
|
55
|
+
Verbose tool summaries (e.g. `🛠️ Exec: ...`) can mask sensitive tokens before they hit the
|
|
56
|
+
console stream. This is **tools-only** and does not alter file logs.
|
|
57
|
+
|
|
58
|
+
- `logging.redactSensitive`: `off` | `tools` (default: `tools`)
|
|
59
|
+
- `logging.redactPatterns`: array of regex strings (overrides defaults)
|
|
60
|
+
- Use raw regex strings (auto `gi`), or `/pattern/flags` if you need custom flags.
|
|
61
|
+
- Matches are masked by keeping the first 6 + last 4 chars (length >= 18), otherwise `***`.
|
|
62
|
+
- Defaults cover common key assignments, CLI flags, JSON fields, bearer headers, PEM blocks, and popular token prefixes.
|
|
63
|
+
|
|
64
|
+
## Gateway WebSocket logs
|
|
65
|
+
|
|
66
|
+
The gateway prints WebSocket protocol logs in two modes:
|
|
67
|
+
|
|
68
|
+
- **Normal mode (no `--verbose`)**: only “interesting” RPC results are printed:
|
|
69
|
+
- errors (`ok=false`)
|
|
70
|
+
- slow calls (default threshold: `>= 50ms`)
|
|
71
|
+
- parse errors
|
|
72
|
+
- **Verbose mode (`--verbose`)**: prints all WS request/response traffic.
|
|
73
|
+
|
|
74
|
+
### WS log style
|
|
75
|
+
|
|
76
|
+
`quantumclaw gateway` supports a per-gateway style switch:
|
|
77
|
+
|
|
78
|
+
- `--ws-log auto` (default): normal mode is optimized; verbose mode uses compact output
|
|
79
|
+
- `--ws-log compact`: compact output (paired request/response) when verbose
|
|
80
|
+
- `--ws-log full`: full per-frame output when verbose
|
|
81
|
+
- `--compact`: alias for `--ws-log compact`
|
|
82
|
+
|
|
83
|
+
Examples:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
# optimized (only errors/slow)
|
|
87
|
+
quantumclaw gateway
|
|
88
|
+
|
|
89
|
+
# show all WS traffic (paired)
|
|
90
|
+
quantumclaw gateway --verbose --ws-log compact
|
|
91
|
+
|
|
92
|
+
# show all WS traffic (full meta)
|
|
93
|
+
quantumclaw gateway --verbose --ws-log full
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Console formatting (subsystem logging)
|
|
97
|
+
|
|
98
|
+
The console formatter is **TTY-aware** and prints consistent, prefixed lines.
|
|
99
|
+
Subsystem loggers keep output grouped and scannable.
|
|
100
|
+
|
|
101
|
+
Behavior:
|
|
102
|
+
|
|
103
|
+
- **Subsystem prefixes** on every line (e.g. `[gateway]`, `[canvas]`, `[tailscale]`)
|
|
104
|
+
- **Subsystem colors** (stable per subsystem) plus level coloring
|
|
105
|
+
- **Color when output is a TTY or the environment looks like a rich terminal** (`TERM`/`COLORTERM`/`TERM_PROGRAM`), respects `NO_COLOR`
|
|
106
|
+
- **Shortened subsystem prefixes**: drops leading `gateway/` + `channels/`, keeps last 2 segments (e.g. `whatsapp/outbound`)
|
|
107
|
+
- **Sub-loggers by subsystem** (auto prefix + structured field `{ subsystem }`)
|
|
108
|
+
- **`logRaw()`** for QR/UX output (no prefix, no formatting)
|
|
109
|
+
- **Console styles** (e.g. `pretty | compact | json`)
|
|
110
|
+
- **Console log level** separate from file log level (file keeps full detail when `logging.level` is set to `debug`/`trace`)
|
|
111
|
+
- **WhatsApp message bodies** are logged at `debug` (use `--verbose` to see them)
|
|
112
|
+
|
|
113
|
+
This keeps existing file logs stable while making interactive output scannable.
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Run multiple QuantumClaw Gateways on one host (isolation, ports, and profiles)"
|
|
3
|
+
read_when:
|
|
4
|
+
- Running more than one Gateway on the same machine
|
|
5
|
+
- You need isolated config/state/ports per Gateway
|
|
6
|
+
title: "Multiple Gateways"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Multiple Gateways (same host)
|
|
10
|
+
|
|
11
|
+
Most setups should use one Gateway because a single Gateway can handle multiple messaging connections and agents. If you need stronger isolation or redundancy (e.g., a rescue bot), run separate Gateways with isolated profiles/ports.
|
|
12
|
+
|
|
13
|
+
## Isolation checklist (required)
|
|
14
|
+
|
|
15
|
+
- `QUANTUMCLAW_CONFIG_PATH` — per-instance config file
|
|
16
|
+
- `QUANTUMCLAW_STATE_DIR` — per-instance sessions, creds, caches
|
|
17
|
+
- `agents.defaults.workspace` — per-instance workspace root
|
|
18
|
+
- `gateway.port` (or `--port`) — unique per instance
|
|
19
|
+
- Derived ports (browser/canvas) must not overlap
|
|
20
|
+
|
|
21
|
+
If these are shared, you will hit config races and port conflicts.
|
|
22
|
+
|
|
23
|
+
## Recommended: profiles (`--profile`)
|
|
24
|
+
|
|
25
|
+
Profiles auto-scope `QUANTUMCLAW_STATE_DIR` + `QUANTUMCLAW_CONFIG_PATH` and suffix service names.
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# main
|
|
29
|
+
quantumclaw --profile main setup
|
|
30
|
+
quantumclaw --profile main gateway --port 18789
|
|
31
|
+
|
|
32
|
+
# rescue
|
|
33
|
+
quantumclaw --profile rescue setup
|
|
34
|
+
quantumclaw --profile rescue gateway --port 19001
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Per-profile services:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
quantumclaw --profile main gateway install
|
|
41
|
+
quantumclaw --profile rescue gateway install
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Rescue-bot guide
|
|
45
|
+
|
|
46
|
+
Run a second Gateway on the same host with its own:
|
|
47
|
+
|
|
48
|
+
- profile/config
|
|
49
|
+
- state dir
|
|
50
|
+
- workspace
|
|
51
|
+
- base port (plus derived ports)
|
|
52
|
+
|
|
53
|
+
This keeps the rescue bot isolated from the main bot so it can debug or apply config changes if the primary bot is down.
|
|
54
|
+
|
|
55
|
+
Port spacing: leave at least 20 ports between base ports so the derived browser/canvas/CDP ports never collide.
|
|
56
|
+
|
|
57
|
+
### How to install (rescue bot)
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# Main bot (existing or fresh, without --profile param)
|
|
61
|
+
# Runs on port 18789 + Chrome CDC/Canvas/... Ports
|
|
62
|
+
quantumclaw onboard
|
|
63
|
+
quantumclaw gateway install
|
|
64
|
+
|
|
65
|
+
# Rescue bot (isolated profile + ports)
|
|
66
|
+
quantumclaw --profile rescue onboard
|
|
67
|
+
# Notes:
|
|
68
|
+
# - workspace name will be postfixed with -rescue per default
|
|
69
|
+
# - Port should be at least 18789 + 20 Ports,
|
|
70
|
+
# better choose completely different base port, like 19789,
|
|
71
|
+
# - rest of the onboarding is the same as normal
|
|
72
|
+
|
|
73
|
+
# To install the service (if not happened automatically during setup)
|
|
74
|
+
quantumclaw --profile rescue gateway install
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Port mapping (derived)
|
|
78
|
+
|
|
79
|
+
Base port = `gateway.port` (or `QUANTUMCLAW_GATEWAY_PORT` / `--port`).
|
|
80
|
+
|
|
81
|
+
- browser control service port = base + 2 (loopback only)
|
|
82
|
+
- canvas host is served on the Gateway HTTP server (same port as `gateway.port`)
|
|
83
|
+
- Browser profile CDP ports auto-allocate from `browser.controlPort + 9 .. + 108`
|
|
84
|
+
|
|
85
|
+
If you override any of these in config or env, you must keep them unique per instance.
|
|
86
|
+
|
|
87
|
+
## Browser/CDP notes (common footgun)
|
|
88
|
+
|
|
89
|
+
- Do **not** pin `browser.cdpUrl` to the same values on multiple instances.
|
|
90
|
+
- Each instance needs its own browser control port and CDP range (derived from its gateway port).
|
|
91
|
+
- If you need explicit CDP ports, set `browser.profiles.<name>.cdpPort` per instance.
|
|
92
|
+
- Remote Chrome: use `browser.profiles.<name>.cdpUrl` (per profile, per instance).
|
|
93
|
+
|
|
94
|
+
## Manual env example
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
QUANTUMCLAW_CONFIG_PATH=~/.quantumclaw/main.json \
|
|
98
|
+
QUANTUMCLAW_STATE_DIR=~/.quantumclaw-main \
|
|
99
|
+
quantumclaw gateway --port 18789
|
|
100
|
+
|
|
101
|
+
QUANTUMCLAW_CONFIG_PATH=~/.quantumclaw/rescue.json \
|
|
102
|
+
QUANTUMCLAW_STATE_DIR=~/.quantumclaw-rescue \
|
|
103
|
+
quantumclaw gateway --port 19001
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Quick checks
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
quantumclaw --profile main status
|
|
110
|
+
quantumclaw --profile rescue status
|
|
111
|
+
quantumclaw --profile rescue browser status
|
|
112
|
+
```
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "How the Gateway, nodes, and canvas host connect."
|
|
3
|
+
read_when:
|
|
4
|
+
- You want a concise view of the Gateway networking model
|
|
5
|
+
title: "Network model"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Network Model
|
|
9
|
+
|
|
10
|
+
Most operations flow through the Gateway (`quantumclaw gateway`), a single long-running
|
|
11
|
+
process that owns channel connections and the WebSocket control plane.
|
|
12
|
+
|
|
13
|
+
## Core rules
|
|
14
|
+
|
|
15
|
+
- One Gateway per host is recommended. It is the only process allowed to own the WhatsApp Web session. For rescue bots or strict isolation, run multiple gateways with isolated profiles and ports. See [Multiple gateways](/gateway/multiple-gateways).
|
|
16
|
+
- Loopback first: the Gateway WS defaults to `ws://127.0.0.1:18789`. The wizard generates a gateway token by default, even for loopback. For tailnet access, run `quantumclaw gateway --bind tailnet --token ...` because tokens are required for non-loopback binds.
|
|
17
|
+
- Nodes connect to the Gateway WS over LAN, tailnet, or SSH as needed. The legacy TCP bridge is deprecated.
|
|
18
|
+
- Canvas host is served by the Gateway HTTP server on the **same port** as the Gateway (default `18789`):
|
|
19
|
+
- `/__quantumclaw__/canvas/`
|
|
20
|
+
- `/__quantumclaw__/a2ui/`
|
|
21
|
+
When `gateway.auth` is configured and the Gateway binds beyond loopback, these routes are protected by Gateway auth. Node clients use node-scoped capability URLs tied to their active WS session. See [Gateway configuration](/gateway/configuration) (`canvasHost`, `gateway`).
|
|
22
|
+
- Remote use is typically SSH tunnel or tailnet VPN. See [Remote access](/gateway/remote) and [Discovery](/gateway/discovery).
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Expose an OpenAI-compatible /v1/chat/completions HTTP endpoint from the Gateway"
|
|
3
|
+
read_when:
|
|
4
|
+
- Integrating tools that expect OpenAI Chat Completions
|
|
5
|
+
title: "OpenAI Chat Completions"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# OpenAI Chat Completions (HTTP)
|
|
9
|
+
|
|
10
|
+
QuantumClaw’s Gateway can serve a small OpenAI-compatible Chat Completions endpoint.
|
|
11
|
+
|
|
12
|
+
This endpoint is **disabled by default**. Enable it in config first.
|
|
13
|
+
|
|
14
|
+
- `POST /v1/chat/completions`
|
|
15
|
+
- Same port as the Gateway (WS + HTTP multiplex): `http://<gateway-host>:<port>/v1/chat/completions`
|
|
16
|
+
|
|
17
|
+
Under the hood, requests are executed as a normal Gateway agent run (same codepath as `quantumclaw agent`), so routing/permissions/config match your Gateway.
|
|
18
|
+
|
|
19
|
+
## Authentication
|
|
20
|
+
|
|
21
|
+
Uses the Gateway auth configuration. Send a bearer token:
|
|
22
|
+
|
|
23
|
+
- `Authorization: Bearer <token>`
|
|
24
|
+
|
|
25
|
+
Notes:
|
|
26
|
+
|
|
27
|
+
- When `gateway.auth.mode="token"`, use `gateway.auth.token` (or `QUANTUMCLAW_GATEWAY_TOKEN`).
|
|
28
|
+
- When `gateway.auth.mode="password"`, use `gateway.auth.password` (or `QUANTUMCLAW_GATEWAY_PASSWORD`).
|
|
29
|
+
- If `gateway.auth.rateLimit` is configured and too many auth failures occur, the endpoint returns `429` with `Retry-After`.
|
|
30
|
+
|
|
31
|
+
## Security boundary (important)
|
|
32
|
+
|
|
33
|
+
Treat this endpoint as a **full operator-access** surface for the gateway instance.
|
|
34
|
+
|
|
35
|
+
- HTTP bearer auth here is not a narrow per-user scope model.
|
|
36
|
+
- A valid Gateway token/password for this endpoint should be treated like an owner/operator credential.
|
|
37
|
+
- Requests run through the same control-plane agent path as trusted operator actions.
|
|
38
|
+
- There is no separate non-owner/per-user tool boundary on this endpoint; once a caller passes Gateway auth here, QuantumClaw treats that caller as a trusted operator for this gateway.
|
|
39
|
+
- If the target agent policy allows sensitive tools, this endpoint can use them.
|
|
40
|
+
- Keep this endpoint on loopback/tailnet/private ingress only; do not expose it directly to the public internet.
|
|
41
|
+
|
|
42
|
+
See [Security](/gateway/security) and [Remote access](/gateway/remote).
|
|
43
|
+
|
|
44
|
+
## Choosing an agent
|
|
45
|
+
|
|
46
|
+
No custom headers required: encode the agent id in the OpenAI `model` field:
|
|
47
|
+
|
|
48
|
+
- `model: "quantumclaw:<agentId>"` (example: `"quantumclaw:main"`, `"quantumclaw:beta"`)
|
|
49
|
+
- `model: "agent:<agentId>"` (alias)
|
|
50
|
+
|
|
51
|
+
Or target a specific QuantumClaw agent by header:
|
|
52
|
+
|
|
53
|
+
- `x-quantumclaw-agent-id: <agentId>` (default: `main`)
|
|
54
|
+
|
|
55
|
+
Advanced:
|
|
56
|
+
|
|
57
|
+
- `x-quantumclaw-session-key: <sessionKey>` to fully control session routing.
|
|
58
|
+
|
|
59
|
+
## Enabling the endpoint
|
|
60
|
+
|
|
61
|
+
Set `gateway.http.endpoints.chatCompletions.enabled` to `true`:
|
|
62
|
+
|
|
63
|
+
```json5
|
|
64
|
+
{
|
|
65
|
+
gateway: {
|
|
66
|
+
http: {
|
|
67
|
+
endpoints: {
|
|
68
|
+
chatCompletions: { enabled: true },
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Disabling the endpoint
|
|
76
|
+
|
|
77
|
+
Set `gateway.http.endpoints.chatCompletions.enabled` to `false`:
|
|
78
|
+
|
|
79
|
+
```json5
|
|
80
|
+
{
|
|
81
|
+
gateway: {
|
|
82
|
+
http: {
|
|
83
|
+
endpoints: {
|
|
84
|
+
chatCompletions: { enabled: false },
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Session behavior
|
|
92
|
+
|
|
93
|
+
By default the endpoint is **stateless per request** (a new session key is generated each call).
|
|
94
|
+
|
|
95
|
+
If the request includes an OpenAI `user` string, the Gateway derives a stable session key from it, so repeated calls can share an agent session.
|
|
96
|
+
|
|
97
|
+
## Streaming (SSE)
|
|
98
|
+
|
|
99
|
+
Set `stream: true` to receive Server-Sent Events (SSE):
|
|
100
|
+
|
|
101
|
+
- `Content-Type: text/event-stream`
|
|
102
|
+
- Each event line is `data: <json>`
|
|
103
|
+
- Stream ends with `data: [DONE]`
|
|
104
|
+
|
|
105
|
+
## Examples
|
|
106
|
+
|
|
107
|
+
Non-streaming:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
curl -sS http://127.0.0.1:18789/v1/chat/completions \
|
|
111
|
+
-H 'Authorization: Bearer YOUR_TOKEN' \
|
|
112
|
+
-H 'Content-Type: application/json' \
|
|
113
|
+
-H 'x-quantumclaw-agent-id: main' \
|
|
114
|
+
-d '{
|
|
115
|
+
"model": "quantumclaw",
|
|
116
|
+
"messages": [{"role":"user","content":"hi"}]
|
|
117
|
+
}'
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Streaming:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
curl -N http://127.0.0.1:18789/v1/chat/completions \
|
|
124
|
+
-H 'Authorization: Bearer YOUR_TOKEN' \
|
|
125
|
+
-H 'Content-Type: application/json' \
|
|
126
|
+
-H 'x-quantumclaw-agent-id: main' \
|
|
127
|
+
-d '{
|
|
128
|
+
"model": "quantumclaw",
|
|
129
|
+
"stream": true,
|
|
130
|
+
"messages": [{"role":"user","content":"hi"}]
|
|
131
|
+
}'
|
|
132
|
+
```
|