@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
package/docs/tools/web.md DELETED
@@ -1,265 +0,0 @@
1
- ---
2
- summary: "Web search + fetch tools (Brave Search API, Perplexity direct/OpenRouter)"
3
- read_when:
4
- - You want to enable web_search or web_fetch
5
- - You need Brave Search API key setup
6
- - You want to use Perplexity Sonar for web search
7
- title: "Web Tools"
8
- ---
9
-
10
- # Web tools
11
-
12
- Symi ships two lightweight web tools:
13
-
14
- - `web_search` — Search the web via Brave Search API (default) or Perplexity Sonar (direct or via OpenRouter).
15
- - `web_fetch` — HTTP fetch + readable extraction (HTML → markdown/text).
16
-
17
- These are **not** browser automation. For JS-heavy sites or logins, use the
18
- [Browser tool](/tools/browser).
19
-
20
- ## How it works
21
-
22
- - `web_search` calls your configured provider and returns results.
23
- - **Brave** (default): returns structured results (title, URL, snippet).
24
- - **Perplexity**: returns AI-synthesized answers with citations from real-time web search.
25
- - Results are cached by query for 15 minutes (configurable).
26
- - `web_fetch` does a plain HTTP GET and extracts readable content
27
- (HTML → markdown/text). It does **not** execute JavaScript.
28
- - `web_fetch` is enabled by default (unless explicitly disabled).
29
-
30
- ## Choosing a search provider
31
-
32
- | Provider | Pros | Cons | API Key |
33
- | ------------------- | -------------------------------------------- | ---------------------------------------- | -------------------------------------------- |
34
- | **Brave** (default) | Fast, structured results, free tier | Traditional search results | `BRAVE_API_KEY` |
35
- | **Perplexity** | AI-synthesized answers, citations, real-time | Requires Perplexity or OpenRouter access | `OPENROUTER_API_KEY` or `PERPLEXITY_API_KEY` |
36
-
37
- See [Brave Search setup](/brave-search) and [Perplexity Sonar](/perplexity) for provider-specific details.
38
-
39
- Set the provider in config:
40
-
41
- ```json5
42
- {
43
- tools: {
44
- web: {
45
- search: {
46
- provider: "brave", // or "perplexity"
47
- },
48
- },
49
- },
50
- }
51
- ```
52
-
53
- Example: switch to Perplexity Sonar (direct API):
54
-
55
- ```json5
56
- {
57
- tools: {
58
- web: {
59
- search: {
60
- provider: "perplexity",
61
- perplexity: {
62
- apiKey: "pplx-...",
63
- baseUrl: "https://api.perplexity.ai",
64
- model: "perplexity/sonar-pro",
65
- },
66
- },
67
- },
68
- },
69
- }
70
- ```
71
-
72
- ## Getting a Brave API key
73
-
74
- 1. Create a Brave Search API account at [https://brave.com/search/api/](https://brave.com/search/api/)
75
- 2. In the dashboard, choose the **Data for Search** plan (not “Data for AI”) and generate an API key.
76
- 3. Run `symi configure --section web` to store the key in config (recommended), or set `BRAVE_API_KEY` in your environment.
77
-
78
- Brave provides a free tier plus paid plans; check the Brave API portal for the
79
- current limits and pricing.
80
-
81
- ### Where to set the key (recommended)
82
-
83
- **Recommended:** run `symi configure --section web`. It stores the key in
84
- `~/.symi/symi.json` under `tools.web.search.apiKey`.
85
-
86
- **Environment alternative:** set `BRAVE_API_KEY` in the Gateway process
87
- environment. For a gateway install, put it in `~/.symi/.env` (or your
88
- service environment). See [Env vars](/help/faq#how-does-symi-load-environment-variables).
89
-
90
- ## Using Perplexity (direct or via OpenRouter)
91
-
92
- Perplexity Sonar models have built-in web search capabilities and return AI-synthesized
93
- answers with citations. You can use them via OpenRouter (no credit card required - supports
94
- crypto/prepaid).
95
-
96
- ### Getting an OpenRouter API key
97
-
98
- 1. Create an account at [https://openrouter.ai/](https://openrouter.ai/)
99
- 2. Add credits (supports crypto, prepaid, or credit card)
100
- 3. Generate an API key in your account settings
101
-
102
- ### Setting up Perplexity search
103
-
104
- ```json5
105
- {
106
- tools: {
107
- web: {
108
- search: {
109
- enabled: true,
110
- provider: "perplexity",
111
- perplexity: {
112
- // API key (optional if OPENROUTER_API_KEY or PERPLEXITY_API_KEY is set)
113
- apiKey: "sk-or-v1-...",
114
- // Base URL (key-aware default if omitted)
115
- baseUrl: "https://openrouter.ai/api/v1",
116
- // Model (defaults to perplexity/sonar-pro)
117
- model: "perplexity/sonar-pro",
118
- },
119
- },
120
- },
121
- },
122
- }
123
- ```
124
-
125
- **Environment alternative:** set `OPENROUTER_API_KEY` or `PERPLEXITY_API_KEY` in the Gateway
126
- environment. For a gateway install, put it in `~/.symi/.env`.
127
-
128
- If no base URL is set, Symi chooses a default based on the API key source:
129
-
130
- - `PERPLEXITY_API_KEY` or `pplx-...` → `https://api.perplexity.ai`
131
- - `OPENROUTER_API_KEY` or `sk-or-...` → `https://openrouter.ai/api/v1`
132
- - Unknown key formats → OpenRouter (safe fallback)
133
-
134
- ### Available Perplexity models
135
-
136
- | Model | Description | Best for |
137
- | -------------------------------- | ------------------------------------ | ----------------- |
138
- | `perplexity/sonar` | Fast Q&A with web search | Quick lookups |
139
- | `perplexity/sonar-pro` (default) | Multi-step reasoning with web search | Complex questions |
140
- | `perplexity/sonar-reasoning-pro` | Chain-of-thought analysis | Deep research |
141
-
142
- ## web_search
143
-
144
- Search the web using your configured provider.
145
-
146
- ### Requirements
147
-
148
- - `tools.web.search.enabled` must not be `false` (default: enabled)
149
- - API key for your chosen provider:
150
- - **Brave**: `BRAVE_API_KEY` or `tools.web.search.apiKey`
151
- - **Perplexity**: `OPENROUTER_API_KEY`, `PERPLEXITY_API_KEY`, or `tools.web.search.perplexity.apiKey`
152
-
153
- ### Config
154
-
155
- ```json5
156
- {
157
- tools: {
158
- web: {
159
- search: {
160
- enabled: true,
161
- apiKey: "BRAVE_API_KEY_HERE", // optional if BRAVE_API_KEY is set
162
- maxResults: 5,
163
- timeoutSeconds: 30,
164
- cacheTtlMinutes: 15,
165
- },
166
- },
167
- },
168
- }
169
- ```
170
-
171
- ### Tool parameters
172
-
173
- - `query` (required)
174
- - `count` (1–10; default from config)
175
- - `country` (optional): 2-letter country code for region-specific results (e.g., "DE", "US", "ALL"). If omitted, Brave chooses its default region.
176
- - `search_lang` (optional): ISO language code for search results (e.g., "de", "en", "fr")
177
- - `ui_lang` (optional): ISO language code for UI elements
178
- - `freshness` (optional): filter by discovery time
179
- - Brave: `pd`, `pw`, `pm`, `py`, or `YYYY-MM-DDtoYYYY-MM-DD`
180
- - Perplexity: `pd`, `pw`, `pm`, `py`
181
-
182
- **Examples:**
183
-
184
- ```javascript
185
- // German-specific search
186
- await web_search({
187
- query: "TV online schauen",
188
- count: 10,
189
- country: "DE",
190
- search_lang: "de",
191
- });
192
-
193
- // French search with French UI
194
- await web_search({
195
- query: "actualités",
196
- country: "FR",
197
- search_lang: "fr",
198
- ui_lang: "fr",
199
- });
200
-
201
- // Recent results (past week)
202
- await web_search({
203
- query: "TMBG interview",
204
- freshness: "pw",
205
- });
206
- ```
207
-
208
- ## web_fetch
209
-
210
- Fetch a URL and extract readable content.
211
-
212
- ### web_fetch requirements
213
-
214
- - `tools.web.fetch.enabled` must not be `false` (default: enabled)
215
- - Optional Firecrawl fallback: set `tools.web.fetch.firecrawl.apiKey` or `FIRECRAWL_API_KEY`.
216
-
217
- ### web_fetch config
218
-
219
- ```json5
220
- {
221
- tools: {
222
- web: {
223
- fetch: {
224
- enabled: true,
225
- maxChars: 50000,
226
- maxCharsCap: 50000,
227
- maxResponseBytes: 2000000,
228
- timeoutSeconds: 30,
229
- cacheTtlMinutes: 15,
230
- maxRedirects: 3,
231
- userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",
232
- readability: true,
233
- firecrawl: {
234
- enabled: true,
235
- apiKey: "FIRECRAWL_API_KEY_HERE", // optional if FIRECRAWL_API_KEY is set
236
- baseUrl: "https://api.firecrawl.dev",
237
- onlyMainContent: true,
238
- maxAgeMs: 86400000, // ms (1 day)
239
- timeoutSeconds: 60,
240
- },
241
- },
242
- },
243
- },
244
- }
245
- ```
246
-
247
- ### web_fetch tool parameters
248
-
249
- - `url` (required, http/https only)
250
- - `extractMode` (`markdown` | `text`)
251
- - `maxChars` (truncate long pages)
252
-
253
- Notes:
254
-
255
- - `web_fetch` uses Readability (main-content extraction) first, then Firecrawl (if configured). If both fail, the tool returns an error.
256
- - Firecrawl requests use bot-circumvention mode and cache results by default.
257
- - `web_fetch` sends a Chrome-like User-Agent and `Accept-Language` by default; override `userAgent` if needed.
258
- - `web_fetch` blocks private/internal hostnames and re-checks redirects (limit with `maxRedirects`).
259
- - `maxChars` is clamped to `tools.web.fetch.maxCharsCap`.
260
- - `web_fetch` caps the downloaded response body size to `tools.web.fetch.maxResponseBytes` before parsing; oversized responses are truncated and include a warning.
261
- - `web_fetch` is best-effort extraction; some sites will need the browser tool.
262
- - See [Firecrawl](/tools/firecrawl) for key setup and service details.
263
- - Responses are cached (default 15 minutes) to reduce repeated fetches.
264
- - If you use tool profiles/allowlists, add `web_search`/`web_fetch` or `group:web`.
265
- - If the Brave key is missing, `web_search` returns a short setup hint with a docs link.
package/docs/tts.md DELETED
@@ -1,398 +0,0 @@
1
- ---
2
- summary: "Text-to-speech (TTS) for outbound replies"
3
- read_when:
4
- - Enabling text-to-speech for replies
5
- - Configuring TTS providers or limits
6
- - Using /tts commands
7
- title: "Text-to-Speech"
8
- ---
9
-
10
- # Text-to-speech (TTS)
11
-
12
- Symi can convert outbound replies into audio using ElevenLabs, OpenAI, or Edge TTS.
13
- It works anywhere Symi can send audio; Telegram gets a round voice-note bubble.
14
-
15
- ## Supported services
16
-
17
- - **ElevenLabs** (primary or fallback provider)
18
- - **OpenAI** (primary or fallback provider; also used for summaries)
19
- - **Edge TTS** (primary or fallback provider; uses `node-edge-tts`, default when no API keys)
20
-
21
- ### Edge TTS notes
22
-
23
- Edge TTS uses Microsoft Edge's online neural TTS service via the `node-edge-tts`
24
- library. It's a hosted service (not local), uses Microsoft’s endpoints, and does
25
- not require an API key. `node-edge-tts` exposes speech configuration options and
26
- output formats, but not all options are supported by the Edge service. citeturn2search0
27
-
28
- Because Edge TTS is a public web service without a published SLA or quota, treat it
29
- as best-effort. If you need guaranteed limits and support, use OpenAI or ElevenLabs.
30
- Microsoft's Speech REST API documents a 10‑minute audio limit per request; Edge TTS
31
- does not publish limits, so assume similar or lower limits. citeturn0search3
32
-
33
- ## Optional keys
34
-
35
- If you want OpenAI or ElevenLabs:
36
-
37
- - `ELEVENLABS_API_KEY` (or `XI_API_KEY`)
38
- - `OPENAI_API_KEY`
39
-
40
- Edge TTS does **not** require an API key. If no API keys are found, Symi defaults
41
- to Edge TTS (unless disabled via `messages.tts.edge.enabled=false`).
42
-
43
- If multiple providers are configured, the selected provider is used first and the others are fallback options.
44
- Auto-summary uses the configured `summaryModel` (or `agents.defaults.model.primary`),
45
- so that provider must also be authenticated if you enable summaries.
46
-
47
- ## Service links
48
-
49
- - [OpenAI Text-to-Speech guide](https://platform.openai.com/docs/guides/text-to-speech)
50
- - [OpenAI Audio API reference](https://platform.openai.com/docs/api-reference/audio)
51
- - [ElevenLabs Text to Speech](https://elevenlabs.io/docs/api-reference/text-to-speech)
52
- - [ElevenLabs Authentication](https://elevenlabs.io/docs/api-reference/authentication)
53
- - [node-edge-tts](https://github.com/SchneeHertz/node-edge-tts)
54
- - [Microsoft Speech output formats](https://learn.microsoft.com/azure/ai-services/speech-service/rest-text-to-speech#audio-outputs)
55
-
56
- ## Is it enabled by default?
57
-
58
- No. Auto‑TTS is **off** by default. Enable it in config with
59
- `messages.tts.auto` or per session with `/tts always` (alias: `/tts on`).
60
-
61
- Edge TTS **is** enabled by default once TTS is on, and is used automatically
62
- when no OpenAI or ElevenLabs API keys are available.
63
-
64
- ## Config
65
-
66
- TTS config lives under `messages.tts` in `symi.json`.
67
- Full schema is in [Gateway configuration](/gateway/configuration).
68
-
69
- ### Minimal config (enable + provider)
70
-
71
- ```json5
72
- {
73
- messages: {
74
- tts: {
75
- auto: "always",
76
- provider: "elevenlabs",
77
- },
78
- },
79
- }
80
- ```
81
-
82
- ### OpenAI primary with ElevenLabs fallback
83
-
84
- ```json5
85
- {
86
- messages: {
87
- tts: {
88
- auto: "always",
89
- provider: "openai",
90
- summaryModel: "openai/gpt-4.1-mini",
91
- modelOverrides: {
92
- enabled: true,
93
- },
94
- openai: {
95
- apiKey: "openai_api_key",
96
- model: "gpt-4o-mini-tts",
97
- voice: "alloy",
98
- },
99
- elevenlabs: {
100
- apiKey: "elevenlabs_api_key",
101
- baseUrl: "https://api.elevenlabs.io",
102
- voiceId: "voice_id",
103
- modelId: "eleven_multilingual_v2",
104
- seed: 42,
105
- applyTextNormalization: "auto",
106
- languageCode: "en",
107
- voiceSettings: {
108
- stability: 0.5,
109
- similarityBoost: 0.75,
110
- style: 0.0,
111
- useSpeakerBoost: true,
112
- speed: 1.0,
113
- },
114
- },
115
- },
116
- },
117
- }
118
- ```
119
-
120
- ### Edge TTS primary (no API key)
121
-
122
- ```json5
123
- {
124
- messages: {
125
- tts: {
126
- auto: "always",
127
- provider: "edge",
128
- edge: {
129
- enabled: true,
130
- voice: "en-US-MichelleNeural",
131
- lang: "en-US",
132
- outputFormat: "audio-24khz-48kbitrate-mono-mp3",
133
- rate: "+10%",
134
- pitch: "-5%",
135
- },
136
- },
137
- },
138
- }
139
- ```
140
-
141
- ### Disable Edge TTS
142
-
143
- ```json5
144
- {
145
- messages: {
146
- tts: {
147
- edge: {
148
- enabled: false,
149
- },
150
- },
151
- },
152
- }
153
- ```
154
-
155
- ### Custom limits + prefs path
156
-
157
- ```json5
158
- {
159
- messages: {
160
- tts: {
161
- auto: "always",
162
- maxTextLength: 4000,
163
- timeoutMs: 30000,
164
- prefsPath: "~/.symi/settings/tts.json",
165
- },
166
- },
167
- }
168
- ```
169
-
170
- ### Only reply with audio after an inbound voice note
171
-
172
- ```json5
173
- {
174
- messages: {
175
- tts: {
176
- auto: "inbound",
177
- },
178
- },
179
- }
180
- ```
181
-
182
- ### Disable auto-summary for long replies
183
-
184
- ```json5
185
- {
186
- messages: {
187
- tts: {
188
- auto: "always",
189
- },
190
- },
191
- }
192
- ```
193
-
194
- Then run:
195
-
196
- ```
197
- /tts summary off
198
- ```
199
-
200
- ### Notes on fields
201
-
202
- - `auto`: auto‑TTS mode (`off`, `always`, `inbound`, `tagged`).
203
- - `inbound` only sends audio after an inbound voice note.
204
- - `tagged` only sends audio when the reply includes `[[tts]]` tags.
205
- - `enabled`: legacy toggle (doctor migrates this to `auto`).
206
- - `mode`: `"final"` (default) or `"all"` (includes tool/block replies).
207
- - `provider`: `"elevenlabs"`, `"openai"`, or `"edge"` (fallback is automatic).
208
- - If `provider` is **unset**, Symi prefers `openai` (if key), then `elevenlabs` (if key),
209
- otherwise `edge`.
210
- - `summaryModel`: optional cheap model for auto-summary; defaults to `agents.defaults.model.primary`.
211
- - Accepts `provider/model` or a configured model alias.
212
- - `modelOverrides`: allow the model to emit TTS directives (on by default).
213
- - `allowProvider` defaults to `false` (provider switching is opt-in).
214
- - `maxTextLength`: hard cap for TTS input (chars). `/tts audio` fails if exceeded.
215
- - `timeoutMs`: request timeout (ms).
216
- - `prefsPath`: override the local prefs JSON path (provider/limit/summary).
217
- - `apiKey` values fall back to env vars (`ELEVENLABS_API_KEY`/`XI_API_KEY`, `OPENAI_API_KEY`).
218
- - `elevenlabs.baseUrl`: override ElevenLabs API base URL.
219
- - `elevenlabs.voiceSettings`:
220
- - `stability`, `similarityBoost`, `style`: `0..1`
221
- - `useSpeakerBoost`: `true|false`
222
- - `speed`: `0.5..2.0` (1.0 = normal)
223
- - `elevenlabs.applyTextNormalization`: `auto|on|off`
224
- - `elevenlabs.languageCode`: 2-letter ISO 639-1 (e.g. `en`, `de`)
225
- - `elevenlabs.seed`: integer `0..4294967295` (best-effort determinism)
226
- - `edge.enabled`: allow Edge TTS usage (default `true`; no API key).
227
- - `edge.voice`: Edge neural voice name (e.g. `en-US-MichelleNeural`).
228
- - `edge.lang`: language code (e.g. `en-US`).
229
- - `edge.outputFormat`: Edge output format (e.g. `audio-24khz-48kbitrate-mono-mp3`).
230
- - See Microsoft Speech output formats for valid values; not all formats are supported by Edge.
231
- - `edge.rate` / `edge.pitch` / `edge.volume`: percent strings (e.g. `+10%`, `-5%`).
232
- - `edge.saveSubtitles`: write JSON subtitles alongside the audio file.
233
- - `edge.proxy`: proxy URL for Edge TTS requests.
234
- - `edge.timeoutMs`: request timeout override (ms).
235
-
236
- ## Model-driven overrides (default on)
237
-
238
- By default, the model **can** emit TTS directives for a single reply.
239
- When `messages.tts.auto` is `tagged`, these directives are required to trigger audio.
240
-
241
- When enabled, the model can emit `[[tts:...]]` directives to override the voice
242
- for a single reply, plus an optional `[[tts:text]]...[[/tts:text]]` block to
243
- provide expressive tags (laughter, singing cues, etc) that should only appear in
244
- the audio.
245
-
246
- `provider=...` directives are ignored unless `modelOverrides.allowProvider: true`.
247
-
248
- Example reply payload:
249
-
250
- ```
251
- Here you go.
252
-
253
- [[tts:voiceId=pMsXgVXv3BLzUgSXRplE model=eleven_v3 speed=1.1]]
254
- [[tts:text]](laughs) Read the song once more.[[/tts:text]]
255
- ```
256
-
257
- Available directive keys (when enabled):
258
-
259
- - `provider` (`openai` | `elevenlabs` | `edge`, requires `allowProvider: true`)
260
- - `voice` (OpenAI voice) or `voiceId` (ElevenLabs)
261
- - `model` (OpenAI TTS model or ElevenLabs model id)
262
- - `stability`, `similarityBoost`, `style`, `speed`, `useSpeakerBoost`
263
- - `applyTextNormalization` (`auto|on|off`)
264
- - `languageCode` (ISO 639-1)
265
- - `seed`
266
-
267
- Disable all model overrides:
268
-
269
- ```json5
270
- {
271
- messages: {
272
- tts: {
273
- modelOverrides: {
274
- enabled: false,
275
- },
276
- },
277
- },
278
- }
279
- ```
280
-
281
- Optional allowlist (enable provider switching while keeping other knobs configurable):
282
-
283
- ```json5
284
- {
285
- messages: {
286
- tts: {
287
- modelOverrides: {
288
- enabled: true,
289
- allowProvider: true,
290
- allowSeed: false,
291
- },
292
- },
293
- },
294
- }
295
- ```
296
-
297
- ## Per-user preferences
298
-
299
- Slash commands write local overrides to `prefsPath` (default:
300
- `~/.symi/settings/tts.json`, override with `SYMI_TTS_PREFS` or
301
- `messages.tts.prefsPath`).
302
-
303
- Stored fields:
304
-
305
- - `enabled`
306
- - `provider`
307
- - `maxLength` (summary threshold; default 1500 chars)
308
- - `summarize` (default `true`)
309
-
310
- These override `messages.tts.*` for that host.
311
-
312
- ## Output formats (fixed)
313
-
314
- - **Telegram**: Opus voice note (`opus_48000_64` from ElevenLabs, `opus` from OpenAI).
315
- - 48kHz / 64kbps is a good voice-note tradeoff and required for the round bubble.
316
- - **Other channels**: MP3 (`mp3_44100_128` from ElevenLabs, `mp3` from OpenAI).
317
- - 44.1kHz / 128kbps is the default balance for speech clarity.
318
- - **Edge TTS**: uses `edge.outputFormat` (default `audio-24khz-48kbitrate-mono-mp3`).
319
- - `node-edge-tts` accepts an `outputFormat`, but not all formats are available
320
- from the Edge service. citeturn2search0
321
- - Output format values follow Microsoft Speech output formats (including Ogg/WebM Opus). citeturn1search0
322
- - Telegram `sendVoice` accepts OGG/MP3/M4A; use OpenAI/ElevenLabs if you need
323
- guaranteed Opus voice notes. citeturn1search1
324
- - If the configured Edge output format fails, Symi retries with MP3.
325
-
326
- OpenAI/ElevenLabs formats are fixed; Telegram expects Opus for voice-note UX.
327
-
328
- ## Auto-TTS behavior
329
-
330
- When enabled, Symi:
331
-
332
- - skips TTS if the reply already contains media or a `MEDIA:` directive.
333
- - skips very short replies (< 10 chars).
334
- - summarizes long replies when enabled using `agents.defaults.model.primary` (or `summaryModel`).
335
- - attaches the generated audio to the reply.
336
-
337
- If the reply exceeds `maxLength` and summary is off (or no API key for the
338
- summary model), audio
339
- is skipped and the normal text reply is sent.
340
-
341
- ## Flow diagram
342
-
343
- ```
344
- Reply -> TTS enabled?
345
- no -> send text
346
- yes -> has media / MEDIA: / short?
347
- yes -> send text
348
- no -> length > limit?
349
- no -> TTS -> attach audio
350
- yes -> summary enabled?
351
- no -> send text
352
- yes -> summarize (summaryModel or agents.defaults.model.primary)
353
- -> TTS -> attach audio
354
- ```
355
-
356
- ## Slash command usage
357
-
358
- There is a single command: `/tts`.
359
- See [Slash commands](/tools/slash-commands) for enablement details.
360
-
361
- `/voice` as the native command there. Text `/tts ...` still works.
362
-
363
- ```
364
- /tts off
365
- /tts always
366
- /tts inbound
367
- /tts tagged
368
- /tts status
369
- /tts provider openai
370
- /tts limit 2000
371
- /tts summary off
372
- /tts audio Hello from Symi
373
- ```
374
-
375
- Notes:
376
-
377
- - Commands require an authorized sender (allowlist/owner rules still apply).
378
- - `commands.text` or native command registration must be enabled.
379
- - `off|always|inbound|tagged` are per‑session toggles (`/tts on` is an alias for `/tts always`).
380
- - `limit` and `summary` are stored in local prefs, not the main config.
381
- - `/tts audio` generates a one-off audio reply (does not toggle TTS on).
382
-
383
- ## Agent tool
384
-
385
- The `tts` tool converts text to speech and returns a `MEDIA:` path. When the
386
- result is Telegram-compatible, the tool includes `[[audio_as_voice]]` so
387
- Telegram sends a voice bubble.
388
-
389
- ## Gateway RPC
390
-
391
- Gateway methods:
392
-
393
- - `tts.status`
394
- - `tts.enable`
395
- - `tts.disable`
396
- - `tts.convert`
397
- - `tts.setProvider`
398
- - `tts.providers`
package/docs/vps.md DELETED
@@ -1,43 +0,0 @@
1
- ---
2
- summary: "VPS hosting hub for Symi (Oracle/Fly/Hetzner/GCP/exe.dev)"
3
- read_when:
4
- - You want to run the Gateway in the cloud
5
- - You need a quick map of VPS/hosting guides
6
- title: "VPS Hosting"
7
- ---
8
-
9
- # VPS hosting
10
-
11
- This hub links to the supported VPS/hosting guides and explains how cloud
12
- deployments work at a high level.
13
-
14
- ## Pick a provider
15
-
16
- - **Railway** (one‑click + browser setup): [Railway](/install/railway)
17
- - **Northflank** (one‑click + browser setup): [Northflank](/install/northflank)
18
- - **Oracle Cloud (Always Free)**: [Oracle](/platforms/oracle) — $0/month (Always Free, ARM; capacity/signup can be finicky)
19
- - **Fly.io**: [Fly.io](/install/fly)
20
- - **Hetzner (Docker)**: [Hetzner](/install/hetzner)
21
- - **GCP (Compute Engine)**: [GCP](/install/gcp)
22
- - **exe.dev** (VM + HTTPS proxy): [exe.dev](/install/exe-dev)
23
- - **AWS (EC2/Lightsail/free tier)**: works well too. Video guide:
24
- [https://x.com/techfrenAJ/status/2014934471095812547](https://x.com/techfrenAJ/status/2014934471095812547)
25
-
26
- ## How cloud setups work
27
-
28
- - The **Gateway runs on the VPS** and owns state + workspace.
29
- - You connect from your laptop/phone via the **Control UI** or **Tailscale/SSH**.
30
- - Treat the VPS as the source of truth and **back up** the state + workspace.
31
- - Secure default: keep the Gateway on loopback and access it via SSH tunnel or Tailscale Serve.
32
- If you bind to `lan`/`tailnet`, require `gateway.auth.token` or `gateway.auth.password`.
33
-
34
- Remote access: [Gateway remote](/gateway/remote)
35
- Platforms hub: [Platforms](/platforms)
36
-
37
- ## Using nodes with a VPS
38
-
39
- You can keep the Gateway in the cloud and pair **nodes** on your local devices
40
- (Mac/iOS/Android/headless). Nodes provide local screen/camera/canvas and `system.run`
41
- capabilities while the Gateway stays in the cloud.
42
-
43
- Docs: [Nodes](/nodes), [Nodes CLI](/cli/nodes)