@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
- read_when:
3
- - 开发 Telegram 功能或 webhook
4
- summary: Telegram 机器人支持状态、功能和配置
5
- title: Telegram
6
- x-i18n:
7
- generated_at: "2026-02-03T10:07:32Z"
8
- model: claude-opus-4-5
9
- provider: pi
10
- source_hash: 65da427e5f2383edb674054f8133a5777b2aae8a7c4bd78defa065124090a19c
11
- source_path: channels/telegram.md
12
- workflow: 15
13
- ---
14
-
15
- # Telegram(Bot API)
16
-
17
- 状态:通过 grammY 支持机器人私信和群组,已可用于生产环境。默认使用长轮询;webhook 可选。
18
-
19
- ## 快速设置(入门)
20
-
21
- 1. 通过 **@BotFather**([直达链接](https://t.me/BotFather))创建机器人。确认用户名确实是 `@BotFather`,然后复制 token。
22
- 2. 设置 token:
23
- - 环境变量:`TELEGRAM_BOT_TOKEN=...`
24
- - 或配置:`channels.telegram.botToken: "..."`。
25
- - 如果两者都设置了,配置优先(环境变量回退仅适用于默认账户)。
26
- 3. 启动 Gateway 网关。
27
- 4. 私信访问默认使用配对模式;首次联系时需要批准配对码。
28
-
29
- 最小配置:
30
-
31
- ```json5
32
- {
33
- channels: {
34
- telegram: {
35
- enabled: true,
36
- botToken: "123:abc",
37
- dmPolicy: "pairing",
38
- },
39
- },
40
- }
41
- ```
42
-
43
- ## 这是什么
44
-
45
- - 一个由 Gateway 网关拥有的 Telegram Bot API 渠道。
46
- - 确定性路由:回复返回到 Telegram;模型不会选择渠道。
47
- - 私信共享智能体的主会话;群组保持隔离(`agent:<agentId>:telegram:group:<chatId>`)。
48
-
49
- ## 设置(快速路径)
50
-
51
- ### 1)创建机器人 token(BotFather)
52
-
53
- 1. 打开 Telegram 并与 **@BotFather**([直达链接](https://t.me/BotFather))对话。确认用户名确实是 `@BotFather`。
54
- 2. 运行 `/newbot`,然后按照提示操作(名称 + 以 `bot` 结尾的用户名)。
55
- 3. 复制 token 并安全保存。
56
-
57
- 可选的 BotFather 设置:
58
-
59
- - `/setjoingroups` — 允许/拒绝将机器人添加到群组。
60
- - `/setprivacy` — 控制机器人是否可以看到所有群组消息。
61
-
62
- ### 2)配置 token(环境变量或配置文件)
63
-
64
- 示例:
65
-
66
- ```json5
67
- {
68
- channels: {
69
- telegram: {
70
- enabled: true,
71
- botToken: "123:abc",
72
- dmPolicy: "pairing",
73
- groups: { "*": { requireMention: true } },
74
- },
75
- },
76
- }
77
- ```
78
-
79
- 环境变量选项:`TELEGRAM_BOT_TOKEN=...`(适用于默认账户)。
80
- 如果环境变量和配置都设置了,配置优先。
81
-
82
- 3. 启动 Gateway 网关。当 token 解析成功时 Telegram 启动(配置优先,环境变量回退)。
83
- 4. 私信访问默认为配对模式。机器人首次被联系时批准配对码。
84
- 5. 对于群组:添加机器人,决定隐私/管理员行为(见下文),然后设置 `channels.telegram.groups` 来控制提及门控和允许列表。
85
-
86
- ## Token + 隐私 + 权限(Telegram 端)
87
-
88
- ### Token 创建(BotFather)
89
-
90
- - `/newbot` 创建机器人并返回 token(请保密)。
91
- - 如果 token 泄露,通过 @BotFather 撤销/重新生成,并更新你的配置。
92
-
93
- ### 群组消息可见性(隐私模式)
94
-
95
- Telegram 机器人默认启用**隐私模式**,这会限制它们接收哪些群组消息。
96
- 如果你的机器人必须看到*所有*群组消息,有两个选项:
97
-
98
- - 使用 `/setprivacy` 禁用隐私模式**或**
99
- - 将机器人添加为群组**管理员**(管理员机器人可以接收所有消息)。
100
-
101
- **注意:** 当你切换隐私模式时,Telegram 要求将机器人从每个群组中移除并重新添加,更改才能生效。
102
-
103
- ### 群组权限(管理员权限)
104
-
105
- 管理员状态在群组内设置(Telegram UI)。管理员机器人始终接收所有群组消息,因此如果需要完全可见性,请使用管理员身份。
106
-
107
- ## 工作原理(行为)
108
-
109
- - 入站消息被规范化为共享渠道信封,包含回复上下文和媒体占位符。
110
- - 群组回复默认需要提及(原生 @提及或 `agents.list[].groupChat.mentionPatterns` / `messages.groupChat.mentionPatterns`)。
111
- - 多智能体覆盖:在 `agents.list[].groupChat.mentionPatterns` 上设置每个智能体的模式。
112
- - 回复始终路由回同一个 Telegram 聊天。
113
- - 长轮询使用 grammY runner,每个聊天按顺序处理;总体并发受 `agents.defaults.maxConcurrent` 限制。
114
- - Telegram Bot API 不支持已读回执;没有 `sendReadReceipts` 选项。
115
-
116
- ## 草稿流式传输
117
-
118
- Symi 可以在 Telegram 私信中使用 `sendMessageDraft` 流式传输部分回复。
119
-
120
- 要求:
121
-
122
- - 在 @BotFather 中为机器人启用线程模式(论坛话题模式)。
123
- - 仅限私聊线程(Telegram 在入站消息中包含 `message_thread_id`)。
124
- - `channels.telegram.streamMode` 未设置为 `"off"`(默认:`"partial"`,`"block"` 启用分块草稿更新)。
125
-
126
- 草稿流式传输仅限私信;Telegram 在群组或频道中不支持此功能。
127
-
128
- ## 格式化(Telegram HTML)
129
-
130
- - 出站 Telegram 文本使用 `parse_mode: "HTML"`(Telegram 支持的标签子集)。
131
- - 类 Markdown 输入被渲染为 **Telegram 安全 HTML**(粗体/斜体/删除线/代码/链接);块级元素被扁平化为带换行/项目符号的文本。
132
- - 来自模型的原始 HTML 会被转义,以避免 Telegram 解析错误。
133
- - 如果 Telegram 拒绝 HTML 负载,Symi 会以纯文本重试相同的消息。
134
-
135
- ## 命令(原生 + 自定义)
136
-
137
- Symi 在启动时向 Telegram 的机器人菜单注册原生命令(如 `/status`、`/reset`、`/model`)。
138
- 你可以通过配置向菜单添加自定义命令:
139
-
140
- ```json5
141
- {
142
- channels: {
143
- telegram: {
144
- customCommands: [
145
- { command: "backup", description: "Git 备份" },
146
- { command: "generate", description: "创建图片" },
147
- ],
148
- },
149
- },
150
- }
151
- ```
152
-
153
- ## 故障排除
154
-
155
- - 日志中出现 `setMyCommands failed` 通常意味着到 `api.telegram.org` 的出站 HTTPS/DNS 被阻止。
156
- - 如果你看到 `sendMessage` 或 `sendChatAction` 失败,检查 IPv6 路由和 DNS。
157
-
158
- 更多帮助:[渠道故障排除](/channels/troubleshooting)。
159
-
160
- 注意:
161
-
162
- - 自定义命令**仅是菜单条目**;除非你在其他地方处理它们,否则 Symi 不会实现它们。
163
- - 命令名称会被规范化(去除前导 `/`,转为小写),必须匹配 `a-z`、`0-9`、`_`(1-32 个字符)。
164
- - 自定义命令**不能覆盖原生命令**。冲突会被忽略并记录日志。
165
- - 如果禁用了 `commands.native`,则只注册自定义命令(如果没有则清空)。
166
-
167
- ## 限制
168
-
169
- - 出站文本按 `channels.telegram.textChunkLimit` 分块(默认 4000)。
170
- - 可选的换行分块:设置 `channels.telegram.chunkMode="newline"` 在长度分块之前按空行(段落边界)分割。
171
- - 媒体下载/上传受 `channels.telegram.mediaMaxMb` 限制(默认 5)。
172
- - Telegram Bot API 请求在 `channels.telegram.timeoutSeconds` 后超时(通过 grammY 默认 500)。设置较低的值以避免长时间挂起。
173
- - 群组历史上下文使用 `channels.telegram.historyLimit`(或 `channels.telegram.accounts.*.historyLimit`),回退到 `messages.groupChat.historyLimit`。设置 `0` 禁用(默认 50)。
174
- - 私信历史可以用 `channels.telegram.dmHistoryLimit`(用户轮次)限制。每用户覆盖:`channels.telegram.dms["<user_id>"].historyLimit`。
175
-
176
- ## 群组激活模式
177
-
178
- 默认情况下,机器人只响应群组中的提及(`@botname` 或 `agents.list[].groupChat.mentionPatterns` 中的模式)。要更改此行为:
179
-
180
- ### 通过配置(推荐)
181
-
182
- ```json5
183
- {
184
- channels: {
185
- telegram: {
186
- groups: {
187
- "-1001234567890": { requireMention: false }, // 在此群组中始终响应
188
- },
189
- },
190
- },
191
- }
192
- ```
193
-
194
- **重要:** 设置 `channels.telegram.groups` 会创建一个**允许列表** - 只有列出的群组(或 `"*"`)会被接受。
195
- 论坛话题继承其父群组配置(allowFrom、requireMention、skills、prompts),除非你在 `channels.telegram.groups.<groupId>.topics.<topicId>` 下添加每话题覆盖。
196
-
197
- 要允许所有群组并始终响应:
198
-
199
- ```json5
200
- {
201
- channels: {
202
- telegram: {
203
- groups: {
204
- "*": { requireMention: false }, // 所有群组,始终响应
205
- },
206
- },
207
- },
208
- }
209
- ```
210
-
211
- 要保持所有群组仅提及响应(默认行为):
212
-
213
- ```json5
214
- {
215
- channels: {
216
- telegram: {
217
- groups: {
218
- "*": { requireMention: true }, // 或完全省略 groups
219
- },
220
- },
221
- },
222
- }
223
- ```
224
-
225
- ### 通过命令(会话级别)
226
-
227
- 在群组中发送:
228
-
229
- - `/activation always` - 响应所有消息
230
- - `/activation mention` - 需要提及(默认)
231
-
232
- **注意:** 命令只更新会话状态。要在重启后保持持久行为,请使用配置。
233
-
234
- ### 获取群组聊天 ID
235
-
236
- 将群组中的任何消息转发给 Telegram 上的 `@userinfobot` 或 `@getidsbot` 以查看聊天 ID(负数,如 `-1001234567890`)。
237
-
238
- **提示:** 要获取你自己的用户 ID,私信机器人,它会回复你的用户 ID(配对消息),或者在命令启用后使用 `/whoami`。
239
-
240
- **隐私注意:** `@userinfobot` 是第三方机器人。如果你更倾向于其他方式,将机器人添加到群组,发送一条消息,然后使用 `symi logs --follow` 读取 `chat.id`,或使用 Bot API `getUpdates`。
241
-
242
- ## 配置写入
243
-
244
- 默认情况下,Telegram 允许写入由渠道事件或 `/config set|unset` 触发的配置更新。
245
-
246
- 这发生在以下情况:
247
-
248
- - 群组升级为超级群组,Telegram 发出 `migrate_to_chat_id`(聊天 ID 更改)。Symi 可以自动迁移 `channels.telegram.groups`。
249
- - 你在 Telegram 聊天中运行 `/config set` 或 `/config unset`(需要 `commands.config: true`)。
250
-
251
- 禁用方式:
252
-
253
- ```json5
254
- {
255
- channels: { telegram: { configWrites: false } },
256
- }
257
- ```
258
-
259
- ## 话题(论坛超级群组)
260
-
261
- Telegram 论坛话题在每条消息中包含 `message_thread_id`。Symi:
262
-
263
- - 将 `:topic:<threadId>` 附加到 Telegram 群组会话键,使每个话题隔离。
264
- - 发送输入指示器和回复时带上 `message_thread_id`,使响应保持在话题内。
265
- - 通用话题(线程 id `1`)是特殊的:消息发送省略 `message_thread_id`(Telegram 会拒绝),但输入指示器仍然包含它。
266
- - 在模板上下文中暴露 `MessageThreadId` + `IsForum` 用于路由/模板。
267
- - 话题特定配置可在 `channels.telegram.groups.<chatId>.topics.<threadId>` 下设置(skills、允许列表、自动回复、系统提示、禁用)。
268
- - 话题配置继承群组设置(requireMention、允许列表、skills、提示、enabled),除非每话题覆盖。
269
-
270
- 私聊在某些边缘情况下可能包含 `message_thread_id`。Symi 保持私信会话键不变,但在存在线程 id 时仍将其用于回复/草稿流式传输。
271
-
272
- ## 内联按钮
273
-
274
- Telegram 支持带回调按钮的内联键盘。
275
-
276
- ```json5
277
- {
278
- channels: {
279
- telegram: {
280
- capabilities: {
281
- inlineButtons: "allowlist",
282
- },
283
- },
284
- },
285
- }
286
- ```
287
-
288
- 对于每账户配置:
289
-
290
- ```json5
291
- {
292
- channels: {
293
- telegram: {
294
- accounts: {
295
- main: {
296
- capabilities: {
297
- inlineButtons: "allowlist",
298
- },
299
- },
300
- },
301
- },
302
- },
303
- }
304
- ```
305
-
306
- 作用域:
307
-
308
- - `off` — 禁用内联按钮
309
- - `dm` — 仅私信(群组目标被阻止)
310
- - `group` — 仅群组(私信目标被阻止)
311
- - `all` — 私信 + 群组
312
- - `allowlist` — 私信 + 群组,但仅限 `allowFrom`/`groupAllowFrom` 允许的发送者(与控制命令规则相同)
313
-
314
- 默认:`allowlist`。
315
- 旧版:`capabilities: ["inlineButtons"]` = `inlineButtons: "all"`。
316
-
317
- ### 发送按钮
318
-
319
- 使用带 `buttons` 参数的消息工具:
320
-
321
- ```json5
322
- {
323
- action: "send",
324
- channel: "telegram",
325
- to: "123456789",
326
- message: "选择一个选项:",
327
- buttons: [
328
- [
329
- { text: "是", callback_data: "yes" },
330
- { text: "否", callback_data: "no" },
331
- ],
332
- [{ text: "取消", callback_data: "cancel" }],
333
- ],
334
- }
335
- ```
336
-
337
- 当用户点击按钮时,回调数据会以以下格式作为消息发送回智能体:
338
- `callback_data: value`
339
-
340
- ### 配置选项
341
-
342
- Telegram 功能可以在两个级别配置(上面显示的对象形式;旧版字符串数组仍然支持):
343
-
344
- - `channels.telegram.capabilities`:应用于所有 Telegram 账户的全局默认功能配置,除非被覆盖。
345
- - `channels.telegram.accounts.<account>.capabilities`:每账户功能,覆盖该特定账户的全局默认值。
346
-
347
- 当所有 Telegram 机器人/账户应具有相同行为时使用全局设置。当不同机器人需要不同行为时使用每账户配置(例如,一个账户只处理私信,而另一个允许在群组中使用)。
348
-
349
- ## 访问控制(私信 + 群组)
350
-
351
- ### 私信访问
352
-
353
- - 默认:`channels.telegram.dmPolicy = "pairing"`。未知发送者收到配对码;在批准之前消息被忽略(配对码 1 小时后过期)。
354
- - 批准方式:
355
- - `symi pairing list telegram`
356
- - `symi pairing approve telegram <CODE>`
357
- - 配对是 Telegram 私信使用的默认 token 交换。详情:[配对](/channels/pairing)
358
- - `channels.telegram.allowFrom` 接受数字用户 ID(推荐)或 `@username` 条目。这**不是**机器人用户名;使用人类发送者的 ID。向导接受 `@username` 并在可能时将其解析为数字 ID。
359
-
360
- #### 查找你的 Telegram 用户 ID
361
-
362
- 更安全(无第三方机器人):
363
-
364
- 1. 启动 Gateway 网关并私信你的机器人。
365
- 2. 运行 `symi logs --follow` 并查找 `from.id`。
366
-
367
- 备选(官方 Bot API):
368
-
369
- 1. 私信你的机器人。
370
- 2. 使用你的机器人 token 获取更新并读取 `message.from.id`:
371
- ```bash
372
- curl "https://api.telegram.org/bot<bot_token>/getUpdates"
373
- ```
374
-
375
- 第三方(隐私性较低):
376
-
377
- - 私信 `@userinfobot` 或 `@getidsbot` 并使用返回的用户 id。
378
-
379
- ### 群组访问
380
-
381
- 两个独立的控制:
382
-
383
- **1. 允许哪些群组**(通过 `channels.telegram.groups` 的群组允许列表):
384
-
385
- - 无 `groups` 配置 = 允许所有群组
386
- - 有 `groups` 配置 = 只允许列出的群组或 `"*"`
387
- - 示例:`"groups": { "-1001234567890": {}, "*": {} }` 允许所有群组
388
-
389
- **2. 允许哪些发送者**(通过 `channels.telegram.groupPolicy` 的发送者过滤):
390
-
391
- - `"open"` = 允许群组中的所有发送者发消息
392
- - `"allowlist"` = 只有 `channels.telegram.groupAllowFrom` 中的发送者可以发消息
393
- - `"disabled"` = 不接受任何群组消息
394
- 默认是 `groupPolicy: "allowlist"`(除非添加 `groupAllowFrom` 否则被阻止)。
395
-
396
- 大多数用户需要:`groupPolicy: "allowlist"` + `groupAllowFrom` + 在 `channels.telegram.groups` 中列出特定群组
397
-
398
- ## 长轮询 vs webhook
399
-
400
- - 默认:长轮询(不需要公共 URL)。
401
- - Webhook 模式:设置 `channels.telegram.webhookUrl` 和 `channels.telegram.webhookSecret`(可选 `channels.telegram.webhookPath`)。
402
- - 本地监听器绑定到 `0.0.0.0:8787`,默认服务于 `POST /telegram-webhook`。
403
- - 如果你的公共 URL 不同,使用反向代理并将 `channels.telegram.webhookUrl` 指向公共端点。
404
-
405
- ## 回复线程
406
-
407
- Telegram 通过标签支持可选的线程回复:
408
-
409
- - `[[reply_to_current]]` -- 回复触发消息。
410
- - `[[reply_to:<id>]]` -- 回复特定消息 id。
411
-
412
- 通过 `channels.telegram.replyToMode` 控制:
413
-
414
- - `first`(默认)、`all`、`off`。
415
-
416
- ## 音频消息(语音 vs 文件)
417
-
418
- Telegram 区分**语音备忘录**(圆形气泡)和**音频文件**(元数据卡片)。
419
- Symi 默认使用音频文件以保持向后兼容性。
420
-
421
- 要在智能体回复中强制使用语音备忘录气泡,在回复中的任何位置包含此标签:
422
-
423
- - `[[audio_as_voice]]` — 将音频作为语音备忘录而不是文件发送。
424
-
425
- 该标签会从发送的文本中去除。其他渠道会忽略此标签。
426
-
427
- 对于消息工具发送,设置 `asVoice: true` 并配合兼容语音的音频 `media` URL(当存在 media 时 `message` 是可选的):
428
-
429
- ```json5
430
- {
431
- action: "send",
432
- channel: "telegram",
433
- to: "123456789",
434
- media: "https://example.com/voice.ogg",
435
- asVoice: true,
436
- }
437
- ```
438
-
439
- ## 贴纸
440
-
441
- Symi 支持接收和发送 Telegram 贴纸,并具有智能缓存功能。
442
-
443
- ### 接收贴纸
444
-
445
- 当用户发送贴纸时,Symi 根据贴纸类型处理:
446
-
447
- - **静态贴纸(WEBP):** 下载并通过视觉处理。贴纸在消息内容中显示为 `<media:sticker>` 占位符。
448
- - **动画贴纸(TGS):** 跳过(Lottie 格式不支持处理)。
449
- - **视频贴纸(WEBM):** 跳过(视频格式不支持处理)。
450
-
451
- 接收贴纸时可用的模板上下文字段:
452
-
453
- - `Sticker` — 包含以下属性的对象:
454
- - `emoji` — 与贴纸关联的表情符号
455
- - `setName` — 贴纸集名称
456
- - `fileId` — Telegram 文件 ID(用于发送相同贴纸)
457
- - `fileUniqueId` — 用于缓存查找的稳定 ID
458
- - `cachedDescription` — 可用时的缓存视觉描述
459
-
460
- ### 贴纸缓存
461
-
462
- 贴纸通过 AI 的视觉功能处理以生成描述。由于相同的贴纸经常重复发送,Symi 缓存这些描述以避免冗余的 API 调用。
463
-
464
- **工作原理:**
465
-
466
- 1. **首次遇到:** 贴纸图像被发送给 AI 进行视觉分析。AI 生成描述(例如"一只卡通猫热情地挥手")。
467
- 2. **缓存存储:** 描述与贴纸的文件 ID、表情符号和集合名称一起保存。
468
- 3. **后续遇到:** 当再次看到相同贴纸时,直接使用缓存的描述。图像不会发送给 AI。
469
-
470
- **缓存位置:** `~/.symi/telegram/sticker-cache.json`
471
-
472
- **缓存条目格式:**
473
-
474
- ```json
475
- {
476
- "fileId": "CAACAgIAAxkBAAI...",
477
- "fileUniqueId": "AgADBAADb6cxG2Y",
478
- "emoji": "👋",
479
- "setName": "CoolCats",
480
- "description": "一只卡通猫热情地挥手",
481
- "cachedAt": "2026-01-15T10:30:00.000Z"
482
- }
483
- ```
484
-
485
- **优点:**
486
-
487
- - 通过避免对相同贴纸重复调用视觉 API 来降低 API 成本
488
- - 缓存贴纸响应更快(无视觉处理延迟)
489
- - 基于缓存描述启用贴纸搜索功能
490
-
491
- 缓存在接收贴纸时自动填充。无需手动缓存管理。
492
-
493
- ### 发送贴纸
494
-
495
- 智能体可以使用 `sticker` 和 `sticker-search` 动作发送和搜索贴纸。这些默认禁用,必须在配置中启用:
496
-
497
- ```json5
498
- {
499
- channels: {
500
- telegram: {
501
- actions: {
502
- sticker: true,
503
- },
504
- },
505
- },
506
- }
507
- ```
508
-
509
- **发送贴纸:**
510
-
511
- ```json5
512
- {
513
- action: "sticker",
514
- channel: "telegram",
515
- to: "123456789",
516
- fileId: "CAACAgIAAxkBAAI...",
517
- }
518
- ```
519
-
520
- 参数:
521
-
522
- - `fileId`(必需)— 贴纸的 Telegram 文件 ID。从接收贴纸时的 `Sticker.fileId` 获取,或从 `sticker-search` 结果获取。
523
- - `replyTo`(可选)— 要回复的消息 ID。
524
- - `threadId`(可选)— 论坛话题的消息线程 ID。
525
-
526
- **搜索贴纸:**
527
-
528
- 智能体可以按描述、表情符号或集合名称搜索缓存的贴纸:
529
-
530
- ```json5
531
- {
532
- action: "sticker-search",
533
- channel: "telegram",
534
- query: "猫 挥手",
535
- limit: 5,
536
- }
537
- ```
538
-
539
- 返回缓存中匹配的贴纸:
540
-
541
- ```json5
542
- {
543
- ok: true,
544
- count: 2,
545
- stickers: [
546
- {
547
- fileId: "CAACAgIAAxkBAAI...",
548
- emoji: "👋",
549
- description: "一只卡通猫热情地挥手",
550
- setName: "CoolCats",
551
- },
552
- ],
553
- }
554
- ```
555
-
556
- 搜索在描述文本、表情符号字符和集合名称之间使用模糊匹配。
557
-
558
- **带线程的示例:**
559
-
560
- ```json5
561
- {
562
- action: "sticker",
563
- channel: "telegram",
564
- to: "-1001234567890",
565
- fileId: "CAACAgIAAxkBAAI...",
566
- replyTo: 42,
567
- threadId: 123,
568
- }
569
- ```
570
-
571
- ## 流式传输(草稿)
572
-
573
- Telegram 可以在智能体生成响应时流式传输**草稿气泡**。
574
- Symi 使用 Bot API `sendMessageDraft`(不是真实消息),然后将最终回复作为普通消息发送。
575
-
576
- 要求(Telegram Bot API 9.3+):
577
-
578
- - **启用话题的私聊**(机器人的论坛话题模式)。
579
- - 入站消息必须包含 `message_thread_id`(私有话题线程)。
580
- - 群组/超级群组/频道的流式传输被忽略。
581
-
582
- 配置:
583
-
584
- - `channels.telegram.streamMode: "off" | "partial" | "block"`(默认:`partial`)
585
- - `partial`:用最新的流式文本更新草稿气泡。
586
- - `block`:以较大块(分块)更新草稿气泡。
587
- - `off`:禁用草稿流式传输。
588
- - 可选(仅用于 `streamMode: "block"`):
589
- - `channels.telegram.draftChunk: { minChars?, maxChars?, breakPreference? }`
590
- - 默认值:`minChars: 200`、`maxChars: 800`、`breakPreference: "paragraph"`(限制在 `channels.telegram.textChunkLimit` 内)。
591
-
592
- 注意:草稿流式传输与**分块流式传输**(渠道消息)不同。
593
- 分块流式传输默认关闭,如果你想要早期 Telegram 消息而不是草稿更新,需要 `channels.telegram.blockStreaming: true`。
594
-
595
- 推理流(仅限 Telegram):
596
-
597
- - `/reasoning stream` 在回复生成时将推理流式传输到草稿气泡中,然后发送不带推理的最终答案。
598
- - 如果 `channels.telegram.streamMode` 为 `off`,推理流被禁用。
599
- 更多上下文:[流式传输 + 分块](/concepts/streaming)。
600
-
601
- ## 重试策略
602
-
603
- 出站 Telegram API 调用在遇到临时网络/429 错误时会以指数退避和抖动进行重试。通过 `channels.telegram.retry` 配置。参见[重试策略](/concepts/retry)。
604
-
605
- ## 智能体工具(消息 + 反应)
606
-
607
- - 工具:`telegram`,使用 `sendMessage` 动作(`to`、`content`,可选 `mediaUrl`、`replyToMessageId`、`messageThreadId`)。
608
- - 工具:`telegram`,使用 `react` 动作(`chatId`、`messageId`、`emoji`)。
609
- - 工具:`telegram`,使用 `deleteMessage` 动作(`chatId`、`messageId`)。
610
- - 反应移除语义:参见 [/tools/reactions](/tools/reactions)。
611
- - 工具门控:`channels.telegram.actions.reactions`、`channels.telegram.actions.sendMessage`、`channels.telegram.actions.deleteMessage`(默认:启用),以及 `channels.telegram.actions.sticker`(默认:禁用)。
612
-
613
- ## 反应通知
614
-
615
- **反应工作原理:**
616
- Telegram 反应作为**单独的 `message_reaction` 事件**到达,而不是消息负载中的属性。当用户添加反应时,Symi:
617
-
618
- 1. 从 Telegram API 接收 `message_reaction` 更新
619
- 2. 将其转换为**系统事件**,格式为:`"Telegram reaction added: {emoji} by {user} on msg {id}"`
620
- 3. 使用与常规消息**相同的会话键**将系统事件加入队列
621
- 4. 当该对话中的下一条消息到达时,系统事件被排出并前置到智能体的上下文中
622
-
623
- 智能体将反应视为对话历史中的**系统通知**,而不是消息元数据。
624
-
625
- **配置:**
626
-
627
- - `channels.telegram.reactionNotifications`:控制哪些反应触发通知
628
- - `"off"` — 忽略所有反应
629
- - `"own"` — 当用户对机器人消息做出反应时通知(尽力而为;内存中)(默认)
630
- - `"all"` — 通知所有反应
631
-
632
- - `channels.telegram.reactionLevel`:控制智能体的反应能力
633
- - `"off"` — 智能体不能对消息做出反应
634
- - `"ack"` — 机器人发送确认反应(处理时显示 👀)(默认)
635
- - `"minimal"` — 智能体可以少量反应(指导:每 5-10 次交换 1 次)
636
- - `"extensive"` — 智能体可以在适当时自由反应
637
-
638
- **论坛群组:** 论坛群组中的反应包含 `message_thread_id`,使用类似 `agent:main:telegram:group:{chatId}:topic:{threadId}` 的会话键。这确保同一话题中的反应和消息保持在一起。
639
-
640
- **示例配置:**
641
-
642
- ```json5
643
- {
644
- channels: {
645
- telegram: {
646
- reactionNotifications: "all", // 查看所有反应
647
- reactionLevel: "minimal", // 智能体可以少量反应
648
- },
649
- },
650
- }
651
- ```
652
-
653
- **要求:**
654
-
655
- - Telegram 机器人必须在 `allowed_updates` 中明确请求 `message_reaction`(由 Symi 自动配置)
656
- - 对于 webhook 模式,反应包含在 webhook `allowed_updates` 中
657
- - 对于轮询模式,反应包含在 `getUpdates` `allowed_updates` 中
658
-
659
- ## 投递目标(CLI/cron)
660
-
661
- - 使用聊天 id(`123456789`)或用户名(`@name`)作为目标。
662
- - 示例:`symi message send --channel telegram --target 123456789 --message "hi"`。
663
-
664
- ## 故障排除
665
-
666
- **机器人不响应群组中的非提及消息:**
667
-
668
- - 如果你设置了 `channels.telegram.groups.*.requireMention=false`,Telegram 的 Bot API **隐私模式**必须禁用。
669
- - BotFather:`/setprivacy` → **Disable**(然后从群组中移除并重新添加机器人)
670
- - `symi channels status` 在配置期望未提及群组消息时显示警告。
671
- - `symi channels status --probe` 可以额外检查显式数字群组 ID 的成员资格(它无法审计通配符 `"*"` 规则)。
672
- - 快速测试:`/activation always`(仅会话级别;使用配置以持久化)
673
-
674
- **机器人完全看不到群组消息:**
675
-
676
- - 如果设置了 `channels.telegram.groups`,群组必须被列出或使用 `"*"`
677
- - 在 @BotFather 中检查隐私设置 →"Group Privacy"应为 **OFF**
678
- - 验证机器人确实是成员(不仅仅是没有读取权限的管理员)
679
- - 检查 Gateway 网关日志:`symi logs --follow`(查找"skipping group message")
680
-
681
- **机器人响应提及但不响应 `/activation always`:**
682
-
683
- - `/activation` 命令更新会话状态但不持久化到配置
684
- - 要持久化行为,将群组添加到 `channels.telegram.groups` 并设置 `requireMention: false`
685
-
686
- **像 `/status` 这样的命令不起作用:**
687
-
688
- - 确保你的 Telegram 用户 ID 已授权(通过配对或 `channels.telegram.allowFrom`)
689
- - 即使在 `groupPolicy: "open"` 的群组中,命令也需要授权
690
-
691
- **长轮询在 Node 22+ 上立即中止(通常与代理/自定义 fetch 有关):**
692
-
693
- - Node 22+ 对 `AbortSignal` 实例更严格;外部信号可以立即中止 `fetch` 调用。
694
- - 升级到规范化中止信号的 Symi 构建版本,或在可以升级之前在 Node 20 上运行 Gateway 网关。
695
-
696
- **机器人启动后静默停止响应(或日志显示 `HttpError: Network request ... failed`):**
697
-
698
- - 某些主机首先将 `api.telegram.org` 解析为 IPv6。如果你的服务器没有可用的 IPv6 出口,grammY 可能会卡在仅 IPv6 的请求上。
699
- - 通过启用 IPv6 出口**或**强制 `api.telegram.org` 使用 IPv4 解析来修复(例如,使用 IPv4 A 记录添加 `/etc/hosts` 条目,或在你的 OS DNS 堆栈中优先使用 IPv4),然后重启 Gateway 网关。
700
- - 快速检查:`dig +short api.telegram.org A` 和 `dig +short api.telegram.org AAAA` 确认 DNS 返回的内容。
701
-
702
- ## 配置参考(Telegram)
703
-
704
- 完整配置:[配置](/gateway/configuration)
705
-
706
- 提供商选项:
707
-
708
- - `channels.telegram.enabled`:启用/禁用渠道启动。
709
- - `channels.telegram.botToken`:机器人 token(BotFather)。
710
- - `channels.telegram.tokenFile`:从文件路径读取 token。
711
- - `channels.telegram.dmPolicy`:`pairing | allowlist | open | disabled`(默认:pairing)。
712
- - `channels.telegram.allowFrom`:私信允许列表(id/用户名)。`open` 需要 `"*"`。
713
- - `channels.telegram.groupPolicy`:`open | allowlist | disabled`(默认:allowlist)。
714
- - `channels.telegram.groupAllowFrom`:群组发送者允许列表(id/用户名)。
715
- - `channels.telegram.groups`:每群组默认值 + 允许列表(使用 `"*"` 作为全局默认值)。
716
- - `channels.telegram.groups.<id>.requireMention`:提及门控默认值。
717
- - `channels.telegram.groups.<id>.skills`:skill 过滤器(省略 = 所有 skills,空 = 无)。
718
- - `channels.telegram.groups.<id>.allowFrom`:每群组发送者允许列表覆盖。
719
- - `channels.telegram.groups.<id>.systemPrompt`:群组的额外系统提示。
720
- - `channels.telegram.groups.<id>.enabled`:为 `false` 时禁用群组。
721
- - `channels.telegram.groups.<id>.topics.<threadId>.*`:每话题覆盖(与群组相同的字段)。
722
- - `channels.telegram.groups.<id>.topics.<threadId>.requireMention`:每话题提及门控覆盖。
723
- - `channels.telegram.capabilities.inlineButtons`:`off | dm | group | all | allowlist`(默认:allowlist)。
724
- - `channels.telegram.accounts.<account>.capabilities.inlineButtons`:每账户覆盖。
725
- - `channels.telegram.replyToMode`:`off | first | all`(默认:`off`)。
726
- - `channels.telegram.textChunkLimit`:出站分块大小(字符)。
727
- - `channels.telegram.chunkMode`:`length`(默认)或 `newline` 在长度分块之前按空行(段落边界)分割。
728
- - `channels.telegram.linkPreview`:切换出站消息的链接预览(默认:true)。
729
- - `channels.telegram.streamMode`:`off | partial | block`(草稿流式传输)。
730
- - `channels.telegram.mediaMaxMb`:入站/出站媒体上限(MB)。
731
- - `channels.telegram.retry`:出站 Telegram API 调用的重试策略(attempts、minDelayMs、maxDelayMs、jitter)。
732
- - `channels.telegram.network.autoSelectFamily`:覆盖 Node autoSelectFamily(true=启用,false=禁用)。在 Node 22 上默认禁用以避免 Happy Eyeballs 超时。
733
- - `channels.telegram.proxy`:Bot API 调用的代理 URL(SOCKS/HTTP)。
734
- - `channels.telegram.webhookUrl`:启用 webhook 模式(需要 `channels.telegram.webhookSecret`)。
735
- - `channels.telegram.webhookSecret`:webhook 密钥(设置 webhookUrl 时必需)。
736
- - `channels.telegram.webhookPath`:本地 webhook 路径(默认 `/telegram-webhook`)。
737
- - `channels.telegram.actions.reactions`:门控 Telegram 工具反应。
738
- - `channels.telegram.actions.sendMessage`:门控 Telegram 工具消息发送。
739
- - `channels.telegram.actions.deleteMessage`:门控 Telegram 工具消息删除。
740
- - `channels.telegram.actions.sticker`:门控 Telegram 贴纸动作 — 发送和搜索(默认:false)。
741
- - `channels.telegram.reactionNotifications`:`off | own | all` — 控制哪些反应触发系统事件(未设置时默认:`own`)。
742
- - `channels.telegram.reactionLevel`:`off | ack | minimal | extensive` — 控制智能体的反应能力(未设置时默认:`minimal`)。
743
-
744
- 相关全局选项:
745
-
746
- - `agents.list[].groupChat.mentionPatterns`(提及门控模式)。
747
- - `messages.groupChat.mentionPatterns`(全局回退)。
748
- - `messages.responsePrefix`、`messages.ackReaction`、`messages.ackReactionScope`、`messages.removeAckAfterReply`。