@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,225 @@
|
|
|
1
|
+
---
|
|
2
|
+
read_when:
|
|
3
|
+
- 添加或修改 models CLI(models list/set/scan/aliases/fallbacks)
|
|
4
|
+
- 更改模型回退行为或选择 UX
|
|
5
|
+
- 更新模型扫描探测(tools/images)
|
|
6
|
+
summary: Models CLI:列出、设置、别名、回退、扫描、状态
|
|
7
|
+
title: Models CLI
|
|
8
|
+
x-i18n:
|
|
9
|
+
generated_at: "2026-03-16T06:22:01Z"
|
|
10
|
+
model: gpt-5.4
|
|
11
|
+
provider: openai
|
|
12
|
+
source_hash: 26150aef638bc3375866dec736b98eac32384466a8ef2b0a471fb7ff7729b13c
|
|
13
|
+
source_path: concepts/models.md
|
|
14
|
+
workflow: 15
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Models CLI
|
|
18
|
+
|
|
19
|
+
关于凭证配置轮换、冷却时间以及它们如何与回退交互,请参阅 [/concepts/model-failover](/concepts/model-failover)。
|
|
20
|
+
快速提供商概览 + 示例:[/concepts/model-providers](/concepts/model-providers)。
|
|
21
|
+
|
|
22
|
+
## 模型选择的工作方式
|
|
23
|
+
|
|
24
|
+
QuantumClaw 按以下顺序选择模型:
|
|
25
|
+
|
|
26
|
+
1. **主模型**(`agents.defaults.model.primary` 或 `agents.defaults.model`)。
|
|
27
|
+
2. `agents.defaults.model.fallbacks` 中的 **回退模型**(按顺序)。
|
|
28
|
+
3. **提供商凭证故障切换** 会在单个提供商内部发生,然后才会移动到下一个模型。
|
|
29
|
+
|
|
30
|
+
相关内容:
|
|
31
|
+
|
|
32
|
+
- `agents.defaults.models` 是 QuantumClaw 可使用的模型允许列表/目录(以及别名)。
|
|
33
|
+
- `agents.defaults.imageModel` **仅在** 主模型无法接受图像时使用。
|
|
34
|
+
- 每个智能体的默认值可以通过 `agents.list[].model` 加上绑定来覆盖 `agents.defaults.model`(见 [/concepts/multi-agent](/concepts/multi-agent))。
|
|
35
|
+
|
|
36
|
+
## 快速模型策略
|
|
37
|
+
|
|
38
|
+
- 将你的主模型设置为你可用的、最新一代中最强的模型。
|
|
39
|
+
- 对于对成本/延迟敏感的任务和风险较低的聊天,使用回退模型。
|
|
40
|
+
- 对于启用了工具的智能体或不受信任的输入,避免使用较旧/较弱的模型层级。
|
|
41
|
+
|
|
42
|
+
## 设置向导(推荐)
|
|
43
|
+
|
|
44
|
+
如果你不想手动编辑配置,请运行设置向导:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
quantumclaw onboard
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
它可以为常见提供商设置模型 + 凭证,包括 **OpenAI Code (Codex)**
|
|
51
|
+
订阅(OAuth)和 **Anthropic**(API key 或 `claude setup-token`)。
|
|
52
|
+
|
|
53
|
+
## 配置键(概览)
|
|
54
|
+
|
|
55
|
+
- `agents.defaults.model.primary` 和 `agents.defaults.model.fallbacks`
|
|
56
|
+
- `agents.defaults.imageModel.primary` 和 `agents.defaults.imageModel.fallbacks`
|
|
57
|
+
- `agents.defaults.models`(允许列表 + 别名 + 提供商参数)
|
|
58
|
+
- `models.providers`(写入 `models.json` 的自定义提供商)
|
|
59
|
+
|
|
60
|
+
模型引用会被规范化为小写。像 `z.ai/*` 这样的提供商别名会被规范化
|
|
61
|
+
为 `zai/*`。
|
|
62
|
+
|
|
63
|
+
提供商配置示例(包括 OpenCode)位于
|
|
64
|
+
[/gateway/configuration](/gateway/configuration#opencode)。
|
|
65
|
+
|
|
66
|
+
## “Model is not allowed”(以及为什么回复会停止)
|
|
67
|
+
|
|
68
|
+
如果设置了 `agents.defaults.models`,它就会成为 `/model` 和会话覆盖的 **允许列表**。当用户选择了不在该允许列表中的模型时,
|
|
69
|
+
QuantumClaw 会返回:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
Model "provider/model" is not allowed. Use /model to list available models.
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
这会在生成正常回复 **之前** 发生,因此消息可能会让人觉得
|
|
76
|
+
它“没有响应”。修复方法是:
|
|
77
|
+
|
|
78
|
+
- 将该模型添加到 `agents.defaults.models`,或者
|
|
79
|
+
- 清除允许列表(移除 `agents.defaults.models`),或者
|
|
80
|
+
- 从 `/model list` 中选择一个模型。
|
|
81
|
+
|
|
82
|
+
允许列表示例配置:
|
|
83
|
+
|
|
84
|
+
```json5
|
|
85
|
+
{
|
|
86
|
+
agent: {
|
|
87
|
+
model: { primary: "anthropic/claude-sonnet-4-5" },
|
|
88
|
+
models: {
|
|
89
|
+
"anthropic/claude-sonnet-4-5": { alias: "Sonnet" },
|
|
90
|
+
"anthropic/claude-opus-4-6": { alias: "Opus" },
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## 在聊天中切换模型(`/model`)
|
|
97
|
+
|
|
98
|
+
你可以在不重启的情况下为当前会话切换模型:
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
/model
|
|
102
|
+
/model list
|
|
103
|
+
/model 3
|
|
104
|
+
/model openai/gpt-5.2
|
|
105
|
+
/model status
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
说明:
|
|
109
|
+
|
|
110
|
+
- `/model`(以及 `/model list`)是一个紧凑的编号选择器(模型家族 + 可用提供商)。
|
|
111
|
+
- 在 Discord 上,`/model` 和 `/models` 会打开一个交互式选择器,其中包含提供商和模型下拉菜单,以及一个 Submit 步骤。
|
|
112
|
+
- `/model <#>` 会从该选择器中进行选择。
|
|
113
|
+
- `/model status` 是详细视图(凭证候选项,以及在已配置时显示提供商端点 `baseUrl` + `api` 模式)。
|
|
114
|
+
- 模型引用是通过按 **第一个** `/` 进行分割来解析的。输入 `/model <ref>` 时请使用 `provider/model`。
|
|
115
|
+
- 如果模型 ID 本身包含 `/`(OpenRouter 风格),你必须包含提供商前缀(示例:`/model openrouter/moonshotai/kimi-k2`)。
|
|
116
|
+
- 如果你省略提供商,QuantumClaw 会将输入视为别名或 **默认提供商** 的模型(仅在模型 ID 中没有 `/` 时有效)。
|
|
117
|
+
|
|
118
|
+
完整命令行为/配置: [Slash commands](/tools/slash-commands)。
|
|
119
|
+
|
|
120
|
+
## CLI 命令
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
quantumclaw models list
|
|
124
|
+
quantumclaw models status
|
|
125
|
+
quantumclaw models set <provider/model>
|
|
126
|
+
quantumclaw models set-image <provider/model>
|
|
127
|
+
|
|
128
|
+
quantumclaw models aliases list
|
|
129
|
+
quantumclaw models aliases add <alias> <provider/model>
|
|
130
|
+
quantumclaw models aliases remove <alias>
|
|
131
|
+
|
|
132
|
+
quantumclaw models fallbacks list
|
|
133
|
+
quantumclaw models fallbacks add <provider/model>
|
|
134
|
+
quantumclaw models fallbacks remove <provider/model>
|
|
135
|
+
quantumclaw models fallbacks clear
|
|
136
|
+
|
|
137
|
+
quantumclaw models image-fallbacks list
|
|
138
|
+
quantumclaw models image-fallbacks add <provider/model>
|
|
139
|
+
quantumclaw models image-fallbacks remove <provider/model>
|
|
140
|
+
quantumclaw models image-fallbacks clear
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
`quantumclaw models`(无子命令)是 `models status` 的快捷方式。
|
|
144
|
+
|
|
145
|
+
### `models list`
|
|
146
|
+
|
|
147
|
+
默认显示已配置的模型。常用标志:
|
|
148
|
+
|
|
149
|
+
- `--all`:完整目录
|
|
150
|
+
- `--local`:仅本地提供商
|
|
151
|
+
- `--provider <name>`:按提供商筛选
|
|
152
|
+
- `--plain`:每行一个模型
|
|
153
|
+
- `--json`:机器可读输出
|
|
154
|
+
|
|
155
|
+
### `models status`
|
|
156
|
+
|
|
157
|
+
显示已解析的主模型、回退模型、图像模型,以及已配置提供商的凭证概览。它还会显示凭证存储中找到的配置文件的 OAuth 过期状态
|
|
158
|
+
(默认会在 24 小时内到期时警告)。`--plain` 仅打印已解析的
|
|
159
|
+
主模型。
|
|
160
|
+
OAuth 状态始终会显示(并包含在 `--json` 输出中)。如果某个已配置的
|
|
161
|
+
提供商没有凭证,`models status` 会打印一个 **Missing auth** 部分。
|
|
162
|
+
JSON 包含 `auth.oauth`(警告窗口 + 配置文件)和 `auth.providers`
|
|
163
|
+
(每个提供商的有效凭证)。
|
|
164
|
+
自动化场景请使用 `--check`(缺失/已过期时退出码为 `1`,即将过期时为 `2`)。
|
|
165
|
+
|
|
166
|
+
凭证选择取决于提供商/账号。对于始终在线的 Gateway 网关主机,API key 通常最可预测;也支持订阅 token 流程。
|
|
167
|
+
|
|
168
|
+
示例(Anthropic setup-token):
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
claude setup-token
|
|
172
|
+
quantumclaw models status
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## 扫描(OpenRouter 免费模型)
|
|
176
|
+
|
|
177
|
+
`quantumclaw models scan` 会检查 OpenRouter 的 **免费模型目录**,并且可以
|
|
178
|
+
选择性地探测模型对工具和图像的支持。
|
|
179
|
+
|
|
180
|
+
关键标志:
|
|
181
|
+
|
|
182
|
+
- `--no-probe`:跳过实时探测(仅元数据)
|
|
183
|
+
- `--min-params <b>`:最小参数规模(十亿)
|
|
184
|
+
- `--max-age-days <days>`:跳过较旧模型
|
|
185
|
+
- `--provider <name>`:提供商前缀筛选
|
|
186
|
+
- `--max-candidates <n>`:回退列表大小
|
|
187
|
+
- `--set-default`:将 `agents.defaults.model.primary` 设置为第一个选择项
|
|
188
|
+
- `--set-image`:将 `agents.defaults.imageModel.primary` 设置为第一个图像选择项
|
|
189
|
+
|
|
190
|
+
探测需要 OpenRouter API key(来自凭证配置文件或
|
|
191
|
+
`OPENROUTER_API_KEY`)。如果没有 key,请使用 `--no-probe` 仅列出候选项。
|
|
192
|
+
|
|
193
|
+
扫描结果按以下顺序排序:
|
|
194
|
+
|
|
195
|
+
1. 图像支持
|
|
196
|
+
2. 工具延迟
|
|
197
|
+
3. 上下文大小
|
|
198
|
+
4. 参数数量
|
|
199
|
+
|
|
200
|
+
输入
|
|
201
|
+
|
|
202
|
+
- OpenRouter `/models` 列表(筛选 `:free`)
|
|
203
|
+
- 需要来自凭证配置文件或 `OPENROUTER_API_KEY` 的 OpenRouter API key(见 [/environment](/help/environment))
|
|
204
|
+
- 可选筛选器:`--max-age-days`、`--min-params`、`--provider`、`--max-candidates`
|
|
205
|
+
- 探测控制:`--timeout`、`--concurrency`
|
|
206
|
+
|
|
207
|
+
在 TTY 中运行时,你可以交互式选择回退模型。在非交互
|
|
208
|
+
模式下,传入 `--yes` 以接受默认值。
|
|
209
|
+
|
|
210
|
+
## 模型注册表(`models.json`)
|
|
211
|
+
|
|
212
|
+
`models.providers` 中的自定义提供商会写入
|
|
213
|
+
智能体目录下的 `models.json`(默认是 `~/.quantumclaw/agents/<agentId>/agent/models.json`)。默认会合并此文件,除非将 `models.mode` 设置为 `replace`。
|
|
214
|
+
|
|
215
|
+
匹配提供商 ID 时的合并模式优先级:
|
|
216
|
+
|
|
217
|
+
- 智能体 `models.json` 中已存在的非空 `baseUrl` 优先。
|
|
218
|
+
- 智能体 `models.json` 中的非空 `apiKey` 仅在该提供商在当前配置/凭证配置文件上下文中不是 SecretRef 管理时才优先。
|
|
219
|
+
- 由 SecretRef 管理的提供商 `apiKey` 值会从源标记(环境变量引用使用 `ENV_VAR_NAME`,文件/exec 引用使用 `secretref-managed`)刷新,而不是持久化已解析的 secret。
|
|
220
|
+
- 由 SecretRef 管理的提供商 header 值会从源标记(环境变量引用使用 `secretref-env:ENV_VAR_NAME`,文件/exec 引用使用 `secretref-managed`)刷新。
|
|
221
|
+
- 智能体中为空或缺失的 `apiKey`/`baseUrl` 会回退到配置中的 `models.providers`。
|
|
222
|
+
- 其他提供商字段会从配置和规范化后的目录数据中刷新。
|
|
223
|
+
|
|
224
|
+
标记持久化以源为准:QuantumClaw 会根据活动源配置快照(预解析)写入标记,而不是根据运行时已解析的 secret 值写入。
|
|
225
|
+
这适用于 QuantumClaw 重新生成 `models.json` 的所有情况,包括像 `quantumclaw agent` 这样的命令驱动路径。
|
|
@@ -0,0 +1,372 @@
|
|
|
1
|
+
---
|
|
2
|
+
read_when: You want multiple isolated agents (workspaces + auth) in one gateway process.
|
|
3
|
+
status: active
|
|
4
|
+
summary: 多智能体路由:隔离的智能体、渠道账户和绑定
|
|
5
|
+
title: 多智能体路由
|
|
6
|
+
x-i18n:
|
|
7
|
+
generated_at: "2026-02-03T07:47:38Z"
|
|
8
|
+
model: claude-opus-4-5
|
|
9
|
+
provider: pi
|
|
10
|
+
source_hash: 1848266c632cd6c96ff99ea9eb9c17bbfe6d35fa1f90450853083e7c548d5324
|
|
11
|
+
source_path: concepts/multi-agent.md
|
|
12
|
+
workflow: 15
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# 多智能体路由
|
|
16
|
+
|
|
17
|
+
目标:多个*隔离的*智能体(独立的工作区 + `agentDir` + 会话),加上多个渠道账户(例如两个 WhatsApp)在一个运行的 Gateway 网关中。入站消息通过绑定路由到智能体。
|
|
18
|
+
|
|
19
|
+
## 什么是"一个智能体"?
|
|
20
|
+
|
|
21
|
+
一个**智能体**是一个完全独立作用域的大脑,拥有自己的:
|
|
22
|
+
|
|
23
|
+
- **工作区**(文件、AGENTS.md/SOUL.md/USER.md、本地笔记、人设规则)。
|
|
24
|
+
- **状态目录**(`agentDir`)用于认证配置文件、模型注册表和每智能体配置。
|
|
25
|
+
- **会话存储**(聊天历史 + 路由状态)位于 `~/.quantumclaw/agents/<agentId>/sessions` 下。
|
|
26
|
+
|
|
27
|
+
认证配置文件是**每智能体独立的**。每个智能体从自己的位置读取:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
~/.quantumclaw/agents/<agentId>/agent/auth-profiles.json
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
主智能体凭证**不会**自动共享。切勿在智能体之间重用 `agentDir`(这会导致认证/会话冲突)。如果你想共享凭证,请将 `auth-profiles.json` 复制到另一个智能体的 `agentDir`。
|
|
34
|
+
|
|
35
|
+
Skills 通过每个工作区的 `skills/` 文件夹实现每智能体独立,共享的 Skills 可从 `~/.quantumclaw/skills` 获取。参见 [Skills:每智能体 vs 共享](/tools/skills#per-agent-vs-shared-skills)。
|
|
36
|
+
|
|
37
|
+
Gateway 网关可以托管**一个智能体**(默认)或**多个智能体**并行。
|
|
38
|
+
|
|
39
|
+
**工作区注意事项:** 每个智能体的工作区是**默认 cwd**,而不是硬性沙箱。相对路径在工作区内解析,但绝对路径可以访问主机的其他位置,除非启用了沙箱隔离。参见 [沙箱隔离](/gateway/sandboxing)。
|
|
40
|
+
|
|
41
|
+
## 路径(快速映射)
|
|
42
|
+
|
|
43
|
+
- 配置:`~/.quantumclaw/quantumclaw.json`(或 `QUANTUMCLAW_CONFIG_PATH`)
|
|
44
|
+
- 状态目录:`~/.quantumclaw`(或 `QUANTUMCLAW_STATE_DIR`)
|
|
45
|
+
- 工作区:`~/.quantumclaw/workspace`(或 `~/.quantumclaw/workspace-<agentId>`)
|
|
46
|
+
- 智能体目录:`~/.quantumclaw/agents/<agentId>/agent`(或 `agents.list[].agentDir`)
|
|
47
|
+
- 会话:`~/.quantumclaw/agents/<agentId>/sessions`
|
|
48
|
+
|
|
49
|
+
### 单智能体模式(默认)
|
|
50
|
+
|
|
51
|
+
如果你什么都不做,QuantumClaw 运行单个智能体:
|
|
52
|
+
|
|
53
|
+
- `agentId` 默认为 **`main`**。
|
|
54
|
+
- 会话键为 `agent:main:<mainKey>`。
|
|
55
|
+
- 工作区默认为 `~/.quantumclaw/workspace`(或当设置了 `QUANTUMCLAW_PROFILE` 时为 `~/.quantumclaw/workspace-<profile>`)。
|
|
56
|
+
- 状态默认为 `~/.quantumclaw/agents/main/agent`。
|
|
57
|
+
|
|
58
|
+
## 智能体助手
|
|
59
|
+
|
|
60
|
+
使用智能体向导添加新的隔离智能体:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
quantumclaw agents add work
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
然后添加 `bindings`(或让向导完成)来路由入站消息。
|
|
67
|
+
|
|
68
|
+
验证:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
quantumclaw agents list --bindings
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## 多个智能体 = 多个人、多种人格
|
|
75
|
+
|
|
76
|
+
使用**多个智能体**,每个 `agentId` 成为一个**完全隔离的人格**:
|
|
77
|
+
|
|
78
|
+
- **不同的电话号码/账户**(每渠道 `accountId`)。
|
|
79
|
+
- **不同的人格**(每智能体工作区文件如 `AGENTS.md` 和 `SOUL.md`)。
|
|
80
|
+
- **独立的认证 + 会话**(除非明确启用,否则无交叉通信)。
|
|
81
|
+
|
|
82
|
+
这让**多个人**共享一个 Gateway 网关服务器,同时保持他们的 AI"大脑"和数据隔离。
|
|
83
|
+
|
|
84
|
+
## 一个 WhatsApp 号码,多个人(私信分割)
|
|
85
|
+
|
|
86
|
+
你可以将**不同的 WhatsApp 私信**路由到不同的智能体,同时保持**一个 WhatsApp 账户**。使用 `peer.kind: "dm"` 匹配发送者 E.164(如 `+15551234567`)。回复仍然来自同一个 WhatsApp 号码(无每智能体发送者身份)。
|
|
87
|
+
|
|
88
|
+
重要细节:直接聊天折叠到智能体的**主会话键**,因此真正的隔离需要**每人一个智能体**。
|
|
89
|
+
|
|
90
|
+
示例:
|
|
91
|
+
|
|
92
|
+
```json5
|
|
93
|
+
{
|
|
94
|
+
agents: {
|
|
95
|
+
list: [
|
|
96
|
+
{ id: "alex", workspace: "~/.quantumclaw/workspace-alex" },
|
|
97
|
+
{ id: "mia", workspace: "~/.quantumclaw/workspace-mia" },
|
|
98
|
+
],
|
|
99
|
+
},
|
|
100
|
+
bindings: [
|
|
101
|
+
{ agentId: "alex", match: { channel: "whatsapp", peer: { kind: "dm", id: "+15551230001" } } },
|
|
102
|
+
{ agentId: "mia", match: { channel: "whatsapp", peer: { kind: "dm", id: "+15551230002" } } },
|
|
103
|
+
],
|
|
104
|
+
channels: {
|
|
105
|
+
whatsapp: {
|
|
106
|
+
dmPolicy: "allowlist",
|
|
107
|
+
allowFrom: ["+15551230001", "+15551230002"],
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
注意事项:
|
|
114
|
+
|
|
115
|
+
- 私信访问控制是**每 WhatsApp 账户全局的**(配对/允许列表),而不是每智能体。
|
|
116
|
+
- 对于共享群组,将群组绑定到一个智能体或使用 [广播群组](/channels/broadcast-groups)。
|
|
117
|
+
|
|
118
|
+
## 路由规则(消息如何选择智能体)
|
|
119
|
+
|
|
120
|
+
绑定是**确定性的**,**最具体的优先**:
|
|
121
|
+
|
|
122
|
+
1. `peer` 匹配(精确私信/群组/频道 id)
|
|
123
|
+
2. `guildId`(Discord)
|
|
124
|
+
3. `teamId`(Slack)
|
|
125
|
+
4. 渠道的 `accountId` 匹配
|
|
126
|
+
5. 渠道级匹配(`accountId: "*"`)
|
|
127
|
+
6. 回退到默认智能体(`agents.list[].default`,否则列表中的第一个条目,默认:`main`)
|
|
128
|
+
|
|
129
|
+
## 多账户/电话号码
|
|
130
|
+
|
|
131
|
+
支持**多账户**的渠道(如 WhatsApp)使用 `accountId` 来识别每个登录。每个 `accountId` 可以路由到不同的智能体,因此一个服务器可以托管多个电话号码而不混合会话。
|
|
132
|
+
|
|
133
|
+
## 概念
|
|
134
|
+
|
|
135
|
+
- `agentId`:一个"大脑"(工作区、每智能体认证、每智能体会话存储)。
|
|
136
|
+
- `accountId`:一个渠道账户实例(例如 WhatsApp 账户 `"personal"` vs `"biz"`)。
|
|
137
|
+
- `binding`:通过 `(channel, accountId, peer)` 以及可选的 guild/team id 将入站消息路由到 `agentId`。
|
|
138
|
+
- 直接聊天折叠到 `agent:<agentId>:<mainKey>`(每智能体"主";`session.mainKey`)。
|
|
139
|
+
|
|
140
|
+
## 示例:两个 WhatsApp → 两个智能体
|
|
141
|
+
|
|
142
|
+
`~/.quantumclaw/quantumclaw.json`(JSON5):
|
|
143
|
+
|
|
144
|
+
```js
|
|
145
|
+
{
|
|
146
|
+
agents: {
|
|
147
|
+
list: [
|
|
148
|
+
{
|
|
149
|
+
id: "home",
|
|
150
|
+
default: true,
|
|
151
|
+
name: "Home",
|
|
152
|
+
workspace: "~/.quantumclaw/workspace-home",
|
|
153
|
+
agentDir: "~/.quantumclaw/agents/home/agent",
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
id: "work",
|
|
157
|
+
name: "Work",
|
|
158
|
+
workspace: "~/.quantumclaw/workspace-work",
|
|
159
|
+
agentDir: "~/.quantumclaw/agents/work/agent",
|
|
160
|
+
},
|
|
161
|
+
],
|
|
162
|
+
},
|
|
163
|
+
|
|
164
|
+
// 确定性路由:第一个匹配获胜(最具体的优先)。
|
|
165
|
+
bindings: [
|
|
166
|
+
{ agentId: "home", match: { channel: "whatsapp", accountId: "personal" } },
|
|
167
|
+
{ agentId: "work", match: { channel: "whatsapp", accountId: "biz" } },
|
|
168
|
+
|
|
169
|
+
// 可选的每对等方覆盖(示例:将特定群组发送到 work 智能体)。
|
|
170
|
+
{
|
|
171
|
+
agentId: "work",
|
|
172
|
+
match: {
|
|
173
|
+
channel: "whatsapp",
|
|
174
|
+
accountId: "personal",
|
|
175
|
+
peer: { kind: "group", id: "1203630...@g.us" },
|
|
176
|
+
},
|
|
177
|
+
},
|
|
178
|
+
],
|
|
179
|
+
|
|
180
|
+
// 默认关闭:智能体到智能体的消息必须明确启用 + 加入允许列表。
|
|
181
|
+
tools: {
|
|
182
|
+
agentToAgent: {
|
|
183
|
+
enabled: false,
|
|
184
|
+
allow: ["home", "work"],
|
|
185
|
+
},
|
|
186
|
+
},
|
|
187
|
+
|
|
188
|
+
channels: {
|
|
189
|
+
whatsapp: {
|
|
190
|
+
accounts: {
|
|
191
|
+
personal: {
|
|
192
|
+
// 可选覆盖。默认:~/.quantumclaw/credentials/whatsapp/personal
|
|
193
|
+
// authDir: "~/.quantumclaw/credentials/whatsapp/personal",
|
|
194
|
+
},
|
|
195
|
+
biz: {
|
|
196
|
+
// 可选覆盖。默认:~/.quantumclaw/credentials/whatsapp/biz
|
|
197
|
+
// authDir: "~/.quantumclaw/credentials/whatsapp/biz",
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
},
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## 示例:WhatsApp 日常聊天 + Telegram 深度工作
|
|
206
|
+
|
|
207
|
+
按渠道分割:将 WhatsApp 路由到快速日常智能体,Telegram 路由到 Opus 智能体。
|
|
208
|
+
|
|
209
|
+
```json5
|
|
210
|
+
{
|
|
211
|
+
agents: {
|
|
212
|
+
list: [
|
|
213
|
+
{
|
|
214
|
+
id: "chat",
|
|
215
|
+
name: "Everyday",
|
|
216
|
+
workspace: "~/.quantumclaw/workspace-chat",
|
|
217
|
+
model: "anthropic/claude-sonnet-4-5",
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
id: "opus",
|
|
221
|
+
name: "Deep Work",
|
|
222
|
+
workspace: "~/.quantumclaw/workspace-opus",
|
|
223
|
+
model: "anthropic/claude-opus-4-5",
|
|
224
|
+
},
|
|
225
|
+
],
|
|
226
|
+
},
|
|
227
|
+
bindings: [
|
|
228
|
+
{ agentId: "chat", match: { channel: "whatsapp" } },
|
|
229
|
+
{ agentId: "opus", match: { channel: "telegram" } },
|
|
230
|
+
],
|
|
231
|
+
}
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
注意事项:
|
|
235
|
+
|
|
236
|
+
- 如果你有一个渠道的多个账户,请在绑定中添加 `accountId`(例如 `{ channel: "whatsapp", accountId: "personal" }`)。
|
|
237
|
+
- 要将单个私信/群组路由到 Opus 而保持其余在 chat 上,请为该对等方添加 `match.peer` 绑定;对等方匹配始终优先于渠道级规则。
|
|
238
|
+
|
|
239
|
+
## 示例:同一渠道,一个对等方到 Opus
|
|
240
|
+
|
|
241
|
+
保持 WhatsApp 在快速智能体上,但将一个私信路由到 Opus:
|
|
242
|
+
|
|
243
|
+
```json5
|
|
244
|
+
{
|
|
245
|
+
agents: {
|
|
246
|
+
list: [
|
|
247
|
+
{
|
|
248
|
+
id: "chat",
|
|
249
|
+
name: "Everyday",
|
|
250
|
+
workspace: "~/.quantumclaw/workspace-chat",
|
|
251
|
+
model: "anthropic/claude-sonnet-4-5",
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
id: "opus",
|
|
255
|
+
name: "Deep Work",
|
|
256
|
+
workspace: "~/.quantumclaw/workspace-opus",
|
|
257
|
+
model: "anthropic/claude-opus-4-5",
|
|
258
|
+
},
|
|
259
|
+
],
|
|
260
|
+
},
|
|
261
|
+
bindings: [
|
|
262
|
+
{ agentId: "opus", match: { channel: "whatsapp", peer: { kind: "dm", id: "+15551234567" } } },
|
|
263
|
+
{ agentId: "chat", match: { channel: "whatsapp" } },
|
|
264
|
+
],
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
对等方绑定始终获胜,因此将它们放在渠道级规则之上。
|
|
269
|
+
|
|
270
|
+
## 绑定到 WhatsApp 群组的家庭智能体
|
|
271
|
+
|
|
272
|
+
将专用家庭智能体绑定到单个 WhatsApp 群组,使用提及限制和更严格的工具策略:
|
|
273
|
+
|
|
274
|
+
```json5
|
|
275
|
+
{
|
|
276
|
+
agents: {
|
|
277
|
+
list: [
|
|
278
|
+
{
|
|
279
|
+
id: "family",
|
|
280
|
+
name: "Family",
|
|
281
|
+
workspace: "~/.quantumclaw/workspace-family",
|
|
282
|
+
identity: { name: "Family Bot" },
|
|
283
|
+
groupChat: {
|
|
284
|
+
mentionPatterns: ["@family", "@familybot", "@Family Bot"],
|
|
285
|
+
},
|
|
286
|
+
sandbox: {
|
|
287
|
+
mode: "all",
|
|
288
|
+
scope: "agent",
|
|
289
|
+
},
|
|
290
|
+
tools: {
|
|
291
|
+
allow: [
|
|
292
|
+
"exec",
|
|
293
|
+
"read",
|
|
294
|
+
"sessions_list",
|
|
295
|
+
"sessions_history",
|
|
296
|
+
"sessions_send",
|
|
297
|
+
"sessions_spawn",
|
|
298
|
+
"session_status",
|
|
299
|
+
],
|
|
300
|
+
deny: ["write", "edit", "apply_patch", "browser", "canvas", "nodes", "cron"],
|
|
301
|
+
},
|
|
302
|
+
},
|
|
303
|
+
],
|
|
304
|
+
},
|
|
305
|
+
bindings: [
|
|
306
|
+
{
|
|
307
|
+
agentId: "family",
|
|
308
|
+
match: {
|
|
309
|
+
channel: "whatsapp",
|
|
310
|
+
peer: { kind: "group", id: "120363999999999999@g.us" },
|
|
311
|
+
},
|
|
312
|
+
},
|
|
313
|
+
],
|
|
314
|
+
}
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
注意事项:
|
|
318
|
+
|
|
319
|
+
- 工具允许/拒绝列表是**工具**,不是 Skills。如果 skill 需要运行二进制文件,请确保 `exec` 被允许且二进制文件存在于沙箱中。
|
|
320
|
+
- 对于更严格的限制,设置 `agents.list[].groupChat.mentionPatterns` 并为渠道保持群组允许列表启用。
|
|
321
|
+
|
|
322
|
+
## 每智能体沙箱和工具配置
|
|
323
|
+
|
|
324
|
+
从 v2026.1.6 开始,每个智能体可以有自己的沙箱和工具限制:
|
|
325
|
+
|
|
326
|
+
```js
|
|
327
|
+
{
|
|
328
|
+
agents: {
|
|
329
|
+
list: [
|
|
330
|
+
{
|
|
331
|
+
id: "personal",
|
|
332
|
+
workspace: "~/.quantumclaw/workspace-personal",
|
|
333
|
+
sandbox: {
|
|
334
|
+
mode: "off", // 个人智能体无沙箱
|
|
335
|
+
},
|
|
336
|
+
// 无工具限制 - 所有工具可用
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
id: "family",
|
|
340
|
+
workspace: "~/.quantumclaw/workspace-family",
|
|
341
|
+
sandbox: {
|
|
342
|
+
mode: "all", // 始终沙箱隔离
|
|
343
|
+
scope: "agent", // 每智能体一个容器
|
|
344
|
+
docker: {
|
|
345
|
+
// 容器创建后的可选一次性设置
|
|
346
|
+
setupCommand: "apt-get update && apt-get install -y git curl",
|
|
347
|
+
},
|
|
348
|
+
},
|
|
349
|
+
tools: {
|
|
350
|
+
allow: ["read"], // 仅 read 工具
|
|
351
|
+
deny: ["exec", "write", "edit", "apply_patch"], // 拒绝其他
|
|
352
|
+
},
|
|
353
|
+
},
|
|
354
|
+
],
|
|
355
|
+
},
|
|
356
|
+
}
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
注意:`setupCommand` 位于 `sandbox.docker` 下,在容器创建时运行一次。
|
|
360
|
+
当解析的 scope 为 `"shared"` 时,每智能体 `sandbox.docker.*` 覆盖会被忽略。
|
|
361
|
+
|
|
362
|
+
**好处:**
|
|
363
|
+
|
|
364
|
+
- **安全隔离**:限制不受信任智能体的工具
|
|
365
|
+
- **资源控制**:沙箱隔离特定智能体同时保持其他智能体在主机上
|
|
366
|
+
- **灵活策略**:每智能体不同的权限
|
|
367
|
+
|
|
368
|
+
注意:`tools.elevated` 是**全局的**且基于发送者;不能按智能体配置。
|
|
369
|
+
如果你需要每智能体边界,使用 `agents.list[].tools` 拒绝 `exec`。
|
|
370
|
+
对于群组定向,使用 `agents.list[].groupChat.mentionPatterns` 使 @提及清晰地映射到目标智能体。
|
|
371
|
+
|
|
372
|
+
参见 [多智能体沙箱和工具](/tools/multi-agent-sandbox-tools) 了解详细示例。
|