@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,333 +0,0 @@
1
- ---
2
- summary: "Expose an OpenResponses-compatible /v1/responses HTTP endpoint from the Gateway"
3
- read_when:
4
- - Integrating clients that speak the OpenResponses API
5
- - You want item-based inputs, client tool calls, or SSE events
6
- title: "OpenResponses API"
7
- ---
8
-
9
- # OpenResponses API (HTTP)
10
-
11
- Symi’s Gateway can serve an OpenResponses-compatible `POST /v1/responses` endpoint.
12
-
13
- This endpoint is **disabled by default**. Enable it in config first.
14
-
15
- - `POST /v1/responses`
16
- - Same port as the Gateway (WS + HTTP multiplex): `http://<gateway-host>:<port>/v1/responses`
17
-
18
- Under the hood, requests are executed as a normal Gateway agent run (same codepath as
19
- `symi agent`), so routing/permissions/config match your Gateway.
20
-
21
- ## Authentication
22
-
23
- Uses the Gateway auth configuration. Send a bearer token:
24
-
25
- - `Authorization: Bearer <token>`
26
-
27
- Notes:
28
-
29
- - When `gateway.auth.mode="token"`, use `gateway.auth.token` (or `SYMI_GATEWAY_TOKEN`).
30
- - When `gateway.auth.mode="password"`, use `gateway.auth.password` (or `SYMI_GATEWAY_PASSWORD`).
31
- - If `gateway.auth.rateLimit` is configured and too many auth failures occur, the endpoint returns `429` with `Retry-After`.
32
-
33
- ## Choosing an agent
34
-
35
- No custom headers required: encode the agent id in the OpenResponses `model` field:
36
-
37
- - `model: "symi:<agentId>"` (example: `"symi:main"`, `"symi:beta"`)
38
- - `model: "agent:<agentId>"` (alias)
39
-
40
- Or target a specific Symi agent by header:
41
-
42
- - `x-symi-agent-id: <agentId>` (default: `main`)
43
-
44
- Advanced:
45
-
46
- - `x-symi-session-key: <sessionKey>` to fully control session routing.
47
-
48
- ## Enabling the endpoint
49
-
50
- Set `gateway.http.endpoints.responses.enabled` to `true`:
51
-
52
- ```json5
53
- {
54
- gateway: {
55
- http: {
56
- endpoints: {
57
- responses: { enabled: true },
58
- },
59
- },
60
- },
61
- }
62
- ```
63
-
64
- ## Disabling the endpoint
65
-
66
- Set `gateway.http.endpoints.responses.enabled` to `false`:
67
-
68
- ```json5
69
- {
70
- gateway: {
71
- http: {
72
- endpoints: {
73
- responses: { enabled: false },
74
- },
75
- },
76
- },
77
- }
78
- ```
79
-
80
- ## Session behavior
81
-
82
- By default the endpoint is **stateless per request** (a new session key is generated each call).
83
-
84
- If the request includes an OpenResponses `user` string, the Gateway derives a stable session key
85
- from it, so repeated calls can share an agent session.
86
-
87
- ## Request shape (supported)
88
-
89
- The request follows the OpenResponses API with item-based input. Current support:
90
-
91
- - `input`: string or array of item objects.
92
- - `instructions`: merged into the system prompt.
93
- - `tools`: client tool definitions (function tools).
94
- - `tool_choice`: filter or require client tools.
95
- - `stream`: enables SSE streaming.
96
- - `max_output_tokens`: best-effort output limit (provider dependent).
97
- - `user`: stable session routing.
98
-
99
- Accepted but **currently ignored**:
100
-
101
- - `max_tool_calls`
102
- - `reasoning`
103
- - `metadata`
104
- - `store`
105
- - `previous_response_id`
106
- - `truncation`
107
-
108
- ## Items (input)
109
-
110
- ### `message`
111
-
112
- Roles: `system`, `developer`, `user`, `assistant`.
113
-
114
- - `system` and `developer` are appended to the system prompt.
115
- - The most recent `user` or `function_call_output` item becomes the “current message.”
116
- - Earlier user/assistant messages are included as history for context.
117
-
118
- ### `function_call_output` (turn-based tools)
119
-
120
- Send tool results back to the model:
121
-
122
- ```json
123
- {
124
- "type": "function_call_output",
125
- "call_id": "call_123",
126
- "output": "{\"temperature\": \"72F\"}"
127
- }
128
- ```
129
-
130
- ### `reasoning` and `item_reference`
131
-
132
- Accepted for schema compatibility but ignored when building the prompt.
133
-
134
- ## Tools (client-side function tools)
135
-
136
- Provide tools with `tools: [{ type: "function", function: { name, description?, parameters? } }]`.
137
-
138
- If the agent decides to call a tool, the response returns a `function_call` output item.
139
- You then send a follow-up request with `function_call_output` to continue the turn.
140
-
141
- ## Images (`input_image`)
142
-
143
- Supports base64 or URL sources:
144
-
145
- ```json
146
- {
147
- "type": "input_image",
148
- "source": { "type": "url", "url": "https://example.com/image.png" }
149
- }
150
- ```
151
-
152
- Allowed MIME types (current): `image/jpeg`, `image/png`, `image/gif`, `image/webp`.
153
- Max size (current): 10MB.
154
-
155
- ## Files (`input_file`)
156
-
157
- Supports base64 or URL sources:
158
-
159
- ```json
160
- {
161
- "type": "input_file",
162
- "source": {
163
- "type": "base64",
164
- "media_type": "text/plain",
165
- "data": "SGVsbG8gV29ybGQh",
166
- "filename": "hello.txt"
167
- }
168
- }
169
- ```
170
-
171
- Allowed MIME types (current): `text/plain`, `text/markdown`, `text/html`, `text/csv`,
172
- `application/json`, `application/pdf`.
173
-
174
- Max size (current): 5MB.
175
-
176
- Current behavior:
177
-
178
- - File content is decoded and added to the **system prompt**, not the user message,
179
- so it stays ephemeral (not persisted in session history).
180
- - PDFs are parsed for text. If little text is found, the first pages are rasterized
181
- into images and passed to the model.
182
-
183
- PDF parsing uses the Node-friendly `pdfjs-dist` legacy build (no worker). The modern
184
- PDF.js build expects browser workers/DOM globals, so it is not used in the Gateway.
185
-
186
- URL fetch defaults:
187
-
188
- - `files.allowUrl`: `true`
189
- - `images.allowUrl`: `true`
190
- - `maxUrlParts`: `8` (total URL-based `input_file` + `input_image` parts per request)
191
- - Requests are guarded (DNS resolution, private IP blocking, redirect caps, timeouts).
192
- - Optional hostname allowlists are supported per input type (`files.urlAllowlist`, `images.urlAllowlist`).
193
- - Exact host: `"cdn.example.com"`
194
- - Wildcard subdomains: `"*.assets.example.com"` (does not match apex)
195
-
196
- ## File + image limits (config)
197
-
198
- Defaults can be tuned under `gateway.http.endpoints.responses`:
199
-
200
- ```json5
201
- {
202
- gateway: {
203
- http: {
204
- endpoints: {
205
- responses: {
206
- enabled: true,
207
- maxBodyBytes: 20000000,
208
- maxUrlParts: 8,
209
- files: {
210
- allowUrl: true,
211
- urlAllowlist: ["cdn.example.com", "*.assets.example.com"],
212
- allowedMimes: [
213
- "text/plain",
214
- "text/markdown",
215
- "text/html",
216
- "text/csv",
217
- "application/json",
218
- "application/pdf",
219
- ],
220
- maxBytes: 5242880,
221
- maxChars: 200000,
222
- maxRedirects: 3,
223
- timeoutMs: 10000,
224
- pdf: {
225
- maxPages: 4,
226
- maxPixels: 4000000,
227
- minTextChars: 200,
228
- },
229
- },
230
- images: {
231
- allowUrl: true,
232
- urlAllowlist: ["images.example.com"],
233
- allowedMimes: ["image/jpeg", "image/png", "image/gif", "image/webp"],
234
- maxBytes: 10485760,
235
- maxRedirects: 3,
236
- timeoutMs: 10000,
237
- },
238
- },
239
- },
240
- },
241
- },
242
- }
243
- ```
244
-
245
- Defaults when omitted:
246
-
247
- - `maxBodyBytes`: 20MB
248
- - `maxUrlParts`: 8
249
- - `files.maxBytes`: 5MB
250
- - `files.maxChars`: 200k
251
- - `files.maxRedirects`: 3
252
- - `files.timeoutMs`: 10s
253
- - `files.pdf.maxPages`: 4
254
- - `files.pdf.maxPixels`: 4,000,000
255
- - `files.pdf.minTextChars`: 200
256
- - `images.maxBytes`: 10MB
257
- - `images.maxRedirects`: 3
258
- - `images.timeoutMs`: 10s
259
-
260
- Security note:
261
-
262
- - URL allowlists are enforced before fetch and on redirect hops.
263
- - Allowlisting a hostname does not bypass private/internal IP blocking.
264
- - For internet-exposed gateways, apply network egress controls in addition to app-level guards.
265
- See [Security](/gateway/security).
266
-
267
- ## Streaming (SSE)
268
-
269
- Set `stream: true` to receive Server-Sent Events (SSE):
270
-
271
- - `Content-Type: text/event-stream`
272
- - Each event line is `event: <type>` and `data: <json>`
273
- - Stream ends with `data: [DONE]`
274
-
275
- Event types currently emitted:
276
-
277
- - `response.created`
278
- - `response.in_progress`
279
- - `response.output_item.added`
280
- - `response.content_part.added`
281
- - `response.output_text.delta`
282
- - `response.output_text.done`
283
- - `response.content_part.done`
284
- - `response.output_item.done`
285
- - `response.completed`
286
- - `response.failed` (on error)
287
-
288
- ## Usage
289
-
290
- `usage` is populated when the underlying provider reports token counts.
291
-
292
- ## Errors
293
-
294
- Errors use a JSON object like:
295
-
296
- ```json
297
- { "error": { "message": "...", "type": "invalid_request_error" } }
298
- ```
299
-
300
- Common cases:
301
-
302
- - `401` missing/invalid auth
303
- - `400` invalid request body
304
- - `405` wrong method
305
-
306
- ## Examples
307
-
308
- Non-streaming:
309
-
310
- ```bash
311
- curl -sS http://127.0.0.1:18789/v1/responses \
312
- -H 'Authorization: Bearer YOUR_TOKEN' \
313
- -H 'Content-Type: application/json' \
314
- -H 'x-symi-agent-id: main' \
315
- -d '{
316
- "model": "symi",
317
- "input": "hi"
318
- }'
319
- ```
320
-
321
- Streaming:
322
-
323
- ```bash
324
- curl -N http://127.0.0.1:18789/v1/responses \
325
- -H 'Authorization: Bearer YOUR_TOKEN' \
326
- -H 'Content-Type: application/json' \
327
- -H 'x-symi-agent-id: main' \
328
- -d '{
329
- "model": "symi",
330
- "stream": true,
331
- "input": "hi"
332
- }'
333
- ```
@@ -1,99 +0,0 @@
1
- ---
2
- summary: "Gateway-owned node pairing (Option B) for iOS and other remote nodes"
3
- read_when:
4
- - Implementing node pairing approvals without macOS UI
5
- - Adding CLI flows for approving remote nodes
6
- - Extending gateway protocol with node management
7
- title: "Gateway-Owned Pairing"
8
- ---
9
-
10
- # Gateway-owned pairing (Option B)
11
-
12
- In Gateway-owned pairing, the **Gateway** is the source of truth for which nodes
13
- are allowed to join. UIs (macOS app, future clients) are just frontends that
14
- approve or reject pending requests.
15
-
16
- **Important:** WS nodes use **device pairing** (role `node`) during `connect`.
17
- `node.pair.*` is a separate pairing store and does **not** gate the WS handshake.
18
- Only clients that explicitly call `node.pair.*` use this flow.
19
-
20
- ## Concepts
21
-
22
- - **Pending request**: a node asked to join; requires approval.
23
- - **Paired node**: approved node with an issued auth token.
24
- - **Transport**: the Gateway WS endpoint forwards requests but does not decide
25
- membership. (Legacy TCP bridge support is deprecated/removed.)
26
-
27
- ## How pairing works
28
-
29
- 1. A node connects to the Gateway WS and requests pairing.
30
- 2. The Gateway stores a **pending request** and emits `node.pair.requested`.
31
- 3. You approve or reject the request (CLI or UI).
32
- 4. On approval, the Gateway issues a **new token** (tokens are rotated on re‑pair).
33
- 5. The node reconnects using the token and is now “paired”.
34
-
35
- Pending requests expire automatically after **5 minutes**.
36
-
37
- ## CLI workflow (headless friendly)
38
-
39
- ```bash
40
- symi nodes pending
41
- symi nodes approve <requestId>
42
- symi nodes reject <requestId>
43
- symi nodes status
44
- symi nodes rename --node <id|name|ip> --name "Living Room iPad"
45
- ```
46
-
47
- `nodes status` shows paired/connected nodes and their capabilities.
48
-
49
- ## API surface (gateway protocol)
50
-
51
- Events:
52
-
53
- - `node.pair.requested` — emitted when a new pending request is created.
54
- - `node.pair.resolved` — emitted when a request is approved/rejected/expired.
55
-
56
- Methods:
57
-
58
- - `node.pair.request` — create or reuse a pending request.
59
- - `node.pair.list` — list pending + paired nodes.
60
- - `node.pair.approve` — approve a pending request (issues token).
61
- - `node.pair.reject` — reject a pending request.
62
- - `node.pair.verify` — verify `{ nodeId, token }`.
63
-
64
- Notes:
65
-
66
- - `node.pair.request` is idempotent per node: repeated calls return the same
67
- pending request.
68
- - Approval **always** generates a fresh token; no token is ever returned from
69
- `node.pair.request`.
70
- - Requests may include `silent: true` as a hint for auto-approval flows.
71
-
72
- ## Auto-approval (macOS app)
73
-
74
- The macOS app can optionally attempt a **silent approval** when:
75
-
76
- - the request is marked `silent`, and
77
- - the app can verify an SSH connection to the gateway host using the same user.
78
-
79
- If silent approval fails, it falls back to the normal “Approve/Reject” prompt.
80
-
81
- ## Storage (local, private)
82
-
83
- Pairing state is stored under the Gateway state directory (default `~/.symi`):
84
-
85
- - `~/.symi/nodes/paired.json`
86
- - `~/.symi/nodes/pending.json`
87
-
88
- If you override `SYMI_STATE_DIR`, the `nodes/` folder moves with it.
89
-
90
- Security notes:
91
-
92
- - Tokens are secrets; treat `paired.json` as sensitive.
93
- - Rotating a token requires re-approval (or deleting the node entry).
94
-
95
- ## Transport behavior
96
-
97
- - The transport is **stateless**; it does not store membership.
98
- - If the Gateway is offline or pairing is disabled, nodes cannot pair.
99
- - If the Gateway is in remote mode, pairing still happens against the remote Gateway’s store.
@@ -1,221 +0,0 @@
1
- ---
2
- summary: "Gateway WebSocket protocol: handshake, frames, versioning"
3
- read_when:
4
- - Implementing or updating gateway WS clients
5
- - Debugging protocol mismatches or connect failures
6
- - Regenerating protocol schema/models
7
- title: "Gateway Protocol"
8
- ---
9
-
10
- # Gateway protocol (WebSocket)
11
-
12
- The Gateway WS protocol is the **single control plane + node transport** for
13
- Symi. All clients (CLI, web UI, macOS app, iOS/Android nodes, headless
14
- nodes) connect over WebSocket and declare their **role** + **scope** at
15
- handshake time.
16
-
17
- ## Transport
18
-
19
- - WebSocket, text frames with JSON payloads.
20
- - First frame **must** be a `connect` request.
21
-
22
- ## Handshake (connect)
23
-
24
- Gateway → Client (pre-connect challenge):
25
-
26
- ```json
27
- {
28
- "type": "event",
29
- "event": "connect.challenge",
30
- "payload": { "nonce": "…", "ts": 1737264000000 }
31
- }
32
- ```
33
-
34
- Client → Gateway:
35
-
36
- ```json
37
- {
38
- "type": "req",
39
- "id": "…",
40
- "method": "connect",
41
- "params": {
42
- "minProtocol": 3,
43
- "maxProtocol": 3,
44
- "client": {
45
- "id": "cli",
46
- "version": "1.2.3",
47
- "platform": "macos",
48
- "mode": "operator"
49
- },
50
- "role": "operator",
51
- "scopes": ["operator.read", "operator.write"],
52
- "caps": [],
53
- "commands": [],
54
- "permissions": {},
55
- "auth": { "token": "…" },
56
- "locale": "en-US",
57
- "userAgent": "symi-cli/1.2.3",
58
- "device": {
59
- "id": "device_fingerprint",
60
- "publicKey": "…",
61
- "signature": "…",
62
- "signedAt": 1737264000000,
63
- "nonce": "…"
64
- }
65
- }
66
- }
67
- ```
68
-
69
- Gateway → Client:
70
-
71
- ```json
72
- {
73
- "type": "res",
74
- "id": "…",
75
- "ok": true,
76
- "payload": { "type": "hello-ok", "protocol": 3, "policy": { "tickIntervalMs": 15000 } }
77
- }
78
- ```
79
-
80
- When a device token is issued, `hello-ok` also includes:
81
-
82
- ```json
83
- {
84
- "auth": {
85
- "deviceToken": "…",
86
- "role": "operator",
87
- "scopes": ["operator.read", "operator.write"]
88
- }
89
- }
90
- ```
91
-
92
- ### Node example
93
-
94
- ```json
95
- {
96
- "type": "req",
97
- "id": "…",
98
- "method": "connect",
99
- "params": {
100
- "minProtocol": 3,
101
- "maxProtocol": 3,
102
- "client": {
103
- "id": "ios-node",
104
- "version": "1.2.3",
105
- "platform": "ios",
106
- "mode": "node"
107
- },
108
- "role": "node",
109
- "scopes": [],
110
- "caps": ["camera", "canvas", "screen", "location", "voice"],
111
- "commands": ["camera.snap", "canvas.navigate", "screen.record", "location.get"],
112
- "permissions": { "camera.capture": true, "screen.record": false },
113
- "auth": { "token": "…" },
114
- "locale": "en-US",
115
- "userAgent": "symi-ios/1.2.3",
116
- "device": {
117
- "id": "device_fingerprint",
118
- "publicKey": "…",
119
- "signature": "…",
120
- "signedAt": 1737264000000,
121
- "nonce": "…"
122
- }
123
- }
124
- }
125
- ```
126
-
127
- ## Framing
128
-
129
- - **Request**: `{type:"req", id, method, params}`
130
- - **Response**: `{type:"res", id, ok, payload|error}`
131
- - **Event**: `{type:"event", event, payload, seq?, stateVersion?}`
132
-
133
- Side-effecting methods require **idempotency keys** (see schema).
134
-
135
- ## Roles + scopes
136
-
137
- ### Roles
138
-
139
- - `operator` = control plane client (CLI/UI/automation).
140
- - `node` = capability host (camera/screen/canvas/system.run).
141
-
142
- ### Scopes (operator)
143
-
144
- Common scopes:
145
-
146
- - `operator.read`
147
- - `operator.write`
148
- - `operator.admin`
149
- - `operator.approvals`
150
- - `operator.pairing`
151
-
152
- ### Caps/commands/permissions (node)
153
-
154
- Nodes declare capability claims at connect time:
155
-
156
- - `caps`: high-level capability categories.
157
- - `commands`: command allowlist for invoke.
158
- - `permissions`: granular toggles (e.g. `screen.record`, `camera.capture`).
159
-
160
- The Gateway treats these as **claims** and enforces server-side allowlists.
161
-
162
- ## Presence
163
-
164
- - `system-presence` returns entries keyed by device identity.
165
- - Presence entries include `deviceId`, `roles`, and `scopes` so UIs can show a single row per device
166
- even when it connects as both **operator** and **node**.
167
-
168
- ### Node helper methods
169
-
170
- - Nodes may call `skills.bins` to fetch the current list of skill executables
171
- for auto-allow checks.
172
-
173
- ## Exec approvals
174
-
175
- - When an exec request needs approval, the gateway broadcasts `exec.approval.requested`.
176
- - Operator clients resolve by calling `exec.approval.resolve` (requires `operator.approvals` scope).
177
-
178
- ## Versioning
179
-
180
- - `PROTOCOL_VERSION` lives in `src/gateway/protocol/schema.ts`.
181
- - Clients send `minProtocol` + `maxProtocol`; the server rejects mismatches.
182
- - Schemas + models are generated from TypeBox definitions:
183
- - `pnpm protocol:gen`
184
- - `pnpm protocol:gen:swift`
185
- - `pnpm protocol:check`
186
-
187
- ## Auth
188
-
189
- - If `SYMI_GATEWAY_TOKEN` (or `--token`) is set, `connect.params.auth.token`
190
- must match or the socket is closed.
191
- - After pairing, the Gateway issues a **device token** scoped to the connection
192
- role + scopes. It is returned in `hello-ok.auth.deviceToken` and should be
193
- persisted by the client for future connects.
194
- - Device tokens can be rotated/revoked via `device.token.rotate` and
195
- `device.token.revoke` (requires `operator.pairing` scope).
196
-
197
- ## Device identity + pairing
198
-
199
- - Nodes should include a stable device identity (`device.id`) derived from a
200
- keypair fingerprint.
201
- - Gateways issue tokens per device + role.
202
- - Pairing approvals are required for new device IDs unless local auto-approval
203
- is enabled.
204
- - **Local** connects include loopback and the gateway host’s own tailnet address
205
- (so same‑host tailnet binds can still auto‑approve).
206
- - All WS clients must include `device` identity during `connect` (operator + node).
207
- Control UI can omit it **only** when `gateway.controlUi.dangerouslyDisableDeviceAuth`
208
- is enabled for break-glass use.
209
- - Non-local connections must sign the server-provided `connect.challenge` nonce.
210
-
211
- ## TLS + pinning
212
-
213
- - TLS is supported for WS connections.
214
- - Clients may optionally pin the gateway cert fingerprint (see `gateway.tls`
215
- config plus `gateway.remote.tlsFingerprint` or CLI `--tls-fingerprint`).
216
-
217
- ## Scope
218
-
219
- This protocol exposes the **full gateway API** (status, channels, models, chat,
220
- agent, sessions, nodes, approvals, etc.). The exact surface is defined by the
221
- TypeBox schemas in `src/gateway/protocol/schema.ts`.