@symerian/symi 3.0.21 → 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 (688) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  3. package/package.json +1 -1
  4. package/docs/.i18n/README.md +0 -31
  5. package/docs/.i18n/glossary.ja-JP.json +0 -14
  6. package/docs/.i18n/glossary.zh-CN.json +0 -210
  7. package/docs/.i18n/ja-JP.tm.jsonl +0 -0
  8. package/docs/.i18n/zh-CN.tm.jsonl +0 -1303
  9. package/docs/CNAME +0 -1
  10. package/docs/assets/install-script.svg +0 -1
  11. package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
  12. package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
  13. package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
  14. package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
  15. package/docs/assets/macos-onboarding/05-permissions.png +0 -0
  16. package/docs/assets/pixel-symi.svg +0 -60
  17. package/docs/assets/showcase/agents-ui.jpg +0 -0
  18. package/docs/assets/showcase/bambu-cli.png +0 -0
  19. package/docs/assets/showcase/codexmonitor.png +0 -0
  20. package/docs/assets/showcase/gohome-grafana.png +0 -0
  21. package/docs/assets/showcase/ios-testflight.jpg +0 -0
  22. package/docs/assets/showcase/oura-health.png +0 -0
  23. package/docs/assets/showcase/padel-cli.svg +0 -11
  24. package/docs/assets/showcase/padel-screenshot.jpg +0 -0
  25. package/docs/assets/showcase/papla-tts.jpg +0 -0
  26. package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
  27. package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
  28. package/docs/assets/showcase/roborock-status.svg +0 -13
  29. package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
  30. package/docs/assets/showcase/snag.png +0 -0
  31. package/docs/assets/showcase/tesco-shop.jpg +0 -0
  32. package/docs/assets/showcase/wienerlinien.png +0 -0
  33. package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
  34. package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
  35. package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
  36. package/docs/assets/sponsors/blacksmith.svg +0 -14
  37. package/docs/assets/sponsors/openai.svg +0 -3
  38. package/docs/assets/symi-logo-text-dark.png +0 -0
  39. package/docs/assets/symi-logo-text.png +0 -0
  40. package/docs/automation/auth-monitoring.md +0 -44
  41. package/docs/automation/cron-jobs.md +0 -540
  42. package/docs/automation/cron-vs-heartbeat.md +0 -286
  43. package/docs/automation/gmail-pubsub.md +0 -256
  44. package/docs/automation/hooks.md +0 -998
  45. package/docs/automation/poll.md +0 -61
  46. package/docs/automation/troubleshooting.md +0 -122
  47. package/docs/automation/webhook.md +0 -213
  48. package/docs/brave-search.md +0 -41
  49. package/docs/capabilities.md +0 -151
  50. package/docs/channels/bluebubbles.md +0 -346
  51. package/docs/channels/broadcast-groups.md +0 -441
  52. package/docs/channels/channel-routing.md +0 -112
  53. package/docs/channels/feishu.md +0 -586
  54. package/docs/channels/googlechat.md +0 -253
  55. package/docs/channels/grammy.md +0 -31
  56. package/docs/channels/group-messages.md +0 -82
  57. package/docs/channels/groups.md +0 -364
  58. package/docs/channels/imessage.md +0 -366
  59. package/docs/channels/index.md +0 -46
  60. package/docs/channels/irc.md +0 -234
  61. package/docs/channels/line.md +0 -186
  62. package/docs/channels/location.md +0 -56
  63. package/docs/channels/matrix.md +0 -300
  64. package/docs/channels/mattermost.md +0 -158
  65. package/docs/channels/msteams.md +0 -769
  66. package/docs/channels/nextcloud-talk.md +0 -138
  67. package/docs/channels/nostr.md +0 -233
  68. package/docs/channels/pairing.md +0 -100
  69. package/docs/channels/signal.md +0 -322
  70. package/docs/channels/slack.md +0 -510
  71. package/docs/channels/telegram.md +0 -748
  72. package/docs/channels/tlon.md +0 -148
  73. package/docs/channels/troubleshooting.md +0 -110
  74. package/docs/channels/twitch.md +0 -379
  75. package/docs/channels/whatsapp.md +0 -444
  76. package/docs/channels/zalo.md +0 -192
  77. package/docs/channels/zalouser.md +0 -140
  78. package/docs/ci.md +0 -50
  79. package/docs/cli/acp.md +0 -182
  80. package/docs/cli/agent.md +0 -24
  81. package/docs/cli/agents.md +0 -75
  82. package/docs/cli/approvals.md +0 -50
  83. package/docs/cli/browser.md +0 -107
  84. package/docs/cli/channels.md +0 -73
  85. package/docs/cli/config.md +0 -50
  86. package/docs/cli/configure.md +0 -32
  87. package/docs/cli/cron.md +0 -44
  88. package/docs/cli/dashboard.md +0 -16
  89. package/docs/cli/devices.md +0 -73
  90. package/docs/cli/directory.md +0 -62
  91. package/docs/cli/dns.md +0 -23
  92. package/docs/cli/docs.md +0 -15
  93. package/docs/cli/doctor.md +0 -41
  94. package/docs/cli/gateway.md +0 -202
  95. package/docs/cli/health.md +0 -21
  96. package/docs/cli/hooks.md +0 -313
  97. package/docs/cli/index.md +0 -1029
  98. package/docs/cli/logs.md +0 -28
  99. package/docs/cli/memory.md +0 -45
  100. package/docs/cli/message.md +0 -214
  101. package/docs/cli/models.md +0 -79
  102. package/docs/cli/node.md +0 -112
  103. package/docs/cli/nodes.md +0 -73
  104. package/docs/cli/onboard.md +0 -76
  105. package/docs/cli/pairing.md +0 -21
  106. package/docs/cli/plugins.md +0 -92
  107. package/docs/cli/reset.md +0 -17
  108. package/docs/cli/sandbox.md +0 -152
  109. package/docs/cli/security.md +0 -64
  110. package/docs/cli/sessions.md +0 -16
  111. package/docs/cli/setup.md +0 -29
  112. package/docs/cli/skills.md +0 -26
  113. package/docs/cli/status.md +0 -25
  114. package/docs/cli/system.md +0 -60
  115. package/docs/cli/tui.md +0 -23
  116. package/docs/cli/uninstall.md +0 -17
  117. package/docs/cli/update.md +0 -98
  118. package/docs/cli/voicecall.md +0 -34
  119. package/docs/cli/webhooks.md +0 -25
  120. package/docs/concepts/agent-loop.md +0 -148
  121. package/docs/concepts/agent-workspace.md +0 -234
  122. package/docs/concepts/agent.md +0 -123
  123. package/docs/concepts/architecture.md +0 -135
  124. package/docs/concepts/compaction.md +0 -61
  125. package/docs/concepts/context.md +0 -161
  126. package/docs/concepts/features.md +0 -51
  127. package/docs/concepts/markdown-formatting.md +0 -128
  128. package/docs/concepts/memory.md +0 -729
  129. package/docs/concepts/messages.md +0 -153
  130. package/docs/concepts/model-failover.md +0 -149
  131. package/docs/concepts/model-providers.md +0 -424
  132. package/docs/concepts/models.md +0 -208
  133. package/docs/concepts/multi-agent.md +0 -521
  134. package/docs/concepts/oauth.md +0 -145
  135. package/docs/concepts/presence.md +0 -102
  136. package/docs/concepts/queue.md +0 -86
  137. package/docs/concepts/retry.md +0 -64
  138. package/docs/concepts/session-pruning.md +0 -123
  139. package/docs/concepts/session-tool.md +0 -213
  140. package/docs/concepts/session.md +0 -199
  141. package/docs/concepts/sessions.md +0 -10
  142. package/docs/concepts/streaming.md +0 -129
  143. package/docs/concepts/system-prompt.md +0 -128
  144. package/docs/concepts/timezone.md +0 -90
  145. package/docs/concepts/typebox.md +0 -289
  146. package/docs/concepts/typing-indicators.md +0 -68
  147. package/docs/concepts/usage-tracking.md +0 -35
  148. package/docs/date-time.md +0 -127
  149. package/docs/debug/node-issue.md +0 -85
  150. package/docs/diagnostics/flags.md +0 -91
  151. package/docs/docs.json +0 -1849
  152. package/docs/experiments/onboarding-config-protocol.md +0 -40
  153. package/docs/experiments/plans/browser-evaluate-cdp-refactor.md +0 -229
  154. package/docs/experiments/plans/cron-add-hardening.md +0 -62
  155. package/docs/experiments/plans/group-policy-hardening.md +0 -40
  156. package/docs/experiments/plans/openresponses-gateway.md +0 -123
  157. package/docs/experiments/plans/pty-process-supervision.md +0 -192
  158. package/docs/experiments/plans/session-binding-channel-agnostic.md +0 -202
  159. package/docs/experiments/plans/thread-bound-subagents.md +0 -281
  160. package/docs/experiments/proposals/model-config.md +0 -36
  161. package/docs/experiments/research/memory.md +0 -228
  162. package/docs/gateway/authentication.md +0 -162
  163. package/docs/gateway/background-process.md +0 -96
  164. package/docs/gateway/bonjour.md +0 -177
  165. package/docs/gateway/bridge-protocol.md +0 -91
  166. package/docs/gateway/cli-backends.md +0 -225
  167. package/docs/gateway/configuration-examples.md +0 -610
  168. package/docs/gateway/configuration-reference.md +0 -2465
  169. package/docs/gateway/configuration.md +0 -488
  170. package/docs/gateway/discovery.md +0 -123
  171. package/docs/gateway/doctor.md +0 -282
  172. package/docs/gateway/gateway-lock.md +0 -34
  173. package/docs/gateway/health.md +0 -35
  174. package/docs/gateway/heartbeat.md +0 -374
  175. package/docs/gateway/index.md +0 -254
  176. package/docs/gateway/local-models.md +0 -150
  177. package/docs/gateway/logging.md +0 -113
  178. package/docs/gateway/multiple-gateways.md +0 -112
  179. package/docs/gateway/network-model.md +0 -20
  180. package/docs/gateway/openai-http-api.md +0 -119
  181. package/docs/gateway/openresponses-http-api.md +0 -333
  182. package/docs/gateway/pairing.md +0 -99
  183. package/docs/gateway/protocol.md +0 -221
  184. package/docs/gateway/remote-gateway-readme.md +0 -158
  185. package/docs/gateway/remote.md +0 -131
  186. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -128
  187. package/docs/gateway/sandboxing.md +0 -203
  188. package/docs/gateway/security/index.md +0 -931
  189. package/docs/gateway/tailscale.md +0 -132
  190. package/docs/gateway/tools-invoke-http-api.md +0 -110
  191. package/docs/gateway/troubleshooting.md +0 -317
  192. package/docs/gateway/trusted-proxy-auth.md +0 -270
  193. package/docs/glass-ui-rendering-invariants.md +0 -451
  194. package/docs/help/debugging.md +0 -162
  195. package/docs/help/environment.md +0 -107
  196. package/docs/help/faq.md +0 -2846
  197. package/docs/help/index.md +0 -21
  198. package/docs/help/scripts.md +0 -28
  199. package/docs/help/testing.md +0 -385
  200. package/docs/help/troubleshooting.md +0 -264
  201. package/docs/images/configure-model-picker-unsearchable.png +0 -0
  202. package/docs/images/feishu-step2-create-app.png +0 -0
  203. package/docs/images/feishu-step3-credentials.png +0 -0
  204. package/docs/images/feishu-step4-permissions.png +0 -0
  205. package/docs/images/feishu-step5-bot-capability.png +0 -0
  206. package/docs/images/feishu-step6-event-subscription.png +0 -0
  207. package/docs/images/groups-flow.svg +0 -52
  208. package/docs/images/mobile-ui-screenshot.png +0 -0
  209. package/docs/index.md +0 -186
  210. package/docs/install/ansible.md +0 -207
  211. package/docs/install/bun.md +0 -59
  212. package/docs/install/development-channels.md +0 -75
  213. package/docs/install/docker.md +0 -583
  214. package/docs/install/exe-dev.md +0 -126
  215. package/docs/install/fly.md +0 -472
  216. package/docs/install/gcp.md +0 -499
  217. package/docs/install/hetzner.md +0 -347
  218. package/docs/install/index.md +0 -218
  219. package/docs/install/installer.md +0 -405
  220. package/docs/install/macos-vm.md +0 -281
  221. package/docs/install/migrating.md +0 -192
  222. package/docs/install/nix.md +0 -98
  223. package/docs/install/node.md +0 -138
  224. package/docs/install/northflank.mdx +0 -49
  225. package/docs/install/podman.md +0 -108
  226. package/docs/install/railway.mdx +0 -95
  227. package/docs/install/render.mdx +0 -158
  228. package/docs/install/uninstall.md +0 -128
  229. package/docs/install/updating.md +0 -231
  230. package/docs/ja-JP/AGENTS.md +0 -37
  231. package/docs/ja-JP/index.md +0 -183
  232. package/docs/ja-JP/start/getting-started.md +0 -125
  233. package/docs/ja-JP/start/wizard.md +0 -77
  234. package/docs/logging.md +0 -350
  235. package/docs/nav-tabs-underline.js +0 -100
  236. package/docs/network.md +0 -54
  237. package/docs/nodes/audio.md +0 -133
  238. package/docs/nodes/camera.md +0 -156
  239. package/docs/nodes/images.md +0 -72
  240. package/docs/nodes/index.md +0 -342
  241. package/docs/nodes/location-command.md +0 -113
  242. package/docs/nodes/media-understanding.md +0 -379
  243. package/docs/nodes/talk.md +0 -90
  244. package/docs/nodes/troubleshooting.md +0 -112
  245. package/docs/nodes/voicewake.md +0 -65
  246. package/docs/perplexity.md +0 -80
  247. package/docs/phase-6.5-pre-flight-audit.md +0 -268
  248. package/docs/pi-dev.md +0 -70
  249. package/docs/pi.md +0 -610
  250. package/docs/platforms/android.md +0 -151
  251. package/docs/platforms/digitalocean.md +0 -265
  252. package/docs/platforms/index.md +0 -53
  253. package/docs/platforms/ios.md +0 -108
  254. package/docs/platforms/linux.md +0 -94
  255. package/docs/platforms/mac/bundled-gateway.md +0 -73
  256. package/docs/platforms/mac/canvas.md +0 -125
  257. package/docs/platforms/mac/child-process.md +0 -69
  258. package/docs/platforms/mac/dev-setup.md +0 -104
  259. package/docs/platforms/mac/health.md +0 -34
  260. package/docs/platforms/mac/icon.md +0 -31
  261. package/docs/platforms/mac/logging.md +0 -57
  262. package/docs/platforms/mac/menu-bar.md +0 -81
  263. package/docs/platforms/mac/peekaboo.md +0 -65
  264. package/docs/platforms/mac/permissions.md +0 -50
  265. package/docs/platforms/mac/release.md +0 -85
  266. package/docs/platforms/mac/remote.md +0 -84
  267. package/docs/platforms/mac/signing.md +0 -47
  268. package/docs/platforms/mac/skills.md +0 -33
  269. package/docs/platforms/mac/voice-overlay.md +0 -60
  270. package/docs/platforms/mac/voicewake.md +0 -66
  271. package/docs/platforms/mac/webchat.md +0 -43
  272. package/docs/platforms/mac/xpc.md +0 -61
  273. package/docs/platforms/macos.md +0 -204
  274. package/docs/platforms/oracle.md +0 -303
  275. package/docs/platforms/raspberry-pi.md +0 -358
  276. package/docs/platforms/windows.md +0 -159
  277. package/docs/plugins/agent-tools.md +0 -99
  278. package/docs/plugins/community.md +0 -44
  279. package/docs/plugins/manifest.md +0 -71
  280. package/docs/plugins/voice-call.md +0 -322
  281. package/docs/plugins/zalouser.md +0 -81
  282. package/docs/prose.md +0 -134
  283. package/docs/providers/anthropic.md +0 -174
  284. package/docs/providers/bedrock.md +0 -176
  285. package/docs/providers/claude-max-api-proxy.md +0 -148
  286. package/docs/providers/cloudflare-ai-gateway.md +0 -71
  287. package/docs/providers/deepgram.md +0 -93
  288. package/docs/providers/github-copilot.md +0 -72
  289. package/docs/providers/glm.md +0 -33
  290. package/docs/providers/huggingface.md +0 -209
  291. package/docs/providers/index.md +0 -67
  292. package/docs/providers/litellm.md +0 -153
  293. package/docs/providers/minimax.md +0 -208
  294. package/docs/providers/models.md +0 -52
  295. package/docs/providers/moonshot.md +0 -142
  296. package/docs/providers/nvidia.md +0 -55
  297. package/docs/providers/ollama.md +0 -250
  298. package/docs/providers/openai.md +0 -62
  299. package/docs/providers/opencode.md +0 -36
  300. package/docs/providers/openrouter.md +0 -37
  301. package/docs/providers/qianfan.md +0 -38
  302. package/docs/providers/qwen.md +0 -53
  303. package/docs/providers/synthetic.md +0 -99
  304. package/docs/providers/together.md +0 -65
  305. package/docs/providers/venice.md +0 -267
  306. package/docs/providers/vercel-ai-gateway.md +0 -50
  307. package/docs/providers/vllm.md +0 -92
  308. package/docs/providers/xiaomi.md +0 -64
  309. package/docs/providers/zai.md +0 -38
  310. package/docs/refactor/exec-host.md +0 -316
  311. package/docs/refactor/outbound-session-mirroring.md +0 -83
  312. package/docs/refactor/plugin-sdk.md +0 -214
  313. package/docs/refactor/strict-config.md +0 -93
  314. package/docs/refactor/syminet.md +0 -417
  315. package/docs/reference/AGENTS.default.md +0 -123
  316. package/docs/reference/RELEASING.md +0 -120
  317. package/docs/reference/api-usage-costs.md +0 -138
  318. package/docs/reference/credits.md +0 -28
  319. package/docs/reference/device-models.md +0 -47
  320. package/docs/reference/rpc.md +0 -43
  321. package/docs/reference/session-management-compaction.md +0 -284
  322. package/docs/reference/test.md +0 -51
  323. package/docs/reference/token-use.md +0 -136
  324. package/docs/reference/transcript-hygiene.md +0 -151
  325. package/docs/reference/wizard.md +0 -265
  326. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -89
  327. package/docs/security/README.md +0 -16
  328. package/docs/security/THREAT-MODEL-ATLAS.md +0 -600
  329. package/docs/security/formal-verification.md +0 -164
  330. package/docs/start/bootstrapping.md +0 -41
  331. package/docs/start/docs-directory.md +0 -63
  332. package/docs/start/getting-started.md +0 -135
  333. package/docs/start/hubs.md +0 -196
  334. package/docs/start/lore.md +0 -216
  335. package/docs/start/onboarding-overview.md +0 -51
  336. package/docs/start/onboarding.md +0 -81
  337. package/docs/start/quickstart.md +0 -22
  338. package/docs/start/setup.md +0 -160
  339. package/docs/start/showcase.md +0 -414
  340. package/docs/start/symi.md +0 -211
  341. package/docs/start/wizard-cli-automation.md +0 -158
  342. package/docs/start/wizard-cli-reference.md +0 -255
  343. package/docs/start/wizard.md +0 -109
  344. package/docs/style.css +0 -37
  345. package/docs/tools/agent-send.md +0 -52
  346. package/docs/tools/apply-patch.md +0 -51
  347. package/docs/tools/browser-linux-troubleshooting.md +0 -139
  348. package/docs/tools/browser-login.md +0 -67
  349. package/docs/tools/browser.md +0 -587
  350. package/docs/tools/chrome-extension.md +0 -183
  351. package/docs/tools/creating-skills.md +0 -54
  352. package/docs/tools/elevated.md +0 -55
  353. package/docs/tools/exec-approvals.md +0 -261
  354. package/docs/tools/exec.md +0 -184
  355. package/docs/tools/firecrawl.md +0 -61
  356. package/docs/tools/index.md +0 -540
  357. package/docs/tools/llm-task.md +0 -115
  358. package/docs/tools/loop-detection.md +0 -98
  359. package/docs/tools/multi-agent-sandbox-tools.md +0 -396
  360. package/docs/tools/pipeline.md +0 -340
  361. package/docs/tools/plugin.md +0 -687
  362. package/docs/tools/reactions.md +0 -21
  363. package/docs/tools/skills-config.md +0 -76
  364. package/docs/tools/skills.md +0 -300
  365. package/docs/tools/slash-commands.md +0 -202
  366. package/docs/tools/subagents.md +0 -232
  367. package/docs/tools/symihub.md +0 -256
  368. package/docs/tools/thinking.md +0 -75
  369. package/docs/tools/web.md +0 -265
  370. package/docs/tts.md +0 -398
  371. package/docs/vps.md +0 -43
  372. package/docs/web/control-ui.md +0 -247
  373. package/docs/web/dashboard.md +0 -46
  374. package/docs/web/index.md +0 -118
  375. package/docs/web/tui.md +0 -162
  376. package/docs/web/webchat.md +0 -53
  377. package/docs/whatsapp-symi-ai-zh.jpg +0 -0
  378. package/docs/whatsapp-symi.jpg +0 -0
  379. package/docs/zh-CN/AGENTS.md +0 -59
  380. package/docs/zh-CN/automation/auth-monitoring.md +0 -47
  381. package/docs/zh-CN/automation/cron-jobs.md +0 -422
  382. package/docs/zh-CN/automation/cron-vs-heartbeat.md +0 -286
  383. package/docs/zh-CN/automation/gmail-pubsub.md +0 -249
  384. package/docs/zh-CN/automation/hooks.md +0 -881
  385. package/docs/zh-CN/automation/poll.md +0 -68
  386. package/docs/zh-CN/automation/troubleshooting.md +0 -8
  387. package/docs/zh-CN/automation/webhook.md +0 -161
  388. package/docs/zh-CN/brave-search.md +0 -48
  389. package/docs/zh-CN/channels/bluebubbles.md +0 -271
  390. package/docs/zh-CN/channels/broadcast-groups.md +0 -448
  391. package/docs/zh-CN/channels/channel-routing.md +0 -112
  392. package/docs/zh-CN/channels/feishu.md +0 -629
  393. package/docs/zh-CN/channels/googlechat.md +0 -257
  394. package/docs/zh-CN/channels/grammy.md +0 -38
  395. package/docs/zh-CN/channels/group-messages.md +0 -89
  396. package/docs/zh-CN/channels/groups.md +0 -369
  397. package/docs/zh-CN/channels/imessage.md +0 -300
  398. package/docs/zh-CN/channels/index.md +0 -52
  399. package/docs/zh-CN/channels/line.md +0 -180
  400. package/docs/zh-CN/channels/location.md +0 -63
  401. package/docs/zh-CN/channels/matrix.md +0 -221
  402. package/docs/zh-CN/channels/mattermost.md +0 -144
  403. package/docs/zh-CN/channels/msteams.md +0 -773
  404. package/docs/zh-CN/channels/nextcloud-talk.md +0 -142
  405. package/docs/zh-CN/channels/nostr.md +0 -240
  406. package/docs/zh-CN/channels/pairing.md +0 -86
  407. package/docs/zh-CN/channels/signal.md +0 -207
  408. package/docs/zh-CN/channels/slack.md +0 -529
  409. package/docs/zh-CN/channels/telegram.md +0 -748
  410. package/docs/zh-CN/channels/tlon.md +0 -136
  411. package/docs/zh-CN/channels/troubleshooting.md +0 -34
  412. package/docs/zh-CN/channels/twitch.md +0 -385
  413. package/docs/zh-CN/channels/whatsapp.md +0 -411
  414. package/docs/zh-CN/channels/zalo.md +0 -196
  415. package/docs/zh-CN/channels/zalouser.md +0 -147
  416. package/docs/zh-CN/cli/acp.md +0 -173
  417. package/docs/zh-CN/cli/agent.md +0 -30
  418. package/docs/zh-CN/cli/agents.md +0 -82
  419. package/docs/zh-CN/cli/approvals.md +0 -57
  420. package/docs/zh-CN/cli/browser.md +0 -114
  421. package/docs/zh-CN/cli/channels.md +0 -80
  422. package/docs/zh-CN/cli/config.md +0 -57
  423. package/docs/zh-CN/cli/configure.md +0 -37
  424. package/docs/zh-CN/cli/cron.md +0 -43
  425. package/docs/zh-CN/cli/dashboard.md +0 -23
  426. package/docs/zh-CN/cli/devices.md +0 -74
  427. package/docs/zh-CN/cli/directory.md +0 -69
  428. package/docs/zh-CN/cli/dns.md +0 -30
  429. package/docs/zh-CN/cli/docs.md +0 -22
  430. package/docs/zh-CN/cli/doctor.md +0 -48
  431. package/docs/zh-CN/cli/gateway.md +0 -206
  432. package/docs/zh-CN/cli/health.md +0 -28
  433. package/docs/zh-CN/cli/hooks.md +0 -298
  434. package/docs/zh-CN/cli/index.md +0 -1025
  435. package/docs/zh-CN/cli/logs.md +0 -31
  436. package/docs/zh-CN/cli/memory.md +0 -52
  437. package/docs/zh-CN/cli/message.md +0 -205
  438. package/docs/zh-CN/cli/models.md +0 -85
  439. package/docs/zh-CN/cli/node.md +0 -115
  440. package/docs/zh-CN/cli/nodes.md +0 -80
  441. package/docs/zh-CN/cli/onboard.md +0 -36
  442. package/docs/zh-CN/cli/pairing.md +0 -28
  443. package/docs/zh-CN/cli/plugins.md +0 -66
  444. package/docs/zh-CN/cli/reset.md +0 -24
  445. package/docs/zh-CN/cli/sandbox.md +0 -158
  446. package/docs/zh-CN/cli/security.md +0 -33
  447. package/docs/zh-CN/cli/sessions.md +0 -23
  448. package/docs/zh-CN/cli/setup.md +0 -36
  449. package/docs/zh-CN/cli/skills.md +0 -33
  450. package/docs/zh-CN/cli/status.md +0 -32
  451. package/docs/zh-CN/cli/system.md +0 -63
  452. package/docs/zh-CN/cli/tui.md +0 -30
  453. package/docs/zh-CN/cli/uninstall.md +0 -24
  454. package/docs/zh-CN/cli/update.md +0 -101
  455. package/docs/zh-CN/cli/voicecall.md +0 -41
  456. package/docs/zh-CN/cli/webhooks.md +0 -32
  457. package/docs/zh-CN/concepts/agent-loop.md +0 -146
  458. package/docs/zh-CN/concepts/agent-workspace.md +0 -219
  459. package/docs/zh-CN/concepts/agent.md +0 -115
  460. package/docs/zh-CN/concepts/architecture.md +0 -122
  461. package/docs/zh-CN/concepts/compaction.md +0 -67
  462. package/docs/zh-CN/concepts/context.md +0 -168
  463. package/docs/zh-CN/concepts/features.md +0 -57
  464. package/docs/zh-CN/concepts/markdown-formatting.md +0 -115
  465. package/docs/zh-CN/concepts/memory.md +0 -412
  466. package/docs/zh-CN/concepts/messages.md +0 -140
  467. package/docs/zh-CN/concepts/model-failover.md +0 -145
  468. package/docs/zh-CN/concepts/model-providers.md +0 -320
  469. package/docs/zh-CN/concepts/models.md +0 -196
  470. package/docs/zh-CN/concepts/multi-agent.md +0 -371
  471. package/docs/zh-CN/concepts/oauth.md +0 -151
  472. package/docs/zh-CN/concepts/presence.md +0 -99
  473. package/docs/zh-CN/concepts/queue.md +0 -91
  474. package/docs/zh-CN/concepts/retry.md +0 -71
  475. package/docs/zh-CN/concepts/session-pruning.md +0 -129
  476. package/docs/zh-CN/concepts/session-tool.md +0 -198
  477. package/docs/zh-CN/concepts/session.md +0 -158
  478. package/docs/zh-CN/concepts/sessions.md +0 -17
  479. package/docs/zh-CN/concepts/streaming.md +0 -131
  480. package/docs/zh-CN/concepts/system-prompt.md +0 -99
  481. package/docs/zh-CN/concepts/timezone.md +0 -94
  482. package/docs/zh-CN/concepts/typebox.md +0 -284
  483. package/docs/zh-CN/concepts/typing-indicators.md +0 -74
  484. package/docs/zh-CN/concepts/usage-tracking.md +0 -42
  485. package/docs/zh-CN/date-time.md +0 -128
  486. package/docs/zh-CN/debug/node-issue.md +0 -90
  487. package/docs/zh-CN/diagnostics/flags.md +0 -98
  488. package/docs/zh-CN/experiments/onboarding-config-protocol.md +0 -47
  489. package/docs/zh-CN/experiments/plans/cron-add-hardening.md +0 -69
  490. package/docs/zh-CN/experiments/plans/group-policy-hardening.md +0 -45
  491. package/docs/zh-CN/experiments/plans/openresponses-gateway.md +0 -121
  492. package/docs/zh-CN/experiments/proposals/model-config.md +0 -42
  493. package/docs/zh-CN/experiments/research/memory.md +0 -235
  494. package/docs/zh-CN/gateway/authentication.md +0 -142
  495. package/docs/zh-CN/gateway/background-process.md +0 -100
  496. package/docs/zh-CN/gateway/bonjour.md +0 -174
  497. package/docs/zh-CN/gateway/bridge-protocol.md +0 -86
  498. package/docs/zh-CN/gateway/cli-backends.md +0 -213
  499. package/docs/zh-CN/gateway/configuration-examples.md +0 -580
  500. package/docs/zh-CN/gateway/configuration.md +0 -3284
  501. package/docs/zh-CN/gateway/discovery.md +0 -123
  502. package/docs/zh-CN/gateway/doctor.md +0 -238
  503. package/docs/zh-CN/gateway/gateway-lock.md +0 -41
  504. package/docs/zh-CN/gateway/health.md +0 -42
  505. package/docs/zh-CN/gateway/heartbeat.md +0 -272
  506. package/docs/zh-CN/gateway/index.md +0 -335
  507. package/docs/zh-CN/gateway/local-models.md +0 -157
  508. package/docs/zh-CN/gateway/logging.md +0 -114
  509. package/docs/zh-CN/gateway/multiple-gateways.md +0 -119
  510. package/docs/zh-CN/gateway/network-model.md +0 -23
  511. package/docs/zh-CN/gateway/openai-http-api.md +0 -125
  512. package/docs/zh-CN/gateway/openresponses-http-api.md +0 -317
  513. package/docs/zh-CN/gateway/pairing.md +0 -99
  514. package/docs/zh-CN/gateway/protocol.md +0 -220
  515. package/docs/zh-CN/gateway/remote-gateway-readme.md +0 -164
  516. package/docs/zh-CN/gateway/remote.md +0 -133
  517. package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -135
  518. package/docs/zh-CN/gateway/sandboxing.md +0 -188
  519. package/docs/zh-CN/gateway/security/index.md +0 -772
  520. package/docs/zh-CN/gateway/tailscale.md +0 -124
  521. package/docs/zh-CN/gateway/tools-invoke-http-api.md +0 -92
  522. package/docs/zh-CN/gateway/troubleshooting.md +0 -758
  523. package/docs/zh-CN/help/debugging.md +0 -160
  524. package/docs/zh-CN/help/environment.md +0 -88
  525. package/docs/zh-CN/help/faq.md +0 -2613
  526. package/docs/zh-CN/help/index.md +0 -28
  527. package/docs/zh-CN/help/scripts.md +0 -35
  528. package/docs/zh-CN/help/testing.md +0 -375
  529. package/docs/zh-CN/help/troubleshooting.md +0 -104
  530. package/docs/zh-CN/index.md +0 -183
  531. package/docs/zh-CN/install/ansible.md +0 -214
  532. package/docs/zh-CN/install/bun.md +0 -65
  533. package/docs/zh-CN/install/development-channels.md +0 -81
  534. package/docs/zh-CN/install/docker.md +0 -525
  535. package/docs/zh-CN/install/exe-dev.md +0 -127
  536. package/docs/zh-CN/install/fly.md +0 -476
  537. package/docs/zh-CN/install/gcp.md +0 -509
  538. package/docs/zh-CN/install/hetzner.md +0 -336
  539. package/docs/zh-CN/install/index.md +0 -193
  540. package/docs/zh-CN/install/installer.md +0 -128
  541. package/docs/zh-CN/install/macos-vm.md +0 -288
  542. package/docs/zh-CN/install/migrating.md +0 -199
  543. package/docs/zh-CN/install/nix.md +0 -99
  544. package/docs/zh-CN/install/node.md +0 -8
  545. package/docs/zh-CN/install/northflank.mdx +0 -56
  546. package/docs/zh-CN/install/railway.mdx +0 -102
  547. package/docs/zh-CN/install/render.mdx +0 -168
  548. package/docs/zh-CN/install/uninstall.md +0 -135
  549. package/docs/zh-CN/install/updating.md +0 -233
  550. package/docs/zh-CN/logging.md +0 -329
  551. package/docs/zh-CN/network.md +0 -59
  552. package/docs/zh-CN/nodes/audio.md +0 -120
  553. package/docs/zh-CN/nodes/camera.md +0 -162
  554. package/docs/zh-CN/nodes/images.md +0 -79
  555. package/docs/zh-CN/nodes/index.md +0 -348
  556. package/docs/zh-CN/nodes/location-command.md +0 -120
  557. package/docs/zh-CN/nodes/media-understanding.md +0 -380
  558. package/docs/zh-CN/nodes/talk.md +0 -97
  559. package/docs/zh-CN/nodes/troubleshooting.md +0 -8
  560. package/docs/zh-CN/nodes/voicewake.md +0 -72
  561. package/docs/zh-CN/perplexity.md +0 -84
  562. package/docs/zh-CN/pi-dev.md +0 -77
  563. package/docs/zh-CN/pi.md +0 -617
  564. package/docs/zh-CN/platforms/android.md +0 -155
  565. package/docs/zh-CN/platforms/digitalocean.md +0 -268
  566. package/docs/zh-CN/platforms/index.md +0 -60
  567. package/docs/zh-CN/platforms/ios.md +0 -114
  568. package/docs/zh-CN/platforms/linux.md +0 -101
  569. package/docs/zh-CN/platforms/mac/bundled-gateway.md +0 -75
  570. package/docs/zh-CN/platforms/mac/canvas.md +0 -128
  571. package/docs/zh-CN/platforms/mac/child-process.md +0 -73
  572. package/docs/zh-CN/platforms/mac/dev-setup.md +0 -109
  573. package/docs/zh-CN/platforms/mac/health.md +0 -41
  574. package/docs/zh-CN/platforms/mac/icon.md +0 -38
  575. package/docs/zh-CN/platforms/mac/logging.md +0 -64
  576. package/docs/zh-CN/platforms/mac/menu-bar.md +0 -88
  577. package/docs/zh-CN/platforms/mac/peekaboo.md +0 -62
  578. package/docs/zh-CN/platforms/mac/permissions.md +0 -46
  579. package/docs/zh-CN/platforms/mac/release.md +0 -92
  580. package/docs/zh-CN/platforms/mac/remote.md +0 -90
  581. package/docs/zh-CN/platforms/mac/signing.md +0 -54
  582. package/docs/zh-CN/platforms/mac/skills.md +0 -40
  583. package/docs/zh-CN/platforms/mac/voice-overlay.md +0 -67
  584. package/docs/zh-CN/platforms/mac/voicewake.md +0 -73
  585. package/docs/zh-CN/platforms/mac/webchat.md +0 -43
  586. package/docs/zh-CN/platforms/mac/xpc.md +0 -68
  587. package/docs/zh-CN/platforms/macos.md +0 -193
  588. package/docs/zh-CN/platforms/oracle.md +0 -310
  589. package/docs/zh-CN/platforms/raspberry-pi.md +0 -365
  590. package/docs/zh-CN/platforms/windows.md +0 -156
  591. package/docs/zh-CN/plugins/agent-tools.md +0 -99
  592. package/docs/zh-CN/plugins/manifest.md +0 -68
  593. package/docs/zh-CN/plugins/voice-call.md +0 -250
  594. package/docs/zh-CN/plugins/zalouser.md +0 -88
  595. package/docs/zh-CN/prose.md +0 -141
  596. package/docs/zh-CN/providers/anthropic.md +0 -159
  597. package/docs/zh-CN/providers/bedrock.md +0 -170
  598. package/docs/zh-CN/providers/claude-max-api-proxy.md +0 -155
  599. package/docs/zh-CN/providers/deepgram.md +0 -97
  600. package/docs/zh-CN/providers/github-copilot.md +0 -67
  601. package/docs/zh-CN/providers/glm.md +0 -39
  602. package/docs/zh-CN/providers/index.md +0 -66
  603. package/docs/zh-CN/providers/minimax.md +0 -206
  604. package/docs/zh-CN/providers/models.md +0 -55
  605. package/docs/zh-CN/providers/moonshot.md +0 -145
  606. package/docs/zh-CN/providers/ollama.md +0 -230
  607. package/docs/zh-CN/providers/openai.md +0 -68
  608. package/docs/zh-CN/providers/opencode.md +0 -41
  609. package/docs/zh-CN/providers/openrouter.md +0 -43
  610. package/docs/zh-CN/providers/qianfan.md +0 -8
  611. package/docs/zh-CN/providers/qwen.md +0 -55
  612. package/docs/zh-CN/providers/synthetic.md +0 -102
  613. package/docs/zh-CN/providers/venice.md +0 -274
  614. package/docs/zh-CN/providers/vercel-ai-gateway.md +0 -57
  615. package/docs/zh-CN/providers/xiaomi.md +0 -68
  616. package/docs/zh-CN/providers/zai.md +0 -41
  617. package/docs/zh-CN/refactor/exec-host.md +0 -323
  618. package/docs/zh-CN/refactor/outbound-session-mirroring.md +0 -90
  619. package/docs/zh-CN/refactor/plugin-sdk.md +0 -221
  620. package/docs/zh-CN/refactor/strict-config.md +0 -100
  621. package/docs/zh-CN/refactor/syminet.md +0 -424
  622. package/docs/zh-CN/reference/AGENTS.default.md +0 -130
  623. package/docs/zh-CN/reference/RELEASING.md +0 -122
  624. package/docs/zh-CN/reference/api-usage-costs.md +0 -136
  625. package/docs/zh-CN/reference/credits.md +0 -34
  626. package/docs/zh-CN/reference/device-models.md +0 -54
  627. package/docs/zh-CN/reference/rpc.md +0 -48
  628. package/docs/zh-CN/reference/session-management-compaction.md +0 -286
  629. package/docs/zh-CN/reference/templates/AGENTS.dev.md +0 -89
  630. package/docs/zh-CN/reference/templates/AGENTS.md +0 -234
  631. package/docs/zh-CN/reference/templates/BOOT.md +0 -17
  632. package/docs/zh-CN/reference/templates/BOOTSTRAP.md +0 -68
  633. package/docs/zh-CN/reference/templates/IDENTITY.dev.md +0 -54
  634. package/docs/zh-CN/reference/templates/IDENTITY.md +0 -36
  635. package/docs/zh-CN/reference/templates/SYMICORE.dev.md +0 -83
  636. package/docs/zh-CN/reference/templates/SYMICORE.md +0 -49
  637. package/docs/zh-CN/reference/templates/SYMIPULSE.md +0 -69
  638. package/docs/zh-CN/reference/templates/TOOLS.dev.md +0 -31
  639. package/docs/zh-CN/reference/templates/TOOLS.md +0 -53
  640. package/docs/zh-CN/reference/templates/USER.dev.md +0 -25
  641. package/docs/zh-CN/reference/templates/USER.md +0 -30
  642. package/docs/zh-CN/reference/test.md +0 -57
  643. package/docs/zh-CN/reference/token-use.md +0 -119
  644. package/docs/zh-CN/reference/transcript-hygiene.md +0 -109
  645. package/docs/zh-CN/reference/wizard.md +0 -9
  646. package/docs/zh-CN/security/formal-verification.md +0 -171
  647. package/docs/zh-CN/start/bootstrapping.md +0 -9
  648. package/docs/zh-CN/start/docs-directory.md +0 -69
  649. package/docs/zh-CN/start/getting-started.md +0 -201
  650. package/docs/zh-CN/start/hubs.md +0 -199
  651. package/docs/zh-CN/start/lore.md +0 -223
  652. package/docs/zh-CN/start/onboarding.md +0 -105
  653. package/docs/zh-CN/start/quickstart.md +0 -88
  654. package/docs/zh-CN/start/setup.md +0 -151
  655. package/docs/zh-CN/start/showcase.md +0 -421
  656. package/docs/zh-CN/start/symi.md +0 -244
  657. package/docs/zh-CN/start/wizard.md +0 -326
  658. package/docs/zh-CN/tools/agent-send.md +0 -58
  659. package/docs/zh-CN/tools/apply-patch.md +0 -57
  660. package/docs/zh-CN/tools/browser-linux-troubleshooting.md +0 -144
  661. package/docs/zh-CN/tools/browser-login.md +0 -75
  662. package/docs/zh-CN/tools/browser.md +0 -553
  663. package/docs/zh-CN/tools/chrome-extension.md +0 -183
  664. package/docs/zh-CN/tools/creating-skills.md +0 -61
  665. package/docs/zh-CN/tools/elevated.md +0 -62
  666. package/docs/zh-CN/tools/exec-approvals.md +0 -233
  667. package/docs/zh-CN/tools/exec.md +0 -169
  668. package/docs/zh-CN/tools/firecrawl.md +0 -68
  669. package/docs/zh-CN/tools/index.md +0 -508
  670. package/docs/zh-CN/tools/llm-task.md +0 -117
  671. package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +0 -400
  672. package/docs/zh-CN/tools/pipeline.md +0 -349
  673. package/docs/zh-CN/tools/plugin.md +0 -639
  674. package/docs/zh-CN/tools/reactions.md +0 -28
  675. package/docs/zh-CN/tools/skills-config.md +0 -78
  676. package/docs/zh-CN/tools/skills.md +0 -279
  677. package/docs/zh-CN/tools/slash-commands.md +0 -196
  678. package/docs/zh-CN/tools/subagents.md +0 -167
  679. package/docs/zh-CN/tools/symihub.md +0 -209
  680. package/docs/zh-CN/tools/thinking.md +0 -80
  681. package/docs/zh-CN/tools/web.md +0 -257
  682. package/docs/zh-CN/tts.md +0 -373
  683. package/docs/zh-CN/vps.md +0 -47
  684. package/docs/zh-CN/web/control-ui.md +0 -190
  685. package/docs/zh-CN/web/dashboard.md +0 -53
  686. package/docs/zh-CN/web/index.md +0 -118
  687. package/docs/zh-CN/web/tui.md +0 -166
  688. package/docs/zh-CN/web/webchat.md +0 -56
