@symerian/symi 3.0.21 → 3.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (688) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  3. package/package.json +1 -1
  4. package/docs/.i18n/README.md +0 -31
  5. package/docs/.i18n/glossary.ja-JP.json +0 -14
  6. package/docs/.i18n/glossary.zh-CN.json +0 -210
  7. package/docs/.i18n/ja-JP.tm.jsonl +0 -0
  8. package/docs/.i18n/zh-CN.tm.jsonl +0 -1303
  9. package/docs/CNAME +0 -1
  10. package/docs/assets/install-script.svg +0 -1
  11. package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
  12. package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
  13. package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
  14. package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
  15. package/docs/assets/macos-onboarding/05-permissions.png +0 -0
  16. package/docs/assets/pixel-symi.svg +0 -60
  17. package/docs/assets/showcase/agents-ui.jpg +0 -0
  18. package/docs/assets/showcase/bambu-cli.png +0 -0
  19. package/docs/assets/showcase/codexmonitor.png +0 -0
  20. package/docs/assets/showcase/gohome-grafana.png +0 -0
  21. package/docs/assets/showcase/ios-testflight.jpg +0 -0
  22. package/docs/assets/showcase/oura-health.png +0 -0
  23. package/docs/assets/showcase/padel-cli.svg +0 -11
  24. package/docs/assets/showcase/padel-screenshot.jpg +0 -0
  25. package/docs/assets/showcase/papla-tts.jpg +0 -0
  26. package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
  27. package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
  28. package/docs/assets/showcase/roborock-status.svg +0 -13
  29. package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
  30. package/docs/assets/showcase/snag.png +0 -0
  31. package/docs/assets/showcase/tesco-shop.jpg +0 -0
  32. package/docs/assets/showcase/wienerlinien.png +0 -0
  33. package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
  34. package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
  35. package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
  36. package/docs/assets/sponsors/blacksmith.svg +0 -14
  37. package/docs/assets/sponsors/openai.svg +0 -3
  38. package/docs/assets/symi-logo-text-dark.png +0 -0
  39. package/docs/assets/symi-logo-text.png +0 -0
  40. package/docs/automation/auth-monitoring.md +0 -44
  41. package/docs/automation/cron-jobs.md +0 -540
  42. package/docs/automation/cron-vs-heartbeat.md +0 -286
  43. package/docs/automation/gmail-pubsub.md +0 -256
  44. package/docs/automation/hooks.md +0 -998
  45. package/docs/automation/poll.md +0 -61
  46. package/docs/automation/troubleshooting.md +0 -122
  47. package/docs/automation/webhook.md +0 -213
  48. package/docs/brave-search.md +0 -41
  49. package/docs/capabilities.md +0 -151
  50. package/docs/channels/bluebubbles.md +0 -346
  51. package/docs/channels/broadcast-groups.md +0 -441
  52. package/docs/channels/channel-routing.md +0 -112
  53. package/docs/channels/feishu.md +0 -586
  54. package/docs/channels/googlechat.md +0 -253
  55. package/docs/channels/grammy.md +0 -31
  56. package/docs/channels/group-messages.md +0 -82
  57. package/docs/channels/groups.md +0 -364
  58. package/docs/channels/imessage.md +0 -366
  59. package/docs/channels/index.md +0 -46
  60. package/docs/channels/irc.md +0 -234
  61. package/docs/channels/line.md +0 -186
  62. package/docs/channels/location.md +0 -56
  63. package/docs/channels/matrix.md +0 -300
  64. package/docs/channels/mattermost.md +0 -158
  65. package/docs/channels/msteams.md +0 -769
  66. package/docs/channels/nextcloud-talk.md +0 -138
  67. package/docs/channels/nostr.md +0 -233
  68. package/docs/channels/pairing.md +0 -100
  69. package/docs/channels/signal.md +0 -322
  70. package/docs/channels/slack.md +0 -510
  71. package/docs/channels/telegram.md +0 -748
  72. package/docs/channels/tlon.md +0 -148
  73. package/docs/channels/troubleshooting.md +0 -110
  74. package/docs/channels/twitch.md +0 -379
  75. package/docs/channels/whatsapp.md +0 -444
  76. package/docs/channels/zalo.md +0 -192
  77. package/docs/channels/zalouser.md +0 -140
  78. package/docs/ci.md +0 -50
  79. package/docs/cli/acp.md +0 -182
  80. package/docs/cli/agent.md +0 -24
  81. package/docs/cli/agents.md +0 -75
  82. package/docs/cli/approvals.md +0 -50
  83. package/docs/cli/browser.md +0 -107
  84. package/docs/cli/channels.md +0 -73
  85. package/docs/cli/config.md +0 -50
  86. package/docs/cli/configure.md +0 -32
  87. package/docs/cli/cron.md +0 -44
  88. package/docs/cli/dashboard.md +0 -16
  89. package/docs/cli/devices.md +0 -73
  90. package/docs/cli/directory.md +0 -62
  91. package/docs/cli/dns.md +0 -23
  92. package/docs/cli/docs.md +0 -15
  93. package/docs/cli/doctor.md +0 -41
  94. package/docs/cli/gateway.md +0 -202
  95. package/docs/cli/health.md +0 -21
  96. package/docs/cli/hooks.md +0 -313
  97. package/docs/cli/index.md +0 -1029
  98. package/docs/cli/logs.md +0 -28
  99. package/docs/cli/memory.md +0 -45
  100. package/docs/cli/message.md +0 -214
  101. package/docs/cli/models.md +0 -79
  102. package/docs/cli/node.md +0 -112
  103. package/docs/cli/nodes.md +0 -73
  104. package/docs/cli/onboard.md +0 -76
  105. package/docs/cli/pairing.md +0 -21
  106. package/docs/cli/plugins.md +0 -92
  107. package/docs/cli/reset.md +0 -17
  108. package/docs/cli/sandbox.md +0 -152
  109. package/docs/cli/security.md +0 -64
  110. package/docs/cli/sessions.md +0 -16
  111. package/docs/cli/setup.md +0 -29
  112. package/docs/cli/skills.md +0 -26
  113. package/docs/cli/status.md +0 -25
  114. package/docs/cli/system.md +0 -60
  115. package/docs/cli/tui.md +0 -23
  116. package/docs/cli/uninstall.md +0 -17
  117. package/docs/cli/update.md +0 -98
  118. package/docs/cli/voicecall.md +0 -34
  119. package/docs/cli/webhooks.md +0 -25
  120. package/docs/concepts/agent-loop.md +0 -148
  121. package/docs/concepts/agent-workspace.md +0 -234
  122. package/docs/concepts/agent.md +0 -123
  123. package/docs/concepts/architecture.md +0 -135
  124. package/docs/concepts/compaction.md +0 -61
  125. package/docs/concepts/context.md +0 -161
  126. package/docs/concepts/features.md +0 -51
  127. package/docs/concepts/markdown-formatting.md +0 -128
  128. package/docs/concepts/memory.md +0 -729
  129. package/docs/concepts/messages.md +0 -153
  130. package/docs/concepts/model-failover.md +0 -149
  131. package/docs/concepts/model-providers.md +0 -424
  132. package/docs/concepts/models.md +0 -208
  133. package/docs/concepts/multi-agent.md +0 -521
  134. package/docs/concepts/oauth.md +0 -145
  135. package/docs/concepts/presence.md +0 -102
  136. package/docs/concepts/queue.md +0 -86
  137. package/docs/concepts/retry.md +0 -64
  138. package/docs/concepts/session-pruning.md +0 -123
  139. package/docs/concepts/session-tool.md +0 -213
  140. package/docs/concepts/session.md +0 -199
  141. package/docs/concepts/sessions.md +0 -10
  142. package/docs/concepts/streaming.md +0 -129
  143. package/docs/concepts/system-prompt.md +0 -128
  144. package/docs/concepts/timezone.md +0 -90
  145. package/docs/concepts/typebox.md +0 -289
  146. package/docs/concepts/typing-indicators.md +0 -68
  147. package/docs/concepts/usage-tracking.md +0 -35
  148. package/docs/date-time.md +0 -127
  149. package/docs/debug/node-issue.md +0 -85
  150. package/docs/diagnostics/flags.md +0 -91
  151. package/docs/docs.json +0 -1849
  152. package/docs/experiments/onboarding-config-protocol.md +0 -40
  153. package/docs/experiments/plans/browser-evaluate-cdp-refactor.md +0 -229
  154. package/docs/experiments/plans/cron-add-hardening.md +0 -62
  155. package/docs/experiments/plans/group-policy-hardening.md +0 -40
  156. package/docs/experiments/plans/openresponses-gateway.md +0 -123
  157. package/docs/experiments/plans/pty-process-supervision.md +0 -192
  158. package/docs/experiments/plans/session-binding-channel-agnostic.md +0 -202
  159. package/docs/experiments/plans/thread-bound-subagents.md +0 -281
  160. package/docs/experiments/proposals/model-config.md +0 -36
  161. package/docs/experiments/research/memory.md +0 -228
  162. package/docs/gateway/authentication.md +0 -162
  163. package/docs/gateway/background-process.md +0 -96
  164. package/docs/gateway/bonjour.md +0 -177
  165. package/docs/gateway/bridge-protocol.md +0 -91
  166. package/docs/gateway/cli-backends.md +0 -225
  167. package/docs/gateway/configuration-examples.md +0 -610
  168. package/docs/gateway/configuration-reference.md +0 -2465
  169. package/docs/gateway/configuration.md +0 -488
  170. package/docs/gateway/discovery.md +0 -123
  171. package/docs/gateway/doctor.md +0 -282
  172. package/docs/gateway/gateway-lock.md +0 -34
  173. package/docs/gateway/health.md +0 -35
  174. package/docs/gateway/heartbeat.md +0 -374
  175. package/docs/gateway/index.md +0 -254
  176. package/docs/gateway/local-models.md +0 -150
  177. package/docs/gateway/logging.md +0 -113
  178. package/docs/gateway/multiple-gateways.md +0 -112
  179. package/docs/gateway/network-model.md +0 -20
  180. package/docs/gateway/openai-http-api.md +0 -119
  181. package/docs/gateway/openresponses-http-api.md +0 -333
  182. package/docs/gateway/pairing.md +0 -99
  183. package/docs/gateway/protocol.md +0 -221
  184. package/docs/gateway/remote-gateway-readme.md +0 -158
  185. package/docs/gateway/remote.md +0 -131
  186. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -128
  187. package/docs/gateway/sandboxing.md +0 -203
  188. package/docs/gateway/security/index.md +0 -931
  189. package/docs/gateway/tailscale.md +0 -132
  190. package/docs/gateway/tools-invoke-http-api.md +0 -110
  191. package/docs/gateway/troubleshooting.md +0 -317
  192. package/docs/gateway/trusted-proxy-auth.md +0 -270
  193. package/docs/glass-ui-rendering-invariants.md +0 -451
  194. package/docs/help/debugging.md +0 -162
  195. package/docs/help/environment.md +0 -107
  196. package/docs/help/faq.md +0 -2846
  197. package/docs/help/index.md +0 -21
  198. package/docs/help/scripts.md +0 -28
  199. package/docs/help/testing.md +0 -385
  200. package/docs/help/troubleshooting.md +0 -264
  201. package/docs/images/configure-model-picker-unsearchable.png +0 -0
  202. package/docs/images/feishu-step2-create-app.png +0 -0
  203. package/docs/images/feishu-step3-credentials.png +0 -0
  204. package/docs/images/feishu-step4-permissions.png +0 -0
  205. package/docs/images/feishu-step5-bot-capability.png +0 -0
  206. package/docs/images/feishu-step6-event-subscription.png +0 -0
  207. package/docs/images/groups-flow.svg +0 -52
  208. package/docs/images/mobile-ui-screenshot.png +0 -0
  209. package/docs/index.md +0 -186
  210. package/docs/install/ansible.md +0 -207
  211. package/docs/install/bun.md +0 -59
  212. package/docs/install/development-channels.md +0 -75
  213. package/docs/install/docker.md +0 -583
  214. package/docs/install/exe-dev.md +0 -126
  215. package/docs/install/fly.md +0 -472
  216. package/docs/install/gcp.md +0 -499
  217. package/docs/install/hetzner.md +0 -347
  218. package/docs/install/index.md +0 -218
  219. package/docs/install/installer.md +0 -405
  220. package/docs/install/macos-vm.md +0 -281
  221. package/docs/install/migrating.md +0 -192
  222. package/docs/install/nix.md +0 -98
  223. package/docs/install/node.md +0 -138
  224. package/docs/install/northflank.mdx +0 -49
  225. package/docs/install/podman.md +0 -108
  226. package/docs/install/railway.mdx +0 -95
  227. package/docs/install/render.mdx +0 -158
  228. package/docs/install/uninstall.md +0 -128
  229. package/docs/install/updating.md +0 -231
  230. package/docs/ja-JP/AGENTS.md +0 -37
  231. package/docs/ja-JP/index.md +0 -183
  232. package/docs/ja-JP/start/getting-started.md +0 -125
  233. package/docs/ja-JP/start/wizard.md +0 -77
  234. package/docs/logging.md +0 -350
  235. package/docs/nav-tabs-underline.js +0 -100
  236. package/docs/network.md +0 -54
  237. package/docs/nodes/audio.md +0 -133
  238. package/docs/nodes/camera.md +0 -156
  239. package/docs/nodes/images.md +0 -72
  240. package/docs/nodes/index.md +0 -342
  241. package/docs/nodes/location-command.md +0 -113
  242. package/docs/nodes/media-understanding.md +0 -379
  243. package/docs/nodes/talk.md +0 -90
  244. package/docs/nodes/troubleshooting.md +0 -112
  245. package/docs/nodes/voicewake.md +0 -65
  246. package/docs/perplexity.md +0 -80
  247. package/docs/phase-6.5-pre-flight-audit.md +0 -268
  248. package/docs/pi-dev.md +0 -70
  249. package/docs/pi.md +0 -610
  250. package/docs/platforms/android.md +0 -151
  251. package/docs/platforms/digitalocean.md +0 -265
  252. package/docs/platforms/index.md +0 -53
  253. package/docs/platforms/ios.md +0 -108
  254. package/docs/platforms/linux.md +0 -94
  255. package/docs/platforms/mac/bundled-gateway.md +0 -73
  256. package/docs/platforms/mac/canvas.md +0 -125
  257. package/docs/platforms/mac/child-process.md +0 -69
  258. package/docs/platforms/mac/dev-setup.md +0 -104
  259. package/docs/platforms/mac/health.md +0 -34
  260. package/docs/platforms/mac/icon.md +0 -31
  261. package/docs/platforms/mac/logging.md +0 -57
  262. package/docs/platforms/mac/menu-bar.md +0 -81
  263. package/docs/platforms/mac/peekaboo.md +0 -65
  264. package/docs/platforms/mac/permissions.md +0 -50
  265. package/docs/platforms/mac/release.md +0 -85
  266. package/docs/platforms/mac/remote.md +0 -84
  267. package/docs/platforms/mac/signing.md +0 -47
  268. package/docs/platforms/mac/skills.md +0 -33
  269. package/docs/platforms/mac/voice-overlay.md +0 -60
  270. package/docs/platforms/mac/voicewake.md +0 -66
  271. package/docs/platforms/mac/webchat.md +0 -43
  272. package/docs/platforms/mac/xpc.md +0 -61
  273. package/docs/platforms/macos.md +0 -204
  274. package/docs/platforms/oracle.md +0 -303
  275. package/docs/platforms/raspberry-pi.md +0 -358
  276. package/docs/platforms/windows.md +0 -159
  277. package/docs/plugins/agent-tools.md +0 -99
  278. package/docs/plugins/community.md +0 -44
  279. package/docs/plugins/manifest.md +0 -71
  280. package/docs/plugins/voice-call.md +0 -322
  281. package/docs/plugins/zalouser.md +0 -81
  282. package/docs/prose.md +0 -134
  283. package/docs/providers/anthropic.md +0 -174
  284. package/docs/providers/bedrock.md +0 -176
  285. package/docs/providers/claude-max-api-proxy.md +0 -148
  286. package/docs/providers/cloudflare-ai-gateway.md +0 -71
  287. package/docs/providers/deepgram.md +0 -93
  288. package/docs/providers/github-copilot.md +0 -72
  289. package/docs/providers/glm.md +0 -33
  290. package/docs/providers/huggingface.md +0 -209
  291. package/docs/providers/index.md +0 -67
  292. package/docs/providers/litellm.md +0 -153
  293. package/docs/providers/minimax.md +0 -208
  294. package/docs/providers/models.md +0 -52
  295. package/docs/providers/moonshot.md +0 -142
  296. package/docs/providers/nvidia.md +0 -55
  297. package/docs/providers/ollama.md +0 -250
  298. package/docs/providers/openai.md +0 -62
  299. package/docs/providers/opencode.md +0 -36
  300. package/docs/providers/openrouter.md +0 -37
  301. package/docs/providers/qianfan.md +0 -38
  302. package/docs/providers/qwen.md +0 -53
  303. package/docs/providers/synthetic.md +0 -99
  304. package/docs/providers/together.md +0 -65
  305. package/docs/providers/venice.md +0 -267
  306. package/docs/providers/vercel-ai-gateway.md +0 -50
  307. package/docs/providers/vllm.md +0 -92
  308. package/docs/providers/xiaomi.md +0 -64
  309. package/docs/providers/zai.md +0 -38
  310. package/docs/refactor/exec-host.md +0 -316
  311. package/docs/refactor/outbound-session-mirroring.md +0 -83
  312. package/docs/refactor/plugin-sdk.md +0 -214
  313. package/docs/refactor/strict-config.md +0 -93
  314. package/docs/refactor/syminet.md +0 -417
  315. package/docs/reference/AGENTS.default.md +0 -123
  316. package/docs/reference/RELEASING.md +0 -120
  317. package/docs/reference/api-usage-costs.md +0 -138
  318. package/docs/reference/credits.md +0 -28
  319. package/docs/reference/device-models.md +0 -47
  320. package/docs/reference/rpc.md +0 -43
  321. package/docs/reference/session-management-compaction.md +0 -284
  322. package/docs/reference/test.md +0 -51
  323. package/docs/reference/token-use.md +0 -136
  324. package/docs/reference/transcript-hygiene.md +0 -151
  325. package/docs/reference/wizard.md +0 -265
  326. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -89
  327. package/docs/security/README.md +0 -16
  328. package/docs/security/THREAT-MODEL-ATLAS.md +0 -600
  329. package/docs/security/formal-verification.md +0 -164
  330. package/docs/start/bootstrapping.md +0 -41
  331. package/docs/start/docs-directory.md +0 -63
  332. package/docs/start/getting-started.md +0 -135
  333. package/docs/start/hubs.md +0 -196
  334. package/docs/start/lore.md +0 -216
  335. package/docs/start/onboarding-overview.md +0 -51
  336. package/docs/start/onboarding.md +0 -81
  337. package/docs/start/quickstart.md +0 -22
  338. package/docs/start/setup.md +0 -160
  339. package/docs/start/showcase.md +0 -414
  340. package/docs/start/symi.md +0 -211
  341. package/docs/start/wizard-cli-automation.md +0 -158
  342. package/docs/start/wizard-cli-reference.md +0 -255
  343. package/docs/start/wizard.md +0 -109
  344. package/docs/style.css +0 -37
  345. package/docs/tools/agent-send.md +0 -52
  346. package/docs/tools/apply-patch.md +0 -51
  347. package/docs/tools/browser-linux-troubleshooting.md +0 -139
  348. package/docs/tools/browser-login.md +0 -67
  349. package/docs/tools/browser.md +0 -587
  350. package/docs/tools/chrome-extension.md +0 -183
  351. package/docs/tools/creating-skills.md +0 -54
  352. package/docs/tools/elevated.md +0 -55
  353. package/docs/tools/exec-approvals.md +0 -261
  354. package/docs/tools/exec.md +0 -184
  355. package/docs/tools/firecrawl.md +0 -61
  356. package/docs/tools/index.md +0 -540
  357. package/docs/tools/llm-task.md +0 -115
  358. package/docs/tools/loop-detection.md +0 -98
  359. package/docs/tools/multi-agent-sandbox-tools.md +0 -396
  360. package/docs/tools/pipeline.md +0 -340
  361. package/docs/tools/plugin.md +0 -687
  362. package/docs/tools/reactions.md +0 -21
  363. package/docs/tools/skills-config.md +0 -76
  364. package/docs/tools/skills.md +0 -300
  365. package/docs/tools/slash-commands.md +0 -202
  366. package/docs/tools/subagents.md +0 -232
  367. package/docs/tools/symihub.md +0 -256
  368. package/docs/tools/thinking.md +0 -75
  369. package/docs/tools/web.md +0 -265
  370. package/docs/tts.md +0 -398
  371. package/docs/vps.md +0 -43
  372. package/docs/web/control-ui.md +0 -247
  373. package/docs/web/dashboard.md +0 -46
  374. package/docs/web/index.md +0 -118
  375. package/docs/web/tui.md +0 -162
  376. package/docs/web/webchat.md +0 -53
  377. package/docs/whatsapp-symi-ai-zh.jpg +0 -0
  378. package/docs/whatsapp-symi.jpg +0 -0
  379. package/docs/zh-CN/AGENTS.md +0 -59
  380. package/docs/zh-CN/automation/auth-monitoring.md +0 -47
  381. package/docs/zh-CN/automation/cron-jobs.md +0 -422
  382. package/docs/zh-CN/automation/cron-vs-heartbeat.md +0 -286
  383. package/docs/zh-CN/automation/gmail-pubsub.md +0 -249
  384. package/docs/zh-CN/automation/hooks.md +0 -881
  385. package/docs/zh-CN/automation/poll.md +0 -68
  386. package/docs/zh-CN/automation/troubleshooting.md +0 -8
  387. package/docs/zh-CN/automation/webhook.md +0 -161
  388. package/docs/zh-CN/brave-search.md +0 -48
  389. package/docs/zh-CN/channels/bluebubbles.md +0 -271
  390. package/docs/zh-CN/channels/broadcast-groups.md +0 -448
  391. package/docs/zh-CN/channels/channel-routing.md +0 -112
  392. package/docs/zh-CN/channels/feishu.md +0 -629
  393. package/docs/zh-CN/channels/googlechat.md +0 -257
  394. package/docs/zh-CN/channels/grammy.md +0 -38
  395. package/docs/zh-CN/channels/group-messages.md +0 -89
  396. package/docs/zh-CN/channels/groups.md +0 -369
  397. package/docs/zh-CN/channels/imessage.md +0 -300
  398. package/docs/zh-CN/channels/index.md +0 -52
  399. package/docs/zh-CN/channels/line.md +0 -180
  400. package/docs/zh-CN/channels/location.md +0 -63
  401. package/docs/zh-CN/channels/matrix.md +0 -221
  402. package/docs/zh-CN/channels/mattermost.md +0 -144
  403. package/docs/zh-CN/channels/msteams.md +0 -773
  404. package/docs/zh-CN/channels/nextcloud-talk.md +0 -142
  405. package/docs/zh-CN/channels/nostr.md +0 -240
  406. package/docs/zh-CN/channels/pairing.md +0 -86
  407. package/docs/zh-CN/channels/signal.md +0 -207
  408. package/docs/zh-CN/channels/slack.md +0 -529
  409. package/docs/zh-CN/channels/telegram.md +0 -748
  410. package/docs/zh-CN/channels/tlon.md +0 -136
  411. package/docs/zh-CN/channels/troubleshooting.md +0 -34
  412. package/docs/zh-CN/channels/twitch.md +0 -385
  413. package/docs/zh-CN/channels/whatsapp.md +0 -411
  414. package/docs/zh-CN/channels/zalo.md +0 -196
  415. package/docs/zh-CN/channels/zalouser.md +0 -147
  416. package/docs/zh-CN/cli/acp.md +0 -173
  417. package/docs/zh-CN/cli/agent.md +0 -30
  418. package/docs/zh-CN/cli/agents.md +0 -82
  419. package/docs/zh-CN/cli/approvals.md +0 -57
  420. package/docs/zh-CN/cli/browser.md +0 -114
  421. package/docs/zh-CN/cli/channels.md +0 -80
  422. package/docs/zh-CN/cli/config.md +0 -57
  423. package/docs/zh-CN/cli/configure.md +0 -37
  424. package/docs/zh-CN/cli/cron.md +0 -43
  425. package/docs/zh-CN/cli/dashboard.md +0 -23
  426. package/docs/zh-CN/cli/devices.md +0 -74
  427. package/docs/zh-CN/cli/directory.md +0 -69
  428. package/docs/zh-CN/cli/dns.md +0 -30
  429. package/docs/zh-CN/cli/docs.md +0 -22
  430. package/docs/zh-CN/cli/doctor.md +0 -48
  431. package/docs/zh-CN/cli/gateway.md +0 -206
  432. package/docs/zh-CN/cli/health.md +0 -28
  433. package/docs/zh-CN/cli/hooks.md +0 -298
  434. package/docs/zh-CN/cli/index.md +0 -1025
  435. package/docs/zh-CN/cli/logs.md +0 -31
  436. package/docs/zh-CN/cli/memory.md +0 -52
  437. package/docs/zh-CN/cli/message.md +0 -205
  438. package/docs/zh-CN/cli/models.md +0 -85
  439. package/docs/zh-CN/cli/node.md +0 -115
  440. package/docs/zh-CN/cli/nodes.md +0 -80
  441. package/docs/zh-CN/cli/onboard.md +0 -36
  442. package/docs/zh-CN/cli/pairing.md +0 -28
  443. package/docs/zh-CN/cli/plugins.md +0 -66
  444. package/docs/zh-CN/cli/reset.md +0 -24
  445. package/docs/zh-CN/cli/sandbox.md +0 -158
  446. package/docs/zh-CN/cli/security.md +0 -33
  447. package/docs/zh-CN/cli/sessions.md +0 -23
  448. package/docs/zh-CN/cli/setup.md +0 -36
  449. package/docs/zh-CN/cli/skills.md +0 -33
  450. package/docs/zh-CN/cli/status.md +0 -32
  451. package/docs/zh-CN/cli/system.md +0 -63
  452. package/docs/zh-CN/cli/tui.md +0 -30
  453. package/docs/zh-CN/cli/uninstall.md +0 -24
  454. package/docs/zh-CN/cli/update.md +0 -101
  455. package/docs/zh-CN/cli/voicecall.md +0 -41
  456. package/docs/zh-CN/cli/webhooks.md +0 -32
  457. package/docs/zh-CN/concepts/agent-loop.md +0 -146
  458. package/docs/zh-CN/concepts/agent-workspace.md +0 -219
  459. package/docs/zh-CN/concepts/agent.md +0 -115
  460. package/docs/zh-CN/concepts/architecture.md +0 -122
  461. package/docs/zh-CN/concepts/compaction.md +0 -67
  462. package/docs/zh-CN/concepts/context.md +0 -168
  463. package/docs/zh-CN/concepts/features.md +0 -57
  464. package/docs/zh-CN/concepts/markdown-formatting.md +0 -115
  465. package/docs/zh-CN/concepts/memory.md +0 -412
  466. package/docs/zh-CN/concepts/messages.md +0 -140
  467. package/docs/zh-CN/concepts/model-failover.md +0 -145
  468. package/docs/zh-CN/concepts/model-providers.md +0 -320
  469. package/docs/zh-CN/concepts/models.md +0 -196
  470. package/docs/zh-CN/concepts/multi-agent.md +0 -371
  471. package/docs/zh-CN/concepts/oauth.md +0 -151
  472. package/docs/zh-CN/concepts/presence.md +0 -99
  473. package/docs/zh-CN/concepts/queue.md +0 -91
  474. package/docs/zh-CN/concepts/retry.md +0 -71
  475. package/docs/zh-CN/concepts/session-pruning.md +0 -129
  476. package/docs/zh-CN/concepts/session-tool.md +0 -198
  477. package/docs/zh-CN/concepts/session.md +0 -158
  478. package/docs/zh-CN/concepts/sessions.md +0 -17
  479. package/docs/zh-CN/concepts/streaming.md +0 -131
  480. package/docs/zh-CN/concepts/system-prompt.md +0 -99
  481. package/docs/zh-CN/concepts/timezone.md +0 -94
  482. package/docs/zh-CN/concepts/typebox.md +0 -284
  483. package/docs/zh-CN/concepts/typing-indicators.md +0 -74
  484. package/docs/zh-CN/concepts/usage-tracking.md +0 -42
  485. package/docs/zh-CN/date-time.md +0 -128
  486. package/docs/zh-CN/debug/node-issue.md +0 -90
  487. package/docs/zh-CN/diagnostics/flags.md +0 -98
  488. package/docs/zh-CN/experiments/onboarding-config-protocol.md +0 -47
  489. package/docs/zh-CN/experiments/plans/cron-add-hardening.md +0 -69
  490. package/docs/zh-CN/experiments/plans/group-policy-hardening.md +0 -45
  491. package/docs/zh-CN/experiments/plans/openresponses-gateway.md +0 -121
  492. package/docs/zh-CN/experiments/proposals/model-config.md +0 -42
  493. package/docs/zh-CN/experiments/research/memory.md +0 -235
  494. package/docs/zh-CN/gateway/authentication.md +0 -142
  495. package/docs/zh-CN/gateway/background-process.md +0 -100
  496. package/docs/zh-CN/gateway/bonjour.md +0 -174
  497. package/docs/zh-CN/gateway/bridge-protocol.md +0 -86
  498. package/docs/zh-CN/gateway/cli-backends.md +0 -213
  499. package/docs/zh-CN/gateway/configuration-examples.md +0 -580
  500. package/docs/zh-CN/gateway/configuration.md +0 -3284
  501. package/docs/zh-CN/gateway/discovery.md +0 -123
  502. package/docs/zh-CN/gateway/doctor.md +0 -238
  503. package/docs/zh-CN/gateway/gateway-lock.md +0 -41
  504. package/docs/zh-CN/gateway/health.md +0 -42
  505. package/docs/zh-CN/gateway/heartbeat.md +0 -272
  506. package/docs/zh-CN/gateway/index.md +0 -335
  507. package/docs/zh-CN/gateway/local-models.md +0 -157
  508. package/docs/zh-CN/gateway/logging.md +0 -114
  509. package/docs/zh-CN/gateway/multiple-gateways.md +0 -119
  510. package/docs/zh-CN/gateway/network-model.md +0 -23
  511. package/docs/zh-CN/gateway/openai-http-api.md +0 -125
  512. package/docs/zh-CN/gateway/openresponses-http-api.md +0 -317
  513. package/docs/zh-CN/gateway/pairing.md +0 -99
  514. package/docs/zh-CN/gateway/protocol.md +0 -220
  515. package/docs/zh-CN/gateway/remote-gateway-readme.md +0 -164
  516. package/docs/zh-CN/gateway/remote.md +0 -133
  517. package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -135
  518. package/docs/zh-CN/gateway/sandboxing.md +0 -188
  519. package/docs/zh-CN/gateway/security/index.md +0 -772
  520. package/docs/zh-CN/gateway/tailscale.md +0 -124
  521. package/docs/zh-CN/gateway/tools-invoke-http-api.md +0 -92
  522. package/docs/zh-CN/gateway/troubleshooting.md +0 -758
  523. package/docs/zh-CN/help/debugging.md +0 -160
  524. package/docs/zh-CN/help/environment.md +0 -88
  525. package/docs/zh-CN/help/faq.md +0 -2613
  526. package/docs/zh-CN/help/index.md +0 -28
  527. package/docs/zh-CN/help/scripts.md +0 -35
  528. package/docs/zh-CN/help/testing.md +0 -375
  529. package/docs/zh-CN/help/troubleshooting.md +0 -104
  530. package/docs/zh-CN/index.md +0 -183
  531. package/docs/zh-CN/install/ansible.md +0 -214
  532. package/docs/zh-CN/install/bun.md +0 -65
  533. package/docs/zh-CN/install/development-channels.md +0 -81
  534. package/docs/zh-CN/install/docker.md +0 -525
  535. package/docs/zh-CN/install/exe-dev.md +0 -127
  536. package/docs/zh-CN/install/fly.md +0 -476
  537. package/docs/zh-CN/install/gcp.md +0 -509
  538. package/docs/zh-CN/install/hetzner.md +0 -336
  539. package/docs/zh-CN/install/index.md +0 -193
  540. package/docs/zh-CN/install/installer.md +0 -128
  541. package/docs/zh-CN/install/macos-vm.md +0 -288
  542. package/docs/zh-CN/install/migrating.md +0 -199
  543. package/docs/zh-CN/install/nix.md +0 -99
  544. package/docs/zh-CN/install/node.md +0 -8
  545. package/docs/zh-CN/install/northflank.mdx +0 -56
  546. package/docs/zh-CN/install/railway.mdx +0 -102
  547. package/docs/zh-CN/install/render.mdx +0 -168
  548. package/docs/zh-CN/install/uninstall.md +0 -135
  549. package/docs/zh-CN/install/updating.md +0 -233
  550. package/docs/zh-CN/logging.md +0 -329
  551. package/docs/zh-CN/network.md +0 -59
  552. package/docs/zh-CN/nodes/audio.md +0 -120
  553. package/docs/zh-CN/nodes/camera.md +0 -162
  554. package/docs/zh-CN/nodes/images.md +0 -79
  555. package/docs/zh-CN/nodes/index.md +0 -348
  556. package/docs/zh-CN/nodes/location-command.md +0 -120
  557. package/docs/zh-CN/nodes/media-understanding.md +0 -380
  558. package/docs/zh-CN/nodes/talk.md +0 -97
  559. package/docs/zh-CN/nodes/troubleshooting.md +0 -8
  560. package/docs/zh-CN/nodes/voicewake.md +0 -72
  561. package/docs/zh-CN/perplexity.md +0 -84
  562. package/docs/zh-CN/pi-dev.md +0 -77
  563. package/docs/zh-CN/pi.md +0 -617
  564. package/docs/zh-CN/platforms/android.md +0 -155
  565. package/docs/zh-CN/platforms/digitalocean.md +0 -268
  566. package/docs/zh-CN/platforms/index.md +0 -60
  567. package/docs/zh-CN/platforms/ios.md +0 -114
  568. package/docs/zh-CN/platforms/linux.md +0 -101
  569. package/docs/zh-CN/platforms/mac/bundled-gateway.md +0 -75
  570. package/docs/zh-CN/platforms/mac/canvas.md +0 -128
  571. package/docs/zh-CN/platforms/mac/child-process.md +0 -73
  572. package/docs/zh-CN/platforms/mac/dev-setup.md +0 -109
  573. package/docs/zh-CN/platforms/mac/health.md +0 -41
  574. package/docs/zh-CN/platforms/mac/icon.md +0 -38
  575. package/docs/zh-CN/platforms/mac/logging.md +0 -64
  576. package/docs/zh-CN/platforms/mac/menu-bar.md +0 -88
  577. package/docs/zh-CN/platforms/mac/peekaboo.md +0 -62
  578. package/docs/zh-CN/platforms/mac/permissions.md +0 -46
  579. package/docs/zh-CN/platforms/mac/release.md +0 -92
  580. package/docs/zh-CN/platforms/mac/remote.md +0 -90
  581. package/docs/zh-CN/platforms/mac/signing.md +0 -54
  582. package/docs/zh-CN/platforms/mac/skills.md +0 -40
  583. package/docs/zh-CN/platforms/mac/voice-overlay.md +0 -67
  584. package/docs/zh-CN/platforms/mac/voicewake.md +0 -73
  585. package/docs/zh-CN/platforms/mac/webchat.md +0 -43
  586. package/docs/zh-CN/platforms/mac/xpc.md +0 -68
  587. package/docs/zh-CN/platforms/macos.md +0 -193
  588. package/docs/zh-CN/platforms/oracle.md +0 -310
  589. package/docs/zh-CN/platforms/raspberry-pi.md +0 -365
  590. package/docs/zh-CN/platforms/windows.md +0 -156
  591. package/docs/zh-CN/plugins/agent-tools.md +0 -99
  592. package/docs/zh-CN/plugins/manifest.md +0 -68
  593. package/docs/zh-CN/plugins/voice-call.md +0 -250
  594. package/docs/zh-CN/plugins/zalouser.md +0 -88
  595. package/docs/zh-CN/prose.md +0 -141
  596. package/docs/zh-CN/providers/anthropic.md +0 -159
  597. package/docs/zh-CN/providers/bedrock.md +0 -170
  598. package/docs/zh-CN/providers/claude-max-api-proxy.md +0 -155
  599. package/docs/zh-CN/providers/deepgram.md +0 -97
  600. package/docs/zh-CN/providers/github-copilot.md +0 -67
  601. package/docs/zh-CN/providers/glm.md +0 -39
  602. package/docs/zh-CN/providers/index.md +0 -66
  603. package/docs/zh-CN/providers/minimax.md +0 -206
  604. package/docs/zh-CN/providers/models.md +0 -55
  605. package/docs/zh-CN/providers/moonshot.md +0 -145
  606. package/docs/zh-CN/providers/ollama.md +0 -230
  607. package/docs/zh-CN/providers/openai.md +0 -68
  608. package/docs/zh-CN/providers/opencode.md +0 -41
  609. package/docs/zh-CN/providers/openrouter.md +0 -43
  610. package/docs/zh-CN/providers/qianfan.md +0 -8
  611. package/docs/zh-CN/providers/qwen.md +0 -55
  612. package/docs/zh-CN/providers/synthetic.md +0 -102
  613. package/docs/zh-CN/providers/venice.md +0 -274
  614. package/docs/zh-CN/providers/vercel-ai-gateway.md +0 -57
  615. package/docs/zh-CN/providers/xiaomi.md +0 -68
  616. package/docs/zh-CN/providers/zai.md +0 -41
  617. package/docs/zh-CN/refactor/exec-host.md +0 -323
  618. package/docs/zh-CN/refactor/outbound-session-mirroring.md +0 -90
  619. package/docs/zh-CN/refactor/plugin-sdk.md +0 -221
  620. package/docs/zh-CN/refactor/strict-config.md +0 -100
  621. package/docs/zh-CN/refactor/syminet.md +0 -424
  622. package/docs/zh-CN/reference/AGENTS.default.md +0 -130
  623. package/docs/zh-CN/reference/RELEASING.md +0 -122
  624. package/docs/zh-CN/reference/api-usage-costs.md +0 -136
  625. package/docs/zh-CN/reference/credits.md +0 -34
  626. package/docs/zh-CN/reference/device-models.md +0 -54
  627. package/docs/zh-CN/reference/rpc.md +0 -48
  628. package/docs/zh-CN/reference/session-management-compaction.md +0 -286
  629. package/docs/zh-CN/reference/templates/AGENTS.dev.md +0 -89
  630. package/docs/zh-CN/reference/templates/AGENTS.md +0 -234
  631. package/docs/zh-CN/reference/templates/BOOT.md +0 -17
  632. package/docs/zh-CN/reference/templates/BOOTSTRAP.md +0 -68
  633. package/docs/zh-CN/reference/templates/IDENTITY.dev.md +0 -54
  634. package/docs/zh-CN/reference/templates/IDENTITY.md +0 -36
  635. package/docs/zh-CN/reference/templates/SYMICORE.dev.md +0 -83
  636. package/docs/zh-CN/reference/templates/SYMICORE.md +0 -49
  637. package/docs/zh-CN/reference/templates/SYMIPULSE.md +0 -69
  638. package/docs/zh-CN/reference/templates/TOOLS.dev.md +0 -31
  639. package/docs/zh-CN/reference/templates/TOOLS.md +0 -53
  640. package/docs/zh-CN/reference/templates/USER.dev.md +0 -25
  641. package/docs/zh-CN/reference/templates/USER.md +0 -30
  642. package/docs/zh-CN/reference/test.md +0 -57
  643. package/docs/zh-CN/reference/token-use.md +0 -119
  644. package/docs/zh-CN/reference/transcript-hygiene.md +0 -109
  645. package/docs/zh-CN/reference/wizard.md +0 -9
  646. package/docs/zh-CN/security/formal-verification.md +0 -171
  647. package/docs/zh-CN/start/bootstrapping.md +0 -9
  648. package/docs/zh-CN/start/docs-directory.md +0 -69
  649. package/docs/zh-CN/start/getting-started.md +0 -201
  650. package/docs/zh-CN/start/hubs.md +0 -199
  651. package/docs/zh-CN/start/lore.md +0 -223
  652. package/docs/zh-CN/start/onboarding.md +0 -105
  653. package/docs/zh-CN/start/quickstart.md +0 -88
  654. package/docs/zh-CN/start/setup.md +0 -151
  655. package/docs/zh-CN/start/showcase.md +0 -421
  656. package/docs/zh-CN/start/symi.md +0 -244
  657. package/docs/zh-CN/start/wizard.md +0 -326
  658. package/docs/zh-CN/tools/agent-send.md +0 -58
  659. package/docs/zh-CN/tools/apply-patch.md +0 -57
  660. package/docs/zh-CN/tools/browser-linux-troubleshooting.md +0 -144
  661. package/docs/zh-CN/tools/browser-login.md +0 -75
  662. package/docs/zh-CN/tools/browser.md +0 -553
  663. package/docs/zh-CN/tools/chrome-extension.md +0 -183
  664. package/docs/zh-CN/tools/creating-skills.md +0 -61
  665. package/docs/zh-CN/tools/elevated.md +0 -62
  666. package/docs/zh-CN/tools/exec-approvals.md +0 -233
  667. package/docs/zh-CN/tools/exec.md +0 -169
  668. package/docs/zh-CN/tools/firecrawl.md +0 -68
  669. package/docs/zh-CN/tools/index.md +0 -508
  670. package/docs/zh-CN/tools/llm-task.md +0 -117
  671. package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +0 -400
  672. package/docs/zh-CN/tools/pipeline.md +0 -349
  673. package/docs/zh-CN/tools/plugin.md +0 -639
  674. package/docs/zh-CN/tools/reactions.md +0 -28
  675. package/docs/zh-CN/tools/skills-config.md +0 -78
  676. package/docs/zh-CN/tools/skills.md +0 -279
  677. package/docs/zh-CN/tools/slash-commands.md +0 -196
  678. package/docs/zh-CN/tools/subagents.md +0 -167
  679. package/docs/zh-CN/tools/symihub.md +0 -209
  680. package/docs/zh-CN/tools/thinking.md +0 -80
  681. package/docs/zh-CN/tools/web.md +0 -257
  682. package/docs/zh-CN/tts.md +0 -373
  683. package/docs/zh-CN/vps.md +0 -47
  684. package/docs/zh-CN/web/control-ui.md +0 -190
  685. package/docs/zh-CN/web/dashboard.md +0 -53
  686. package/docs/zh-CN/web/index.md +0 -118
  687. package/docs/zh-CN/web/tui.md +0 -166
  688. package/docs/zh-CN/web/webchat.md +0 -56
