@symerian/symi 3.0.20 → 3.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (737) hide show
  1. package/dist/{audio-preflight-BaCdNfrk.js → audio-preflight-D7BVT-ls.js} +4 -4
  2. package/dist/build-info.json +3 -3
  3. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  4. package/dist/{chrome-UfmVM0xR.js → chrome-B5CO2vB5.js} +7 -7
  5. package/dist/{deliver-BqXdac6W.js → deliver-CrwjsDwv.js} +1 -1
  6. package/dist/extensionAPI.js +7 -7
  7. package/dist/{image-DIWsXYcW.js → image-Csu7WcLW.js} +1 -1
  8. package/dist/{manager-DW3SxcPr.js → manager-BkkVjTO8.js} +1 -1
  9. package/dist/{pi-embedded-BNch0U5F.js → pi-embedded-Dhp64z5l.js} +16 -16
  10. package/dist/{pi-embedded-helpers-IkHl02JF.js → pi-embedded-helpers-840E4hop.js} +4 -4
  11. package/dist/{pw-ai-nMkA-oDJ.js → pw-ai-CBgJf_RR.js} +1 -1
  12. package/dist/{runner-DNEC58JI.js → runner-BbFKo1ne.js} +1 -1
  13. package/dist/{synthesis-BWAr0sZ9.js → synthesis-DoEM0E8_.js} +7 -7
  14. package/dist/{web-7a-m_UxL.js → web-BYXJn-Ps.js} +7 -7
  15. package/package.json +1 -1
  16. package/docs/.i18n/README.md +0 -31
  17. package/docs/.i18n/glossary.ja-JP.json +0 -14
  18. package/docs/.i18n/glossary.zh-CN.json +0 -210
  19. package/docs/.i18n/ja-JP.tm.jsonl +0 -0
  20. package/docs/.i18n/zh-CN.tm.jsonl +0 -1303
  21. package/docs/CNAME +0 -1
  22. package/docs/assets/install-script.svg +0 -1
  23. package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
  24. package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
  25. package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
  26. package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
  27. package/docs/assets/macos-onboarding/05-permissions.png +0 -0
  28. package/docs/assets/pixel-symi.svg +0 -60
  29. package/docs/assets/showcase/agents-ui.jpg +0 -0
  30. package/docs/assets/showcase/bambu-cli.png +0 -0
  31. package/docs/assets/showcase/codexmonitor.png +0 -0
  32. package/docs/assets/showcase/gohome-grafana.png +0 -0
  33. package/docs/assets/showcase/ios-testflight.jpg +0 -0
  34. package/docs/assets/showcase/oura-health.png +0 -0
  35. package/docs/assets/showcase/padel-cli.svg +0 -11
  36. package/docs/assets/showcase/padel-screenshot.jpg +0 -0
  37. package/docs/assets/showcase/papla-tts.jpg +0 -0
  38. package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
  39. package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
  40. package/docs/assets/showcase/roborock-status.svg +0 -13
  41. package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
  42. package/docs/assets/showcase/snag.png +0 -0
  43. package/docs/assets/showcase/tesco-shop.jpg +0 -0
  44. package/docs/assets/showcase/wienerlinien.png +0 -0
  45. package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
  46. package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
  47. package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
  48. package/docs/assets/sponsors/blacksmith.svg +0 -14
  49. package/docs/assets/sponsors/openai.svg +0 -3
  50. package/docs/assets/symi-logo-text-dark.png +0 -0
  51. package/docs/assets/symi-logo-text.png +0 -0
  52. package/docs/automation/auth-monitoring.md +0 -44
  53. package/docs/automation/cron-jobs.md +0 -540
  54. package/docs/automation/cron-vs-heartbeat.md +0 -286
  55. package/docs/automation/gmail-pubsub.md +0 -256
  56. package/docs/automation/hooks.md +0 -998
  57. package/docs/automation/poll.md +0 -61
  58. package/docs/automation/troubleshooting.md +0 -122
  59. package/docs/automation/webhook.md +0 -213
  60. package/docs/brave-search.md +0 -41
  61. package/docs/capabilities.md +0 -151
  62. package/docs/channels/bluebubbles.md +0 -346
  63. package/docs/channels/broadcast-groups.md +0 -441
  64. package/docs/channels/channel-routing.md +0 -112
  65. package/docs/channels/feishu.md +0 -586
  66. package/docs/channels/googlechat.md +0 -253
  67. package/docs/channels/grammy.md +0 -31
  68. package/docs/channels/group-messages.md +0 -82
  69. package/docs/channels/groups.md +0 -364
  70. package/docs/channels/imessage.md +0 -366
  71. package/docs/channels/index.md +0 -46
  72. package/docs/channels/irc.md +0 -234
  73. package/docs/channels/line.md +0 -186
  74. package/docs/channels/location.md +0 -56
  75. package/docs/channels/matrix.md +0 -300
  76. package/docs/channels/mattermost.md +0 -158
  77. package/docs/channels/msteams.md +0 -769
  78. package/docs/channels/nextcloud-talk.md +0 -138
  79. package/docs/channels/nostr.md +0 -233
  80. package/docs/channels/pairing.md +0 -100
  81. package/docs/channels/signal.md +0 -322
  82. package/docs/channels/slack.md +0 -510
  83. package/docs/channels/telegram.md +0 -748
  84. package/docs/channels/tlon.md +0 -148
  85. package/docs/channels/troubleshooting.md +0 -110
  86. package/docs/channels/twitch.md +0 -379
  87. package/docs/channels/whatsapp.md +0 -444
  88. package/docs/channels/zalo.md +0 -192
  89. package/docs/channels/zalouser.md +0 -140
  90. package/docs/ci.md +0 -50
  91. package/docs/cli/acp.md +0 -182
  92. package/docs/cli/agent.md +0 -24
  93. package/docs/cli/agents.md +0 -75
  94. package/docs/cli/approvals.md +0 -50
  95. package/docs/cli/browser.md +0 -107
  96. package/docs/cli/channels.md +0 -73
  97. package/docs/cli/config.md +0 -50
  98. package/docs/cli/configure.md +0 -32
  99. package/docs/cli/cron.md +0 -44
  100. package/docs/cli/dashboard.md +0 -16
  101. package/docs/cli/devices.md +0 -73
  102. package/docs/cli/directory.md +0 -62
  103. package/docs/cli/dns.md +0 -23
  104. package/docs/cli/docs.md +0 -15
  105. package/docs/cli/doctor.md +0 -41
  106. package/docs/cli/gateway.md +0 -202
  107. package/docs/cli/health.md +0 -21
  108. package/docs/cli/hooks.md +0 -313
  109. package/docs/cli/index.md +0 -1029
  110. package/docs/cli/logs.md +0 -28
  111. package/docs/cli/memory.md +0 -45
  112. package/docs/cli/message.md +0 -214
  113. package/docs/cli/models.md +0 -79
  114. package/docs/cli/node.md +0 -112
  115. package/docs/cli/nodes.md +0 -73
  116. package/docs/cli/onboard.md +0 -76
  117. package/docs/cli/pairing.md +0 -21
  118. package/docs/cli/plugins.md +0 -92
  119. package/docs/cli/reset.md +0 -17
  120. package/docs/cli/sandbox.md +0 -152
  121. package/docs/cli/security.md +0 -64
  122. package/docs/cli/sessions.md +0 -16
  123. package/docs/cli/setup.md +0 -29
  124. package/docs/cli/skills.md +0 -26
  125. package/docs/cli/status.md +0 -25
  126. package/docs/cli/system.md +0 -60
  127. package/docs/cli/tui.md +0 -23
  128. package/docs/cli/uninstall.md +0 -17
  129. package/docs/cli/update.md +0 -98
  130. package/docs/cli/voicecall.md +0 -34
  131. package/docs/cli/webhooks.md +0 -25
  132. package/docs/concepts/agent-loop.md +0 -148
  133. package/docs/concepts/agent-workspace.md +0 -234
  134. package/docs/concepts/agent.md +0 -123
  135. package/docs/concepts/architecture.md +0 -135
  136. package/docs/concepts/compaction.md +0 -61
  137. package/docs/concepts/context.md +0 -161
  138. package/docs/concepts/features.md +0 -51
  139. package/docs/concepts/markdown-formatting.md +0 -128
  140. package/docs/concepts/memory.md +0 -729
  141. package/docs/concepts/messages.md +0 -153
  142. package/docs/concepts/model-failover.md +0 -149
  143. package/docs/concepts/model-providers.md +0 -424
  144. package/docs/concepts/models.md +0 -208
  145. package/docs/concepts/multi-agent.md +0 -521
  146. package/docs/concepts/oauth.md +0 -145
  147. package/docs/concepts/presence.md +0 -102
  148. package/docs/concepts/queue.md +0 -86
  149. package/docs/concepts/retry.md +0 -64
  150. package/docs/concepts/session-pruning.md +0 -123
  151. package/docs/concepts/session-tool.md +0 -213
  152. package/docs/concepts/session.md +0 -199
  153. package/docs/concepts/sessions.md +0 -10
  154. package/docs/concepts/streaming.md +0 -129
  155. package/docs/concepts/system-prompt.md +0 -128
  156. package/docs/concepts/timezone.md +0 -90
  157. package/docs/concepts/typebox.md +0 -289
  158. package/docs/concepts/typing-indicators.md +0 -68
  159. package/docs/concepts/usage-tracking.md +0 -35
  160. package/docs/date-time.md +0 -127
  161. package/docs/debug/node-issue.md +0 -85
  162. package/docs/diagnostics/flags.md +0 -91
  163. package/docs/docs.json +0 -1849
  164. package/docs/experiments/onboarding-config-protocol.md +0 -40
  165. package/docs/experiments/plans/browser-evaluate-cdp-refactor.md +0 -229
  166. package/docs/experiments/plans/cron-add-hardening.md +0 -62
  167. package/docs/experiments/plans/group-policy-hardening.md +0 -40
  168. package/docs/experiments/plans/openresponses-gateway.md +0 -123
  169. package/docs/experiments/plans/pty-process-supervision.md +0 -192
  170. package/docs/experiments/plans/session-binding-channel-agnostic.md +0 -202
  171. package/docs/experiments/plans/thread-bound-subagents.md +0 -281
  172. package/docs/experiments/proposals/model-config.md +0 -36
  173. package/docs/experiments/research/memory.md +0 -228
  174. package/docs/gateway/authentication.md +0 -162
  175. package/docs/gateway/background-process.md +0 -96
  176. package/docs/gateway/bonjour.md +0 -177
  177. package/docs/gateway/bridge-protocol.md +0 -91
  178. package/docs/gateway/cli-backends.md +0 -225
  179. package/docs/gateway/configuration-examples.md +0 -610
  180. package/docs/gateway/configuration-reference.md +0 -2465
  181. package/docs/gateway/configuration.md +0 -488
  182. package/docs/gateway/discovery.md +0 -123
  183. package/docs/gateway/doctor.md +0 -282
  184. package/docs/gateway/gateway-lock.md +0 -34
  185. package/docs/gateway/health.md +0 -35
  186. package/docs/gateway/heartbeat.md +0 -374
  187. package/docs/gateway/index.md +0 -254
  188. package/docs/gateway/local-models.md +0 -150
  189. package/docs/gateway/logging.md +0 -113
  190. package/docs/gateway/multiple-gateways.md +0 -112
  191. package/docs/gateway/network-model.md +0 -20
  192. package/docs/gateway/openai-http-api.md +0 -119
  193. package/docs/gateway/openresponses-http-api.md +0 -333
  194. package/docs/gateway/pairing.md +0 -99
  195. package/docs/gateway/protocol.md +0 -221
  196. package/docs/gateway/remote-gateway-readme.md +0 -158
  197. package/docs/gateway/remote.md +0 -131
  198. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -128
  199. package/docs/gateway/sandboxing.md +0 -203
  200. package/docs/gateway/security/index.md +0 -931
  201. package/docs/gateway/tailscale.md +0 -132
  202. package/docs/gateway/tools-invoke-http-api.md +0 -110
  203. package/docs/gateway/troubleshooting.md +0 -317
  204. package/docs/gateway/trusted-proxy-auth.md +0 -270
  205. package/docs/glass-ui-rendering-invariants.md +0 -451
  206. package/docs/help/debugging.md +0 -162
  207. package/docs/help/environment.md +0 -107
  208. package/docs/help/faq.md +0 -2846
  209. package/docs/help/index.md +0 -21
  210. package/docs/help/scripts.md +0 -28
  211. package/docs/help/testing.md +0 -385
  212. package/docs/help/troubleshooting.md +0 -264
  213. package/docs/images/configure-model-picker-unsearchable.png +0 -0
  214. package/docs/images/feishu-step2-create-app.png +0 -0
  215. package/docs/images/feishu-step3-credentials.png +0 -0
  216. package/docs/images/feishu-step4-permissions.png +0 -0
  217. package/docs/images/feishu-step5-bot-capability.png +0 -0
  218. package/docs/images/feishu-step6-event-subscription.png +0 -0
  219. package/docs/images/groups-flow.svg +0 -52
  220. package/docs/images/mobile-ui-screenshot.png +0 -0
  221. package/docs/index.md +0 -186
  222. package/docs/install/ansible.md +0 -207
  223. package/docs/install/bun.md +0 -59
  224. package/docs/install/development-channels.md +0 -75
  225. package/docs/install/docker.md +0 -583
  226. package/docs/install/exe-dev.md +0 -126
  227. package/docs/install/fly.md +0 -472
  228. package/docs/install/gcp.md +0 -499
  229. package/docs/install/hetzner.md +0 -347
  230. package/docs/install/index.md +0 -218
  231. package/docs/install/installer.md +0 -405
  232. package/docs/install/macos-vm.md +0 -281
  233. package/docs/install/migrating.md +0 -192
  234. package/docs/install/nix.md +0 -98
  235. package/docs/install/node.md +0 -138
  236. package/docs/install/northflank.mdx +0 -49
  237. package/docs/install/podman.md +0 -108
  238. package/docs/install/railway.mdx +0 -95
  239. package/docs/install/render.mdx +0 -158
  240. package/docs/install/uninstall.md +0 -128
  241. package/docs/install/updating.md +0 -231
  242. package/docs/ja-JP/AGENTS.md +0 -37
  243. package/docs/ja-JP/index.md +0 -183
  244. package/docs/ja-JP/start/getting-started.md +0 -125
  245. package/docs/ja-JP/start/wizard.md +0 -77
  246. package/docs/logging.md +0 -350
  247. package/docs/nav-tabs-underline.js +0 -100
  248. package/docs/network.md +0 -54
  249. package/docs/nodes/audio.md +0 -133
  250. package/docs/nodes/camera.md +0 -156
  251. package/docs/nodes/images.md +0 -72
  252. package/docs/nodes/index.md +0 -342
  253. package/docs/nodes/location-command.md +0 -113
  254. package/docs/nodes/media-understanding.md +0 -379
  255. package/docs/nodes/talk.md +0 -90
  256. package/docs/nodes/troubleshooting.md +0 -112
  257. package/docs/nodes/voicewake.md +0 -65
  258. package/docs/perplexity.md +0 -80
  259. package/docs/phase-6.5-pre-flight-audit.md +0 -268
  260. package/docs/pi-dev.md +0 -70
  261. package/docs/pi.md +0 -610
  262. package/docs/platforms/android.md +0 -151
  263. package/docs/platforms/digitalocean.md +0 -265
  264. package/docs/platforms/index.md +0 -53
  265. package/docs/platforms/ios.md +0 -108
  266. package/docs/platforms/linux.md +0 -94
  267. package/docs/platforms/mac/bundled-gateway.md +0 -73
  268. package/docs/platforms/mac/canvas.md +0 -125
  269. package/docs/platforms/mac/child-process.md +0 -69
  270. package/docs/platforms/mac/dev-setup.md +0 -104
  271. package/docs/platforms/mac/health.md +0 -34
  272. package/docs/platforms/mac/icon.md +0 -31
  273. package/docs/platforms/mac/logging.md +0 -57
  274. package/docs/platforms/mac/menu-bar.md +0 -81
  275. package/docs/platforms/mac/peekaboo.md +0 -65
  276. package/docs/platforms/mac/permissions.md +0 -50
  277. package/docs/platforms/mac/release.md +0 -85
  278. package/docs/platforms/mac/remote.md +0 -84
  279. package/docs/platforms/mac/signing.md +0 -47
  280. package/docs/platforms/mac/skills.md +0 -33
  281. package/docs/platforms/mac/voice-overlay.md +0 -60
  282. package/docs/platforms/mac/voicewake.md +0 -66
  283. package/docs/platforms/mac/webchat.md +0 -43
  284. package/docs/platforms/mac/xpc.md +0 -61
  285. package/docs/platforms/macos.md +0 -204
  286. package/docs/platforms/oracle.md +0 -303
  287. package/docs/platforms/raspberry-pi.md +0 -358
  288. package/docs/platforms/windows.md +0 -159
  289. package/docs/plugins/agent-tools.md +0 -99
  290. package/docs/plugins/community.md +0 -44
  291. package/docs/plugins/manifest.md +0 -71
  292. package/docs/plugins/voice-call.md +0 -322
  293. package/docs/plugins/zalouser.md +0 -81
  294. package/docs/prose.md +0 -134
  295. package/docs/providers/anthropic.md +0 -174
  296. package/docs/providers/bedrock.md +0 -176
  297. package/docs/providers/claude-max-api-proxy.md +0 -148
  298. package/docs/providers/cloudflare-ai-gateway.md +0 -71
  299. package/docs/providers/deepgram.md +0 -93
  300. package/docs/providers/github-copilot.md +0 -72
  301. package/docs/providers/glm.md +0 -33
  302. package/docs/providers/huggingface.md +0 -209
  303. package/docs/providers/index.md +0 -67
  304. package/docs/providers/litellm.md +0 -153
  305. package/docs/providers/minimax.md +0 -208
  306. package/docs/providers/models.md +0 -52
  307. package/docs/providers/moonshot.md +0 -142
  308. package/docs/providers/nvidia.md +0 -55
  309. package/docs/providers/ollama.md +0 -250
  310. package/docs/providers/openai.md +0 -62
  311. package/docs/providers/opencode.md +0 -36
  312. package/docs/providers/openrouter.md +0 -37
  313. package/docs/providers/qianfan.md +0 -38
  314. package/docs/providers/qwen.md +0 -53
  315. package/docs/providers/synthetic.md +0 -99
  316. package/docs/providers/together.md +0 -65
  317. package/docs/providers/venice.md +0 -267
  318. package/docs/providers/vercel-ai-gateway.md +0 -50
  319. package/docs/providers/vllm.md +0 -92
  320. package/docs/providers/xiaomi.md +0 -64
  321. package/docs/providers/zai.md +0 -38
  322. package/docs/refactor/exec-host.md +0 -316
  323. package/docs/refactor/outbound-session-mirroring.md +0 -83
  324. package/docs/refactor/plugin-sdk.md +0 -214
  325. package/docs/refactor/strict-config.md +0 -93
  326. package/docs/refactor/syminet.md +0 -417
  327. package/docs/reference/AGENTS.default.md +0 -123
  328. package/docs/reference/RELEASING.md +0 -120
  329. package/docs/reference/api-usage-costs.md +0 -138
  330. package/docs/reference/credits.md +0 -28
  331. package/docs/reference/device-models.md +0 -47
  332. package/docs/reference/rpc.md +0 -43
  333. package/docs/reference/session-management-compaction.md +0 -284
  334. package/docs/reference/test.md +0 -51
  335. package/docs/reference/token-use.md +0 -136
  336. package/docs/reference/transcript-hygiene.md +0 -151
  337. package/docs/reference/wizard.md +0 -265
  338. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -89
  339. package/docs/security/README.md +0 -16
  340. package/docs/security/THREAT-MODEL-ATLAS.md +0 -600
  341. package/docs/security/formal-verification.md +0 -164
  342. package/docs/start/bootstrapping.md +0 -41
  343. package/docs/start/docs-directory.md +0 -63
  344. package/docs/start/getting-started.md +0 -135
  345. package/docs/start/hubs.md +0 -196
  346. package/docs/start/lore.md +0 -216
  347. package/docs/start/onboarding-overview.md +0 -51
  348. package/docs/start/onboarding.md +0 -81
  349. package/docs/start/quickstart.md +0 -22
  350. package/docs/start/setup.md +0 -160
  351. package/docs/start/showcase.md +0 -414
  352. package/docs/start/symi.md +0 -211
  353. package/docs/start/wizard-cli-automation.md +0 -158
  354. package/docs/start/wizard-cli-reference.md +0 -255
  355. package/docs/start/wizard.md +0 -109
  356. package/docs/style.css +0 -37
  357. package/docs/tools/agent-send.md +0 -52
  358. package/docs/tools/apply-patch.md +0 -51
  359. package/docs/tools/browser-linux-troubleshooting.md +0 -139
  360. package/docs/tools/browser-login.md +0 -67
  361. package/docs/tools/browser.md +0 -587
  362. package/docs/tools/chrome-extension.md +0 -183
  363. package/docs/tools/creating-skills.md +0 -54
  364. package/docs/tools/elevated.md +0 -55
  365. package/docs/tools/exec-approvals.md +0 -261
  366. package/docs/tools/exec.md +0 -184
  367. package/docs/tools/firecrawl.md +0 -61
  368. package/docs/tools/index.md +0 -540
  369. package/docs/tools/llm-task.md +0 -115
  370. package/docs/tools/loop-detection.md +0 -98
  371. package/docs/tools/multi-agent-sandbox-tools.md +0 -396
  372. package/docs/tools/pipeline.md +0 -340
  373. package/docs/tools/plugin.md +0 -687
  374. package/docs/tools/reactions.md +0 -21
  375. package/docs/tools/skills-config.md +0 -76
  376. package/docs/tools/skills.md +0 -300
  377. package/docs/tools/slash-commands.md +0 -202
  378. package/docs/tools/subagents.md +0 -232
  379. package/docs/tools/symihub.md +0 -256
  380. package/docs/tools/thinking.md +0 -75
  381. package/docs/tools/web.md +0 -265
  382. package/docs/tts.md +0 -398
  383. package/docs/vps.md +0 -43
  384. package/docs/web/control-ui.md +0 -247
  385. package/docs/web/dashboard.md +0 -46
  386. package/docs/web/index.md +0 -118
  387. package/docs/web/tui.md +0 -162
  388. package/docs/web/webchat.md +0 -53
  389. package/docs/whatsapp-symi-ai-zh.jpg +0 -0
  390. package/docs/whatsapp-symi.jpg +0 -0
  391. package/docs/zh-CN/AGENTS.md +0 -59
  392. package/docs/zh-CN/automation/auth-monitoring.md +0 -47
  393. package/docs/zh-CN/automation/cron-jobs.md +0 -422
  394. package/docs/zh-CN/automation/cron-vs-heartbeat.md +0 -286
  395. package/docs/zh-CN/automation/gmail-pubsub.md +0 -249
  396. package/docs/zh-CN/automation/hooks.md +0 -881
  397. package/docs/zh-CN/automation/poll.md +0 -68
  398. package/docs/zh-CN/automation/troubleshooting.md +0 -8
  399. package/docs/zh-CN/automation/webhook.md +0 -161
  400. package/docs/zh-CN/brave-search.md +0 -48
  401. package/docs/zh-CN/channels/bluebubbles.md +0 -271
  402. package/docs/zh-CN/channels/broadcast-groups.md +0 -448
  403. package/docs/zh-CN/channels/channel-routing.md +0 -112
  404. package/docs/zh-CN/channels/feishu.md +0 -629
  405. package/docs/zh-CN/channels/googlechat.md +0 -257
  406. package/docs/zh-CN/channels/grammy.md +0 -38
  407. package/docs/zh-CN/channels/group-messages.md +0 -89
  408. package/docs/zh-CN/channels/groups.md +0 -369
  409. package/docs/zh-CN/channels/imessage.md +0 -300
  410. package/docs/zh-CN/channels/index.md +0 -52
  411. package/docs/zh-CN/channels/line.md +0 -180
  412. package/docs/zh-CN/channels/location.md +0 -63
  413. package/docs/zh-CN/channels/matrix.md +0 -221
  414. package/docs/zh-CN/channels/mattermost.md +0 -144
  415. package/docs/zh-CN/channels/msteams.md +0 -773
  416. package/docs/zh-CN/channels/nextcloud-talk.md +0 -142
  417. package/docs/zh-CN/channels/nostr.md +0 -240
  418. package/docs/zh-CN/channels/pairing.md +0 -86
  419. package/docs/zh-CN/channels/signal.md +0 -207
  420. package/docs/zh-CN/channels/slack.md +0 -529
  421. package/docs/zh-CN/channels/telegram.md +0 -748
  422. package/docs/zh-CN/channels/tlon.md +0 -136
  423. package/docs/zh-CN/channels/troubleshooting.md +0 -34
  424. package/docs/zh-CN/channels/twitch.md +0 -385
  425. package/docs/zh-CN/channels/whatsapp.md +0 -411
  426. package/docs/zh-CN/channels/zalo.md +0 -196
  427. package/docs/zh-CN/channels/zalouser.md +0 -147
  428. package/docs/zh-CN/cli/acp.md +0 -173
  429. package/docs/zh-CN/cli/agent.md +0 -30
  430. package/docs/zh-CN/cli/agents.md +0 -82
  431. package/docs/zh-CN/cli/approvals.md +0 -57
  432. package/docs/zh-CN/cli/browser.md +0 -114
  433. package/docs/zh-CN/cli/channels.md +0 -80
  434. package/docs/zh-CN/cli/config.md +0 -57
  435. package/docs/zh-CN/cli/configure.md +0 -37
  436. package/docs/zh-CN/cli/cron.md +0 -43
  437. package/docs/zh-CN/cli/dashboard.md +0 -23
  438. package/docs/zh-CN/cli/devices.md +0 -74
  439. package/docs/zh-CN/cli/directory.md +0 -69
  440. package/docs/zh-CN/cli/dns.md +0 -30
  441. package/docs/zh-CN/cli/docs.md +0 -22
  442. package/docs/zh-CN/cli/doctor.md +0 -48
  443. package/docs/zh-CN/cli/gateway.md +0 -206
  444. package/docs/zh-CN/cli/health.md +0 -28
  445. package/docs/zh-CN/cli/hooks.md +0 -298
  446. package/docs/zh-CN/cli/index.md +0 -1025
  447. package/docs/zh-CN/cli/logs.md +0 -31
  448. package/docs/zh-CN/cli/memory.md +0 -52
  449. package/docs/zh-CN/cli/message.md +0 -205
  450. package/docs/zh-CN/cli/models.md +0 -85
  451. package/docs/zh-CN/cli/node.md +0 -115
  452. package/docs/zh-CN/cli/nodes.md +0 -80
  453. package/docs/zh-CN/cli/onboard.md +0 -36
  454. package/docs/zh-CN/cli/pairing.md +0 -28
  455. package/docs/zh-CN/cli/plugins.md +0 -66
  456. package/docs/zh-CN/cli/reset.md +0 -24
  457. package/docs/zh-CN/cli/sandbox.md +0 -158
  458. package/docs/zh-CN/cli/security.md +0 -33
  459. package/docs/zh-CN/cli/sessions.md +0 -23
  460. package/docs/zh-CN/cli/setup.md +0 -36
  461. package/docs/zh-CN/cli/skills.md +0 -33
  462. package/docs/zh-CN/cli/status.md +0 -32
  463. package/docs/zh-CN/cli/system.md +0 -63
  464. package/docs/zh-CN/cli/tui.md +0 -30
  465. package/docs/zh-CN/cli/uninstall.md +0 -24
  466. package/docs/zh-CN/cli/update.md +0 -101
  467. package/docs/zh-CN/cli/voicecall.md +0 -41
  468. package/docs/zh-CN/cli/webhooks.md +0 -32
  469. package/docs/zh-CN/concepts/agent-loop.md +0 -146
  470. package/docs/zh-CN/concepts/agent-workspace.md +0 -219
  471. package/docs/zh-CN/concepts/agent.md +0 -115
  472. package/docs/zh-CN/concepts/architecture.md +0 -122
  473. package/docs/zh-CN/concepts/compaction.md +0 -67
  474. package/docs/zh-CN/concepts/context.md +0 -168
  475. package/docs/zh-CN/concepts/features.md +0 -57
  476. package/docs/zh-CN/concepts/markdown-formatting.md +0 -115
  477. package/docs/zh-CN/concepts/memory.md +0 -412
  478. package/docs/zh-CN/concepts/messages.md +0 -140
  479. package/docs/zh-CN/concepts/model-failover.md +0 -145
  480. package/docs/zh-CN/concepts/model-providers.md +0 -320
  481. package/docs/zh-CN/concepts/models.md +0 -196
  482. package/docs/zh-CN/concepts/multi-agent.md +0 -371
  483. package/docs/zh-CN/concepts/oauth.md +0 -151
  484. package/docs/zh-CN/concepts/presence.md +0 -99
  485. package/docs/zh-CN/concepts/queue.md +0 -91
  486. package/docs/zh-CN/concepts/retry.md +0 -71
  487. package/docs/zh-CN/concepts/session-pruning.md +0 -129
  488. package/docs/zh-CN/concepts/session-tool.md +0 -198
  489. package/docs/zh-CN/concepts/session.md +0 -158
  490. package/docs/zh-CN/concepts/sessions.md +0 -17
  491. package/docs/zh-CN/concepts/streaming.md +0 -131
  492. package/docs/zh-CN/concepts/system-prompt.md +0 -99
  493. package/docs/zh-CN/concepts/timezone.md +0 -94
  494. package/docs/zh-CN/concepts/typebox.md +0 -284
  495. package/docs/zh-CN/concepts/typing-indicators.md +0 -74
  496. package/docs/zh-CN/concepts/usage-tracking.md +0 -42
  497. package/docs/zh-CN/date-time.md +0 -128
  498. package/docs/zh-CN/debug/node-issue.md +0 -90
  499. package/docs/zh-CN/diagnostics/flags.md +0 -98
  500. package/docs/zh-CN/experiments/onboarding-config-protocol.md +0 -47
  501. package/docs/zh-CN/experiments/plans/cron-add-hardening.md +0 -69
  502. package/docs/zh-CN/experiments/plans/group-policy-hardening.md +0 -45
  503. package/docs/zh-CN/experiments/plans/openresponses-gateway.md +0 -121
  504. package/docs/zh-CN/experiments/proposals/model-config.md +0 -42
  505. package/docs/zh-CN/experiments/research/memory.md +0 -235
  506. package/docs/zh-CN/gateway/authentication.md +0 -142
  507. package/docs/zh-CN/gateway/background-process.md +0 -100
  508. package/docs/zh-CN/gateway/bonjour.md +0 -174
  509. package/docs/zh-CN/gateway/bridge-protocol.md +0 -86
  510. package/docs/zh-CN/gateway/cli-backends.md +0 -213
  511. package/docs/zh-CN/gateway/configuration-examples.md +0 -580
  512. package/docs/zh-CN/gateway/configuration.md +0 -3284
  513. package/docs/zh-CN/gateway/discovery.md +0 -123
  514. package/docs/zh-CN/gateway/doctor.md +0 -238
  515. package/docs/zh-CN/gateway/gateway-lock.md +0 -41
  516. package/docs/zh-CN/gateway/health.md +0 -42
  517. package/docs/zh-CN/gateway/heartbeat.md +0 -272
  518. package/docs/zh-CN/gateway/index.md +0 -335
  519. package/docs/zh-CN/gateway/local-models.md +0 -157
  520. package/docs/zh-CN/gateway/logging.md +0 -114
  521. package/docs/zh-CN/gateway/multiple-gateways.md +0 -119
  522. package/docs/zh-CN/gateway/network-model.md +0 -23
  523. package/docs/zh-CN/gateway/openai-http-api.md +0 -125
  524. package/docs/zh-CN/gateway/openresponses-http-api.md +0 -317
  525. package/docs/zh-CN/gateway/pairing.md +0 -99
  526. package/docs/zh-CN/gateway/protocol.md +0 -220
  527. package/docs/zh-CN/gateway/remote-gateway-readme.md +0 -164
  528. package/docs/zh-CN/gateway/remote.md +0 -133
  529. package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -135
  530. package/docs/zh-CN/gateway/sandboxing.md +0 -188
  531. package/docs/zh-CN/gateway/security/index.md +0 -772
  532. package/docs/zh-CN/gateway/tailscale.md +0 -124
  533. package/docs/zh-CN/gateway/tools-invoke-http-api.md +0 -92
  534. package/docs/zh-CN/gateway/troubleshooting.md +0 -758
  535. package/docs/zh-CN/help/debugging.md +0 -160
  536. package/docs/zh-CN/help/environment.md +0 -88
  537. package/docs/zh-CN/help/faq.md +0 -2613
  538. package/docs/zh-CN/help/index.md +0 -28
  539. package/docs/zh-CN/help/scripts.md +0 -35
  540. package/docs/zh-CN/help/testing.md +0 -375
  541. package/docs/zh-CN/help/troubleshooting.md +0 -104
  542. package/docs/zh-CN/index.md +0 -183
  543. package/docs/zh-CN/install/ansible.md +0 -214
  544. package/docs/zh-CN/install/bun.md +0 -65
  545. package/docs/zh-CN/install/development-channels.md +0 -81
  546. package/docs/zh-CN/install/docker.md +0 -525
  547. package/docs/zh-CN/install/exe-dev.md +0 -127
  548. package/docs/zh-CN/install/fly.md +0 -476
  549. package/docs/zh-CN/install/gcp.md +0 -509
  550. package/docs/zh-CN/install/hetzner.md +0 -336
  551. package/docs/zh-CN/install/index.md +0 -193
  552. package/docs/zh-CN/install/installer.md +0 -128
  553. package/docs/zh-CN/install/macos-vm.md +0 -288
  554. package/docs/zh-CN/install/migrating.md +0 -199
  555. package/docs/zh-CN/install/nix.md +0 -99
  556. package/docs/zh-CN/install/node.md +0 -8
  557. package/docs/zh-CN/install/northflank.mdx +0 -56
  558. package/docs/zh-CN/install/railway.mdx +0 -102
  559. package/docs/zh-CN/install/render.mdx +0 -168
  560. package/docs/zh-CN/install/uninstall.md +0 -135
  561. package/docs/zh-CN/install/updating.md +0 -233
  562. package/docs/zh-CN/logging.md +0 -329
  563. package/docs/zh-CN/network.md +0 -59
  564. package/docs/zh-CN/nodes/audio.md +0 -120
  565. package/docs/zh-CN/nodes/camera.md +0 -162
  566. package/docs/zh-CN/nodes/images.md +0 -79
  567. package/docs/zh-CN/nodes/index.md +0 -348
  568. package/docs/zh-CN/nodes/location-command.md +0 -120
  569. package/docs/zh-CN/nodes/media-understanding.md +0 -380
  570. package/docs/zh-CN/nodes/talk.md +0 -97
  571. package/docs/zh-CN/nodes/troubleshooting.md +0 -8
  572. package/docs/zh-CN/nodes/voicewake.md +0 -72
  573. package/docs/zh-CN/perplexity.md +0 -84
  574. package/docs/zh-CN/pi-dev.md +0 -77
  575. package/docs/zh-CN/pi.md +0 -617
  576. package/docs/zh-CN/platforms/android.md +0 -155
  577. package/docs/zh-CN/platforms/digitalocean.md +0 -268
  578. package/docs/zh-CN/platforms/index.md +0 -60
  579. package/docs/zh-CN/platforms/ios.md +0 -114
  580. package/docs/zh-CN/platforms/linux.md +0 -101
  581. package/docs/zh-CN/platforms/mac/bundled-gateway.md +0 -75
  582. package/docs/zh-CN/platforms/mac/canvas.md +0 -128
  583. package/docs/zh-CN/platforms/mac/child-process.md +0 -73
  584. package/docs/zh-CN/platforms/mac/dev-setup.md +0 -109
  585. package/docs/zh-CN/platforms/mac/health.md +0 -41
  586. package/docs/zh-CN/platforms/mac/icon.md +0 -38
  587. package/docs/zh-CN/platforms/mac/logging.md +0 -64
  588. package/docs/zh-CN/platforms/mac/menu-bar.md +0 -88
  589. package/docs/zh-CN/platforms/mac/peekaboo.md +0 -62
  590. package/docs/zh-CN/platforms/mac/permissions.md +0 -46
  591. package/docs/zh-CN/platforms/mac/release.md +0 -92
  592. package/docs/zh-CN/platforms/mac/remote.md +0 -90
  593. package/docs/zh-CN/platforms/mac/signing.md +0 -54
  594. package/docs/zh-CN/platforms/mac/skills.md +0 -40
  595. package/docs/zh-CN/platforms/mac/voice-overlay.md +0 -67
  596. package/docs/zh-CN/platforms/mac/voicewake.md +0 -73
  597. package/docs/zh-CN/platforms/mac/webchat.md +0 -43
  598. package/docs/zh-CN/platforms/mac/xpc.md +0 -68
  599. package/docs/zh-CN/platforms/macos.md +0 -193
  600. package/docs/zh-CN/platforms/oracle.md +0 -310
  601. package/docs/zh-CN/platforms/raspberry-pi.md +0 -365
  602. package/docs/zh-CN/platforms/windows.md +0 -156
  603. package/docs/zh-CN/plugins/agent-tools.md +0 -99
  604. package/docs/zh-CN/plugins/manifest.md +0 -68
  605. package/docs/zh-CN/plugins/voice-call.md +0 -250
  606. package/docs/zh-CN/plugins/zalouser.md +0 -88
  607. package/docs/zh-CN/prose.md +0 -141
  608. package/docs/zh-CN/providers/anthropic.md +0 -159
  609. package/docs/zh-CN/providers/bedrock.md +0 -170
  610. package/docs/zh-CN/providers/claude-max-api-proxy.md +0 -155
  611. package/docs/zh-CN/providers/deepgram.md +0 -97
  612. package/docs/zh-CN/providers/github-copilot.md +0 -67
  613. package/docs/zh-CN/providers/glm.md +0 -39
  614. package/docs/zh-CN/providers/index.md +0 -66
  615. package/docs/zh-CN/providers/minimax.md +0 -206
  616. package/docs/zh-CN/providers/models.md +0 -55
  617. package/docs/zh-CN/providers/moonshot.md +0 -145
  618. package/docs/zh-CN/providers/ollama.md +0 -230
  619. package/docs/zh-CN/providers/openai.md +0 -68
  620. package/docs/zh-CN/providers/opencode.md +0 -41
  621. package/docs/zh-CN/providers/openrouter.md +0 -43
  622. package/docs/zh-CN/providers/qianfan.md +0 -8
  623. package/docs/zh-CN/providers/qwen.md +0 -55
  624. package/docs/zh-CN/providers/synthetic.md +0 -102
  625. package/docs/zh-CN/providers/venice.md +0 -274
  626. package/docs/zh-CN/providers/vercel-ai-gateway.md +0 -57
  627. package/docs/zh-CN/providers/xiaomi.md +0 -68
  628. package/docs/zh-CN/providers/zai.md +0 -41
  629. package/docs/zh-CN/refactor/exec-host.md +0 -323
  630. package/docs/zh-CN/refactor/outbound-session-mirroring.md +0 -90
  631. package/docs/zh-CN/refactor/plugin-sdk.md +0 -221
  632. package/docs/zh-CN/refactor/strict-config.md +0 -100
  633. package/docs/zh-CN/refactor/syminet.md +0 -424
  634. package/docs/zh-CN/reference/AGENTS.default.md +0 -130
  635. package/docs/zh-CN/reference/RELEASING.md +0 -122
  636. package/docs/zh-CN/reference/api-usage-costs.md +0 -136
  637. package/docs/zh-CN/reference/credits.md +0 -34
  638. package/docs/zh-CN/reference/device-models.md +0 -54
  639. package/docs/zh-CN/reference/rpc.md +0 -48
  640. package/docs/zh-CN/reference/session-management-compaction.md +0 -286
  641. package/docs/zh-CN/reference/templates/AGENTS.dev.md +0 -89
  642. package/docs/zh-CN/reference/templates/AGENTS.md +0 -234
  643. package/docs/zh-CN/reference/templates/BOOT.md +0 -17
  644. package/docs/zh-CN/reference/templates/BOOTSTRAP.md +0 -68
  645. package/docs/zh-CN/reference/templates/IDENTITY.dev.md +0 -54
  646. package/docs/zh-CN/reference/templates/IDENTITY.md +0 -36
  647. package/docs/zh-CN/reference/templates/SYMICORE.dev.md +0 -83
  648. package/docs/zh-CN/reference/templates/SYMICORE.md +0 -49
  649. package/docs/zh-CN/reference/templates/SYMIPULSE.md +0 -69
  650. package/docs/zh-CN/reference/templates/TOOLS.dev.md +0 -31
  651. package/docs/zh-CN/reference/templates/TOOLS.md +0 -53
  652. package/docs/zh-CN/reference/templates/USER.dev.md +0 -25
  653. package/docs/zh-CN/reference/templates/USER.md +0 -30
  654. package/docs/zh-CN/reference/test.md +0 -57
  655. package/docs/zh-CN/reference/token-use.md +0 -119
  656. package/docs/zh-CN/reference/transcript-hygiene.md +0 -109
  657. package/docs/zh-CN/reference/wizard.md +0 -9
  658. package/docs/zh-CN/security/formal-verification.md +0 -171
  659. package/docs/zh-CN/start/bootstrapping.md +0 -9
  660. package/docs/zh-CN/start/docs-directory.md +0 -69
  661. package/docs/zh-CN/start/getting-started.md +0 -201
  662. package/docs/zh-CN/start/hubs.md +0 -199
  663. package/docs/zh-CN/start/lore.md +0 -223
  664. package/docs/zh-CN/start/onboarding.md +0 -105
  665. package/docs/zh-CN/start/quickstart.md +0 -88
  666. package/docs/zh-CN/start/setup.md +0 -151
  667. package/docs/zh-CN/start/showcase.md +0 -421
  668. package/docs/zh-CN/start/symi.md +0 -244
  669. package/docs/zh-CN/start/wizard.md +0 -326
  670. package/docs/zh-CN/tools/agent-send.md +0 -58
  671. package/docs/zh-CN/tools/apply-patch.md +0 -57
  672. package/docs/zh-CN/tools/browser-linux-troubleshooting.md +0 -144
  673. package/docs/zh-CN/tools/browser-login.md +0 -75
  674. package/docs/zh-CN/tools/browser.md +0 -553
  675. package/docs/zh-CN/tools/chrome-extension.md +0 -183
  676. package/docs/zh-CN/tools/creating-skills.md +0 -61
  677. package/docs/zh-CN/tools/elevated.md +0 -62
  678. package/docs/zh-CN/tools/exec-approvals.md +0 -233
  679. package/docs/zh-CN/tools/exec.md +0 -169
  680. package/docs/zh-CN/tools/firecrawl.md +0 -68
  681. package/docs/zh-CN/tools/index.md +0 -508
  682. package/docs/zh-CN/tools/llm-task.md +0 -117
  683. package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +0 -400
  684. package/docs/zh-CN/tools/pipeline.md +0 -349
  685. package/docs/zh-CN/tools/plugin.md +0 -639
  686. package/docs/zh-CN/tools/reactions.md +0 -28
  687. package/docs/zh-CN/tools/skills-config.md +0 -78
  688. package/docs/zh-CN/tools/skills.md +0 -279
  689. package/docs/zh-CN/tools/slash-commands.md +0 -196
  690. package/docs/zh-CN/tools/subagents.md +0 -167
  691. package/docs/zh-CN/tools/symihub.md +0 -209
  692. package/docs/zh-CN/tools/thinking.md +0 -80
  693. package/docs/zh-CN/tools/web.md +0 -257
  694. package/docs/zh-CN/tts.md +0 -373
  695. package/docs/zh-CN/vps.md +0 -47
  696. package/docs/zh-CN/web/control-ui.md +0 -190
  697. package/docs/zh-CN/web/dashboard.md +0 -53
  698. package/docs/zh-CN/web/index.md +0 -118
  699. package/docs/zh-CN/web/tui.md +0 -166
  700. package/docs/zh-CN/web/webchat.md +0 -56
  701. package/extensions/imessage/index.ts +0 -17
  702. package/extensions/imessage/node_modules/.bin/symi +0 -21
  703. package/extensions/imessage/package.json +0 -15
  704. package/extensions/imessage/src/channel.outbound.test.ts +0 -66
  705. package/extensions/imessage/src/channel.ts +0 -298
  706. package/extensions/imessage/src/runtime.ts +0 -14
  707. package/extensions/imessage/symi.plugin.json +0 -9
  708. package/extensions/line/index.ts +0 -19
  709. package/extensions/line/node_modules/.bin/symi +0 -21
  710. package/extensions/line/package.json +0 -30
  711. package/extensions/line/src/card-command.ts +0 -344
  712. package/extensions/line/src/channel.logout.test.ts +0 -133
  713. package/extensions/line/src/channel.sendPayload.test.ts +0 -312
  714. package/extensions/line/src/channel.startup.test.ts +0 -133
  715. package/extensions/line/src/channel.ts +0 -801
  716. package/extensions/line/src/runtime.ts +0 -14
  717. package/extensions/line/symi.plugin.json +0 -9
  718. package/extensions/signal/index.ts +0 -17
  719. package/extensions/signal/node_modules/.bin/symi +0 -21
  720. package/extensions/signal/package.json +0 -15
  721. package/extensions/signal/src/channel.ts +0 -302
  722. package/extensions/signal/src/runtime.ts +0 -14
  723. package/extensions/signal/symi.plugin.json +0 -9
  724. package/extensions/telegram/index.ts +0 -17
  725. package/extensions/telegram/node_modules/.bin/symi +0 -21
  726. package/extensions/telegram/package.json +0 -15
  727. package/extensions/telegram/src/channel.test.ts +0 -125
  728. package/extensions/telegram/src/channel.ts +0 -560
  729. package/extensions/telegram/src/runtime.ts +0 -14
  730. package/extensions/telegram/symi.plugin.json +0 -9
  731. package/extensions/whatsapp/index.ts +0 -17
  732. package/extensions/whatsapp/node_modules/.bin/symi +0 -21
  733. package/extensions/whatsapp/package.json +0 -15
  734. package/extensions/whatsapp/src/channel.ts +0 -465
  735. package/extensions/whatsapp/src/resolve-target.test.ts +0 -170
  736. package/extensions/whatsapp/src/runtime.ts +0 -14
  737. package/extensions/whatsapp/symi.plugin.json +0 -9
