@symerian/symi 3.0.20 → 3.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (737) hide show
  1. package/dist/{audio-preflight-BaCdNfrk.js → audio-preflight-D7BVT-ls.js} +4 -4
  2. package/dist/build-info.json +3 -3
  3. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  4. package/dist/{chrome-UfmVM0xR.js → chrome-B5CO2vB5.js} +7 -7
  5. package/dist/{deliver-BqXdac6W.js → deliver-CrwjsDwv.js} +1 -1
  6. package/dist/extensionAPI.js +7 -7
  7. package/dist/{image-DIWsXYcW.js → image-Csu7WcLW.js} +1 -1
  8. package/dist/{manager-DW3SxcPr.js → manager-BkkVjTO8.js} +1 -1
  9. package/dist/{pi-embedded-BNch0U5F.js → pi-embedded-Dhp64z5l.js} +16 -16
  10. package/dist/{pi-embedded-helpers-IkHl02JF.js → pi-embedded-helpers-840E4hop.js} +4 -4
  11. package/dist/{pw-ai-nMkA-oDJ.js → pw-ai-CBgJf_RR.js} +1 -1
  12. package/dist/{runner-DNEC58JI.js → runner-BbFKo1ne.js} +1 -1
  13. package/dist/{synthesis-BWAr0sZ9.js → synthesis-DoEM0E8_.js} +7 -7
  14. package/dist/{web-7a-m_UxL.js → web-BYXJn-Ps.js} +7 -7
  15. package/package.json +1 -1
  16. package/docs/.i18n/README.md +0 -31
  17. package/docs/.i18n/glossary.ja-JP.json +0 -14
  18. package/docs/.i18n/glossary.zh-CN.json +0 -210
  19. package/docs/.i18n/ja-JP.tm.jsonl +0 -0
  20. package/docs/.i18n/zh-CN.tm.jsonl +0 -1303
  21. package/docs/CNAME +0 -1
  22. package/docs/assets/install-script.svg +0 -1
  23. package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
  24. package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
  25. package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
  26. package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
  27. package/docs/assets/macos-onboarding/05-permissions.png +0 -0
  28. package/docs/assets/pixel-symi.svg +0 -60
  29. package/docs/assets/showcase/agents-ui.jpg +0 -0
  30. package/docs/assets/showcase/bambu-cli.png +0 -0
  31. package/docs/assets/showcase/codexmonitor.png +0 -0
  32. package/docs/assets/showcase/gohome-grafana.png +0 -0
  33. package/docs/assets/showcase/ios-testflight.jpg +0 -0
  34. package/docs/assets/showcase/oura-health.png +0 -0
  35. package/docs/assets/showcase/padel-cli.svg +0 -11
  36. package/docs/assets/showcase/padel-screenshot.jpg +0 -0
  37. package/docs/assets/showcase/papla-tts.jpg +0 -0
  38. package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
  39. package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
  40. package/docs/assets/showcase/roborock-status.svg +0 -13
  41. package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
  42. package/docs/assets/showcase/snag.png +0 -0
  43. package/docs/assets/showcase/tesco-shop.jpg +0 -0
  44. package/docs/assets/showcase/wienerlinien.png +0 -0
  45. package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
  46. package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
  47. package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
  48. package/docs/assets/sponsors/blacksmith.svg +0 -14
  49. package/docs/assets/sponsors/openai.svg +0 -3
  50. package/docs/assets/symi-logo-text-dark.png +0 -0
  51. package/docs/assets/symi-logo-text.png +0 -0
  52. package/docs/automation/auth-monitoring.md +0 -44
  53. package/docs/automation/cron-jobs.md +0 -540
  54. package/docs/automation/cron-vs-heartbeat.md +0 -286
  55. package/docs/automation/gmail-pubsub.md +0 -256
  56. package/docs/automation/hooks.md +0 -998
  57. package/docs/automation/poll.md +0 -61
  58. package/docs/automation/troubleshooting.md +0 -122
  59. package/docs/automation/webhook.md +0 -213
  60. package/docs/brave-search.md +0 -41
  61. package/docs/capabilities.md +0 -151
  62. package/docs/channels/bluebubbles.md +0 -346
  63. package/docs/channels/broadcast-groups.md +0 -441
  64. package/docs/channels/channel-routing.md +0 -112
  65. package/docs/channels/feishu.md +0 -586
  66. package/docs/channels/googlechat.md +0 -253
  67. package/docs/channels/grammy.md +0 -31
  68. package/docs/channels/group-messages.md +0 -82
  69. package/docs/channels/groups.md +0 -364
  70. package/docs/channels/imessage.md +0 -366
  71. package/docs/channels/index.md +0 -46
  72. package/docs/channels/irc.md +0 -234
  73. package/docs/channels/line.md +0 -186
  74. package/docs/channels/location.md +0 -56
  75. package/docs/channels/matrix.md +0 -300
  76. package/docs/channels/mattermost.md +0 -158
  77. package/docs/channels/msteams.md +0 -769
  78. package/docs/channels/nextcloud-talk.md +0 -138
  79. package/docs/channels/nostr.md +0 -233
  80. package/docs/channels/pairing.md +0 -100
  81. package/docs/channels/signal.md +0 -322
  82. package/docs/channels/slack.md +0 -510
  83. package/docs/channels/telegram.md +0 -748
  84. package/docs/channels/tlon.md +0 -148
  85. package/docs/channels/troubleshooting.md +0 -110
  86. package/docs/channels/twitch.md +0 -379
  87. package/docs/channels/whatsapp.md +0 -444
  88. package/docs/channels/zalo.md +0 -192
  89. package/docs/channels/zalouser.md +0 -140
  90. package/docs/ci.md +0 -50
  91. package/docs/cli/acp.md +0 -182
  92. package/docs/cli/agent.md +0 -24
  93. package/docs/cli/agents.md +0 -75
  94. package/docs/cli/approvals.md +0 -50
  95. package/docs/cli/browser.md +0 -107
  96. package/docs/cli/channels.md +0 -73
  97. package/docs/cli/config.md +0 -50
  98. package/docs/cli/configure.md +0 -32
  99. package/docs/cli/cron.md +0 -44
  100. package/docs/cli/dashboard.md +0 -16
  101. package/docs/cli/devices.md +0 -73
  102. package/docs/cli/directory.md +0 -62
  103. package/docs/cli/dns.md +0 -23
  104. package/docs/cli/docs.md +0 -15
  105. package/docs/cli/doctor.md +0 -41
  106. package/docs/cli/gateway.md +0 -202
  107. package/docs/cli/health.md +0 -21
  108. package/docs/cli/hooks.md +0 -313
  109. package/docs/cli/index.md +0 -1029
  110. package/docs/cli/logs.md +0 -28
  111. package/docs/cli/memory.md +0 -45
  112. package/docs/cli/message.md +0 -214
  113. package/docs/cli/models.md +0 -79
  114. package/docs/cli/node.md +0 -112
  115. package/docs/cli/nodes.md +0 -73
  116. package/docs/cli/onboard.md +0 -76
  117. package/docs/cli/pairing.md +0 -21
  118. package/docs/cli/plugins.md +0 -92
  119. package/docs/cli/reset.md +0 -17
  120. package/docs/cli/sandbox.md +0 -152
  121. package/docs/cli/security.md +0 -64
  122. package/docs/cli/sessions.md +0 -16
  123. package/docs/cli/setup.md +0 -29
  124. package/docs/cli/skills.md +0 -26
  125. package/docs/cli/status.md +0 -25
  126. package/docs/cli/system.md +0 -60
  127. package/docs/cli/tui.md +0 -23
  128. package/docs/cli/uninstall.md +0 -17
  129. package/docs/cli/update.md +0 -98
  130. package/docs/cli/voicecall.md +0 -34
  131. package/docs/cli/webhooks.md +0 -25
  132. package/docs/concepts/agent-loop.md +0 -148
  133. package/docs/concepts/agent-workspace.md +0 -234
  134. package/docs/concepts/agent.md +0 -123
  135. package/docs/concepts/architecture.md +0 -135
  136. package/docs/concepts/compaction.md +0 -61
  137. package/docs/concepts/context.md +0 -161
  138. package/docs/concepts/features.md +0 -51
  139. package/docs/concepts/markdown-formatting.md +0 -128
  140. package/docs/concepts/memory.md +0 -729
  141. package/docs/concepts/messages.md +0 -153
  142. package/docs/concepts/model-failover.md +0 -149
  143. package/docs/concepts/model-providers.md +0 -424
  144. package/docs/concepts/models.md +0 -208
  145. package/docs/concepts/multi-agent.md +0 -521
  146. package/docs/concepts/oauth.md +0 -145
  147. package/docs/concepts/presence.md +0 -102
  148. package/docs/concepts/queue.md +0 -86
  149. package/docs/concepts/retry.md +0 -64
  150. package/docs/concepts/session-pruning.md +0 -123
  151. package/docs/concepts/session-tool.md +0 -213
  152. package/docs/concepts/session.md +0 -199
  153. package/docs/concepts/sessions.md +0 -10
  154. package/docs/concepts/streaming.md +0 -129
  155. package/docs/concepts/system-prompt.md +0 -128
  156. package/docs/concepts/timezone.md +0 -90
  157. package/docs/concepts/typebox.md +0 -289
  158. package/docs/concepts/typing-indicators.md +0 -68
  159. package/docs/concepts/usage-tracking.md +0 -35
  160. package/docs/date-time.md +0 -127
  161. package/docs/debug/node-issue.md +0 -85
  162. package/docs/diagnostics/flags.md +0 -91
  163. package/docs/docs.json +0 -1849
  164. package/docs/experiments/onboarding-config-protocol.md +0 -40
  165. package/docs/experiments/plans/browser-evaluate-cdp-refactor.md +0 -229
  166. package/docs/experiments/plans/cron-add-hardening.md +0 -62
  167. package/docs/experiments/plans/group-policy-hardening.md +0 -40
  168. package/docs/experiments/plans/openresponses-gateway.md +0 -123
  169. package/docs/experiments/plans/pty-process-supervision.md +0 -192
  170. package/docs/experiments/plans/session-binding-channel-agnostic.md +0 -202
  171. package/docs/experiments/plans/thread-bound-subagents.md +0 -281
  172. package/docs/experiments/proposals/model-config.md +0 -36
  173. package/docs/experiments/research/memory.md +0 -228
  174. package/docs/gateway/authentication.md +0 -162
  175. package/docs/gateway/background-process.md +0 -96
  176. package/docs/gateway/bonjour.md +0 -177
  177. package/docs/gateway/bridge-protocol.md +0 -91
  178. package/docs/gateway/cli-backends.md +0 -225
  179. package/docs/gateway/configuration-examples.md +0 -610
  180. package/docs/gateway/configuration-reference.md +0 -2465
  181. package/docs/gateway/configuration.md +0 -488
  182. package/docs/gateway/discovery.md +0 -123
  183. package/docs/gateway/doctor.md +0 -282
  184. package/docs/gateway/gateway-lock.md +0 -34
  185. package/docs/gateway/health.md +0 -35
  186. package/docs/gateway/heartbeat.md +0 -374
  187. package/docs/gateway/index.md +0 -254
  188. package/docs/gateway/local-models.md +0 -150
  189. package/docs/gateway/logging.md +0 -113
  190. package/docs/gateway/multiple-gateways.md +0 -112
  191. package/docs/gateway/network-model.md +0 -20
  192. package/docs/gateway/openai-http-api.md +0 -119
  193. package/docs/gateway/openresponses-http-api.md +0 -333
  194. package/docs/gateway/pairing.md +0 -99
  195. package/docs/gateway/protocol.md +0 -221
  196. package/docs/gateway/remote-gateway-readme.md +0 -158
  197. package/docs/gateway/remote.md +0 -131
  198. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -128
  199. package/docs/gateway/sandboxing.md +0 -203
  200. package/docs/gateway/security/index.md +0 -931
  201. package/docs/gateway/tailscale.md +0 -132
  202. package/docs/gateway/tools-invoke-http-api.md +0 -110
  203. package/docs/gateway/troubleshooting.md +0 -317
  204. package/docs/gateway/trusted-proxy-auth.md +0 -270
  205. package/docs/glass-ui-rendering-invariants.md +0 -451
  206. package/docs/help/debugging.md +0 -162
  207. package/docs/help/environment.md +0 -107
  208. package/docs/help/faq.md +0 -2846
  209. package/docs/help/index.md +0 -21
  210. package/docs/help/scripts.md +0 -28
  211. package/docs/help/testing.md +0 -385
  212. package/docs/help/troubleshooting.md +0 -264
  213. package/docs/images/configure-model-picker-unsearchable.png +0 -0
  214. package/docs/images/feishu-step2-create-app.png +0 -0
  215. package/docs/images/feishu-step3-credentials.png +0 -0
  216. package/docs/images/feishu-step4-permissions.png +0 -0
  217. package/docs/images/feishu-step5-bot-capability.png +0 -0
  218. package/docs/images/feishu-step6-event-subscription.png +0 -0
  219. package/docs/images/groups-flow.svg +0 -52
  220. package/docs/images/mobile-ui-screenshot.png +0 -0
  221. package/docs/index.md +0 -186
  222. package/docs/install/ansible.md +0 -207
  223. package/docs/install/bun.md +0 -59
  224. package/docs/install/development-channels.md +0 -75
  225. package/docs/install/docker.md +0 -583
  226. package/docs/install/exe-dev.md +0 -126
  227. package/docs/install/fly.md +0 -472
  228. package/docs/install/gcp.md +0 -499
  229. package/docs/install/hetzner.md +0 -347
  230. package/docs/install/index.md +0 -218
  231. package/docs/install/installer.md +0 -405
  232. package/docs/install/macos-vm.md +0 -281
  233. package/docs/install/migrating.md +0 -192
  234. package/docs/install/nix.md +0 -98
  235. package/docs/install/node.md +0 -138
  236. package/docs/install/northflank.mdx +0 -49
  237. package/docs/install/podman.md +0 -108
  238. package/docs/install/railway.mdx +0 -95
  239. package/docs/install/render.mdx +0 -158
  240. package/docs/install/uninstall.md +0 -128
  241. package/docs/install/updating.md +0 -231
  242. package/docs/ja-JP/AGENTS.md +0 -37
  243. package/docs/ja-JP/index.md +0 -183
  244. package/docs/ja-JP/start/getting-started.md +0 -125
  245. package/docs/ja-JP/start/wizard.md +0 -77
  246. package/docs/logging.md +0 -350
  247. package/docs/nav-tabs-underline.js +0 -100
  248. package/docs/network.md +0 -54
  249. package/docs/nodes/audio.md +0 -133
  250. package/docs/nodes/camera.md +0 -156
  251. package/docs/nodes/images.md +0 -72
  252. package/docs/nodes/index.md +0 -342
  253. package/docs/nodes/location-command.md +0 -113
  254. package/docs/nodes/media-understanding.md +0 -379
  255. package/docs/nodes/talk.md +0 -90
  256. package/docs/nodes/troubleshooting.md +0 -112
  257. package/docs/nodes/voicewake.md +0 -65
  258. package/docs/perplexity.md +0 -80
  259. package/docs/phase-6.5-pre-flight-audit.md +0 -268
  260. package/docs/pi-dev.md +0 -70
  261. package/docs/pi.md +0 -610
  262. package/docs/platforms/android.md +0 -151
  263. package/docs/platforms/digitalocean.md +0 -265
  264. package/docs/platforms/index.md +0 -53
  265. package/docs/platforms/ios.md +0 -108
  266. package/docs/platforms/linux.md +0 -94
  267. package/docs/platforms/mac/bundled-gateway.md +0 -73
  268. package/docs/platforms/mac/canvas.md +0 -125
  269. package/docs/platforms/mac/child-process.md +0 -69
  270. package/docs/platforms/mac/dev-setup.md +0 -104
  271. package/docs/platforms/mac/health.md +0 -34
  272. package/docs/platforms/mac/icon.md +0 -31
  273. package/docs/platforms/mac/logging.md +0 -57
  274. package/docs/platforms/mac/menu-bar.md +0 -81
  275. package/docs/platforms/mac/peekaboo.md +0 -65
  276. package/docs/platforms/mac/permissions.md +0 -50
  277. package/docs/platforms/mac/release.md +0 -85
  278. package/docs/platforms/mac/remote.md +0 -84
  279. package/docs/platforms/mac/signing.md +0 -47
  280. package/docs/platforms/mac/skills.md +0 -33
  281. package/docs/platforms/mac/voice-overlay.md +0 -60
  282. package/docs/platforms/mac/voicewake.md +0 -66
  283. package/docs/platforms/mac/webchat.md +0 -43
  284. package/docs/platforms/mac/xpc.md +0 -61
  285. package/docs/platforms/macos.md +0 -204
  286. package/docs/platforms/oracle.md +0 -303
  287. package/docs/platforms/raspberry-pi.md +0 -358
  288. package/docs/platforms/windows.md +0 -159
  289. package/docs/plugins/agent-tools.md +0 -99
  290. package/docs/plugins/community.md +0 -44
  291. package/docs/plugins/manifest.md +0 -71
  292. package/docs/plugins/voice-call.md +0 -322
  293. package/docs/plugins/zalouser.md +0 -81
  294. package/docs/prose.md +0 -134
  295. package/docs/providers/anthropic.md +0 -174
  296. package/docs/providers/bedrock.md +0 -176
  297. package/docs/providers/claude-max-api-proxy.md +0 -148
  298. package/docs/providers/cloudflare-ai-gateway.md +0 -71
  299. package/docs/providers/deepgram.md +0 -93
  300. package/docs/providers/github-copilot.md +0 -72
  301. package/docs/providers/glm.md +0 -33
  302. package/docs/providers/huggingface.md +0 -209
  303. package/docs/providers/index.md +0 -67
  304. package/docs/providers/litellm.md +0 -153
  305. package/docs/providers/minimax.md +0 -208
  306. package/docs/providers/models.md +0 -52
  307. package/docs/providers/moonshot.md +0 -142
  308. package/docs/providers/nvidia.md +0 -55
  309. package/docs/providers/ollama.md +0 -250
  310. package/docs/providers/openai.md +0 -62
  311. package/docs/providers/opencode.md +0 -36
  312. package/docs/providers/openrouter.md +0 -37
  313. package/docs/providers/qianfan.md +0 -38
  314. package/docs/providers/qwen.md +0 -53
  315. package/docs/providers/synthetic.md +0 -99
  316. package/docs/providers/together.md +0 -65
  317. package/docs/providers/venice.md +0 -267
  318. package/docs/providers/vercel-ai-gateway.md +0 -50
  319. package/docs/providers/vllm.md +0 -92
  320. package/docs/providers/xiaomi.md +0 -64
  321. package/docs/providers/zai.md +0 -38
  322. package/docs/refactor/exec-host.md +0 -316
  323. package/docs/refactor/outbound-session-mirroring.md +0 -83
  324. package/docs/refactor/plugin-sdk.md +0 -214
  325. package/docs/refactor/strict-config.md +0 -93
  326. package/docs/refactor/syminet.md +0 -417
  327. package/docs/reference/AGENTS.default.md +0 -123
  328. package/docs/reference/RELEASING.md +0 -120
  329. package/docs/reference/api-usage-costs.md +0 -138
  330. package/docs/reference/credits.md +0 -28
  331. package/docs/reference/device-models.md +0 -47
  332. package/docs/reference/rpc.md +0 -43
  333. package/docs/reference/session-management-compaction.md +0 -284
  334. package/docs/reference/test.md +0 -51
  335. package/docs/reference/token-use.md +0 -136
  336. package/docs/reference/transcript-hygiene.md +0 -151
  337. package/docs/reference/wizard.md +0 -265
  338. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -89
  339. package/docs/security/README.md +0 -16
  340. package/docs/security/THREAT-MODEL-ATLAS.md +0 -600
  341. package/docs/security/formal-verification.md +0 -164
  342. package/docs/start/bootstrapping.md +0 -41
  343. package/docs/start/docs-directory.md +0 -63
  344. package/docs/start/getting-started.md +0 -135
  345. package/docs/start/hubs.md +0 -196
  346. package/docs/start/lore.md +0 -216
  347. package/docs/start/onboarding-overview.md +0 -51
  348. package/docs/start/onboarding.md +0 -81
  349. package/docs/start/quickstart.md +0 -22
  350. package/docs/start/setup.md +0 -160
  351. package/docs/start/showcase.md +0 -414
  352. package/docs/start/symi.md +0 -211
  353. package/docs/start/wizard-cli-automation.md +0 -158
  354. package/docs/start/wizard-cli-reference.md +0 -255
  355. package/docs/start/wizard.md +0 -109
  356. package/docs/style.css +0 -37
  357. package/docs/tools/agent-send.md +0 -52
  358. package/docs/tools/apply-patch.md +0 -51
  359. package/docs/tools/browser-linux-troubleshooting.md +0 -139
  360. package/docs/tools/browser-login.md +0 -67
  361. package/docs/tools/browser.md +0 -587
  362. package/docs/tools/chrome-extension.md +0 -183
  363. package/docs/tools/creating-skills.md +0 -54
  364. package/docs/tools/elevated.md +0 -55
  365. package/docs/tools/exec-approvals.md +0 -261
  366. package/docs/tools/exec.md +0 -184
  367. package/docs/tools/firecrawl.md +0 -61
  368. package/docs/tools/index.md +0 -540
  369. package/docs/tools/llm-task.md +0 -115
  370. package/docs/tools/loop-detection.md +0 -98
  371. package/docs/tools/multi-agent-sandbox-tools.md +0 -396
  372. package/docs/tools/pipeline.md +0 -340
  373. package/docs/tools/plugin.md +0 -687
  374. package/docs/tools/reactions.md +0 -21
  375. package/docs/tools/skills-config.md +0 -76
  376. package/docs/tools/skills.md +0 -300
  377. package/docs/tools/slash-commands.md +0 -202
  378. package/docs/tools/subagents.md +0 -232
  379. package/docs/tools/symihub.md +0 -256
  380. package/docs/tools/thinking.md +0 -75
  381. package/docs/tools/web.md +0 -265
  382. package/docs/tts.md +0 -398
  383. package/docs/vps.md +0 -43
  384. package/docs/web/control-ui.md +0 -247
  385. package/docs/web/dashboard.md +0 -46
  386. package/docs/web/index.md +0 -118
  387. package/docs/web/tui.md +0 -162
  388. package/docs/web/webchat.md +0 -53
  389. package/docs/whatsapp-symi-ai-zh.jpg +0 -0
  390. package/docs/whatsapp-symi.jpg +0 -0
  391. package/docs/zh-CN/AGENTS.md +0 -59
  392. package/docs/zh-CN/automation/auth-monitoring.md +0 -47
  393. package/docs/zh-CN/automation/cron-jobs.md +0 -422
  394. package/docs/zh-CN/automation/cron-vs-heartbeat.md +0 -286
  395. package/docs/zh-CN/automation/gmail-pubsub.md +0 -249
  396. package/docs/zh-CN/automation/hooks.md +0 -881
  397. package/docs/zh-CN/automation/poll.md +0 -68
  398. package/docs/zh-CN/automation/troubleshooting.md +0 -8
  399. package/docs/zh-CN/automation/webhook.md +0 -161
  400. package/docs/zh-CN/brave-search.md +0 -48
  401. package/docs/zh-CN/channels/bluebubbles.md +0 -271
  402. package/docs/zh-CN/channels/broadcast-groups.md +0 -448
  403. package/docs/zh-CN/channels/channel-routing.md +0 -112
  404. package/docs/zh-CN/channels/feishu.md +0 -629
  405. package/docs/zh-CN/channels/googlechat.md +0 -257
  406. package/docs/zh-CN/channels/grammy.md +0 -38
  407. package/docs/zh-CN/channels/group-messages.md +0 -89
  408. package/docs/zh-CN/channels/groups.md +0 -369
  409. package/docs/zh-CN/channels/imessage.md +0 -300
  410. package/docs/zh-CN/channels/index.md +0 -52
  411. package/docs/zh-CN/channels/line.md +0 -180
  412. package/docs/zh-CN/channels/location.md +0 -63
  413. package/docs/zh-CN/channels/matrix.md +0 -221
  414. package/docs/zh-CN/channels/mattermost.md +0 -144
  415. package/docs/zh-CN/channels/msteams.md +0 -773
  416. package/docs/zh-CN/channels/nextcloud-talk.md +0 -142
  417. package/docs/zh-CN/channels/nostr.md +0 -240
  418. package/docs/zh-CN/channels/pairing.md +0 -86
  419. package/docs/zh-CN/channels/signal.md +0 -207
  420. package/docs/zh-CN/channels/slack.md +0 -529
  421. package/docs/zh-CN/channels/telegram.md +0 -748
  422. package/docs/zh-CN/channels/tlon.md +0 -136
  423. package/docs/zh-CN/channels/troubleshooting.md +0 -34
  424. package/docs/zh-CN/channels/twitch.md +0 -385
  425. package/docs/zh-CN/channels/whatsapp.md +0 -411
  426. package/docs/zh-CN/channels/zalo.md +0 -196
  427. package/docs/zh-CN/channels/zalouser.md +0 -147
  428. package/docs/zh-CN/cli/acp.md +0 -173
  429. package/docs/zh-CN/cli/agent.md +0 -30
  430. package/docs/zh-CN/cli/agents.md +0 -82
  431. package/docs/zh-CN/cli/approvals.md +0 -57
  432. package/docs/zh-CN/cli/browser.md +0 -114
  433. package/docs/zh-CN/cli/channels.md +0 -80
  434. package/docs/zh-CN/cli/config.md +0 -57
  435. package/docs/zh-CN/cli/configure.md +0 -37
  436. package/docs/zh-CN/cli/cron.md +0 -43
  437. package/docs/zh-CN/cli/dashboard.md +0 -23
  438. package/docs/zh-CN/cli/devices.md +0 -74
  439. package/docs/zh-CN/cli/directory.md +0 -69
  440. package/docs/zh-CN/cli/dns.md +0 -30
  441. package/docs/zh-CN/cli/docs.md +0 -22
  442. package/docs/zh-CN/cli/doctor.md +0 -48
  443. package/docs/zh-CN/cli/gateway.md +0 -206
  444. package/docs/zh-CN/cli/health.md +0 -28
  445. package/docs/zh-CN/cli/hooks.md +0 -298
  446. package/docs/zh-CN/cli/index.md +0 -1025
  447. package/docs/zh-CN/cli/logs.md +0 -31
  448. package/docs/zh-CN/cli/memory.md +0 -52
  449. package/docs/zh-CN/cli/message.md +0 -205
  450. package/docs/zh-CN/cli/models.md +0 -85
  451. package/docs/zh-CN/cli/node.md +0 -115
  452. package/docs/zh-CN/cli/nodes.md +0 -80
  453. package/docs/zh-CN/cli/onboard.md +0 -36
  454. package/docs/zh-CN/cli/pairing.md +0 -28
  455. package/docs/zh-CN/cli/plugins.md +0 -66
  456. package/docs/zh-CN/cli/reset.md +0 -24
  457. package/docs/zh-CN/cli/sandbox.md +0 -158
  458. package/docs/zh-CN/cli/security.md +0 -33
  459. package/docs/zh-CN/cli/sessions.md +0 -23
  460. package/docs/zh-CN/cli/setup.md +0 -36
  461. package/docs/zh-CN/cli/skills.md +0 -33
  462. package/docs/zh-CN/cli/status.md +0 -32
  463. package/docs/zh-CN/cli/system.md +0 -63
  464. package/docs/zh-CN/cli/tui.md +0 -30
  465. package/docs/zh-CN/cli/uninstall.md +0 -24
  466. package/docs/zh-CN/cli/update.md +0 -101
  467. package/docs/zh-CN/cli/voicecall.md +0 -41
  468. package/docs/zh-CN/cli/webhooks.md +0 -32
  469. package/docs/zh-CN/concepts/agent-loop.md +0 -146
  470. package/docs/zh-CN/concepts/agent-workspace.md +0 -219
  471. package/docs/zh-CN/concepts/agent.md +0 -115
  472. package/docs/zh-CN/concepts/architecture.md +0 -122
  473. package/docs/zh-CN/concepts/compaction.md +0 -67
  474. package/docs/zh-CN/concepts/context.md +0 -168
  475. package/docs/zh-CN/concepts/features.md +0 -57
  476. package/docs/zh-CN/concepts/markdown-formatting.md +0 -115
  477. package/docs/zh-CN/concepts/memory.md +0 -412
  478. package/docs/zh-CN/concepts/messages.md +0 -140
  479. package/docs/zh-CN/concepts/model-failover.md +0 -145
  480. package/docs/zh-CN/concepts/model-providers.md +0 -320
  481. package/docs/zh-CN/concepts/models.md +0 -196
  482. package/docs/zh-CN/concepts/multi-agent.md +0 -371
  483. package/docs/zh-CN/concepts/oauth.md +0 -151
  484. package/docs/zh-CN/concepts/presence.md +0 -99
  485. package/docs/zh-CN/concepts/queue.md +0 -91
  486. package/docs/zh-CN/concepts/retry.md +0 -71
  487. package/docs/zh-CN/concepts/session-pruning.md +0 -129
  488. package/docs/zh-CN/concepts/session-tool.md +0 -198
  489. package/docs/zh-CN/concepts/session.md +0 -158
  490. package/docs/zh-CN/concepts/sessions.md +0 -17
  491. package/docs/zh-CN/concepts/streaming.md +0 -131
  492. package/docs/zh-CN/concepts/system-prompt.md +0 -99
  493. package/docs/zh-CN/concepts/timezone.md +0 -94
  494. package/docs/zh-CN/concepts/typebox.md +0 -284
  495. package/docs/zh-CN/concepts/typing-indicators.md +0 -74
  496. package/docs/zh-CN/concepts/usage-tracking.md +0 -42
  497. package/docs/zh-CN/date-time.md +0 -128
  498. package/docs/zh-CN/debug/node-issue.md +0 -90
  499. package/docs/zh-CN/diagnostics/flags.md +0 -98
  500. package/docs/zh-CN/experiments/onboarding-config-protocol.md +0 -47
  501. package/docs/zh-CN/experiments/plans/cron-add-hardening.md +0 -69
  502. package/docs/zh-CN/experiments/plans/group-policy-hardening.md +0 -45
  503. package/docs/zh-CN/experiments/plans/openresponses-gateway.md +0 -121
  504. package/docs/zh-CN/experiments/proposals/model-config.md +0 -42
  505. package/docs/zh-CN/experiments/research/memory.md +0 -235
  506. package/docs/zh-CN/gateway/authentication.md +0 -142
  507. package/docs/zh-CN/gateway/background-process.md +0 -100
  508. package/docs/zh-CN/gateway/bonjour.md +0 -174
  509. package/docs/zh-CN/gateway/bridge-protocol.md +0 -86
  510. package/docs/zh-CN/gateway/cli-backends.md +0 -213
  511. package/docs/zh-CN/gateway/configuration-examples.md +0 -580
  512. package/docs/zh-CN/gateway/configuration.md +0 -3284
  513. package/docs/zh-CN/gateway/discovery.md +0 -123
  514. package/docs/zh-CN/gateway/doctor.md +0 -238
  515. package/docs/zh-CN/gateway/gateway-lock.md +0 -41
  516. package/docs/zh-CN/gateway/health.md +0 -42
  517. package/docs/zh-CN/gateway/heartbeat.md +0 -272
  518. package/docs/zh-CN/gateway/index.md +0 -335
  519. package/docs/zh-CN/gateway/local-models.md +0 -157
  520. package/docs/zh-CN/gateway/logging.md +0 -114
  521. package/docs/zh-CN/gateway/multiple-gateways.md +0 -119
  522. package/docs/zh-CN/gateway/network-model.md +0 -23
  523. package/docs/zh-CN/gateway/openai-http-api.md +0 -125
  524. package/docs/zh-CN/gateway/openresponses-http-api.md +0 -317
  525. package/docs/zh-CN/gateway/pairing.md +0 -99
  526. package/docs/zh-CN/gateway/protocol.md +0 -220
  527. package/docs/zh-CN/gateway/remote-gateway-readme.md +0 -164
  528. package/docs/zh-CN/gateway/remote.md +0 -133
  529. package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -135
  530. package/docs/zh-CN/gateway/sandboxing.md +0 -188
  531. package/docs/zh-CN/gateway/security/index.md +0 -772
  532. package/docs/zh-CN/gateway/tailscale.md +0 -124
  533. package/docs/zh-CN/gateway/tools-invoke-http-api.md +0 -92
  534. package/docs/zh-CN/gateway/troubleshooting.md +0 -758
  535. package/docs/zh-CN/help/debugging.md +0 -160
  536. package/docs/zh-CN/help/environment.md +0 -88
  537. package/docs/zh-CN/help/faq.md +0 -2613
  538. package/docs/zh-CN/help/index.md +0 -28
  539. package/docs/zh-CN/help/scripts.md +0 -35
  540. package/docs/zh-CN/help/testing.md +0 -375
  541. package/docs/zh-CN/help/troubleshooting.md +0 -104
  542. package/docs/zh-CN/index.md +0 -183
  543. package/docs/zh-CN/install/ansible.md +0 -214
  544. package/docs/zh-CN/install/bun.md +0 -65
  545. package/docs/zh-CN/install/development-channels.md +0 -81
  546. package/docs/zh-CN/install/docker.md +0 -525
  547. package/docs/zh-CN/install/exe-dev.md +0 -127
  548. package/docs/zh-CN/install/fly.md +0 -476
  549. package/docs/zh-CN/install/gcp.md +0 -509
  550. package/docs/zh-CN/install/hetzner.md +0 -336
  551. package/docs/zh-CN/install/index.md +0 -193
  552. package/docs/zh-CN/install/installer.md +0 -128
  553. package/docs/zh-CN/install/macos-vm.md +0 -288
  554. package/docs/zh-CN/install/migrating.md +0 -199
  555. package/docs/zh-CN/install/nix.md +0 -99
  556. package/docs/zh-CN/install/node.md +0 -8
  557. package/docs/zh-CN/install/northflank.mdx +0 -56
  558. package/docs/zh-CN/install/railway.mdx +0 -102
  559. package/docs/zh-CN/install/render.mdx +0 -168
  560. package/docs/zh-CN/install/uninstall.md +0 -135
  561. package/docs/zh-CN/install/updating.md +0 -233
  562. package/docs/zh-CN/logging.md +0 -329
  563. package/docs/zh-CN/network.md +0 -59
  564. package/docs/zh-CN/nodes/audio.md +0 -120
  565. package/docs/zh-CN/nodes/camera.md +0 -162
  566. package/docs/zh-CN/nodes/images.md +0 -79
  567. package/docs/zh-CN/nodes/index.md +0 -348
  568. package/docs/zh-CN/nodes/location-command.md +0 -120
  569. package/docs/zh-CN/nodes/media-understanding.md +0 -380
  570. package/docs/zh-CN/nodes/talk.md +0 -97
  571. package/docs/zh-CN/nodes/troubleshooting.md +0 -8
  572. package/docs/zh-CN/nodes/voicewake.md +0 -72
  573. package/docs/zh-CN/perplexity.md +0 -84
  574. package/docs/zh-CN/pi-dev.md +0 -77
  575. package/docs/zh-CN/pi.md +0 -617
  576. package/docs/zh-CN/platforms/android.md +0 -155
  577. package/docs/zh-CN/platforms/digitalocean.md +0 -268
  578. package/docs/zh-CN/platforms/index.md +0 -60
  579. package/docs/zh-CN/platforms/ios.md +0 -114
  580. package/docs/zh-CN/platforms/linux.md +0 -101
  581. package/docs/zh-CN/platforms/mac/bundled-gateway.md +0 -75
  582. package/docs/zh-CN/platforms/mac/canvas.md +0 -128
  583. package/docs/zh-CN/platforms/mac/child-process.md +0 -73
  584. package/docs/zh-CN/platforms/mac/dev-setup.md +0 -109
  585. package/docs/zh-CN/platforms/mac/health.md +0 -41
  586. package/docs/zh-CN/platforms/mac/icon.md +0 -38
  587. package/docs/zh-CN/platforms/mac/logging.md +0 -64
  588. package/docs/zh-CN/platforms/mac/menu-bar.md +0 -88
  589. package/docs/zh-CN/platforms/mac/peekaboo.md +0 -62
  590. package/docs/zh-CN/platforms/mac/permissions.md +0 -46
  591. package/docs/zh-CN/platforms/mac/release.md +0 -92
  592. package/docs/zh-CN/platforms/mac/remote.md +0 -90
  593. package/docs/zh-CN/platforms/mac/signing.md +0 -54
  594. package/docs/zh-CN/platforms/mac/skills.md +0 -40
  595. package/docs/zh-CN/platforms/mac/voice-overlay.md +0 -67
  596. package/docs/zh-CN/platforms/mac/voicewake.md +0 -73
  597. package/docs/zh-CN/platforms/mac/webchat.md +0 -43
  598. package/docs/zh-CN/platforms/mac/xpc.md +0 -68
  599. package/docs/zh-CN/platforms/macos.md +0 -193
  600. package/docs/zh-CN/platforms/oracle.md +0 -310
  601. package/docs/zh-CN/platforms/raspberry-pi.md +0 -365
  602. package/docs/zh-CN/platforms/windows.md +0 -156
  603. package/docs/zh-CN/plugins/agent-tools.md +0 -99
  604. package/docs/zh-CN/plugins/manifest.md +0 -68
  605. package/docs/zh-CN/plugins/voice-call.md +0 -250
  606. package/docs/zh-CN/plugins/zalouser.md +0 -88
  607. package/docs/zh-CN/prose.md +0 -141
  608. package/docs/zh-CN/providers/anthropic.md +0 -159
  609. package/docs/zh-CN/providers/bedrock.md +0 -170
  610. package/docs/zh-CN/providers/claude-max-api-proxy.md +0 -155
  611. package/docs/zh-CN/providers/deepgram.md +0 -97
  612. package/docs/zh-CN/providers/github-copilot.md +0 -67
  613. package/docs/zh-CN/providers/glm.md +0 -39
  614. package/docs/zh-CN/providers/index.md +0 -66
  615. package/docs/zh-CN/providers/minimax.md +0 -206
  616. package/docs/zh-CN/providers/models.md +0 -55
  617. package/docs/zh-CN/providers/moonshot.md +0 -145
  618. package/docs/zh-CN/providers/ollama.md +0 -230
  619. package/docs/zh-CN/providers/openai.md +0 -68
  620. package/docs/zh-CN/providers/opencode.md +0 -41
  621. package/docs/zh-CN/providers/openrouter.md +0 -43
  622. package/docs/zh-CN/providers/qianfan.md +0 -8
  623. package/docs/zh-CN/providers/qwen.md +0 -55
  624. package/docs/zh-CN/providers/synthetic.md +0 -102
  625. package/docs/zh-CN/providers/venice.md +0 -274
  626. package/docs/zh-CN/providers/vercel-ai-gateway.md +0 -57
  627. package/docs/zh-CN/providers/xiaomi.md +0 -68
  628. package/docs/zh-CN/providers/zai.md +0 -41
  629. package/docs/zh-CN/refactor/exec-host.md +0 -323
  630. package/docs/zh-CN/refactor/outbound-session-mirroring.md +0 -90
  631. package/docs/zh-CN/refactor/plugin-sdk.md +0 -221
  632. package/docs/zh-CN/refactor/strict-config.md +0 -100
  633. package/docs/zh-CN/refactor/syminet.md +0 -424
  634. package/docs/zh-CN/reference/AGENTS.default.md +0 -130
  635. package/docs/zh-CN/reference/RELEASING.md +0 -122
  636. package/docs/zh-CN/reference/api-usage-costs.md +0 -136
  637. package/docs/zh-CN/reference/credits.md +0 -34
  638. package/docs/zh-CN/reference/device-models.md +0 -54
  639. package/docs/zh-CN/reference/rpc.md +0 -48
  640. package/docs/zh-CN/reference/session-management-compaction.md +0 -286
  641. package/docs/zh-CN/reference/templates/AGENTS.dev.md +0 -89
  642. package/docs/zh-CN/reference/templates/AGENTS.md +0 -234
  643. package/docs/zh-CN/reference/templates/BOOT.md +0 -17
  644. package/docs/zh-CN/reference/templates/BOOTSTRAP.md +0 -68
  645. package/docs/zh-CN/reference/templates/IDENTITY.dev.md +0 -54
  646. package/docs/zh-CN/reference/templates/IDENTITY.md +0 -36
  647. package/docs/zh-CN/reference/templates/SYMICORE.dev.md +0 -83
  648. package/docs/zh-CN/reference/templates/SYMICORE.md +0 -49
  649. package/docs/zh-CN/reference/templates/SYMIPULSE.md +0 -69
  650. package/docs/zh-CN/reference/templates/TOOLS.dev.md +0 -31
  651. package/docs/zh-CN/reference/templates/TOOLS.md +0 -53
  652. package/docs/zh-CN/reference/templates/USER.dev.md +0 -25
  653. package/docs/zh-CN/reference/templates/USER.md +0 -30
  654. package/docs/zh-CN/reference/test.md +0 -57
  655. package/docs/zh-CN/reference/token-use.md +0 -119
  656. package/docs/zh-CN/reference/transcript-hygiene.md +0 -109
  657. package/docs/zh-CN/reference/wizard.md +0 -9
  658. package/docs/zh-CN/security/formal-verification.md +0 -171
  659. package/docs/zh-CN/start/bootstrapping.md +0 -9
  660. package/docs/zh-CN/start/docs-directory.md +0 -69
  661. package/docs/zh-CN/start/getting-started.md +0 -201
  662. package/docs/zh-CN/start/hubs.md +0 -199
  663. package/docs/zh-CN/start/lore.md +0 -223
  664. package/docs/zh-CN/start/onboarding.md +0 -105
  665. package/docs/zh-CN/start/quickstart.md +0 -88
  666. package/docs/zh-CN/start/setup.md +0 -151
  667. package/docs/zh-CN/start/showcase.md +0 -421
  668. package/docs/zh-CN/start/symi.md +0 -244
  669. package/docs/zh-CN/start/wizard.md +0 -326
  670. package/docs/zh-CN/tools/agent-send.md +0 -58
  671. package/docs/zh-CN/tools/apply-patch.md +0 -57
  672. package/docs/zh-CN/tools/browser-linux-troubleshooting.md +0 -144
  673. package/docs/zh-CN/tools/browser-login.md +0 -75
  674. package/docs/zh-CN/tools/browser.md +0 -553
  675. package/docs/zh-CN/tools/chrome-extension.md +0 -183
  676. package/docs/zh-CN/tools/creating-skills.md +0 -61
  677. package/docs/zh-CN/tools/elevated.md +0 -62
  678. package/docs/zh-CN/tools/exec-approvals.md +0 -233
  679. package/docs/zh-CN/tools/exec.md +0 -169
  680. package/docs/zh-CN/tools/firecrawl.md +0 -68
  681. package/docs/zh-CN/tools/index.md +0 -508
  682. package/docs/zh-CN/tools/llm-task.md +0 -117
  683. package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +0 -400
  684. package/docs/zh-CN/tools/pipeline.md +0 -349
  685. package/docs/zh-CN/tools/plugin.md +0 -639
  686. package/docs/zh-CN/tools/reactions.md +0 -28
  687. package/docs/zh-CN/tools/skills-config.md +0 -78
  688. package/docs/zh-CN/tools/skills.md +0 -279
  689. package/docs/zh-CN/tools/slash-commands.md +0 -196
  690. package/docs/zh-CN/tools/subagents.md +0 -167
  691. package/docs/zh-CN/tools/symihub.md +0 -209
  692. package/docs/zh-CN/tools/thinking.md +0 -80
  693. package/docs/zh-CN/tools/web.md +0 -257
  694. package/docs/zh-CN/tts.md +0 -373
  695. package/docs/zh-CN/vps.md +0 -47
  696. package/docs/zh-CN/web/control-ui.md +0 -190
  697. package/docs/zh-CN/web/dashboard.md +0 -53
  698. package/docs/zh-CN/web/index.md +0 -118
  699. package/docs/zh-CN/web/tui.md +0 -166
  700. package/docs/zh-CN/web/webchat.md +0 -56
  701. package/extensions/imessage/index.ts +0 -17
  702. package/extensions/imessage/node_modules/.bin/symi +0 -21
  703. package/extensions/imessage/package.json +0 -15
  704. package/extensions/imessage/src/channel.outbound.test.ts +0 -66
  705. package/extensions/imessage/src/channel.ts +0 -298
  706. package/extensions/imessage/src/runtime.ts +0 -14
  707. package/extensions/imessage/symi.plugin.json +0 -9
  708. package/extensions/line/index.ts +0 -19
  709. package/extensions/line/node_modules/.bin/symi +0 -21
  710. package/extensions/line/package.json +0 -30
  711. package/extensions/line/src/card-command.ts +0 -344
  712. package/extensions/line/src/channel.logout.test.ts +0 -133
  713. package/extensions/line/src/channel.sendPayload.test.ts +0 -312
  714. package/extensions/line/src/channel.startup.test.ts +0 -133
  715. package/extensions/line/src/channel.ts +0 -801
  716. package/extensions/line/src/runtime.ts +0 -14
  717. package/extensions/line/symi.plugin.json +0 -9
  718. package/extensions/signal/index.ts +0 -17
  719. package/extensions/signal/node_modules/.bin/symi +0 -21
  720. package/extensions/signal/package.json +0 -15
  721. package/extensions/signal/src/channel.ts +0 -302
  722. package/extensions/signal/src/runtime.ts +0 -14
  723. package/extensions/signal/symi.plugin.json +0 -9
  724. package/extensions/telegram/index.ts +0 -17
  725. package/extensions/telegram/node_modules/.bin/symi +0 -21
  726. package/extensions/telegram/package.json +0 -15
  727. package/extensions/telegram/src/channel.test.ts +0 -125
  728. package/extensions/telegram/src/channel.ts +0 -560
  729. package/extensions/telegram/src/runtime.ts +0 -14
  730. package/extensions/telegram/symi.plugin.json +0 -9
  731. package/extensions/whatsapp/index.ts +0 -17
  732. package/extensions/whatsapp/node_modules/.bin/symi +0 -21
  733. package/extensions/whatsapp/package.json +0 -15
  734. package/extensions/whatsapp/src/channel.ts +0 -465
  735. package/extensions/whatsapp/src/resolve-target.test.ts +0 -170
  736. package/extensions/whatsapp/src/runtime.ts +0 -14
  737. package/extensions/whatsapp/symi.plugin.json +0 -9