@@ -1,158 +0,0 @@
1
- ---
2
- summary: "SSH tunnel setup for Symi.app connecting to a remote gateway"
3
- read_when: "Connecting the macOS app to a remote gateway over SSH"
4
- title: "Remote Gateway Setup"
5
- ---
6
-
7
- # Running Symi.app with a Remote Gateway
8
-
9
- Symi.app uses SSH tunneling to connect to a remote gateway. This guide shows you how to set it up.
10
-
11
- ## Overview
12
-
13
- ```mermaid
14
- flowchart TB
15
- subgraph Client["Client Machine"]
16
- direction TB
17
- A["Symi.app"]
18
- B["ws://127.0.0.1:18789\n(local port)"]
19
- T["SSH Tunnel"]
20
-
21
- A --> B
22
- B --> T
23
- end
24
- subgraph Remote["Remote Machine"]
25
- direction TB
26
- C["Gateway WebSocket"]
27
- D["ws://127.0.0.1:18789"]
28
-
29
- C --> D
30
- end
31
- T --> C
32
- ```
33
-
34
- ## Quick Setup
35
-
36
- ### Step 1: Add SSH Config
37
-
38
- Edit `~/.ssh/config` and add:
39
-
40
- ```ssh
41
- Host remote-gateway
42
- HostName <REMOTE_IP> # e.g., 172.27.187.184
43
- User <REMOTE_USER> # e.g., jefferson
44
- LocalForward 18789 127.0.0.1:18789
45
- IdentityFile ~/.ssh/id_rsa
46
- ```
47
-
48
- Replace `<REMOTE_IP>` and `<REMOTE_USER>` with your values.
49
-
50
- ### Step 2: Copy SSH Key
51
-
52
- Copy your public key to the remote machine (enter password once):
53
-
54
- ```bash
55
- ssh-copy-id -i ~/.ssh/id_rsa <REMOTE_USER>@<REMOTE_IP>
56
- ```
57
-
58
- ### Step 3: Set Gateway Token
59
-
60
- ```bash
61
- launchctl setenv SYMI_GATEWAY_TOKEN "<your-token>"
62
- ```
63
-
64
- ### Step 4: Start SSH Tunnel
65
-
66
- ```bash
67
- ssh -N remote-gateway &
68
- ```
69
-
70
- ### Step 5: Restart Symi.app
71
-
72
- ```bash
73
- # Quit Symi.app (⌘Q), then reopen:
74
- open /path/to/Symi.app
75
- ```
76
-
77
- The app will now connect to the remote gateway through the SSH tunnel.
78
-
79
- ---
80
-
81
- ## Auto-Start Tunnel on Login
82
-
83
- To have the SSH tunnel start automatically when you log in, create a Launch Agent.
84
-
85
- ### Create the PLIST file
86
-
87
- Save this as `~/Library/LaunchAgents/bot.molt.ssh-tunnel.plist`:
88
-
89
- ```xml
90
- <?xml version="1.0" encoding="UTF-8"?>
91
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
92
- <plist version="1.0">
93
- <dict>
94
- <key>Label</key>
95
- <string>bot.molt.ssh-tunnel</string>
96
- <key>ProgramArguments</key>
97
- <array>
98
- <string>/usr/bin/ssh</string>
99
- <string>-N</string>
100
- <string>remote-gateway</string>
101
- </array>
102
- <key>KeepAlive</key>
103
- <true/>
104
- <key>RunAtLoad</key>
105
- <true/>
106
- </dict>
107
- </plist>
108
- ```
109
-
110
- ### Load the Launch Agent
111
-
112
- ```bash
113
- launchctl bootstrap gui/$UID ~/Library/LaunchAgents/bot.molt.ssh-tunnel.plist
114
- ```
115
-
116
- The tunnel will now:
117
-
118
- - Start automatically when you log in
119
- - Restart if it crashes
120
- - Keep running in the background
121
-
122
- Legacy note: remove any leftover `com.symi.ssh-tunnel` LaunchAgent if present.
123
-
124
- ---
125
-
126
- ## Troubleshooting
127
-
128
- **Check if tunnel is running:**
129
-
130
- ```bash
131
- ps aux | grep "ssh -N remote-gateway" | grep -v grep
132
- lsof -i :18789
133
- ```
134
-
135
- **Restart the tunnel:**
136
-
137
- ```bash
138
- launchctl kickstart -k gui/$UID/bot.molt.ssh-tunnel
139
- ```
140
-
141
- **Stop the tunnel:**
142
-
143
- ```bash
144
- launchctl bootout gui/$UID/bot.molt.ssh-tunnel
145
- ```
146
-
147
- ---
148
-
149
- ## How It Works
150
-
151
- | Component | What It Does |
152
- | ------------------------------------ | ------------------------------------------------------------ |
153
- | `LocalForward 18789 127.0.0.1:18789` | Forwards local port 18789 to remote port 18789 |
154
- | `ssh -N` | SSH without executing remote commands (just port forwarding) |
155
- | `KeepAlive` | Automatically restarts tunnel if it crashes |
156
- | `RunAtLoad` | Starts tunnel when the agent loads |
157
-
158
- Symi.app connects to `ws://127.0.0.1:18789` on your client machine. The SSH tunnel forwards that connection to port 18789 on the remote machine where the Gateway is running.
@@ -1,131 +0,0 @@
1
- ---
2
- summary: "Remote access using SSH tunnels (Gateway WS) and tailnets"
3
- read_when:
4
- - Running or troubleshooting remote gateway setups
5
- title: "Remote Access"
6
- ---
7
-
8
- # Remote access (SSH, tunnels, and tailnets)
9
-
10
- This repo supports “remote over SSH” by keeping a single Gateway (the master) running on a dedicated host (desktop/server) and connecting clients to it.
11
-
12
- - For **operators (you / the macOS app)**: SSH tunneling is the universal fallback.
13
- - For **nodes (iOS/Android and future devices)**: connect to the Gateway **WebSocket** (LAN/tailnet or SSH tunnel as needed).
14
-
15
- ## The core idea
16
-
17
- - The Gateway WebSocket binds to **loopback** on your configured port (defaults to 18789).
18
- - For remote use, you forward that loopback port over SSH (or use a tailnet/VPN and tunnel less).
19
-
20
- ## Common VPN/tailnet setups (where the agent lives)
21
-
22
- Think of the **Gateway host** as “where the agent lives.” It owns sessions, auth profiles, channels, and state.
23
- Your laptop/desktop (and nodes) connect to that host.
24
-
25
- ### 1) Always-on Gateway in your tailnet (VPS or home server)
26
-
27
- Run the Gateway on a persistent host and reach it via **Tailscale** or SSH.
28
-
29
- - **Best UX:** keep `gateway.bind: "loopback"` and use **Tailscale Serve** for the Control UI.
30
- - **Fallback:** keep loopback + SSH tunnel from any machine that needs access.
31
- - **Examples:** [exe.dev](/install/exe-dev) (easy VM) or [Hetzner](/install/hetzner) (production VPS).
32
-
33
- This is ideal when your laptop sleeps often but you want the agent always-on.
34
-
35
- ### 2) Home desktop runs the Gateway, laptop is remote control
36
-
37
- The laptop does **not** run the agent. It connects remotely:
38
-
39
- - Use the macOS app’s **Remote over SSH** mode (Settings → General → “Symi runs”).
40
- - The app opens and manages the tunnel, so WebChat + health checks “just work.”
41
-
42
- Runbook: [macOS remote access](/platforms/mac/remote).
43
-
44
- ### 3) Laptop runs the Gateway, remote access from other machines
45
-
46
- Keep the Gateway local but expose it safely:
47
-
48
- - SSH tunnel to the laptop from other machines, or
49
- - Tailscale Serve the Control UI and keep the Gateway loopback-only.
50
-
51
- Guide: [Tailscale](/gateway/tailscale) and [Web overview](/web).
52
-
53
- ## Command flow (what runs where)
54
-
55
- One gateway service owns state + channels. Nodes are peripherals.
56
-
57
- Flow example (Telegram → node):
58
-
59
- - Telegram message arrives at the **Gateway**.
60
- - Gateway runs the **agent** and decides whether to call a node tool.
61
- - Gateway calls the **node** over the Gateway WebSocket (`node.*` RPC).
62
- - Node returns the result; Gateway replies back out to Telegram.
63
-
64
- Notes:
65
-
66
- - **Nodes do not run the gateway service.** Only one gateway should run per host unless you intentionally run isolated profiles (see [Multiple gateways](/gateway/multiple-gateways)).
67
- - macOS app “node mode” is just a node client over the Gateway WebSocket.
68
-
69
- ## SSH tunnel (CLI + tools)
70
-
71
- Create a local tunnel to the remote Gateway WS:
72
-
73
- ```bash
74
- ssh -N -L 18789:127.0.0.1:18789 user@host
75
- ```
76
-
77
- With the tunnel up:
78
-
79
- - `symi health` and `symi status --deep` now reach the remote gateway via `ws://127.0.0.1:18789`.
80
- - `symi gateway {status,health,send,agent,call}` can also target the forwarded URL via `--url` when needed.
81
-
82
- Note: replace `18789` with your configured `gateway.port` (or `--port`/`SYMI_GATEWAY_PORT`).
83
- Note: when you pass `--url`, the CLI does not fall back to config or environment credentials.
84
- Include `--token` or `--password` explicitly. Missing explicit credentials is an error.
85
-
86
- ## CLI remote defaults
87
-
88
- You can persist a remote target so CLI commands use it by default:
89
-
90
- ```json5
91
- {
92
- gateway: {
93
- mode: "remote",
94
- remote: {
95
- url: "ws://127.0.0.1:18789",
96
- token: "your-token",
97
- },
98
- },
99
- }
100
- ```
101
-
102
- When the gateway is loopback-only, keep the URL at `ws://127.0.0.1:18789` and open the SSH tunnel first.
103
-
104
- ## Chat UI over SSH
105
-
106
- WebChat no longer uses a separate HTTP port. The SwiftUI chat UI connects directly to the Gateway WebSocket.
107
-
108
- - Forward `18789` over SSH (see above), then connect clients to `ws://127.0.0.1:18789`.
109
- - On macOS, prefer the app’s “Remote over SSH” mode, which manages the tunnel automatically.
110
-
111
- ## macOS app “Remote over SSH”
112
-
113
- The macOS menu bar app can drive the same setup end-to-end (remote status checks, WebChat, and Voice Wake forwarding).
114
-
115
- Runbook: [macOS remote access](/platforms/mac/remote).
116
-
117
- ## Security rules (remote/VPN)
118
-
119
- Short version: **keep the Gateway loopback-only** unless you’re sure you need a bind.
120
-
121
- - **Loopback + SSH/Tailscale Serve** is the safest default (no public exposure).
122
- - **Non-loopback binds** (`lan`/`tailnet`/`custom`, or `auto` when loopback is unavailable) must use auth tokens/passwords.
123
- - `gateway.remote.token` is **only** for remote CLI calls — it does **not** enable local auth.
124
- - `gateway.remote.tlsFingerprint` pins the remote TLS cert when using `wss://`.
125
- - **Tailscale Serve** can authenticate Control UI/WebSocket traffic via identity
126
- headers when `gateway.auth.allowTailscale: true`; HTTP API endpoints still
127
- require token/password auth. This tokenless flow assumes the gateway host is
128
- trusted. Set it to `false` if you want tokens/passwords everywhere.
129
- - Treat browser control like operator access: tailnet-only + deliberate node pairing.
130
-
131
- Deep dive: [Security](/gateway/security).
@@ -1,128 +0,0 @@
1
- ---
2
- title: Sandbox vs Tool Policy vs Elevated
3
- summary: "Why a tool is blocked: sandbox runtime, tool allow/deny policy, and elevated exec gates"
4
- read_when: "You hit 'sandbox jail' or see a tool/elevated refusal and want the exact config key to change."
5
- status: active
6
- ---
7
-
8
- # Sandbox vs Tool Policy vs Elevated
9
-
10
- Symi has three related (but different) controls:
11
-
12
- 1. **Sandbox** (`agents.defaults.sandbox.*` / `agents.list[].sandbox.*`) decides **where tools run** (Docker vs host).
13
- 2. **Tool policy** (`tools.*`, `tools.sandbox.tools.*`, `agents.list[].tools.*`) decides **which tools are available/allowed**.
14
- 3. **Elevated** (`tools.elevated.*`, `agents.list[].tools.elevated.*`) is an **exec-only escape hatch** to run on the host when you’re sandboxed.
15
-
16
- ## Quick debug
17
-
18
- Use the inspector to see what Symi is _actually_ doing:
19
-
20
- ```bash
21
- symi sandbox explain
22
- symi sandbox explain --session agent:main:main
23
- symi sandbox explain --agent work
24
- symi sandbox explain --json
25
- ```
26
-
27
- It prints:
28
-
29
- - effective sandbox mode/scope/workspace access
30
- - whether the session is currently sandboxed (main vs non-main)
31
- - effective sandbox tool allow/deny (and whether it came from agent/global/default)
32
- - elevated gates and fix-it key paths
33
-
34
- ## Sandbox: where tools run
35
-
36
- Sandboxing is controlled by `agents.defaults.sandbox.mode`:
37
-
38
- - `"off"`: everything runs on the host.
39
- - `"non-main"`: only non-main sessions are sandboxed (common “surprise” for groups/channels).
40
- - `"all"`: everything is sandboxed.
41
-
42
- See [Sandboxing](/gateway/sandboxing) for the full matrix (scope, workspace mounts, images).
43
-
44
- ### Bind mounts (security quick check)
45
-
46
- - `docker.binds` _pierces_ the sandbox filesystem: whatever you mount is visible inside the container with the mode you set (`:ro` or `:rw`).
47
- - Default is read-write if you omit the mode; prefer `:ro` for source/secrets.
48
- - `scope: "shared"` ignores per-agent binds (only global binds apply).
49
- - Binding `/var/run/docker.sock` effectively hands host control to the sandbox; only do this intentionally.
50
- - Workspace access (`workspaceAccess: "ro"`/`"rw"`) is independent of bind modes.
51
-
52
- ## Tool policy: which tools exist/are callable
53
-
54
- Two layers matter:
55
-
56
- - **Tool profile**: `tools.profile` and `agents.list[].tools.profile` (base allowlist)
57
- - **Provider tool profile**: `tools.byProvider[provider].profile` and `agents.list[].tools.byProvider[provider].profile`
58
- - **Global/per-agent tool policy**: `tools.allow`/`tools.deny` and `agents.list[].tools.allow`/`agents.list[].tools.deny`
59
- - **Provider tool policy**: `tools.byProvider[provider].allow/deny` and `agents.list[].tools.byProvider[provider].allow/deny`
60
- - **Sandbox tool policy** (only applies when sandboxed): `tools.sandbox.tools.allow`/`tools.sandbox.tools.deny` and `agents.list[].tools.sandbox.tools.*`
61
-
62
- Rules of thumb:
63
-
64
- - `deny` always wins.
65
- - If `allow` is non-empty, everything else is treated as blocked.
66
- - Tool policy is the hard stop: `/exec` cannot override a denied `exec` tool.
67
- - `/exec` only changes session defaults for authorized senders; it does not grant tool access.
68
- Provider tool keys accept either `provider` (e.g. `google-antigravity`) or `provider/model` (e.g. `openai/gpt-5.2`).
69
-
70
- ### Tool groups (shorthands)
71
-
72
- Tool policies (global, agent, sandbox) support `group:*` entries that expand to multiple tools:
73
-
74
- ```json5
75
- {
76
- tools: {
77
- sandbox: {
78
- tools: {
79
- allow: ["group:runtime", "group:fs", "group:sessions", "group:memory"],
80
- },
81
- },
82
- },
83
- }
84
- ```
85
-
86
- Available groups:
87
-
88
- - `group:runtime`: `exec`, `bash`, `process`
89
- - `group:fs`: `read`, `write`, `edit`, `apply_patch`
90
- - `group:sessions`: `sessions_list`, `sessions_history`, `sessions_send`, `sessions_spawn`, `session_status`
91
- - `group:memory`: `memory_search`, `memory_get`
92
- - `group:ui`: `browser`, `canvas`
93
- - `group:automation`: `cron`, `gateway`
94
- - `group:messaging`: `message`
95
- - `group:nodes`: `nodes`
96
- - `group:symi`: all built-in Symi tools (excludes provider plugins)
97
-
98
- ## Elevated: exec-only “run on host”
99
-
100
- Elevated does **not** grant extra tools; it only affects `exec`.
101
-
102
- - If you’re sandboxed, `/elevated on` (or `exec` with `elevated: true`) runs on the host (approvals may still apply).
103
- - Use `/elevated full` to skip exec approvals for the session.
104
- - If you’re already running direct, elevated is effectively a no-op (still gated).
105
- - Elevated is **not** skill-scoped and does **not** override tool allow/deny.
106
- - `/exec` is separate from elevated. It only adjusts per-session exec defaults for authorized senders.
107
-
108
- Gates:
109
-
110
- - Enablement: `tools.elevated.enabled` (and optionally `agents.list[].tools.elevated.enabled`)
111
- - Sender allowlists: `tools.elevated.allowFrom.<provider>` (and optionally `agents.list[].tools.elevated.allowFrom.<provider>`)
112
-
113
- See [Elevated Mode](/tools/elevated).
114
-
115
- ## Common “sandbox jail” fixes
116
-
117
- ### “Tool X blocked by sandbox tool policy”
118
-
119
- Fix-it keys (pick one):
120
-
121
- - Disable sandbox: `agents.defaults.sandbox.mode=off` (or per-agent `agents.list[].sandbox.mode=off`)
122
- - Allow the tool inside sandbox:
123
- - remove it from `tools.sandbox.tools.deny` (or per-agent `agents.list[].tools.sandbox.tools.deny`)
124
- - or add it to `tools.sandbox.tools.allow` (or per-agent allow)
125
-
126
- ### “I thought this was main, why is it sandboxed?”
127
-
128
- In `"non-main"` mode, group/channel keys are _not_ main. Use the main session key (shown by `sandbox explain`) or switch mode to `"off"`.
@@ -1,203 +0,0 @@
1
- ---
2
- summary: "How Symi sandboxing works: modes, scopes, workspace access, and images"
3
- title: Sandboxing
4
- read_when: "You want a dedicated explanation of sandboxing or need to tune agents.defaults.sandbox."
5
- status: active
6
- ---
7
-
8
- # Sandboxing
9
-
10
- Symi can run **tools inside Docker containers** to reduce blast radius.
11
- This is **optional** and controlled by configuration (`agents.defaults.sandbox` or
12
- `agents.list[].sandbox`). If sandboxing is off, tools run on the host.
13
- The Gateway stays on the host; tool execution runs in an isolated sandbox
14
- when enabled.
15
-
16
- This is not a perfect security boundary, but it materially limits filesystem
17
- and process access when the model does something dumb.
18
-
19
- ## What gets sandboxed
20
-
21
- - Tool execution (`exec`, `read`, `write`, `edit`, `apply_patch`, `process`, etc.).
22
- - Optional sandboxed browser (`agents.defaults.sandbox.browser`).
23
- - By default, the sandbox browser auto-starts (ensures CDP is reachable) when the browser tool needs it.
24
- Configure via `agents.defaults.sandbox.browser.autoStart` and `agents.defaults.sandbox.browser.autoStartTimeoutMs`.
25
- - By default, sandbox browser containers use a dedicated Docker network (`symi-sandbox-browser`) instead of the global `bridge` network.
26
- Configure with `agents.defaults.sandbox.browser.network`.
27
- - Optional `agents.defaults.sandbox.browser.cdpSourceRange` restricts container-edge CDP ingress with a CIDR allowlist (for example `172.21.0.1/32`).
28
- - noVNC observer access is password-protected by default; Symi emits a short-lived token URL that resolves to the observer session.
29
- - `agents.defaults.sandbox.browser.allowHostControl` lets sandboxed sessions target the host browser explicitly.
30
- - Optional allowlists gate `target: "custom"`: `allowedControlUrls`, `allowedControlHosts`, `allowedControlPorts`.
31
-
32
- Not sandboxed:
33
-
34
- - The Gateway process itself.
35
- - Any tool explicitly allowed to run on the host (e.g. `tools.elevated`).
36
- - **Elevated exec runs on the host and bypasses sandboxing.**
37
- - If sandboxing is off, `tools.elevated` does not change execution (already on host). See [Elevated Mode](/tools/elevated).
38
-
39
- ## Modes
40
-
41
- `agents.defaults.sandbox.mode` controls **when** sandboxing is used:
42
-
43
- - `"off"`: no sandboxing.
44
- - `"non-main"`: sandbox only **non-main** sessions (default if you want normal chats on host).
45
- - `"all"`: every session runs in a sandbox.
46
- Note: `"non-main"` is based on `session.mainKey` (default `"main"`), not agent id.
47
- Group/channel sessions use their own keys, so they count as non-main and will be sandboxed.
48
-
49
- ## Scope
50
-
51
- `agents.defaults.sandbox.scope` controls **how many containers** are created:
52
-
53
- - `"session"` (default): one container per session.
54
- - `"agent"`: one container per agent.
55
- - `"shared"`: one container shared by all sandboxed sessions.
56
-
57
- ## Workspace access
58
-
59
- `agents.defaults.sandbox.workspaceAccess` controls **what the sandbox can see**:
60
-
61
- - `"none"` (default): tools see a sandbox workspace under `~/.symi/sandboxes`.
62
- - `"ro"`: mounts the agent workspace read-only at `/agent` (disables `write`/`edit`/`apply_patch`).
63
- - `"rw"`: mounts the agent workspace read/write at `/workspace`.
64
-
65
- Inbound media is copied into the active sandbox workspace (`media/inbound/*`).
66
- Skills note: the `read` tool is sandbox-rooted. With `workspaceAccess: "none"`,
67
- Symi mirrors eligible skills into the sandbox workspace (`.../skills`) so
68
- they can be read. With `"rw"`, workspace skills are readable from
69
- `/workspace/skills`.
70
-
71
- ## Custom bind mounts
72
-
73
- `agents.defaults.sandbox.docker.binds` mounts additional host directories into the container.
74
- Format: `host:container:mode` (e.g., `"/home/user/source:/source:rw"`).
75
-
76
- Global and per-agent binds are **merged** (not replaced). Under `scope: "shared"`, per-agent binds are ignored.
77
-
78
- `agents.defaults.sandbox.browser.binds` mounts additional host directories into the **sandbox browser** container only.
79
-
80
- - When set (including `[]`), it replaces `agents.defaults.sandbox.docker.binds` for the browser container.
81
- - When omitted, the browser container falls back to `agents.defaults.sandbox.docker.binds` (backwards compatible).
82
-
83
- Example (read-only source + an extra data directory):
84
-
85
- ```json5
86
- {
87
- agents: {
88
- defaults: {
89
- sandbox: {
90
- docker: {
91
- binds: ["/home/user/source:/source:ro", "/var/data/myapp:/data:ro"],
92
- },
93
- },
94
- },
95
- list: [
96
- {
97
- id: "build",
98
- sandbox: {
99
- docker: {
100
- binds: ["/mnt/cache:/cache:rw"],
101
- },
102
- },
103
- },
104
- ],
105
- },
106
- }
107
- ```
108
-
109
- Security notes:
110
-
111
- - Binds bypass the sandbox filesystem: they expose host paths with whatever mode you set (`:ro` or `:rw`).
112
- - Symi blocks dangerous bind sources (for example: `docker.sock`, `/etc`, `/proc`, `/sys`, `/dev`, and parent mounts that would expose them).
113
- - Sensitive mounts (secrets, SSH keys, service credentials) should be `:ro` unless absolutely required.
114
- - Combine with `workspaceAccess: "ro"` if you only need read access to the workspace; bind modes stay independent.
115
- - See [Sandbox vs Tool Policy vs Elevated](/gateway/sandbox-vs-tool-policy-vs-elevated) for how binds interact with tool policy and elevated exec.
116
-
117
- ## Images + setup
118
-
119
- Default image: `symi-sandbox:bookworm-slim`
120
-
121
- Build it once:
122
-
123
- ```bash
124
- scripts/sandbox-setup.sh
125
- ```
126
-
127
- Note: the default image does **not** include Node. If a skill needs Node (or
128
- other runtimes), either bake a custom image or install via
129
- `sandbox.docker.setupCommand` (requires network egress + writable root +
130
- root user).
131
-
132
- Sandboxed browser image:
133
-
134
- ```bash
135
- scripts/sandbox-browser-setup.sh
136
- ```
137
-
138
- By default, sandbox containers run with **no network**.
139
- Override with `agents.defaults.sandbox.docker.network`.
140
-
141
- Docker installs and the containerized gateway live here:
142
- [Docker](/install/docker)
143
-
144
- ## setupCommand (one-time container setup)
145
-
146
- `setupCommand` runs **once** after the sandbox container is created (not on every run).
147
- It executes inside the container via `sh -lc`.
148
-
149
- Paths:
150
-
151
- - Global: `agents.defaults.sandbox.docker.setupCommand`
152
- - Per-agent: `agents.list[].sandbox.docker.setupCommand`
153
-
154
- Common pitfalls:
155
-
156
- - Default `docker.network` is `"none"` (no egress), so package installs will fail.
157
- - `readOnlyRoot: true` prevents writes; set `readOnlyRoot: false` or bake a custom image.
158
- - `user` must be root for package installs (omit `user` or set `user: "0:0"`).
159
- - Sandbox exec does **not** inherit host `process.env`. Use
160
- `agents.defaults.sandbox.docker.env` (or a custom image) for skill API keys.
161
-
162
- ## Tool policy + escape hatches
163
-
164
- Tool allow/deny policies still apply before sandbox rules. If a tool is denied
165
- globally or per-agent, sandboxing doesn’t bring it back.
166
-
167
- `tools.elevated` is an explicit escape hatch that runs `exec` on the host.
168
- `/exec` directives only apply for authorized senders and persist per session; to hard-disable
169
- `exec`, use tool policy deny (see [Sandbox vs Tool Policy vs Elevated](/gateway/sandbox-vs-tool-policy-vs-elevated)).
170
-
171
- Debugging:
172
-
173
- - Use `symi sandbox explain` to inspect effective sandbox mode, tool policy, and fix-it config keys.
174
- - See [Sandbox vs Tool Policy vs Elevated](/gateway/sandbox-vs-tool-policy-vs-elevated) for the “why is this blocked?” mental model.
175
- Keep it locked down.
176
-
177
- ## Multi-agent overrides
178
-
179
- Each agent can override sandbox + tools:
180
- `agents.list[].sandbox` and `agents.list[].tools` (plus `agents.list[].tools.sandbox.tools` for sandbox tool policy).
181
- See [Multi-Agent Sandbox & Tools](/tools/multi-agent-sandbox-tools) for precedence.
182
-
183
- ## Minimal enable example
184
-
185
- ```json5
186
- {
187
- agents: {
188
- defaults: {
189
- sandbox: {
190
- mode: "non-main",
191
- scope: "session",
192
- workspaceAccess: "none",
193
- },
194
- },
195
- },
196
- }
197
- ```
198
-
199
- ## Related docs
200
-
201
- - [Sandbox Configuration](/gateway/configuration#agentsdefaults-sandbox)
202
- - [Multi-Agent Sandbox & Tools](/tools/multi-agent-sandbox-tools)
203
- - [Security](/gateway/security)