@@ -1,748 +0,0 @@
1
- ---
2
- summary: "Telegram bot support status, capabilities, and configuration"
3
- read_when:
4
- - Working on Telegram features or webhooks
5
- title: "Telegram"
6
- ---
7
-
8
- # Telegram (Bot API)
9
-
10
- Status: production-ready for bot DMs + groups via grammY. Long polling is the default mode; webhook mode is optional.
11
-
12
- <CardGroup cols={3}>
13
- <Card title="Pairing" icon="link" href="/channels/pairing">
14
- Default DM policy for Telegram is pairing.
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="Create the bot token in BotFather">
28
- Open Telegram and chat with **@BotFather** (confirm the handle is exactly `@BotFather`).
29
-
30
- Run `/newbot`, follow prompts, and save the token.
31
-
32
- </Step>
33
-
34
- <Step title="Configure token and DM policy">
35
-
36
- ```json5
37
- {
38
- channels: {
39
- telegram: {
40
- enabled: true,
41
- botToken: "123:abc",
42
- dmPolicy: "pairing",
43
- groups: { "*": { requireMention: true } },
44
- },
45
- },
46
- }
47
- ```
48
-
49
- Env fallback: `TELEGRAM_BOT_TOKEN=...` (default account only).
50
-
51
- </Step>
52
-
53
- <Step title="Start gateway and approve first DM">
54
-
55
- ```bash
56
- symi gateway
57
- symi pairing list telegram
58
- symi pairing approve telegram <CODE>
59
- ```
60
-
61
- Pairing codes expire after 1 hour.
62
-
63
- </Step>
64
-
65
- <Step title="Add the bot to a group">
66
- Add the bot to your group, then set `channels.telegram.groups` and `groupPolicy` to match your access model.
67
- </Step>
68
- </Steps>
69
-
70
- <Note>
71
- Token resolution order is account-aware. In practice, config values win over env fallback, and `TELEGRAM_BOT_TOKEN` only applies to the default account.
72
- </Note>
73
-
74
- ## Telegram side settings
75
-
76
- <AccordionGroup>
77
- <Accordion title="Privacy mode and group visibility">
78
- Telegram bots default to **Privacy Mode**, which limits what group messages they receive.
79
-
80
- If the bot must see all group messages, either:
81
-
82
- - disable privacy mode via `/setprivacy`, or
83
- - make the bot a group admin.
84
-
85
- When toggling privacy mode, remove + re-add the bot in each group so Telegram applies the change.
86
-
87
- </Accordion>
88
-
89
- <Accordion title="Group permissions">
90
- Admin status is controlled in Telegram group settings.
91
-
92
- Admin bots receive all group messages, which is useful for always-on group behavior.
93
-
94
- </Accordion>
95
-
96
- <Accordion title="Helpful BotFather toggles">
97
-
98
- - `/setjoingroups` to allow/deny group adds
99
- - `/setprivacy` for group visibility behavior
100
-
101
- </Accordion>
102
- </AccordionGroup>
103
-
104
- ## Access control and activation
105
-
106
- <Tabs>
107
- <Tab title="DM policy">
108
- `channels.telegram.dmPolicy` controls direct message access:
109
-
110
- - `pairing` (default)
111
- - `allowlist`
112
- - `open` (requires `allowFrom` to include `"*"`)
113
- - `disabled`
114
-
115
- `channels.telegram.allowFrom` accepts numeric Telegram user IDs. `telegram:` / `tg:` prefixes are accepted and normalized.
116
- The onboarding wizard accepts `@username` input and resolves it to numeric IDs.
117
- If you upgraded and your config contains `@username` allowlist entries, run `symi doctor --fix` to resolve them (best-effort; requires a Telegram bot token).
118
-
119
- ### Finding your Telegram user ID
120
-
121
- Safer (no third-party bot):
122
-
123
- 1. DM your bot.
124
- 2. Run `symi logs --follow`.
125
- 3. Read `from.id`.
126
-
127
- Official Bot API method:
128
-
129
- ```bash
130
- curl "https://api.telegram.org/bot<bot_token>/getUpdates"
131
- ```
132
-
133
- Third-party method (less private): `@userinfobot` or `@getidsbot`.
134
-
135
- </Tab>
136
-
137
- <Tab title="Group policy and allowlists">
138
- There are two independent controls:
139
-
140
- 1. **Which groups are allowed** (`channels.telegram.groups`)
141
- - no `groups` config: all groups allowed
142
- - `groups` configured: acts as allowlist (explicit IDs or `"*"`)
143
-
144
- 2. **Which senders are allowed in groups** (`channels.telegram.groupPolicy`)
145
- - `open`
146
- - `allowlist` (default)
147
- - `disabled`
148
-
149
- `groupAllowFrom` is used for group sender filtering. If not set, Telegram falls back to `allowFrom`.
150
- `groupAllowFrom` entries must be numeric Telegram user IDs.
151
-
152
- Example: allow any member in one specific group:
153
-
154
- ```json5
155
- {
156
- channels: {
157
- telegram: {
158
- groups: {
159
- "-1001234567890": {
160
- groupPolicy: "open",
161
- requireMention: false,
162
- },
163
- },
164
- },
165
- },
166
- }
167
- ```
168
-
169
- </Tab>
170
-
171
- <Tab title="Mention behavior">
172
- Group replies require mention by default.
173
-
174
- Mention can come from:
175
-
176
- - native `@botusername` mention, or
177
- - mention patterns in:
178
- - `agents.list[].groupChat.mentionPatterns`
179
- - `messages.groupChat.mentionPatterns`
180
-
181
- Session-level command toggles:
182
-
183
- - `/activation always`
184
- - `/activation mention`
185
-
186
- These update session state only. Use config for persistence.
187
-
188
- Persistent config example:
189
-
190
- ```json5
191
- {
192
- channels: {
193
- telegram: {
194
- groups: {
195
- "*": { requireMention: false },
196
- },
197
- },
198
- },
199
- }
200
- ```
201
-
202
- Getting the group chat ID:
203
-
204
- - forward a group message to `@userinfobot` / `@getidsbot`
205
- - or read `chat.id` from `symi logs --follow`
206
- - or inspect Bot API `getUpdates`
207
-
208
- </Tab>
209
- </Tabs>
210
-
211
- ## Runtime behavior
212
-
213
- - Telegram is owned by the gateway process.
214
- - Routing is deterministic: Telegram inbound replies back to Telegram (the model does not pick channels).
215
- - Inbound messages normalize into the shared channel envelope with reply metadata and media placeholders.
216
- - Group sessions are isolated by group ID. Forum topics append `:topic:<threadId>` to keep topics isolated.
217
- - DM messages can carry `message_thread_id`; Symi routes them with thread-aware session keys and preserves thread ID for replies.
218
- - Long polling uses grammY runner with per-chat/per-thread sequencing. Overall runner sink concurrency uses `agents.defaults.maxConcurrent`.
219
- - Telegram Bot API has no read-receipt support (`sendReadReceipts` does not apply).
220
-
221
- ## Feature reference
222
-
223
- <AccordionGroup>
224
- <Accordion title="Live stream preview (message edits)">
225
- Symi can stream partial replies by sending a temporary Telegram message and editing it as text arrives.
226
-
227
- Requirement:
228
-
229
- - `channels.telegram.streaming` is `true` (default)
230
- - legacy `channels.telegram.streamMode` values are auto-mapped to `streaming`
231
-
232
- This works in direct chats and groups/topics.
233
-
234
- For text-only replies, Symi keeps the same preview message and performs a final edit in place (no second message).
235
-
236
- For complex replies (for example media payloads), Symi falls back to normal final delivery and then cleans up the preview message.
237
-
238
- Preview streaming is separate from block streaming. When block streaming is explicitly enabled for Telegram, Symi skips the preview stream to avoid double-streaming.
239
-
240
- Telegram-only reasoning stream:
241
-
242
- - `/reasoning stream` sends reasoning to the live preview while generating
243
- - final answer is sent without reasoning text
244
-
245
- </Accordion>
246
-
247
- <Accordion title="Formatting and HTML fallback">
248
- Outbound text uses Telegram `parse_mode: "HTML"`.
249
-
250
- - Markdown-ish text is rendered to Telegram-safe HTML.
251
- - Raw model HTML is escaped to reduce Telegram parse failures.
252
- - If Telegram rejects parsed HTML, Symi retries as plain text.
253
-
254
- Link previews are enabled by default and can be disabled with `channels.telegram.linkPreview: false`.
255
-
256
- </Accordion>
257
-
258
- <Accordion title="Native commands and custom commands">
259
- Telegram command menu registration is handled at startup with `setMyCommands`.
260
-
261
- Native command defaults:
262
-
263
- - `commands.native: "auto"` enables native commands for Telegram
264
-
265
- Add custom command menu entries:
266
-
267
- ```json5
268
- {
269
- channels: {
270
- telegram: {
271
- customCommands: [
272
- { command: "backup", description: "Git backup" },
273
- { command: "generate", description: "Create an image" },
274
- ],
275
- },
276
- },
277
- }
278
- ```
279
-
280
- Rules:
281
-
282
- - names are normalized (strip leading `/`, lowercase)
283
- - valid pattern: `a-z`, `0-9`, `_`, length `1..32`
284
- - custom commands cannot override native commands
285
- - conflicts/duplicates are skipped and logged
286
-
287
- Notes:
288
-
289
- - custom commands are menu entries only; they do not auto-implement behavior
290
- - plugin/skill commands can still work when typed even if not shown in Telegram menu
291
-
292
- If native commands are disabled, built-ins are removed. Custom/plugin commands may still register if configured.
293
-
294
- Common setup failure:
295
-
296
- - `setMyCommands failed` usually means outbound DNS/HTTPS to `api.telegram.org` is blocked.
297
-
298
- ### Device pairing commands (`device-pair` plugin)
299
-
300
- When the `device-pair` plugin is installed:
301
-
302
- 1. `/pair` generates setup code
303
- 2. paste code in iOS app
304
- 3. `/pair approve` approves latest pending request
305
-
306
- More details: [Pairing](/channels/pairing#pair-via-telegram-recommended-for-ios).
307
-
308
- </Accordion>
309
-
310
- <Accordion title="Inline buttons">
311
- Configure inline keyboard scope:
312
-
313
- ```json5
314
- {
315
- channels: {
316
- telegram: {
317
- capabilities: {
318
- inlineButtons: "allowlist",
319
- },
320
- },
321
- },
322
- }
323
- ```
324
-
325
- Per-account override:
326
-
327
- ```json5
328
- {
329
- channels: {
330
- telegram: {
331
- accounts: {
332
- main: {
333
- capabilities: {
334
- inlineButtons: "allowlist",
335
- },
336
- },
337
- },
338
- },
339
- },
340
- }
341
- ```
342
-
343
- Scopes:
344
-
345
- - `off`
346
- - `dm`
347
- - `group`
348
- - `all`
349
- - `allowlist` (default)
350
-
351
- Legacy `capabilities: ["inlineButtons"]` maps to `inlineButtons: "all"`.
352
-
353
- Message action example:
354
-
355
- ```json5
356
- {
357
- action: "send",
358
- channel: "telegram",
359
- to: "123456789",
360
- message: "Choose an option:",
361
- buttons: [
362
- [
363
- { text: "Yes", callback_data: "yes" },
364
- { text: "No", callback_data: "no" },
365
- ],
366
- [{ text: "Cancel", callback_data: "cancel" }],
367
- ],
368
- }
369
- ```
370
-
371
- Callback clicks are passed to the agent as text:
372
- `callback_data: <value>`
373
-
374
- </Accordion>
375
-
376
- <Accordion title="Telegram message actions for agents and automation">
377
- Telegram tool actions include:
378
-
379
- - `sendMessage` (`to`, `content`, optional `mediaUrl`, `replyToMessageId`, `messageThreadId`)
380
- - `react` (`chatId`, `messageId`, `emoji`)
381
- - `deleteMessage` (`chatId`, `messageId`)
382
- - `editMessage` (`chatId`, `messageId`, `content`)
383
-
384
- Channel message actions expose ergonomic aliases (`send`, `react`, `delete`, `edit`, `sticker`, `sticker-search`).
385
-
386
- Gating controls:
387
-
388
- - `channels.telegram.actions.sendMessage`
389
- - `channels.telegram.actions.editMessage`
390
- - `channels.telegram.actions.deleteMessage`
391
- - `channels.telegram.actions.reactions`
392
- - `channels.telegram.actions.sticker` (default: disabled)
393
-
394
- Reaction removal semantics: [/tools/reactions](/tools/reactions)
395
-
396
- </Accordion>
397
-
398
- <Accordion title="Reply threading tags">
399
- Telegram supports explicit reply threading tags in generated output:
400
-
401
- - `[[reply_to_current]]` replies to the triggering message
402
- - `[[reply_to:<id>]]` replies to a specific Telegram message ID
403
-
404
- `channels.telegram.replyToMode` controls handling:
405
-
406
- - `off` (default)
407
- - `first`
408
- - `all`
409
-
410
- Note: `off` disables implicit reply threading. Explicit `[[reply_to_*]]` tags are still honored.
411
-
412
- </Accordion>
413
-
414
- <Accordion title="Forum topics and thread behavior">
415
- Forum supergroups:
416
-
417
- - topic session keys append `:topic:<threadId>`
418
- - replies and typing target the topic thread
419
- - topic config path:
420
- `channels.telegram.groups.<chatId>.topics.<threadId>`
421
-
422
- General topic (`threadId=1`) special-case:
423
-
424
- - message sends omit `message_thread_id` (Telegram rejects `sendMessage(...thread_id=1)`)
425
- - typing actions still include `message_thread_id`
426
-
427
- Topic inheritance: topic entries inherit group settings unless overridden (`requireMention`, `allowFrom`, `skills`, `systemPrompt`, `enabled`, `groupPolicy`).
428
-
429
- Template context includes:
430
-
431
- - `MessageThreadId`
432
- - `IsForum`
433
-
434
- DM thread behavior:
435
-
436
- - private chats with `message_thread_id` keep DM routing but use thread-aware session keys/reply targets.
437
-
438
- </Accordion>
439
-
440
- <Accordion title="Audio, video, and stickers">
441
- ### Audio messages
442
-
443
- Telegram distinguishes voice notes vs audio files.
444
-
445
- - default: audio file behavior
446
- - tag `[[audio_as_voice]]` in agent reply to force voice-note send
447
-
448
- Message action example:
449
-
450
- ```json5
451
- {
452
- action: "send",
453
- channel: "telegram",
454
- to: "123456789",
455
- media: "https://example.com/voice.ogg",
456
- asVoice: true,
457
- }
458
- ```
459
-
460
- ### Video messages
461
-
462
- Telegram distinguishes video files vs video notes.
463
-
464
- Message action example:
465
-
466
- ```json5
467
- {
468
- action: "send",
469
- channel: "telegram",
470
- to: "123456789",
471
- media: "https://example.com/video.mp4",
472
- asVideoNote: true,
473
- }
474
- ```
475
-
476
- Video notes do not support captions; provided message text is sent separately.
477
-
478
- ### Stickers
479
-
480
- Inbound sticker handling:
481
-
482
- - static WEBP: downloaded and processed (placeholder `<media:sticker>`)
483
- - animated TGS: skipped
484
- - video WEBM: skipped
485
-
486
- Sticker context fields:
487
-
488
- - `Sticker.emoji`
489
- - `Sticker.setName`
490
- - `Sticker.fileId`
491
- - `Sticker.fileUniqueId`
492
- - `Sticker.cachedDescription`
493
-
494
- Sticker cache file:
495
-
496
- - `~/.symi/telegram/sticker-cache.json`
497
-
498
- Stickers are described once (when possible) and cached to reduce repeated vision calls.
499
-
500
- Enable sticker actions:
501
-
502
- ```json5
503
- {
504
- channels: {
505
- telegram: {
506
- actions: {
507
- sticker: true,
508
- },
509
- },
510
- },
511
- }
512
- ```
513
-
514
- Send sticker action:
515
-
516
- ```json5
517
- {
518
- action: "sticker",
519
- channel: "telegram",
520
- to: "123456789",
521
- fileId: "CAACAgIAAxkBAAI...",
522
- }
523
- ```
524
-
525
- Search cached stickers:
526
-
527
- ```json5
528
- {
529
- action: "sticker-search",
530
- channel: "telegram",
531
- query: "cat waving",
532
- limit: 5,
533
- }
534
- ```
535
-
536
- </Accordion>
537
-
538
- <Accordion title="Reaction notifications">
539
- Telegram reactions arrive as `message_reaction` updates (separate from message payloads).
540
-
541
- When enabled, Symi enqueues system events like:
542
-
543
- - `Telegram reaction added: 👍 by Alice (@alice) on msg 42`
544
-
545
- Config:
546
-
547
- - `channels.telegram.reactionNotifications`: `off | own | all` (default: `own`)
548
- - `channels.telegram.reactionLevel`: `off | ack | minimal | extensive` (default: `minimal`)
549
-
550
- Notes:
551
-
552
- - `own` means user reactions to bot-sent messages only (best-effort via sent-message cache).
553
- - Telegram does not provide thread IDs in reaction updates.
554
- - non-forum groups route to group chat session
555
- - forum groups route to the group general-topic session (`:topic:1`), not the exact originating topic
556
-
557
- `allowed_updates` for polling/webhook include `message_reaction` automatically.
558
-
559
- </Accordion>
560
-
561
- <Accordion title="Ack reactions">
562
- `ackReaction` sends an acknowledgement emoji while Symi is processing an inbound message.
563
-
564
- Resolution order:
565
-
566
- - `channels.telegram.accounts.<accountId>.ackReaction`
567
- - `channels.telegram.ackReaction`
568
- - `messages.ackReaction`
569
- - agent identity emoji fallback (`agents.list[].identity.emoji`, else "👀")
570
-
571
- Notes:
572
-
573
- - Telegram expects unicode emoji (for example "👀").
574
- - Use `""` to disable the reaction for a channel or account.
575
-
576
- </Accordion>
577
-
578
- <Accordion title="Config writes from Telegram events and commands">
579
- Channel config writes are enabled by default (`configWrites !== false`).
580
-
581
- Telegram-triggered writes include:
582
-
583
- - group migration events (`migrate_to_chat_id`) to update `channels.telegram.groups`
584
- - `/config set` and `/config unset` (requires command enablement)
585
-
586
- Disable:
587
-
588
- ```json5
589
- {
590
- channels: {
591
- telegram: {
592
- configWrites: false,
593
- },
594
- },
595
- }
596
- ```
597
-
598
- </Accordion>
599
-
600
- <Accordion title="Long polling vs webhook">
601
- Default: long polling.
602
-
603
- Webhook mode:
604
-
605
- - set `channels.telegram.webhookUrl`
606
- - set `channels.telegram.webhookSecret` (required when webhook URL is set)
607
- - optional `channels.telegram.webhookPath` (default `/telegram-webhook`)
608
- - optional `channels.telegram.webhookHost` (default `127.0.0.1`)
609
-
610
- Default local listener for webhook mode binds to `127.0.0.1:8787`.
611
-
612
- If your public endpoint differs, place a reverse proxy in front and point `webhookUrl` at the public URL.
613
- Set `webhookHost` (for example `0.0.0.0`) when you intentionally need external ingress.
614
-
615
- </Accordion>
616
-
617
- <Accordion title="Limits, retry, and CLI targets">
618
- - `channels.telegram.textChunkLimit` default is 4000.
619
- - `channels.telegram.chunkMode="newline"` prefers paragraph boundaries (blank lines) before length splitting.
620
- - `channels.telegram.mediaMaxMb` (default 5) caps inbound Telegram media download/processing size.
621
- - `channels.telegram.timeoutSeconds` overrides Telegram API client timeout (if unset, grammY default applies).
622
- - group context history uses `channels.telegram.historyLimit` or `messages.groupChat.historyLimit` (default 50); `0` disables.
623
- - DM history controls:
624
- - `channels.telegram.dmHistoryLimit`
625
- - `channels.telegram.dms["<user_id>"].historyLimit`
626
- - outbound Telegram API retries are configurable via `channels.telegram.retry`.
627
-
628
- CLI send target can be numeric chat ID or username:
629
-
630
- ```bash
631
- symi message send --channel telegram --target 123456789 --message "hi"
632
- symi message send --channel telegram --target @name --message "hi"
633
- ```
634
-
635
- </Accordion>
636
- </AccordionGroup>
637
-
638
- ## Troubleshooting
639
-
640
- <AccordionGroup>
641
- <Accordion title="Bot does not respond to non mention group messages">
642
-
643
- - If `requireMention=false`, Telegram privacy mode must allow full visibility.
644
- - BotFather: `/setprivacy` -> Disable
645
- - then remove + re-add bot to group
646
- - `symi channels status` warns when config expects unmentioned group messages.
647
- - `symi channels status --probe` can check explicit numeric group IDs; wildcard `"*"` cannot be membership-probed.
648
- - quick session test: `/activation always`.
649
-
650
- </Accordion>
651
-
652
- <Accordion title="Bot not seeing group messages at all">
653
-
654
- - when `channels.telegram.groups` exists, group must be listed (or include `"*"`)
655
- - verify bot membership in group
656
- - review logs: `symi logs --follow` for skip reasons
657
-
658
- </Accordion>
659
-
660
- <Accordion title="Commands work partially or not at all">
661
-
662
- - authorize your sender identity (pairing and/or numeric `allowFrom`)
663
- - command authorization still applies even when group policy is `open`
664
- - `setMyCommands failed` usually indicates DNS/HTTPS reachability issues to `api.telegram.org`
665
-
666
- </Accordion>
667
-
668
- <Accordion title="Polling or network instability">
669
-
670
- - Node 22+ + custom fetch/proxy can trigger immediate abort behavior if AbortSignal types mismatch.
671
- - Some hosts resolve `api.telegram.org` to IPv6 first; broken IPv6 egress can cause intermittent Telegram API failures.
672
- - Validate DNS answers:
673
-
674
- ```bash
675
- dig +short api.telegram.org A
676
- dig +short api.telegram.org AAAA
677
- ```
678
-
679
- </Accordion>
680
- </AccordionGroup>
681
-
682
- More help: [Channel troubleshooting](/channels/troubleshooting).
683
-
684
- ## Telegram config reference pointers
685
-
686
- Primary reference:
687
-
688
- - `channels.telegram.enabled`: enable/disable channel startup.
689
- - `channels.telegram.botToken`: bot token (BotFather).
690
- - `channels.telegram.tokenFile`: read token from file path.
691
- - `channels.telegram.dmPolicy`: `pairing | allowlist | open | disabled` (default: pairing).
692
- - `channels.telegram.allowFrom`: DM allowlist (numeric Telegram user IDs). `open` requires `"*"`. `symi doctor --fix` can resolve legacy `@username` entries to IDs.
693
- - `channels.telegram.groupPolicy`: `open | allowlist | disabled` (default: allowlist).
694
- - `channels.telegram.groupAllowFrom`: group sender allowlist (numeric Telegram user IDs). `symi doctor --fix` can resolve legacy `@username` entries to IDs.
695
- - `channels.telegram.groups`: per-group defaults + allowlist (use `"*"` for global defaults).
696
- - `channels.telegram.groups.<id>.groupPolicy`: per-group override for groupPolicy (`open | allowlist | disabled`).
697
- - `channels.telegram.groups.<id>.requireMention`: mention gating default.
698
- - `channels.telegram.groups.<id>.skills`: skill filter (omit = all skills, empty = none).
699
- - `channels.telegram.groups.<id>.allowFrom`: per-group sender allowlist override.
700
- - `channels.telegram.groups.<id>.systemPrompt`: extra system prompt for the group.
701
- - `channels.telegram.groups.<id>.enabled`: disable the group when `false`.
702
- - `channels.telegram.groups.<id>.topics.<threadId>.*`: per-topic overrides (same fields as group).
703
- - `channels.telegram.groups.<id>.topics.<threadId>.groupPolicy`: per-topic override for groupPolicy (`open | allowlist | disabled`).
704
- - `channels.telegram.groups.<id>.topics.<threadId>.requireMention`: per-topic mention gating override.
705
- - `channels.telegram.capabilities.inlineButtons`: `off | dm | group | all | allowlist` (default: allowlist).
706
- - `channels.telegram.accounts.<account>.capabilities.inlineButtons`: per-account override.
707
- - `channels.telegram.replyToMode`: `off | first | all` (default: `off`).
708
- - `channels.telegram.textChunkLimit`: outbound chunk size (chars).
709
- - `channels.telegram.chunkMode`: `length` (default) or `newline` to split on blank lines (paragraph boundaries) before length chunking.
710
- - `channels.telegram.linkPreview`: toggle link previews for outbound messages (default: true).
711
- - `channels.telegram.streaming`: `true | false` (live stream preview; default: true).
712
- - `channels.telegram.mediaMaxMb`: inbound/outbound media cap (MB).
713
- - `channels.telegram.retry`: retry policy for outbound Telegram API calls (attempts, minDelayMs, maxDelayMs, jitter).
714
- - `channels.telegram.network.autoSelectFamily`: override Node autoSelectFamily (true=enable, false=disable). Defaults to disabled on Node 22 to avoid Happy Eyeballs timeouts.
715
- - `channels.telegram.proxy`: proxy URL for Bot API calls (SOCKS/HTTP).
716
- - `channels.telegram.webhookUrl`: enable webhook mode (requires `channels.telegram.webhookSecret`).
717
- - `channels.telegram.webhookSecret`: webhook secret (required when webhookUrl is set).
718
- - `channels.telegram.webhookPath`: local webhook path (default `/telegram-webhook`).
719
- - `channels.telegram.webhookHost`: local webhook bind host (default `127.0.0.1`).
720
- - `channels.telegram.actions.reactions`: gate Telegram tool reactions.
721
- - `channels.telegram.actions.sendMessage`: gate Telegram tool message sends.
722
- - `channels.telegram.actions.deleteMessage`: gate Telegram tool message deletes.
723
- - `channels.telegram.actions.sticker`: gate Telegram sticker actions — send and search (default: false).
724
- - `channels.telegram.reactionNotifications`: `off | own | all` — control which reactions trigger system events (default: `own` when not set).
725
- - `channels.telegram.reactionLevel`: `off | ack | minimal | extensive` — control agent's reaction capability (default: `minimal` when not set).
726
-
727
- - [Configuration reference - Telegram](/gateway/configuration-reference#telegram)
728
-
729
- Telegram-specific high-signal fields:
730
-
731
- - startup/auth: `enabled`, `botToken`, `tokenFile`, `accounts.*`
732
- - access control: `dmPolicy`, `allowFrom`, `groupPolicy`, `groupAllowFrom`, `groups`, `groups.*.topics.*`
733
- - command/menu: `commands.native`, `customCommands`
734
- - threading/replies: `replyToMode`
735
- - streaming: `streaming` (preview), `blockStreaming`
736
- - formatting/delivery: `textChunkLimit`, `chunkMode`, `linkPreview`, `responsePrefix`
737
- - media/network: `mediaMaxMb`, `timeoutSeconds`, `retry`, `network.autoSelectFamily`, `proxy`
738
- - webhook: `webhookUrl`, `webhookSecret`, `webhookPath`, `webhookHost`
739
- - actions/capabilities: `capabilities.inlineButtons`, `actions.sendMessage|editMessage|deleteMessage|reactions|sticker`
740
- - reactions: `reactionNotifications`, `reactionLevel`
741
- - writes/history: `configWrites`, `historyLimit`, `dmHistoryLimit`, `dms.*.historyLimit`
742
-
743
- ## Related
744
-
745
- - [Pairing](/channels/pairing)
746
- - [Channel routing](/channels/channel-routing)
747
- - [Multi-agent routing](/concepts/multi-agent)
748
- - [Troubleshooting](/channels/troubleshooting)