@@ -1,148 +0,0 @@
1
- ---
2
- summary: "Agent loop lifecycle, streams, and wait semantics"
3
- read_when:
4
- - You need an exact walkthrough of the agent loop or lifecycle events
5
- title: "Agent Loop"
6
- ---
7
-
8
- # Agent Loop (Symi)
9
-
10
- An agentic loop is the full “real” run of an agent: intake → context assembly → model inference →
11
- tool execution → streaming replies → persistence. It’s the authoritative path that turns a message
12
- into actions and a final reply, while keeping session state consistent.
13
-
14
- In Symi, a loop is a single, serialized run per session that emits lifecycle and stream events
15
- as the model thinks, calls tools, and streams output. This doc explains how that authentic loop is
16
- wired end-to-end.
17
-
18
- ## Entry points
19
-
20
- - Gateway RPC: `agent` and `agent.wait`.
21
- - CLI: `agent` command.
22
-
23
- ## How it works (high-level)
24
-
25
- 1. `agent` RPC validates params, resolves session (sessionKey/sessionId), persists session metadata, returns `{ runId, acceptedAt }` immediately.
26
- 2. `agentCommand` runs the agent:
27
- - resolves model + thinking/verbose defaults
28
- - loads skills snapshot
29
- - calls `runEmbeddedPiAgent` (pi-agent-core runtime)
30
- - emits **lifecycle end/error** if the embedded loop does not emit one
31
- 3. `runEmbeddedPiAgent`:
32
- - serializes runs via per-session + global queues
33
- - resolves model + auth profile and builds the pi session
34
- - subscribes to pi events and streams assistant/tool deltas
35
- - enforces timeout -> aborts run if exceeded
36
- - returns payloads + usage metadata
37
- 4. `subscribeEmbeddedPiSession` bridges pi-agent-core events to Symi `agent` stream:
38
- - tool events => `stream: "tool"`
39
- - assistant deltas => `stream: "assistant"`
40
- - lifecycle events => `stream: "lifecycle"` (`phase: "start" | "end" | "error"`)
41
- 5. `agent.wait` uses `waitForAgentJob`:
42
- - waits for **lifecycle end/error** for `runId`
43
- - returns `{ status: ok|error|timeout, startedAt, endedAt, error? }`
44
-
45
- ## Queueing + concurrency
46
-
47
- - Runs are serialized per session key (session lane) and optionally through a global lane.
48
- - This prevents tool/session races and keeps session history consistent.
49
- - Messaging channels can choose queue modes (collect/steer/followup) that feed this lane system.
50
- See [Command Queue](/concepts/queue).
51
-
52
- ## Session + workspace preparation
53
-
54
- - Workspace is resolved and created; sandboxed runs may redirect to a sandbox workspace root.
55
- - Skills are loaded (or reused from a snapshot) and injected into env and prompt.
56
- - Bootstrap/context files are resolved and injected into the system prompt report.
57
- - A session write lock is acquired; `SessionManager` is opened and prepared before streaming.
58
-
59
- ## Prompt assembly + system prompt
60
-
61
- - System prompt is built from Symi’s base prompt, skills prompt, bootstrap context, and per-run overrides.
62
- - Model-specific limits and compaction reserve tokens are enforced.
63
- - See [System prompt](/concepts/system-prompt) for what the model sees.
64
-
65
- ## Hook points (where you can intercept)
66
-
67
- Symi has two hook systems:
68
-
69
- - **Internal hooks** (Gateway hooks): event-driven scripts for commands and lifecycle events.
70
- - **Plugin hooks**: extension points inside the agent/tool lifecycle and gateway pipeline.
71
-
72
- ### Internal hooks (Gateway hooks)
73
-
74
- - **`agent:bootstrap`**: runs while building bootstrap files before the system prompt is finalized.
75
- Use this to add/remove bootstrap context files.
76
- - **Command hooks**: `/new`, `/reset`, `/stop`, and other command events (see Hooks doc).
77
-
78
- See [Hooks](/automation/hooks) for setup and examples.
79
-
80
- ### Plugin hooks (agent + gateway lifecycle)
81
-
82
- These run inside the agent loop or gateway pipeline:
83
-
84
- - **`before_model_resolve`**: runs pre-session (no `messages`) to deterministically override provider/model before model resolution.
85
- - **`before_prompt_build`**: runs after session load (with `messages`) to inject `prependContext`/`systemPrompt` before prompt submission.
86
- - **`before_agent_start`**: legacy compatibility hook that may run in either phase; prefer the explicit hooks above.
87
- - **`agent_end`**: inspect the final message list and run metadata after completion.
88
- - **`before_compaction` / `after_compaction`**: observe or annotate compaction cycles.
89
- - **`before_tool_call` / `after_tool_call`**: intercept tool params/results.
90
- - **`tool_result_persist`**: synchronously transform tool results before they are written to the session transcript.
91
- - **`message_received` / `message_sending` / `message_sent`**: inbound + outbound message hooks.
92
- - **`session_start` / `session_end`**: session lifecycle boundaries.
93
- - **`gateway_start` / `gateway_stop`**: gateway lifecycle events.
94
-
95
- See [Plugins](/tools/plugin#plugin-hooks) for the hook API and registration details.
96
-
97
- ## Streaming + partial replies
98
-
99
- - Assistant deltas are streamed from pi-agent-core and emitted as `assistant` events.
100
- - Block streaming can emit partial replies either on `text_end` or `message_end`.
101
- - Reasoning streaming can be emitted as a separate stream or as block replies.
102
- - See [Streaming](/concepts/streaming) for chunking and block reply behavior.
103
-
104
- ## Tool execution + messaging tools
105
-
106
- - Tool start/update/end events are emitted on the `tool` stream.
107
- - Tool results are sanitized for size and image payloads before logging/emitting.
108
- - Messaging tool sends are tracked to suppress duplicate assistant confirmations.
109
-
110
- ## Reply shaping + suppression
111
-
112
- - Final payloads are assembled from:
113
- - assistant text (and optional reasoning)
114
- - inline tool summaries (when verbose + allowed)
115
- - assistant error text when the model errors
116
- - `NO_REPLY` is treated as a silent token and filtered from outgoing payloads.
117
- - Messaging tool duplicates are removed from the final payload list.
118
- - If no renderable payloads remain and a tool errored, a fallback tool error reply is emitted
119
- (unless a messaging tool already sent a user-visible reply).
120
-
121
- ## Compaction + retries
122
-
123
- - Auto-compaction emits `compaction` stream events and can trigger a retry.
124
- - On retry, in-memory buffers and tool summaries are reset to avoid duplicate output.
125
- - See [Compaction](/concepts/compaction) for the compaction pipeline.
126
-
127
- ## Event streams (today)
128
-
129
- - `lifecycle`: emitted by `subscribeEmbeddedPiSession` (and as a fallback by `agentCommand`)
130
- - `assistant`: streamed deltas from pi-agent-core
131
- - `tool`: streamed tool events from pi-agent-core
132
-
133
- ## Chat channel handling
134
-
135
- - Assistant deltas are buffered into chat `delta` messages.
136
- - A chat `final` is emitted on **lifecycle end/error**.
137
-
138
- ## Timeouts
139
-
140
- - `agent.wait` default: 30s (just the wait). `timeoutMs` param overrides.
141
- - Agent runtime: `agents.defaults.timeoutSeconds` default 600s; enforced in `runEmbeddedPiAgent` abort timer.
142
-
143
- ## Where things can end early
144
-
145
- - Agent timeout (abort)
146
- - AbortSignal (cancel)
147
- - Gateway disconnect or RPC timeout
148
- - `agent.wait` timeout (wait-only, does not stop agent)
@@ -1,234 +0,0 @@
1
- ---
2
- summary: "Agent workspace: location, layout, and backup strategy"
3
- read_when:
4
- - You need to explain the agent workspace or its file layout
5
- - You want to back up or migrate an agent workspace
6
- title: "Agent Workspace"
7
- ---
8
-
9
- # Agent workspace
10
-
11
- The workspace is the agent's home. It is the only working directory used for
12
- file tools and for workspace context. Keep it private and treat it as memory.
13
-
14
- This is separate from `~/.symi/`, which stores config, credentials, and
15
- sessions.
16
-
17
- **Important:** the workspace is the **default cwd**, not a hard sandbox. Tools
18
- resolve relative paths against the workspace, but absolute paths can still reach
19
- elsewhere on the host unless sandboxing is enabled. If you need isolation, use
20
- [`agents.defaults.sandbox`](/gateway/sandboxing) (and/or per‑agent sandbox config).
21
- When sandboxing is enabled and `workspaceAccess` is not `"rw"`, tools operate
22
- inside a sandbox workspace under `~/.symi/sandboxes`, not your host workspace.
23
-
24
- ## Default location
25
-
26
- - Default: `~/.symi/workspace`
27
- - If `SYMI_PROFILE` is set and not `"default"`, the default becomes
28
- `~/.symi/workspace-<profile>`.
29
- - Override in `~/.symi/symi.json`:
30
-
31
- ```json5
32
- {
33
- agent: {
34
- workspace: "~/.symi/workspace",
35
- },
36
- }
37
- ```
38
-
39
- `symi onboard`, `symi configure`, or `symi setup` will create the
40
- workspace and seed the bootstrap files if they are missing.
41
-
42
- If you already manage the workspace files yourself, you can disable bootstrap
43
- file creation:
44
-
45
- ```json5
46
- { agent: { skipBootstrap: true } }
47
- ```
48
-
49
- ## Extra workspace folders
50
-
51
- Older installs may have created `~/symi`. Keeping multiple workspace
52
- directories around can cause confusing auth or state drift, because only one
53
- workspace is active at a time.
54
-
55
- **Recommendation:** keep a single active workspace. If you no longer use the
56
- extra folders, archive or move them to Trash (for example `trash ~/symi`).
57
- If you intentionally keep multiple workspaces, make sure
58
- `agents.defaults.workspace` points to the active one.
59
-
60
- `symi doctor` warns when it detects extra workspace directories.
61
-
62
- ## Workspace file map (what each file means)
63
-
64
- These are the standard files Symi expects inside the workspace:
65
-
66
- - `AGENTS.md`
67
- - Operating instructions for the agent and how it should use memory.
68
- - Loaded at the start of every session.
69
- - Good place for rules, priorities, and "how to behave" details.
70
-
71
- - `SYMICORE.md`
72
- - Persona, tone, and boundaries.
73
- - Loaded every session.
74
-
75
- - `USER.md`
76
- - Who the user is and how to address them.
77
- - Loaded every session.
78
-
79
- - `IDENTITY.md`
80
- - The agent's name, vibe, and emoji.
81
- - Created/updated during the bootstrap ritual.
82
-
83
- - `TOOLS.md`
84
- - Notes about your local tools and conventions.
85
- - Does not control tool availability; it is only guidance.
86
-
87
- - `SYMIPULSE.md`
88
- - Optional tiny checklist for heartbeat runs.
89
- - Keep it short to avoid token burn.
90
-
91
- - `BOOT.md`
92
- - Optional startup checklist executed on gateway restart when internal hooks are enabled.
93
- - Keep it short; use the message tool for outbound sends.
94
-
95
- - `BOOTSTRAP.md`
96
- - One-time first-run ritual.
97
- - Only created for a brand-new workspace.
98
- - Delete it after the ritual is complete.
99
-
100
- - `memory/YYYY-MM-DD.md`
101
- - Daily memory log (one file per day).
102
- - Recommended to read today + yesterday on session start.
103
-
104
- - `MEMORY.md` (optional)
105
- - Curated long-term memory.
106
- - Only load in the main, private session (not shared/group contexts).
107
-
108
- See [Memory](/concepts/memory) for the workflow and automatic memory flush.
109
-
110
- - `skills/` (optional)
111
- - Workspace-specific skills.
112
- - Overrides managed/bundled skills when names collide.
113
-
114
- - `canvas/` (optional)
115
- - Canvas UI files for node displays (for example `canvas/index.html`).
116
-
117
- If any bootstrap file is missing, Symi injects a "missing file" marker into
118
- the session and continues. Large bootstrap files are truncated when injected;
119
- adjust limits with `agents.defaults.bootstrapMaxChars` (default: 20000) and
120
- `agents.defaults.bootstrapTotalMaxChars` (default: 150000).
121
- `symi setup` can recreate missing defaults without overwriting existing
122
- files.
123
-
124
- ## What is NOT in the workspace
125
-
126
- These live under `~/.symi/` and should NOT be committed to the workspace repo:
127
-
128
- - `~/.symi/symi.json` (config)
129
- - `~/.symi/credentials/` (OAuth tokens, API keys)
130
- - `~/.symi/agents/<agentId>/sessions/` (session transcripts + metadata)
131
- - `~/.symi/skills/` (managed skills)
132
-
133
- If you need to migrate sessions or config, copy them separately and keep them
134
- out of version control.
135
-
136
- ## Git backup (recommended, private)
137
-
138
- Treat the workspace as private memory. Put it in a **private** git repo so it is
139
- backed up and recoverable.
140
-
141
- Run these steps on the machine where the Gateway runs (that is where the
142
- workspace lives).
143
-
144
- ### 1) Initialize the repo
145
-
146
- If git is installed, brand-new workspaces are initialized automatically. If this
147
- workspace is not already a repo, run:
148
-
149
- ```bash
150
- cd ~/.symi/workspace
151
- git init
152
- git add AGENTS.md SYMICORE.md TOOLS.md IDENTITY.md USER.md SYMIPULSE.md memory/
153
- git commit -m "Add agent workspace"
154
- ```
155
-
156
- ### 2) Add a private remote (beginner-friendly options)
157
-
158
- Option A: GitHub web UI
159
-
160
- 1. Create a new **private** repository on GitHub.
161
- 2. Do not initialize with a README (avoids merge conflicts).
162
- 3. Copy the HTTPS remote URL.
163
- 4. Add the remote and push:
164
-
165
- ```bash
166
- git branch -M main
167
- git remote add origin <https-url>
168
- git push -u origin main
169
- ```
170
-
171
- Option B: GitHub CLI (`gh`)
172
-
173
- ```bash
174
- gh auth login
175
- gh repo create symi-workspace --private --source . --remote origin --push
176
- ```
177
-
178
- Option C: GitLab web UI
179
-
180
- 1. Create a new **private** repository on GitLab.
181
- 2. Do not initialize with a README (avoids merge conflicts).
182
- 3. Copy the HTTPS remote URL.
183
- 4. Add the remote and push:
184
-
185
- ```bash
186
- git branch -M main
187
- git remote add origin <https-url>
188
- git push -u origin main
189
- ```
190
-
191
- ### 3) Ongoing updates
192
-
193
- ```bash
194
- git status
195
- git add .
196
- git commit -m "Update memory"
197
- git push
198
- ```
199
-
200
- ## Do not commit secrets
201
-
202
- Even in a private repo, avoid storing secrets in the workspace:
203
-
204
- - API keys, OAuth tokens, passwords, or private credentials.
205
- - Anything under `~/.symi/`.
206
- - Raw dumps of chats or sensitive attachments.
207
-
208
- If you must store sensitive references, use placeholders and keep the real
209
- secret elsewhere (password manager, environment variables, or `~/.symi/`).
210
-
211
- Suggested `.gitignore` starter:
212
-
213
- ```gitignore
214
- .DS_Store
215
- .env
216
- **/*.key
217
- **/*.pem
218
- **/secrets*
219
- ```
220
-
221
- ## Moving the workspace to a new machine
222
-
223
- 1. Clone the repo to the desired path (default `~/.symi/workspace`).
224
- 2. Set `agents.defaults.workspace` to that path in `~/.symi/symi.json`.
225
- 3. Run `symi setup --workspace <path>` to seed any missing files.
226
- 4. If you need sessions, copy `~/.symi/agents/<agentId>/sessions/` from the
227
- old machine separately.
228
-
229
- ## Advanced notes
230
-
231
- - Multi-agent routing can use different workspaces per agent. See
232
- [Channel routing](/channels/channel-routing) for routing configuration.
233
- - If `agents.defaults.sandbox` is enabled, non-main sessions can use per-session sandbox
234
- workspaces under `agents.defaults.sandbox.workspaceRoot`.
@@ -1,123 +0,0 @@
1
- ---
2
- summary: "Agent runtime (embedded pi-mono), workspace contract, and session bootstrap"
3
- read_when:
4
- - Changing agent runtime, workspace bootstrap, or session behavior
5
- title: "Agent Runtime"
6
- ---
7
-
8
- # Agent Runtime 🤖
9
-
10
- Symi runs a single embedded agent runtime derived from **pi-mono**.
11
-
12
- ## Workspace (required)
13
-
14
- Symi uses a single agent workspace directory (`agents.defaults.workspace`) as the agent’s **only** working directory (`cwd`) for tools and context.
15
-
16
- Recommended: use `symi setup` to create `~/.symi/symi.json` if missing and initialize the workspace files.
17
-
18
- Full workspace layout + backup guide: [Agent workspace](/concepts/agent-workspace)
19
-
20
- If `agents.defaults.sandbox` is enabled, non-main sessions can override this with
21
- per-session workspaces under `agents.defaults.sandbox.workspaceRoot` (see
22
- [Gateway configuration](/gateway/configuration)).
23
-
24
- ## Bootstrap files (injected)
25
-
26
- Inside `agents.defaults.workspace`, Symi expects these user-editable files:
27
-
28
- - `AGENTS.md` — operating instructions + “memory”
29
- - `SYMICORE.md` — persona, boundaries, tone
30
- - `TOOLS.md` — user-maintained tool notes (e.g. `imsg`, `sag`, conventions)
31
- - `BOOTSTRAP.md` — one-time first-run ritual (deleted after completion)
32
- - `IDENTITY.md` — agent name/vibe/emoji
33
- - `USER.md` — user profile + preferred address
34
-
35
- On the first turn of a new session, Symi injects the contents of these files directly into the agent context.
36
-
37
- Blank files are skipped. Large files are trimmed and truncated with a marker so prompts stay lean (read the file for full content).
38
-
39
- If a file is missing, Symi injects a single “missing file” marker line (and `symi setup` will create a safe default template).
40
-
41
- `BOOTSTRAP.md` is only created for a **brand new workspace** (no other bootstrap files present). If you delete it after completing the ritual, it should not be recreated on later restarts.
42
-
43
- To disable bootstrap file creation entirely (for pre-seeded workspaces), set:
44
-
45
- ```json5
46
- { agent: { skipBootstrap: true } }
47
- ```
48
-
49
- ## Built-in tools
50
-
51
- Core tools (read/exec/edit/write and related system tools) are always available,
52
- subject to tool policy. `apply_patch` is optional and gated by
53
- `tools.exec.applyPatch`. `TOOLS.md` does **not** control which tools exist; it’s
54
- guidance for how _you_ want them used.
55
-
56
- ## Skills
57
-
58
- Symi loads skills from three locations (workspace wins on name conflict):
59
-
60
- - Bundled (shipped with the install)
61
- - Managed/local: `~/.symi/skills`
62
- - Workspace: `<workspace>/skills`
63
-
64
- Skills can be gated by config/env (see `skills` in [Gateway configuration](/gateway/configuration)).
65
-
66
- ## pi-mono integration
67
-
68
- Symi reuses pieces of the pi-mono codebase (models/tools), but **session management, discovery, and tool wiring are Symi-owned**.
69
-
70
- - No pi-coding agent runtime.
71
- - No `~/.pi/agent` or `<workspace>/.pi` settings are consulted.
72
-
73
- ## Sessions
74
-
75
- Session transcripts are stored as JSONL at:
76
-
77
- - `~/.symi/agents/<agentId>/sessions/<SessionId>.jsonl`
78
-
79
- The session ID is stable and chosen by Symi.
80
- Legacy Pi/Tau session folders are **not** read.
81
-
82
- ## Steering while streaming
83
-
84
- When queue mode is `steer`, inbound messages are injected into the current run.
85
- The queue is checked **after each tool call**; if a queued message is present,
86
- remaining tool calls from the current assistant message are skipped (error tool
87
- results with "Skipped due to queued user message."), then the queued user
88
- message is injected before the next assistant response.
89
-
90
- When queue mode is `followup` or `collect`, inbound messages are held until the
91
- current turn ends, then a new agent turn starts with the queued payloads. See
92
- [Queue](/concepts/queue) for mode + debounce/cap behavior.
93
-
94
- Block streaming sends completed assistant blocks as soon as they finish; it is
95
- **off by default** (`agents.defaults.blockStreamingDefault: "off"`).
96
- Tune the boundary via `agents.defaults.blockStreamingBreak` (`text_end` vs `message_end`; defaults to text_end).
97
- Control soft block chunking with `agents.defaults.blockStreamingChunk` (defaults to
98
- 800–1200 chars; prefers paragraph breaks, then newlines; sentences last).
99
- Coalesce streamed chunks with `agents.defaults.blockStreamingCoalesce` to reduce
100
- single-line spam (idle-based merging before send). Non-Telegram channels require
101
- explicit `*.blockStreaming: true` to enable block replies.
102
- Verbose tool summaries are emitted at tool start (no debounce); Control UI
103
- streams tool output via agent events when available.
104
- More details: [Streaming + chunking](/concepts/streaming).
105
-
106
- ## Model refs
107
-
108
- Model refs in config (for example `agents.defaults.model` and `agents.defaults.models`) are parsed by splitting on the **first** `/`.
109
-
110
- - Use `provider/model` when configuring models.
111
- - If the model ID itself contains `/` (OpenRouter-style), include the provider prefix (example: `openrouter/moonshotai/kimi-k2`).
112
- - If you omit the provider, Symi treats the input as an alias or a model for the **default provider** (only works when there is no `/` in the model ID).
113
-
114
- ## Configuration (minimal)
115
-
116
- At minimum, set:
117
-
118
- - `agents.defaults.workspace`
119
- - `channels.whatsapp.allowFrom` (strongly recommended)
120
-
121
- ---
122
-
123
- _Next: [Group Chats](/channels/group-messages)_ 🦞
@@ -1,135 +0,0 @@
1
- ---
2
- summary: "WebSocket gateway architecture, components, and client flows"
3
- read_when:
4
- - Working on gateway protocol, clients, or transports
5
- title: "Gateway Architecture"
6
- ---
7
-
8
- # Gateway architecture
9
-
10
- Last updated: 2026-01-22
11
-
12
- ## Overview
13
-
14
- - A single long‑lived **Gateway** owns all messaging surfaces (WhatsApp via
15
- - Control-plane clients (macOS app, CLI, web UI, automations) connect to the
16
- Gateway over **WebSocket** on the configured bind host (default
17
- `127.0.0.1:18789`).
18
- - **Nodes** (macOS/iOS/Android/headless) also connect over **WebSocket**, but
19
- declare `role: node` with explicit caps/commands.
20
- - One Gateway per host; it is the only place that opens a WhatsApp session.
21
- - The **canvas host** is served by the Gateway HTTP server under:
22
- - `/__symi__/canvas/` (agent-editable HTML/CSS/JS)
23
- - `/__symi__/a2ui/` (A2UI host)
24
- It uses the same port as the Gateway (default `18789`).
25
-
26
- ## Components and flows
27
-
28
- ### Gateway (daemon)
29
-
30
- - Maintains provider connections.
31
- - Exposes a typed WS API (requests, responses, server‑push events).
32
- - Validates inbound frames against JSON Schema.
33
- - Emits events like `agent`, `chat`, `presence`, `health`, `heartbeat`, `cron`.
34
-
35
- ### Clients (mac app / CLI / web admin)
36
-
37
- - One WS connection per client.
38
- - Send requests (`health`, `status`, `send`, `agent`, `system-presence`).
39
- - Subscribe to events (`tick`, `agent`, `presence`, `shutdown`).
40
-
41
- ### Nodes (macOS / iOS / Android / headless)
42
-
43
- - Connect to the **same WS server** with `role: node`.
44
- - Provide a device identity in `connect`; pairing is **device‑based** (role `node`) and
45
- approval lives in the device pairing store.
46
- - Expose commands like `canvas.*`, `camera.*`, `screen.record`, `location.get`.
47
-
48
- Protocol details:
49
-
50
- - [Gateway protocol](/gateway/protocol)
51
-
52
- ### WebChat
53
-
54
- - Static UI that uses the Gateway WS API for chat history and sends.
55
- - In remote setups, connects through the same SSH/Tailscale tunnel as other
56
- clients.
57
-
58
- ## Connection lifecycle (single client)
59
-
60
- ```mermaid
61
- sequenceDiagram
62
- participant Client
63
- participant Gateway
64
-
65
- Client->>Gateway: req:connect
66
- Gateway-->>Client: res (ok)
67
- Note right of Gateway: or res error + close
68
- Note left of Client: payload=hello-ok<br>snapshot: presence + health
69
-
70
- Gateway-->>Client: event:presence
71
- Gateway-->>Client: event:tick
72
-
73
- Client->>Gateway: req:agent
74
- Gateway-->>Client: res:agent<br>ack {runId, status:"accepted"}
75
- Gateway-->>Client: event:agent<br>(streaming)
76
- Gateway-->>Client: res:agent<br>final {runId, status, summary}
77
- ```
78
-
79
- ## Wire protocol (summary)
80
-
81
- - Transport: WebSocket, text frames with JSON payloads.
82
- - First frame **must** be `connect`.
83
- - After handshake:
84
- - Requests: `{type:"req", id, method, params}` → `{type:"res", id, ok, payload|error}`
85
- - Events: `{type:"event", event, payload, seq?, stateVersion?}`
86
- - If `SYMI_GATEWAY_TOKEN` (or `--token`) is set, `connect.params.auth.token`
87
- must match or the socket closes.
88
- - Idempotency keys are required for side‑effecting methods (`send`, `agent`) to
89
- safely retry; the server keeps a short‑lived dedupe cache.
90
- - Nodes must include `role: "node"` plus caps/commands/permissions in `connect`.
91
-
92
- ## Pairing + local trust
93
-
94
- - All WS clients (operators + nodes) include a **device identity** on `connect`.
95
- - New device IDs require pairing approval; the Gateway issues a **device token**
96
- for subsequent connects.
97
- - **Local** connects (loopback or the gateway host’s own tailnet address) can be
98
- auto‑approved to keep same‑host UX smooth.
99
- - **Non‑local** connects must sign the `connect.challenge` nonce and require
100
- explicit approval.
101
- - Gateway auth (`gateway.auth.*`) still applies to **all** connections, local or
102
- remote.
103
-
104
- Details: [Gateway protocol](/gateway/protocol), [Pairing](/channels/pairing),
105
- [Security](/gateway/security).
106
-
107
- ## Protocol typing and codegen
108
-
109
- - TypeBox schemas define the protocol.
110
- - JSON Schema is generated from those schemas.
111
- - Swift models are generated from the JSON Schema.
112
-
113
- ## Remote access
114
-
115
- - Preferred: Tailscale or VPN.
116
- - Alternative: SSH tunnel
117
-
118
- ```bash
119
- ssh -N -L 18789:127.0.0.1:18789 user@host
120
- ```
121
-
122
- - The same handshake + auth token apply over the tunnel.
123
- - TLS + optional pinning can be enabled for WS in remote setups.
124
-
125
- ## Operations snapshot
126
-
127
- - Start: `symi gateway` (foreground, logs to stdout).
128
- - Health: `health` over WS (also included in `hello-ok`).
129
- - Supervision: launchd/systemd for auto‑restart.
130
-
131
- ## Invariants
132
-
133
- - Exactly one Gateway controls a single Baileys session per host.
134
- - Handshake is mandatory; any non‑JSON or non‑connect first frame is a hard close.
135
- - Events are not replayed; clients must refresh on gaps.