@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.
Files changed (821) hide show
  1. package/CHANGELOG.md +4601 -0
  2. package/LICENSE +21 -0
  3. package/README.md +559 -0
  4. package/assets/avatar-placeholder.svg +19 -0
  5. package/assets/chrome-extension/icons/icon128.png +0 -0
  6. package/assets/chrome-extension/icons/icon16.png +0 -0
  7. package/assets/chrome-extension/icons/icon32.png +0 -0
  8. package/assets/chrome-extension/icons/icon48.png +0 -0
  9. package/assets/dmg-background-small.png +0 -0
  10. package/assets/dmg-background.png +0 -0
  11. package/docs/.i18n/README.md +31 -0
  12. package/docs/.i18n/glossary.ja-JP.json +14 -0
  13. package/docs/.i18n/glossary.zh-CN.json +302 -0
  14. package/docs/.i18n/ja-JP.tm.jsonl +0 -0
  15. package/docs/assets/install-script.svg +1 -0
  16. package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
  17. package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
  18. package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
  19. package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
  20. package/docs/assets/macos-onboarding/05-permissions.png +0 -0
  21. package/docs/assets/pixel-lobster.svg +60 -0
  22. package/docs/assets/quantumclaw-logo-text-dark.png +0 -0
  23. package/docs/assets/quantumclaw-logo-text-dark.svg +418 -0
  24. package/docs/assets/quantumclaw-logo-text.png +0 -0
  25. package/docs/assets/quantumclaw-logo-text.svg +418 -0
  26. package/docs/assets/showcase/agents-ui.jpg +0 -0
  27. package/docs/assets/showcase/bambu-cli.png +0 -0
  28. package/docs/assets/showcase/codexmonitor.png +0 -0
  29. package/docs/assets/showcase/gohome-grafana.png +0 -0
  30. package/docs/assets/showcase/ios-testflight.jpg +0 -0
  31. package/docs/assets/showcase/oura-health.png +0 -0
  32. package/docs/assets/showcase/padel-cli.svg +11 -0
  33. package/docs/assets/showcase/padel-screenshot.jpg +0 -0
  34. package/docs/assets/showcase/papla-tts.jpg +0 -0
  35. package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
  36. package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
  37. package/docs/assets/showcase/roborock-status.svg +13 -0
  38. package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
  39. package/docs/assets/showcase/snag.png +0 -0
  40. package/docs/assets/showcase/tesco-shop.jpg +0 -0
  41. package/docs/assets/showcase/wienerlinien.png +0 -0
  42. package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
  43. package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
  44. package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
  45. package/docs/assets/sponsors/blacksmith.svg +14 -0
  46. package/docs/assets/sponsors/convex.svg +16 -0
  47. package/docs/assets/sponsors/openai.svg +3 -0
  48. package/docs/assets/sponsors/vercel.svg +5 -0
  49. package/docs/auth-credential-semantics.md +53 -0
  50. package/docs/automation/auth-monitoring.md +44 -0
  51. package/docs/automation/cron-jobs.md +727 -0
  52. package/docs/automation/cron-vs-heartbeat.md +286 -0
  53. package/docs/automation/gmail-pubsub.md +256 -0
  54. package/docs/automation/hooks.md +1056 -0
  55. package/docs/automation/poll.md +86 -0
  56. package/docs/automation/standing-orders.md +251 -0
  57. package/docs/automation/troubleshooting.md +122 -0
  58. package/docs/automation/webhook.md +217 -0
  59. package/docs/brave-search.md +93 -0
  60. package/docs/channels/bluebubbles.md +347 -0
  61. package/docs/channels/broadcast-groups.md +442 -0
  62. package/docs/channels/channel-routing.md +139 -0
  63. package/docs/channels/discord.md +1229 -0
  64. package/docs/channels/feishu.md +747 -0
  65. package/docs/channels/googlechat.md +261 -0
  66. package/docs/channels/group-messages.md +84 -0
  67. package/docs/channels/groups.md +379 -0
  68. package/docs/channels/imessage.md +367 -0
  69. package/docs/channels/index.md +47 -0
  70. package/docs/channels/irc.md +242 -0
  71. package/docs/channels/line.md +194 -0
  72. package/docs/channels/location.md +56 -0
  73. package/docs/channels/matrix.md +677 -0
  74. package/docs/channels/mattermost.md +427 -0
  75. package/docs/channels/msteams.md +780 -0
  76. package/docs/channels/nextcloud-talk.md +138 -0
  77. package/docs/channels/nostr.md +249 -0
  78. package/docs/channels/pairing.md +114 -0
  79. package/docs/channels/signal.md +329 -0
  80. package/docs/channels/slack.md +603 -0
  81. package/docs/channels/synology-chat.md +134 -0
  82. package/docs/channels/telegram.md +987 -0
  83. package/docs/channels/tlon.md +276 -0
  84. package/docs/channels/troubleshooting.md +118 -0
  85. package/docs/channels/twitch.md +379 -0
  86. package/docs/channels/whatsapp.md +460 -0
  87. package/docs/channels/zalo.md +243 -0
  88. package/docs/channels/zalouser.md +181 -0
  89. package/docs/ci.md +55 -0
  90. package/docs/cli/acp.md +288 -0
  91. package/docs/cli/agent.md +29 -0
  92. package/docs/cli/agents.md +123 -0
  93. package/docs/cli/approvals.md +50 -0
  94. package/docs/cli/backup.md +76 -0
  95. package/docs/cli/browser.md +106 -0
  96. package/docs/cli/channels.md +102 -0
  97. package/docs/cli/clawbot.md +21 -0
  98. package/docs/cli/completion.md +35 -0
  99. package/docs/cli/config.md +295 -0
  100. package/docs/cli/configure.md +36 -0
  101. package/docs/cli/cron.md +77 -0
  102. package/docs/cli/daemon.md +53 -0
  103. package/docs/cli/dashboard.md +22 -0
  104. package/docs/cli/devices.md +139 -0
  105. package/docs/cli/directory.md +63 -0
  106. package/docs/cli/dns.md +23 -0
  107. package/docs/cli/docs.md +15 -0
  108. package/docs/cli/doctor.md +48 -0
  109. package/docs/cli/gateway.md +235 -0
  110. package/docs/cli/health.md +21 -0
  111. package/docs/cli/hooks.md +329 -0
  112. package/docs/cli/index.md +1150 -0
  113. package/docs/cli/logs.md +28 -0
  114. package/docs/cli/memory.md +66 -0
  115. package/docs/cli/message.md +278 -0
  116. package/docs/cli/models.md +81 -0
  117. package/docs/cli/node.md +127 -0
  118. package/docs/cli/nodes.md +75 -0
  119. package/docs/cli/onboard.md +157 -0
  120. package/docs/cli/pairing.md +32 -0
  121. package/docs/cli/plugins.md +210 -0
  122. package/docs/cli/qr.md +46 -0
  123. package/docs/cli/reset.md +20 -0
  124. package/docs/cli/sandbox.md +197 -0
  125. package/docs/cli/secrets.md +188 -0
  126. package/docs/cli/security.md +79 -0
  127. package/docs/cli/sessions.md +110 -0
  128. package/docs/cli/setup.md +29 -0
  129. package/docs/cli/skills.md +36 -0
  130. package/docs/cli/status.md +30 -0
  131. package/docs/cli/system.md +60 -0
  132. package/docs/cli/tui.md +30 -0
  133. package/docs/cli/uninstall.md +20 -0
  134. package/docs/cli/update.md +103 -0
  135. package/docs/cli/voicecall.md +34 -0
  136. package/docs/cli/webhooks.md +25 -0
  137. package/docs/concepts/agent-loop.md +148 -0
  138. package/docs/concepts/agent-workspace.md +236 -0
  139. package/docs/concepts/agent.md +122 -0
  140. package/docs/concepts/architecture.md +137 -0
  141. package/docs/concepts/compaction.md +123 -0
  142. package/docs/concepts/context-engine.md +268 -0
  143. package/docs/concepts/context.md +172 -0
  144. package/docs/concepts/delegate-architecture.md +296 -0
  145. package/docs/concepts/features.md +73 -0
  146. package/docs/concepts/markdown-formatting.md +130 -0
  147. package/docs/concepts/memory.md +108 -0
  148. package/docs/concepts/messages.md +154 -0
  149. package/docs/concepts/model-failover.md +152 -0
  150. package/docs/concepts/model-providers.md +607 -0
  151. package/docs/concepts/models.md +225 -0
  152. package/docs/concepts/multi-agent.md +552 -0
  153. package/docs/concepts/oauth.md +158 -0
  154. package/docs/concepts/presence.md +102 -0
  155. package/docs/concepts/queue.md +89 -0
  156. package/docs/concepts/retry.md +69 -0
  157. package/docs/concepts/session-pruning.md +121 -0
  158. package/docs/concepts/session-tool.md +242 -0
  159. package/docs/concepts/session.md +310 -0
  160. package/docs/concepts/streaming.md +155 -0
  161. package/docs/concepts/system-prompt.md +132 -0
  162. package/docs/concepts/timezone.md +91 -0
  163. package/docs/concepts/typebox.md +291 -0
  164. package/docs/concepts/typing-indicators.md +68 -0
  165. package/docs/concepts/usage-tracking.md +35 -0
  166. package/docs/date-time.md +128 -0
  167. package/docs/debug/node-issue.md +85 -0
  168. package/docs/diagnostics/flags.md +91 -0
  169. package/docs/docs.json +2078 -0
  170. package/docs/gateway/authentication.md +179 -0
  171. package/docs/gateway/background-process.md +97 -0
  172. package/docs/gateway/bonjour.md +177 -0
  173. package/docs/gateway/bridge-protocol.md +91 -0
  174. package/docs/gateway/cli-backends.md +225 -0
  175. package/docs/gateway/configuration-examples.md +651 -0
  176. package/docs/gateway/configuration-reference.md +3123 -0
  177. package/docs/gateway/configuration.md +633 -0
  178. package/docs/gateway/discovery.md +123 -0
  179. package/docs/gateway/doctor.md +362 -0
  180. package/docs/gateway/gateway-lock.md +34 -0
  181. package/docs/gateway/health.md +44 -0
  182. package/docs/gateway/heartbeat.md +393 -0
  183. package/docs/gateway/index.md +261 -0
  184. package/docs/gateway/local-models.md +152 -0
  185. package/docs/gateway/logging.md +113 -0
  186. package/docs/gateway/multiple-gateways.md +112 -0
  187. package/docs/gateway/network-model.md +22 -0
  188. package/docs/gateway/openai-http-api.md +132 -0
  189. package/docs/gateway/openresponses-http-api.md +295 -0
  190. package/docs/gateway/openshell.md +307 -0
  191. package/docs/gateway/pairing.md +99 -0
  192. package/docs/gateway/protocol.md +267 -0
  193. package/docs/gateway/remote-gateway-readme.md +158 -0
  194. package/docs/gateway/remote.md +153 -0
  195. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +134 -0
  196. package/docs/gateway/sandboxing.md +469 -0
  197. package/docs/gateway/secrets-plan-contract.md +116 -0
  198. package/docs/gateway/secrets.md +503 -0
  199. package/docs/gateway/security/index.md +1220 -0
  200. package/docs/gateway/tailscale.md +132 -0
  201. package/docs/gateway/tools-invoke-http-api.md +118 -0
  202. package/docs/gateway/troubleshooting.md +378 -0
  203. package/docs/gateway/trusted-proxy-auth.md +330 -0
  204. package/docs/help/debugging.md +168 -0
  205. package/docs/help/environment.md +163 -0
  206. package/docs/help/faq.md +2997 -0
  207. package/docs/help/index.md +28 -0
  208. package/docs/help/scripts.md +28 -0
  209. package/docs/help/testing.md +526 -0
  210. package/docs/help/troubleshooting.md +297 -0
  211. package/docs/images/configure-model-picker-unsearchable.png +0 -0
  212. package/docs/images/feishu-step2-create-app.png +0 -0
  213. package/docs/images/feishu-step3-credentials.png +0 -0
  214. package/docs/images/feishu-step4-permissions.png +0 -0
  215. package/docs/images/feishu-step5-bot-capability.png +0 -0
  216. package/docs/images/feishu-step6-event-subscription.png +0 -0
  217. package/docs/images/feishu-verification-token.png +0 -0
  218. package/docs/images/groups-flow.svg +52 -0
  219. package/docs/images/mobile-ui-screenshot.png +0 -0
  220. package/docs/index.md +196 -0
  221. package/docs/install/ansible.md +230 -0
  222. package/docs/install/azure.md +311 -0
  223. package/docs/install/bun.md +55 -0
  224. package/docs/install/development-channels.md +120 -0
  225. package/docs/install/digitalocean.md +129 -0
  226. package/docs/install/docker-vm-runtime.md +142 -0
  227. package/docs/install/docker.md +375 -0
  228. package/docs/install/exe-dev.md +126 -0
  229. package/docs/install/fly.md +501 -0
  230. package/docs/install/gcp.md +402 -0
  231. package/docs/install/hetzner.md +251 -0
  232. package/docs/install/index.md +183 -0
  233. package/docs/install/installer.md +415 -0
  234. package/docs/install/kubernetes.md +191 -0
  235. package/docs/install/macos-vm.md +281 -0
  236. package/docs/install/migrating-matrix.md +346 -0
  237. package/docs/install/migrating.md +110 -0
  238. package/docs/install/nix.md +89 -0
  239. package/docs/install/node.md +138 -0
  240. package/docs/install/northflank.mdx +54 -0
  241. package/docs/install/oracle.md +156 -0
  242. package/docs/install/podman.md +133 -0
  243. package/docs/install/railway.mdx +100 -0
  244. package/docs/install/raspberry-pi.md +159 -0
  245. package/docs/install/render.mdx +169 -0
  246. package/docs/install/uninstall.md +128 -0
  247. package/docs/install/updating.md +128 -0
  248. package/docs/ja-JP/index.md +186 -0
  249. package/docs/ja-JP/start/getting-started.md +125 -0
  250. package/docs/ja-JP/start/wizard.md +77 -0
  251. package/docs/logging.md +352 -0
  252. package/docs/nav-tabs-underline.js +100 -0
  253. package/docs/network.md +54 -0
  254. package/docs/nodes/audio.md +187 -0
  255. package/docs/nodes/camera.md +162 -0
  256. package/docs/nodes/images.md +72 -0
  257. package/docs/nodes/index.md +393 -0
  258. package/docs/nodes/location-command.md +98 -0
  259. package/docs/nodes/media-understanding.md +394 -0
  260. package/docs/nodes/talk.md +92 -0
  261. package/docs/nodes/troubleshooting.md +114 -0
  262. package/docs/nodes/voicewake.md +66 -0
  263. package/docs/perplexity.md +174 -0
  264. package/docs/pi-dev.md +80 -0
  265. package/docs/pi.md +567 -0
  266. package/docs/platforms/android.md +168 -0
  267. package/docs/platforms/digitalocean.md +266 -0
  268. package/docs/platforms/index.md +54 -0
  269. package/docs/platforms/ios.md +220 -0
  270. package/docs/platforms/linux.md +94 -0
  271. package/docs/platforms/mac/bundled-gateway.md +73 -0
  272. package/docs/platforms/mac/canvas.md +125 -0
  273. package/docs/platforms/mac/child-process.md +69 -0
  274. package/docs/platforms/mac/dev-setup.md +104 -0
  275. package/docs/platforms/mac/health.md +34 -0
  276. package/docs/platforms/mac/icon.md +31 -0
  277. package/docs/platforms/mac/logging.md +57 -0
  278. package/docs/platforms/mac/menu-bar.md +81 -0
  279. package/docs/platforms/mac/peekaboo.md +65 -0
  280. package/docs/platforms/mac/permissions.md +50 -0
  281. package/docs/platforms/mac/remote.md +84 -0
  282. package/docs/platforms/mac/signing.md +47 -0
  283. package/docs/platforms/mac/skills.md +33 -0
  284. package/docs/platforms/mac/voice-overlay.md +60 -0
  285. package/docs/platforms/mac/voicewake.md +67 -0
  286. package/docs/platforms/mac/webchat.md +43 -0
  287. package/docs/platforms/mac/xpc.md +61 -0
  288. package/docs/platforms/macos.md +226 -0
  289. package/docs/platforms/oracle.md +303 -0
  290. package/docs/platforms/raspberry-pi.md +412 -0
  291. package/docs/platforms/windows.md +241 -0
  292. package/docs/plugins/agent-tools.md +10 -0
  293. package/docs/plugins/architecture.md +1366 -0
  294. package/docs/plugins/building-extensions.md +10 -0
  295. package/docs/plugins/building-plugins.md +239 -0
  296. package/docs/plugins/bundles.md +181 -0
  297. package/docs/plugins/community.md +145 -0
  298. package/docs/plugins/manifest.md +241 -0
  299. package/docs/plugins/sdk-channel-plugins.md +370 -0
  300. package/docs/plugins/sdk-entrypoints.md +161 -0
  301. package/docs/plugins/sdk-migration.md +172 -0
  302. package/docs/plugins/sdk-overview.md +196 -0
  303. package/docs/plugins/sdk-provider-plugins.md +370 -0
  304. package/docs/plugins/sdk-runtime.md +345 -0
  305. package/docs/plugins/sdk-setup.md +331 -0
  306. package/docs/plugins/sdk-testing.md +263 -0
  307. package/docs/plugins/voice-call.md +380 -0
  308. package/docs/plugins/zalouser.md +77 -0
  309. package/docs/prose.md +134 -0
  310. package/docs/providers/anthropic.md +259 -0
  311. package/docs/providers/bedrock.md +176 -0
  312. package/docs/providers/claude-max-api-proxy.md +154 -0
  313. package/docs/providers/cloudflare-ai-gateway.md +71 -0
  314. package/docs/providers/deepgram.md +93 -0
  315. package/docs/providers/github-copilot.md +72 -0
  316. package/docs/providers/glm.md +43 -0
  317. package/docs/providers/google.md +78 -0
  318. package/docs/providers/groq.md +96 -0
  319. package/docs/providers/huggingface.md +209 -0
  320. package/docs/providers/index.md +69 -0
  321. package/docs/providers/kilocode.md +74 -0
  322. package/docs/providers/litellm.md +154 -0
  323. package/docs/providers/minimax.md +224 -0
  324. package/docs/providers/mistral.md +54 -0
  325. package/docs/providers/models.md +45 -0
  326. package/docs/providers/modelstudio.md +66 -0
  327. package/docs/providers/moonshot.md +175 -0
  328. package/docs/providers/nvidia.md +55 -0
  329. package/docs/providers/ollama.md +352 -0
  330. package/docs/providers/openai.md +303 -0
  331. package/docs/providers/opencode-go.md +45 -0
  332. package/docs/providers/opencode.md +64 -0
  333. package/docs/providers/openrouter.md +37 -0
  334. package/docs/providers/perplexity-provider.md +62 -0
  335. package/docs/providers/qianfan.md +38 -0
  336. package/docs/providers/qwen.md +53 -0
  337. package/docs/providers/sglang.md +104 -0
  338. package/docs/providers/synthetic.md +99 -0
  339. package/docs/providers/together.md +66 -0
  340. package/docs/providers/venice.md +282 -0
  341. package/docs/providers/vercel-ai-gateway.md +60 -0
  342. package/docs/providers/vllm.md +92 -0
  343. package/docs/providers/volcengine.md +74 -0
  344. package/docs/providers/xai.md +60 -0
  345. package/docs/providers/xiaomi.md +86 -0
  346. package/docs/providers/zai.md +46 -0
  347. package/docs/reference/AGENTS.default.md +126 -0
  348. package/docs/reference/RELEASING.md +42 -0
  349. package/docs/reference/api-usage-costs.md +144 -0
  350. package/docs/reference/credits.md +30 -0
  351. package/docs/reference/device-models.md +47 -0
  352. package/docs/reference/memory-config.md +711 -0
  353. package/docs/reference/prompt-caching.md +185 -0
  354. package/docs/reference/rpc.md +43 -0
  355. package/docs/reference/secretref-credential-surface.md +140 -0
  356. package/docs/reference/secretref-user-supplied-credentials-matrix.json +563 -0
  357. package/docs/reference/session-management-compaction.md +324 -0
  358. package/docs/reference/templates/AGENTS.dev.md +83 -0
  359. package/docs/reference/templates/AGENTS.md +219 -0
  360. package/docs/reference/templates/BOOT.md +11 -0
  361. package/docs/reference/templates/BOOTSTRAP.md +62 -0
  362. package/docs/reference/templates/HEARTBEAT.md +14 -0
  363. package/docs/reference/templates/IDENTITY.dev.md +47 -0
  364. package/docs/reference/templates/IDENTITY.md +29 -0
  365. package/docs/reference/templates/SOUL.dev.md +76 -0
  366. package/docs/reference/templates/SOUL.md +43 -0
  367. package/docs/reference/templates/TOOLS.dev.md +24 -0
  368. package/docs/reference/templates/TOOLS.md +47 -0
  369. package/docs/reference/templates/USER.dev.md +18 -0
  370. package/docs/reference/templates/USER.md +23 -0
  371. package/docs/reference/test.md +90 -0
  372. package/docs/reference/token-use.md +175 -0
  373. package/docs/reference/transcript-hygiene.md +151 -0
  374. package/docs/reference/wizard.md +235 -0
  375. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +98 -0
  376. package/docs/security/THREAT-MODEL-ATLAS.md +611 -0
  377. package/docs/security/formal-verification.md +167 -0
  378. package/docs/start/bootstrapping.md +41 -0
  379. package/docs/start/docs-directory.md +66 -0
  380. package/docs/start/getting-started.md +116 -0
  381. package/docs/start/hubs.md +198 -0
  382. package/docs/start/lore.md +219 -0
  383. package/docs/start/onboarding-overview.md +67 -0
  384. package/docs/start/onboarding.md +91 -0
  385. package/docs/start/openclaw.md +221 -0
  386. package/docs/start/quickstart.md +22 -0
  387. package/docs/start/setup.md +164 -0
  388. package/docs/start/showcase.md +418 -0
  389. package/docs/start/wizard-cli-automation.md +215 -0
  390. package/docs/start/wizard-cli-reference.md +299 -0
  391. package/docs/start/wizard.md +125 -0
  392. package/docs/style.css +37 -0
  393. package/docs/tools/acp-agents.md +623 -0
  394. package/docs/tools/agent-send.md +100 -0
  395. package/docs/tools/apply-patch.md +51 -0
  396. package/docs/tools/brave-search.md +93 -0
  397. package/docs/tools/browser-linux-troubleshooting.md +138 -0
  398. package/docs/tools/browser-login.md +73 -0
  399. package/docs/tools/browser-wsl2-windows-remote-cdp-troubleshooting.md +211 -0
  400. package/docs/tools/browser.md +731 -0
  401. package/docs/tools/btw.md +142 -0
  402. package/docs/tools/capability-cookbook.md +119 -0
  403. package/docs/tools/clawhub.md +298 -0
  404. package/docs/tools/creating-skills.md +117 -0
  405. package/docs/tools/diffs.md +386 -0
  406. package/docs/tools/elevated.md +114 -0
  407. package/docs/tools/exec-approvals.md +430 -0
  408. package/docs/tools/exec.md +207 -0
  409. package/docs/tools/firecrawl.md +140 -0
  410. package/docs/tools/index.md +137 -0
  411. package/docs/tools/llm-task.md +119 -0
  412. package/docs/tools/lobster.md +340 -0
  413. package/docs/tools/loop-detection.md +100 -0
  414. package/docs/tools/multi-agent-sandbox-tools.md +364 -0
  415. package/docs/tools/pdf.md +156 -0
  416. package/docs/tools/perplexity-search.md +174 -0
  417. package/docs/tools/plugin.md +255 -0
  418. package/docs/tools/reactions.md +64 -0
  419. package/docs/tools/skills-config.md +86 -0
  420. package/docs/tools/skills.md +309 -0
  421. package/docs/tools/slash-commands.md +294 -0
  422. package/docs/tools/subagents.md +295 -0
  423. package/docs/tools/tavily.md +125 -0
  424. package/docs/tools/thinking.md +96 -0
  425. package/docs/tools/tts.md +406 -0
  426. package/docs/tools/web.md +516 -0
  427. package/docs/tts.md +406 -0
  428. package/docs/vps.md +112 -0
  429. package/docs/web/control-ui.md +275 -0
  430. package/docs/web/dashboard.md +54 -0
  431. package/docs/web/index.md +120 -0
  432. package/docs/web/tui.md +170 -0
  433. package/docs/web/webchat.md +61 -0
  434. package/docs/whatsapp-openclaw-ai-zh.jpg +0 -0
  435. package/docs/whatsapp-openclaw.jpg +0 -0
  436. package/docs/zh-CN/AGENTS.md +61 -0
  437. package/docs/zh-CN/automation/auth-monitoring.md +47 -0
  438. package/docs/zh-CN/automation/cron-jobs.md +435 -0
  439. package/docs/zh-CN/automation/cron-vs-heartbeat.md +286 -0
  440. package/docs/zh-CN/automation/gmail-pubsub.md +249 -0
  441. package/docs/zh-CN/automation/hooks.md +1051 -0
  442. package/docs/zh-CN/automation/poll.md +76 -0
  443. package/docs/zh-CN/automation/troubleshooting.md +8 -0
  444. package/docs/zh-CN/automation/webhook.md +163 -0
  445. package/docs/zh-CN/brave-search.md +60 -0
  446. package/docs/zh-CN/channels/bluebubbles.md +354 -0
  447. package/docs/zh-CN/channels/broadcast-groups.md +449 -0
  448. package/docs/zh-CN/channels/channel-routing.md +117 -0
  449. package/docs/zh-CN/channels/discord.md +468 -0
  450. package/docs/zh-CN/channels/feishu.md +728 -0
  451. package/docs/zh-CN/channels/googlechat.md +257 -0
  452. package/docs/zh-CN/channels/grammy.md +38 -0
  453. package/docs/zh-CN/channels/group-messages.md +91 -0
  454. package/docs/zh-CN/channels/groups.md +379 -0
  455. package/docs/zh-CN/channels/imessage.md +302 -0
  456. package/docs/zh-CN/channels/index.md +53 -0
  457. package/docs/zh-CN/channels/line.md +180 -0
  458. package/docs/zh-CN/channels/location.md +63 -0
  459. package/docs/zh-CN/channels/matrix.md +221 -0
  460. package/docs/zh-CN/channels/mattermost.md +144 -0
  461. package/docs/zh-CN/channels/msteams.md +775 -0
  462. package/docs/zh-CN/channels/nextcloud-talk.md +142 -0
  463. package/docs/zh-CN/channels/nostr.md +249 -0
  464. package/docs/zh-CN/channels/pairing.md +89 -0
  465. package/docs/zh-CN/channels/signal.md +209 -0
  466. package/docs/zh-CN/channels/slack.md +531 -0
  467. package/docs/zh-CN/channels/synology-chat.md +138 -0
  468. package/docs/zh-CN/channels/telegram.md +751 -0
  469. package/docs/zh-CN/channels/tlon.md +136 -0
  470. package/docs/zh-CN/channels/troubleshooting.md +36 -0
  471. package/docs/zh-CN/channels/twitch.md +385 -0
  472. package/docs/zh-CN/channels/whatsapp.md +411 -0
  473. package/docs/zh-CN/channels/zalo.md +196 -0
  474. package/docs/zh-CN/channels/zalouser.md +147 -0
  475. package/docs/zh-CN/cli/acp.md +173 -0
  476. package/docs/zh-CN/cli/agent.md +30 -0
  477. package/docs/zh-CN/cli/agents.md +82 -0
  478. package/docs/zh-CN/cli/approvals.md +57 -0
  479. package/docs/zh-CN/cli/browser.md +114 -0
  480. package/docs/zh-CN/cli/channels.md +86 -0
  481. package/docs/zh-CN/cli/config.md +57 -0
  482. package/docs/zh-CN/cli/configure.md +38 -0
  483. package/docs/zh-CN/cli/cron.md +43 -0
  484. package/docs/zh-CN/cli/dashboard.md +23 -0
  485. package/docs/zh-CN/cli/devices.md +74 -0
  486. package/docs/zh-CN/cli/directory.md +70 -0
  487. package/docs/zh-CN/cli/dns.md +30 -0
  488. package/docs/zh-CN/cli/docs.md +22 -0
  489. package/docs/zh-CN/cli/doctor.md +48 -0
  490. package/docs/zh-CN/cli/gateway.md +206 -0
  491. package/docs/zh-CN/cli/health.md +28 -0
  492. package/docs/zh-CN/cli/hooks.md +298 -0
  493. package/docs/zh-CN/cli/index.md +1143 -0
  494. package/docs/zh-CN/cli/logs.md +31 -0
  495. package/docs/zh-CN/cli/memory.md +52 -0
  496. package/docs/zh-CN/cli/message.md +246 -0
  497. package/docs/zh-CN/cli/models.md +85 -0
  498. package/docs/zh-CN/cli/node.md +115 -0
  499. package/docs/zh-CN/cli/nodes.md +80 -0
  500. package/docs/zh-CN/cli/onboard.md +164 -0
  501. package/docs/zh-CN/cli/pairing.md +28 -0
  502. package/docs/zh-CN/cli/plugins.md +66 -0
  503. package/docs/zh-CN/cli/reset.md +24 -0
  504. package/docs/zh-CN/cli/sandbox.md +158 -0
  505. package/docs/zh-CN/cli/security.md +33 -0
  506. package/docs/zh-CN/cli/sessions.md +23 -0
  507. package/docs/zh-CN/cli/setup.md +36 -0
  508. package/docs/zh-CN/cli/skills.md +33 -0
  509. package/docs/zh-CN/cli/status.md +33 -0
  510. package/docs/zh-CN/cli/system.md +63 -0
  511. package/docs/zh-CN/cli/tui.md +30 -0
  512. package/docs/zh-CN/cli/uninstall.md +24 -0
  513. package/docs/zh-CN/cli/update.md +101 -0
  514. package/docs/zh-CN/cli/voicecall.md +41 -0
  515. package/docs/zh-CN/cli/webhooks.md +32 -0
  516. package/docs/zh-CN/concepts/agent-loop.md +146 -0
  517. package/docs/zh-CN/concepts/agent-workspace.md +219 -0
  518. package/docs/zh-CN/concepts/agent.md +115 -0
  519. package/docs/zh-CN/concepts/architecture.md +123 -0
  520. package/docs/zh-CN/concepts/compaction.md +67 -0
  521. package/docs/zh-CN/concepts/context.md +168 -0
  522. package/docs/zh-CN/concepts/features.md +59 -0
  523. package/docs/zh-CN/concepts/markdown-formatting.md +117 -0
  524. package/docs/zh-CN/concepts/memory.md +412 -0
  525. package/docs/zh-CN/concepts/messages.md +141 -0
  526. package/docs/zh-CN/concepts/model-failover.md +145 -0
  527. package/docs/zh-CN/concepts/model-providers.md +606 -0
  528. package/docs/zh-CN/concepts/models.md +225 -0
  529. package/docs/zh-CN/concepts/multi-agent.md +372 -0
  530. package/docs/zh-CN/concepts/oauth.md +164 -0
  531. package/docs/zh-CN/concepts/presence.md +99 -0
  532. package/docs/zh-CN/concepts/queue.md +94 -0
  533. package/docs/zh-CN/concepts/retry.md +76 -0
  534. package/docs/zh-CN/concepts/session-pruning.md +129 -0
  535. package/docs/zh-CN/concepts/session-tool.md +200 -0
  536. package/docs/zh-CN/concepts/session.md +166 -0
  537. package/docs/zh-CN/concepts/streaming.md +133 -0
  538. package/docs/zh-CN/concepts/system-prompt.md +101 -0
  539. package/docs/zh-CN/concepts/timezone.md +96 -0
  540. package/docs/zh-CN/concepts/typebox.md +284 -0
  541. package/docs/zh-CN/concepts/typing-indicators.md +74 -0
  542. package/docs/zh-CN/concepts/usage-tracking.md +42 -0
  543. package/docs/zh-CN/date-time.md +129 -0
  544. package/docs/zh-CN/debug/node-issue.md +90 -0
  545. package/docs/zh-CN/diagnostics/flags.md +98 -0
  546. package/docs/zh-CN/gateway/authentication.md +184 -0
  547. package/docs/zh-CN/gateway/background-process.md +100 -0
  548. package/docs/zh-CN/gateway/bonjour.md +174 -0
  549. package/docs/zh-CN/gateway/bridge-protocol.md +86 -0
  550. package/docs/zh-CN/gateway/cli-backends.md +213 -0
  551. package/docs/zh-CN/gateway/configuration-examples.md +587 -0
  552. package/docs/zh-CN/gateway/configuration-reference.md +3103 -0
  553. package/docs/zh-CN/gateway/configuration.md +640 -0
  554. package/docs/zh-CN/gateway/discovery.md +123 -0
  555. package/docs/zh-CN/gateway/doctor.md +238 -0
  556. package/docs/zh-CN/gateway/gateway-lock.md +41 -0
  557. package/docs/zh-CN/gateway/health.md +42 -0
  558. package/docs/zh-CN/gateway/heartbeat.md +274 -0
  559. package/docs/zh-CN/gateway/index.md +335 -0
  560. package/docs/zh-CN/gateway/local-models.md +159 -0
  561. package/docs/zh-CN/gateway/logging.md +114 -0
  562. package/docs/zh-CN/gateway/multiple-gateways.md +119 -0
  563. package/docs/zh-CN/gateway/network-model.md +23 -0
  564. package/docs/zh-CN/gateway/openai-http-api.md +125 -0
  565. package/docs/zh-CN/gateway/openresponses-http-api.md +317 -0
  566. package/docs/zh-CN/gateway/pairing.md +99 -0
  567. package/docs/zh-CN/gateway/protocol.md +220 -0
  568. package/docs/zh-CN/gateway/remote-gateway-readme.md +164 -0
  569. package/docs/zh-CN/gateway/remote.md +133 -0
  570. package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +135 -0
  571. package/docs/zh-CN/gateway/sandboxing.md +188 -0
  572. package/docs/zh-CN/gateway/security/index.md +777 -0
  573. package/docs/zh-CN/gateway/tailscale.md +124 -0
  574. package/docs/zh-CN/gateway/tools-invoke-http-api.md +92 -0
  575. package/docs/zh-CN/gateway/troubleshooting.md +771 -0
  576. package/docs/zh-CN/help/debugging.md +160 -0
  577. package/docs/zh-CN/help/environment.md +88 -0
  578. package/docs/zh-CN/help/faq.md +2640 -0
  579. package/docs/zh-CN/help/index.md +28 -0
  580. package/docs/zh-CN/help/scripts.md +35 -0
  581. package/docs/zh-CN/help/testing.md +375 -0
  582. package/docs/zh-CN/help/troubleshooting.md +104 -0
  583. package/docs/zh-CN/index.md +186 -0
  584. package/docs/zh-CN/install/ansible.md +215 -0
  585. package/docs/zh-CN/install/bun.md +65 -0
  586. package/docs/zh-CN/install/development-channels.md +81 -0
  587. package/docs/zh-CN/install/docker.md +532 -0
  588. package/docs/zh-CN/install/exe-dev.md +133 -0
  589. package/docs/zh-CN/install/fly.md +490 -0
  590. package/docs/zh-CN/install/gcp.md +510 -0
  591. package/docs/zh-CN/install/hetzner.md +337 -0
  592. package/docs/zh-CN/install/index.md +235 -0
  593. package/docs/zh-CN/install/installer.md +422 -0
  594. package/docs/zh-CN/install/macos-vm.md +288 -0
  595. package/docs/zh-CN/install/migrating.md +199 -0
  596. package/docs/zh-CN/install/nix.md +99 -0
  597. package/docs/zh-CN/install/node.md +8 -0
  598. package/docs/zh-CN/install/northflank.mdx +60 -0
  599. package/docs/zh-CN/install/railway.mdx +106 -0
  600. package/docs/zh-CN/install/render.mdx +169 -0
  601. package/docs/zh-CN/install/uninstall.md +135 -0
  602. package/docs/zh-CN/install/updating.md +233 -0
  603. package/docs/zh-CN/logging.md +329 -0
  604. package/docs/zh-CN/network.md +59 -0
  605. package/docs/zh-CN/nodes/audio.md +120 -0
  606. package/docs/zh-CN/nodes/camera.md +162 -0
  607. package/docs/zh-CN/nodes/images.md +79 -0
  608. package/docs/zh-CN/nodes/index.md +348 -0
  609. package/docs/zh-CN/nodes/location-command.md +120 -0
  610. package/docs/zh-CN/nodes/media-understanding.md +380 -0
  611. package/docs/zh-CN/nodes/talk.md +97 -0
  612. package/docs/zh-CN/nodes/troubleshooting.md +8 -0
  613. package/docs/zh-CN/nodes/voicewake.md +72 -0
  614. package/docs/zh-CN/perplexity.md +102 -0
  615. package/docs/zh-CN/pi-dev.md +77 -0
  616. package/docs/zh-CN/pi.md +619 -0
  617. package/docs/zh-CN/platforms/android.md +155 -0
  618. package/docs/zh-CN/platforms/digitalocean.md +273 -0
  619. package/docs/zh-CN/platforms/index.md +60 -0
  620. package/docs/zh-CN/platforms/ios.md +114 -0
  621. package/docs/zh-CN/platforms/linux.md +100 -0
  622. package/docs/zh-CN/platforms/mac/bundled-gateway.md +75 -0
  623. package/docs/zh-CN/platforms/mac/canvas.md +128 -0
  624. package/docs/zh-CN/platforms/mac/child-process.md +73 -0
  625. package/docs/zh-CN/platforms/mac/dev-setup.md +109 -0
  626. package/docs/zh-CN/platforms/mac/health.md +41 -0
  627. package/docs/zh-CN/platforms/mac/icon.md +38 -0
  628. package/docs/zh-CN/platforms/mac/logging.md +64 -0
  629. package/docs/zh-CN/platforms/mac/menu-bar.md +88 -0
  630. package/docs/zh-CN/platforms/mac/peekaboo.md +62 -0
  631. package/docs/zh-CN/platforms/mac/permissions.md +46 -0
  632. package/docs/zh-CN/platforms/mac/remote.md +90 -0
  633. package/docs/zh-CN/platforms/mac/signing.md +54 -0
  634. package/docs/zh-CN/platforms/mac/skills.md +40 -0
  635. package/docs/zh-CN/platforms/mac/voice-overlay.md +67 -0
  636. package/docs/zh-CN/platforms/mac/voicewake.md +74 -0
  637. package/docs/zh-CN/platforms/mac/webchat.md +43 -0
  638. package/docs/zh-CN/platforms/mac/xpc.md +68 -0
  639. package/docs/zh-CN/platforms/macos.md +193 -0
  640. package/docs/zh-CN/platforms/oracle.md +310 -0
  641. package/docs/zh-CN/platforms/raspberry-pi.md +416 -0
  642. package/docs/zh-CN/platforms/windows.md +247 -0
  643. package/docs/zh-CN/plugins/agent-tools.md +99 -0
  644. package/docs/zh-CN/plugins/manifest.md +68 -0
  645. package/docs/zh-CN/plugins/voice-call.md +250 -0
  646. package/docs/zh-CN/plugins/zalouser.md +88 -0
  647. package/docs/zh-CN/prose.md +141 -0
  648. package/docs/zh-CN/providers/anthropic.md +265 -0
  649. package/docs/zh-CN/providers/bedrock.md +170 -0
  650. package/docs/zh-CN/providers/claude-max-api-proxy.md +155 -0
  651. package/docs/zh-CN/providers/cloudflare-ai-gateway.md +78 -0
  652. package/docs/zh-CN/providers/deepgram.md +97 -0
  653. package/docs/zh-CN/providers/github-copilot.md +67 -0
  654. package/docs/zh-CN/providers/glm.md +50 -0
  655. package/docs/zh-CN/providers/huggingface.md +216 -0
  656. package/docs/zh-CN/providers/index.md +69 -0
  657. package/docs/zh-CN/providers/kilocode.md +80 -0
  658. package/docs/zh-CN/providers/litellm.md +160 -0
  659. package/docs/zh-CN/providers/minimax.md +222 -0
  660. package/docs/zh-CN/providers/mistral.md +61 -0
  661. package/docs/zh-CN/providers/models.md +51 -0
  662. package/docs/zh-CN/providers/moonshot.md +182 -0
  663. package/docs/zh-CN/providers/nvidia.md +62 -0
  664. package/docs/zh-CN/providers/ollama.md +359 -0
  665. package/docs/zh-CN/providers/openai.md +308 -0
  666. package/docs/zh-CN/providers/opencode-go.md +52 -0
  667. package/docs/zh-CN/providers/opencode.md +71 -0
  668. package/docs/zh-CN/providers/openrouter.md +44 -0
  669. package/docs/zh-CN/providers/qianfan.md +45 -0
  670. package/docs/zh-CN/providers/qwen.md +55 -0
  671. package/docs/zh-CN/providers/sglang.md +111 -0
  672. package/docs/zh-CN/providers/synthetic.md +106 -0
  673. package/docs/zh-CN/providers/together.md +72 -0
  674. package/docs/zh-CN/providers/venice.md +289 -0
  675. package/docs/zh-CN/providers/vercel-ai-gateway.md +66 -0
  676. package/docs/zh-CN/providers/xiaomi.md +93 -0
  677. package/docs/zh-CN/providers/zai.md +53 -0
  678. package/docs/zh-CN/reference/AGENTS.default.md +131 -0
  679. package/docs/zh-CN/reference/RELEASING.md +48 -0
  680. package/docs/zh-CN/reference/api-usage-costs.md +141 -0
  681. package/docs/zh-CN/reference/credits.md +34 -0
  682. package/docs/zh-CN/reference/device-models.md +54 -0
  683. package/docs/zh-CN/reference/rpc.md +48 -0
  684. package/docs/zh-CN/reference/session-management-compaction.md +287 -0
  685. package/docs/zh-CN/reference/templates/AGENTS.dev.md +89 -0
  686. package/docs/zh-CN/reference/templates/AGENTS.md +225 -0
  687. package/docs/zh-CN/reference/templates/BOOT.md +17 -0
  688. package/docs/zh-CN/reference/templates/BOOTSTRAP.md +68 -0
  689. package/docs/zh-CN/reference/templates/HEARTBEAT.md +18 -0
  690. package/docs/zh-CN/reference/templates/IDENTITY.dev.md +54 -0
  691. package/docs/zh-CN/reference/templates/IDENTITY.md +36 -0
  692. package/docs/zh-CN/reference/templates/SOUL.dev.md +83 -0
  693. package/docs/zh-CN/reference/templates/SOUL.md +49 -0
  694. package/docs/zh-CN/reference/templates/TOOLS.dev.md +31 -0
  695. package/docs/zh-CN/reference/templates/TOOLS.md +53 -0
  696. package/docs/zh-CN/reference/templates/USER.dev.md +25 -0
  697. package/docs/zh-CN/reference/templates/USER.md +30 -0
  698. package/docs/zh-CN/reference/test.md +57 -0
  699. package/docs/zh-CN/reference/token-use.md +119 -0
  700. package/docs/zh-CN/reference/transcript-hygiene.md +109 -0
  701. package/docs/zh-CN/reference/wizard.md +242 -0
  702. package/docs/zh-CN/security/formal-verification.md +171 -0
  703. package/docs/zh-CN/start/bootstrapping.md +9 -0
  704. package/docs/zh-CN/start/docs-directory.md +70 -0
  705. package/docs/zh-CN/start/getting-started.md +143 -0
  706. package/docs/zh-CN/start/hubs.md +194 -0
  707. package/docs/zh-CN/start/lore.md +226 -0
  708. package/docs/zh-CN/start/onboarding-overview.md +58 -0
  709. package/docs/zh-CN/start/onboarding.md +105 -0
  710. package/docs/zh-CN/start/openclaw.md +248 -0
  711. package/docs/zh-CN/start/quickstart.md +88 -0
  712. package/docs/zh-CN/start/setup.md +153 -0
  713. package/docs/zh-CN/start/showcase.md +423 -0
  714. package/docs/zh-CN/start/wizard-cli-automation.md +222 -0
  715. package/docs/zh-CN/start/wizard-cli-reference.md +306 -0
  716. package/docs/zh-CN/start/wizard.md +132 -0
  717. package/docs/zh-CN/tools/agent-send.md +59 -0
  718. package/docs/zh-CN/tools/apply-patch.md +57 -0
  719. package/docs/zh-CN/tools/browser-linux-troubleshooting.md +144 -0
  720. package/docs/zh-CN/tools/browser-login.md +75 -0
  721. package/docs/zh-CN/tools/browser.md +553 -0
  722. package/docs/zh-CN/tools/chrome-extension.md +183 -0
  723. package/docs/zh-CN/tools/clawhub.md +209 -0
  724. package/docs/zh-CN/tools/creating-skills.md +61 -0
  725. package/docs/zh-CN/tools/elevated.md +64 -0
  726. package/docs/zh-CN/tools/exec-approvals.md +234 -0
  727. package/docs/zh-CN/tools/exec.md +169 -0
  728. package/docs/zh-CN/tools/firecrawl.md +68 -0
  729. package/docs/zh-CN/tools/index.md +515 -0
  730. package/docs/zh-CN/tools/llm-task.md +117 -0
  731. package/docs/zh-CN/tools/lobster.md +349 -0
  732. package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +401 -0
  733. package/docs/zh-CN/tools/plugin.md +1612 -0
  734. package/docs/zh-CN/tools/reactions.md +29 -0
  735. package/docs/zh-CN/tools/skills-config.md +78 -0
  736. package/docs/zh-CN/tools/skills.md +279 -0
  737. package/docs/zh-CN/tools/slash-commands.md +205 -0
  738. package/docs/zh-CN/tools/subagents.md +167 -0
  739. package/docs/zh-CN/tools/thinking.md +80 -0
  740. package/docs/zh-CN/tools/web.md +289 -0
  741. package/docs/zh-CN/tts.md +375 -0
  742. package/docs/zh-CN/vps.md +47 -0
  743. package/docs/zh-CN/web/control-ui.md +191 -0
  744. package/docs/zh-CN/web/dashboard.md +53 -0
  745. package/docs/zh-CN/web/index.md +118 -0
  746. package/docs/zh-CN/web/tui.md +166 -0
  747. package/docs/zh-CN/web/webchat.md +56 -0
  748. package/package.json +841 -0
  749. package/quantumclaw.mjs +135 -0
  750. package/skills/1password/SKILL.md +70 -0
  751. package/skills/1password/references/cli-examples.md +29 -0
  752. package/skills/1password/references/get-started.md +17 -0
  753. package/skills/apple-notes/SKILL.md +77 -0
  754. package/skills/apple-reminders/SKILL.md +118 -0
  755. package/skills/bear-notes/SKILL.md +107 -0
  756. package/skills/blogwatcher/SKILL.md +69 -0
  757. package/skills/blucli/SKILL.md +47 -0
  758. package/skills/bluebubbles/SKILL.md +131 -0
  759. package/skills/camsnap/SKILL.md +45 -0
  760. package/skills/canvas/SKILL.md +198 -0
  761. package/skills/clawhub/SKILL.md +77 -0
  762. package/skills/coding-agent/SKILL.md +295 -0
  763. package/skills/discord/SKILL.md +197 -0
  764. package/skills/eightctl/SKILL.md +50 -0
  765. package/skills/gemini/SKILL.md +43 -0
  766. package/skills/gh-issues/SKILL.md +865 -0
  767. package/skills/gifgrep/SKILL.md +79 -0
  768. package/skills/github/SKILL.md +163 -0
  769. package/skills/gog/SKILL.md +116 -0
  770. package/skills/goplaces/SKILL.md +52 -0
  771. package/skills/healthcheck/SKILL.md +245 -0
  772. package/skills/himalaya/SKILL.md +257 -0
  773. package/skills/himalaya/references/configuration.md +184 -0
  774. package/skills/himalaya/references/message-composition.md +199 -0
  775. package/skills/imsg/SKILL.md +122 -0
  776. package/skills/mcporter/SKILL.md +61 -0
  777. package/skills/model-usage/SKILL.md +69 -0
  778. package/skills/model-usage/references/codexbar-cli.md +33 -0
  779. package/skills/model-usage/scripts/model_usage.py +320 -0
  780. package/skills/model-usage/scripts/test_model_usage.py +40 -0
  781. package/skills/nano-pdf/SKILL.md +38 -0
  782. package/skills/node-connect/SKILL.md +142 -0
  783. package/skills/notion/SKILL.md +174 -0
  784. package/skills/obsidian/SKILL.md +81 -0
  785. package/skills/openai-image-gen/SKILL.md +92 -0
  786. package/skills/openai-image-gen/scripts/gen.py +328 -0
  787. package/skills/openai-image-gen/scripts/test_gen.py +140 -0
  788. package/skills/openai-whisper/SKILL.md +38 -0
  789. package/skills/openai-whisper-api/SKILL.md +52 -0
  790. package/skills/openai-whisper-api/scripts/transcribe.sh +85 -0
  791. package/skills/openhue/SKILL.md +112 -0
  792. package/skills/oracle/SKILL.md +125 -0
  793. package/skills/ordercli/SKILL.md +78 -0
  794. package/skills/peekaboo/SKILL.md +190 -0
  795. package/skills/sag/SKILL.md +87 -0
  796. package/skills/session-logs/SKILL.md +115 -0
  797. package/skills/sherpa-onnx-tts/SKILL.md +103 -0
  798. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
  799. package/skills/skill-creator/SKILL.md +372 -0
  800. package/skills/skill-creator/license.txt +202 -0
  801. package/skills/skill-creator/scripts/init_skill.py +378 -0
  802. package/skills/skill-creator/scripts/package_skill.py +139 -0
  803. package/skills/skill-creator/scripts/quick_validate.py +159 -0
  804. package/skills/skill-creator/scripts/test_package_skill.py +160 -0
  805. package/skills/skill-creator/scripts/test_quick_validate.py +72 -0
  806. package/skills/slack/SKILL.md +144 -0
  807. package/skills/songsee/SKILL.md +49 -0
  808. package/skills/sonoscli/SKILL.md +65 -0
  809. package/skills/spotify-player/SKILL.md +64 -0
  810. package/skills/summarize/SKILL.md +87 -0
  811. package/skills/things-mac/SKILL.md +86 -0
  812. package/skills/tmux/SKILL.md +153 -0
  813. package/skills/tmux/scripts/find-sessions.sh +112 -0
  814. package/skills/tmux/scripts/wait-for-text.sh +83 -0
  815. package/skills/trello/SKILL.md +95 -0
  816. package/skills/video-frames/SKILL.md +46 -0
  817. package/skills/video-frames/scripts/frame.sh +81 -0
  818. package/skills/voice-call/SKILL.md +45 -0
  819. package/skills/wacli/SKILL.md +72 -0
  820. package/skills/weather/SKILL.md +112 -0
  821. package/skills/xurl/SKILL.md +461 -0
