@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,371 +0,0 @@
1
- ---
2
- read_when: You want multiple isolated agents (workspaces + auth) in one gateway process.
3
- status: active
4
- summary: 多智能体路由:隔离的智能体、渠道账户和绑定
5
- title: 多智能体路由
6
- x-i18n:
7
- generated_at: "2026-02-03T07:47:38Z"
8
- model: claude-opus-4-5
9
- provider: pi
10
- source_hash: 1848266c632cd6c96ff99ea9eb9c17bbfe6d35fa1f90450853083e7c548d5324
11
- source_path: concepts/multi-agent.md
12
- workflow: 15
13
- ---
14
-
15
- # 多智能体路由
16
-
17
- 目标:多个*隔离的*智能体(独立的工作区 + `agentDir` + 会话),加上多个渠道账户(例如两个 WhatsApp)在一个运行的 Gateway 网关中。入站消息通过绑定路由到智能体。
18
-
19
- ## 什么是"一个智能体"?
20
-
21
- 一个**智能体**是一个完全独立作用域的大脑,拥有自己的:
22
-
23
- - **工作区**(文件、AGENTS.md/SYMICORE.md/USER.md、本地笔记、人设规则)。
24
- - **状态目录**(`agentDir`)用于认证配置文件、模型注册表和每智能体配置。
25
- - **会话存储**(聊天历史 + 路由状态)位于 `~/.symi/agents/<agentId>/sessions` 下。
26
-
27
- 认证配置文件是**每智能体独立的**。每个智能体从自己的位置读取:
28
-
29
- ```
30
- ~/.symi/agents/<agentId>/agent/auth-profiles.json
31
- ```
32
-
33
- 主智能体凭证**不会**自动共享。切勿在智能体之间重用 `agentDir`(这会导致认证/会话冲突)。如果你想共享凭证,请将 `auth-profiles.json` 复制到另一个智能体的 `agentDir`。
34
-
35
- Skills 通过每个工作区的 `skills/` 文件夹实现每智能体独立,共享的 Skills 可从 `~/.symi/skills` 获取。参见 [Skills:每智能体 vs 共享](/tools/skills#per-agent-vs-shared-skills)。
36
-
37
- Gateway 网关可以托管**一个智能体**(默认)或**多个智能体**并行。
38
-
39
- **工作区注意事项:** 每个智能体的工作区是**默认 cwd**,而不是硬性沙箱。相对路径在工作区内解析,但绝对路径可以访问主机的其他位置,除非启用了沙箱隔离。参见 [沙箱隔离](/gateway/sandboxing)。
40
-
41
- ## 路径(快速映射)
42
-
43
- - 配置:`~/.symi/symi.json`(或 `SYMI_CONFIG_PATH`)
44
- - 状态目录:`~/.symi`(或 `SYMI_STATE_DIR`)
45
- - 工作区:`~/.symi/workspace`(或 `~/.symi/workspace-<agentId>`)
46
- - 智能体目录:`~/.symi/agents/<agentId>/agent`(或 `agents.list[].agentDir`)
47
- - 会话:`~/.symi/agents/<agentId>/sessions`
48
-
49
- ### 单智能体模式(默认)
50
-
51
- 如果你什么都不做,Symi 运行单个智能体:
52
-
53
- - `agentId` 默认为 **`main`**。
54
- - 会话键为 `agent:main:<mainKey>`。
55
- - 工作区默认为 `~/.symi/workspace`(或当设置了 `SYMI_PROFILE` 时为 `~/.symi/workspace-<profile>`)。
56
- - 状态默认为 `~/.symi/agents/main/agent`。
57
-
58
- ## 智能体助手
59
-
60
- 使用智能体向导添加新的隔离智能体:
61
-
62
- ```bash
63
- symi agents add work
64
- ```
65
-
66
- 然后添加 `bindings`(或让向导完成)来路由入站消息。
67
-
68
- 验证:
69
-
70
- ```bash
71
- symi agents list --bindings
72
- ```
73
-
74
- ## 多个智能体 = 多个人、多种人格
75
-
76
- 使用**多个智能体**,每个 `agentId` 成为一个**完全隔离的人格**:
77
-
78
- - **不同的电话号码/账户**(每渠道 `accountId`)。
79
- - **不同的人格**(每智能体工作区文件如 `AGENTS.md` 和 `SYMICORE.md`)。
80
- - **独立的认证 + 会话**(除非明确启用,否则无交叉通信)。
81
-
82
- 这让**多个人**共享一个 Gateway 网关服务器,同时保持他们的 AI"大脑"和数据隔离。
83
-
84
- ## 一个 WhatsApp 号码,多个人(私信分割)
85
-
86
- 你可以将**不同的 WhatsApp 私信**路由到不同的智能体,同时保持**一个 WhatsApp 账户**。使用 `peer.kind: "dm"` 匹配发送者 E.164(如 `+15551234567`)。回复仍然来自同一个 WhatsApp 号码(无每智能体发送者身份)。
87
-
88
- 重要细节:直接聊天折叠到智能体的**主会话键**,因此真正的隔离需要**每人一个智能体**。
89
-
90
- 示例:
91
-
92
- ```json5
93
- {
94
- agents: {
95
- list: [
96
- { id: "alex", workspace: "~/.symi/workspace-alex" },
97
- { id: "mia", workspace: "~/.symi/workspace-mia" },
98
- ],
99
- },
100
- bindings: [
101
- { agentId: "alex", match: { channel: "whatsapp", peer: { kind: "dm", id: "+15551230001" } } },
102
- { agentId: "mia", match: { channel: "whatsapp", peer: { kind: "dm", id: "+15551230002" } } },
103
- ],
104
- channels: {
105
- whatsapp: {
106
- dmPolicy: "allowlist",
107
- allowFrom: ["+15551230001", "+15551230002"],
108
- },
109
- },
110
- }
111
- ```
112
-
113
- 注意事项:
114
-
115
- - 私信访问控制是**每 WhatsApp 账户全局的**(配对/允许列表),而不是每智能体。
116
- - 对于共享群组,将群组绑定到一个智能体或使用 [广播群组](/channels/broadcast-groups)。
117
-
118
- ## 路由规则(消息如何选择智能体)
119
-
120
- 绑定是**确定性的**,**最具体的优先**:
121
-
122
- 1. `peer` 匹配(精确私信/群组/频道 id)
123
- 2. `teamId`(Slack)
124
- 3. 渠道的 `accountId` 匹配
125
- 4. 渠道级匹配(`accountId: "*"`)
126
- 5. 回退到默认智能体(`agents.list[].default`,否则列表中的第一个条目,默认:`main`)
127
-
128
- ## 多账户/电话号码
129
-
130
- 支持**多账户**的渠道(如 WhatsApp)使用 `accountId` 来识别每个登录。每个 `accountId` 可以路由到不同的智能体,因此一个服务器可以托管多个电话号码而不混合会话。
131
-
132
- ## 概念
133
-
134
- - `agentId`:一个"大脑"(工作区、每智能体认证、每智能体会话存储)。
135
- - `accountId`:一个渠道账户实例(例如 WhatsApp 账户 `"personal"` vs `"biz"`)。
136
- - `binding`:通过 `(channel, accountId, peer)` 以及可选的 guild/team id 将入站消息路由到 `agentId`。
137
- - 直接聊天折叠到 `agent:<agentId>:<mainKey>`(每智能体"主";`session.mainKey`)。
138
-
139
- ## 示例:两个 WhatsApp → 两个智能体
140
-
141
- `~/.symi/symi.json`(JSON5):
142
-
143
- ```js
144
- {
145
- agents: {
146
- list: [
147
- {
148
- id: "home",
149
- default: true,
150
- name: "Home",
151
- workspace: "~/.symi/workspace-home",
152
- agentDir: "~/.symi/agents/home/agent",
153
- },
154
- {
155
- id: "work",
156
- name: "Work",
157
- workspace: "~/.symi/workspace-work",
158
- agentDir: "~/.symi/agents/work/agent",
159
- },
160
- ],
161
- },
162
-
163
- // 确定性路由:第一个匹配获胜(最具体的优先)。
164
- bindings: [
165
- { agentId: "home", match: { channel: "whatsapp", accountId: "personal" } },
166
- { agentId: "work", match: { channel: "whatsapp", accountId: "biz" } },
167
-
168
- // 可选的每对等方覆盖(示例:将特定群组发送到 work 智能体)。
169
- {
170
- agentId: "work",
171
- match: {
172
- channel: "whatsapp",
173
- accountId: "personal",
174
- peer: { kind: "group", id: "1203630...@g.us" },
175
- },
176
- },
177
- ],
178
-
179
- // 默认关闭:智能体到智能体的消息必须明确启用 + 加入允许列表。
180
- tools: {
181
- agentToAgent: {
182
- enabled: false,
183
- allow: ["home", "work"],
184
- },
185
- },
186
-
187
- channels: {
188
- whatsapp: {
189
- accounts: {
190
- personal: {
191
- // 可选覆盖。默认:~/.symi/credentials/whatsapp/personal
192
- // authDir: "~/.symi/credentials/whatsapp/personal",
193
- },
194
- biz: {
195
- // 可选覆盖。默认:~/.symi/credentials/whatsapp/biz
196
- // authDir: "~/.symi/credentials/whatsapp/biz",
197
- },
198
- },
199
- },
200
- },
201
- }
202
- ```
203
-
204
- ## 示例:WhatsApp 日常聊天 + Telegram 深度工作
205
-
206
- 按渠道分割:将 WhatsApp 路由到快速日常智能体,Telegram 路由到 Opus 智能体。
207
-
208
- ```json5
209
- {
210
- agents: {
211
- list: [
212
- {
213
- id: "chat",
214
- name: "Everyday",
215
- workspace: "~/.symi/workspace-chat",
216
- model: "anthropic/claude-sonnet-4-5",
217
- },
218
- {
219
- id: "opus",
220
- name: "Deep Work",
221
- workspace: "~/.symi/workspace-opus",
222
- model: "anthropic/claude-opus-4-5",
223
- },
224
- ],
225
- },
226
- bindings: [
227
- { agentId: "chat", match: { channel: "whatsapp" } },
228
- { agentId: "opus", match: { channel: "telegram" } },
229
- ],
230
- }
231
- ```
232
-
233
- 注意事项:
234
-
235
- - 如果你有一个渠道的多个账户,请在绑定中添加 `accountId`(例如 `{ channel: "whatsapp", accountId: "personal" }`)。
236
- - 要将单个私信/群组路由到 Opus 而保持其余在 chat 上,请为该对等方添加 `match.peer` 绑定;对等方匹配始终优先于渠道级规则。
237
-
238
- ## 示例:同一渠道,一个对等方到 Opus
239
-
240
- 保持 WhatsApp 在快速智能体上,但将一个私信路由到 Opus:
241
-
242
- ```json5
243
- {
244
- agents: {
245
- list: [
246
- {
247
- id: "chat",
248
- name: "Everyday",
249
- workspace: "~/.symi/workspace-chat",
250
- model: "anthropic/claude-sonnet-4-5",
251
- },
252
- {
253
- id: "opus",
254
- name: "Deep Work",
255
- workspace: "~/.symi/workspace-opus",
256
- model: "anthropic/claude-opus-4-5",
257
- },
258
- ],
259
- },
260
- bindings: [
261
- { agentId: "opus", match: { channel: "whatsapp", peer: { kind: "dm", id: "+15551234567" } } },
262
- { agentId: "chat", match: { channel: "whatsapp" } },
263
- ],
264
- }
265
- ```
266
-
267
- 对等方绑定始终获胜,因此将它们放在渠道级规则之上。
268
-
269
- ## 绑定到 WhatsApp 群组的家庭智能体
270
-
271
- 将专用家庭智能体绑定到单个 WhatsApp 群组,使用提及限制和更严格的工具策略:
272
-
273
- ```json5
274
- {
275
- agents: {
276
- list: [
277
- {
278
- id: "family",
279
- name: "Family",
280
- workspace: "~/.symi/workspace-family",
281
- identity: { name: "Family Bot" },
282
- groupChat: {
283
- mentionPatterns: ["@family", "@familybot", "@Family Bot"],
284
- },
285
- sandbox: {
286
- mode: "all",
287
- scope: "agent",
288
- },
289
- tools: {
290
- allow: [
291
- "exec",
292
- "read",
293
- "sessions_list",
294
- "sessions_history",
295
- "sessions_send",
296
- "sessions_spawn",
297
- "session_status",
298
- ],
299
- deny: ["write", "edit", "apply_patch", "browser", "canvas", "nodes", "cron"],
300
- },
301
- },
302
- ],
303
- },
304
- bindings: [
305
- {
306
- agentId: "family",
307
- match: {
308
- channel: "whatsapp",
309
- peer: { kind: "group", id: "120363999999999999@g.us" },
310
- },
311
- },
312
- ],
313
- }
314
- ```
315
-
316
- 注意事项:
317
-
318
- - 工具允许/拒绝列表是**工具**,不是 Skills。如果 skill 需要运行二进制文件,请确保 `exec` 被允许且二进制文件存在于沙箱中。
319
- - 对于更严格的限制,设置 `agents.list[].groupChat.mentionPatterns` 并为渠道保持群组允许列表启用。
320
-
321
- ## 每智能体沙箱和工具配置
322
-
323
- 从 v2026.1.6 开始,每个智能体可以有自己的沙箱和工具限制:
324
-
325
- ```js
326
- {
327
- agents: {
328
- list: [
329
- {
330
- id: "personal",
331
- workspace: "~/.symi/workspace-personal",
332
- sandbox: {
333
- mode: "off", // 个人智能体无沙箱
334
- },
335
- // 无工具限制 - 所有工具可用
336
- },
337
- {
338
- id: "family",
339
- workspace: "~/.symi/workspace-family",
340
- sandbox: {
341
- mode: "all", // 始终沙箱隔离
342
- scope: "agent", // 每智能体一个容器
343
- docker: {
344
- // 容器创建后的可选一次性设置
345
- setupCommand: "apt-get update && apt-get install -y git curl",
346
- },
347
- },
348
- tools: {
349
- allow: ["read"], // 仅 read 工具
350
- deny: ["exec", "write", "edit", "apply_patch"], // 拒绝其他
351
- },
352
- },
353
- ],
354
- },
355
- }
356
- ```
357
-
358
- 注意:`setupCommand` 位于 `sandbox.docker` 下,在容器创建时运行一次。
359
- 当解析的 scope 为 `"shared"` 时,每智能体 `sandbox.docker.*` 覆盖会被忽略。
360
-
361
- **好处:**
362
-
363
- - **安全隔离**:限制不受信任智能体的工具
364
- - **资源控制**:沙箱隔离特定智能体同时保持其他智能体在主机上
365
- - **灵活策略**:每智能体不同的权限
366
-
367
- 注意:`tools.elevated` 是**全局的**且基于发送者;不能按智能体配置。
368
- 如果你需要每智能体边界,使用 `agents.list[].tools` 拒绝 `exec`。
369
- 对于群组定向,使用 `agents.list[].groupChat.mentionPatterns` 使 @提及清晰地映射到目标智能体。
370
-
371
- 参见 [多智能体沙箱和工具](/tools/multi-agent-sandbox-tools) 了解详细示例。
@@ -1,151 +0,0 @@
1
- ---
2
- read_when:
3
- - 你想全面了解 Symi 的 OAuth 流程
4
- - 你遇到了令牌失效/登出问题
5
- - 你想了解 setup-token 或 OAuth 认证流程
6
- - 你想使用多账户或配置文件路由
7
- summary: Symi 中的 OAuth:令牌交换、存储和多账户模式
8
- title: OAuth
9
- x-i18n:
10
- generated_at: "2026-02-01T20:23:29Z"
11
- model: claude-opus-4-5
12
- provider: pi
13
- source_hash: af714bdadc4a89295a18da1eba5f5b857c8d533ebabe9b0758b722fe60c36124
14
- source_path: concepts/oauth.md
15
- workflow: 14
16
- ---
17
-
18
- # OAuth
19
-
20
- Symi 支持通过 OAuth 进行"订阅认证",适用于提供此功能的提供商(特别是 **OpenAI Codex(ChatGPT OAuth)**)。对于 Anthropic 订阅,请使用 **setup-token** 流程。本页说明:
21
-
22
- - OAuth **令牌交换**的工作原理(PKCE)
23
- - 令牌**存储**在哪里(以及原因)
24
- - 如何处理**多账户**(配置文件 + 按会话覆盖)
25
-
26
- Symi 还支持**提供商插件**,它们自带 OAuth 或 API 密钥流程。通过以下命令运行:
27
-
28
- ```bash
29
- symi models auth login --provider <id>
30
- ```
31
-
32
- ## 令牌汇聚点(为什么需要它)
33
-
34
- OAuth 提供商通常在登录/刷新流程中发放**新的刷新令牌**。某些提供商(或 OAuth 客户端)在为同一用户/应用发放新令牌时,可能会使旧的刷新令牌失效。
35
-
36
- 实际症状:
37
-
38
- - 你通过 Symi _和_ Claude Code / Codex CLI 登录 → 其中一个稍后会随机"登出"
39
-
40
- 为减少这种情况,Symi 将 `auth-profiles.json` 视为**令牌汇聚点**:
41
-
42
- - 运行时从**同一个位置**读取凭据
43
- - 我们可以保留多个配置文件并确定性地路由它们
44
-
45
- ## 存储(令牌存放位置)
46
-
47
- 密钥按**智能体**存储:
48
-
49
- - 认证配置文件(OAuth + API 密钥):`~/.symi/agents/<agentId>/agent/auth-profiles.json`
50
- - 运行时缓存(自动管理;请勿编辑):`~/.symi/agents/<agentId>/agent/auth.json`
51
-
52
- 仅用于导入的旧版文件(仍然支持,但不是主存储):
53
-
54
- - `~/.symi/credentials/oauth.json`(首次使用时导入到 `auth-profiles.json`)
55
-
56
- 以上所有路径也遵循 `$SYMI_STATE_DIR`(状态目录覆盖)。完整参考:[/gateway/configuration](/gateway/configuration#auth-storage-oauth--api-keys)
57
-
58
- ## Anthropic setup-token(订阅认证)
59
-
60
- 在任意机器上运行 `claude setup-token`,然后将其粘贴到 Symi 中:
61
-
62
- ```bash
63
- symi models auth setup-token --provider anthropic
64
- ```
65
-
66
- 如果你在其他地方生成了令牌,可以手动粘贴:
67
-
68
- ```bash
69
- symi models auth paste-token --provider anthropic
70
- ```
71
-
72
- 验证:
73
-
74
- ```bash
75
- symi models status
76
- ```
77
-
78
- ## OAuth 交换(登录工作原理)
79
-
80
- Symi 的交互式登录流程在 `@mariozechner/pi-ai` 中实现,并集成到向导/命令中。
81
-
82
- ### Anthropic(Claude Pro/Max)setup-token
83
-
84
- 流程概要:
85
-
86
- 1. 运行 `claude setup-token`
87
- 2. 将令牌粘贴到 Symi
88
- 3. 作为令牌认证配置文件存储(无刷新)
89
-
90
- 向导路径为 `symi onboard` → 认证选择 `setup-token`(Anthropic)。
91
-
92
- ### OpenAI Codex(ChatGPT OAuth)
93
-
94
- 流程概要(PKCE):
95
-
96
- 1. 生成 PKCE 验证器/质询 + 随机 `state`
97
- 2. 打开 `https://auth.openai.com/oauth/authorize?...`
98
- 3. 尝试在 `http://127.0.0.1:1455/auth/callback` 捕获回调
99
- 4. 如果回调无法绑定(或你在远程/无头环境中),手动粘贴重定向 URL/代码
100
- 5. 在 `https://auth.openai.com/oauth/token` 进行交换
101
- 6. 从访问令牌中提取 `accountId` 并存储 `{ access, refresh, expires, accountId }`
102
-
103
- 向导路径为 `symi onboard` → 认证选择 `openai-codex`。
104
-
105
- ## 刷新 + 过期
106
-
107
- 配置文件存储 `expires` 时间戳。
108
-
109
- 运行时:
110
-
111
- - 如果 `expires` 在未来 → 使用已存储的访问令牌
112
- - 如果已过期 → 刷新(在文件锁下)并覆盖已存储的凭据
113
-
114
- 刷新流程是自动的;你通常不需要手动管理令牌。
115
-
116
- ## 多账户(配置文件)+ 路由
117
-
118
- 两种模式:
119
-
120
- ### 1)推荐:独立智能体
121
-
122
- 如果你希望"个人"和"工作"永远不交叉,请使用隔离的智能体(独立的会话 + 凭据 + 工作区):
123
-
124
- ```bash
125
- symi agents add work
126
- symi agents add personal
127
- ```
128
-
129
- 然后按智能体配置认证(向导),并将聊天路由到正确的智能体。
130
-
131
- ### 2)高级:单个智能体中的多个配置文件
132
-
133
- `auth-profiles.json` 支持同一提供商的多个配置文件 ID。
134
-
135
- 选择使用哪个配置文件:
136
-
137
- - 通过配置顺序全局设置(`auth.order`)
138
- - 通过 `/model ...@<profileId>` 按会话设置
139
-
140
- 示例(会话覆盖):
141
-
142
- - `/model Opus@anthropic:work`
143
-
144
- 如何查看存在哪些配置文件 ID:
145
-
146
- - `symi channels list --json`(显示 `auth[]`)
147
-
148
- 相关文档:
149
-
150
- - [/concepts/model-failover](/concepts/model-failover)(轮换 + 冷却规则)
151
- - [/tools/slash-commands](/tools/slash-commands)(命令界面)
@@ -1,99 +0,0 @@
1
- ---
2
- read_when:
3
- - 调试实例标签页
4
- - 排查重复或过期的实例行
5
- - 更改 Gateway 网关 WS 连接或系统事件信标
6
- summary: Symi 在线状态条目如何生成、合并和显示
7
- title: 在线状态
8
- x-i18n:
9
- generated_at: "2026-02-03T07:46:37Z"
10
- model: claude-opus-4-5
11
- provider: pi
12
- source_hash: c752c76a880878fed673d656db88beb5dbdeefff2491985127ad791521f97d00
13
- source_path: concepts/presence.md
14
- workflow: 15
15
- ---
16
-
17
- # 在线状态
18
-
19
- Symi"在线状态"是以下内容的轻量级、尽力而为的视图:
20
-
21
- - **Gateway 网关**本身,以及
22
- - **连接到 Gateway 网关的客户端**(mac 应用、WebChat、CLI 等)
23
-
24
- 在线状态主要用于渲染 macOS 应用的**实例**标签页,并为运维人员提供快速可见性。
25
-
26
- ## 在线状态字段(显示的内容)
27
-
28
- 在线状态条目是具有以下字段的结构化对象:
29
-
30
- - `instanceId`(可选但强烈推荐):稳定的客户端身份(通常是 `connect.client.instanceId`)
31
- - `host`:人类友好的主机名
32
- - `ip`:尽力而为的 IP 地址
33
- - `version`:客户端版本字符串
34
- - `deviceFamily` / `modelIdentifier`:硬件提示
35
- - `mode`:`ui`、`webchat`、`cli`、`backend`、`probe`、`test`、`node`,...
36
- - `lastInputSeconds`:"自上次用户输入以来的秒数"(如果已知)
37
- - `reason`:`self`、`connect`、`node-connected`、`periodic`,...
38
- - `ts`:最后更新时间戳(自纪元以来的毫秒数)
39
-
40
- ## 生产者(在线状态来源)
41
-
42
- 在线状态条目由多个来源生成并**合并**。
43
-
44
- ### 1)Gateway 网关自身条目
45
-
46
- Gateway 网关始终在启动时植入一个"self"条目,这样即使在任何客户端连接之前,UI 也能显示 Gateway 网关主机。
47
-
48
- ### 2)WebSocket 连接
49
-
50
- 每个 WS 客户端都以 `connect` 请求开始。在成功握手后,Gateway 网关为该连接更新插入一个在线状态条目。
51
-
52
- #### 为什么一次性 CLI 命令不会显示
53
-
54
- CLI 经常为短暂的一次性命令进行连接。为避免实例列表被刷屏,`client.mode === "cli"` **不会**被转换为在线状态条目。
55
-
56
- ### 3)`system-event` 信标
57
-
58
- 客户端可以通过 `system-event` 方法发送更丰富的周期性信标。mac 应用使用此方法报告主机名、IP 和 `lastInputSeconds`。
59
-
60
- ### 4)节点连接(role: node)
61
-
62
- 当节点通过 Gateway 网关 WebSocket 以 `role: node` 连接时,Gateway 网关为该节点更新插入一个在线状态条目(与其他 WS 客户端流程相同)。
63
-
64
- ## 合并 + 去重规则(为什么 `instanceId` 很重要)
65
-
66
- 在线状态条目存储在单个内存映射中:
67
-
68
- - 条目以**在线状态键**为索引。
69
- - 最佳键是稳定的 `instanceId`(来自 `connect.client.instanceId`),它在重启后仍然有效。
70
- - 键不区分大小写。
71
-
72
- 如果客户端在没有稳定 `instanceId` 的情况下重新连接,它可能会显示为**重复**行。
73
-
74
- ## TTL 和有界大小
75
-
76
- 在线状态是有意设计为短暂的:
77
-
78
- - **TTL:** 超过 5 分钟的条目会被修剪
79
- - **最大条目数:** 200(最旧的优先删除)
80
-
81
- 这使列表保持新鲜并避免无限制的内存增长。
82
-
83
- ## 远程/隧道注意事项(回环 IP)
84
-
85
- 当客户端通过 SSH 隧道/本地端口转发连接时,Gateway 网关可能会看到远程地址为 `127.0.0.1`。为避免覆盖客户端报告的有效 IP,回环远程地址会被忽略。
86
-
87
- ## 消费者
88
-
89
- ### macOS 实例标签页
90
-
91
- macOS 应用渲染 `system-presence` 的输出,并根据最后更新的时间应用一个小的状态指示器(活跃/空闲/过期)。
92
-
93
- ## 调试技巧
94
-
95
- - 要查看原始列表,对 Gateway 网关调用 `system-presence`。
96
- - 如果你看到重复项:
97
- - 确认客户端在握手中发送稳定的 `client.instanceId`
98
- - 确认周期性信标使用相同的 `instanceId`
99
- - 检查连接派生的条目是否缺少 `instanceId`(这种情况下重复是预期的)