@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,583 +0,0 @@
1
- ---
2
- summary: "Optional Docker-based setup and onboarding for Symi"
3
- read_when:
4
- - You want a containerized gateway instead of local installs
5
- - You are validating the Docker flow
6
- title: "Docker"
7
- ---
8
-
9
- # Docker (optional)
10
-
11
- Docker is **optional**. Use it only if you want a containerized gateway or to validate the Docker flow.
12
-
13
- ## Is Docker right for me?
14
-
15
- - **Yes**: you want an isolated, throwaway gateway environment or to run Symi on a host without local installs.
16
- - **No**: you’re running on your own machine and just want the fastest dev loop. Use the normal install flow instead.
17
- - **Sandboxing note**: agent sandboxing uses Docker too, but it does **not** require the full gateway to run in Docker. See [Sandboxing](/gateway/sandboxing).
18
-
19
- This guide covers:
20
-
21
- - Containerized Gateway (full Symi in Docker)
22
- - Per-session Agent Sandbox (host gateway + Docker-isolated agent tools)
23
-
24
- Sandboxing details: [Sandboxing](/gateway/sandboxing)
25
-
26
- ## Requirements
27
-
28
- - Docker Desktop (or Docker Engine) + Docker Compose v2
29
- - Enough disk for images + logs
30
-
31
- ## Containerized Gateway (Docker Compose)
32
-
33
- ### Quick start (recommended)
34
-
35
- From repo root:
36
-
37
- ```bash
38
- ./docker-setup.sh
39
- ```
40
-
41
- This script:
42
-
43
- - builds the gateway image
44
- - runs the onboarding wizard
45
- - prints optional provider setup hints
46
- - starts the gateway via Docker Compose
47
- - generates a gateway token and writes it to `.env`
48
-
49
- Optional env vars:
50
-
51
- - `SYMI_DOCKER_APT_PACKAGES` — install extra apt packages during build
52
- - `SYMI_EXTRA_MOUNTS` — add extra host bind mounts
53
- - `SYMI_HOME_VOLUME` — persist `/home/node` in a named volume
54
-
55
- After it finishes:
56
-
57
- - Open `http://127.0.0.1:18789/` in your browser.
58
- - Paste the token into the Control UI (Settings → token).
59
- - Need the URL again? Run `docker compose run --rm symi-cli dashboard --no-open`.
60
-
61
- It writes config/workspace on the host:
62
-
63
- - `~/.symi/`
64
- - `~/.symi/workspace`
65
-
66
- Running on a VPS? See [Hetzner (Docker VPS)](/install/hetzner).
67
-
68
- ### Shell Helpers (optional)
69
-
70
- For easier day-to-day Docker management, install `SymiDock`:
71
-
72
- ```bash
73
- mkdir -p ~/.symidock && curl -sL https://raw.githubusercontent.com/symi/symi/main/scripts/shell-helpers/symidock-helpers.sh -o ~/.symidock/symidock-helpers.sh
74
- ```
75
-
76
- **Add to your shell config (zsh):**
77
-
78
- ```bash
79
- echo 'source ~/.symidock/symidock-helpers.sh' >> ~/.zshrc && source ~/.zshrc
80
- ```
81
-
82
- Then use `symidock-start`, `symidock-stop`, `symidock-dashboard`, etc. Run `symidock-help` for all commands.
83
-
84
- See [`SymiDock` Helper README](https://github.com/symi/symi/blob/main/scripts/shell-helpers/README.md) for details.
85
-
86
- ### Manual flow (compose)
87
-
88
- ```bash
89
- docker build -t symi:local -f Dockerfile .
90
- docker compose run --rm symi-cli onboard
91
- docker compose up -d symi-gateway
92
- ```
93
-
94
- Note: run `docker compose ...` from the repo root. If you enabled
95
- `SYMI_EXTRA_MOUNTS` or `SYMI_HOME_VOLUME`, the setup script writes
96
- `docker-compose.extra.yml`; include it when running Compose elsewhere:
97
-
98
- ```bash
99
- docker compose -f docker-compose.yml -f docker-compose.extra.yml <command>
100
- ```
101
-
102
- ### Control UI token + pairing (Docker)
103
-
104
- If you see “unauthorized” or “disconnected (1008): pairing required”, fetch a
105
- fresh dashboard link and approve the browser device:
106
-
107
- ```bash
108
- docker compose run --rm symi-cli dashboard --no-open
109
- docker compose run --rm symi-cli devices list
110
- docker compose run --rm symi-cli devices approve <requestId>
111
- ```
112
-
113
- More detail: [Dashboard](/web/dashboard), [Devices](/cli/devices).
114
-
115
- ### Extra mounts (optional)
116
-
117
- If you want to mount additional host directories into the containers, set
118
- `SYMI_EXTRA_MOUNTS` before running `docker-setup.sh`. This accepts a
119
- comma-separated list of Docker bind mounts and applies them to both
120
- `symi-gateway` and `symi-cli` by generating `docker-compose.extra.yml`.
121
-
122
- Example:
123
-
124
- ```bash
125
- export SYMI_EXTRA_MOUNTS="$HOME/.codex:/home/node/.codex:ro,$HOME/github:/home/node/github:rw"
126
- ./docker-setup.sh
127
- ```
128
-
129
- Notes:
130
-
131
- - Paths must be shared with Docker Desktop on macOS/Windows.
132
- - Each entry must be `source:target[:options]` with no spaces, tabs, or newlines.
133
- - If you edit `SYMI_EXTRA_MOUNTS`, rerun `docker-setup.sh` to regenerate the
134
- extra compose file.
135
- - `docker-compose.extra.yml` is generated. Don’t hand-edit it.
136
-
137
- ### Persist the entire container home (optional)
138
-
139
- If you want `/home/node` to persist across container recreation, set a named
140
- volume via `SYMI_HOME_VOLUME`. This creates a Docker volume and mounts it at
141
- `/home/node`, while keeping the standard config/workspace bind mounts. Use a
142
- named volume here (not a bind path); for bind mounts, use
143
- `SYMI_EXTRA_MOUNTS`.
144
-
145
- Example:
146
-
147
- ```bash
148
- export SYMI_HOME_VOLUME="symi_home"
149
- ./docker-setup.sh
150
- ```
151
-
152
- You can combine this with extra mounts:
153
-
154
- ```bash
155
- export SYMI_HOME_VOLUME="symi_home"
156
- export SYMI_EXTRA_MOUNTS="$HOME/.codex:/home/node/.codex:ro,$HOME/github:/home/node/github:rw"
157
- ./docker-setup.sh
158
- ```
159
-
160
- Notes:
161
-
162
- - Named volumes must match `^[A-Za-z0-9][A-Za-z0-9_.-]*$`.
163
- - If you change `SYMI_HOME_VOLUME`, rerun `docker-setup.sh` to regenerate the
164
- extra compose file.
165
- - The named volume persists until removed with `docker volume rm <name>`.
166
-
167
- ### Install extra apt packages (optional)
168
-
169
- If you need system packages inside the image (for example, build tools or media
170
- libraries), set `SYMI_DOCKER_APT_PACKAGES` before running `docker-setup.sh`.
171
- This installs the packages during the image build, so they persist even if the
172
- container is deleted.
173
-
174
- Example:
175
-
176
- ```bash
177
- export SYMI_DOCKER_APT_PACKAGES="ffmpeg build-essential"
178
- ./docker-setup.sh
179
- ```
180
-
181
- Notes:
182
-
183
- - This accepts a space-separated list of apt package names.
184
- - If you change `SYMI_DOCKER_APT_PACKAGES`, rerun `docker-setup.sh` to rebuild
185
- the image.
186
-
187
- ### Power-user / full-featured container (opt-in)
188
-
189
- The default Docker image is **security-first** and runs as the non-root `node`
190
- user. This keeps the attack surface small, but it means:
191
-
192
- - no system package installs at runtime
193
- - no Homebrew by default
194
- - no bundled Chromium/Playwright browsers
195
-
196
- If you want a more full-featured container, use these opt-in knobs:
197
-
198
- 1. **Persist `/home/node`** so browser downloads and tool caches survive:
199
-
200
- ```bash
201
- export SYMI_HOME_VOLUME="symi_home"
202
- ./docker-setup.sh
203
- ```
204
-
205
- 2. **Bake system deps into the image** (repeatable + persistent):
206
-
207
- ```bash
208
- export SYMI_DOCKER_APT_PACKAGES="git curl jq"
209
- ./docker-setup.sh
210
- ```
211
-
212
- 3. **Install Playwright browsers without `npx`** (avoids npm override conflicts):
213
-
214
- ```bash
215
- docker compose run --rm symi-cli \
216
- node /app/node_modules/playwright-core/cli.js install chromium
217
- ```
218
-
219
- If you need Playwright to install system deps, rebuild the image with
220
- `SYMI_DOCKER_APT_PACKAGES` instead of using `--with-deps` at runtime.
221
-
222
- 4. **Persist Playwright browser downloads**:
223
-
224
- - Set `PLAYWRIGHT_BROWSERS_PATH=/home/node/.cache/ms-playwright` in
225
- `docker-compose.yml`.
226
- - Ensure `/home/node` persists via `SYMI_HOME_VOLUME`, or mount
227
- `/home/node/.cache/ms-playwright` via `SYMI_EXTRA_MOUNTS`.
228
-
229
- ### Permissions + EACCES
230
-
231
- The image runs as `node` (uid 1000). If you see permission errors on
232
- `/home/node/.symi`, make sure your host bind mounts are owned by uid 1000.
233
-
234
- Example (Linux host):
235
-
236
- ```bash
237
- sudo chown -R 1000:1000 /path/to/symi-config /path/to/symi-workspace
238
- ```
239
-
240
- If you choose to run as root for convenience, you accept the security tradeoff.
241
-
242
- ### Faster rebuilds (recommended)
243
-
244
- To speed up rebuilds, order your Dockerfile so dependency layers are cached.
245
- This avoids re-running `pnpm install` unless lockfiles change:
246
-
247
- ```dockerfile
248
- FROM node:22-bookworm
249
-
250
- # Install Bun (required for build scripts)
251
- RUN curl -fsSL https://bun.sh/install | bash
252
- ENV PATH="/root/.bun/bin:${PATH}"
253
-
254
- RUN corepack enable
255
-
256
- WORKDIR /app
257
-
258
- # Cache dependencies unless package metadata changes
259
- COPY package.json pnpm-lock.yaml pnpm-workspace.yaml .npmrc ./
260
- COPY scripts ./scripts
261
-
262
- RUN pnpm install --frozen-lockfile
263
-
264
- COPY . .
265
- RUN pnpm build
266
- RUN pnpm ui:install
267
- RUN pnpm ui:build
268
-
269
- ENV NODE_ENV=production
270
-
271
- CMD ["node","dist/index.js"]
272
- ```
273
-
274
- ### Channel setup (optional)
275
-
276
- Use the CLI container to configure channels, then restart the gateway if needed.
277
-
278
- WhatsApp (QR):
279
-
280
- ```bash
281
- docker compose run --rm symi-cli channels login
282
- ```
283
-
284
- Telegram (bot token):
285
-
286
- ```bash
287
- docker compose run --rm symi-cli channels add --channel telegram --token "<token>"
288
- ```
289
-
290
- ```bash
291
-
292
- ```
293
-
294
- ### OpenAI Codex OAuth (headless Docker)
295
-
296
- If you pick OpenAI Codex OAuth in the wizard, it opens a browser URL and tries
297
- to capture a callback on `http://127.0.0.1:1455/auth/callback`. In Docker or
298
- headless setups that callback can show a browser error. Copy the full redirect
299
- URL you land on and paste it back into the wizard to finish auth.
300
-
301
- ### Health check
302
-
303
- ```bash
304
- docker compose exec symi-gateway node dist/index.js health --token "$SYMI_GATEWAY_TOKEN"
305
- ```
306
-
307
- ### E2E smoke test (Docker)
308
-
309
- ```bash
310
- scripts/e2e/onboard-docker.sh
311
- ```
312
-
313
- ### QR import smoke test (Docker)
314
-
315
- ```bash
316
- pnpm test:docker:qr
317
- ```
318
-
319
- ### Notes
320
-
321
- - Gateway bind defaults to `lan` for container use.
322
- - Dockerfile CMD uses `--allow-unconfigured`; mounted config with `gateway.mode` not `local` will still start. Override CMD to enforce the guard.
323
- - The gateway container is the source of truth for sessions (`~/.symi/agents/<agentId>/sessions/`).
324
-
325
- ## Agent Sandbox (host gateway + Docker tools)
326
-
327
- Deep dive: [Sandboxing](/gateway/sandboxing)
328
-
329
- ### What it does
330
-
331
- When `agents.defaults.sandbox` is enabled, **non-main sessions** run tools inside a Docker
332
- container. The gateway stays on your host, but the tool execution is isolated:
333
-
334
- - scope: `"agent"` by default (one container + workspace per agent)
335
- - scope: `"session"` for per-session isolation
336
- - per-scope workspace folder mounted at `/workspace`
337
- - optional agent workspace access (`agents.defaults.sandbox.workspaceAccess`)
338
- - allow/deny tool policy (deny wins)
339
- - inbound media is copied into the active sandbox workspace (`media/inbound/*`) so tools can read it (with `workspaceAccess: "rw"`, this lands in the agent workspace)
340
-
341
- Warning: `scope: "shared"` disables cross-session isolation. All sessions share
342
- one container and one workspace.
343
-
344
- ### Per-agent sandbox profiles (multi-agent)
345
-
346
- If you use multi-agent routing, each agent can override sandbox + tool settings:
347
- `agents.list[].sandbox` and `agents.list[].tools` (plus `agents.list[].tools.sandbox.tools`). This lets you run
348
- mixed access levels in one gateway:
349
-
350
- - Full access (personal agent)
351
- - Read-only tools + read-only workspace (family/work agent)
352
- - No filesystem/shell tools (public agent)
353
-
354
- See [Multi-Agent Sandbox & Tools](/tools/multi-agent-sandbox-tools) for examples,
355
- precedence, and troubleshooting.
356
-
357
- ### Default behavior
358
-
359
- - Image: `symi-sandbox:bookworm-slim`
360
- - One container per agent
361
- - Agent workspace access: `workspaceAccess: "none"` (default) uses `~/.symi/sandboxes`
362
- - `"ro"` keeps the sandbox workspace at `/workspace` and mounts the agent workspace read-only at `/agent` (disables `write`/`edit`/`apply_patch`)
363
- - `"rw"` mounts the agent workspace read/write at `/workspace`
364
- - Auto-prune: idle > 24h OR age > 7d
365
- - Network: `none` by default (explicitly opt-in if you need egress)
366
- - Default allow: `exec`, `process`, `read`, `write`, `edit`, `sessions_list`, `sessions_history`, `sessions_send`, `sessions_spawn`, `session_status`
367
-
368
- ### Enable sandboxing
369
-
370
- If you plan to install packages in `setupCommand`, note:
371
-
372
- - Default `docker.network` is `"none"` (no egress).
373
- - `readOnlyRoot: true` blocks package installs.
374
- - `user` must be root for `apt-get` (omit `user` or set `user: "0:0"`).
375
- Symi auto-recreates containers when `setupCommand` (or docker config) changes
376
- unless the container was **recently used** (within ~5 minutes). Hot containers
377
- log a warning with the exact `symi sandbox recreate ...` command.
378
-
379
- ```json5
380
- {
381
- agents: {
382
- defaults: {
383
- sandbox: {
384
- mode: "non-main", // off | non-main | all
385
- scope: "agent", // session | agent | shared (agent is default)
386
- workspaceAccess: "none", // none | ro | rw
387
- workspaceRoot: "~/.symi/sandboxes",
388
- docker: {
389
- image: "symi-sandbox:bookworm-slim",
390
- workdir: "/workspace",
391
- readOnlyRoot: true,
392
- tmpfs: ["/tmp", "/var/tmp", "/run"],
393
- network: "none",
394
- user: "1000:1000",
395
- capDrop: ["ALL"],
396
- env: { LANG: "C.UTF-8" },
397
- setupCommand: "apt-get update && apt-get install -y git curl jq",
398
- pidsLimit: 256,
399
- memory: "1g",
400
- memorySwap: "2g",
401
- cpus: 1,
402
- ulimits: {
403
- nofile: { soft: 1024, hard: 2048 },
404
- nproc: 256,
405
- },
406
- seccompProfile: "/path/to/seccomp.json",
407
- apparmorProfile: "symi-sandbox",
408
- dns: ["1.1.1.1", "8.8.8.8"],
409
- extraHosts: ["internal.service:10.0.0.5"],
410
- },
411
- prune: {
412
- idleHours: 24, // 0 disables idle pruning
413
- maxAgeDays: 7, // 0 disables max-age pruning
414
- },
415
- },
416
- },
417
- },
418
- tools: {
419
- sandbox: {
420
- tools: {
421
- allow: [
422
- "exec",
423
- "process",
424
- "read",
425
- "write",
426
- "edit",
427
- "sessions_list",
428
- "sessions_history",
429
- "sessions_send",
430
- "sessions_spawn",
431
- "session_status",
432
- ],
433
- },
434
- },
435
- },
436
- }
437
- ```
438
-
439
- Hardening knobs live under `agents.defaults.sandbox.docker`:
440
- `network`, `user`, `pidsLimit`, `memory`, `memorySwap`, `cpus`, `ulimits`,
441
- `seccompProfile`, `apparmorProfile`, `dns`, `extraHosts`.
442
-
443
- Multi-agent: override `agents.defaults.sandbox.{docker,browser,prune}.*` per agent via `agents.list[].sandbox.{docker,browser,prune}.*`
444
- (ignored when `agents.defaults.sandbox.scope` / `agents.list[].sandbox.scope` is `"shared"`).
445
-
446
- ### Build the default sandbox image
447
-
448
- ```bash
449
- scripts/sandbox-setup.sh
450
- ```
451
-
452
- This builds `symi-sandbox:bookworm-slim` using `Dockerfile.sandbox`.
453
-
454
- ### Sandbox common image (optional)
455
-
456
- If you want a sandbox image with common build tooling (Node, Go, Rust, etc.), build the common image:
457
-
458
- ```bash
459
- scripts/sandbox-common-setup.sh
460
- ```
461
-
462
- This builds `symi-sandbox-common:bookworm-slim`. To use it:
463
-
464
- ```json5
465
- {
466
- agents: {
467
- defaults: {
468
- sandbox: { docker: { image: "symi-sandbox-common:bookworm-slim" } },
469
- },
470
- },
471
- }
472
- ```
473
-
474
- ### Sandbox browser image
475
-
476
- To run the browser tool inside the sandbox, build the browser image:
477
-
478
- ```bash
479
- scripts/sandbox-browser-setup.sh
480
- ```
481
-
482
- This builds `symi-sandbox-browser:bookworm-slim` using
483
- `Dockerfile.sandbox-browser`. The container runs Chromium with CDP enabled and
484
- an optional noVNC observer (headful via Xvfb).
485
-
486
- Notes:
487
-
488
- - Headful (Xvfb) reduces bot blocking vs headless.
489
- - Headless can still be used by setting `agents.defaults.sandbox.browser.headless=true`.
490
- - No full desktop environment (GNOME) is needed; Xvfb provides the display.
491
- - Browser containers default to a dedicated Docker network (`symi-sandbox-browser`) instead of global `bridge`.
492
- - Optional `agents.defaults.sandbox.browser.cdpSourceRange` restricts container-edge CDP ingress by CIDR (for example `172.21.0.1/32`).
493
- - noVNC observer access is password-protected by default; Symi provides a short-lived observer token URL instead of sharing the raw password in the URL.
494
-
495
- Use config:
496
-
497
- ```json5
498
- {
499
- agents: {
500
- defaults: {
501
- sandbox: {
502
- browser: { enabled: true },
503
- },
504
- },
505
- },
506
- }
507
- ```
508
-
509
- Custom browser image:
510
-
511
- ```json5
512
- {
513
- agents: {
514
- defaults: {
515
- sandbox: { browser: { image: "my-symi-browser" } },
516
- },
517
- },
518
- }
519
- ```
520
-
521
- When enabled, the agent receives:
522
-
523
- - a sandbox browser control URL (for the `browser` tool)
524
- - a noVNC URL (if enabled and headless=false)
525
-
526
- Remember: if you use an allowlist for tools, add `browser` (and remove it from
527
- deny) or the tool remains blocked.
528
- Prune rules (`agents.defaults.sandbox.prune`) apply to browser containers too.
529
-
530
- ### Custom sandbox image
531
-
532
- Build your own image and point config to it:
533
-
534
- ```bash
535
- docker build -t my-symi-sbx -f Dockerfile.sandbox .
536
- ```
537
-
538
- ```json5
539
- {
540
- agents: {
541
- defaults: {
542
- sandbox: { docker: { image: "my-symi-sbx" } },
543
- },
544
- },
545
- }
546
- ```
547
-
548
- ### Tool policy (allow/deny)
549
-
550
- - `deny` wins over `allow`.
551
- - If `allow` is empty: all tools (except deny) are available.
552
- - If `allow` is non-empty: only tools in `allow` are available (minus deny).
553
-
554
- ### Pruning strategy
555
-
556
- Two knobs:
557
-
558
- - `prune.idleHours`: remove containers not used in X hours (0 = disable)
559
- - `prune.maxAgeDays`: remove containers older than X days (0 = disable)
560
-
561
- Example:
562
-
563
- - Keep busy sessions but cap lifetime:
564
- `idleHours: 24`, `maxAgeDays: 7`
565
- - Never prune:
566
- `idleHours: 0`, `maxAgeDays: 0`
567
-
568
- ### Security notes
569
-
570
- - Hard wall only applies to **tools** (exec/read/write/edit/apply_patch).
571
- - Host-only tools like browser/camera/canvas are blocked by default.
572
- - Allowing `browser` in sandbox **breaks isolation** (browser runs on host).
573
-
574
- ## Troubleshooting
575
-
576
- - Image missing: build with [`scripts/sandbox-setup.sh`](https://github.com/symi/symi/blob/main/scripts/sandbox-setup.sh) or set `agents.defaults.sandbox.docker.image`.
577
- - Container not running: it will auto-create per session on demand.
578
- - Permission errors in sandbox: set `docker.user` to a UID:GID that matches your
579
- mounted workspace ownership (or chown the workspace folder).
580
- - Custom tools not found: Symi runs commands with `sh -lc` (login shell), which
581
- sources `/etc/profile` and may reset PATH. Set `docker.env.PATH` to prepend your
582
- custom tool paths (e.g., `/custom/bin:/usr/local/share/npm-global/bin`), or add
583
- a script under `/etc/profile.d/` in your Dockerfile.
@@ -1,126 +0,0 @@
1
- ---
2
- summary: "Run Symi Gateway on exe.dev (VM + HTTPS proxy) for remote access"
3
- read_when:
4
- - You want a cheap always-on Linux host for the Gateway
5
- - You want remote Control UI access without running your own VPS
6
- title: "exe.dev"
7
- ---
8
-
9
- # exe.dev
10
-
11
- Goal: Symi Gateway running on an exe.dev VM, reachable from your laptop via: `https://<vm-name>.exe.xyz`
12
-
13
- This page assumes exe.dev's default **exeuntu** image. If you picked a different distro, map packages accordingly.
14
-
15
- ## Beginner quick path
16
-
17
- 1. [https://exe.new/symi](https://exe.new/symi)
18
- 2. Fill in your auth key/token as needed
19
- 3. Click on "Agent" next to your VM, and wait...
20
- 4. ???
21
- 5. Profit
22
-
23
- ## What you need
24
-
25
- - exe.dev account
26
- - `ssh exe.dev` access to [exe.dev](https://exe.dev) virtual machines (optional)
27
-
28
- ## Automated Install with Shelley
29
-
30
- Shelley, [exe.dev](https://exe.dev)'s agent, can install Symi instantly with our
31
- prompt. The prompt used is as below:
32
-
33
- ```
34
- Set up Symi (https://docs.symi.ai/install) on this VM. Use the non-interactive and accept-risk flags for symi onboarding. Add the supplied auth or token as needed. Configure nginx to forward from the default port 18789 to the root location on the default enabled site config, making sure to enable Websocket support. Pairing is done by "symi devices list" and "symi device approve <request id>". Make sure the dashboard shows that Symi's health is OK. exe.dev handles forwarding from port 8000 to port 80/443 and HTTPS for us, so the final "reachable" should be <vm-name>.exe.xyz, without port specification.
35
- ```
36
-
37
- ## Manual installation
38
-
39
- ## 1) Create the VM
40
-
41
- From your device:
42
-
43
- ```bash
44
- ssh exe.dev new
45
- ```
46
-
47
- Then connect:
48
-
49
- ```bash
50
- ssh <vm-name>.exe.xyz
51
- ```
52
-
53
- Tip: keep this VM **stateful**. Symi stores state under `~/.symi/` and `~/.symi/workspace/`.
54
-
55
- ## 2) Install prerequisites (on the VM)
56
-
57
- ```bash
58
- sudo apt-get update
59
- sudo apt-get install -y git curl jq ca-certificates openssl
60
- ```
61
-
62
- ## 3) Install Symi
63
-
64
- Run the Symi install script:
65
-
66
- ```bash
67
- curl -fsSL https://jaysteelmind.github.io/getsymi/install.sh | bash
68
- ```
69
-
70
- ## 4) Setup nginx to proxy Symi to port 8000
71
-
72
- Edit `/etc/nginx/sites-enabled/default` with
73
-
74
- ```
75
- server {
76
- listen 80 default_server;
77
- listen [::]:80 default_server;
78
- listen 8000;
79
- listen [::]:8000;
80
-
81
- server_name _;
82
-
83
- location / {
84
- proxy_pass http://127.0.0.1:18789;
85
- proxy_http_version 1.1;
86
-
87
- # WebSocket support
88
- proxy_set_header Upgrade $http_upgrade;
89
- proxy_set_header Connection "upgrade";
90
-
91
- # Standard proxy headers
92
- proxy_set_header Host $host;
93
- proxy_set_header X-Real-IP $remote_addr;
94
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
95
- proxy_set_header X-Forwarded-Proto $scheme;
96
-
97
- # Timeout settings for long-lived connections
98
- proxy_read_timeout 86400s;
99
- proxy_send_timeout 86400s;
100
- }
101
- }
102
- ```
103
-
104
- ## 5) Access Symi and grant privileges
105
-
106
- Access `https://<vm-name>.exe.xyz/` (see the Control UI output from onboarding). If it prompts for auth, paste the
107
- token from `gateway.auth.token` on the VM (retrieve with `symi config get gateway.auth.token`, or generate one
108
- with `symi doctor --generate-gateway-token`). Approve devices with `symi devices list` and
109
- `symi devices approve <requestId>`. When in doubt, use Shelley from your browser!
110
-
111
- ## Remote Access
112
-
113
- Remote access is handled by [exe.dev](https://exe.dev)'s authentication. By
114
- default, HTTP traffic from port 8000 is forwarded to `https://<vm-name>.exe.xyz`
115
- with email auth.
116
-
117
- ## Updating
118
-
119
- ```bash
120
- npm i -g @symerian/symi@latest
121
- symi doctor
122
- symi gateway restart
123
- symi health
124
- ```
125
-
126
- Guide: [Updating](/install/updating)