@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,168 @@
1
+ ---
2
+ summary: "Android app (node): connection runbook + Connect/Chat/Voice/Canvas command surface"
3
+ read_when:
4
+ - Pairing or reconnecting the Android node
5
+ - Debugging Android gateway discovery or auth
6
+ - Verifying chat history parity across clients
7
+ title: "Android App"
8
+ ---
9
+
10
+ # Android App (Node)
11
+
12
+ > **Note:** The Android app has not been publicly released yet. The source code is available in the [QuantumClaw repository](https://github.com/quantumclaw/quantumclaw) under `apps/android`. You can build it yourself using Java 17 and the Android SDK (`./gradlew :app:assemblePlayDebug`). See [apps/android/README.md](https://github.com/quantumclaw/quantumclaw/blob/main/apps/android/README.md) for build instructions.
13
+
14
+ ## Support snapshot
15
+
16
+ - Role: companion node app (Android does not host the Gateway).
17
+ - Gateway required: yes (run it on macOS, Linux, or Windows via WSL2).
18
+ - Install: [Getting Started](/start/getting-started) + [Pairing](/channels/pairing).
19
+ - Gateway: [Runbook](/gateway) + [Configuration](/gateway/configuration).
20
+ - Protocols: [Gateway protocol](/gateway/protocol) (nodes + control plane).
21
+
22
+ ## System control
23
+
24
+ System control (launchd/systemd) lives on the Gateway host. See [Gateway](/gateway).
25
+
26
+ ## Connection Runbook
27
+
28
+ Android node app ⇄ (mDNS/NSD + WebSocket) ⇄ **Gateway**
29
+
30
+ Android connects directly to the Gateway WebSocket (default `ws://<host>:18789`) and uses device pairing (`role: node`).
31
+
32
+ ### Prerequisites
33
+
34
+ - You can run the Gateway on the “master” machine.
35
+ - Android device/emulator can reach the gateway WebSocket:
36
+ - Same LAN with mDNS/NSD, **or**
37
+ - Same Tailscale tailnet using Wide-Area Bonjour / unicast DNS-SD (see below), **or**
38
+ - Manual gateway host/port (fallback)
39
+ - You can run the CLI (`quantumclaw`) on the gateway machine (or via SSH).
40
+
41
+ ### 1) Start the Gateway
42
+
43
+ ```bash
44
+ quantumclaw gateway --port 18789 --verbose
45
+ ```
46
+
47
+ Confirm in logs you see something like:
48
+
49
+ - `listening on ws://0.0.0.0:18789`
50
+
51
+ For tailnet-only setups (recommended for Vienna ⇄ London), bind the gateway to the tailnet IP:
52
+
53
+ - Set `gateway.bind: "tailnet"` in `~/.quantumclaw/quantumclaw.json` on the gateway host.
54
+ - Restart the Gateway / macOS menubar app.
55
+
56
+ ### 2) Verify discovery (optional)
57
+
58
+ From the gateway machine:
59
+
60
+ ```bash
61
+ dns-sd -B _quantumclaw-gw._tcp local.
62
+ ```
63
+
64
+ More debugging notes: [Bonjour](/gateway/bonjour).
65
+
66
+ #### Tailnet (Vienna ⇄ London) discovery via unicast DNS-SD
67
+
68
+ Android NSD/mDNS discovery won’t cross networks. If your Android node and the gateway are on different networks but connected via Tailscale, use Wide-Area Bonjour / unicast DNS-SD instead:
69
+
70
+ 1. Set up a DNS-SD zone (example `quantumclaw.internal.`) on the gateway host and publish `_quantumclaw-gw._tcp` records.
71
+ 2. Configure Tailscale split DNS for your chosen domain pointing at that DNS server.
72
+
73
+ Details and example CoreDNS config: [Bonjour](/gateway/bonjour).
74
+
75
+ ### 3) Connect from Android
76
+
77
+ In the Android app:
78
+
79
+ - The app keeps its gateway connection alive via a **foreground service** (persistent notification).
80
+ - Open the **Connect** tab.
81
+ - Use **Setup Code** or **Manual** mode.
82
+ - If discovery is blocked, use manual host/port (and TLS/token/password when required) in **Advanced controls**.
83
+
84
+ After the first successful pairing, Android auto-reconnects on launch:
85
+
86
+ - Manual endpoint (if enabled), otherwise
87
+ - The last discovered gateway (best-effort).
88
+
89
+ ### 4) Approve pairing (CLI)
90
+
91
+ On the gateway machine:
92
+
93
+ ```bash
94
+ quantumclaw devices list
95
+ quantumclaw devices approve <requestId>
96
+ quantumclaw devices reject <requestId>
97
+ ```
98
+
99
+ Pairing details: [Pairing](/channels/pairing).
100
+
101
+ ### 5) Verify the node is connected
102
+
103
+ - Via nodes status:
104
+
105
+ ```bash
106
+ quantumclaw nodes status
107
+ ```
108
+
109
+ - Via Gateway:
110
+
111
+ ```bash
112
+ quantumclaw gateway call node.list --params "{}"
113
+ ```
114
+
115
+ ### 6) Chat + history
116
+
117
+ The Android Chat tab supports session selection (default `main`, plus other existing sessions):
118
+
119
+ - History: `chat.history`
120
+ - Send: `chat.send`
121
+ - Push updates (best-effort): `chat.subscribe` → `event:"chat"`
122
+
123
+ ### 7) Canvas + camera
124
+
125
+ #### Gateway Canvas Host (recommended for web content)
126
+
127
+ If you want the node to show real HTML/CSS/JS that the agent can edit on disk, point the node at the Gateway canvas host.
128
+
129
+ Note: nodes load canvas from the Gateway HTTP server (same port as `gateway.port`, default `18789`).
130
+
131
+ 1. Create `~/.quantumclaw/workspace/canvas/index.html` on the gateway host.
132
+
133
+ 2. Navigate the node to it (LAN):
134
+
135
+ ```bash
136
+ quantumclaw nodes invoke --node "<Android Node>" --command canvas.navigate --params '{"url":"http://<gateway-hostname>.local:18789/__quantumclaw__/canvas/"}'
137
+ ```
138
+
139
+ Tailnet (optional): if both devices are on Tailscale, use a MagicDNS name or tailnet IP instead of `.local`, e.g. `http://<gateway-magicdns>:18789/__quantumclaw__/canvas/`.
140
+
141
+ This server injects a live-reload client into HTML and reloads on file changes.
142
+ The A2UI host lives at `http://<gateway-host>:18789/__quantumclaw__/a2ui/`.
143
+
144
+ Canvas commands (foreground only):
145
+
146
+ - `canvas.eval`, `canvas.snapshot`, `canvas.navigate` (use `{"url":""}` or `{"url":"/"}` to return to the default scaffold). `canvas.snapshot` returns `{ format, base64 }` (default `format="jpeg"`).
147
+ - A2UI: `canvas.a2ui.push`, `canvas.a2ui.reset` (`canvas.a2ui.pushJSONL` legacy alias)
148
+
149
+ Camera commands (foreground only; permission-gated):
150
+
151
+ - `camera.snap` (jpg)
152
+ - `camera.clip` (mp4)
153
+
154
+ See [Camera node](/nodes/camera) for parameters and CLI helpers.
155
+
156
+ ### 8) Voice + expanded Android command surface
157
+
158
+ - Voice: Android uses a single mic on/off flow in the Voice tab with transcript capture and TTS playback (ElevenLabs when configured, system TTS fallback). Voice stops when the app leaves the foreground.
159
+ - Voice wake/talk-mode toggles are currently removed from Android UX/runtime.
160
+ - Additional Android command families (availability depends on device + permissions):
161
+ - `device.status`, `device.info`, `device.permissions`, `device.health`
162
+ - `notifications.list`, `notifications.actions`
163
+ - `photos.latest`
164
+ - `contacts.search`, `contacts.add`
165
+ - `calendar.events`, `calendar.add`
166
+ - `callLog.search`
167
+ - `sms.search`
168
+ - `motion.activity`, `motion.pedometer`
@@ -0,0 +1,266 @@
1
+ ---
2
+ summary: "QuantumClaw on DigitalOcean (simple paid VPS option)"
3
+ read_when:
4
+ - Setting up QuantumClaw on DigitalOcean
5
+ - Looking for cheap VPS hosting for QuantumClaw
6
+ title: "DigitalOcean"
7
+ ---
8
+
9
+ # QuantumClaw on DigitalOcean
10
+
11
+ ## Goal
12
+
13
+ Run a persistent QuantumClaw Gateway on DigitalOcean for **$6/month** (or $4/mo with reserved pricing).
14
+
15
+ If you want a $0/month option and don’t mind ARM + provider-specific setup, see the [Oracle Cloud guide](/platforms/oracle).
16
+
17
+ ## Cost Comparison (2026)
18
+
19
+ | Provider | Plan | Specs | Price/mo | Notes |
20
+ | ------------ | --------------- | ---------------------- | ----------- | ------------------------------------- |
21
+ | Oracle Cloud | Always Free ARM | up to 4 OCPU, 24GB RAM | $0 | ARM, limited capacity / signup quirks |
22
+ | Hetzner | CX22 | 2 vCPU, 4GB RAM | €3.79 (~$4) | Cheapest paid option |
23
+ | DigitalOcean | Basic | 1 vCPU, 1GB RAM | $6 | Easy UI, good docs |
24
+ | Vultr | Cloud Compute | 1 vCPU, 1GB RAM | $6 | Many locations |
25
+ | Linode | Nanode | 1 vCPU, 1GB RAM | $5 | Now part of Akamai |
26
+
27
+ **Picking a provider:**
28
+
29
+ - DigitalOcean: simplest UX + predictable setup (this guide)
30
+ - Hetzner: good price/perf (see [Hetzner guide](/install/hetzner))
31
+ - Oracle Cloud: can be $0/month, but is more finicky and ARM-only (see [Oracle guide](/platforms/oracle))
32
+
33
+ ---
34
+
35
+ ## Prerequisites
36
+
37
+ - DigitalOcean account ([signup with $200 free credit](https://m.do.co/c/signup))
38
+ - SSH key pair (or willingness to use password auth)
39
+ - ~20 minutes
40
+
41
+ ## 1) Create a Droplet
42
+
43
+ <Warning>
44
+ Use a clean base image (Ubuntu 24.04 LTS). Avoid third-party Marketplace 1-click images unless you have reviewed their startup scripts and firewall defaults.
45
+ </Warning>
46
+
47
+ 1. Log into [DigitalOcean](https://cloud.digitalocean.com/)
48
+ 2. Click **Create → Droplets**
49
+ 3. Choose:
50
+ - **Region:** Closest to you (or your users)
51
+ - **Image:** Ubuntu 24.04 LTS
52
+ - **Size:** Basic → Regular → **$6/mo** (1 vCPU, 1GB RAM, 25GB SSD)
53
+ - **Authentication:** SSH key (recommended) or password
54
+ 4. Click **Create Droplet**
55
+ 5. Note the IP address
56
+
57
+ ## 2) Connect via SSH
58
+
59
+ ```bash
60
+ ssh root@YOUR_DROPLET_IP
61
+ ```
62
+
63
+ ## 3) Install QuantumClaw
64
+
65
+ ```bash
66
+ # Update system
67
+ apt update && apt upgrade -y
68
+
69
+ # Install Node.js 24
70
+ curl -fsSL https://deb.nodesource.com/setup_24.x | bash -
71
+ apt install -y nodejs
72
+
73
+ # Install QuantumClaw
74
+ curl -fsSL https://quantumclaw.ai/install.sh | bash
75
+
76
+ # Verify
77
+ quantumclaw --version
78
+ ```
79
+
80
+ ## 4) Run Onboarding
81
+
82
+ ```bash
83
+ quantumclaw onboard --install-daemon
84
+ ```
85
+
86
+ The wizard will walk you through:
87
+
88
+ - Model auth (API keys or OAuth)
89
+ - Channel setup (Telegram, WhatsApp, Discord, etc.)
90
+ - Gateway token (auto-generated)
91
+ - Daemon installation (systemd)
92
+
93
+ ## 5) Verify the Gateway
94
+
95
+ ```bash
96
+ # Check status
97
+ quantumclaw status
98
+
99
+ # Check service
100
+ systemctl --user status quantumclaw-gateway.service
101
+
102
+ # View logs
103
+ journalctl --user -u quantumclaw-gateway.service -f
104
+ ```
105
+
106
+ ## 6) Access the Dashboard
107
+
108
+ The gateway binds to loopback by default. To access the Control UI:
109
+
110
+ **Option A: SSH Tunnel (recommended)**
111
+
112
+ ```bash
113
+ # From your local machine
114
+ ssh -L 18789:localhost:18789 root@YOUR_DROPLET_IP
115
+
116
+ # Then open: http://localhost:18789
117
+ ```
118
+
119
+ **Option B: Tailscale Serve (HTTPS, loopback-only)**
120
+
121
+ ```bash
122
+ # On the droplet
123
+ curl -fsSL https://tailscale.com/install.sh | sh
124
+ tailscale up
125
+
126
+ # Configure Gateway to use Tailscale Serve
127
+ quantumclaw config set gateway.tailscale.mode serve
128
+ quantumclaw gateway restart
129
+ ```
130
+
131
+ Open: `https://<magicdns>/`
132
+
133
+ Notes:
134
+
135
+ - Serve keeps the Gateway loopback-only and authenticates Control UI/WebSocket traffic via Tailscale identity headers (tokenless auth assumes trusted gateway host; HTTP APIs still require token/password).
136
+ - To require token/password instead, set `gateway.auth.allowTailscale: false` or use `gateway.auth.mode: "password"`.
137
+
138
+ **Option C: Tailnet bind (no Serve)**
139
+
140
+ ```bash
141
+ quantumclaw config set gateway.bind tailnet
142
+ quantumclaw gateway restart
143
+ ```
144
+
145
+ Open: `http://<tailscale-ip>:18789` (token required).
146
+
147
+ ## 7) Connect Your Channels
148
+
149
+ ### Telegram
150
+
151
+ ```bash
152
+ quantumclaw pairing list telegram
153
+ quantumclaw pairing approve telegram <CODE>
154
+ ```
155
+
156
+ ### WhatsApp
157
+
158
+ ```bash
159
+ quantumclaw channels login whatsapp
160
+ # Scan QR code
161
+ ```
162
+
163
+ See [Channels](/channels) for other providers.
164
+
165
+ ---
166
+
167
+ ## Optimizations for 1GB RAM
168
+
169
+ The $6 droplet only has 1GB RAM. To keep things running smoothly:
170
+
171
+ ### Add swap (recommended)
172
+
173
+ ```bash
174
+ fallocate -l 2G /swapfile
175
+ chmod 600 /swapfile
176
+ mkswap /swapfile
177
+ swapon /swapfile
178
+ echo '/swapfile none swap sw 0 0' >> /etc/fstab
179
+ ```
180
+
181
+ ### Use a lighter model
182
+
183
+ If you're hitting OOMs, consider:
184
+
185
+ - Using API-based models (Claude, GPT) instead of local models
186
+ - Setting `agents.defaults.model.primary` to a smaller model
187
+
188
+ ### Monitor memory
189
+
190
+ ```bash
191
+ free -h
192
+ htop
193
+ ```
194
+
195
+ ---
196
+
197
+ ## Persistence
198
+
199
+ All state lives in:
200
+
201
+ - `~/.quantumclaw/` — config, credentials, session data
202
+ - `~/.quantumclaw/workspace/` — workspace (SOUL.md, memory, etc.)
203
+
204
+ These survive reboots. Back them up periodically:
205
+
206
+ ```bash
207
+ tar -czvf quantumclaw-backup.tar.gz ~/.quantumclaw ~/.quantumclaw/workspace
208
+ ```
209
+
210
+ ---
211
+
212
+ ## Oracle Cloud Free Alternative
213
+
214
+ Oracle Cloud offers **Always Free** ARM instances that are significantly more powerful than any paid option here — for $0/month.
215
+
216
+ | What you get | Specs |
217
+ | ----------------- | ---------------------- |
218
+ | **4 OCPUs** | ARM Ampere A1 |
219
+ | **24GB RAM** | More than enough |
220
+ | **200GB storage** | Block volume |
221
+ | **Forever free** | No credit card charges |
222
+
223
+ **Caveats:**
224
+
225
+ - Signup can be finicky (retry if it fails)
226
+ - ARM architecture — most things work, but some binaries need ARM builds
227
+
228
+ For the full setup guide, see [Oracle Cloud](/platforms/oracle). For signup tips and troubleshooting the enrollment process, see this [community guide](https://gist.github.com/rssnyder/51e3cfedd730e7dd5f4a816143b25dbd).
229
+
230
+ ---
231
+
232
+ ## Troubleshooting
233
+
234
+ ### Gateway will not start
235
+
236
+ ```bash
237
+ quantumclaw gateway status
238
+ quantumclaw doctor --non-interactive
239
+ journalctl -u quantumclaw --no-pager -n 50
240
+ ```
241
+
242
+ ### Port already in use
243
+
244
+ ```bash
245
+ lsof -i :18789
246
+ kill <PID>
247
+ ```
248
+
249
+ ### Out of memory
250
+
251
+ ```bash
252
+ # Check memory
253
+ free -h
254
+
255
+ # Add more swap
256
+ # Or upgrade to $12/mo droplet (2GB RAM)
257
+ ```
258
+
259
+ ---
260
+
261
+ ## See Also
262
+
263
+ - [Hetzner guide](/install/hetzner) — cheaper, more powerful
264
+ - [Docker install](/install/docker) — containerized setup
265
+ - [Tailscale](/gateway/tailscale) — secure remote access
266
+ - [Configuration](/gateway/configuration) — full config reference
@@ -0,0 +1,54 @@
1
+ ---
2
+ summary: "Platform support overview (Gateway + companion apps)"
3
+ read_when:
4
+ - Looking for OS support or install paths
5
+ - Deciding where to run the Gateway
6
+ title: "Platforms"
7
+ ---
8
+
9
+ # Platforms
10
+
11
+ QuantumClaw core is written in TypeScript. **Node is the recommended runtime**.
12
+ Bun is not recommended for the Gateway (WhatsApp/Telegram bugs).
13
+
14
+ Companion apps exist for macOS (menu bar app) and mobile nodes (iOS/Android). Windows and
15
+ Linux companion apps are planned, but the Gateway is fully supported today.
16
+ Native companion apps for Windows are also planned; the Gateway is recommended via WSL2.
17
+
18
+ ## Choose your OS
19
+
20
+ - macOS: [macOS](/platforms/macos)
21
+ - iOS: [iOS](/platforms/ios)
22
+ - Android: [Android](/platforms/android)
23
+ - Windows: [Windows](/platforms/windows)
24
+ - Linux: [Linux](/platforms/linux)
25
+
26
+ ## VPS & hosting
27
+
28
+ - VPS hub: [VPS hosting](/vps)
29
+ - Fly.io: [Fly.io](/install/fly)
30
+ - Hetzner (Docker): [Hetzner](/install/hetzner)
31
+ - GCP (Compute Engine): [GCP](/install/gcp)
32
+ - Azure (Linux VM): [Azure](/install/azure)
33
+ - exe.dev (VM + HTTPS proxy): [exe.dev](/install/exe-dev)
34
+
35
+ ## Common links
36
+
37
+ - Install guide: [Getting Started](/start/getting-started)
38
+ - Gateway runbook: [Gateway](/gateway)
39
+ - Gateway configuration: [Configuration](/gateway/configuration)
40
+ - Service status: `quantumclaw gateway status`
41
+
42
+ ## Gateway service install (CLI)
43
+
44
+ Use one of these (all supported):
45
+
46
+ - Wizard (recommended): `quantumclaw onboard --install-daemon`
47
+ - Direct: `quantumclaw gateway install`
48
+ - Configure flow: `quantumclaw configure` → select **Gateway service**
49
+ - Repair/migrate: `quantumclaw doctor` (offers to install or fix the service)
50
+
51
+ The service target depends on OS:
52
+
53
+ - macOS: LaunchAgent (`ai.quantumclaw.gateway` or `ai.quantumclaw.<profile>`; legacy `com.quantumclaw.*`)
54
+ - Linux/WSL2: systemd user service (`quantumclaw-gateway[-<profile>].service`)
@@ -0,0 +1,220 @@
1
+ ---
2
+ summary: "iOS node app: connect to the Gateway, pairing, canvas, and troubleshooting"
3
+ read_when:
4
+ - Pairing or reconnecting the iOS node
5
+ - Running the iOS app from source
6
+ - Debugging gateway discovery or canvas commands
7
+ title: "iOS App"
8
+ ---
9
+
10
+ # iOS App (Node)
11
+
12
+ Availability: internal preview. The iOS app is not publicly distributed yet.
13
+
14
+ ## What it does
15
+
16
+ - Connects to a Gateway over WebSocket (LAN or tailnet).
17
+ - Exposes node capabilities: Canvas, Screen snapshot, Camera capture, Location, Talk mode, Voice wake.
18
+ - Receives `node.invoke` commands and reports node status events.
19
+
20
+ ## Requirements
21
+
22
+ - Gateway running on another device (macOS, Linux, or Windows via WSL2).
23
+ - Network path:
24
+ - Same LAN via Bonjour, **or**
25
+ - Tailnet via unicast DNS-SD (example domain: `quantumclaw.internal.`), **or**
26
+ - Manual host/port (fallback).
27
+
28
+ ## Quick start (pair + connect)
29
+
30
+ 1. Start the Gateway:
31
+
32
+ ```bash
33
+ quantumclaw gateway --port 18789
34
+ ```
35
+
36
+ 2. In the iOS app, open Settings and pick a discovered gateway (or enable Manual Host and enter host/port).
37
+
38
+ 3. Approve the pairing request on the gateway host:
39
+
40
+ ```bash
41
+ quantumclaw devices list
42
+ quantumclaw devices approve <requestId>
43
+ ```
44
+
45
+ If the app retries pairing with changed auth details (role/scopes/public key),
46
+ the previous pending request is superseded and a new `requestId` is created.
47
+ Run `quantumclaw devices list` again before approval.
48
+
49
+ 4. Verify connection:
50
+
51
+ ```bash
52
+ quantumclaw nodes status
53
+ quantumclaw gateway call node.list --params "{}"
54
+ ```
55
+
56
+ ## Relay-backed push for official builds
57
+
58
+ Official distributed iOS builds use the external push relay instead of publishing the raw APNs
59
+ token to the gateway.
60
+
61
+ Gateway-side requirement:
62
+
63
+ ```json5
64
+ {
65
+ gateway: {
66
+ push: {
67
+ apns: {
68
+ relay: {
69
+ baseUrl: "https://relay.example.com",
70
+ },
71
+ },
72
+ },
73
+ },
74
+ }
75
+ ```
76
+
77
+ How the flow works:
78
+
79
+ - The iOS app registers with the relay using App Attest and the app receipt.
80
+ - The relay returns an opaque relay handle plus a registration-scoped send grant.
81
+ - The iOS app fetches the paired gateway identity and includes it in relay registration, so the relay-backed registration is delegated to that specific gateway.
82
+ - The app forwards that relay-backed registration to the paired gateway with `push.apns.register`.
83
+ - The gateway uses that stored relay handle for `push.test`, background wakes, and wake nudges.
84
+ - The gateway relay base URL must match the relay URL baked into the official/TestFlight iOS build.
85
+ - If the app later connects to a different gateway or a build with a different relay base URL, it refreshes the relay registration instead of reusing the old binding.
86
+
87
+ What the gateway does **not** need for this path:
88
+
89
+ - No deployment-wide relay token.
90
+ - No direct APNs key for official/TestFlight relay-backed sends.
91
+
92
+ Expected operator flow:
93
+
94
+ 1. Install the official/TestFlight iOS build.
95
+ 2. Set `gateway.push.apns.relay.baseUrl` on the gateway.
96
+ 3. Pair the app to the gateway and let it finish connecting.
97
+ 4. The app publishes `push.apns.register` automatically after it has an APNs token, the operator session is connected, and relay registration succeeds.
98
+ 5. After that, `push.test`, reconnect wakes, and wake nudges can use the stored relay-backed registration.
99
+
100
+ Compatibility note:
101
+
102
+ - `QUANTUMCLAW_APNS_RELAY_BASE_URL` still works as a temporary env override for the gateway.
103
+
104
+ ## Authentication and trust flow
105
+
106
+ The relay exists to enforce two constraints that direct APNs-on-gateway cannot provide for
107
+ official iOS builds:
108
+
109
+ - Only genuine QuantumClaw iOS builds distributed through Apple can use the hosted relay.
110
+ - A gateway can send relay-backed pushes only for iOS devices that paired with that specific
111
+ gateway.
112
+
113
+ Hop by hop:
114
+
115
+ 1. `iOS app -> gateway`
116
+ - The app first pairs with the gateway through the normal Gateway auth flow.
117
+ - That gives the app an authenticated node session plus an authenticated operator session.
118
+ - The operator session is used to call `gateway.identity.get`.
119
+
120
+ 2. `iOS app -> relay`
121
+ - The app calls the relay registration endpoints over HTTPS.
122
+ - Registration includes App Attest proof plus the app receipt.
123
+ - The relay validates the bundle ID, App Attest proof, and Apple receipt, and requires the
124
+ official/production distribution path.
125
+ - This is what blocks local Xcode/dev builds from using the hosted relay. A local build may be
126
+ signed, but it does not satisfy the official Apple distribution proof the relay expects.
127
+
128
+ 3. `gateway identity delegation`
129
+ - Before relay registration, the app fetches the paired gateway identity from
130
+ `gateway.identity.get`.
131
+ - The app includes that gateway identity in the relay registration payload.
132
+ - The relay returns a relay handle and a registration-scoped send grant that are delegated to
133
+ that gateway identity.
134
+
135
+ 4. `gateway -> relay`
136
+ - The gateway stores the relay handle and send grant from `push.apns.register`.
137
+ - On `push.test`, reconnect wakes, and wake nudges, the gateway signs the send request with its
138
+ own device identity.
139
+ - The relay verifies both the stored send grant and the gateway signature against the delegated
140
+ gateway identity from registration.
141
+ - Another gateway cannot reuse that stored registration, even if it somehow obtains the handle.
142
+
143
+ 5. `relay -> APNs`
144
+ - The relay owns the production APNs credentials and the raw APNs token for the official build.
145
+ - The gateway never stores the raw APNs token for relay-backed official builds.
146
+ - The relay sends the final push to APNs on behalf of the paired gateway.
147
+
148
+ Why this design was created:
149
+
150
+ - To keep production APNs credentials out of user gateways.
151
+ - To avoid storing raw official-build APNs tokens on the gateway.
152
+ - To allow hosted relay usage only for official/TestFlight QuantumClaw builds.
153
+ - To prevent one gateway from sending wake pushes to iOS devices owned by a different gateway.
154
+
155
+ Local/manual builds remain on direct APNs. If you are testing those builds without the relay, the
156
+ gateway still needs direct APNs credentials:
157
+
158
+ ```bash
159
+ export QUANTUMCLAW_APNS_TEAM_ID="TEAMID"
160
+ export QUANTUMCLAW_APNS_KEY_ID="KEYID"
161
+ export QUANTUMCLAW_APNS_PRIVATE_KEY_P8="$(cat /path/to/AuthKey_KEYID.p8)"
162
+ ```
163
+
164
+ ## Discovery paths
165
+
166
+ ### Bonjour (LAN)
167
+
168
+ The Gateway advertises `_quantumclaw-gw._tcp` on `local.`. The iOS app lists these automatically.
169
+
170
+ ### Tailnet (cross-network)
171
+
172
+ If mDNS is blocked, use a unicast DNS-SD zone (choose a domain; example: `quantumclaw.internal.`) and Tailscale split DNS.
173
+ See [Bonjour](/gateway/bonjour) for the CoreDNS example.
174
+
175
+ ### Manual host/port
176
+
177
+ In Settings, enable **Manual Host** and enter the gateway host + port (default `18789`).
178
+
179
+ ## Canvas + A2UI
180
+
181
+ The iOS node renders a WKWebView canvas. Use `node.invoke` to drive it:
182
+
183
+ ```bash
184
+ quantumclaw nodes invoke --node "iOS Node" --command canvas.navigate --params '{"url":"http://<gateway-host>:18789/__quantumclaw__/canvas/"}'
185
+ ```
186
+
187
+ Notes:
188
+
189
+ - The Gateway canvas host serves `/__quantumclaw__/canvas/` and `/__quantumclaw__/a2ui/`.
190
+ - It is served from the Gateway HTTP server (same port as `gateway.port`, default `18789`).
191
+ - The iOS node auto-navigates to A2UI on connect when a canvas host URL is advertised.
192
+ - Return to the built-in scaffold with `canvas.navigate` and `{"url":""}`.
193
+
194
+ ### Canvas eval / snapshot
195
+
196
+ ```bash
197
+ quantumclaw nodes invoke --node "iOS Node" --command canvas.eval --params '{"javaScript":"(() => { const {ctx} = window.__quantumclaw; ctx.clearRect(0,0,innerWidth,innerHeight); ctx.lineWidth=6; ctx.strokeStyle=\"#ff2d55\"; ctx.beginPath(); ctx.moveTo(40,40); ctx.lineTo(innerWidth-40, innerHeight-40); ctx.stroke(); return \"ok\"; })()"}'
198
+ ```
199
+
200
+ ```bash
201
+ quantumclaw nodes invoke --node "iOS Node" --command canvas.snapshot --params '{"maxWidth":900,"format":"jpeg"}'
202
+ ```
203
+
204
+ ## Voice wake + talk mode
205
+
206
+ - Voice wake and talk mode are available in Settings.
207
+ - iOS may suspend background audio; treat voice features as best-effort when the app is not active.
208
+
209
+ ## Common errors
210
+
211
+ - `NODE_BACKGROUND_UNAVAILABLE`: bring the iOS app to the foreground (canvas/camera/screen commands require it).
212
+ - `A2UI_HOST_NOT_CONFIGURED`: the Gateway did not advertise a canvas host URL; check `canvasHost` in [Gateway configuration](/gateway/configuration).
213
+ - Pairing prompt never appears: run `quantumclaw devices list` and approve manually.
214
+ - Reconnect fails after reinstall: the Keychain pairing token was cleared; re-pair the node.
215
+
216
+ ## Related docs
217
+
218
+ - [Pairing](/channels/pairing)
219
+ - [Discovery](/gateway/discovery)
220
+ - [Bonjour](/gateway/bonjour)