@symerian/symi 3.0.20 → 3.0.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 (737) hide show
  1. package/dist/{audio-preflight-BaCdNfrk.js → audio-preflight-D7BVT-ls.js} +4 -4
  2. package/dist/build-info.json +3 -3
  3. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  4. package/dist/{chrome-UfmVM0xR.js → chrome-B5CO2vB5.js} +7 -7
  5. package/dist/{deliver-BqXdac6W.js → deliver-CrwjsDwv.js} +1 -1
  6. package/dist/extensionAPI.js +7 -7
  7. package/dist/{image-DIWsXYcW.js → image-Csu7WcLW.js} +1 -1
  8. package/dist/{manager-DW3SxcPr.js → manager-BkkVjTO8.js} +1 -1
  9. package/dist/{pi-embedded-BNch0U5F.js → pi-embedded-Dhp64z5l.js} +16 -16
  10. package/dist/{pi-embedded-helpers-IkHl02JF.js → pi-embedded-helpers-840E4hop.js} +4 -4
  11. package/dist/{pw-ai-nMkA-oDJ.js → pw-ai-CBgJf_RR.js} +1 -1
  12. package/dist/{runner-DNEC58JI.js → runner-BbFKo1ne.js} +1 -1
  13. package/dist/{synthesis-BWAr0sZ9.js → synthesis-DoEM0E8_.js} +7 -7
  14. package/dist/{web-7a-m_UxL.js → web-BYXJn-Ps.js} +7 -7
  15. package/package.json +1 -1
  16. package/docs/.i18n/README.md +0 -31
  17. package/docs/.i18n/glossary.ja-JP.json +0 -14
  18. package/docs/.i18n/glossary.zh-CN.json +0 -210
  19. package/docs/.i18n/ja-JP.tm.jsonl +0 -0
  20. package/docs/.i18n/zh-CN.tm.jsonl +0 -1303
  21. package/docs/CNAME +0 -1
  22. package/docs/assets/install-script.svg +0 -1
  23. package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
  24. package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
  25. package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
  26. package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
  27. package/docs/assets/macos-onboarding/05-permissions.png +0 -0
  28. package/docs/assets/pixel-symi.svg +0 -60
  29. package/docs/assets/showcase/agents-ui.jpg +0 -0
  30. package/docs/assets/showcase/bambu-cli.png +0 -0
  31. package/docs/assets/showcase/codexmonitor.png +0 -0
  32. package/docs/assets/showcase/gohome-grafana.png +0 -0
  33. package/docs/assets/showcase/ios-testflight.jpg +0 -0
  34. package/docs/assets/showcase/oura-health.png +0 -0
  35. package/docs/assets/showcase/padel-cli.svg +0 -11
  36. package/docs/assets/showcase/padel-screenshot.jpg +0 -0
  37. package/docs/assets/showcase/papla-tts.jpg +0 -0
  38. package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
  39. package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
  40. package/docs/assets/showcase/roborock-status.svg +0 -13
  41. package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
  42. package/docs/assets/showcase/snag.png +0 -0
  43. package/docs/assets/showcase/tesco-shop.jpg +0 -0
  44. package/docs/assets/showcase/wienerlinien.png +0 -0
  45. package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
  46. package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
  47. package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
  48. package/docs/assets/sponsors/blacksmith.svg +0 -14
  49. package/docs/assets/sponsors/openai.svg +0 -3
  50. package/docs/assets/symi-logo-text-dark.png +0 -0
  51. package/docs/assets/symi-logo-text.png +0 -0
  52. package/docs/automation/auth-monitoring.md +0 -44
  53. package/docs/automation/cron-jobs.md +0 -540
  54. package/docs/automation/cron-vs-heartbeat.md +0 -286
  55. package/docs/automation/gmail-pubsub.md +0 -256
  56. package/docs/automation/hooks.md +0 -998
  57. package/docs/automation/poll.md +0 -61
  58. package/docs/automation/troubleshooting.md +0 -122
  59. package/docs/automation/webhook.md +0 -213
  60. package/docs/brave-search.md +0 -41
  61. package/docs/capabilities.md +0 -151
  62. package/docs/channels/bluebubbles.md +0 -346
  63. package/docs/channels/broadcast-groups.md +0 -441
  64. package/docs/channels/channel-routing.md +0 -112
  65. package/docs/channels/feishu.md +0 -586
  66. package/docs/channels/googlechat.md +0 -253
  67. package/docs/channels/grammy.md +0 -31
  68. package/docs/channels/group-messages.md +0 -82
  69. package/docs/channels/groups.md +0 -364
  70. package/docs/channels/imessage.md +0 -366
  71. package/docs/channels/index.md +0 -46
  72. package/docs/channels/irc.md +0 -234
  73. package/docs/channels/line.md +0 -186
  74. package/docs/channels/location.md +0 -56
  75. package/docs/channels/matrix.md +0 -300
  76. package/docs/channels/mattermost.md +0 -158
  77. package/docs/channels/msteams.md +0 -769
  78. package/docs/channels/nextcloud-talk.md +0 -138
  79. package/docs/channels/nostr.md +0 -233
  80. package/docs/channels/pairing.md +0 -100
  81. package/docs/channels/signal.md +0 -322
  82. package/docs/channels/slack.md +0 -510
  83. package/docs/channels/telegram.md +0 -748
  84. package/docs/channels/tlon.md +0 -148
  85. package/docs/channels/troubleshooting.md +0 -110
  86. package/docs/channels/twitch.md +0 -379
  87. package/docs/channels/whatsapp.md +0 -444
  88. package/docs/channels/zalo.md +0 -192
  89. package/docs/channels/zalouser.md +0 -140
  90. package/docs/ci.md +0 -50
  91. package/docs/cli/acp.md +0 -182
  92. package/docs/cli/agent.md +0 -24
  93. package/docs/cli/agents.md +0 -75
  94. package/docs/cli/approvals.md +0 -50
  95. package/docs/cli/browser.md +0 -107
  96. package/docs/cli/channels.md +0 -73
  97. package/docs/cli/config.md +0 -50
  98. package/docs/cli/configure.md +0 -32
  99. package/docs/cli/cron.md +0 -44
  100. package/docs/cli/dashboard.md +0 -16
  101. package/docs/cli/devices.md +0 -73
  102. package/docs/cli/directory.md +0 -62
  103. package/docs/cli/dns.md +0 -23
  104. package/docs/cli/docs.md +0 -15
  105. package/docs/cli/doctor.md +0 -41
  106. package/docs/cli/gateway.md +0 -202
  107. package/docs/cli/health.md +0 -21
  108. package/docs/cli/hooks.md +0 -313
  109. package/docs/cli/index.md +0 -1029
  110. package/docs/cli/logs.md +0 -28
  111. package/docs/cli/memory.md +0 -45
  112. package/docs/cli/message.md +0 -214
  113. package/docs/cli/models.md +0 -79
  114. package/docs/cli/node.md +0 -112
  115. package/docs/cli/nodes.md +0 -73
  116. package/docs/cli/onboard.md +0 -76
  117. package/docs/cli/pairing.md +0 -21
  118. package/docs/cli/plugins.md +0 -92
  119. package/docs/cli/reset.md +0 -17
  120. package/docs/cli/sandbox.md +0 -152
  121. package/docs/cli/security.md +0 -64
  122. package/docs/cli/sessions.md +0 -16
  123. package/docs/cli/setup.md +0 -29
  124. package/docs/cli/skills.md +0 -26
  125. package/docs/cli/status.md +0 -25
  126. package/docs/cli/system.md +0 -60
  127. package/docs/cli/tui.md +0 -23
  128. package/docs/cli/uninstall.md +0 -17
  129. package/docs/cli/update.md +0 -98
  130. package/docs/cli/voicecall.md +0 -34
  131. package/docs/cli/webhooks.md +0 -25
  132. package/docs/concepts/agent-loop.md +0 -148
  133. package/docs/concepts/agent-workspace.md +0 -234
  134. package/docs/concepts/agent.md +0 -123
  135. package/docs/concepts/architecture.md +0 -135
  136. package/docs/concepts/compaction.md +0 -61
  137. package/docs/concepts/context.md +0 -161
  138. package/docs/concepts/features.md +0 -51
  139. package/docs/concepts/markdown-formatting.md +0 -128
  140. package/docs/concepts/memory.md +0 -729
  141. package/docs/concepts/messages.md +0 -153
  142. package/docs/concepts/model-failover.md +0 -149
  143. package/docs/concepts/model-providers.md +0 -424
  144. package/docs/concepts/models.md +0 -208
  145. package/docs/concepts/multi-agent.md +0 -521
  146. package/docs/concepts/oauth.md +0 -145
  147. package/docs/concepts/presence.md +0 -102
  148. package/docs/concepts/queue.md +0 -86
  149. package/docs/concepts/retry.md +0 -64
  150. package/docs/concepts/session-pruning.md +0 -123
  151. package/docs/concepts/session-tool.md +0 -213
  152. package/docs/concepts/session.md +0 -199
  153. package/docs/concepts/sessions.md +0 -10
  154. package/docs/concepts/streaming.md +0 -129
  155. package/docs/concepts/system-prompt.md +0 -128
  156. package/docs/concepts/timezone.md +0 -90
  157. package/docs/concepts/typebox.md +0 -289
  158. package/docs/concepts/typing-indicators.md +0 -68
  159. package/docs/concepts/usage-tracking.md +0 -35
  160. package/docs/date-time.md +0 -127
  161. package/docs/debug/node-issue.md +0 -85
  162. package/docs/diagnostics/flags.md +0 -91
  163. package/docs/docs.json +0 -1849
  164. package/docs/experiments/onboarding-config-protocol.md +0 -40
  165. package/docs/experiments/plans/browser-evaluate-cdp-refactor.md +0 -229
  166. package/docs/experiments/plans/cron-add-hardening.md +0 -62
  167. package/docs/experiments/plans/group-policy-hardening.md +0 -40
  168. package/docs/experiments/plans/openresponses-gateway.md +0 -123
  169. package/docs/experiments/plans/pty-process-supervision.md +0 -192
  170. package/docs/experiments/plans/session-binding-channel-agnostic.md +0 -202
  171. package/docs/experiments/plans/thread-bound-subagents.md +0 -281
  172. package/docs/experiments/proposals/model-config.md +0 -36
  173. package/docs/experiments/research/memory.md +0 -228
  174. package/docs/gateway/authentication.md +0 -162
  175. package/docs/gateway/background-process.md +0 -96
  176. package/docs/gateway/bonjour.md +0 -177
  177. package/docs/gateway/bridge-protocol.md +0 -91
  178. package/docs/gateway/cli-backends.md +0 -225
  179. package/docs/gateway/configuration-examples.md +0 -610
  180. package/docs/gateway/configuration-reference.md +0 -2465
  181. package/docs/gateway/configuration.md +0 -488
  182. package/docs/gateway/discovery.md +0 -123
  183. package/docs/gateway/doctor.md +0 -282
  184. package/docs/gateway/gateway-lock.md +0 -34
  185. package/docs/gateway/health.md +0 -35
  186. package/docs/gateway/heartbeat.md +0 -374
  187. package/docs/gateway/index.md +0 -254
  188. package/docs/gateway/local-models.md +0 -150
  189. package/docs/gateway/logging.md +0 -113
  190. package/docs/gateway/multiple-gateways.md +0 -112
  191. package/docs/gateway/network-model.md +0 -20
  192. package/docs/gateway/openai-http-api.md +0 -119
  193. package/docs/gateway/openresponses-http-api.md +0 -333
  194. package/docs/gateway/pairing.md +0 -99
  195. package/docs/gateway/protocol.md +0 -221
  196. package/docs/gateway/remote-gateway-readme.md +0 -158
  197. package/docs/gateway/remote.md +0 -131
  198. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -128
  199. package/docs/gateway/sandboxing.md +0 -203
  200. package/docs/gateway/security/index.md +0 -931
  201. package/docs/gateway/tailscale.md +0 -132
  202. package/docs/gateway/tools-invoke-http-api.md +0 -110
  203. package/docs/gateway/troubleshooting.md +0 -317
  204. package/docs/gateway/trusted-proxy-auth.md +0 -270
  205. package/docs/glass-ui-rendering-invariants.md +0 -451
  206. package/docs/help/debugging.md +0 -162
  207. package/docs/help/environment.md +0 -107
  208. package/docs/help/faq.md +0 -2846
  209. package/docs/help/index.md +0 -21
  210. package/docs/help/scripts.md +0 -28
  211. package/docs/help/testing.md +0 -385
  212. package/docs/help/troubleshooting.md +0 -264
  213. package/docs/images/configure-model-picker-unsearchable.png +0 -0
  214. package/docs/images/feishu-step2-create-app.png +0 -0
  215. package/docs/images/feishu-step3-credentials.png +0 -0
  216. package/docs/images/feishu-step4-permissions.png +0 -0
  217. package/docs/images/feishu-step5-bot-capability.png +0 -0
  218. package/docs/images/feishu-step6-event-subscription.png +0 -0
  219. package/docs/images/groups-flow.svg +0 -52
  220. package/docs/images/mobile-ui-screenshot.png +0 -0
  221. package/docs/index.md +0 -186
  222. package/docs/install/ansible.md +0 -207
  223. package/docs/install/bun.md +0 -59
  224. package/docs/install/development-channels.md +0 -75
  225. package/docs/install/docker.md +0 -583
  226. package/docs/install/exe-dev.md +0 -126
  227. package/docs/install/fly.md +0 -472
  228. package/docs/install/gcp.md +0 -499
  229. package/docs/install/hetzner.md +0 -347
  230. package/docs/install/index.md +0 -218
  231. package/docs/install/installer.md +0 -405
  232. package/docs/install/macos-vm.md +0 -281
  233. package/docs/install/migrating.md +0 -192
  234. package/docs/install/nix.md +0 -98
  235. package/docs/install/node.md +0 -138
  236. package/docs/install/northflank.mdx +0 -49
  237. package/docs/install/podman.md +0 -108
  238. package/docs/install/railway.mdx +0 -95
  239. package/docs/install/render.mdx +0 -158
  240. package/docs/install/uninstall.md +0 -128
  241. package/docs/install/updating.md +0 -231
  242. package/docs/ja-JP/AGENTS.md +0 -37
  243. package/docs/ja-JP/index.md +0 -183
  244. package/docs/ja-JP/start/getting-started.md +0 -125
  245. package/docs/ja-JP/start/wizard.md +0 -77
  246. package/docs/logging.md +0 -350
  247. package/docs/nav-tabs-underline.js +0 -100
  248. package/docs/network.md +0 -54
  249. package/docs/nodes/audio.md +0 -133
  250. package/docs/nodes/camera.md +0 -156
  251. package/docs/nodes/images.md +0 -72
  252. package/docs/nodes/index.md +0 -342
  253. package/docs/nodes/location-command.md +0 -113
  254. package/docs/nodes/media-understanding.md +0 -379
  255. package/docs/nodes/talk.md +0 -90
  256. package/docs/nodes/troubleshooting.md +0 -112
  257. package/docs/nodes/voicewake.md +0 -65
  258. package/docs/perplexity.md +0 -80
  259. package/docs/phase-6.5-pre-flight-audit.md +0 -268
  260. package/docs/pi-dev.md +0 -70
  261. package/docs/pi.md +0 -610
  262. package/docs/platforms/android.md +0 -151
  263. package/docs/platforms/digitalocean.md +0 -265
  264. package/docs/platforms/index.md +0 -53
  265. package/docs/platforms/ios.md +0 -108
  266. package/docs/platforms/linux.md +0 -94
  267. package/docs/platforms/mac/bundled-gateway.md +0 -73
  268. package/docs/platforms/mac/canvas.md +0 -125
  269. package/docs/platforms/mac/child-process.md +0 -69
  270. package/docs/platforms/mac/dev-setup.md +0 -104
  271. package/docs/platforms/mac/health.md +0 -34
  272. package/docs/platforms/mac/icon.md +0 -31
  273. package/docs/platforms/mac/logging.md +0 -57
  274. package/docs/platforms/mac/menu-bar.md +0 -81
  275. package/docs/platforms/mac/peekaboo.md +0 -65
  276. package/docs/platforms/mac/permissions.md +0 -50
  277. package/docs/platforms/mac/release.md +0 -85
  278. package/docs/platforms/mac/remote.md +0 -84
  279. package/docs/platforms/mac/signing.md +0 -47
  280. package/docs/platforms/mac/skills.md +0 -33
  281. package/docs/platforms/mac/voice-overlay.md +0 -60
  282. package/docs/platforms/mac/voicewake.md +0 -66
  283. package/docs/platforms/mac/webchat.md +0 -43
  284. package/docs/platforms/mac/xpc.md +0 -61
  285. package/docs/platforms/macos.md +0 -204
  286. package/docs/platforms/oracle.md +0 -303
  287. package/docs/platforms/raspberry-pi.md +0 -358
  288. package/docs/platforms/windows.md +0 -159
  289. package/docs/plugins/agent-tools.md +0 -99
  290. package/docs/plugins/community.md +0 -44
  291. package/docs/plugins/manifest.md +0 -71
  292. package/docs/plugins/voice-call.md +0 -322
  293. package/docs/plugins/zalouser.md +0 -81
  294. package/docs/prose.md +0 -134
  295. package/docs/providers/anthropic.md +0 -174
  296. package/docs/providers/bedrock.md +0 -176
  297. package/docs/providers/claude-max-api-proxy.md +0 -148
  298. package/docs/providers/cloudflare-ai-gateway.md +0 -71
  299. package/docs/providers/deepgram.md +0 -93
  300. package/docs/providers/github-copilot.md +0 -72
  301. package/docs/providers/glm.md +0 -33
  302. package/docs/providers/huggingface.md +0 -209
  303. package/docs/providers/index.md +0 -67
  304. package/docs/providers/litellm.md +0 -153
  305. package/docs/providers/minimax.md +0 -208
  306. package/docs/providers/models.md +0 -52
  307. package/docs/providers/moonshot.md +0 -142
  308. package/docs/providers/nvidia.md +0 -55
  309. package/docs/providers/ollama.md +0 -250
  310. package/docs/providers/openai.md +0 -62
  311. package/docs/providers/opencode.md +0 -36
  312. package/docs/providers/openrouter.md +0 -37
  313. package/docs/providers/qianfan.md +0 -38
  314. package/docs/providers/qwen.md +0 -53
  315. package/docs/providers/synthetic.md +0 -99
  316. package/docs/providers/together.md +0 -65
  317. package/docs/providers/venice.md +0 -267
  318. package/docs/providers/vercel-ai-gateway.md +0 -50
  319. package/docs/providers/vllm.md +0 -92
  320. package/docs/providers/xiaomi.md +0 -64
  321. package/docs/providers/zai.md +0 -38
  322. package/docs/refactor/exec-host.md +0 -316
  323. package/docs/refactor/outbound-session-mirroring.md +0 -83
  324. package/docs/refactor/plugin-sdk.md +0 -214
  325. package/docs/refactor/strict-config.md +0 -93
  326. package/docs/refactor/syminet.md +0 -417
  327. package/docs/reference/AGENTS.default.md +0 -123
  328. package/docs/reference/RELEASING.md +0 -120
  329. package/docs/reference/api-usage-costs.md +0 -138
  330. package/docs/reference/credits.md +0 -28
  331. package/docs/reference/device-models.md +0 -47
  332. package/docs/reference/rpc.md +0 -43
  333. package/docs/reference/session-management-compaction.md +0 -284
  334. package/docs/reference/test.md +0 -51
  335. package/docs/reference/token-use.md +0 -136
  336. package/docs/reference/transcript-hygiene.md +0 -151
  337. package/docs/reference/wizard.md +0 -265
  338. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -89
  339. package/docs/security/README.md +0 -16
  340. package/docs/security/THREAT-MODEL-ATLAS.md +0 -600
  341. package/docs/security/formal-verification.md +0 -164
  342. package/docs/start/bootstrapping.md +0 -41
  343. package/docs/start/docs-directory.md +0 -63
  344. package/docs/start/getting-started.md +0 -135
  345. package/docs/start/hubs.md +0 -196
  346. package/docs/start/lore.md +0 -216
  347. package/docs/start/onboarding-overview.md +0 -51
  348. package/docs/start/onboarding.md +0 -81
  349. package/docs/start/quickstart.md +0 -22
  350. package/docs/start/setup.md +0 -160
  351. package/docs/start/showcase.md +0 -414
  352. package/docs/start/symi.md +0 -211
  353. package/docs/start/wizard-cli-automation.md +0 -158
  354. package/docs/start/wizard-cli-reference.md +0 -255
  355. package/docs/start/wizard.md +0 -109
  356. package/docs/style.css +0 -37
  357. package/docs/tools/agent-send.md +0 -52
  358. package/docs/tools/apply-patch.md +0 -51
  359. package/docs/tools/browser-linux-troubleshooting.md +0 -139
  360. package/docs/tools/browser-login.md +0 -67
  361. package/docs/tools/browser.md +0 -587
  362. package/docs/tools/chrome-extension.md +0 -183
  363. package/docs/tools/creating-skills.md +0 -54
  364. package/docs/tools/elevated.md +0 -55
  365. package/docs/tools/exec-approvals.md +0 -261
  366. package/docs/tools/exec.md +0 -184
  367. package/docs/tools/firecrawl.md +0 -61
  368. package/docs/tools/index.md +0 -540
  369. package/docs/tools/llm-task.md +0 -115
  370. package/docs/tools/loop-detection.md +0 -98
  371. package/docs/tools/multi-agent-sandbox-tools.md +0 -396
  372. package/docs/tools/pipeline.md +0 -340
  373. package/docs/tools/plugin.md +0 -687
  374. package/docs/tools/reactions.md +0 -21
  375. package/docs/tools/skills-config.md +0 -76
  376. package/docs/tools/skills.md +0 -300
  377. package/docs/tools/slash-commands.md +0 -202
  378. package/docs/tools/subagents.md +0 -232
  379. package/docs/tools/symihub.md +0 -256
  380. package/docs/tools/thinking.md +0 -75
  381. package/docs/tools/web.md +0 -265
  382. package/docs/tts.md +0 -398
  383. package/docs/vps.md +0 -43
  384. package/docs/web/control-ui.md +0 -247
  385. package/docs/web/dashboard.md +0 -46
  386. package/docs/web/index.md +0 -118
  387. package/docs/web/tui.md +0 -162
  388. package/docs/web/webchat.md +0 -53
  389. package/docs/whatsapp-symi-ai-zh.jpg +0 -0
  390. package/docs/whatsapp-symi.jpg +0 -0
  391. package/docs/zh-CN/AGENTS.md +0 -59
  392. package/docs/zh-CN/automation/auth-monitoring.md +0 -47
  393. package/docs/zh-CN/automation/cron-jobs.md +0 -422
  394. package/docs/zh-CN/automation/cron-vs-heartbeat.md +0 -286
  395. package/docs/zh-CN/automation/gmail-pubsub.md +0 -249
  396. package/docs/zh-CN/automation/hooks.md +0 -881
  397. package/docs/zh-CN/automation/poll.md +0 -68
  398. package/docs/zh-CN/automation/troubleshooting.md +0 -8
  399. package/docs/zh-CN/automation/webhook.md +0 -161
  400. package/docs/zh-CN/brave-search.md +0 -48
  401. package/docs/zh-CN/channels/bluebubbles.md +0 -271
  402. package/docs/zh-CN/channels/broadcast-groups.md +0 -448
  403. package/docs/zh-CN/channels/channel-routing.md +0 -112
  404. package/docs/zh-CN/channels/feishu.md +0 -629
  405. package/docs/zh-CN/channels/googlechat.md +0 -257
  406. package/docs/zh-CN/channels/grammy.md +0 -38
  407. package/docs/zh-CN/channels/group-messages.md +0 -89
  408. package/docs/zh-CN/channels/groups.md +0 -369
  409. package/docs/zh-CN/channels/imessage.md +0 -300
  410. package/docs/zh-CN/channels/index.md +0 -52
  411. package/docs/zh-CN/channels/line.md +0 -180
  412. package/docs/zh-CN/channels/location.md +0 -63
  413. package/docs/zh-CN/channels/matrix.md +0 -221
  414. package/docs/zh-CN/channels/mattermost.md +0 -144
  415. package/docs/zh-CN/channels/msteams.md +0 -773
  416. package/docs/zh-CN/channels/nextcloud-talk.md +0 -142
  417. package/docs/zh-CN/channels/nostr.md +0 -240
  418. package/docs/zh-CN/channels/pairing.md +0 -86
  419. package/docs/zh-CN/channels/signal.md +0 -207
  420. package/docs/zh-CN/channels/slack.md +0 -529
  421. package/docs/zh-CN/channels/telegram.md +0 -748
  422. package/docs/zh-CN/channels/tlon.md +0 -136
  423. package/docs/zh-CN/channels/troubleshooting.md +0 -34
  424. package/docs/zh-CN/channels/twitch.md +0 -385
  425. package/docs/zh-CN/channels/whatsapp.md +0 -411
  426. package/docs/zh-CN/channels/zalo.md +0 -196
  427. package/docs/zh-CN/channels/zalouser.md +0 -147
  428. package/docs/zh-CN/cli/acp.md +0 -173
  429. package/docs/zh-CN/cli/agent.md +0 -30
  430. package/docs/zh-CN/cli/agents.md +0 -82
  431. package/docs/zh-CN/cli/approvals.md +0 -57
  432. package/docs/zh-CN/cli/browser.md +0 -114
  433. package/docs/zh-CN/cli/channels.md +0 -80
  434. package/docs/zh-CN/cli/config.md +0 -57
  435. package/docs/zh-CN/cli/configure.md +0 -37
  436. package/docs/zh-CN/cli/cron.md +0 -43
  437. package/docs/zh-CN/cli/dashboard.md +0 -23
  438. package/docs/zh-CN/cli/devices.md +0 -74
  439. package/docs/zh-CN/cli/directory.md +0 -69
  440. package/docs/zh-CN/cli/dns.md +0 -30
  441. package/docs/zh-CN/cli/docs.md +0 -22
  442. package/docs/zh-CN/cli/doctor.md +0 -48
  443. package/docs/zh-CN/cli/gateway.md +0 -206
  444. package/docs/zh-CN/cli/health.md +0 -28
  445. package/docs/zh-CN/cli/hooks.md +0 -298
  446. package/docs/zh-CN/cli/index.md +0 -1025
  447. package/docs/zh-CN/cli/logs.md +0 -31
  448. package/docs/zh-CN/cli/memory.md +0 -52
  449. package/docs/zh-CN/cli/message.md +0 -205
  450. package/docs/zh-CN/cli/models.md +0 -85
  451. package/docs/zh-CN/cli/node.md +0 -115
  452. package/docs/zh-CN/cli/nodes.md +0 -80
  453. package/docs/zh-CN/cli/onboard.md +0 -36
  454. package/docs/zh-CN/cli/pairing.md +0 -28
  455. package/docs/zh-CN/cli/plugins.md +0 -66
  456. package/docs/zh-CN/cli/reset.md +0 -24
  457. package/docs/zh-CN/cli/sandbox.md +0 -158
  458. package/docs/zh-CN/cli/security.md +0 -33
  459. package/docs/zh-CN/cli/sessions.md +0 -23
  460. package/docs/zh-CN/cli/setup.md +0 -36
  461. package/docs/zh-CN/cli/skills.md +0 -33
  462. package/docs/zh-CN/cli/status.md +0 -32
  463. package/docs/zh-CN/cli/system.md +0 -63
  464. package/docs/zh-CN/cli/tui.md +0 -30
  465. package/docs/zh-CN/cli/uninstall.md +0 -24
  466. package/docs/zh-CN/cli/update.md +0 -101
  467. package/docs/zh-CN/cli/voicecall.md +0 -41
  468. package/docs/zh-CN/cli/webhooks.md +0 -32
  469. package/docs/zh-CN/concepts/agent-loop.md +0 -146
  470. package/docs/zh-CN/concepts/agent-workspace.md +0 -219
  471. package/docs/zh-CN/concepts/agent.md +0 -115
  472. package/docs/zh-CN/concepts/architecture.md +0 -122
  473. package/docs/zh-CN/concepts/compaction.md +0 -67
  474. package/docs/zh-CN/concepts/context.md +0 -168
  475. package/docs/zh-CN/concepts/features.md +0 -57
  476. package/docs/zh-CN/concepts/markdown-formatting.md +0 -115
  477. package/docs/zh-CN/concepts/memory.md +0 -412
  478. package/docs/zh-CN/concepts/messages.md +0 -140
  479. package/docs/zh-CN/concepts/model-failover.md +0 -145
  480. package/docs/zh-CN/concepts/model-providers.md +0 -320
  481. package/docs/zh-CN/concepts/models.md +0 -196
  482. package/docs/zh-CN/concepts/multi-agent.md +0 -371
  483. package/docs/zh-CN/concepts/oauth.md +0 -151
  484. package/docs/zh-CN/concepts/presence.md +0 -99
  485. package/docs/zh-CN/concepts/queue.md +0 -91
  486. package/docs/zh-CN/concepts/retry.md +0 -71
  487. package/docs/zh-CN/concepts/session-pruning.md +0 -129
  488. package/docs/zh-CN/concepts/session-tool.md +0 -198
  489. package/docs/zh-CN/concepts/session.md +0 -158
  490. package/docs/zh-CN/concepts/sessions.md +0 -17
  491. package/docs/zh-CN/concepts/streaming.md +0 -131
  492. package/docs/zh-CN/concepts/system-prompt.md +0 -99
  493. package/docs/zh-CN/concepts/timezone.md +0 -94
  494. package/docs/zh-CN/concepts/typebox.md +0 -284
  495. package/docs/zh-CN/concepts/typing-indicators.md +0 -74
  496. package/docs/zh-CN/concepts/usage-tracking.md +0 -42
  497. package/docs/zh-CN/date-time.md +0 -128
  498. package/docs/zh-CN/debug/node-issue.md +0 -90
  499. package/docs/zh-CN/diagnostics/flags.md +0 -98
  500. package/docs/zh-CN/experiments/onboarding-config-protocol.md +0 -47
  501. package/docs/zh-CN/experiments/plans/cron-add-hardening.md +0 -69
  502. package/docs/zh-CN/experiments/plans/group-policy-hardening.md +0 -45
  503. package/docs/zh-CN/experiments/plans/openresponses-gateway.md +0 -121
  504. package/docs/zh-CN/experiments/proposals/model-config.md +0 -42
  505. package/docs/zh-CN/experiments/research/memory.md +0 -235
  506. package/docs/zh-CN/gateway/authentication.md +0 -142
  507. package/docs/zh-CN/gateway/background-process.md +0 -100
  508. package/docs/zh-CN/gateway/bonjour.md +0 -174
  509. package/docs/zh-CN/gateway/bridge-protocol.md +0 -86
  510. package/docs/zh-CN/gateway/cli-backends.md +0 -213
  511. package/docs/zh-CN/gateway/configuration-examples.md +0 -580
  512. package/docs/zh-CN/gateway/configuration.md +0 -3284
  513. package/docs/zh-CN/gateway/discovery.md +0 -123
  514. package/docs/zh-CN/gateway/doctor.md +0 -238
  515. package/docs/zh-CN/gateway/gateway-lock.md +0 -41
  516. package/docs/zh-CN/gateway/health.md +0 -42
  517. package/docs/zh-CN/gateway/heartbeat.md +0 -272
  518. package/docs/zh-CN/gateway/index.md +0 -335
  519. package/docs/zh-CN/gateway/local-models.md +0 -157
  520. package/docs/zh-CN/gateway/logging.md +0 -114
  521. package/docs/zh-CN/gateway/multiple-gateways.md +0 -119
  522. package/docs/zh-CN/gateway/network-model.md +0 -23
  523. package/docs/zh-CN/gateway/openai-http-api.md +0 -125
  524. package/docs/zh-CN/gateway/openresponses-http-api.md +0 -317
  525. package/docs/zh-CN/gateway/pairing.md +0 -99
  526. package/docs/zh-CN/gateway/protocol.md +0 -220
  527. package/docs/zh-CN/gateway/remote-gateway-readme.md +0 -164
  528. package/docs/zh-CN/gateway/remote.md +0 -133
  529. package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -135
  530. package/docs/zh-CN/gateway/sandboxing.md +0 -188
  531. package/docs/zh-CN/gateway/security/index.md +0 -772
  532. package/docs/zh-CN/gateway/tailscale.md +0 -124
  533. package/docs/zh-CN/gateway/tools-invoke-http-api.md +0 -92
  534. package/docs/zh-CN/gateway/troubleshooting.md +0 -758
  535. package/docs/zh-CN/help/debugging.md +0 -160
  536. package/docs/zh-CN/help/environment.md +0 -88
  537. package/docs/zh-CN/help/faq.md +0 -2613
  538. package/docs/zh-CN/help/index.md +0 -28
  539. package/docs/zh-CN/help/scripts.md +0 -35
  540. package/docs/zh-CN/help/testing.md +0 -375
  541. package/docs/zh-CN/help/troubleshooting.md +0 -104
  542. package/docs/zh-CN/index.md +0 -183
  543. package/docs/zh-CN/install/ansible.md +0 -214
  544. package/docs/zh-CN/install/bun.md +0 -65
  545. package/docs/zh-CN/install/development-channels.md +0 -81
  546. package/docs/zh-CN/install/docker.md +0 -525
  547. package/docs/zh-CN/install/exe-dev.md +0 -127
  548. package/docs/zh-CN/install/fly.md +0 -476
  549. package/docs/zh-CN/install/gcp.md +0 -509
  550. package/docs/zh-CN/install/hetzner.md +0 -336
  551. package/docs/zh-CN/install/index.md +0 -193
  552. package/docs/zh-CN/install/installer.md +0 -128
  553. package/docs/zh-CN/install/macos-vm.md +0 -288
  554. package/docs/zh-CN/install/migrating.md +0 -199
  555. package/docs/zh-CN/install/nix.md +0 -99
  556. package/docs/zh-CN/install/node.md +0 -8
  557. package/docs/zh-CN/install/northflank.mdx +0 -56
  558. package/docs/zh-CN/install/railway.mdx +0 -102
  559. package/docs/zh-CN/install/render.mdx +0 -168
  560. package/docs/zh-CN/install/uninstall.md +0 -135
  561. package/docs/zh-CN/install/updating.md +0 -233
  562. package/docs/zh-CN/logging.md +0 -329
  563. package/docs/zh-CN/network.md +0 -59
  564. package/docs/zh-CN/nodes/audio.md +0 -120
  565. package/docs/zh-CN/nodes/camera.md +0 -162
  566. package/docs/zh-CN/nodes/images.md +0 -79
  567. package/docs/zh-CN/nodes/index.md +0 -348
  568. package/docs/zh-CN/nodes/location-command.md +0 -120
  569. package/docs/zh-CN/nodes/media-understanding.md +0 -380
  570. package/docs/zh-CN/nodes/talk.md +0 -97
  571. package/docs/zh-CN/nodes/troubleshooting.md +0 -8
  572. package/docs/zh-CN/nodes/voicewake.md +0 -72
  573. package/docs/zh-CN/perplexity.md +0 -84
  574. package/docs/zh-CN/pi-dev.md +0 -77
  575. package/docs/zh-CN/pi.md +0 -617
  576. package/docs/zh-CN/platforms/android.md +0 -155
  577. package/docs/zh-CN/platforms/digitalocean.md +0 -268
  578. package/docs/zh-CN/platforms/index.md +0 -60
  579. package/docs/zh-CN/platforms/ios.md +0 -114
  580. package/docs/zh-CN/platforms/linux.md +0 -101
  581. package/docs/zh-CN/platforms/mac/bundled-gateway.md +0 -75
  582. package/docs/zh-CN/platforms/mac/canvas.md +0 -128
  583. package/docs/zh-CN/platforms/mac/child-process.md +0 -73
  584. package/docs/zh-CN/platforms/mac/dev-setup.md +0 -109
  585. package/docs/zh-CN/platforms/mac/health.md +0 -41
  586. package/docs/zh-CN/platforms/mac/icon.md +0 -38
  587. package/docs/zh-CN/platforms/mac/logging.md +0 -64
  588. package/docs/zh-CN/platforms/mac/menu-bar.md +0 -88
  589. package/docs/zh-CN/platforms/mac/peekaboo.md +0 -62
  590. package/docs/zh-CN/platforms/mac/permissions.md +0 -46
  591. package/docs/zh-CN/platforms/mac/release.md +0 -92
  592. package/docs/zh-CN/platforms/mac/remote.md +0 -90
  593. package/docs/zh-CN/platforms/mac/signing.md +0 -54
  594. package/docs/zh-CN/platforms/mac/skills.md +0 -40
  595. package/docs/zh-CN/platforms/mac/voice-overlay.md +0 -67
  596. package/docs/zh-CN/platforms/mac/voicewake.md +0 -73
  597. package/docs/zh-CN/platforms/mac/webchat.md +0 -43
  598. package/docs/zh-CN/platforms/mac/xpc.md +0 -68
  599. package/docs/zh-CN/platforms/macos.md +0 -193
  600. package/docs/zh-CN/platforms/oracle.md +0 -310
  601. package/docs/zh-CN/platforms/raspberry-pi.md +0 -365
  602. package/docs/zh-CN/platforms/windows.md +0 -156
  603. package/docs/zh-CN/plugins/agent-tools.md +0 -99
  604. package/docs/zh-CN/plugins/manifest.md +0 -68
  605. package/docs/zh-CN/plugins/voice-call.md +0 -250
  606. package/docs/zh-CN/plugins/zalouser.md +0 -88
  607. package/docs/zh-CN/prose.md +0 -141
  608. package/docs/zh-CN/providers/anthropic.md +0 -159
  609. package/docs/zh-CN/providers/bedrock.md +0 -170
  610. package/docs/zh-CN/providers/claude-max-api-proxy.md +0 -155
  611. package/docs/zh-CN/providers/deepgram.md +0 -97
  612. package/docs/zh-CN/providers/github-copilot.md +0 -67
  613. package/docs/zh-CN/providers/glm.md +0 -39
  614. package/docs/zh-CN/providers/index.md +0 -66
  615. package/docs/zh-CN/providers/minimax.md +0 -206
  616. package/docs/zh-CN/providers/models.md +0 -55
  617. package/docs/zh-CN/providers/moonshot.md +0 -145
  618. package/docs/zh-CN/providers/ollama.md +0 -230
  619. package/docs/zh-CN/providers/openai.md +0 -68
  620. package/docs/zh-CN/providers/opencode.md +0 -41
  621. package/docs/zh-CN/providers/openrouter.md +0 -43
  622. package/docs/zh-CN/providers/qianfan.md +0 -8
  623. package/docs/zh-CN/providers/qwen.md +0 -55
  624. package/docs/zh-CN/providers/synthetic.md +0 -102
  625. package/docs/zh-CN/providers/venice.md +0 -274
  626. package/docs/zh-CN/providers/vercel-ai-gateway.md +0 -57
  627. package/docs/zh-CN/providers/xiaomi.md +0 -68
  628. package/docs/zh-CN/providers/zai.md +0 -41
  629. package/docs/zh-CN/refactor/exec-host.md +0 -323
  630. package/docs/zh-CN/refactor/outbound-session-mirroring.md +0 -90
  631. package/docs/zh-CN/refactor/plugin-sdk.md +0 -221
  632. package/docs/zh-CN/refactor/strict-config.md +0 -100
  633. package/docs/zh-CN/refactor/syminet.md +0 -424
  634. package/docs/zh-CN/reference/AGENTS.default.md +0 -130
  635. package/docs/zh-CN/reference/RELEASING.md +0 -122
  636. package/docs/zh-CN/reference/api-usage-costs.md +0 -136
  637. package/docs/zh-CN/reference/credits.md +0 -34
  638. package/docs/zh-CN/reference/device-models.md +0 -54
  639. package/docs/zh-CN/reference/rpc.md +0 -48
  640. package/docs/zh-CN/reference/session-management-compaction.md +0 -286
  641. package/docs/zh-CN/reference/templates/AGENTS.dev.md +0 -89
  642. package/docs/zh-CN/reference/templates/AGENTS.md +0 -234
  643. package/docs/zh-CN/reference/templates/BOOT.md +0 -17
  644. package/docs/zh-CN/reference/templates/BOOTSTRAP.md +0 -68
  645. package/docs/zh-CN/reference/templates/IDENTITY.dev.md +0 -54
  646. package/docs/zh-CN/reference/templates/IDENTITY.md +0 -36
  647. package/docs/zh-CN/reference/templates/SYMICORE.dev.md +0 -83
  648. package/docs/zh-CN/reference/templates/SYMICORE.md +0 -49
  649. package/docs/zh-CN/reference/templates/SYMIPULSE.md +0 -69
  650. package/docs/zh-CN/reference/templates/TOOLS.dev.md +0 -31
  651. package/docs/zh-CN/reference/templates/TOOLS.md +0 -53
  652. package/docs/zh-CN/reference/templates/USER.dev.md +0 -25
  653. package/docs/zh-CN/reference/templates/USER.md +0 -30
  654. package/docs/zh-CN/reference/test.md +0 -57
  655. package/docs/zh-CN/reference/token-use.md +0 -119
  656. package/docs/zh-CN/reference/transcript-hygiene.md +0 -109
  657. package/docs/zh-CN/reference/wizard.md +0 -9
  658. package/docs/zh-CN/security/formal-verification.md +0 -171
  659. package/docs/zh-CN/start/bootstrapping.md +0 -9
  660. package/docs/zh-CN/start/docs-directory.md +0 -69
  661. package/docs/zh-CN/start/getting-started.md +0 -201
  662. package/docs/zh-CN/start/hubs.md +0 -199
  663. package/docs/zh-CN/start/lore.md +0 -223
  664. package/docs/zh-CN/start/onboarding.md +0 -105
  665. package/docs/zh-CN/start/quickstart.md +0 -88
  666. package/docs/zh-CN/start/setup.md +0 -151
  667. package/docs/zh-CN/start/showcase.md +0 -421
  668. package/docs/zh-CN/start/symi.md +0 -244
  669. package/docs/zh-CN/start/wizard.md +0 -326
  670. package/docs/zh-CN/tools/agent-send.md +0 -58
  671. package/docs/zh-CN/tools/apply-patch.md +0 -57
  672. package/docs/zh-CN/tools/browser-linux-troubleshooting.md +0 -144
  673. package/docs/zh-CN/tools/browser-login.md +0 -75
  674. package/docs/zh-CN/tools/browser.md +0 -553
  675. package/docs/zh-CN/tools/chrome-extension.md +0 -183
  676. package/docs/zh-CN/tools/creating-skills.md +0 -61
  677. package/docs/zh-CN/tools/elevated.md +0 -62
  678. package/docs/zh-CN/tools/exec-approvals.md +0 -233
  679. package/docs/zh-CN/tools/exec.md +0 -169
  680. package/docs/zh-CN/tools/firecrawl.md +0 -68
  681. package/docs/zh-CN/tools/index.md +0 -508
  682. package/docs/zh-CN/tools/llm-task.md +0 -117
  683. package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +0 -400
  684. package/docs/zh-CN/tools/pipeline.md +0 -349
  685. package/docs/zh-CN/tools/plugin.md +0 -639
  686. package/docs/zh-CN/tools/reactions.md +0 -28
  687. package/docs/zh-CN/tools/skills-config.md +0 -78
  688. package/docs/zh-CN/tools/skills.md +0 -279
  689. package/docs/zh-CN/tools/slash-commands.md +0 -196
  690. package/docs/zh-CN/tools/subagents.md +0 -167
  691. package/docs/zh-CN/tools/symihub.md +0 -209
  692. package/docs/zh-CN/tools/thinking.md +0 -80
  693. package/docs/zh-CN/tools/web.md +0 -257
  694. package/docs/zh-CN/tts.md +0 -373
  695. package/docs/zh-CN/vps.md +0 -47
  696. package/docs/zh-CN/web/control-ui.md +0 -190
  697. package/docs/zh-CN/web/dashboard.md +0 -53
  698. package/docs/zh-CN/web/index.md +0 -118
  699. package/docs/zh-CN/web/tui.md +0 -166
  700. package/docs/zh-CN/web/webchat.md +0 -56
  701. package/extensions/imessage/index.ts +0 -17
  702. package/extensions/imessage/node_modules/.bin/symi +0 -21
  703. package/extensions/imessage/package.json +0 -15
  704. package/extensions/imessage/src/channel.outbound.test.ts +0 -66
  705. package/extensions/imessage/src/channel.ts +0 -298
  706. package/extensions/imessage/src/runtime.ts +0 -14
  707. package/extensions/imessage/symi.plugin.json +0 -9
  708. package/extensions/line/index.ts +0 -19
  709. package/extensions/line/node_modules/.bin/symi +0 -21
  710. package/extensions/line/package.json +0 -30
  711. package/extensions/line/src/card-command.ts +0 -344
  712. package/extensions/line/src/channel.logout.test.ts +0 -133
  713. package/extensions/line/src/channel.sendPayload.test.ts +0 -312
  714. package/extensions/line/src/channel.startup.test.ts +0 -133
  715. package/extensions/line/src/channel.ts +0 -801
  716. package/extensions/line/src/runtime.ts +0 -14
  717. package/extensions/line/symi.plugin.json +0 -9
  718. package/extensions/signal/index.ts +0 -17
  719. package/extensions/signal/node_modules/.bin/symi +0 -21
  720. package/extensions/signal/package.json +0 -15
  721. package/extensions/signal/src/channel.ts +0 -302
  722. package/extensions/signal/src/runtime.ts +0 -14
  723. package/extensions/signal/symi.plugin.json +0 -9
  724. package/extensions/telegram/index.ts +0 -17
  725. package/extensions/telegram/node_modules/.bin/symi +0 -21
  726. package/extensions/telegram/package.json +0 -15
  727. package/extensions/telegram/src/channel.test.ts +0 -125
  728. package/extensions/telegram/src/channel.ts +0 -560
  729. package/extensions/telegram/src/runtime.ts +0 -14
  730. package/extensions/telegram/symi.plugin.json +0 -9
  731. package/extensions/whatsapp/index.ts +0 -17
  732. package/extensions/whatsapp/node_modules/.bin/symi +0 -21
  733. package/extensions/whatsapp/package.json +0 -15
  734. package/extensions/whatsapp/src/channel.ts +0 -465
  735. package/extensions/whatsapp/src/resolve-target.test.ts +0 -170
  736. package/extensions/whatsapp/src/runtime.ts +0 -14
  737. package/extensions/whatsapp/symi.plugin.json +0 -9