@@ -1,164 +0,0 @@
1
- ---
2
- read_when: Connecting the macOS app to a remote gateway over SSH
3
- summary: Symi.app 连接远程 Gateway 网关的 SSH 隧道设置
4
- title: 远程 Gateway 网关设置
5
- x-i18n:
6
- generated_at: "2026-02-03T07:48:37Z"
7
- model: claude-opus-4-5
8
- provider: pi
9
- source_hash: b1ae266a7cb4911b82ae3ec6cb98b1b57aca592aeb1dc8b74bbce9b0ea9dd1d1
10
- source_path: gateway/remote-gateway-readme.md
11
- workflow: 15
12
- ---
13
-
14
- # 使用远程 Gateway 网关运行 Symi.app
15
-
16
- Symi.app 使用 SSH 隧道连接到远程 Gateway 网关。本指南向你展示如何设置。
17
-
18
- ## 概述
19
-
20
- ```
21
- ┌─────────────────────────────────────────────────────────────┐
22
- │ Client Machine │
23
- │ │
24
- │ Symi.app ──► ws://127.0.0.1:18789 (local port) │
25
- │ │ │
26
- │ ▼ │
27
- │ SSH Tunnel ────────────────────────────────────────────────│
28
- │ │ │
29
- └─────────────────────┼──────────────────────────────────────┘
30
-
31
-
32
- ┌─────────────────────────────────────────────────────────────┐
33
- │ Remote Machine │
34
- │ │
35
- │ Gateway WebSocket ──► ws://127.0.0.1:18789 ──► │
36
- │ │
37
- └─────────────────────────────────────────────────────────────┘
38
- ```
39
-
40
- ## 快速设置
41
-
42
- ### 步骤 1:添加 SSH 配置
43
-
44
- 编辑 `~/.ssh/config` 并添加:
45
-
46
- ```ssh
47
- Host remote-gateway
48
- HostName <REMOTE_IP> # e.g., 172.27.187.184
49
- User <REMOTE_USER> # e.g., jefferson
50
- LocalForward 18789 127.0.0.1:18789
51
- IdentityFile ~/.ssh/id_rsa
52
- ```
53
-
54
- 将 `<REMOTE_IP>` 和 `<REMOTE_USER>` 替换为你的值。
55
-
56
- ### 步骤 2:复制 SSH 密钥
57
-
58
- 将你的公钥复制到远程机器(输入一次密码):
59
-
60
- ```bash
61
- ssh-copy-id -i ~/.ssh/id_rsa <REMOTE_USER>@<REMOTE_IP>
62
- ```
63
-
64
- ### 步骤 3:设置 Gateway 网关令牌
65
-
66
- ```bash
67
- launchctl setenv SYMI_GATEWAY_TOKEN "<your-token>"
68
- ```
69
-
70
- ### 步骤 4:启动 SSH 隧道
71
-
72
- ```bash
73
- ssh -N remote-gateway &
74
- ```
75
-
76
- ### 步骤 5:重启 Symi.app
77
-
78
- ```bash
79
- # Quit Symi.app (⌘Q), then reopen:
80
- open /path/to/Symi.app
81
- ```
82
-
83
- 应用现在将通过 SSH 隧道连接到远程 Gateway 网关。
84
-
85
- ---
86
-
87
- ## 登录时自动启动隧道
88
-
89
- 要在登录时自动启动 SSH 隧道,请创建一个 Launch Agent。
90
-
91
- ### 创建 PLIST 文件
92
-
93
- 将此保存为 `~/Library/LaunchAgents/bot.molt.ssh-tunnel.plist`:
94
-
95
- ```xml
96
- <?xml version="1.0" encoding="UTF-8"?>
97
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
98
- <plist version="1.0">
99
- <dict>
100
- <key>Label</key>
101
- <string>bot.molt.ssh-tunnel</string>
102
- <key>ProgramArguments</key>
103
- <array>
104
- <string>/usr/bin/ssh</string>
105
- <string>-N</string>
106
- <string>remote-gateway</string>
107
- </array>
108
- <key>KeepAlive</key>
109
- <true/>
110
- <key>RunAtLoad</key>
111
- <true/>
112
- </dict>
113
- </plist>
114
- ```
115
-
116
- ### 加载 Launch Agent
117
-
118
- ```bash
119
- launchctl bootstrap gui/$UID ~/Library/LaunchAgents/bot.molt.ssh-tunnel.plist
120
- ```
121
-
122
- 隧道现在将:
123
-
124
- - 登录时自动启动
125
- - 崩溃时重新启动
126
- - 在后台持续运行
127
-
128
- 旧版注意事项:如果存在任何遗留的 `com.symi.ssh-tunnel` LaunchAgent,请将其删除。
129
-
130
- ---
131
-
132
- ## 故障排除
133
-
134
- **检查隧道是否正在运行:**
135
-
136
- ```bash
137
- ps aux | grep "ssh -N remote-gateway" | grep -v grep
138
- lsof -i :18789
139
- ```
140
-
141
- **重启隧道:**
142
-
143
- ```bash
144
- launchctl kickstart -k gui/$UID/bot.molt.ssh-tunnel
145
- ```
146
-
147
- **停止隧道:**
148
-
149
- ```bash
150
- launchctl bootout gui/$UID/bot.molt.ssh-tunnel
151
- ```
152
-
153
- ---
154
-
155
- ## 工作原理
156
-
157
- | 组件 | 功能 |
158
- | ------------------------------------ | ------------------------------------- |
159
- | `LocalForward 18789 127.0.0.1:18789` | 将本地端口 18789 转发到远程端口 18789 |
160
- | `ssh -N` | SSH 不执行远程命令(仅端口转发) |
161
- | `KeepAlive` | 隧道崩溃时自动重启 |
162
- | `RunAtLoad` | 代理加载时启动隧道 |
163
-
164
- Symi.app 连接到你的客户端机器上的 `ws://127.0.0.1:18789`。SSH 隧道将该连接转发到运行 Gateway 网关的远程机器的端口 18789。
@@ -1,133 +0,0 @@
1
- ---
2
- read_when:
3
- - 运行或排查远程 Gateway 网关设置问题
4
- summary: 使用 SSH 隧道(Gateway WS)和 tailnet 进行远程访问
5
- title: 远程访问
6
- x-i18n:
7
- generated_at: "2026-02-03T07:48:40Z"
8
- model: claude-opus-4-5
9
- provider: pi
10
- source_hash: 7e00bd2e048dfbd829913bef0f40a791b8d8c3e2f8a115fc0a13b03f136ebc93
11
- source_path: gateway/remote.md
12
- workflow: 15
13
- ---
14
-
15
- # 远程访问(SSH、隧道和 tailnet)
16
-
17
- 本仓库通过在专用主机(桌面/服务器)上运行单个 Gateway 网关(主节点)并让客户端连接到它来支持"SSH 远程"。
18
-
19
- - 对于**操作员(你/macOS 应用)**:SSH 隧道是通用的回退方案。
20
- - 对于**节点(iOS/Android 和未来的设备)**:连接到 Gateway **WebSocket**(LAN/tailnet 或根据需要通过 SSH 隧道)。
21
-
22
- ## 核心理念
23
-
24
- - Gateway WebSocket 绑定到你配置端口的 **loopback**(默认为 18789)。
25
- - 对于远程使用,你通过 SSH 转发该 loopback 端口(或使用 tailnet/VPN 减少隧道需求)。
26
-
27
- ## 常见的 VPN/tailnet 设置(智能体所在位置)
28
-
29
- 将 **Gateway 网关主机**视为"智能体所在的位置"。它拥有会话、身份验证配置文件、渠道和状态。
30
- 你的笔记本电脑/桌面(和节点)连接到该主机。
31
-
32
- ### 1) tailnet 中始终在线的 Gateway 网关(VPS 或家庭服务器)
33
-
34
- 在持久主机上运行 Gateway 网关,并通过 **Tailscale** 或 SSH 访问它。
35
-
36
- - **最佳用户体验:** 保持 `gateway.bind: "loopback"` 并使用 **Tailscale Serve** 作为控制 UI。
37
- - **回退方案:** 保持 loopback + 从任何需要访问的机器建立 SSH 隧道。
38
- - **示例:** [exe.dev](/install/exe-dev)(简易 VM)或 [Hetzner](/install/hetzner)(生产 VPS)。
39
-
40
- 当你的笔记本电脑经常休眠但你希望智能体始终在线时,这是理想的选择。
41
-
42
- ### 2) 家庭桌面运行 Gateway 网关,笔记本电脑作为远程控制
43
-
44
- 笔记本电脑**不**运行智能体。它远程连接:
45
-
46
- - 使用 macOS 应用的 **Remote over SSH** 模式(设置 → 通用 → "Symi runs")。
47
- - 应用打开并管理隧道,因此 WebChat + 健康检查"直接工作"。
48
-
49
- 操作手册:[macOS 远程访问](/platforms/mac/remote)。
50
-
51
- ### 3) 笔记本电脑运行 Gateway 网关,从其他机器远程访问
52
-
53
- 保持 Gateway 网关在本地但安全地暴露它:
54
-
55
- - 从其他机器到笔记本电脑的 SSH 隧道,或
56
- - Tailscale Serve 控制 UI 并保持 Gateway 网关仅 loopback。
57
-
58
- 指南:[Tailscale](/gateway/tailscale) 和 [Web 概览](/web)。
59
-
60
- ## 命令流(什么在哪里运行)
61
-
62
- 一个 Gateway 网关服务拥有状态 + 渠道。节点是外围设备。
63
-
64
- 流程示例(Telegram → 节点):
65
-
66
- - Telegram 消息到达 **Gateway 网关**。
67
- - Gateway 网关运行**智能体**并决定是否调用节点工具。
68
- - Gateway 网关通过 Gateway WebSocket 调用**节点**(`node.*` RPC)。
69
- - 节点返回结果;Gateway 网关回复到 Telegram。
70
-
71
- 说明:
72
-
73
- - **节点不运行 Gateway 网关服务。** 除非你有意运行隔离的配置文件,否则每台主机只应运行一个 Gateway 网关(参见[多 Gateway 网关](/gateway/multiple-gateways))。
74
- - macOS 应用的"节点模式"只是通过 Gateway WebSocket 的节点客户端。
75
-
76
- ## SSH 隧道(CLI + 工具)
77
-
78
- 创建到远程 Gateway WS 的本地隧道:
79
-
80
- ```bash
81
- ssh -N -L 18789:127.0.0.1:18789 user@host
82
- ```
83
-
84
- 隧道建立后:
85
-
86
- - `symi health` 和 `symi status --deep` 现在通过 `ws://127.0.0.1:18789` 访问远程 Gateway 网关。
87
- - `symi gateway {status,health,send,agent,call}` 在需要时也可以通过 `--url` 指定转发的 URL。
88
-
89
- 注意:将 `18789` 替换为你配置的 `gateway.port`(或 `--port`/`SYMI_GATEWAY_PORT`)。
90
-
91
- ## CLI 远程默认值
92
-
93
- 你可以持久化远程目标,以便 CLI 命令默认使用它:
94
-
95
- ```json5
96
- {
97
- gateway: {
98
- mode: "remote",
99
- remote: {
100
- url: "ws://127.0.0.1:18789",
101
- token: "your-token",
102
- },
103
- },
104
- }
105
- ```
106
-
107
- 当 Gateway 网关仅限 loopback 时,保持 URL 为 `ws://127.0.0.1:18789` 并先打开 SSH 隧道。
108
-
109
- ## 通过 SSH 的聊天 UI
110
-
111
- WebChat 不再使用单独的 HTTP 端口。SwiftUI 聊天 UI 直接连接到 Gateway WebSocket。
112
-
113
- - 通过 SSH 转发 `18789`(见上文),然后让客户端连接到 `ws://127.0.0.1:18789`。
114
- - 在 macOS 上,优先使用应用的"Remote over SSH"模式,它会自动管理隧道。
115
-
116
- ## macOS 应用"Remote over SSH"
117
-
118
- macOS 菜单栏应用可以端到端驱动相同的设置(远程状态检查、WebChat 和语音唤醒转发)。
119
-
120
- 操作手册:[macOS 远程访问](/platforms/mac/remote)。
121
-
122
- ## 安全规则(远程/VPN)
123
-
124
- 简短版本:**保持 Gateway 网关仅 loopback**,除非你确定需要绑定。
125
-
126
- - **Loopback + SSH/Tailscale Serve** 是最安全的默认设置(无公开暴露)。
127
- - **非 loopback 绑定**(`lan`/`tailnet`/`custom`,或当 loopback 不可用时的 `auto`)必须使用身份验证令牌/密码。
128
- - `gateway.remote.token` **仅**用于远程 CLI 调用——它**不**启用本地身份验证。
129
- - `gateway.remote.tlsFingerprint` 在使用 `wss://` 时固定远程 TLS 证书。
130
- - 当 `gateway.auth.allowTailscale: true` 时,**Tailscale Serve** 可以通过身份标头进行身份验证。如果你想使用令牌/密码,请将其设置为 `false`。
131
- - 将浏览器控制视为操作员访问:仅限 tailnet + 有意的节点配对。
132
-
133
- 深入了解:[安全](/gateway/security)。
@@ -1,135 +0,0 @@
1
- ---
2
- read_when: You hit 'sandbox jail' or see a tool/elevated refusal and want the exact config key to change.
3
- status: active
4
- summary: 工具被阻止的原因:沙箱运行时、工具允许/拒绝策略和提权 exec 限制
5
- title: 沙箱 vs 工具策略 vs 提权
6
- x-i18n:
7
- generated_at: "2026-02-03T07:48:55Z"
8
- model: claude-opus-4-5
9
- provider: pi
10
- source_hash: 863ea5e6d137dfb61f12bd686b9557d6df1fd0c13ba5f15861bf72248bc975f1
11
- source_path: gateway/sandbox-vs-tool-policy-vs-elevated.md
12
- workflow: 15
13
- ---
14
-
15
- # 沙箱 vs 工具策略 vs 提权
16
-
17
- Symi 有三个相关(但不同)的控制:
18
-
19
- 1. **沙箱**(`agents.defaults.sandbox.*` / `agents.list[].sandbox.*`)决定**工具在哪里运行**(Docker vs 主机)。
20
- 2. **工具策略**(`tools.*`、`tools.sandbox.tools.*`、`agents.list[].tools.*`)决定**哪些工具可用/允许**。
21
- 3. **提权**(`tools.elevated.*`、`agents.list[].tools.elevated.*`)是一个**仅限 exec 的逃逸通道**,允许在沙箱隔离时在主机上运行。
22
-
23
- ## 快速调试
24
-
25
- 使用检查器查看 Symi *实际*在做什么:
26
-
27
- ```bash
28
- symi sandbox explain
29
- symi sandbox explain --session agent:main:main
30
- symi sandbox explain --agent work
31
- symi sandbox explain --json
32
- ```
33
-
34
- 它会打印:
35
-
36
- - 生效的沙箱模式/范围/工作区访问
37
- - 会话当前是否被沙箱隔离(主 vs 非主)
38
- - 生效的沙箱工具允许/拒绝(以及它来自智能体/全局/默认哪里)
39
- - 提权限制和修复键路径
40
-
41
- ## 沙箱:工具在哪里运行
42
-
43
- 沙箱隔离由 `agents.defaults.sandbox.mode` 控制:
44
-
45
- - `"off"`:所有内容在主机上运行。
46
- - `"non-main"`:仅非主会话被沙箱隔离(群组/渠道的常见"意外")。
47
- - `"all"`:所有内容都被沙箱隔离。
48
-
49
- 参见[沙箱隔离](/gateway/sandboxing)了解完整矩阵(范围、工作区挂载、镜像)。
50
-
51
- ### 绑定挂载(安全快速检查)
52
-
53
- - `docker.binds` *穿透*沙箱文件系统:你挂载的任何内容在容器内以你设置的模式(`:ro` 或 `:rw`)可见。
54
- - 如果省略模式,默认为读写;对于源代码/密钥优先使用 `:ro`。
55
- - `scope: "shared"` 忽略每个智能体的绑定(仅全局绑定适用)。
56
- - 绑定 `/var/run/docker.sock` 实际上将主机控制权交给沙箱;只有在有意为之时才这样做。
57
- - 工作区访问(`workspaceAccess: "ro"`/`"rw"`)独立于绑定模式。
58
-
59
- ## 工具策略:哪些工具存在/可调用
60
-
61
- 两个层次很重要:
62
-
63
- - **工具配置文件**:`tools.profile` 和 `agents.list[].tools.profile`(基础允许列表)
64
- - **提供商工具配置文件**:`tools.byProvider[provider].profile` 和 `agents.list[].tools.byProvider[provider].profile`
65
- - **全局/每个智能体工具策略**:`tools.allow`/`tools.deny` 和 `agents.list[].tools.allow`/`agents.list[].tools.deny`
66
- - **提供商工具策略**:`tools.byProvider[provider].allow/deny` 和 `agents.list[].tools.byProvider[provider].allow/deny`
67
- - **沙箱工具策略**(仅在沙箱隔离时适用):`tools.sandbox.tools.allow`/`tools.sandbox.tools.deny` 和 `agents.list[].tools.sandbox.tools.*`
68
-
69
- 经验法则:
70
-
71
- - `deny` 始终优先。
72
- - 如果 `allow` 非空,其他所有内容都被视为阻止。
73
- - 工具策略是硬性停止:`/exec` 无法覆盖被拒绝的 `exec` 工具。
74
- - `/exec` 仅为授权发送者更改会话默认值;它不授予工具访问权限。
75
- 提供商工具键接受 `provider`(例如 `google-antigravity`)或 `provider/model`(例如 `openai/gpt-5.2`)。
76
-
77
- ### 工具组(简写)
78
-
79
- 工具策略(全局、智能体、沙箱)支持 `group:*` 条目,它们会展开为多个工具:
80
-
81
- ```json5
82
- {
83
- tools: {
84
- sandbox: {
85
- tools: {
86
- allow: ["group:runtime", "group:fs", "group:sessions", "group:memory"],
87
- },
88
- },
89
- },
90
- }
91
- ```
92
-
93
- 可用的组:
94
-
95
- - `group:runtime`:`exec`、`bash`、`process`
96
- - `group:fs`:`read`、`write`、`edit`、`apply_patch`
97
- - `group:sessions`:`sessions_list`、`sessions_history`、`sessions_send`、`sessions_spawn`、`session_status`
98
- - `group:memory`:`memory_search`、`memory_get`
99
- - `group:ui`:`browser`、`canvas`
100
- - `group:automation`:`cron`、`gateway`
101
- - `group:messaging`:`message`
102
- - `group:nodes`:`nodes`
103
- - `group:symi`:所有内置 Symi 工具(不包括提供商插件)
104
-
105
- ## 提权:仅限 exec 的"在主机上运行"
106
-
107
- 提权**不会**授予额外工具;它仅影响 `exec`。
108
-
109
- - 如果你被沙箱隔离,`/elevated on`(或带 `elevated: true` 的 `exec`)在主机上运行(审批可能仍然适用)。
110
- - 使用 `/elevated full` 跳过该会话的 exec 审批。
111
- - 如果你已经直接运行,提权实际上是空操作(仍然受限)。
112
- - 提权**不是** skill 范围的,**不会**覆盖工具允许/拒绝。
113
- - `/exec` 与提权是分开的。它仅为授权发送者调整每个会话的 exec 默认值。
114
-
115
- 限制:
116
-
117
- - 启用:`tools.elevated.enabled`(以及可选的 `agents.list[].tools.elevated.enabled`)
118
- - 发送者允许列表:`tools.elevated.allowFrom.<provider>`(以及可选的 `agents.list[].tools.elevated.allowFrom.<provider>`)
119
-
120
- 参见[提权模式](/tools/elevated)。
121
-
122
- ## 常见"沙箱困境"修复
123
-
124
- ### "工具 X 被沙箱工具策略阻止"
125
-
126
- 修复键(选一个):
127
-
128
- - 禁用沙箱:`agents.defaults.sandbox.mode=off`(或每个智能体 `agents.list[].sandbox.mode=off`)
129
- - 在沙箱内允许该工具:
130
- - 从 `tools.sandbox.tools.deny` 中移除它(或每个智能体 `agents.list[].tools.sandbox.tools.deny`)
131
- - 或将它添加到 `tools.sandbox.tools.allow`(或每个智能体 allow)
132
-
133
- ### "我以为这是主会话,为什么被沙箱隔离了?"
134
-
135
- 在 `"non-main"` 模式下,群组/渠道键*不是*主会话。使用主会话键(由 `sandbox explain` 显示)或将模式切换为 `"off"`。
@@ -1,188 +0,0 @@
1
- ---
2
- read_when: You want a dedicated explanation of sandboxing or need to tune agents.defaults.sandbox.
3
- status: active
4
- summary: Symi 沙箱隔离的工作原理:模式、作用域、工作区访问和镜像
5
- title: 沙箱隔离
6
- x-i18n:
7
- generated_at: "2026-02-03T07:49:29Z"
8
- model: claude-opus-4-5
9
- provider: pi
10
- source_hash: 184fc53001fc6b2847bbb1963cc9c54475d62f74555a581a262a448a0333a209
11
- source_path: gateway/sandboxing.md
12
- workflow: 15
13
- ---
14
-
15
- # 沙箱隔离
16
-
17
- Symi 可以**在 Docker 容器内运行工具**以减少影响范围。
18
- 这是**可选的**,由配置控制(`agents.defaults.sandbox` 或 `agents.list[].sandbox`)。如果沙箱隔离关闭,工具在主机上运行。
19
- Gateway 网关保留在主机上;启用时工具执行在隔离的沙箱中运行。
20
-
21
- 这不是完美的安全边界,但当模型做出愚蠢行为时,它实质性地限制了文件系统和进程访问。
22
-
23
- ## 什么会被沙箱隔离
24
-
25
- - 工具执行(`exec`、`read`、`write`、`edit`、`apply_patch`、`process` 等)。
26
- - 可选的沙箱浏览器(`agents.defaults.sandbox.browser`)。
27
- - 默认情况下,当浏览器工具需要时,沙箱浏览器会自动启动(确保 CDP 可达)。
28
- 通过 `agents.defaults.sandbox.browser.autoStart` 和 `agents.defaults.sandbox.browser.autoStartTimeoutMs` 配置。
29
- - `agents.defaults.sandbox.browser.allowHostControl` 允许沙箱会话显式定位主机浏览器。
30
- - 可选的允许列表限制 `target: "custom"`:`allowedControlUrls`、`allowedControlHosts`、`allowedControlPorts`。
31
-
32
- 不被沙箱隔离:
33
-
34
- - Gateway 网关进程本身。
35
- - 任何明确允许在主机上运行的工具(例如 `tools.elevated`)。
36
- - **提权 exec 在主机上运行并绕过沙箱隔离。**
37
- - 如果沙箱隔离关闭,`tools.elevated` 不会改变执行(已经在主机上)。参见[提权模式](/tools/elevated)。
38
-
39
- ## 模式
40
-
41
- `agents.defaults.sandbox.mode` 控制**何时**使用沙箱隔离:
42
-
43
- - `"off"`:不使用沙箱隔离。
44
- - `"non-main"`:仅沙箱隔离**非主**会话(如果你想让普通聊天在主机上运行,这是默认值)。
45
- - `"all"`:每个会话都在沙箱中运行。
46
- 注意:`"non-main"` 基于 `session.mainKey`(默认 `"main"`),而不是智能体 ID。
47
- 群组/频道会话使用它们自己的键,因此它们算作非主会话并将被沙箱隔离。
48
-
49
- ## 作用域
50
-
51
- `agents.defaults.sandbox.scope` 控制**创建多少容器**:
52
-
53
- - `"session"`(默认):每个会话一个容器。
54
- - `"agent"`:每个智能体一个容器。
55
- - `"shared"`:所有沙箱会话共享一个容器。
56
-
57
- ## 工作区访问
58
-
59
- `agents.defaults.sandbox.workspaceAccess` 控制**沙箱可以看到什么**:
60
-
61
- - `"none"`(默认):工具看到 `~/.symi/sandboxes` 下的沙箱工作区。
62
- - `"ro"`:以只读方式在 `/agent` 挂载智能体工作区(禁用 `write`/`edit`/`apply_patch`)。
63
- - `"rw"`:以读写方式在 `/workspace` 挂载智能体工作区。
64
-
65
- 入站媒体被复制到活动沙箱工作区(`media/inbound/*`)。
66
- Skills 注意事项:`read` 工具以沙箱为根。使用 `workspaceAccess: "none"` 时,Symi 将符合条件的 Skills 镜像到沙箱工作区(`.../skills`)以便可以读取。使用 `"rw"` 时,工作区 Skills 可从 `/workspace/skills` 读取。
67
-
68
- ## 自定义绑定挂载
69
-
70
- `agents.defaults.sandbox.docker.binds` 将额外的主机目录挂载到容器中。
71
- 格式:`host:container:mode`(例如 `"/home/user/source:/source:rw"`)。
72
-
73
- 全局和每智能体的绑定是**合并**的(不是替换)。在 `scope: "shared"` 下,每智能体的绑定被忽略。
74
-
75
- 示例(只读源码 + docker 套接字):
76
-
77
- ```json5
78
- {
79
- agents: {
80
- defaults: {
81
- sandbox: {
82
- docker: {
83
- binds: ["/home/user/source:/source:ro", "/var/run/docker.sock:/var/run/docker.sock"],
84
- },
85
- },
86
- },
87
- list: [
88
- {
89
- id: "build",
90
- sandbox: {
91
- docker: {
92
- binds: ["/mnt/cache:/cache:rw"],
93
- },
94
- },
95
- },
96
- ],
97
- },
98
- }
99
- ```
100
-
101
- 安全注意事项:
102
-
103
- - 绑定绕过沙箱文件系统:它们以你设置的任何模式(`:ro` 或 `:rw`)暴露主机路径。
104
- - 敏感挂载(例如 `docker.sock`、密钥、SSH 密钥)应该是 `:ro`,除非绝对必要。
105
- - 如果你只需要对工作区的读取访问,请结合 `workspaceAccess: "ro"`;绑定模式保持独立。
106
- - 参见[沙箱 vs 工具策略 vs 提权](/gateway/sandbox-vs-tool-policy-vs-elevated)了解绑定如何与工具策略和提权 exec 交互。
107
-
108
- ## 镜像 + 设置
109
-
110
- 默认镜像:`symi-sandbox:bookworm-slim`
111
-
112
- 构建一次:
113
-
114
- ```bash
115
- scripts/sandbox-setup.sh
116
- ```
117
-
118
- 注意:默认镜像**不**包含 Node。如果 Skills 需要 Node(或其他运行时),要么构建自定义镜像,要么通过 `sandbox.docker.setupCommand` 安装(需要网络出口 + 可写根 + root 用户)。
119
-
120
- 沙箱浏览器镜像:
121
-
122
- ```bash
123
- scripts/sandbox-browser-setup.sh
124
- ```
125
-
126
- 默认情况下,沙箱容器运行时**没有网络**。
127
- 通过 `agents.defaults.sandbox.docker.network` 覆盖。
128
-
129
- Docker 安装和容器化 Gateway 网关在此:
130
- [Docker](/install/docker)
131
-
132
- ## setupCommand(一次性容器设置)
133
-
134
- `setupCommand` 在沙箱容器创建后**运行一次**(不是每次运行)。
135
- 它通过 `sh -lc` 在容器内执行。
136
-
137
- 路径:
138
-
139
- - 全局:`agents.defaults.sandbox.docker.setupCommand`
140
- - 每智能体:`agents.list[].sandbox.docker.setupCommand`
141
-
142
- 常见陷阱:
143
-
144
- - 默认 `docker.network` 是 `"none"`(无出口),因此包安装会失败。
145
- - `readOnlyRoot: true` 阻止写入;设置 `readOnlyRoot: false` 或构建自定义镜像。
146
- - `user` 必须是 root 才能安装包(省略 `user` 或设置 `user: "0:0"`)。
147
- - 沙箱 exec **不**继承主机 `process.env`。使用 `agents.defaults.sandbox.docker.env`(或自定义镜像)设置 Skills API 密钥。
148
-
149
- ## 工具策略 + 逃逸通道
150
-
151
- 工具允许/拒绝策略仍在沙箱规则之前应用。如果工具在全局或每智能体被拒绝,沙箱隔离不会恢复它。
152
-
153
- `tools.elevated` 是一个显式的逃逸通道,在主机上运行 `exec`。
154
- `/exec` 指令仅适用于授权发送者并按会话持久化;要硬禁用 `exec`,使用工具策略拒绝(参见[沙箱 vs 工具策略 vs 提权](/gateway/sandbox-vs-tool-policy-vs-elevated))。
155
-
156
- 调试:
157
-
158
- - 使用 `symi sandbox explain` 检查生效的沙箱模式、工具策略和修复配置键。
159
- - 参见[沙箱 vs 工具策略 vs 提权](/gateway/sandbox-vs-tool-policy-vs-elevated)了解"为什么被阻止?"的心智模型。
160
- 保持锁定。
161
-
162
- ## 多智能体覆盖
163
-
164
- 每个智能体可以覆盖沙箱 + 工具:
165
- `agents.list[].sandbox` 和 `agents.list[].tools`(加上 `agents.list[].tools.sandbox.tools` 用于沙箱工具策略)。
166
- 参见[多智能体沙箱与工具](/tools/multi-agent-sandbox-tools)了解优先级。
167
-
168
- ## 最小启用示例
169
-
170
- ```json5
171
- {
172
- agents: {
173
- defaults: {
174
- sandbox: {
175
- mode: "non-main",
176
- scope: "session",
177
- workspaceAccess: "none",
178
- },
179
- },
180
- },
181
- }
182
- ```
183
-
184
- ## 相关文档
185
-
186
- - [沙箱配置](/gateway/configuration#agentsdefaults-sandbox)
187
- - [多智能体沙箱与工具](/tools/multi-agent-sandbox-tools)
188
- - [安全](/gateway/security)