@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,123 @@
|
|
|
1
|
+
---
|
|
2
|
+
read_when:
|
|
3
|
+
- 实现或更改 Bonjour 发现/广播
|
|
4
|
+
- 调整远程连接模式(直连 vs SSH)
|
|
5
|
+
- 设计远程节点的节点发现 + 配对
|
|
6
|
+
summary: 用于发现 Gateway 网关的节点发现和传输协议(Bonjour、Tailscale、SSH)
|
|
7
|
+
title: 设备发现 + 传输协议
|
|
8
|
+
x-i18n:
|
|
9
|
+
generated_at: "2026-02-03T10:06:11Z"
|
|
10
|
+
model: claude-opus-4-5
|
|
11
|
+
provider: pi
|
|
12
|
+
source_hash: e12172c181515bfa6aab8625ed3fbc335b80ba92e2b516c02c6066aeeb9f884c
|
|
13
|
+
source_path: gateway/discovery.md
|
|
14
|
+
workflow: 15
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# 设备发现 & 传输协议
|
|
18
|
+
|
|
19
|
+
QuantumClaw 有两个表面上看起来相似的不同问题:
|
|
20
|
+
|
|
21
|
+
1. **操作员远程控制**:macOS 菜单栏应用控制运行在其他地方的 Gateway 网关。
|
|
22
|
+
2. **节点配对**:iOS/Android(以及未来的节点)发现 Gateway 网关并安全配对。
|
|
23
|
+
|
|
24
|
+
设计目标是将所有网络发现/广播保留在 **Node Gateway 网关**(`quantumclaw gateway`)中,并让客户端(mac 应用、iOS)作为消费者。
|
|
25
|
+
|
|
26
|
+
## 术语
|
|
27
|
+
|
|
28
|
+
- **Gateway 网关**:一个长期运行的 Gateway 网关进程,拥有状态(会话、配对、节点注册表)并运行渠道。大多数设置每台主机使用一个;也可以进行隔离的多 Gateway 网关设置。
|
|
29
|
+
- **Gateway 网关 WS(控制平面)**:默认在 `127.0.0.1:18789` 上的 WebSocket 端点;可通过 `gateway.bind` 绑定到 LAN/tailnet。
|
|
30
|
+
- **直连 WS 传输**:面向 LAN/tailnet 的 Gateway 网关 WS 端点(无 SSH)。
|
|
31
|
+
- **SSH 传输(回退)**:通过 SSH 转发 `127.0.0.1:18789` 进行远程控制。
|
|
32
|
+
- **旧版 TCP 桥接(已弃用/移除)**:旧的节点传输(参见 [桥接协议](/gateway/bridge-protocol));不再用于发现广播。
|
|
33
|
+
|
|
34
|
+
协议详情:
|
|
35
|
+
|
|
36
|
+
- [Gateway 网关协议](/gateway/protocol)
|
|
37
|
+
- [桥接协议(旧版)](/gateway/bridge-protocol)
|
|
38
|
+
|
|
39
|
+
## 为什么我们同时保留"直连"和 SSH
|
|
40
|
+
|
|
41
|
+
- **直连 WS** 在同一网络和 tailnet 内提供最佳用户体验:
|
|
42
|
+
- 通过 Bonjour 在 LAN 上自动发现
|
|
43
|
+
- 配对令牌 + ACL 由 Gateway 网关管理
|
|
44
|
+
- 无需 shell 访问;协议表面可保持紧凑和可审计
|
|
45
|
+
- **SSH** 仍然是通用回退方案:
|
|
46
|
+
- 只要你有 SSH 访问权限就能工作(即使跨越不相关的网络)
|
|
47
|
+
- 能应对多播/mDNS 问题
|
|
48
|
+
- 除 SSH 外无需新的入站端口
|
|
49
|
+
|
|
50
|
+
## 发现输入(客户端如何了解 Gateway 网关位置)
|
|
51
|
+
|
|
52
|
+
### 1)Bonjour / mDNS(仅限 LAN)
|
|
53
|
+
|
|
54
|
+
Bonjour 是尽力而为的,不会跨网络。它仅用于"同一 LAN"的便利性。
|
|
55
|
+
|
|
56
|
+
目标方向:
|
|
57
|
+
|
|
58
|
+
- **Gateway 网关**通过 Bonjour 广播其 WS 端点。
|
|
59
|
+
- 客户端浏览并显示"选择一个 Gateway 网关"列表,然后存储选定的端点。
|
|
60
|
+
|
|
61
|
+
故障排除和信标详情:[Bonjour](/gateway/bonjour)。
|
|
62
|
+
|
|
63
|
+
#### 服务信标详情
|
|
64
|
+
|
|
65
|
+
- 服务类型:
|
|
66
|
+
- `_quantumclaw-gw._tcp`(Gateway 网关传输信标)
|
|
67
|
+
- TXT 键(非机密):
|
|
68
|
+
- `role=gateway`
|
|
69
|
+
- `lanHost=<hostname>.local`
|
|
70
|
+
- `sshPort=22`(或广播的端口)
|
|
71
|
+
- `gatewayPort=18789`(Gateway 网关 WS + HTTP)
|
|
72
|
+
- `gatewayTls=1`(仅当启用 TLS 时)
|
|
73
|
+
- `gatewayTlsSha256=<sha256>`(仅当启用 TLS 且指纹可用时)
|
|
74
|
+
- `canvasPort=18793`(默认画布主机端口;服务于 `/__quantumclaw__/canvas/`)
|
|
75
|
+
- `cliPath=<path>`(可选;可运行的 `quantumclaw` 入口点或二进制文件的绝对路径)
|
|
76
|
+
- `tailnetDns=<magicdns>`(可选提示;当 Tailscale 可用时自动检测)
|
|
77
|
+
|
|
78
|
+
禁用/覆盖:
|
|
79
|
+
|
|
80
|
+
- `QUANTUMCLAW_DISABLE_BONJOUR=1` 禁用广播。
|
|
81
|
+
- `~/.quantumclaw/quantumclaw.json` 中的 `gateway.bind` 控制 Gateway 网关绑定模式。
|
|
82
|
+
- `QUANTUMCLAW_SSH_PORT` 覆盖 TXT 中广播的 SSH 端口(默认为 22)。
|
|
83
|
+
- `QUANTUMCLAW_TAILNET_DNS` 发布 `tailnetDns` 提示(MagicDNS)。
|
|
84
|
+
- `QUANTUMCLAW_CLI_PATH` 覆盖广播的 CLI 路径。
|
|
85
|
+
|
|
86
|
+
### 2)Tailnet(跨网络)
|
|
87
|
+
|
|
88
|
+
对于伦敦/维也纳风格的设置,Bonjour 无法帮助。推荐的"直连"目标是:
|
|
89
|
+
|
|
90
|
+
- Tailscale MagicDNS 名称(首选)或稳定的 tailnet IP。
|
|
91
|
+
|
|
92
|
+
如果 Gateway 网关能检测到它正在 Tailscale 下运行,它会发布 `tailnetDns` 作为客户端的可选提示(包括广域信标)。
|
|
93
|
+
|
|
94
|
+
### 3)手动 / SSH 目标
|
|
95
|
+
|
|
96
|
+
当没有直连路由(或直连被禁用)时,客户端始终可以通过 SSH 转发本地回环 Gateway 网关端口来连接。
|
|
97
|
+
|
|
98
|
+
参见 [远程访问](/gateway/remote)。
|
|
99
|
+
|
|
100
|
+
## 传输选择(客户端策略)
|
|
101
|
+
|
|
102
|
+
推荐的客户端行为:
|
|
103
|
+
|
|
104
|
+
1. 如果已配置且可达已配对的直连端点,使用它。
|
|
105
|
+
2. 否则,如果 Bonjour 在 LAN 上找到 Gateway 网关,提供一键"使用此 Gateway 网关"选择并将其保存为直连端点。
|
|
106
|
+
3. 否则,如果配置了 tailnet DNS/IP,尝试直连。
|
|
107
|
+
4. 否则,回退到 SSH。
|
|
108
|
+
|
|
109
|
+
## 配对 + 认证(直连传输)
|
|
110
|
+
|
|
111
|
+
Gateway 网关是节点/客户端准入的唯一权威来源。
|
|
112
|
+
|
|
113
|
+
- 配对请求在 Gateway 网关中创建/批准/拒绝(参见 [Gateway 网关配对](/gateway/pairing))。
|
|
114
|
+
- Gateway 网关强制执行:
|
|
115
|
+
- 认证(令牌 / 密钥对)
|
|
116
|
+
- 作用域/ACL(Gateway 网关不是每个方法的原始代理)
|
|
117
|
+
- 速率限制
|
|
118
|
+
|
|
119
|
+
## 各组件职责
|
|
120
|
+
|
|
121
|
+
- **Gateway 网关**:广播发现信标,拥有配对决策权,并托管 WS 端点。
|
|
122
|
+
- **macOS 应用**:帮助你选择 Gateway 网关,显示配对提示,仅将 SSH 作为回退方案。
|
|
123
|
+
- **iOS/Android 节点**:将 Bonjour 浏览作为便利功能,连接到已配对的 Gateway 网关 WS。
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
---
|
|
2
|
+
read_when:
|
|
3
|
+
- 添加或修改 doctor 迁移
|
|
4
|
+
- 引入破坏性配置更改
|
|
5
|
+
summary: Doctor 命令:健康检查、配置迁移和修复步骤
|
|
6
|
+
title: Doctor
|
|
7
|
+
x-i18n:
|
|
8
|
+
generated_at: "2026-02-03T07:49:03Z"
|
|
9
|
+
model: claude-opus-4-5
|
|
10
|
+
provider: pi
|
|
11
|
+
source_hash: df7b25f60fd08d508f4c6abfc8e7e06f29bd4bbb34c3320397f47eb72c8de83f
|
|
12
|
+
source_path: gateway/doctor.md
|
|
13
|
+
workflow: 15
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Doctor
|
|
17
|
+
|
|
18
|
+
`quantumclaw doctor` 是 QuantumClaw 的修复 + 迁移工具。它修复过时的配置/状态,检查健康状况,并提供可操作的修复步骤。
|
|
19
|
+
|
|
20
|
+
## 快速开始
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
quantumclaw doctor
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### 无头/自动化
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
quantumclaw doctor --yes
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
无需提示接受默认值(包括适用时的重启/服务/沙箱修复步骤)。
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
quantumclaw doctor --repair
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
无需提示应用推荐的修复(安全时进行修复 + 重启)。
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
quantumclaw doctor --repair --force
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
也应用激进的修复(覆盖自定义 supervisor 配置)。
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
quantumclaw doctor --non-interactive
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
无需提示运行,仅应用安全迁移(配置规范化 + 磁盘状态移动)。跳过需要人工确认的重启/服务/沙箱操作。
|
|
51
|
+
检测到时自动运行遗留状态迁移。
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
quantumclaw doctor --deep
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
扫描系统服务以查找额外的 Gateway 网关安装(launchd/systemd/schtasks)。
|
|
58
|
+
|
|
59
|
+
如果你想在写入前查看更改,请先打开配置文件:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
cat ~/.quantumclaw/quantumclaw.json
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## 功能概述
|
|
66
|
+
|
|
67
|
+
- git 安装的可选预检更新(仅交互模式)。
|
|
68
|
+
- UI 协议新鲜度检查(当协议 schema 较新时重建 Control UI)。
|
|
69
|
+
- 健康检查 + 重启提示。
|
|
70
|
+
- Skills 状态摘要(符合条件/缺失/被阻止)。
|
|
71
|
+
- 遗留值的配置规范化。
|
|
72
|
+
- OpenCode Zen 提供商覆盖警告(`models.providers.opencode`)。
|
|
73
|
+
- 遗留磁盘状态迁移(会话/智能体目录/WhatsApp 认证)。
|
|
74
|
+
- 状态完整性和权限检查(会话、记录、状态目录)。
|
|
75
|
+
- 本地运行时的配置文件权限检查(chmod 600)。
|
|
76
|
+
- 模型认证健康:检查 OAuth 过期,可刷新即将过期的 token,并报告认证配置文件冷却/禁用状态。
|
|
77
|
+
- 额外工作区目录检测(`~/quantumclaw`)。
|
|
78
|
+
- 启用沙箱隔离时的沙箱镜像修复。
|
|
79
|
+
- 遗留服务迁移和额外 Gateway 网关检测。
|
|
80
|
+
- Gateway 网关运行时检查(服务已安装但未运行;缓存的 launchd 标签)。
|
|
81
|
+
- 渠道状态警告(从运行中的 Gateway 网关探测)。
|
|
82
|
+
- Supervisor 配置审计(launchd/systemd/schtasks)及可选修复。
|
|
83
|
+
- Gateway 网关运行时最佳实践检查(Node vs Bun,版本管理器路径)。
|
|
84
|
+
- Gateway 网关端口冲突诊断(默认 `18789`)。
|
|
85
|
+
- 开放私信策略的安全警告。
|
|
86
|
+
- 未设置 `gateway.auth.token` 时的 Gateway 网关认证警告(本地模式;提供 token 生成)。
|
|
87
|
+
- Linux 上的 systemd linger 检查。
|
|
88
|
+
- 源码安装检查(pnpm workspace 不匹配、缺失 UI 资产、缺失 tsx 二进制文件)。
|
|
89
|
+
- 写入更新后的配置 + 向导元数据。
|
|
90
|
+
|
|
91
|
+
## 详细行为和原理
|
|
92
|
+
|
|
93
|
+
### 0)可选更新(git 安装)
|
|
94
|
+
|
|
95
|
+
如果这是 git 检出且 doctor 以交互模式运行,它会在运行 doctor 之前提供更新(fetch/rebase/build)。
|
|
96
|
+
|
|
97
|
+
### 1)配置规范化
|
|
98
|
+
|
|
99
|
+
如果配置包含遗留值形式(例如没有渠道特定覆盖的 `messages.ackReaction`),doctor 会将它们规范化为当前 schema。
|
|
100
|
+
|
|
101
|
+
### 2)遗留配置键迁移
|
|
102
|
+
|
|
103
|
+
当配置包含已弃用的键时,其他命令会拒绝运行并要求你运行 `quantumclaw doctor`。
|
|
104
|
+
|
|
105
|
+
Doctor 将:
|
|
106
|
+
|
|
107
|
+
- 解释找到了哪些遗留键。
|
|
108
|
+
- 显示它应用的迁移。
|
|
109
|
+
- 使用更新后的 schema 重写 `~/.quantumclaw/quantumclaw.json`。
|
|
110
|
+
|
|
111
|
+
Gateway 网关在检测到遗留配置格式时也会在启动时自动运行 doctor 迁移,因此过时的配置无需手动干预即可修复。
|
|
112
|
+
|
|
113
|
+
当前迁移:
|
|
114
|
+
|
|
115
|
+
- `routing.allowFrom` → `channels.whatsapp.allowFrom`
|
|
116
|
+
- `routing.groupChat.requireMention` → `channels.whatsapp/telegram/imessage.groups."*".requireMention`
|
|
117
|
+
- `routing.groupChat.historyLimit` → `messages.groupChat.historyLimit`
|
|
118
|
+
- `routing.groupChat.mentionPatterns` → `messages.groupChat.mentionPatterns`
|
|
119
|
+
- `routing.queue` → `messages.queue`
|
|
120
|
+
- `routing.bindings` → 顶级 `bindings`
|
|
121
|
+
- `routing.agents`/`routing.defaultAgentId` → `agents.list` + `agents.list[].default`
|
|
122
|
+
- `routing.agentToAgent` → `tools.agentToAgent`
|
|
123
|
+
- `routing.transcribeAudio` → `tools.media.audio.models`
|
|
124
|
+
- `bindings[].match.accountID` → `bindings[].match.accountId`
|
|
125
|
+
- `identity` → `agents.list[].identity`
|
|
126
|
+
- `agent.*` → `agents.defaults` + `tools.*`(tools/elevated/exec/sandbox/subagents)
|
|
127
|
+
- `agent.model`/`allowedModels`/`modelAliases`/`modelFallbacks`/`imageModelFallbacks`
|
|
128
|
+
→ `agents.defaults.models` + `agents.defaults.model.primary/fallbacks` + `agents.defaults.imageModel.primary/fallbacks`
|
|
129
|
+
|
|
130
|
+
### 2b)OpenCode Zen 提供商覆盖
|
|
131
|
+
|
|
132
|
+
如果你手动添加了 `models.providers.opencode`(或 `opencode-zen`),它会覆盖 `@mariozechner/pi-ai` 中内置的 OpenCode Zen 目录。这可能会强制将每个模型放到单个 API 上或将成本归零。Doctor 会发出警告,以便你可以移除覆盖并恢复每模型 API 路由 + 成本。
|
|
133
|
+
|
|
134
|
+
### 3)遗留状态迁移(磁盘布局)
|
|
135
|
+
|
|
136
|
+
Doctor 可以将旧的磁盘布局迁移到当前结构:
|
|
137
|
+
|
|
138
|
+
- 会话存储 + 记录:
|
|
139
|
+
- 从 `~/.quantumclaw/sessions/` 到 `~/.quantumclaw/agents/<agentId>/sessions/`
|
|
140
|
+
- 智能体目录:
|
|
141
|
+
- 从 `~/.quantumclaw/agent/` 到 `~/.quantumclaw/agents/<agentId>/agent/`
|
|
142
|
+
- WhatsApp 认证状态(Baileys):
|
|
143
|
+
- 从遗留的 `~/.quantumclaw/credentials/*.json`(除 `oauth.json` 外)
|
|
144
|
+
- 到 `~/.quantumclaw/credentials/whatsapp/<accountId>/...`(默认账户 id:`default`)
|
|
145
|
+
|
|
146
|
+
这些迁移是尽力而为且幂等的;当 doctor 将任何遗留文件夹作为备份保留时会发出警告。Gateway 网关/CLI 也会在启动时自动迁移遗留会话 + 智能体目录,因此历史/认证/模型会落在每智能体路径中,无需手动运行 doctor。WhatsApp 认证有意仅通过 `quantumclaw doctor` 迁移。
|
|
147
|
+
|
|
148
|
+
### 4)状态完整性检查(会话持久化、路由和安全)
|
|
149
|
+
|
|
150
|
+
状态目录是操作的核心。如果它消失,你会丢失会话、凭证、日志和配置(除非你在别处有备份)。
|
|
151
|
+
|
|
152
|
+
Doctor 检查:
|
|
153
|
+
|
|
154
|
+
- **状态目录缺失**:警告灾难性状态丢失,提示重新创建目录,并提醒你它无法恢复丢失的数据。
|
|
155
|
+
- **状态目录权限**:验证可写性;提供修复权限(并在检测到所有者/组不匹配时发出 `chown` 提示)。
|
|
156
|
+
- **会话目录缺失**:`sessions/` 和会话存储目录是持久化历史和避免 `ENOENT` 崩溃所必需的。
|
|
157
|
+
- **记录不匹配**:当最近的会话条目缺少记录文件时发出警告。
|
|
158
|
+
- **主会话"1 行 JSONL"**:当主记录只有一行时标记(历史未累积)。
|
|
159
|
+
- **多个状态目录**:当多个 `~/.quantumclaw` 文件夹存在于不同 home 目录或当 `QUANTUMCLAW_STATE_DIR` 指向别处时发出警告(历史可能在安装之间分裂)。
|
|
160
|
+
- **远程模式提醒**:如果 `gateway.mode=remote`,doctor 会提醒你在远程主机上运行它(状态在那里)。
|
|
161
|
+
- **配置文件权限**:当 `~/.quantumclaw/quantumclaw.json` 对组/其他用户可读时发出警告,并提供收紧到 `600` 的选项。
|
|
162
|
+
|
|
163
|
+
### 5)模型认证健康(OAuth 过期)
|
|
164
|
+
|
|
165
|
+
Doctor 检查认证存储中的 OAuth 配置文件,在 token 即将过期/已过期时发出警告,并在安全时刷新它们。如果 Anthropic Claude Code 配置文件过时,它会建议运行 `claude setup-token`(或粘贴 setup-token)。
|
|
166
|
+
刷新提示仅在交互运行(TTY)时出现;`--non-interactive` 跳过刷新尝试。
|
|
167
|
+
|
|
168
|
+
Doctor 还会报告由于以下原因暂时不可用的认证配置文件:
|
|
169
|
+
|
|
170
|
+
- 短冷却(速率限制/超时/认证失败)
|
|
171
|
+
- 长禁用(账单/信用失败)
|
|
172
|
+
|
|
173
|
+
### 6)Hooks 模型验证
|
|
174
|
+
|
|
175
|
+
如果设置了 `hooks.gmail.model`,doctor 会根据目录和允许列表验证模型引用,并在无法解析或不允许时发出警告。
|
|
176
|
+
|
|
177
|
+
### 7)沙箱镜像修复
|
|
178
|
+
|
|
179
|
+
当启用沙箱隔离时,doctor 检查 Docker 镜像,并在当前镜像缺失时提供构建或切换到遗留名称的选项。
|
|
180
|
+
|
|
181
|
+
### 8)Gateway 网关服务迁移和清理提示
|
|
182
|
+
|
|
183
|
+
Doctor 检测遗留的 Gateway 网关服务(launchd/systemd/schtasks),并提供删除它们并使用当前 Gateway 网关端口安装 QuantumClaw 服务的选项。它还可以扫描额外的类 Gateway 网关服务并打印清理提示。
|
|
184
|
+
配置文件命名的 QuantumClaw Gateway 网关服务被视为一等公民,不会被标记为"额外的"。
|
|
185
|
+
|
|
186
|
+
### 9)安全警告
|
|
187
|
+
|
|
188
|
+
当提供商对私信开放而没有允许列表,或当策略以危险方式配置时,Doctor 会发出警告。
|
|
189
|
+
|
|
190
|
+
### 10)systemd linger(Linux)
|
|
191
|
+
|
|
192
|
+
如果作为 systemd 用户服务运行,doctor 确保启用 lingering,以便 Gateway 网关在注销后保持活动。
|
|
193
|
+
|
|
194
|
+
### 11)Skills 状态
|
|
195
|
+
|
|
196
|
+
Doctor 打印当前工作区符合条件/缺失/被阻止的 Skills 的快速摘要。
|
|
197
|
+
|
|
198
|
+
### 12)Gateway 网关认证检查(本地 token)
|
|
199
|
+
|
|
200
|
+
当本地 Gateway 网关缺少 `gateway.auth` 时,Doctor 会发出警告并提供生成 token 的选项。使用 `quantumclaw doctor --generate-gateway-token` 在自动化中强制创建 token。
|
|
201
|
+
|
|
202
|
+
### 13)Gateway 网关健康检查 + 重启
|
|
203
|
+
|
|
204
|
+
Doctor 运行健康检查,并在 Gateway 网关看起来不健康时提供重启选项。
|
|
205
|
+
|
|
206
|
+
### 14)渠道状态警告
|
|
207
|
+
|
|
208
|
+
如果 Gateway 网关健康,doctor 运行渠道状态探测并报告警告及建议的修复。
|
|
209
|
+
|
|
210
|
+
### 15)Supervisor 配置审计 + 修复
|
|
211
|
+
|
|
212
|
+
Doctor 检查已安装的 supervisor 配置(launchd/systemd/schtasks)是否有缺失或过时的默认值(例如 systemd network-online 依赖和重启延迟)。当发现不匹配时,它会推荐更新,并可以将服务文件/任务重写为当前默认值。
|
|
213
|
+
|
|
214
|
+
注意事项:
|
|
215
|
+
|
|
216
|
+
- `quantumclaw doctor` 在重写 supervisor 配置前提示。
|
|
217
|
+
- `quantumclaw doctor --yes` 接受默认修复提示。
|
|
218
|
+
- `quantumclaw doctor --repair` 无需提示应用推荐的修复。
|
|
219
|
+
- `quantumclaw doctor --repair --force` 覆盖自定义 supervisor 配置。
|
|
220
|
+
- 你始终可以通过 `quantumclaw gateway install --force` 强制完全重写。
|
|
221
|
+
|
|
222
|
+
### 16)Gateway 网关运行时 + 端口诊断
|
|
223
|
+
|
|
224
|
+
Doctor 检查服务运行时(PID、上次退出状态),并在服务已安装但实际未运行时发出警告。它还检查 Gateway 网关端口(默认 `18789`)上的端口冲突,并报告可能的原因(Gateway 网关已在运行、SSH 隧道)。
|
|
225
|
+
|
|
226
|
+
### 17)Gateway 网关运行时最佳实践
|
|
227
|
+
|
|
228
|
+
当 Gateway 网关服务在 Bun 或版本管理器管理的 Node 路径(`nvm`、`fnm`、`volta`、`asdf` 等)上运行时,Doctor 会发出警告。WhatsApp + Telegram 渠道需要 Node,版本管理器路径在升级后可能会中断,因为服务不会加载你的 shell init。Doctor 会在可用时提供迁移到系统 Node 安装的选项(Homebrew/apt/choco)。
|
|
229
|
+
|
|
230
|
+
### 18)配置写入 + 向导元数据
|
|
231
|
+
|
|
232
|
+
Doctor 持久化任何配置更改,并标记向导元数据以记录 doctor 运行。
|
|
233
|
+
|
|
234
|
+
### 19)工作区提示(备份 + 记忆系统)
|
|
235
|
+
|
|
236
|
+
当缺失时,Doctor 建议使用工作区记忆系统,并在工作区尚未在 git 下时打印备份提示。
|
|
237
|
+
|
|
238
|
+
参见 [/concepts/agent-workspace](/concepts/agent-workspace) 了解工作区结构和 git 备份的完整指南(推荐私有 GitHub 或 GitLab)。
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
read_when:
|
|
3
|
+
- 运行或调试 Gateway 网关进程
|
|
4
|
+
- 调查单实例强制执行
|
|
5
|
+
summary: 使用 WebSocket 监听器绑定的 Gateway 网关单例保护
|
|
6
|
+
title: Gateway 网关锁
|
|
7
|
+
x-i18n:
|
|
8
|
+
generated_at: "2026-02-03T07:47:52Z"
|
|
9
|
+
model: claude-opus-4-5
|
|
10
|
+
provider: pi
|
|
11
|
+
source_hash: 15fdfa066d1925da8b4632073a876709f77ca8d40e6828c174a30d953ba4f8e9
|
|
12
|
+
source_path: gateway/gateway-lock.md
|
|
13
|
+
workflow: 15
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Gateway 网关锁
|
|
17
|
+
|
|
18
|
+
最后更新:2025-12-11
|
|
19
|
+
|
|
20
|
+
## 原因
|
|
21
|
+
|
|
22
|
+
- 确保同一主机上每个基础端口只运行一个 Gateway 网关实例;额外的 Gateway 网关必须使用隔离的配置文件和唯一的端口。
|
|
23
|
+
- 在崩溃/SIGKILL 后不留下过时的锁文件。
|
|
24
|
+
- 当控制端口已被占用时快速失败并给出清晰的错误。
|
|
25
|
+
|
|
26
|
+
## 机制
|
|
27
|
+
|
|
28
|
+
- Gateway 网关在启动时立即使用独占 TCP 监听器绑定 WebSocket 监听器(默认 `ws://127.0.0.1:18789`)。
|
|
29
|
+
- 如果绑定因 `EADDRINUSE` 失败,启动会抛出 `GatewayLockError("another gateway instance is already listening on ws://127.0.0.1:<port>")`。
|
|
30
|
+
- 操作系统在任何进程退出时(包括崩溃和 SIGKILL)自动释放监听器——不需要单独的锁文件或清理步骤。
|
|
31
|
+
- 关闭时,Gateway 网关关闭 WebSocket 服务器和底层 HTTP 服务器以及时释放端口。
|
|
32
|
+
|
|
33
|
+
## 错误表面
|
|
34
|
+
|
|
35
|
+
- 如果另一个进程持有端口,启动会抛出 `GatewayLockError("another gateway instance is already listening on ws://127.0.0.1:<port>")`。
|
|
36
|
+
- 其他绑定失败会显示为 `GatewayLockError("failed to bind gateway socket on ws://127.0.0.1:<port>: …")`。
|
|
37
|
+
|
|
38
|
+
## 运维说明
|
|
39
|
+
|
|
40
|
+
- 如果端口被*另一个*进程占用,错误是相同的;释放端口或使用 `quantumclaw gateway --port <port>` 选择另一个端口。
|
|
41
|
+
- macOS 应用在启动 Gateway 网关之前仍维护自己的轻量级 PID 保护;运行时锁由 WebSocket 绑定强制执行。
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
read_when:
|
|
3
|
+
- 诊断 WhatsApp 渠道健康状况
|
|
4
|
+
summary: 渠道连接的健康检查步骤
|
|
5
|
+
title: 健康检查
|
|
6
|
+
x-i18n:
|
|
7
|
+
generated_at: "2026-02-03T07:47:59Z"
|
|
8
|
+
model: claude-opus-4-5
|
|
9
|
+
provider: pi
|
|
10
|
+
source_hash: 74f242e98244c135e1322682ed6b67d70f3b404aca783b1bb5de96a27c2c1b01
|
|
11
|
+
source_path: gateway/health.md
|
|
12
|
+
workflow: 15
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# 健康检查(CLI)
|
|
16
|
+
|
|
17
|
+
验证渠道连接的简短指南,无需猜测。
|
|
18
|
+
|
|
19
|
+
## 快速检查
|
|
20
|
+
|
|
21
|
+
- `quantumclaw status` — 本地摘要:Gateway 网关可达性/模式、更新提示、已链接渠道认证时长、会话 + 最近活动。
|
|
22
|
+
- `quantumclaw status --all` — 完整本地诊断(只读、彩色、可安全粘贴用于调试)。
|
|
23
|
+
- `quantumclaw status --deep` — 还会探测运行中的 Gateway 网关(支持时进行每渠道探测)。
|
|
24
|
+
- `quantumclaw health --json` — 向运行中的 Gateway 网关请求完整健康快照(仅 WS;不直接访问 Baileys 套接字)。
|
|
25
|
+
- 在 WhatsApp/WebChat 中单独发送 `/status` 消息可获取状态回复,而不调用智能体。
|
|
26
|
+
- 日志:跟踪 `/tmp/quantumclaw/quantumclaw-*.log` 并过滤 `web-heartbeat`、`web-reconnect`、`web-auto-reply`、`web-inbound`。
|
|
27
|
+
|
|
28
|
+
## 深度诊断
|
|
29
|
+
|
|
30
|
+
- 磁盘上的凭证:`ls -l ~/.quantumclaw/credentials/whatsapp/<accountId>/creds.json`(mtime 应该是最近的)。
|
|
31
|
+
- 会话存储:`ls -l ~/.quantumclaw/agents/<agentId>/sessions/sessions.json`(路径可在配置中覆盖)。计数和最近收件人通过 `status` 显示。
|
|
32
|
+
- 重新链接流程:当日志中出现状态码 409–515 或 `loggedOut` 时,执行 `quantumclaw channels logout && quantumclaw channels login --verbose`。(注意:配对后状态 515 时 QR 登录流程会自动重启一次。)
|
|
33
|
+
|
|
34
|
+
## 当出现故障时
|
|
35
|
+
|
|
36
|
+
- `logged out` 或状态 409–515 → 使用 `quantumclaw channels logout` 然后 `quantumclaw channels login` 重新链接。
|
|
37
|
+
- Gateway 网关不可达 → 启动它:`quantumclaw gateway --port 18789`(如果端口被占用则使用 `--force`)。
|
|
38
|
+
- 没有入站消息 → 确认已链接的手机在线且发送者被允许(`channels.whatsapp.allowFrom`);对于群聊,确保允许列表 + 提及规则匹配(`channels.whatsapp.groups`、`agents.list[].groupChat.mentionPatterns`)。
|
|
39
|
+
|
|
40
|
+
## 专用"health"命令
|
|
41
|
+
|
|
42
|
+
`quantumclaw health --json` 向运行中的 Gateway 网关请求其健康快照(CLI 不直接访问渠道套接字)。它报告已链接凭证/认证时长(如可用)、每渠道探测摘要、会话存储摘要和探测持续时间。如果 Gateway 网关不可达或探测失败/超时,它以非零退出。使用 `--timeout <ms>` 覆盖默认的 10 秒。
|