@@ -1,444 +0,0 @@
1
- ---
2
- summary: "WhatsApp channel support, access controls, delivery behavior, and operations"
3
- read_when:
4
- - Working on WhatsApp/web channel behavior or inbox routing
5
- title: "WhatsApp"
6
- ---
7
-
8
- # WhatsApp (Web channel)
9
-
10
- Status: production-ready via WhatsApp Web (Baileys). Gateway owns linked session(s).
11
-
12
- <CardGroup cols={3}>
13
- <Card title="Pairing" icon="link" href="/channels/pairing">
14
- Default DM policy is pairing for unknown senders.
15
- </Card>
16
- <Card title="Channel troubleshooting" icon="wrench" href="/channels/troubleshooting">
17
- Cross-channel diagnostics and repair playbooks.
18
- </Card>
19
- <Card title="Gateway configuration" icon="settings" href="/gateway/configuration">
20
- Full channel config patterns and examples.
21
- </Card>
22
- </CardGroup>
23
-
24
- ## Onboarding
25
-
26
- <Steps>
27
- <Step title="Configure WhatsApp access policy">
28
-
29
- ```json5
30
- {
31
- channels: {
32
- whatsapp: {
33
- dmPolicy: "pairing",
34
- allowFrom: ["+15551234567"],
35
- groupPolicy: "allowlist",
36
- groupAllowFrom: ["+15551234567"],
37
- },
38
- },
39
- }
40
- ```
41
-
42
- </Step>
43
-
44
- <Step title="Link WhatsApp (QR)">
45
-
46
- ```bash
47
- symi channels login --channel whatsapp
48
- ```
49
-
50
- For a specific account:
51
-
52
- ```bash
53
- symi channels login --channel whatsapp --account work
54
- ```
55
-
56
- </Step>
57
-
58
- <Step title="Start the gateway">
59
-
60
- ```bash
61
- symi gateway
62
- ```
63
-
64
- </Step>
65
-
66
- <Step title="Approve first pairing request (if using pairing mode)">
67
-
68
- ```bash
69
- symi pairing list whatsapp
70
- symi pairing approve whatsapp <CODE>
71
- ```
72
-
73
- Pairing requests expire after 1 hour. Pending requests are capped at 3 per channel.
74
-
75
- </Step>
76
- </Steps>
77
-
78
- <Note>
79
- Symi recommends running WhatsApp on a separate number when possible. (The channel metadata and onboarding flow are optimized for that setup, but personal-number setups are also supported.)
80
- </Note>
81
-
82
- ## Deployment patterns
83
-
84
- <AccordionGroup>
85
- <Accordion title="Dedicated number (recommended)">
86
- This is the cleanest operational mode:
87
-
88
- - separate WhatsApp identity for Symi
89
- - clearer DM allowlists and routing boundaries
90
- - lower chance of self-chat confusion
91
-
92
- Minimal policy pattern:
93
-
94
- ```json5
95
- {
96
- channels: {
97
- whatsapp: {
98
- dmPolicy: "allowlist",
99
- allowFrom: ["+15551234567"],
100
- },
101
- },
102
- }
103
- ```
104
-
105
- </Accordion>
106
-
107
- <Accordion title="Personal-number fallback">
108
- Onboarding supports personal-number mode and writes a self-chat-friendly baseline:
109
-
110
- - `dmPolicy: "allowlist"`
111
- - `allowFrom` includes your personal number
112
- - `selfChatMode: true`
113
-
114
- In runtime, self-chat protections key off the linked self number and `allowFrom`.
115
-
116
- </Accordion>
117
-
118
- <Accordion title="WhatsApp Web-only channel scope">
119
- The messaging platform channel is WhatsApp Web-based (`Baileys`) in current Symi channel architecture.
120
-
121
- There is no separate Twilio WhatsApp messaging channel in the built-in chat-channel registry.
122
-
123
- </Accordion>
124
- </AccordionGroup>
125
-
126
- ## Runtime model
127
-
128
- - Gateway owns the WhatsApp socket and reconnect loop.
129
- - Outbound sends require an active WhatsApp listener for the target account.
130
- - Status and broadcast chats are ignored (`@status`, `@broadcast`).
131
- - Direct chats use DM session rules (`session.dmScope`; default `main` collapses DMs to the agent main session).
132
- - Group sessions are isolated (`agent:<agentId>:whatsapp:group:<jid>`).
133
-
134
- ## Access control and activation
135
-
136
- <Tabs>
137
- <Tab title="DM policy">
138
- `channels.whatsapp.dmPolicy` controls direct chat access:
139
-
140
- - `pairing` (default)
141
- - `allowlist`
142
- - `open` (requires `allowFrom` to include `"*"`)
143
- - `disabled`
144
-
145
- `allowFrom` accepts E.164-style numbers (normalized internally).
146
-
147
- Multi-account override: `channels.whatsapp.accounts.<id>.dmPolicy` (and `allowFrom`) take precedence over channel-level defaults for that account.
148
-
149
- Runtime behavior details:
150
-
151
- - pairings are persisted in channel allow-store and merged with configured `allowFrom`
152
- - if no allowlist is configured, the linked self number is allowed by default
153
- - outbound `fromMe` DMs are never auto-paired
154
-
155
- </Tab>
156
-
157
- <Tab title="Group policy + allowlists">
158
- Group access has two layers:
159
-
160
- 1. **Group membership allowlist** (`channels.whatsapp.groups`)
161
- - if `groups` is omitted, all groups are eligible
162
- - if `groups` is present, it acts as a group allowlist (`"*"` allowed)
163
-
164
- 2. **Group sender policy** (`channels.whatsapp.groupPolicy` + `groupAllowFrom`)
165
- - `open`: sender allowlist bypassed
166
- - `allowlist`: sender must match `groupAllowFrom` (or `*`)
167
- - `disabled`: block all group inbound
168
-
169
- Sender allowlist fallback:
170
-
171
- - if `groupAllowFrom` is unset, runtime falls back to `allowFrom` when available
172
- - sender allowlists are evaluated before mention/reply activation
173
-
174
- Note: if no `channels.whatsapp` block exists at all, runtime group-policy fallback is effectively `open`.
175
-
176
- </Tab>
177
-
178
- <Tab title="Mentions + /activation">
179
- Group replies require mention by default.
180
-
181
- Mention detection includes:
182
-
183
- - explicit WhatsApp mentions of the bot identity
184
- - configured mention regex patterns (`agents.list[].groupChat.mentionPatterns`, fallback `messages.groupChat.mentionPatterns`)
185
- - implicit reply-to-bot detection (reply sender matches bot identity)
186
-
187
- Security note:
188
-
189
- - quote/reply only satisfies mention gating; it does **not** grant sender authorization
190
- - with `groupPolicy: "allowlist"`, non-allowlisted senders are still blocked even if they reply to an allowlisted user's message
191
-
192
- Session-level activation command:
193
-
194
- - `/activation mention`
195
- - `/activation always`
196
-
197
- `activation` updates session state (not global config). It is owner-gated.
198
-
199
- </Tab>
200
- </Tabs>
201
-
202
- ## Personal-number and self-chat behavior
203
-
204
- When the linked self number is also present in `allowFrom`, WhatsApp self-chat safeguards activate:
205
-
206
- - skip read receipts for self-chat turns
207
- - ignore mention-JID auto-trigger behavior that would otherwise ping yourself
208
- - if `messages.responsePrefix` is unset, self-chat replies default to `[{identity.name}]` or `[symi]`
209
-
210
- ## Message normalization and context
211
-
212
- <AccordionGroup>
213
- <Accordion title="Inbound envelope + reply context">
214
- Incoming WhatsApp messages are wrapped in the shared inbound envelope.
215
-
216
- If a quoted reply exists, context is appended in this form:
217
-
218
- ```text
219
- [Replying to <sender> id:<stanzaId>]
220
- <quoted body or media placeholder>
221
- [/Replying]
222
- ```
223
-
224
- Reply metadata fields are also populated when available (`ReplyToId`, `ReplyToBody`, `ReplyToSender`, sender JID/E.164).
225
-
226
- </Accordion>
227
-
228
- <Accordion title="Media placeholders and location/contact extraction">
229
- Media-only inbound messages are normalized with placeholders such as:
230
-
231
- - `<media:image>`
232
- - `<media:video>`
233
- - `<media:audio>`
234
- - `<media:document>`
235
- - `<media:sticker>`
236
-
237
- Location and contact payloads are normalized into textual context before routing.
238
-
239
- </Accordion>
240
-
241
- <Accordion title="Pending group history injection">
242
- For groups, unprocessed messages can be buffered and injected as context when the bot is finally triggered.
243
-
244
- - default limit: `50`
245
- - config: `channels.whatsapp.historyLimit`
246
- - fallback: `messages.groupChat.historyLimit`
247
- - `0` disables
248
-
249
- Injection markers:
250
-
251
- - `[Chat messages since your last reply - for context]`
252
- - `[Current message - respond to this]`
253
-
254
- </Accordion>
255
-
256
- <Accordion title="Read receipts">
257
- Read receipts are enabled by default for accepted inbound WhatsApp messages.
258
-
259
- Disable globally:
260
-
261
- ```json5
262
- {
263
- channels: {
264
- whatsapp: {
265
- sendReadReceipts: false,
266
- },
267
- },
268
- }
269
- ```
270
-
271
- Per-account override:
272
-
273
- ```json5
274
- {
275
- channels: {
276
- whatsapp: {
277
- accounts: {
278
- work: {
279
- sendReadReceipts: false,
280
- },
281
- },
282
- },
283
- },
284
- }
285
- ```
286
-
287
- Self-chat turns skip read receipts even when globally enabled.
288
-
289
- </Accordion>
290
- </AccordionGroup>
291
-
292
- ## Delivery, chunking, and media
293
-
294
- <AccordionGroup>
295
- <Accordion title="Text chunking">
296
- - default chunk limit: `channels.whatsapp.textChunkLimit = 4000`
297
- - `channels.whatsapp.chunkMode = "length" | "newline"`
298
- - `newline` mode prefers paragraph boundaries (blank lines), then falls back to length-safe chunking
299
- </Accordion>
300
-
301
- <Accordion title="Outbound media behavior">
302
- - supports image, video, audio (PTT voice-note), and document payloads
303
- - `audio/ogg` is rewritten to `audio/ogg; codecs=opus` for voice-note compatibility
304
- - animated GIF playback is supported via `gifPlayback: true` on video sends
305
- - captions are applied to the first media item when sending multi-media reply payloads
306
- - media source can be HTTP(S), `file://`, or local paths
307
- </Accordion>
308
-
309
- <Accordion title="Media size limits and fallback behavior">
310
- - inbound media save cap: `channels.whatsapp.mediaMaxMb` (default `50`)
311
- - outbound media cap for auto-replies: `agents.defaults.mediaMaxMb` (default `5MB`)
312
- - images are auto-optimized (resize/quality sweep) to fit limits
313
- - on media send failure, first-item fallback sends text warning instead of dropping the response silently
314
- </Accordion>
315
- </AccordionGroup>
316
-
317
- ## Acknowledgment reactions
318
-
319
- WhatsApp supports immediate ack reactions on inbound receipt via `channels.whatsapp.ackReaction`.
320
-
321
- ```json5
322
- {
323
- channels: {
324
- whatsapp: {
325
- ackReaction: {
326
- emoji: "👀",
327
- direct: true,
328
- group: "mentions", // always | mentions | never
329
- },
330
- },
331
- },
332
- }
333
- ```
334
-
335
- Behavior notes:
336
-
337
- - sent immediately after inbound is accepted (pre-reply)
338
- - failures are logged but do not block normal reply delivery
339
- - group mode `mentions` reacts on mention-triggered turns; group activation `always` acts as bypass for this check
340
- - WhatsApp uses `channels.whatsapp.ackReaction` (legacy `messages.ackReaction` is not used here)
341
-
342
- ## Multi-account and credentials
343
-
344
- <AccordionGroup>
345
- <Accordion title="Account selection and defaults">
346
- - account ids come from `channels.whatsapp.accounts`
347
- - default account selection: `default` if present, otherwise first configured account id (sorted)
348
- - account ids are normalized internally for lookup
349
- </Accordion>
350
-
351
- <Accordion title="Credential paths and legacy compatibility">
352
- - current auth path: `~/.symi/credentials/whatsapp/<accountId>/creds.json`
353
- - backup file: `creds.json.bak`
354
- - legacy default auth in `~/.symi/credentials/` is still recognized/migrated for default-account flows
355
- </Accordion>
356
-
357
- <Accordion title="Logout behavior">
358
- `symi channels logout --channel whatsapp [--account <id>]` clears WhatsApp auth state for that account.
359
-
360
- In legacy auth directories, `oauth.json` is preserved while Baileys auth files are removed.
361
-
362
- </Accordion>
363
- </AccordionGroup>
364
-
365
- ## Tools, actions, and config writes
366
-
367
- - Agent tool support includes WhatsApp reaction action (`react`).
368
- - Action gates:
369
- - `channels.whatsapp.actions.reactions`
370
- - `channels.whatsapp.actions.polls`
371
- - Channel-initiated config writes are enabled by default (disable via `channels.whatsapp.configWrites=false`).
372
-
373
- ## Troubleshooting
374
-
375
- <AccordionGroup>
376
- <Accordion title="Not linked (QR required)">
377
- Symptom: channel status reports not linked.
378
-
379
- Fix:
380
-
381
- ```bash
382
- symi channels login --channel whatsapp
383
- symi channels status
384
- ```
385
-
386
- </Accordion>
387
-
388
- <Accordion title="Linked but disconnected / reconnect loop">
389
- Symptom: linked account with repeated disconnects or reconnect attempts.
390
-
391
- Fix:
392
-
393
- ```bash
394
- symi doctor
395
- symi logs --follow
396
- ```
397
-
398
- If needed, re-link with `channels login`.
399
-
400
- </Accordion>
401
-
402
- <Accordion title="No active listener when sending">
403
- Outbound sends fail fast when no active gateway listener exists for the target account.
404
-
405
- Make sure gateway is running and the account is linked.
406
-
407
- </Accordion>
408
-
409
- <Accordion title="Group messages unexpectedly ignored">
410
- Check in this order:
411
-
412
- - `groupPolicy`
413
- - `groupAllowFrom` / `allowFrom`
414
- - `groups` allowlist entries
415
- - mention gating (`requireMention` + mention patterns)
416
- - duplicate keys in `symi.json` (JSON5): later entries override earlier ones, so keep a single `groupPolicy` per scope
417
-
418
- </Accordion>
419
-
420
- <Accordion title="Bun runtime warning">
421
- WhatsApp gateway runtime should use Node. Bun is flagged as incompatible for stable WhatsApp/Telegram gateway operation.
422
- </Accordion>
423
- </AccordionGroup>
424
-
425
- ## Configuration
426
-
427
- Primary reference:
428
-
429
- - [Configuration reference - WhatsApp](/gateway/configuration-reference#whatsapp)
430
-
431
- High-signal WhatsApp fields:
432
-
433
- - access: `dmPolicy`, `allowFrom`, `groupPolicy`, `groupAllowFrom`, `groups`
434
- - delivery: `textChunkLimit`, `chunkMode`, `mediaMaxMb`, `sendReadReceipts`, `ackReaction`
435
- - multi-account: `accounts.<id>.enabled`, `accounts.<id>.authDir`, account-level overrides
436
- - operations: `configWrites`, `debounceMs`, `web.enabled`, `web.heartbeatSeconds`, `web.reconnect.*`
437
- - session behavior: `session.dmScope`, `historyLimit`, `dmHistoryLimit`, `dms.<id>.historyLimit`
438
-
439
- ## Related
440
-
441
- - [Pairing](/channels/pairing)
442
- - [Channel routing](/channels/channel-routing)
443
- - [Multi-agent routing](/concepts/multi-agent)
444
- - [Troubleshooting](/channels/troubleshooting)
@@ -1,192 +0,0 @@
1
- ---
2
- summary: "Zalo bot support status, capabilities, and configuration"
3
- read_when:
4
- - Working on Zalo features or webhooks
5
- title: "Zalo"
6
- ---
7
-
8
- # Zalo (Bot API)
9
-
10
- Status: experimental. Direct messages only; groups coming soon per Zalo docs.
11
-
12
- ## Plugin required
13
-
14
- Zalo ships as a plugin and is not bundled with the core install.
15
-
16
- - Install via CLI: `symi plugins install @symi/zalo`
17
- - Or select **Zalo** during onboarding and confirm the install prompt
18
- - Details: [Plugins](/tools/plugin)
19
-
20
- ## Onboarding
21
-
22
- 1. Install the Zalo plugin:
23
- - From a source checkout: `symi plugins install ./extensions/zalo`
24
- - From npm (if published): `symi plugins install @symi/zalo`
25
- - Or pick **Zalo** in onboarding and confirm the install prompt
26
- 2. Set the token:
27
- - Env: `ZALO_BOT_TOKEN=...`
28
- - Or config: `channels.zalo.botToken: "..."`.
29
- 3. Restart the gateway (or finish onboarding).
30
- 4. DM access is pairing by default; approve the pairing code on first contact.
31
-
32
- Minimal config:
33
-
34
- ```json5
35
- {
36
- channels: {
37
- zalo: {
38
- enabled: true,
39
- botToken: "12345689:abc-xyz",
40
- dmPolicy: "pairing",
41
- },
42
- },
43
- }
44
- ```
45
-
46
- ## What it is
47
-
48
- Zalo is a Vietnam-focused messaging app; its Bot API lets the Gateway run a bot for 1:1 conversations.
49
- It is a good fit for support or notifications where you want deterministic routing back to Zalo.
50
-
51
- - A Zalo Bot API channel owned by the Gateway.
52
- - Deterministic routing: replies go back to Zalo; the model never chooses channels.
53
- - DMs share the agent's main session.
54
- - Groups are not yet supported (Zalo docs state "coming soon").
55
-
56
- ## Onboarding (quick path)
57
-
58
- ### 1) Create a bot token (Zalo Bot Platform)
59
-
60
- 1. Go to [https://bot.zaloplatforms.com](https://bot.zaloplatforms.com) and sign in.
61
- 2. Create a new bot and configure its settings.
62
- 3. Copy the bot token (format: `12345689:abc-xyz`).
63
-
64
- ### 2) Configure the token (env or config)
65
-
66
- Example:
67
-
68
- ```json5
69
- {
70
- channels: {
71
- zalo: {
72
- enabled: true,
73
- botToken: "12345689:abc-xyz",
74
- dmPolicy: "pairing",
75
- },
76
- },
77
- }
78
- ```
79
-
80
- Env option: `ZALO_BOT_TOKEN=...` (works for the default account only).
81
-
82
- Multi-account support: use `channels.zalo.accounts` with per-account tokens and optional `name`.
83
-
84
- 3. Restart the gateway. Zalo starts when a token is resolved (env or config).
85
- 4. DM access defaults to pairing. Approve the code when the bot is first contacted.
86
-
87
- ## How it works (behavior)
88
-
89
- - Inbound messages are normalized into the shared channel envelope with media placeholders.
90
- - Replies always route back to the same Zalo chat.
91
- - Long-polling by default; webhook mode available with `channels.zalo.webhookUrl`.
92
-
93
- ## Limits
94
-
95
- - Outbound text is chunked to 2000 characters (Zalo API limit).
96
- - Media downloads/uploads are capped by `channels.zalo.mediaMaxMb` (default 5).
97
- - Streaming is blocked by default due to the 2000 char limit making streaming less useful.
98
-
99
- ## Access control (DMs)
100
-
101
- ### DM access
102
-
103
- - Default: `channels.zalo.dmPolicy = "pairing"`. Unknown senders receive a pairing code; messages are ignored until approved (codes expire after 1 hour).
104
- - Approve via:
105
- - `symi pairing list zalo`
106
- - `symi pairing approve zalo <CODE>`
107
- - Pairing is the default token exchange. Details: [Pairing](/channels/pairing)
108
- - `channels.zalo.allowFrom` accepts numeric user IDs (no username lookup available).
109
-
110
- ## Long-polling vs webhook
111
-
112
- - Default: long-polling (no public URL required).
113
- - Webhook mode: set `channels.zalo.webhookUrl` and `channels.zalo.webhookSecret`.
114
- - The webhook secret must be 8-256 characters.
115
- - Webhook URL must use HTTPS.
116
- - Zalo sends events with `X-Bot-Api-Secret-Token` header for verification.
117
- - Gateway HTTP handles webhook requests at `channels.zalo.webhookPath` (defaults to the webhook URL path).
118
- - Requests must use `Content-Type: application/json` (or `+json` media types).
119
- - Duplicate events (`event_name + message_id`) are ignored for a short replay window.
120
- - Burst traffic is rate-limited per path/source and may return HTTP 429.
121
-
122
- **Note:** getUpdates (polling) and webhook are mutually exclusive per Zalo API docs.
123
-
124
- ## Supported message types
125
-
126
- - **Text messages**: Full support with 2000 character chunking.
127
- - **Image messages**: Download and process inbound images; send images via `sendPhoto`.
128
- - **Stickers**: Logged but not fully processed (no agent response).
129
- - **Unsupported types**: Logged (e.g., messages from protected users).
130
-
131
- ## Capabilities
132
-
133
- | Feature | Status |
134
- | --------------- | ------------------------------ |
135
- | Direct messages | ✅ Supported |
136
- | Groups | ❌ Coming soon (per Zalo docs) |
137
- | Media (images) | ✅ Supported |
138
- | Reactions | ❌ Not supported |
139
- | Threads | ❌ Not supported |
140
- | Polls | ❌ Not supported |
141
- | Native commands | ❌ Not supported |
142
- | Streaming | ⚠️ Blocked (2000 char limit) |
143
-
144
- ## Delivery targets (CLI/cron)
145
-
146
- - Use a chat id as the target.
147
- - Example: `symi message send --channel zalo --target 123456789 --message "hi"`.
148
-
149
- ## Troubleshooting
150
-
151
- **Bot doesn't respond:**
152
-
153
- - Check that the token is valid: `symi channels status --probe`
154
- - Verify the sender is approved (pairing or allowFrom)
155
- - Check gateway logs: `symi logs --follow`
156
-
157
- **Webhook not receiving events:**
158
-
159
- - Ensure webhook URL uses HTTPS
160
- - Verify secret token is 8-256 characters
161
- - Confirm the gateway HTTP endpoint is reachable on the configured path
162
- - Check that getUpdates polling is not running (they're mutually exclusive)
163
-
164
- ## Configuration
165
-
166
- Full configuration: [Configuration](/gateway/configuration)
167
-
168
- Provider options:
169
-
170
- - `channels.zalo.enabled`: enable/disable channel startup.
171
- - `channels.zalo.botToken`: bot token from Zalo Bot Platform.
172
- - `channels.zalo.tokenFile`: read token from file path.
173
- - `channels.zalo.dmPolicy`: `pairing | allowlist | open | disabled` (default: pairing).
174
- - `channels.zalo.allowFrom`: DM allowlist (user IDs). `open` requires `"*"`. The wizard will ask for numeric IDs.
175
- - `channels.zalo.mediaMaxMb`: inbound/outbound media cap (MB, default 5).
176
- - `channels.zalo.webhookUrl`: enable webhook mode (HTTPS required).
177
- - `channels.zalo.webhookSecret`: webhook secret (8-256 chars).
178
- - `channels.zalo.webhookPath`: webhook path on the gateway HTTP server.
179
- - `channels.zalo.proxy`: proxy URL for API requests.
180
-
181
- Multi-account options:
182
-
183
- - `channels.zalo.accounts.<id>.botToken`: per-account token.
184
- - `channels.zalo.accounts.<id>.tokenFile`: per-account token file.
185
- - `channels.zalo.accounts.<id>.name`: display name.
186
- - `channels.zalo.accounts.<id>.enabled`: enable/disable account.
187
- - `channels.zalo.accounts.<id>.dmPolicy`: per-account DM policy.
188
- - `channels.zalo.accounts.<id>.allowFrom`: per-account allowlist.
189
- - `channels.zalo.accounts.<id>.webhookUrl`: per-account webhook URL.
190
- - `channels.zalo.accounts.<id>.webhookSecret`: per-account webhook secret.
191
- - `channels.zalo.accounts.<id>.webhookPath`: per-account webhook path.
192
- - `channels.zalo.accounts.<id>.proxy`: per-account proxy URL.