@@ -0,0 +1,79 @@
1
+ ---
2
+ read_when:
3
+ - 修改媒体管道或附件
4
+ summary: 发送、Gateway 网关和智能体回复的图像和媒体处理规则
5
+ title: 图像和媒体支持
6
+ x-i18n:
7
+ generated_at: "2026-02-03T07:50:42Z"
8
+ model: claude-opus-4-5
9
+ provider: pi
10
+ source_hash: 971aed398ea01078efbad7a8a4bca17f2a975222a2c4db557565e4334c9450e0
11
+ source_path: nodes/images.md
12
+ workflow: 15
13
+ ---
14
+
15
+ # 图像与媒体支持 — 2025-12-05
16
+
17
+ WhatsApp 渠道通过 **Baileys Web** 运行。本文档记录了发送、Gateway 网关和智能体回复的当前媒体处理规则。
18
+
19
+ ## 目标
20
+
21
+ - 通过 `quantumclaw message send --media` 发送带可选标题的媒体。
22
+ - 允许来自网页收件箱的自动回复在文本旁边包含媒体。
23
+ - 保持每种类型的限制合理且可预测。
24
+
25
+ ## CLI 接口
26
+
27
+ - `quantumclaw message send --media <path-or-url> [--message <caption>]`
28
+ - `--media` 可选;标题可以为空以进行纯媒体发送。
29
+ - `--dry-run` 打印解析后的负载;`--json` 输出 `{ channel, to, messageId, mediaUrl, caption }`。
30
+
31
+ ## WhatsApp Web 渠道行为
32
+
33
+ - 输入:本地文件路径**或** HTTP(S) URL。
34
+ - 流程:加载到 Buffer,检测媒体类型,并构建正确的负载:
35
+ - **图像:** 调整大小并重新压缩为 JPEG(最大边 2048px),目标为 `agents.defaults.mediaMaxMb`(默认 5 MB),上限 6 MB。
36
+ - **音频/语音/视频:** 直通最大 16 MB;音频作为语音消息发送(`ptt: true`)。
37
+ - **文档:** 其他任何内容,最大 100 MB,可用时保留文件名。
38
+ - WhatsApp GIF 风格播放:发送带 `gifPlayback: true` 的 MP4(CLI:`--gif-playback`),使移动客户端内联循环播放。
39
+ - MIME 检测优先使用魔数字节,然后是头信息,最后是文件扩展名。
40
+ - 标题来自 `--message` 或 `reply.text`;允许空标题。
41
+ - 日志:非详细模式显示 `↩️`/`✅`;详细模式包含大小和源路径/URL。
42
+
43
+ ## 自动回复管道
44
+
45
+ - `getReplyFromConfig` 返回 `{ text?, mediaUrl?, mediaUrls? }`。
46
+ - 当存在媒体时,网页发送器使用与 `quantumclaw message send` 相同的管道解析本地路径或 URL。
47
+ - 如果提供多个媒体条目,则按顺序发送。
48
+
49
+ ## 入站媒体到命令(Pi)
50
+
51
+ - 当入站网页消息包含媒体时,QuantumClaw 下载到临时文件并暴露模板变量:
52
+ - `{{MediaUrl}}` 入站媒体的伪 URL。
53
+ - `{{MediaPath}}` 运行命令前写入的本地临时路径。
54
+ - 当启用每会话 Docker 沙箱时,入站媒体被复制到沙箱工作区,`MediaPath`/`MediaUrl` 被重写为相对路径如 `media/inbound/<filename>`。
55
+ - 媒体理解(如果通过 `tools.media.*` 或共享的 `tools.media.models` 配置)在模板化之前运行,可以将 `[Image]`、`[Audio]` 和 `[Video]` 块插入 `Body`。
56
+ - 音频设置 `{{Transcript}}` 并使用转录进行命令解析,因此斜杠命令仍然有效。
57
+ - 视频和图像描述保留任何标题文本用于命令解析。
58
+ - 默认情况下只处理第一个匹配的图像/音频/视频附件;设置 `tools.media.<cap>.attachments` 以处理多个附件。
59
+
60
+ ## 限制与错误
61
+
62
+ **出站发送上限(WhatsApp 网页发送)**
63
+
64
+ - 图像:重新压缩后约 6 MB 上限。
65
+ - 音频/语音/视频:16 MB 上限;文档:100 MB 上限。
66
+ - 超大或无法读取的媒体 → 日志中有明确错误,回复被跳过。
67
+
68
+ **媒体理解上限(转录/描述)**
69
+
70
+ - 图像默认:10 MB(`tools.media.image.maxBytes`)。
71
+ - 音频默认:20 MB(`tools.media.audio.maxBytes`)。
72
+ - 视频默认:50 MB(`tools.media.video.maxBytes`)。
73
+ - 超大媒体跳过理解,但回复仍然使用原始正文通过。
74
+
75
+ ## 测试说明
76
+
77
+ - 覆盖图像/音频/文档情况的发送 + 回复流程。
78
+ - 验证图像的重新压缩(大小限制)和音频的语音消息标志。
79
+ - 确保多媒体回复作为顺序发送扇出。
@@ -0,0 +1,348 @@
1
+ ---
2
+ read_when:
3
+ - 将 iOS/Android 节点配对到 Gateway 网关时
4
+ - 使用节点 canvas/camera 为智能体提供上下文时
5
+ - 添加新的节点命令或 CLI 辅助工具时
6
+ summary: 节点:配对、能力、权限以及 canvas/camera/screen/system 的 CLI 辅助工具
7
+ title: 节点
8
+ x-i18n:
9
+ generated_at: "2026-02-03T07:51:55Z"
10
+ model: claude-opus-4-5
11
+ provider: pi
12
+ source_hash: 74e9420f61c653e4ceeb00f5a27e4266bd1c7715c1000edd969c3ee185e74de9
13
+ source_path: nodes/index.md
14
+ workflow: 15
15
+ ---
16
+
17
+ # 节点
18
+
19
+ **节点**是一个配套设备(macOS/iOS/Android/无头),它以 `role: "node"` 连接到 Gateway 网关 **WebSocket**(与操作员相同的端口),并通过 `node.invoke` 暴露命令接口(例如 `canvas.*`、`camera.*`、`system.*`)。协议详情:[Gateway 网关协议](/gateway/protocol)。
20
+
21
+ 旧版传输:[Bridge 协议](/gateway/bridge-protocol)(TCP JSONL;当前节点已弃用/移除)。
22
+
23
+ macOS 也可以在**节点模式**下运行:菜单栏应用连接到 Gateway 网关的 WS 服务器,并将其本地 canvas/camera 命令作为节点暴露(因此 `quantumclaw nodes …` 可以针对这台 Mac 工作)。
24
+
25
+ 注意事项:
26
+
27
+ - 节点是**外围设备**,不是 Gateway 网关。它们不运行 Gateway 网关服务。
28
+ - Telegram/WhatsApp 等消息落在 **Gateway 网关**上,而不是节点上。
29
+
30
+ ## 配对 + 状态
31
+
32
+ **WS 节点使用设备配对。** 节点在 `connect` 期间呈现设备身份;Gateway 网关
33
+ 为 `role: node` 创建设备配对请求。通过设备 CLI(或 UI)批准。
34
+
35
+ 快速 CLI:
36
+
37
+ ```bash
38
+ quantumclaw devices list
39
+ quantumclaw devices approve <requestId>
40
+ quantumclaw devices reject <requestId>
41
+ quantumclaw nodes status
42
+ quantumclaw nodes describe --node <idOrNameOrIp>
43
+ ```
44
+
45
+ 注意事项:
46
+
47
+ - 当节点的设备配对角色包含 `node` 时,`nodes status` 将节点标记为**已配对**。
48
+ - `node.pair.*`(CLI:`quantumclaw nodes pending/approve/reject`)是一个单独的 Gateway 网关拥有的
49
+ 节点配对存储;它**不会**限制 WS `connect` 握手。
50
+
51
+ ## 远程节点主机(system.run)
52
+
53
+ 当你的 Gateway 网关在一台机器上运行而你希望命令
54
+ 在另一台机器上执行时,使用**节点主机**。模型仍然与 **Gateway 网关**通信;当选择 `host=node` 时,Gateway 网关
55
+ 将 `exec` 调用转发到**节点主机**。
56
+
57
+ ### 什么在哪里运行
58
+
59
+ - **Gateway 网关主机**:接收消息,运行模型,路由工具调用。
60
+ - **节点主机**:在节点机器上执行 `system.run`/`system.which`。
61
+ - **批准**:通过 `~/.quantumclaw/exec-approvals.json` 在节点主机上执行。
62
+
63
+ ### 启动节点主机(前台)
64
+
65
+ 在节点机器上:
66
+
67
+ ```bash
68
+ quantumclaw node run --host <gateway-host> --port 18789 --display-name "Build Node"
69
+ ```
70
+
71
+ ### 通过 SSH 隧道访问远程 Gateway 网关(loopback 绑定)
72
+
73
+ 如果 Gateway 网关绑定到 loopback(`gateway.bind=loopback`,本地模式下的默认值),
74
+ 远程节点主机无法直接连接。创建 SSH 隧道并将
75
+ 节点主机指向隧道的本地端。
76
+
77
+ 示例(节点主机 -> Gateway 网关主机):
78
+
79
+ ```bash
80
+ # 终端 A(保持运行):转发本地 18790 -> Gateway 网关 127.0.0.1:18789
81
+ ssh -N -L 18790:127.0.0.1:18789 user@gateway-host
82
+
83
+ # 终端 B:导出 Gateway 网关令牌并通过隧道连接
84
+ export QUANTUMCLAW_GATEWAY_TOKEN="<gateway-token>"
85
+ quantumclaw node run --host 127.0.0.1 --port 18790 --display-name "Build Node"
86
+ ```
87
+
88
+ 注意事项:
89
+
90
+ - 令牌是 Gateway 网关配置中的 `gateway.auth.token`(Gateway 网关主机上的 `~/.quantumclaw/quantumclaw.json`)。
91
+ - `quantumclaw node run` 读取 `QUANTUMCLAW_GATEWAY_TOKEN` 进行认证。
92
+
93
+ ### 启动节点主机(服务)
94
+
95
+ ```bash
96
+ quantumclaw node install --host <gateway-host> --port 18789 --display-name "Build Node"
97
+ quantumclaw node restart
98
+ ```
99
+
100
+ ### 配对 + 命名
101
+
102
+ 在 Gateway 网关主机上:
103
+
104
+ ```bash
105
+ quantumclaw nodes pending
106
+ quantumclaw nodes approve <requestId>
107
+ quantumclaw nodes list
108
+ ```
109
+
110
+ 命名选项:
111
+
112
+ - 在 `quantumclaw node run` / `quantumclaw node install` 上使用 `--display-name`(持久化在节点上的 `~/.quantumclaw/node.json` 中)。
113
+ - `quantumclaw nodes rename --node <id|name|ip> --name "Build Node"`(Gateway 网关覆盖)。
114
+
115
+ ### 将命令加入允许列表
116
+
117
+ Exec 批准是**每个节点主机**的。从 Gateway 网关添加允许列表条目:
118
+
119
+ ```bash
120
+ quantumclaw approvals allowlist add --node <id|name|ip> "/usr/bin/uname"
121
+ quantumclaw approvals allowlist add --node <id|name|ip> "/usr/bin/sw_vers"
122
+ ```
123
+
124
+ 批准存储在节点主机的 `~/.quantumclaw/exec-approvals.json` 中。
125
+
126
+ ### 将 exec 指向节点
127
+
128
+ 配置默认值(Gateway 网关配置):
129
+
130
+ ```bash
131
+ quantumclaw config set tools.exec.host node
132
+ quantumclaw config set tools.exec.security allowlist
133
+ quantumclaw config set tools.exec.node "<id-or-name>"
134
+ ```
135
+
136
+ 或按会话:
137
+
138
+ ```
139
+ /exec host=node security=allowlist node=<id-or-name>
140
+ ```
141
+
142
+ 设置后,任何带有 `host=node` 的 `exec` 调用都会在节点主机上运行(受
143
+ 节点允许列表/批准约束)。
144
+
145
+ 相关:
146
+
147
+ - [节点主机 CLI](/cli/node)
148
+ - [Exec 工具](/tools/exec)
149
+ - [Exec 批准](/tools/exec-approvals)
150
+
151
+ ## 调用命令
152
+
153
+ 低级(原始 RPC):
154
+
155
+ ```bash
156
+ quantumclaw nodes invoke --node <idOrNameOrIp> --command canvas.eval --params '{"javaScript":"location.href"}'
157
+ ```
158
+
159
+ 对于常见的"给智能体一个 MEDIA 附件"工作流,存在更高级的辅助工具。
160
+
161
+ ## 截图(canvas 快照)
162
+
163
+ 如果节点正在显示 Canvas(WebView),`canvas.snapshot` 返回 `{ format, base64 }`。
164
+
165
+ CLI 辅助工具(写入临时文件并打印 `MEDIA:<path>`):
166
+
167
+ ```bash
168
+ quantumclaw nodes canvas snapshot --node <idOrNameOrIp> --format png
169
+ quantumclaw nodes canvas snapshot --node <idOrNameOrIp> --format jpg --max-width 1200 --quality 0.9
170
+ ```
171
+
172
+ ### Canvas 控制
173
+
174
+ ```bash
175
+ quantumclaw nodes canvas present --node <idOrNameOrIp> --target https://example.com
176
+ quantumclaw nodes canvas hide --node <idOrNameOrIp>
177
+ quantumclaw nodes canvas navigate https://example.com --node <idOrNameOrIp>
178
+ quantumclaw nodes canvas eval --node <idOrNameOrIp> --js "document.title"
179
+ ```
180
+
181
+ 注意事项:
182
+
183
+ - `canvas present` 接受 URL 或本地文件路径(`--target`),以及可选的 `--x/--y/--width/--height` 用于定位。
184
+ - `canvas eval` 接受内联 JS(`--js`)或位置参数。
185
+
186
+ ### A2UI(Canvas)
187
+
188
+ ```bash
189
+ quantumclaw nodes canvas a2ui push --node <idOrNameOrIp> --text "Hello"
190
+ quantumclaw nodes canvas a2ui push --node <idOrNameOrIp> --jsonl ./payload.jsonl
191
+ quantumclaw nodes canvas a2ui reset --node <idOrNameOrIp>
192
+ ```
193
+
194
+ 注意事项:
195
+
196
+ - 仅支持 A2UI v0.8 JSONL(v0.9/createSurface 被拒绝)。
197
+
198
+ ## 照片 + 视频(节点相机)
199
+
200
+ 照片(`jpg`):
201
+
202
+ ```bash
203
+ quantumclaw nodes camera list --node <idOrNameOrIp>
204
+ quantumclaw nodes camera snap --node <idOrNameOrIp> # 默认:两个朝向(2 个 MEDIA 行)
205
+ quantumclaw nodes camera snap --node <idOrNameOrIp> --facing front
206
+ ```
207
+
208
+ 视频片段(`mp4`):
209
+
210
+ ```bash
211
+ quantumclaw nodes camera clip --node <idOrNameOrIp> --duration 10s
212
+ quantumclaw nodes camera clip --node <idOrNameOrIp> --duration 3000 --no-audio
213
+ ```
214
+
215
+ 注意事项:
216
+
217
+ - 节点必须处于**前台**才能使用 `canvas.*` 和 `camera.*`(后台调用返回 `NODE_BACKGROUND_UNAVAILABLE`)。
218
+ - 片段时长被限制(当前 `<= 60s`)以避免过大的 base64 负载。
219
+ - Android 会在可能时提示 `CAMERA`/`RECORD_AUDIO` 权限;权限被拒绝会以 `*_PERMISSION_REQUIRED` 失败。
220
+
221
+ ## 屏幕录制(节点)
222
+
223
+ 节点暴露 `screen.record`(mp4)。示例:
224
+
225
+ ```bash
226
+ quantumclaw nodes screen record --node <idOrNameOrIp> --duration 10s --fps 10
227
+ quantumclaw nodes screen record --node <idOrNameOrIp> --duration 10s --fps 10 --no-audio
228
+ ```
229
+
230
+ 注意事项:
231
+
232
+ - `screen.record` 需要节点应用处于前台。
233
+ - Android 会在录制前显示系统屏幕捕获提示。
234
+ - 屏幕录制被限制为 `<= 60s`。
235
+ - `--no-audio` 禁用麦克风捕获(iOS/Android 支持;macOS 使用系统捕获音频)。
236
+ - 当有多个屏幕可用时,使用 `--screen <index>` 选择显示器。
237
+
238
+ ## 位置(节点)
239
+
240
+ 当在设置中启用位置时,节点暴露 `location.get`。
241
+
242
+ CLI 辅助工具:
243
+
244
+ ```bash
245
+ quantumclaw nodes location get --node <idOrNameOrIp>
246
+ quantumclaw nodes location get --node <idOrNameOrIp> --accuracy precise --max-age 15000 --location-timeout 10000
247
+ ```
248
+
249
+ 注意事项:
250
+
251
+ - 位置**默认关闭**。
252
+ - "始终"需要系统权限;后台获取是尽力而为的。
253
+ - 响应包括纬度/经度、精度(米)和时间戳。
254
+
255
+ ## 短信(Android 节点)
256
+
257
+ 当用户授予 **SMS** 权限且设备支持电话功能时,Android 节点可以暴露 `sms.send`。
258
+
259
+ 低级调用:
260
+
261
+ ```bash
262
+ quantumclaw nodes invoke --node <idOrNameOrIp> --command sms.send --params '{"to":"+15555550123","message":"Hello from QuantumClaw"}'
263
+ ```
264
+
265
+ 注意事项:
266
+
267
+ - 在能力被广播之前,必须在 Android 设备上接受权限提示。
268
+ - 没有电话功能的纯 Wi-Fi 设备不会广播 `sms.send`。
269
+
270
+ ## 系统命令(节点主机 / mac 节点)
271
+
272
+ macOS 节点暴露 `system.run`、`system.notify` 和 `system.execApprovals.get/set`。
273
+ 无头节点主机暴露 `system.run`、`system.which` 和 `system.execApprovals.get/set`。
274
+
275
+ 示例:
276
+
277
+ ```bash
278
+ quantumclaw nodes run --node <idOrNameOrIp> -- echo "Hello from mac node"
279
+ quantumclaw nodes notify --node <idOrNameOrIp> --title "Ping" --body "Gateway ready"
280
+ ```
281
+
282
+ 注意事项:
283
+
284
+ - `system.run` 在负载中返回 stdout/stderr/退出码。
285
+ - `system.notify` 遵守 macOS 应用上的通知权限状态。
286
+ - `system.run` 支持 `--cwd`、`--env KEY=VAL`、`--command-timeout` 和 `--needs-screen-recording`。
287
+ - `system.notify` 支持 `--priority <passive|active|timeSensitive>` 和 `--delivery <system|overlay|auto>`。
288
+ - macOS 节点会丢弃 `PATH` 覆盖;无头节点主机仅在 `PATH` 前置到节点主机 PATH 时才接受它。
289
+ - 在 macOS 节点模式下,`system.run` 受 macOS 应用中的 exec 批准限制(设置 → Exec 批准)。
290
+ Ask/allowlist/full 的行为与无头节点主机相同;被拒绝的提示返回 `SYSTEM_RUN_DENIED`。
291
+ - 在无头节点主机上,`system.run` 受 exec 批准限制(`~/.quantumclaw/exec-approvals.json`)。
292
+
293
+ ## Exec 节点绑定
294
+
295
+ 当有多个节点可用时,你可以将 exec 绑定到特定节点。
296
+ 这设置了 `exec host=node` 的默认节点(可以按智能体覆盖)。
297
+
298
+ 全局默认:
299
+
300
+ ```bash
301
+ quantumclaw config set tools.exec.node "node-id-or-name"
302
+ ```
303
+
304
+ 按智能体覆盖:
305
+
306
+ ```bash
307
+ quantumclaw config get agents.list
308
+ quantumclaw config set agents.list[0].tools.exec.node "node-id-or-name"
309
+ ```
310
+
311
+ 取消设置以允许任何节点:
312
+
313
+ ```bash
314
+ quantumclaw config unset tools.exec.node
315
+ quantumclaw config unset agents.list[0].tools.exec.node
316
+ ```
317
+
318
+ ## 权限映射
319
+
320
+ 节点可能在 `node.list` / `node.describe` 中包含 `permissions` 映射,按权限名称(例如 `screenRecording`、`accessibility`)键入,值为布尔值(`true` = 已授予)。
321
+
322
+ ## 无头节点主机(跨平台)
323
+
324
+ QuantumClaw 可以运行**无头节点主机**(无 UI),它连接到 Gateway 网关
325
+ WebSocket 并暴露 `system.run` / `system.which`。这在 Linux/Windows
326
+ 上或在服务器旁运行最小节点时很有用。
327
+
328
+ 启动它:
329
+
330
+ ```bash
331
+ quantumclaw node run --host <gateway-host> --port 18789
332
+ ```
333
+
334
+ 注意事项:
335
+
336
+ - 仍然需要配对(Gateway 网关会显示节点批准提示)。
337
+ - 节点主机将其节点 id、令牌、显示名称和 Gateway 网关连接信息存储在 `~/.quantumclaw/node.json` 中。
338
+ - Exec 批准通过 `~/.quantumclaw/exec-approvals.json` 在本地执行
339
+ (参见 [Exec 批准](/tools/exec-approvals))。
340
+ - 在 macOS 上,当配套应用 exec 主机可达时,无头节点主机优先使用它,
341
+ 如果应用不可用则回退到本地执行。设置 `QUANTUMCLAW_NODE_EXEC_HOST=app` 要求
342
+ 使用应用,或设置 `QUANTUMCLAW_NODE_EXEC_FALLBACK=0` 禁用回退。
343
+ - 当 Gateway 网关 WS 使用 TLS 时,添加 `--tls` / `--tls-fingerprint`。
344
+
345
+ ## Mac 节点模式
346
+
347
+ - macOS 菜单栏应用作为节点连接到 Gateway 网关 WS 服务器(因此 `quantumclaw nodes …` 可以针对这台 Mac 工作)。
348
+ - 在远程模式下,应用为 Gateway 网关端口打开 SSH 隧道并连接到 `localhost`。
@@ -0,0 +1,120 @@
1
+ ---
2
+ read_when:
3
+ - 添加位置节点支持或权限 UI
4
+ - 设计后台位置 + 推送流程
5
+ summary: 节点的位置命令(location.get)、权限模式和后台行为
6
+ title: 位置命令
7
+ x-i18n:
8
+ generated_at: "2026-02-03T07:50:59Z"
9
+ model: claude-opus-4-5
10
+ provider: pi
11
+ source_hash: 23124096256384d2b28157352b072309c61c970a20e009aac5ce4a8250dc3764
12
+ source_path: nodes/location-command.md
13
+ workflow: 15
14
+ ---
15
+
16
+ # 位置命令(节点)
17
+
18
+ ## 简要概述
19
+
20
+ - `location.get` 是一个节点命令(通过 `node.invoke`)。
21
+ - 默认关闭。
22
+ - 设置使用选择器:关闭 / 使用时 / 始终。
23
+ - 单独的开关:精确位置。
24
+
25
+ ## 为什么用选择器(而不只是开关)
26
+
27
+ 操作系统权限是多级的。我们可以在应用内暴露选择器,但操作系统仍然决定实际授权。
28
+
29
+ - iOS/macOS:用户可以在系统提示/设置中选择**使用时**或**始终**。应用可以请求升级,但操作系统可能要求进入设置。
30
+ - Android:后台位置是单独的权限;在 Android 10+ 上通常需要进入设置流程。
31
+ - 精确位置是单独的授权(iOS 14+ "精确",Android "精细" vs "粗略")。
32
+
33
+ UI 中的选择器驱动我们请求的模式;实际授权存在于操作系统设置中。
34
+
35
+ ## 设置模型
36
+
37
+ 每个节点设备:
38
+
39
+ - `location.enabledMode`:`off | whileUsing | always`
40
+ - `location.preciseEnabled`:bool
41
+
42
+ UI 行为:
43
+
44
+ - 选择 `whileUsing` 请求前台权限。
45
+ - 选择 `always` 首先确保 `whileUsing`,然后请求后台(或在需要时将用户引导到设置)。
46
+ - 如果操作系统拒绝请求的级别,回退到已授予的最高级别并显示状态。
47
+
48
+ ## 权限映射(node.permissions)
49
+
50
+ 可选。macOS 节点通过权限映射报告 `location`;iOS/Android 可能省略它。
51
+
52
+ ## 命令:`location.get`
53
+
54
+ 通过 `node.invoke` 调用。
55
+
56
+ 参数(建议):
57
+
58
+ ```json
59
+ {
60
+ "timeoutMs": 10000,
61
+ "maxAgeMs": 15000,
62
+ "desiredAccuracy": "coarse|balanced|precise"
63
+ }
64
+ ```
65
+
66
+ 响应负载:
67
+
68
+ ```json
69
+ {
70
+ "lat": 48.20849,
71
+ "lon": 16.37208,
72
+ "accuracyMeters": 12.5,
73
+ "altitudeMeters": 182.0,
74
+ "speedMps": 0.0,
75
+ "headingDeg": 270.0,
76
+ "timestamp": "2026-01-03T12:34:56.000Z",
77
+ "isPrecise": true,
78
+ "source": "gps|wifi|cell|unknown"
79
+ }
80
+ ```
81
+
82
+ 错误(稳定代码):
83
+
84
+ - `LOCATION_DISABLED`:选择器已关闭。
85
+ - `LOCATION_PERMISSION_REQUIRED`:缺少请求模式的权限。
86
+ - `LOCATION_BACKGROUND_UNAVAILABLE`:应用在后台但只允许使用时。
87
+ - `LOCATION_TIMEOUT`:在时间内没有定位。
88
+ - `LOCATION_UNAVAILABLE`:系统故障/没有提供商。
89
+
90
+ ## 后台行为(未来)
91
+
92
+ 目标:模型可以在节点处于后台时请求位置,但仅当:
93
+
94
+ - 用户选择了**始终**。
95
+ - 操作系统授予后台位置权限。
96
+ - 应用被允许在后台运行以获取位置(iOS 后台模式/Android 前台服务或特殊许可)。
97
+
98
+ 推送触发流程(未来):
99
+
100
+ 1. Gateway 网关向节点发送推送(静默推送或 FCM 数据)。
101
+ 2. 节点短暂唤醒并从设备请求位置。
102
+ 3. 节点将负载转发给 Gateway 网关。
103
+
104
+ 说明:
105
+
106
+ - iOS:需要始终权限 + 后台位置模式。静默推送可能被限流;预期会有间歇性失败。
107
+ - Android:后台位置可能需要前台服务;否则预期会被拒绝。
108
+
109
+ ## 模型/工具集成
110
+
111
+ - 工具接口:`nodes` 工具添加 `location_get` 操作(需要节点)。
112
+ - CLI:`quantumclaw nodes location get --node <id>`。
113
+ - 智能体指南:仅在用户启用位置并理解范围时调用。
114
+
115
+ ## UX 文案(建议)
116
+
117
+ - 关闭:"位置共享已禁用。"
118
+ - 使用时:"仅当 QuantumClaw 打开时。"
119
+ - 始终:"允许后台位置。需要系统权限。"
120
+ - 精确:"使用精确 GPS 位置。关闭以共享大致位置。"