@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,123 @@
1
+ ---
2
+ read_when:
3
+ - 正在开发 Gateway 网关协议、客户端或传输层
4
+ summary: WebSocket Gateway 网关架构、组件和客户端流程
5
+ title: Gateway 网关架构
6
+ x-i18n:
7
+ generated_at: "2026-02-03T07:45:55Z"
8
+ model: claude-opus-4-5
9
+ provider: pi
10
+ source_hash: c636d5d8a5e628067432b30671466309e3d630b106d413f1708765bf2a9399a1
11
+ source_path: concepts/architecture.md
12
+ workflow: 15
13
+ ---
14
+
15
+ # Gateway 网关架构
16
+
17
+ 最后更新:2026-01-22
18
+
19
+ ## 概述
20
+
21
+ - 单个长期运行的 **Gateway 网关**拥有所有消息平台(通过 Baileys 的 WhatsApp、通过 grammY 的 Telegram、Slack、Discord、Signal、iMessage、WebChat)。
22
+ - 控制平面客户端(macOS 应用、CLI、Web 界面、自动化)通过配置的绑定主机(默认 `127.0.0.1:18789`)上的 **WebSocket** 连接到 Gateway 网关。
23
+ - **节点**(macOS/iOS/Android/无头设备)也通过 **WebSocket** 连接,但声明 `role: node` 并带有明确的能力/命令。
24
+ - 每台主机一个 Gateway 网关;它是唯一打开 WhatsApp 会话的位置。
25
+ - **canvas 主机**(默认 `18793`)提供智能体可编辑的 HTML 和 A2UI。
26
+
27
+ ## 组件和流程
28
+
29
+ ### Gateway 网关(守护进程)
30
+
31
+ - 维护提供商连接。
32
+ - 暴露类型化的 WS API(请求、响应、服务器推送事件)。
33
+ - 根据 JSON Schema 验证入站帧。
34
+ - 发出事件如 `agent`、`chat`、`presence`、`health`、`heartbeat`、`cron`。
35
+
36
+ ### 客户端(mac 应用 / CLI / web 管理)
37
+
38
+ - 每个客户端一个 WS 连接。
39
+ - 发送请求(`health`、`status`、`send`、`agent`、`system-presence`)。
40
+ - 订阅事件(`tick`、`agent`、`presence`、`shutdown`)。
41
+
42
+ ### 节点(macOS / iOS / Android / 无头设备)
43
+
44
+ - 以 `role: node` 连接到**同一个 WS 服务器**。
45
+ - 在 `connect` 中提供设备身份;配对是**基于设备**的(角色为 `node`),批准存储在设备配对存储中。
46
+ - 暴露命令如 `canvas.*`、`camera.*`、`screen.record`、`location.get`。
47
+
48
+ 协议详情:
49
+
50
+ - [Gateway 网关协议](/gateway/protocol)
51
+
52
+ ### WebChat
53
+
54
+ - 静态界面,使用 Gateway 网关 WS API 获取聊天历史和发送消息。
55
+ - 在远程设置中,通过与其他客户端相同的 SSH/Tailscale 隧道连接。
56
+
57
+ ## 连接生命周期(单个客户端)
58
+
59
+ ```
60
+ Client Gateway
61
+ | |
62
+ |---- req:connect -------->|
63
+ |<------ res (ok) ---------| (or res error + close)
64
+ | (payload=hello-ok carries snapshot: presence + health)
65
+ | |
66
+ |<------ event:presence ---|
67
+ |<------ event:tick -------|
68
+ | |
69
+ |------- req:agent ------->|
70
+ |<------ res:agent --------| (ack: {runId,status:"accepted"})
71
+ |<------ event:agent ------| (streaming)
72
+ |<------ res:agent --------| (final: {runId,status,summary})
73
+ | |
74
+ ```
75
+
76
+ ## 线路协议(摘要)
77
+
78
+ - 传输:WebSocket,带 JSON 载荷的文本帧。
79
+ - 第一帧**必须**是 `connect`。
80
+ - 握手后:
81
+ - 请求:`{type:"req", id, method, params}` → `{type:"res", id, ok, payload|error}`
82
+ - 事件:`{type:"event", event, payload, seq?, stateVersion?}`
83
+ - 如果设置了 `QUANTUMCLAW_GATEWAY_TOKEN`(或 `--token`),`connect.params.auth.token` 必须匹配,否则套接字关闭。
84
+ - 有副作用的方法(`send`、`agent`)需要幂等键以安全重试;服务器保持短期去重缓存。
85
+ - 节点必须在 `connect` 中包含 `role: "node"` 以及能力/命令/权限。
86
+
87
+ ## 配对 + 本地信任
88
+
89
+ - 所有 WS 客户端(操作员 + 节点)在 `connect` 时包含**设备身份**。
90
+ - 新设备 ID 需要配对批准;Gateway 网关为后续连接颁发**设备令牌**。
91
+ - **本地**连接(loopback 或 Gateway 网关主机自身的 tailnet 地址)可以自动批准以保持同主机用户体验流畅。
92
+ - **非本地**连接必须签名 `connect.challenge` nonce 并需要明确批准。
93
+ - Gateway 网关认证(`gateway.auth.*`)仍适用于**所有**连接,无论本地还是远程。
94
+
95
+ 详情:[Gateway 网关协议](/gateway/protocol)、[配对](/channels/pairing)、[安全](/gateway/security)。
96
+
97
+ ## 协议类型和代码生成
98
+
99
+ - TypeBox 模式定义协议。
100
+ - 从这些模式生成 JSON Schema。
101
+ - 从 JSON Schema 生成 Swift 模型。
102
+
103
+ ## 远程访问
104
+
105
+ - 推荐:Tailscale 或 VPN。
106
+ - 替代方案:SSH 隧道
107
+ ```bash
108
+ ssh -N -L 18789:127.0.0.1:18789 user@host
109
+ ```
110
+ - 相同的握手 + 认证令牌适用于隧道连接。
111
+ - 远程设置中可以为 WS 启用 TLS + 可选的证书固定。
112
+
113
+ ## 操作快照
114
+
115
+ - 启动:`quantumclaw gateway`(前台,日志输出到 stdout)。
116
+ - 健康检查:通过 WS 的 `health`(也包含在 `hello-ok` 中)。
117
+ - 监控:使用 launchd/systemd 自动重启。
118
+
119
+ ## 不变量
120
+
121
+ - 每台主机恰好一个 Gateway 网关控制单个 Baileys 会话。
122
+ - 握手是强制的;任何非 JSON 或非 connect 的第一帧都会导致硬关闭。
123
+ - 事件不会重放;客户端必须在出现间隙时刷新。
@@ -0,0 +1,67 @@
1
+ ---
2
+ read_when:
3
+ - 你想了解自动压缩和 /compact
4
+ - 你正在调试长会话触及上下文限制的问题
5
+ summary: 上下文窗口 + 压缩:QuantumClaw 如何将会话保持在模型限制内
6
+ title: 压缩
7
+ x-i18n:
8
+ generated_at: "2026-02-01T20:22:17Z"
9
+ model: claude-opus-4-5
10
+ provider: pi
11
+ source_hash: e1d6791f2902044b5798ebf9320a7d055d37211eff4be03caa35d7e328ae803c
12
+ source_path: concepts/compaction.md
13
+ workflow: 14
14
+ ---
15
+
16
+ # 上下文窗口与压缩
17
+
18
+ 每个模型都有一个**上下文窗口**(可见的最大 token 数)。长时间运行的对话会累积消息和工具结果;一旦窗口空间紧张,QuantumClaw 会**压缩**较早的历史记录以保持在限制范围内。
19
+
20
+ ## 什么是压缩
21
+
22
+ 压缩会将**较早的对话总结**为一条紧凑的摘要条目,并保持近期消息不变。摘要存储在会话历史中,因此后续请求使用的是:
23
+
24
+ - 压缩摘要
25
+ - 压缩点之后的近期消息
26
+
27
+ 压缩会**持久化**到会话的 JSONL 历史记录中。
28
+
29
+ ## 配置
30
+
31
+ 有关 `agents.defaults.compaction` 设置,请参阅[压缩配置与模式](/concepts/compaction)。
32
+
33
+ ## 自动压缩(默认开启)
34
+
35
+ 当会话接近或超过模型的上下文窗口时,QuantumClaw 会触发自动压缩,并可能使用压缩后的上下文重试原始请求。
36
+
37
+ 你会看到:
38
+
39
+ - 详细模式下显示 `🧹 Auto-compaction complete`
40
+ - `/status` 显示 `🧹 Compactions: <count>`
41
+
42
+ 在压缩之前,QuantumClaw 可以运行一次**静默记忆刷写**轮次,将持久化笔记写入磁盘。详情及配置请参阅[记忆](/concepts/memory)。
43
+
44
+ ## 手动压缩
45
+
46
+ 使用 `/compact`(可选附带指令)强制执行一次压缩:
47
+
48
+ ```
49
+ /compact Focus on decisions and open questions
50
+ ```
51
+
52
+ ## 上下文窗口来源
53
+
54
+ 上下文窗口因模型而异。QuantumClaw 使用已配置提供商目录中的模型定义来确定限制。
55
+
56
+ ## 压缩与修剪
57
+
58
+ - **压缩**:总结并**持久化**到 JSONL 中。
59
+ - **会话修剪**:仅裁剪旧的**工具结果**,**在内存中**按请求进行。
60
+
61
+ 有关修剪的详情,请参阅 [/concepts/session-pruning](/concepts/session-pruning)。
62
+
63
+ ## 提示
64
+
65
+ - 当会话感觉过时或上下文臃肿时,使用 `/compact`。
66
+ - 大型工具输出已被截断;修剪可以进一步减少工具结果的堆积。
67
+ - 如果你需要全新开始,`/new` 或 `/reset` 会启动一个新的会话 ID。
@@ -0,0 +1,168 @@
1
+ ---
2
+ read_when:
3
+ - 你想了解 QuantumClaw 中"上下文"的含义
4
+ - 你在调试为什么模型"知道"某些内容(或忘记了)
5
+ - 你想减少上下文开销(/context、/status、/compact)
6
+ summary: 上下文:模型看到的内容、如何构建以及如何检查
7
+ title: 上下文
8
+ x-i18n:
9
+ generated_at: "2026-02-03T07:46:15Z"
10
+ model: claude-opus-4-5
11
+ provider: pi
12
+ source_hash: b32867b9b93254fdd1077d0d97c203cabfdba3330bb941693c83feba8e5db0cc
13
+ source_path: concepts/context.md
14
+ workflow: 15
15
+ ---
16
+
17
+ # 上下文
18
+
19
+ "上下文"是 **QuantumClaw 在一次运行中发送给模型的所有内容**。它受模型的**上下文窗口**(token 限制)约束。
20
+
21
+ 新手心智模型:
22
+
23
+ - **系统提示词**(QuantumClaw 构建):规则、工具、Skills 列表、时间/运行时,以及注入的工作区文件。
24
+ - **对话历史**:你的消息 + 助手在此会话中的消息。
25
+ - **工具调用/结果 + 附件**:命令输出、文件读取、图片/音频等。
26
+
27
+ 上下文与"记忆"_不是同一回事_:记忆可以存储在磁盘上并稍后重新加载;上下文是模型当前窗口内的内容。
28
+
29
+ ## 快速开始(检查上下文)
30
+
31
+ - `/status` → 快速查看"我的窗口有多满?" + 会话设置。
32
+ - `/context list` → 注入了什么 + 大致大小(每个文件 + 总计)。
33
+ - `/context detail` → 更深入的分解:每个文件、每个工具 schema 大小、每个 Skills 条目大小和系统提示词大小。
34
+ - `/usage tokens` → 在正常回复后附加每次回复的使用量页脚。
35
+ - `/compact` → 将较旧的历史总结为紧凑条目以释放窗口空间。
36
+
37
+ 另请参阅:[斜杠命令](/tools/slash-commands)、[Token 使用与成本](/reference/token-use)、[压缩](/concepts/compaction)。
38
+
39
+ ## 示例输出
40
+
41
+ 数值因模型、提供商、工具策略和工作区内容而异。
42
+
43
+ ### `/context list`
44
+
45
+ ```
46
+ 🧠 Context breakdown
47
+ Workspace: <workspaceDir>
48
+ Bootstrap max/file: 20,000 chars
49
+ Sandbox: mode=non-main sandboxed=false
50
+ System prompt (run): 38,412 chars (~9,603 tok) (Project Context 23,901 chars (~5,976 tok))
51
+
52
+ Injected workspace files:
53
+ - AGENTS.md: OK | raw 1,742 chars (~436 tok) | injected 1,742 chars (~436 tok)
54
+ - SOUL.md: OK | raw 912 chars (~228 tok) | injected 912 chars (~228 tok)
55
+ - TOOLS.md: TRUNCATED | raw 54,210 chars (~13,553 tok) | injected 20,962 chars (~5,241 tok)
56
+ - IDENTITY.md: OK | raw 211 chars (~53 tok) | injected 211 chars (~53 tok)
57
+ - USER.md: OK | raw 388 chars (~97 tok) | injected 388 chars (~97 tok)
58
+ - HEARTBEAT.md: MISSING | raw 0 | injected 0
59
+ - BOOTSTRAP.md: OK | raw 0 chars (~0 tok) | injected 0 chars (~0 tok)
60
+
61
+ Skills list (system prompt text): 2,184 chars (~546 tok) (12 skills)
62
+ Tools: read, edit, write, exec, process, browser, message, sessions_send, …
63
+ Tool list (system prompt text): 1,032 chars (~258 tok)
64
+ Tool schemas (JSON): 31,988 chars (~7,997 tok) (counts toward context; not shown as text)
65
+ Tools: (same as above)
66
+
67
+ Session tokens (cached): 14,250 total / ctx=32,000
68
+ ```
69
+
70
+ ### `/context detail`
71
+
72
+ ```
73
+ 🧠 Context breakdown (detailed)
74
+
75
+ Top skills (prompt entry size):
76
+ - frontend-design: 412 chars (~103 tok)
77
+ - oracle: 401 chars (~101 tok)
78
+ … (+10 more skills)
79
+
80
+ Top tools (schema size):
81
+ - browser: 9,812 chars (~2,453 tok)
82
+ - exec: 6,240 chars (~1,560 tok)
83
+ … (+N more tools)
84
+ ```
85
+
86
+ ## 什么计入上下文窗口
87
+
88
+ 模型接收的所有内容都计入,包括:
89
+
90
+ - 系统提示词(所有部分)。
91
+ - 对话历史。
92
+ - 工具调用 + 工具结果。
93
+ - 附件/转录(图片/音频/文件)。
94
+ - 压缩摘要和修剪产物。
95
+ - 提供商"包装器"或隐藏头部(不可见,仍然计数)。
96
+
97
+ ## QuantumClaw 如何构建系统提示词
98
+
99
+ 系统提示词由 **QuantumClaw 拥有**,每次运行时重建。它包括:
100
+
101
+ - 工具列表 + 简短描述。
102
+ - Skills 列表(仅元数据;见下文)。
103
+ - 工作区位置。
104
+ - 时间(UTC + 如果配置了则转换为用户时间)。
105
+ - 运行时元数据(主机/操作系统/模型/思考)。
106
+ - 在**项目上下文**下注入的工作区引导文件。
107
+
108
+ 完整分解:[系统提示词](/concepts/system-prompt)。
109
+
110
+ ## 注入的工作区文件(项目上下文)
111
+
112
+ 默认情况下,QuantumClaw 注入一组固定的工作区文件(如果存在):
113
+
114
+ - `AGENTS.md`
115
+ - `SOUL.md`
116
+ - `TOOLS.md`
117
+ - `IDENTITY.md`
118
+ - `USER.md`
119
+ - `HEARTBEAT.md`
120
+ - `BOOTSTRAP.md`(仅首次运行)
121
+
122
+ 大文件按文件使用 `agents.defaults.bootstrapMaxChars`(默认 `20000` 字符)截断。`/context` 显示**原始 vs 注入**大小以及是否发生了截断。
123
+
124
+ ## Skills:注入的内容 vs 按需加载的内容
125
+
126
+ 系统提示词包含一个紧凑的 **Skills 列表**(名称 + 描述 + 位置)。此列表有实际开销。
127
+
128
+ Skill 指令默认*不*包含。模型应该**仅在需要时**`read` Skill 的 `SKILL.md`。
129
+
130
+ ## 工具:有两种成本
131
+
132
+ 工具以两种方式影响上下文:
133
+
134
+ 1. 系统提示词中的**工具列表文本**(你看到的"Tooling")。
135
+ 2. **工具 schema**(JSON)。这些发送给模型以便它可以调用工具。它们计入上下文,即使你看不到它们作为纯文本。
136
+
137
+ `/context detail` 分解最大的工具 schema,以便你可以看到什么占主导。
138
+
139
+ ## 命令、指令和"内联快捷方式"
140
+
141
+ 斜杠命令由 Gateway 网关处理。有几种不同的行为:
142
+
143
+ - **独立命令**:仅为 `/...` 的消息作为命令运行。
144
+ - **指令**:`/think`、`/verbose`、`/reasoning`、`/elevated`、`/model`、`/queue` 在模型看到消息之前被剥离。
145
+ - 仅指令消息会持久化会话设置。
146
+ - 正常消息中的内联指令作为每条消息的提示。
147
+ - **内联快捷方式**(仅允许列表中的发送者):正常消息中的某些 `/...` token 可以立即运行(例如:"hey /status"),并在模型看到剩余文本之前被剥离。
148
+
149
+ 详情:[斜杠命令](/tools/slash-commands)。
150
+
151
+ ## 会话、压缩和修剪(什么会持久化)
152
+
153
+ 什么在消息之间持久化取决于机制:
154
+
155
+ - **正常历史**在会话记录中持久化,直到被策略压缩/修剪。
156
+ - **压缩**将摘要持久化到记录中,并保持最近的消息不变。
157
+ - **修剪**从运行的*内存中*提示词中删除旧的工具结果,但不重写记录。
158
+
159
+ 文档:[会话](/concepts/session)、[压缩](/concepts/compaction)、[会话修剪](/concepts/session-pruning)。
160
+
161
+ ## `/context` 实际报告什么
162
+
163
+ `/context` 在可用时优先使用最新的**运行构建的**系统提示词报告:
164
+
165
+ - `System prompt (run)` = 从最后一次嵌入式(具有工具能力的)运行中捕获,并持久化在会话存储中。
166
+ - `System prompt (estimate)` = 当没有运行报告存在时(或通过不生成报告的 CLI 后端运行时)即时计算。
167
+
168
+ 无论哪种方式,它都报告大小和主要贡献者;它**不会**转储完整的系统提示词或工具 schema。
@@ -0,0 +1,59 @@
1
+ ---
2
+ read_when:
3
+ - 你想了解 QuantumClaw 支持的完整功能列表
4
+ summary: QuantumClaw 在渠道、路由、媒体和用户体验方面的功能。
5
+ title: 功能
6
+ x-i18n:
7
+ generated_at: "2026-02-04T17:53:22Z"
8
+ model: claude-opus-4-5
9
+ provider: pi
10
+ source_hash: 1b6aee0bfda751824cb6b3a99080b4c80c00ffb355a96f9cff1b596d55d15ed4
11
+ source_path: concepts/features.md
12
+ workflow: 15
13
+ ---
14
+
15
+ ## 亮点
16
+
17
+ <Columns>
18
+ <Card title="渠道" icon="message-square">
19
+ 通过单个 Gateway 网关支持 WhatsApp、Telegram、Discord 和 iMessage。
20
+ </Card>
21
+ <Card title="插件" icon="plug">
22
+ 通过扩展添加 Mattermost 等更多平台。
23
+ </Card>
24
+ <Card title="路由" icon="route">
25
+ 多智能体路由,支持隔离会话。
26
+ </Card>
27
+ <Card title="媒体" icon="image">
28
+ 支持图片、音频和文档的收发。
29
+ </Card>
30
+ <Card title="应用与界面" icon="monitor">
31
+ Web 控制界面和 macOS 配套应用。
32
+ </Card>
33
+ <Card title="移动节点" icon="smartphone">
34
+ iOS 和 Android 节点,支持 Canvas。
35
+ </Card>
36
+ </Columns>
37
+
38
+ ## 完整列表
39
+
40
+ - 通过 WhatsApp Web(Baileys)集成 WhatsApp
41
+ - Telegram 机器人支持(grammY)
42
+ - Discord 机器人支持(channels.discord.js)
43
+ - Mattermost 机器人支持(插件)
44
+ - 通过本地 imsg CLI 集成 iMessage(macOS)
45
+ - Pi 的智能体桥接,支持 RPC 模式和工具流式传输
46
+ - 长响应的流式传输和分块处理
47
+ - 多智能体路由,按工作区或发送者隔离会话
48
+ - 通过 OAuth 进行 Anthropic 和 OpenAI 的订阅认证
49
+ - 会话:私信合并为共享的 `main`;群组相互隔离
50
+ - 群聊支持,通过提及激活
51
+ - 图片、音频和文档的媒体支持
52
+ - 可选的语音消息转录钩子
53
+ - WebChat 和 macOS 菜单栏应用
54
+ - iOS 节点,支持配对和 Canvas 界面
55
+ - Android 节点,支持配对、Canvas、聊天和相机
56
+
57
+ <Note>
58
+ 旧版 Claude、Codex、Gemini 和 Opencode 路径已被移除。Pi 是唯一的编程智能体路径。
59
+ </Note>
@@ -0,0 +1,117 @@
1
+ ---
2
+ read_when:
3
+ - 你正在更改出站渠道的 Markdown 格式化或分块逻辑
4
+ - 你正在添加新的渠道格式化器或样式映射
5
+ - 你正在调试跨渠道的格式化回归问题
6
+ summary: 出站渠道的 Markdown 格式化管道
7
+ title: Markdown 格式化
8
+ x-i18n:
9
+ generated_at: "2026-02-01T20:22:42Z"
10
+ model: claude-opus-4-5
11
+ provider: pi
12
+ source_hash: f9cbf9b744f9a218860730f29435bcad02d3db80b1847fed5f17c063c97d4820
13
+ source_path: concepts/markdown-formatting.md
14
+ workflow: 14
15
+ ---
16
+
17
+ # Markdown 格式化
18
+
19
+ QuantumClaw 通过将出站 Markdown 转换为共享的中间表示(IR),然后再渲染为特定渠道的输出来进行格式化。IR 保留源文本不变,同时携带样式/链接跨度信息,使分块和渲染在各渠道间保持一致。
20
+
21
+ ## 目标
22
+
23
+ - **一致性:**一次解析,多个渲染器。
24
+ - **安全分块:**在渲染前拆分文本,确保行内格式不会跨块断裂。
25
+ - **渠道适配:**将同一 IR 映射到 Slack mrkdwn、Telegram HTML 和 Signal 样式范围,无需重新解析 Markdown。
26
+
27
+ ## 管道
28
+
29
+ 1. **解析 Markdown -> IR**
30
+ - IR 是纯文本加上样式跨度(粗体/斜体/删除线/代码/剧透)和链接跨度。
31
+ - 偏移量使用 UTF-16 代码单元,以便 Signal 样式范围与其 API 对齐。
32
+ - 仅当渠道启用了表格转换时才会解析表格。
33
+ 2. **分块 IR(格式优先)**
34
+ - 分块在渲染前对 IR 文本进行操作。
35
+ - 行内格式不会跨块拆分;跨度按块进行切片。
36
+ 3. **按渠道渲染**
37
+ - **Slack:** mrkdwn 标记(粗体/斜体/删除线/代码),链接格式为 `<url|label>`。
38
+ - **Telegram:** HTML 标签(`<b>`、`<i>`、`<s>`、`<code>`、`<pre><code>`、`<a href>`)。
39
+ - **Signal:** 纯文本 + `text-style` 范围;当标签与 URL 不同时,链接变为 `label (url)`。
40
+
41
+ ## IR 示例
42
+
43
+ 输入 Markdown:
44
+
45
+ ```markdown
46
+ Hello **world** — see [docs](https://docs.quantumclaw.ai).
47
+ ```
48
+
49
+ IR(示意):
50
+
51
+ ```json
52
+ {
53
+ "text": "Hello world — see docs.",
54
+ "styles": [{ "start": 6, "end": 11, "style": "bold" }],
55
+ "links": [{ "start": 19, "end": 23, "href": "https://docs.quantumclaw.ai" }]
56
+ }
57
+ ```
58
+
59
+ ## 使用场景
60
+
61
+ - Slack、Telegram 和 Signal 的出站适配器从 IR 进行渲染。
62
+ - 其他渠道(WhatsApp、iMessage、Microsoft Teams、Discord)仍使用纯文本或各自的格式化规则,启用时会在分块前应用 Markdown 表格转换。
63
+
64
+ ## 表格处理
65
+
66
+ Markdown 表格在各聊天客户端中的支持并不一致。使用 `markdown.tables` 按渠道(和按账户)控制转换方式。
67
+
68
+ - `code`:将表格渲染为代码块(大多数渠道的默认设置)。
69
+ - `bullets`:将每行转换为项目符号列表(Signal + WhatsApp 的默认设置)。
70
+ - `off`:禁用表格解析和转换;原始表格文本直接透传。
71
+
72
+ 配置键:
73
+
74
+ ```yaml
75
+ channels:
76
+ discord:
77
+ markdown:
78
+ tables: code
79
+ accounts:
80
+ work:
81
+ markdown:
82
+ tables: off
83
+ ```
84
+
85
+ ## 分块规则
86
+
87
+ - 分块限制来自渠道适配器/配置,应用于 IR 文本。
88
+ - 代码围栏作为单个块保留,并带有尾部换行符,以确保渠道正确渲染。
89
+ - 列表前缀和引用块前缀是 IR 文本的一部分,因此分块不会在前缀中间拆分。
90
+ - 行内样式(粗体/斜体/删除线/行内代码/剧透)不会跨块拆分;渲染器会在每个块内重新打开样式。
91
+
92
+ 如需了解更多跨渠道的分块行为,请参见[流式传输 + 分块](/concepts/streaming)。
93
+
94
+ ## 链接策略
95
+
96
+ - **Slack:** `[label](url)` -> `<url|label>`;裸 URL 保持原样。解析时禁用自动链接以避免重复链接。
97
+ - **Telegram:** `[label](url)` -> `<a href="url">label</a>`(HTML 解析模式)。
98
+ - **Signal:** `[label](url)` -> `label (url)`,除非标签与 URL 匹配。
99
+
100
+ ## 剧透
101
+
102
+ 剧透标记(`||spoiler||`)仅为 Signal 解析,映射为 SPOILER 样式范围。其他渠道将其视为纯文本。
103
+
104
+ ## 如何添加或更新渠道格式化器
105
+
106
+ 1. **解析一次:**使用共享的 `markdownToIR(...)` 辅助函数,传入适合渠道的选项(自动链接、标题样式、引用块前缀)。
107
+ 2. **渲染:**使用 `renderMarkdownWithMarkers(...)` 和样式标记映射(或 Signal 样式范围)实现渲染器。
108
+ 3. **分块:**在渲染前调用 `chunkMarkdownIR(...)`;逐块渲染。
109
+ 4. **接入适配器:**更新渠道出站适配器以使用新的分块器和渲染器。
110
+ 5. **测试:**添加或更新格式测试,如果渠道使用分块,还需添加出站投递测试。
111
+
112
+ ## 常见陷阱
113
+
114
+ - Slack 尖括号标记(`<@U123>`、`<#C123>`、`<https://...>`)必须保留;安全转义原始 HTML。
115
+ - Telegram HTML 要求对标签外的文本进行转义,以避免标记损坏。
116
+ - Signal 样式范围依赖 UTF-16 偏移量;不要使用码点偏移量。
117
+ - 保留代码围栏的尾部换行符,以确保闭合标记独占一行。