@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,275 @@
1
+ ---
2
+ summary: "Browser-based control UI for the Gateway (chat, nodes, config)"
3
+ read_when:
4
+ - You want to operate the Gateway from a browser
5
+ - You want Tailnet access without SSH tunnels
6
+ title: "Control UI"
7
+ ---
8
+
9
+ # Control UI (browser)
10
+
11
+ The Control UI is a small **Vite + Lit** single-page app served by the Gateway:
12
+
13
+ - default: `http://<host>:18789/`
14
+ - optional prefix: set `gateway.controlUi.basePath` (e.g. `/quantumclaw`)
15
+
16
+ It speaks **directly to the Gateway WebSocket** on the same port.
17
+
18
+ ## Quick open (local)
19
+
20
+ If the Gateway is running on the same computer, open:
21
+
22
+ - [http://127.0.0.1:18789/](http://127.0.0.1:18789/) (or [http://localhost:18789/](http://localhost:18789/))
23
+
24
+ If the page fails to load, start the Gateway first: `quantumclaw gateway`.
25
+
26
+ Auth is supplied during the WebSocket handshake via:
27
+
28
+ - `connect.params.auth.token`
29
+ - `connect.params.auth.password`
30
+ The dashboard settings panel keeps a token for the current browser tab session and selected gateway URL; passwords are not persisted.
31
+ Onboarding generates a gateway token by default, so paste it here on first connect.
32
+
33
+ ## Device pairing (first connection)
34
+
35
+ When you connect to the Control UI from a new browser or device, the Gateway
36
+ requires a **one-time pairing approval** — even if you're on the same Tailnet
37
+ with `gateway.auth.allowTailscale: true`. This is a security measure to prevent
38
+ unauthorized access.
39
+
40
+ **What you'll see:** "disconnected (1008): pairing required"
41
+
42
+ **To approve the device:**
43
+
44
+ ```bash
45
+ # List pending requests
46
+ quantumclaw devices list
47
+
48
+ # Approve by request ID
49
+ quantumclaw devices approve <requestId>
50
+ ```
51
+
52
+ If the browser retries pairing with changed auth details (role/scopes/public
53
+ key), the previous pending request is superseded and a new `requestId` is
54
+ created. Re-run `quantumclaw devices list` before approval.
55
+
56
+ Once approved, the device is remembered and won't require re-approval unless
57
+ you revoke it with `quantumclaw devices revoke --device <id> --role <role>`. See
58
+ [Devices CLI](/cli/devices) for token rotation and revocation.
59
+
60
+ **Notes:**
61
+
62
+ - Local connections (`127.0.0.1`) are auto-approved.
63
+ - Remote connections (LAN, Tailnet, etc.) require explicit approval.
64
+ - Each browser profile generates a unique device ID, so switching browsers or
65
+ clearing browser data will require re-pairing.
66
+
67
+ ## Language support
68
+
69
+ The Control UI can localize itself on first load based on your browser locale, and you can override it later from the language picker in the Access card.
70
+
71
+ - Supported locales: `en`, `zh-CN`, `zh-TW`, `pt-BR`, `de`, `es`
72
+ - Non-English translations are lazy-loaded in the browser.
73
+ - The selected locale is saved in browser storage and reused on future visits.
74
+ - Missing translation keys fall back to English.
75
+
76
+ ## What it can do (today)
77
+
78
+ - Chat with the model via Gateway WS (`chat.history`, `chat.send`, `chat.abort`, `chat.inject`)
79
+ - Stream tool calls + live tool output cards in Chat (agent events)
80
+ - Channels: WhatsApp/Telegram/Discord/Slack + plugin channels (Mattermost, etc.) status + QR login + per-channel config (`channels.status`, `web.login.*`, `config.patch`)
81
+ - Instances: presence list + refresh (`system-presence`)
82
+ - Sessions: list + per-session thinking/fast/verbose/reasoning overrides (`sessions.list`, `sessions.patch`)
83
+ - Cron jobs: list/add/edit/run/enable/disable + run history (`cron.*`)
84
+ - Skills: status, enable/disable, install, API key updates (`skills.*`)
85
+ - Nodes: list + caps (`node.list`)
86
+ - Exec approvals: edit gateway or node allowlists + ask policy for `exec host=gateway/node` (`exec.approvals.*`)
87
+ - Config: view/edit `~/.quantumclaw/quantumclaw.json` (`config.get`, `config.set`)
88
+ - Config: apply + restart with validation (`config.apply`) and wake the last active session
89
+ - Config writes include a base-hash guard to prevent clobbering concurrent edits
90
+ - Config schema + form rendering (`config.schema`, including plugin + channel schemas); Raw JSON editor remains available
91
+ - Debug: status/health/models snapshots + event log + manual RPC calls (`status`, `health`, `models.list`)
92
+ - Logs: live tail of gateway file logs with filter/export (`logs.tail`)
93
+ - Update: run a package/git update + restart (`update.run`) with a restart report
94
+
95
+ Cron jobs panel notes:
96
+
97
+ - For isolated jobs, delivery defaults to announce summary. You can switch to none if you want internal-only runs.
98
+ - Channel/target fields appear when announce is selected.
99
+ - Webhook mode uses `delivery.mode = "webhook"` with `delivery.to` set to a valid HTTP(S) webhook URL.
100
+ - For main-session jobs, webhook and none delivery modes are available.
101
+ - Advanced edit controls include delete-after-run, clear agent override, cron exact/stagger options,
102
+ agent model/thinking overrides, and best-effort delivery toggles.
103
+ - Form validation is inline with field-level errors; invalid values disable the save button until fixed.
104
+ - Set `cron.webhookToken` to send a dedicated bearer token, if omitted the webhook is sent without an auth header.
105
+ - Deprecated fallback: stored legacy jobs with `notify: true` can still use `cron.webhook` until migrated.
106
+
107
+ ## Chat behavior
108
+
109
+ - `chat.send` is **non-blocking**: it acks immediately with `{ runId, status: "started" }` and the response streams via `chat` events.
110
+ - Re-sending with the same `idempotencyKey` returns `{ status: "in_flight" }` while running, and `{ status: "ok" }` after completion.
111
+ - `chat.history` responses are size-bounded for UI safety. When transcript entries are too large, Gateway may truncate long text fields, omit heavy metadata blocks, and replace oversized messages with a placeholder (`[chat.history omitted: message too large]`).
112
+ - `chat.inject` appends an assistant note to the session transcript and broadcasts a `chat` event for UI-only updates (no agent run, no channel delivery).
113
+ - Stop:
114
+ - Click **Stop** (calls `chat.abort`)
115
+ - Type `/stop` (or standalone abort phrases like `stop`, `stop action`, `stop run`, `stop quantumclaw`, `please stop`) to abort out-of-band
116
+ - `chat.abort` supports `{ sessionKey }` (no `runId`) to abort all active runs for that session
117
+ - Abort partial retention:
118
+ - When a run is aborted, partial assistant text can still be shown in the UI
119
+ - Gateway persists aborted partial assistant text into transcript history when buffered output exists
120
+ - Persisted entries include abort metadata so transcript consumers can tell abort partials from normal completion output
121
+
122
+ ## Tailnet access (recommended)
123
+
124
+ ### Integrated Tailscale Serve (preferred)
125
+
126
+ Keep the Gateway on loopback and let Tailscale Serve proxy it with HTTPS:
127
+
128
+ ```bash
129
+ quantumclaw gateway --tailscale serve
130
+ ```
131
+
132
+ Open:
133
+
134
+ - `https://<magicdns>/` (or your configured `gateway.controlUi.basePath`)
135
+
136
+ By default, Control UI/WebSocket Serve requests can authenticate via Tailscale identity headers
137
+ (`tailscale-user-login`) when `gateway.auth.allowTailscale` is `true`. QuantumClaw
138
+ verifies the identity by resolving the `x-forwarded-for` address with
139
+ `tailscale whois` and matching it to the header, and only accepts these when the
140
+ request hits loopback with Tailscale’s `x-forwarded-*` headers. Set
141
+ `gateway.auth.allowTailscale: false` (or force `gateway.auth.mode: "password"`)
142
+ if you want to require a token/password even for Serve traffic.
143
+ Tokenless Serve auth assumes the gateway host is trusted. If untrusted local
144
+ code may run on that host, require token/password auth.
145
+
146
+ ### Bind to tailnet + token
147
+
148
+ ```bash
149
+ quantumclaw gateway --bind tailnet --token "$(openssl rand -hex 32)"
150
+ ```
151
+
152
+ Then open:
153
+
154
+ - `http://<tailscale-ip>:18789/` (or your configured `gateway.controlUi.basePath`)
155
+
156
+ Paste the token into the UI settings (sent as `connect.params.auth.token`).
157
+
158
+ ## Insecure HTTP
159
+
160
+ If you open the dashboard over plain HTTP (`http://<lan-ip>` or `http://<tailscale-ip>`),
161
+ the browser runs in a **non-secure context** and blocks WebCrypto. By default,
162
+ QuantumClaw **blocks** Control UI connections without device identity.
163
+
164
+ **Recommended fix:** use HTTPS (Tailscale Serve) or open the UI locally:
165
+
166
+ - `https://<magicdns>/` (Serve)
167
+ - `http://127.0.0.1:18789/` (on the gateway host)
168
+
169
+ **Insecure-auth toggle behavior:**
170
+
171
+ ```json5
172
+ {
173
+ gateway: {
174
+ controlUi: { allowInsecureAuth: true },
175
+ bind: "tailnet",
176
+ auth: { mode: "token", token: "replace-me" },
177
+ },
178
+ }
179
+ ```
180
+
181
+ `allowInsecureAuth` is a local compatibility toggle only:
182
+
183
+ - It allows localhost Control UI sessions to proceed without device identity in
184
+ non-secure HTTP contexts.
185
+ - It does not bypass pairing checks.
186
+ - It does not relax remote (non-localhost) device identity requirements.
187
+
188
+ **Break-glass only:**
189
+
190
+ ```json5
191
+ {
192
+ gateway: {
193
+ controlUi: { dangerouslyDisableDeviceAuth: true },
194
+ bind: "tailnet",
195
+ auth: { mode: "token", token: "replace-me" },
196
+ },
197
+ }
198
+ ```
199
+
200
+ `dangerouslyDisableDeviceAuth` disables Control UI device identity checks and is a
201
+ severe security downgrade. Revert quickly after emergency use.
202
+
203
+ See [Tailscale](/gateway/tailscale) for HTTPS setup guidance.
204
+
205
+ ## Building the UI
206
+
207
+ The Gateway serves static files from `dist/control-ui`. Build them with:
208
+
209
+ ```bash
210
+ pnpm ui:build # auto-installs UI deps on first run
211
+ ```
212
+
213
+ Optional absolute base (when you want fixed asset URLs):
214
+
215
+ ```bash
216
+ QUANTUMCLAW_CONTROL_UI_BASE_PATH=/quantumclaw/ pnpm ui:build
217
+ ```
218
+
219
+ For local development (separate dev server):
220
+
221
+ ```bash
222
+ pnpm ui:dev # auto-installs UI deps on first run
223
+ ```
224
+
225
+ Then point the UI at your Gateway WS URL (e.g. `ws://127.0.0.1:18789`).
226
+
227
+ ## Debugging/testing: dev server + remote Gateway
228
+
229
+ The Control UI is static files; the WebSocket target is configurable and can be
230
+ different from the HTTP origin. This is handy when you want the Vite dev server
231
+ locally but the Gateway runs elsewhere.
232
+
233
+ 1. Start the UI dev server: `pnpm ui:dev`
234
+ 2. Open a URL like:
235
+
236
+ ```text
237
+ http://localhost:5173/?gatewayUrl=ws://<gateway-host>:18789
238
+ ```
239
+
240
+ Optional one-time auth (if needed):
241
+
242
+ ```text
243
+ http://localhost:5173/?gatewayUrl=wss://<gateway-host>:18789#token=<gateway-token>
244
+ ```
245
+
246
+ Notes:
247
+
248
+ - `gatewayUrl` is stored in localStorage after load and removed from the URL.
249
+ - `token` should be passed via the URL fragment (`#token=...`) whenever possible. Fragments are not sent to the server, which avoids request-log and Referer leakage. Legacy `?token=` query params are still imported once for compatibility, but only as a fallback, and are stripped immediately after bootstrap.
250
+ - `password` is kept in memory only.
251
+ - When `gatewayUrl` is set, the UI does not fall back to config or environment credentials.
252
+ Provide `token` (or `password`) explicitly. Missing explicit credentials is an error.
253
+ - Use `wss://` when the Gateway is behind TLS (Tailscale Serve, HTTPS proxy, etc.).
254
+ - `gatewayUrl` is only accepted in a top-level window (not embedded) to prevent clickjacking.
255
+ - Non-loopback Control UI deployments must set `gateway.controlUi.allowedOrigins`
256
+ explicitly (full origins). This includes remote dev setups.
257
+ - Do not use `gateway.controlUi.allowedOrigins: ["*"]` except for tightly controlled
258
+ local testing. It means allow any browser origin, not “match whatever host I am
259
+ using.”
260
+ - `gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback=true` enables
261
+ Host-header origin fallback mode, but it is a dangerous security mode.
262
+
263
+ Example:
264
+
265
+ ```json5
266
+ {
267
+ gateway: {
268
+ controlUi: {
269
+ allowedOrigins: ["http://localhost:5173"],
270
+ },
271
+ },
272
+ }
273
+ ```
274
+
275
+ Remote access setup details: [Remote access](/gateway/remote).
@@ -0,0 +1,54 @@
1
+ ---
2
+ summary: "Gateway dashboard (Control UI) access and auth"
3
+ read_when:
4
+ - Changing dashboard authentication or exposure modes
5
+ title: "Dashboard"
6
+ ---
7
+
8
+ # Dashboard (Control UI)
9
+
10
+ The Gateway dashboard is the browser Control UI served at `/` by default
11
+ (override with `gateway.controlUi.basePath`).
12
+
13
+ Quick open (local Gateway):
14
+
15
+ - [http://127.0.0.1:18789/](http://127.0.0.1:18789/) (or [http://localhost:18789/](http://localhost:18789/))
16
+
17
+ Key references:
18
+
19
+ - [Control UI](/web/control-ui) for usage and UI capabilities.
20
+ - [Tailscale](/gateway/tailscale) for Serve/Funnel automation.
21
+ - [Web surfaces](/web) for bind modes and security notes.
22
+
23
+ Authentication is enforced at the WebSocket handshake via `connect.params.auth`
24
+ (token or password). See `gateway.auth` in [Gateway configuration](/gateway/configuration).
25
+
26
+ Security note: the Control UI is an **admin surface** (chat, config, exec approvals).
27
+ Do not expose it publicly. The UI keeps dashboard URL tokens in sessionStorage
28
+ for the current browser tab session and selected gateway URL, and strips them from the URL after load.
29
+ Prefer localhost, Tailscale Serve, or an SSH tunnel.
30
+
31
+ ## Fast path (recommended)
32
+
33
+ - After onboarding, the CLI auto-opens the dashboard and prints a clean (non-tokenized) link.
34
+ - Re-open anytime: `quantumclaw dashboard` (copies link, opens browser if possible, shows SSH hint if headless).
35
+ - If the UI prompts for auth, paste the token from `gateway.auth.token` (or `QUANTUMCLAW_GATEWAY_TOKEN`) into Control UI settings.
36
+
37
+ ## Token basics (local vs remote)
38
+
39
+ - **Localhost**: open `http://127.0.0.1:18789/`.
40
+ - **Token source**: `gateway.auth.token` (or `QUANTUMCLAW_GATEWAY_TOKEN`); `quantumclaw dashboard` can pass it via URL fragment for one-time bootstrap, and the Control UI keeps it in sessionStorage for the current browser tab session and selected gateway URL instead of localStorage.
41
+ - If `gateway.auth.token` is SecretRef-managed, `quantumclaw dashboard` prints/copies/opens a non-tokenized URL by design. This avoids exposing externally managed tokens in shell logs, clipboard history, or browser-launch arguments.
42
+ - If `gateway.auth.token` is configured as a SecretRef and is unresolved in your current shell, `quantumclaw dashboard` still prints a non-tokenized URL plus actionable auth setup guidance.
43
+ - **Not localhost**: use Tailscale Serve (tokenless for Control UI/WebSocket if `gateway.auth.allowTailscale: true`, assumes trusted gateway host; HTTP APIs still need token/password), tailnet bind with a token, or an SSH tunnel. See [Web surfaces](/web).
44
+
45
+ ## If you see "unauthorized" / 1008
46
+
47
+ - Ensure the gateway is reachable (local: `quantumclaw status`; remote: SSH tunnel `ssh -N -L 18789:127.0.0.1:18789 user@host` then open `http://127.0.0.1:18789/`).
48
+ - For `AUTH_TOKEN_MISMATCH`, clients may do one trusted retry with a cached device token when the gateway returns retry hints. If auth still fails after that retry, resolve token drift manually.
49
+ - For token drift repair steps, follow [Token drift recovery checklist](/cli/devices#token-drift-recovery-checklist).
50
+ - Retrieve or supply the token from the gateway host:
51
+ - Plaintext config: `quantumclaw config get gateway.auth.token`
52
+ - SecretRef-managed config: resolve the external secret provider or export `QUANTUMCLAW_GATEWAY_TOKEN` in this shell, then rerun `quantumclaw dashboard`
53
+ - No token configured: `quantumclaw doctor --generate-gateway-token`
54
+ - In the dashboard settings, paste the token into the auth field, then connect.
@@ -0,0 +1,120 @@
1
+ ---
2
+ summary: "Gateway web surfaces: Control UI, bind modes, and security"
3
+ read_when:
4
+ - You want to access the Gateway over Tailscale
5
+ - You want the browser Control UI and config editing
6
+ title: "Web"
7
+ ---
8
+
9
+ # Web (Gateway)
10
+
11
+ The Gateway serves a small **browser Control UI** (Vite + Lit) from the same port as the Gateway WebSocket:
12
+
13
+ - default: `http://<host>:18789/`
14
+ - optional prefix: set `gateway.controlUi.basePath` (e.g. `/quantumclaw`)
15
+
16
+ Capabilities live in [Control UI](/web/control-ui).
17
+ This page focuses on bind modes, security, and web-facing surfaces.
18
+
19
+ ## Webhooks
20
+
21
+ When `hooks.enabled=true`, the Gateway also exposes a small webhook endpoint on the same HTTP server.
22
+ See [Gateway configuration](/gateway/configuration) → `hooks` for auth + payloads.
23
+
24
+ ## Config (default-on)
25
+
26
+ The Control UI is **enabled by default** when assets are present (`dist/control-ui`).
27
+ You can control it via config:
28
+
29
+ ```json5
30
+ {
31
+ gateway: {
32
+ controlUi: { enabled: true, basePath: "/quantumclaw" }, // basePath optional
33
+ },
34
+ }
35
+ ```
36
+
37
+ ## Tailscale access
38
+
39
+ ### Integrated Serve (recommended)
40
+
41
+ Keep the Gateway on loopback and let Tailscale Serve proxy it:
42
+
43
+ ```json5
44
+ {
45
+ gateway: {
46
+ bind: "loopback",
47
+ tailscale: { mode: "serve" },
48
+ },
49
+ }
50
+ ```
51
+
52
+ Then start the gateway:
53
+
54
+ ```bash
55
+ quantumclaw gateway
56
+ ```
57
+
58
+ Open:
59
+
60
+ - `https://<magicdns>/` (or your configured `gateway.controlUi.basePath`)
61
+
62
+ ### Tailnet bind + token
63
+
64
+ ```json5
65
+ {
66
+ gateway: {
67
+ bind: "tailnet",
68
+ controlUi: { enabled: true },
69
+ auth: { mode: "token", token: "your-token" },
70
+ },
71
+ }
72
+ ```
73
+
74
+ Then start the gateway (token required for non-loopback binds):
75
+
76
+ ```bash
77
+ quantumclaw gateway
78
+ ```
79
+
80
+ Open:
81
+
82
+ - `http://<tailscale-ip>:18789/` (or your configured `gateway.controlUi.basePath`)
83
+
84
+ ### Public internet (Funnel)
85
+
86
+ ```json5
87
+ {
88
+ gateway: {
89
+ bind: "loopback",
90
+ tailscale: { mode: "funnel" },
91
+ auth: { mode: "password" }, // or QUANTUMCLAW_GATEWAY_PASSWORD
92
+ },
93
+ }
94
+ ```
95
+
96
+ ## Security notes
97
+
98
+ - Gateway auth is required by default (token/password or Tailscale identity headers).
99
+ - Non-loopback binds still **require** a shared token/password (`gateway.auth` or env).
100
+ - The wizard generates a gateway token by default (even on loopback).
101
+ - The UI sends `connect.params.auth.token` or `connect.params.auth.password`.
102
+ - For non-loopback Control UI deployments, set `gateway.controlUi.allowedOrigins`
103
+ explicitly (full origins). Without it, gateway startup is refused by default.
104
+ - `gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback=true` enables
105
+ Host-header origin fallback mode, but is a dangerous security downgrade.
106
+ - With Serve, Tailscale identity headers can satisfy Control UI/WebSocket auth
107
+ when `gateway.auth.allowTailscale` is `true` (no token/password required).
108
+ HTTP API endpoints still require token/password. Set
109
+ `gateway.auth.allowTailscale: false` to require explicit credentials. See
110
+ [Tailscale](/gateway/tailscale) and [Security](/gateway/security). This
111
+ tokenless flow assumes the gateway host is trusted.
112
+ - `gateway.tailscale.mode: "funnel"` requires `gateway.auth.mode: "password"` (shared password).
113
+
114
+ ## Building the UI
115
+
116
+ The Gateway serves static files from `dist/control-ui`. Build them with:
117
+
118
+ ```bash
119
+ pnpm ui:build # auto-installs UI deps on first run
120
+ ```
@@ -0,0 +1,170 @@
1
+ ---
2
+ summary: "Terminal UI (TUI): connect to the Gateway from any machine"
3
+ read_when:
4
+ - You want a beginner-friendly walkthrough of the TUI
5
+ - You need the complete list of TUI features, commands, and shortcuts
6
+ title: "TUI"
7
+ ---
8
+
9
+ # TUI (Terminal UI)
10
+
11
+ ## Quick start
12
+
13
+ 1. Start the Gateway.
14
+
15
+ ```bash
16
+ quantumclaw gateway
17
+ ```
18
+
19
+ 2. Open the TUI.
20
+
21
+ ```bash
22
+ quantumclaw tui
23
+ ```
24
+
25
+ 3. Type a message and press Enter.
26
+
27
+ Remote Gateway:
28
+
29
+ ```bash
30
+ quantumclaw tui --url ws://<host>:<port> --token <gateway-token>
31
+ ```
32
+
33
+ Use `--password` if your Gateway uses password auth.
34
+
35
+ ## What you see
36
+
37
+ - Header: connection URL, current agent, current session.
38
+ - Chat log: user messages, assistant replies, system notices, tool cards.
39
+ - Status line: connection/run state (connecting, running, streaming, idle, error).
40
+ - Footer: connection state + agent + session + model + think/fast/verbose/reasoning + token counts + deliver.
41
+ - Input: text editor with autocomplete.
42
+
43
+ ## Mental model: agents + sessions
44
+
45
+ - Agents are unique slugs (e.g. `main`, `research`). The Gateway exposes the list.
46
+ - Sessions belong to the current agent.
47
+ - Session keys are stored as `agent:<agentId>:<sessionKey>`.
48
+ - If you type `/session main`, the TUI expands it to `agent:<currentAgent>:main`.
49
+ - If you type `/session agent:other:main`, you switch to that agent session explicitly.
50
+ - Session scope:
51
+ - `per-sender` (default): each agent has many sessions.
52
+ - `global`: the TUI always uses the `global` session (the picker may be empty).
53
+ - The current agent + session are always visible in the footer.
54
+
55
+ ## Sending + delivery
56
+
57
+ - Messages are sent to the Gateway; delivery to providers is off by default.
58
+ - Turn delivery on:
59
+ - `/deliver on`
60
+ - or the Settings panel
61
+ - or start with `quantumclaw tui --deliver`
62
+
63
+ ## Pickers + overlays
64
+
65
+ - Model picker: list available models and set the session override.
66
+ - Agent picker: choose a different agent.
67
+ - Session picker: shows only sessions for the current agent.
68
+ - Settings: toggle deliver, tool output expansion, and thinking visibility.
69
+
70
+ ## Keyboard shortcuts
71
+
72
+ - Enter: send message
73
+ - Esc: abort active run
74
+ - Ctrl+C: clear input (press twice to exit)
75
+ - Ctrl+D: exit
76
+ - Ctrl+L: model picker
77
+ - Ctrl+G: agent picker
78
+ - Ctrl+P: session picker
79
+ - Ctrl+O: toggle tool output expansion
80
+ - Ctrl+T: toggle thinking visibility (reloads history)
81
+
82
+ ## Slash commands
83
+
84
+ Core:
85
+
86
+ - `/help`
87
+ - `/status`
88
+ - `/agent <id>` (or `/agents`)
89
+ - `/session <key>` (or `/sessions`)
90
+ - `/model <provider/model>` (or `/models`)
91
+
92
+ Session controls:
93
+
94
+ - `/think <off|minimal|low|medium|high>`
95
+ - `/fast <status|on|off>`
96
+ - `/verbose <on|full|off>`
97
+ - `/reasoning <on|off|stream>`
98
+ - `/usage <off|tokens|full>`
99
+ - `/elevated <on|off|ask|full>` (alias: `/elev`)
100
+ - `/activation <mention|always>`
101
+ - `/deliver <on|off>`
102
+
103
+ Session lifecycle:
104
+
105
+ - `/new` or `/reset` (reset the session)
106
+ - `/abort` (abort the active run)
107
+ - `/settings`
108
+ - `/exit`
109
+
110
+ Other Gateway slash commands (for example, `/context`) are forwarded to the Gateway and shown as system output. See [Slash commands](/tools/slash-commands).
111
+
112
+ ## Local shell commands
113
+
114
+ - Prefix a line with `!` to run a local shell command on the TUI host.
115
+ - The TUI prompts once per session to allow local execution; declining keeps `!` disabled for the session.
116
+ - Commands run in a fresh, non-interactive shell in the TUI working directory (no persistent `cd`/env).
117
+ - Local shell commands receive `QUANTUMCLAW_SHELL=tui-local` in their environment.
118
+ - A lone `!` is sent as a normal message; leading spaces do not trigger local exec.
119
+
120
+ ## Tool output
121
+
122
+ - Tool calls show as cards with args + results.
123
+ - Ctrl+O toggles between collapsed/expanded views.
124
+ - While tools run, partial updates stream into the same card.
125
+
126
+ ## Terminal colors
127
+
128
+ - The TUI keeps assistant body text in your terminal's default foreground so dark and light terminals both stay readable.
129
+ - If your terminal uses a light background and auto-detection is wrong, set `QUANTUMCLAW_THEME=light` before launching `quantumclaw tui`.
130
+ - To force the original dark palette instead, set `QUANTUMCLAW_THEME=dark`.
131
+
132
+ ## History + streaming
133
+
134
+ - On connect, the TUI loads the latest history (default 200 messages).
135
+ - Streaming responses update in place until finalized.
136
+ - The TUI also listens to agent tool events for richer tool cards.
137
+
138
+ ## Connection details
139
+
140
+ - The TUI registers with the Gateway as `mode: "tui"`.
141
+ - Reconnects show a system message; event gaps are surfaced in the log.
142
+
143
+ ## Options
144
+
145
+ - `--url <url>`: Gateway WebSocket URL (defaults to config or `ws://127.0.0.1:<port>`)
146
+ - `--token <token>`: Gateway token (if required)
147
+ - `--password <password>`: Gateway password (if required)
148
+ - `--session <key>`: Session key (default: `main`, or `global` when scope is global)
149
+ - `--deliver`: Deliver assistant replies to the provider (default off)
150
+ - `--thinking <level>`: Override thinking level for sends
151
+ - `--timeout-ms <ms>`: Agent timeout in ms (defaults to `agents.defaults.timeoutSeconds`)
152
+
153
+ Note: when you set `--url`, the TUI does not fall back to config or environment credentials.
154
+ Pass `--token` or `--password` explicitly. Missing explicit credentials is an error.
155
+
156
+ ## Troubleshooting
157
+
158
+ No output after sending a message:
159
+
160
+ - Run `/status` in the TUI to confirm the Gateway is connected and idle/busy.
161
+ - Check the Gateway logs: `quantumclaw logs --follow`.
162
+ - Confirm the agent can run: `quantumclaw status` and `quantumclaw models status`.
163
+ - If you expect messages in a chat channel, enable delivery (`/deliver on` or `--deliver`).
164
+ - `--history-limit <n>`: History entries to load (default 200)
165
+
166
+ ## Connection troubleshooting
167
+
168
+ - `disconnected`: ensure the Gateway is running and your `--url/--token/--password` are correct.
169
+ - No agents in picker: check `quantumclaw agents list` and your routing config.
170
+ - Empty session picker: you might be in global scope or have no sessions yet.
@@ -0,0 +1,61 @@
1
+ ---
2
+ summary: "Loopback WebChat static host and Gateway WS usage for chat UI"
3
+ read_when:
4
+ - Debugging or configuring WebChat access
5
+ title: "WebChat"
6
+ ---
7
+
8
+ # WebChat (Gateway WebSocket UI)
9
+
10
+ Status: the macOS/iOS SwiftUI chat UI talks directly to the Gateway WebSocket.
11
+
12
+ ## What it is
13
+
14
+ - A native chat UI for the gateway (no embedded browser and no local static server).
15
+ - Uses the same sessions and routing rules as other channels.
16
+ - Deterministic routing: replies always go back to WebChat.
17
+
18
+ ## Quick start
19
+
20
+ 1. Start the gateway.
21
+ 2. Open the WebChat UI (macOS/iOS app) or the Control UI chat tab.
22
+ 3. Ensure gateway auth is configured (required by default, even on loopback).
23
+
24
+ ## How it works (behavior)
25
+
26
+ - The UI connects to the Gateway WebSocket and uses `chat.history`, `chat.send`, and `chat.inject`.
27
+ - `chat.history` is bounded for stability: Gateway may truncate long text fields, omit heavy metadata, and replace oversized entries with `[chat.history omitted: message too large]`.
28
+ - `chat.inject` appends an assistant note directly to the transcript and broadcasts it to the UI (no agent run).
29
+ - Aborted runs can keep partial assistant output visible in the UI.
30
+ - Gateway persists aborted partial assistant text into transcript history when buffered output exists, and marks those entries with abort metadata.
31
+ - History is always fetched from the gateway (no local file watching).
32
+ - If the gateway is unreachable, WebChat is read-only.
33
+
34
+ ## Control UI agents tools panel
35
+
36
+ - The Control UI `/agents` Tools panel fetches a runtime catalog via `tools.catalog` and labels each
37
+ tool as `core` or `plugin:<id>` (plus `optional` for optional plugin tools).
38
+ - If `tools.catalog` is unavailable, the panel falls back to a built-in static list.
39
+ - The panel edits profile and override config, but effective runtime access still follows policy
40
+ precedence (`allow`/`deny`, per-agent and provider/channel overrides).
41
+
42
+ ## Remote use
43
+
44
+ - Remote mode tunnels the gateway WebSocket over SSH/Tailscale.
45
+ - You do not need to run a separate WebChat server.
46
+
47
+ ## Configuration reference (WebChat)
48
+
49
+ Full configuration: [Configuration](/gateway/configuration)
50
+
51
+ Channel options:
52
+
53
+ - No dedicated `webchat.*` block. WebChat uses the gateway endpoint + auth settings below.
54
+
55
+ Related global options:
56
+
57
+ - `gateway.port`, `gateway.bind`: WebSocket host/port.
58
+ - `gateway.auth.mode`, `gateway.auth.token`, `gateway.auth.password`: WebSocket auth (token/password).
59
+ - `gateway.auth.mode: "trusted-proxy"`: reverse-proxy auth for browser clients (see [Trusted Proxy Auth](/gateway/trusted-proxy-auth)).
60
+ - `gateway.remote.url`, `gateway.remote.token`, `gateway.remote.password`: remote gateway target.
61
+ - `session.*`: session storage and main key defaults.
Binary file
Binary file