@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,488 +0,0 @@
1
- ---
2
- summary: "Configuration overview: common tasks, quick setup, and links to the full reference"
3
- read_when:
4
- - Setting up Symi for the first time
5
- - Looking for common configuration patterns
6
- - Navigating to specific config sections
7
- title: "Configuration"
8
- ---
9
-
10
- # Configuration
11
-
12
- Symi reads an optional <Tooltip tip="JSON5 supports comments and trailing commas">**JSON5**</Tooltip> config from `~/.symi/symi.json`.
13
-
14
- If the file is missing, Symi uses safe defaults. Common reasons to add a config:
15
-
16
- - Connect channels and control who can message the bot
17
- - Set models, tools, sandboxing, or automation (cron, hooks)
18
- - Tune sessions, media, networking, or UI
19
-
20
- See the [full reference](/gateway/configuration-reference) for every available field.
21
-
22
- <Tip>
23
- **New to configuration?** Start with `symi onboard` for interactive setup, or check out the [Configuration Examples](/gateway/configuration-examples) guide for complete copy-paste configs.
24
- </Tip>
25
-
26
- ## Minimal config
27
-
28
- ```json5
29
- // ~/.symi/symi.json
30
- {
31
- agents: { defaults: { workspace: "~/.symi/workspace" } },
32
- channels: { whatsapp: { allowFrom: ["+15555550123"] } },
33
- }
34
- ```
35
-
36
- ## Editing config
37
-
38
- <Tabs>
39
- <Tab title="Interactive wizard">
40
- ```bash
41
- symi onboard # full setup wizard
42
- symi configure # config wizard
43
- ```
44
- </Tab>
45
- <Tab title="CLI (one-liners)">
46
- ```bash
47
- symi config get agents.defaults.workspace
48
- symi config set agents.defaults.heartbeat.every "2h"
49
- symi config unset tools.web.search.apiKey
50
- ```
51
- </Tab>
52
- <Tab title="Control UI">
53
- Open [http://127.0.0.1:18789](http://127.0.0.1:18789) and use the **Config** tab.
54
- The Control UI renders a form from the config schema, with a **Raw JSON** editor as an escape hatch.
55
- </Tab>
56
- <Tab title="Direct edit">
57
- Edit `~/.symi/symi.json` directly. The Gateway watches the file and applies changes automatically (see [hot reload](#config-hot-reload)).
58
- </Tab>
59
- </Tabs>
60
-
61
- ## Strict validation
62
-
63
- <Warning>
64
- Symi only accepts configurations that fully match the schema. Unknown keys, malformed types, or invalid values cause the Gateway to **refuse to start**. The only root-level exception is `$schema` (string), so editors can attach JSON Schema metadata.
65
- </Warning>
66
-
67
- When validation fails:
68
-
69
- - The Gateway does not boot
70
- - Only diagnostic commands work (`symi doctor`, `symi logs`, `symi health`, `symi status`)
71
- - Run `symi doctor` to see exact issues
72
- - Run `symi doctor --fix` (or `--yes`) to apply repairs
73
-
74
- ## Common tasks
75
-
76
- <AccordionGroup>
77
- Each channel has its own config section under `channels.<provider>`. See the dedicated channel page for setup steps:
78
-
79
- - [WhatsApp](/channels/whatsapp) — `channels.whatsapp`
80
- - [Telegram](/channels/telegram) — `channels.telegram`
81
- - [Slack](/channels/slack) — `channels.slack`
82
- - [Signal](/channels/signal) — `channels.signal`
83
- - [iMessage](/channels/imessage) — `channels.imessage`
84
- - [Google Chat](/channels/googlechat) — `channels.googlechat`
85
- - [Mattermost](/channels/mattermost) — `channels.mattermost`
86
- - [MS Teams](/channels/msteams) — `channels.msteams`
87
-
88
- All channels share the same DM policy pattern:
89
-
90
- ```json5
91
- {
92
- channels: {
93
- telegram: {
94
- enabled: true,
95
- botToken: "123:abc",
96
- dmPolicy: "pairing", // pairing | allowlist | open | disabled
97
- allowFrom: ["tg:123"], // only for allowlist/open
98
- },
99
- },
100
- }
101
- ```
102
-
103
- </Accordion>
104
-
105
- <Accordion title="Choose and configure models">
106
- Set the primary model and optional fallbacks:
107
-
108
- ```json5
109
- {
110
- agents: {
111
- defaults: {
112
- model: {
113
- primary: "anthropic/claude-sonnet-4-5",
114
- fallbacks: ["openai/gpt-5.2"],
115
- },
116
- models: {
117
- "anthropic/claude-sonnet-4-5": { alias: "Sonnet" },
118
- "openai/gpt-5.2": { alias: "GPT" },
119
- },
120
- },
121
- },
122
- }
123
- ```
124
-
125
- - `agents.defaults.models` defines the model catalog and acts as the allowlist for `/model`.
126
- - Model refs use `provider/model` format (e.g. `anthropic/claude-opus-4-6`).
127
- - `agents.defaults.imageMaxDimensionPx` controls transcript/tool image downscaling (default `1200`); lower values usually reduce vision-token usage on screenshot-heavy runs.
128
- - See [Models CLI](/concepts/models) for switching models in chat and [Model Failover](/concepts/model-failover) for auth rotation and fallback behavior.
129
- - For custom/self-hosted providers, see [Custom providers](/gateway/configuration-reference#custom-providers-and-base-urls) in the reference.
130
-
131
- </Accordion>
132
-
133
- <Accordion title="Control who can message the bot">
134
- DM access is controlled per channel via `dmPolicy`:
135
-
136
- - `"pairing"` (default): unknown senders get a one-time pairing code to approve
137
- - `"allowlist"`: only senders in `allowFrom` (or the paired allow store)
138
- - `"open"`: allow all inbound DMs (requires `allowFrom: ["*"]`)
139
- - `"disabled"`: ignore all DMs
140
-
141
- For groups, use `groupPolicy` + `groupAllowFrom` or channel-specific allowlists.
142
-
143
- See the [full reference](/gateway/configuration-reference#dm-and-group-access) for per-channel details.
144
-
145
- </Accordion>
146
-
147
- <Accordion title="Set up group chat mention gating">
148
- Group messages default to **require mention**. Configure patterns per agent:
149
-
150
- ```json5
151
- {
152
- agents: {
153
- list: [
154
- {
155
- id: "main",
156
- groupChat: {
157
- mentionPatterns: ["@symi", "symi"],
158
- },
159
- },
160
- ],
161
- },
162
- channels: {
163
- whatsapp: {
164
- groups: { "*": { requireMention: true } },
165
- },
166
- },
167
- }
168
- ```
169
-
170
- - **Metadata mentions**: native @-mentions (WhatsApp tap-to-mention, Telegram @bot, etc.)
171
- - **Text patterns**: regex patterns in `mentionPatterns`
172
- - See [full reference](/gateway/configuration-reference#group-chat-mention-gating) for per-channel overrides and self-chat mode.
173
-
174
- </Accordion>
175
-
176
- <Accordion title="Configure sessions and resets">
177
- Sessions control conversation continuity and isolation:
178
-
179
- ```json5
180
- {
181
- session: {
182
- dmScope: "per-channel-peer", // recommended for multi-user
183
- reset: {
184
- mode: "daily",
185
- atHour: 4,
186
- idleMinutes: 120,
187
- },
188
- },
189
- }
190
- ```
191
-
192
- - `dmScope`: `main` (shared) | `per-peer` | `per-channel-peer` | `per-account-channel-peer`
193
- - See [Session Management](/concepts/session) for scoping, identity links, and send policy.
194
- - See [full reference](/gateway/configuration-reference#session) for all fields.
195
-
196
- </Accordion>
197
-
198
- <Accordion title="Enable sandboxing">
199
- Run agent sessions in isolated Docker containers:
200
-
201
- ```json5
202
- {
203
- agents: {
204
- defaults: {
205
- sandbox: {
206
- mode: "non-main", // off | non-main | all
207
- scope: "agent", // session | agent | shared
208
- },
209
- },
210
- },
211
- }
212
- ```
213
-
214
- Build the image first: `scripts/sandbox-setup.sh`
215
-
216
- See [Sandboxing](/gateway/sandboxing) for the full guide and [full reference](/gateway/configuration-reference#sandbox) for all options.
217
-
218
- </Accordion>
219
-
220
- <Accordion title="Set up heartbeat (periodic check-ins)">
221
- ```json5
222
- {
223
- agents: {
224
- defaults: {
225
- heartbeat: {
226
- every: "30m",
227
- target: "last",
228
- },
229
- },
230
- },
231
- }
232
- ```
233
-
234
- - `every`: duration string (`30m`, `2h`). Set `0m` to disable.
235
- - See [Heartbeat](/gateway/heartbeat) for the full guide.
236
-
237
- </Accordion>
238
-
239
- <Accordion title="Configure cron jobs">
240
- ```json5
241
- {
242
- cron: {
243
- enabled: true,
244
- maxConcurrentRuns: 2,
245
- sessionRetention: "24h",
246
- },
247
- }
248
- ```
249
-
250
- See [Cron jobs](/automation/cron-jobs) for the feature overview and CLI examples.
251
-
252
- </Accordion>
253
-
254
- <Accordion title="Set up webhooks (hooks)">
255
- Enable HTTP webhook endpoints on the Gateway:
256
-
257
- ```json5
258
- {
259
- hooks: {
260
- enabled: true,
261
- token: "shared-secret",
262
- path: "/hooks",
263
- defaultSessionKey: "hook:ingress",
264
- allowRequestSessionKey: false,
265
- allowedSessionKeyPrefixes: ["hook:"],
266
- mappings: [
267
- {
268
- match: { path: "gmail" },
269
- action: "agent",
270
- agentId: "main",
271
- deliver: true,
272
- },
273
- ],
274
- },
275
- }
276
- ```
277
-
278
- See [full reference](/gateway/configuration-reference#hooks) for all mapping options and Gmail integration.
279
-
280
- </Accordion>
281
-
282
- <Accordion title="Configure multi-agent routing">
283
- Run multiple isolated agents with separate workspaces and sessions:
284
-
285
- ```json5
286
- {
287
- agents: {
288
- list: [
289
- { id: "home", default: true, workspace: "~/.symi/workspace-home" },
290
- { id: "work", workspace: "~/.symi/workspace-work" },
291
- ],
292
- },
293
- bindings: [
294
- { agentId: "home", match: { channel: "whatsapp", accountId: "personal" } },
295
- { agentId: "work", match: { channel: "whatsapp", accountId: "biz" } },
296
- ],
297
- }
298
- ```
299
-
300
- See [Multi-Agent](/concepts/multi-agent) and [full reference](/gateway/configuration-reference#multi-agent-routing) for binding rules and per-agent access profiles.
301
-
302
- </Accordion>
303
-
304
- <Accordion title="Split config into multiple files ($include)">
305
- Use `$include` to organize large configs:
306
-
307
- ```json5
308
- // ~/.symi/symi.json
309
- {
310
- gateway: { port: 18789 },
311
- agents: { $include: "./agents.json5" },
312
- broadcast: {
313
- $include: ["./clients/a.json5", "./clients/b.json5"],
314
- },
315
- }
316
- ```
317
-
318
- - **Single file**: replaces the containing object
319
- - **Array of files**: deep-merged in order (later wins)
320
- - **Sibling keys**: merged after includes (override included values)
321
- - **Nested includes**: supported up to 10 levels deep
322
- - **Relative paths**: resolved relative to the including file
323
- - **Error handling**: clear errors for missing files, parse errors, and circular includes
324
-
325
- </Accordion>
326
- </AccordionGroup>
327
-
328
- ## Config hot reload
329
-
330
- The Gateway watches `~/.symi/symi.json` and applies changes automatically — no manual restart needed for most settings.
331
-
332
- ### Reload modes
333
-
334
- | Mode | Behavior |
335
- | ---------------------- | --------------------------------------------------------------------------------------- |
336
- | **`hybrid`** (default) | Hot-applies safe changes instantly. Automatically restarts for critical ones. |
337
- | **`hot`** | Hot-applies safe changes only. Logs a warning when a restart is needed — you handle it. |
338
- | **`restart`** | Restarts the Gateway on any config change, safe or not. |
339
- | **`off`** | Disables file watching. Changes take effect on the next manual restart. |
340
-
341
- ```json5
342
- {
343
- gateway: {
344
- reload: { mode: "hybrid", debounceMs: 300 },
345
- },
346
- }
347
- ```
348
-
349
- ### What hot-applies vs what needs a restart
350
-
351
- Most fields hot-apply without downtime. In `hybrid` mode, restart-required changes are handled automatically.
352
-
353
- | Category | Fields | Restart needed? |
354
- | ------------------- | -------------------------------------------------------------------- | --------------- |
355
- | Channels | `channels.*`, `web` (WhatsApp) — all built-in and extension channels | No |
356
- | Agent & models | `agent`, `agents`, `models`, `routing` | No |
357
- | Automation | `hooks`, `cron`, `agent.heartbeat` | No |
358
- | Sessions & messages | `session`, `messages` | No |
359
- | Tools & media | `tools`, `browser`, `skills`, `audio`, `talk` | No |
360
- | UI & misc | `ui`, `logging`, `identity`, `bindings` | No |
361
- | Gateway server | `gateway.*` (port, bind, auth, tailscale, TLS, HTTP) | **Yes** |
362
- | Infrastructure | `discovery`, `canvasHost`, `plugins` | **Yes** |
363
-
364
- <Note>
365
- `gateway.reload` and `gateway.remote` are exceptions — changing them does **not** trigger a restart.
366
- </Note>
367
-
368
- ## Config RPC (programmatic updates)
369
-
370
- <Note>
371
- Control-plane write RPCs (`config.apply`, `config.patch`, `update.run`) are rate-limited to **3 requests per 60 seconds** per `deviceId+clientIp`. When limited, the RPC returns `UNAVAILABLE` with `retryAfterMs`.
372
- </Note>
373
-
374
- <AccordionGroup>
375
- <Accordion title="config.apply (full replace)">
376
- Validates + writes the full config and restarts the Gateway in one step.
377
-
378
- <Warning>
379
- `config.apply` replaces the **entire config**. Use `config.patch` for partial updates, or `symi config set` for single keys.
380
- </Warning>
381
-
382
- Params:
383
-
384
- - `raw` (string) — JSON5 payload for the entire config
385
- - `baseHash` (optional) — config hash from `config.get` (required when config exists)
386
- - `sessionKey` (optional) — session key for the post-restart wake-up ping
387
- - `note` (optional) — note for the restart sentinel
388
- - `restartDelayMs` (optional) — delay before restart (default 2000)
389
-
390
- Restart requests are coalesced while one is already pending/in-flight, and a 30-second cooldown applies between restart cycles.
391
-
392
- ```bash
393
- symi gateway call config.get --params '{}' # capture payload.hash
394
- symi gateway call config.apply --params '{
395
- "raw": "{ agents: { defaults: { workspace: \"~/.symi/workspace\" } } }",
396
- "baseHash": "<hash>",
397
- "sessionKey": "agent:main:whatsapp:dm:+15555550123"
398
- }'
399
- ```
400
-
401
- </Accordion>
402
-
403
- <Accordion title="config.patch (partial update)">
404
- Merges a partial update into the existing config (JSON merge patch semantics):
405
-
406
- - Objects merge recursively
407
- - `null` deletes a key
408
- - Arrays replace
409
-
410
- Params:
411
-
412
- - `raw` (string) — JSON5 with just the keys to change
413
- - `baseHash` (required) — config hash from `config.get`
414
- - `sessionKey`, `note`, `restartDelayMs` — same as `config.apply`
415
-
416
- Restart behavior matches `config.apply`: coalesced pending restarts plus a 30-second cooldown between restart cycles.
417
-
418
- ```bash
419
- symi gateway call config.patch --params '{
420
- "raw": "{ channels: { telegram: { groups: { \"*\": { requireMention: false } } } } }",
421
- "baseHash": "<hash>"
422
- }'
423
- ```
424
-
425
- </Accordion>
426
- </AccordionGroup>
427
-
428
- ## Environment variables
429
-
430
- Symi reads env vars from the parent process plus:
431
-
432
- - `.env` from the current working directory (if present)
433
- - `~/.symi/.env` (global fallback)
434
-
435
- Neither file overrides existing env vars. You can also set inline env vars in config:
436
-
437
- ```json5
438
- {
439
- env: {
440
- OPENROUTER_API_KEY: "sk-or-...",
441
- vars: { GROQ_API_KEY: "gsk-..." },
442
- },
443
- }
444
- ```
445
-
446
- <Accordion title="Shell env import (optional)">
447
- If enabled and expected keys aren't set, Symi runs your login shell and imports only the missing keys:
448
-
449
- ```json5
450
- {
451
- env: {
452
- shellEnv: { enabled: true, timeoutMs: 15000 },
453
- },
454
- }
455
- ```
456
-
457
- Env var equivalent: `SYMI_LOAD_SHELL_ENV=1`
458
- </Accordion>
459
-
460
- <Accordion title="Env var substitution in config values">
461
- Reference env vars in any config string value with `${VAR_NAME}`:
462
-
463
- ```json5
464
- {
465
- gateway: { auth: { token: "${SYMI_GATEWAY_TOKEN}" } },
466
- models: { providers: { custom: { apiKey: "${CUSTOM_API_KEY}" } } },
467
- }
468
- ```
469
-
470
- Rules:
471
-
472
- - Only uppercase names matched: `[A-Z_][A-Z0-9_]*`
473
- - Missing/empty vars throw an error at load time
474
- - Escape with `$${VAR}` for literal output
475
- - Works inside `$include` files
476
- - Inline substitution: `"${BASE}/v1"` → `"https://api.example.com/v1"`
477
-
478
- </Accordion>
479
-
480
- See [Environment](/help/environment) for full precedence and sources.
481
-
482
- ## Full reference
483
-
484
- For the complete field-by-field reference, see **[Configuration Reference](/gateway/configuration-reference)**.
485
-
486
- ---
487
-
488
- _Related: [Configuration Examples](/gateway/configuration-examples) · [Configuration Reference](/gateway/configuration-reference) · [Doctor](/gateway/doctor)_
@@ -1,123 +0,0 @@
1
- ---
2
- summary: "Node discovery and transports (Bonjour, Tailscale, SSH) for finding the gateway"
3
- read_when:
4
- - Implementing or changing Bonjour discovery/advertising
5
- - Adjusting remote connection modes (direct vs SSH)
6
- - Designing node discovery + pairing for remote nodes
7
- title: "Discovery and Transports"
8
- ---
9
-
10
- # Discovery & transports
11
-
12
- Symi has two distinct problems that look similar on the surface:
13
-
14
- 1. **Operator remote control**: the macOS menu bar app controlling a gateway running elsewhere.
15
- 2. **Node pairing**: iOS/Android (and future nodes) finding a gateway and pairing securely.
16
-
17
- The design goal is to keep all network discovery/advertising in the **Node Gateway** (`symi gateway`) and keep clients (mac app, iOS) as consumers.
18
-
19
- ## Terms
20
-
21
- - **Gateway**: a single long-running gateway process that owns state (sessions, pairing, node registry) and runs channels. Most setups use one per host; isolated multi-gateway setups are possible.
22
- - **Gateway WS (control plane)**: the WebSocket endpoint on `127.0.0.1:18789` by default; can be bound to LAN/tailnet via `gateway.bind`.
23
- - **Direct WS transport**: a LAN/tailnet-facing Gateway WS endpoint (no SSH).
24
- - **SSH transport (fallback)**: remote control by forwarding `127.0.0.1:18789` over SSH.
25
- - **Legacy TCP bridge (deprecated/removed)**: older node transport (see [Bridge protocol](/gateway/bridge-protocol)); no longer advertised for discovery.
26
-
27
- Protocol details:
28
-
29
- - [Gateway protocol](/gateway/protocol)
30
- - [Bridge protocol (legacy)](/gateway/bridge-protocol)
31
-
32
- ## Why we keep both “direct” and SSH
33
-
34
- - **Direct WS** is the best UX on the same network and within a tailnet:
35
- - auto-discovery on LAN via Bonjour
36
- - pairing tokens + ACLs owned by the gateway
37
- - no shell access required; protocol surface can stay tight and auditable
38
- - **SSH** remains the universal fallback:
39
- - works anywhere you have SSH access (even across unrelated networks)
40
- - survives multicast/mDNS issues
41
- - requires no new inbound ports besides SSH
42
-
43
- ## Discovery inputs (how clients learn where the gateway is)
44
-
45
- ### 1) Bonjour / mDNS (LAN only)
46
-
47
- Bonjour is best-effort and does not cross networks. It is only used for “same LAN” convenience.
48
-
49
- Target direction:
50
-
51
- - The **gateway** advertises its WS endpoint via Bonjour.
52
- - Clients browse and show a “pick a gateway” list, then store the chosen endpoint.
53
-
54
- Troubleshooting and beacon details: [Bonjour](/gateway/bonjour).
55
-
56
- #### Service beacon details
57
-
58
- - Service types:
59
- - `_symi-gw._tcp` (gateway transport beacon)
60
- - TXT keys (non-secret):
61
- - `role=gateway`
62
- - `lanHost=<hostname>.local`
63
- - `sshPort=22` (or whatever is advertised)
64
- - `gatewayPort=18789` (Gateway WS + HTTP)
65
- - `gatewayTls=1` (only when TLS is enabled)
66
- - `gatewayTlsSha256=<sha256>` (only when TLS is enabled and fingerprint is available)
67
- - `canvasPort=<port>` (canvas host port; currently the same as `gatewayPort` when the canvas host is enabled)
68
- - `cliPath=<path>` (optional; absolute path to a runnable `symi` entrypoint or binary)
69
- - `tailnetDns=<magicdns>` (optional hint; auto-detected when Tailscale is available)
70
-
71
- Security notes:
72
-
73
- - Bonjour/mDNS TXT records are **unauthenticated**. Clients must treat TXT values as UX hints only.
74
- - Routing (host/port) should prefer the **resolved service endpoint** (SRV + A/AAAA) over TXT-provided `lanHost`, `tailnetDns`, or `gatewayPort`.
75
- - TLS pinning must never allow an advertised `gatewayTlsSha256` to override a previously stored pin.
76
- - iOS/Android nodes should treat discovery-based direct connects as **TLS-only** and require an explicit “trust this fingerprint” confirmation before storing a first-time pin (out-of-band verification).
77
-
78
- Disable/override:
79
-
80
- - `SYMI_DISABLE_BONJOUR=1` disables advertising.
81
- - `gateway.bind` in `~/.symi/symi.json` controls the Gateway bind mode.
82
- - `SYMI_SSH_PORT` overrides the SSH port advertised in TXT (defaults to 22).
83
- - `SYMI_TAILNET_DNS` publishes a `tailnetDns` hint (MagicDNS).
84
- - `SYMI_CLI_PATH` overrides the advertised CLI path.
85
-
86
- ### 2) Tailnet (cross-network)
87
-
88
- For London/Vienna style setups, Bonjour won’t help. The recommended “direct” target is:
89
-
90
- - Tailscale MagicDNS name (preferred) or a stable tailnet IP.
91
-
92
- If the gateway can detect it is running under Tailscale, it publishes `tailnetDns` as an optional hint for clients (including wide-area beacons).
93
-
94
- ### 3) Manual / SSH target
95
-
96
- When there is no direct route (or direct is disabled), clients can always connect via SSH by forwarding the loopback gateway port.
97
-
98
- See [Remote access](/gateway/remote).
99
-
100
- ## Transport selection (client policy)
101
-
102
- Recommended client behavior:
103
-
104
- 1. If a paired direct endpoint is configured and reachable, use it.
105
- 2. Else, if Bonjour finds a gateway on LAN, offer a one-tap “Use this gateway” choice and save it as the direct endpoint.
106
- 3. Else, if a tailnet DNS/IP is configured, try direct.
107
- 4. Else, fall back to SSH.
108
-
109
- ## Pairing + auth (direct transport)
110
-
111
- The gateway is the source of truth for node/client admission.
112
-
113
- - Pairing requests are created/approved/rejected in the gateway (see [Gateway pairing](/gateway/pairing)).
114
- - The gateway enforces:
115
- - auth (token / keypair)
116
- - scopes/ACLs (the gateway is not a raw proxy to every method)
117
- - rate limits
118
-
119
- ## Responsibilities by component
120
-
121
- - **Gateway**: advertises discovery beacons, owns pairing decisions, and hosts the WS endpoint.
122
- - **macOS app**: helps you pick a gateway, shows pairing prompts, and uses SSH only as a fallback.
123
- - **iOS/Android nodes**: browse Bonjour as a convenience and connect to the paired Gateway WS.