@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,102 +0,0 @@
1
- ---
2
- summary: "How Symi presence entries are produced, merged, and displayed"
3
- read_when:
4
- - Debugging the Instances tab
5
- - Investigating duplicate or stale instance rows
6
- - Changing gateway WS connect or system-event beacons
7
- title: "Presence"
8
- ---
9
-
10
- # Presence
11
-
12
- Symi “presence” is a lightweight, best‑effort view of:
13
-
14
- - the **Gateway** itself, and
15
- - **clients connected to the Gateway** (mac app, WebChat, CLI, etc.)
16
-
17
- Presence is used primarily to render the macOS app’s **Instances** tab and to
18
- provide quick operator visibility.
19
-
20
- ## Presence fields (what shows up)
21
-
22
- Presence entries are structured objects with fields like:
23
-
24
- - `instanceId` (optional but strongly recommended): stable client identity (usually `connect.client.instanceId`)
25
- - `host`: human‑friendly host name
26
- - `ip`: best‑effort IP address
27
- - `version`: client version string
28
- - `deviceFamily` / `modelIdentifier`: hardware hints
29
- - `mode`: `ui`, `webchat`, `cli`, `backend`, `probe`, `test`, `node`, ...
30
- - `lastInputSeconds`: “seconds since last user input” (if known)
31
- - `reason`: `self`, `connect`, `node-connected`, `periodic`, ...
32
- - `ts`: last update timestamp (ms since epoch)
33
-
34
- ## Producers (where presence comes from)
35
-
36
- Presence entries are produced by multiple sources and **merged**.
37
-
38
- ### 1) Gateway self entry
39
-
40
- The Gateway always seeds a “self” entry at startup so UIs show the gateway host
41
- even before any clients connect.
42
-
43
- ### 2) WebSocket connect
44
-
45
- Every WS client begins with a `connect` request. On successful handshake the
46
- Gateway upserts a presence entry for that connection.
47
-
48
- #### Why one‑off CLI commands don’t show up
49
-
50
- The CLI often connects for short, one‑off commands. To avoid spamming the
51
- Instances list, `client.mode === "cli"` is **not** turned into a presence entry.
52
-
53
- ### 3) `system-event` beacons
54
-
55
- Clients can send richer periodic beacons via the `system-event` method. The mac
56
- app uses this to report host name, IP, and `lastInputSeconds`.
57
-
58
- ### 4) Node connects (role: node)
59
-
60
- When a node connects over the Gateway WebSocket with `role: node`, the Gateway
61
- upserts a presence entry for that node (same flow as other WS clients).
62
-
63
- ## Merge + dedupe rules (why `instanceId` matters)
64
-
65
- Presence entries are stored in a single in‑memory map:
66
-
67
- - Entries are keyed by a **presence key**.
68
- - The best key is a stable `instanceId` (from `connect.client.instanceId`) that survives restarts.
69
- - Keys are case‑insensitive.
70
-
71
- If a client reconnects without a stable `instanceId`, it may show up as a
72
- **duplicate** row.
73
-
74
- ## TTL and bounded size
75
-
76
- Presence is intentionally ephemeral:
77
-
78
- - **TTL:** entries older than 5 minutes are pruned
79
- - **Max entries:** 200 (oldest dropped first)
80
-
81
- This keeps the list fresh and avoids unbounded memory growth.
82
-
83
- ## Remote/tunnel caveat (loopback IPs)
84
-
85
- When a client connects over an SSH tunnel / local port forward, the Gateway may
86
- see the remote address as `127.0.0.1`. To avoid overwriting a good client‑reported
87
- IP, loopback remote addresses are ignored.
88
-
89
- ## Consumers
90
-
91
- ### macOS Instances tab
92
-
93
- The macOS app renders the output of `system-presence` and applies a small status
94
- indicator (Active/Idle/Stale) based on the age of the last update.
95
-
96
- ## Debugging tips
97
-
98
- - To see the raw list, call `system-presence` against the Gateway.
99
- - If you see duplicates:
100
- - confirm clients send a stable `client.instanceId` in the handshake
101
- - confirm periodic beacons use the same `instanceId`
102
- - check whether the connection‑derived entry is missing `instanceId` (duplicates are expected)
@@ -1,86 +0,0 @@
1
- ---
2
- summary: "Command queue design that serializes inbound auto-reply runs"
3
- read_when:
4
- - Changing auto-reply execution or concurrency
5
- title: "Command Queue"
6
- ---
7
-
8
- # Command Queue (2026-01-16)
9
-
10
- We serialize inbound auto-reply runs (all channels) through a tiny in-process queue to prevent multiple agent runs from colliding, while still allowing safe parallelism across sessions.
11
-
12
- ## Why
13
-
14
- - Auto-reply runs can be expensive (LLM calls) and can collide when multiple inbound messages arrive close together.
15
- - Serializing avoids competing for shared resources (session files, logs, CLI stdin) and reduces the chance of upstream rate limits.
16
-
17
- ## How it works
18
-
19
- - A lane-aware FIFO queue drains each lane with a configurable concurrency cap (default 1 for unconfigured lanes; main defaults to 4, subagent to 8).
20
- - `runEmbeddedPiAgent` enqueues by **session key** (lane `session:<key>`) to guarantee only one active run per session.
21
- - Each session run is then queued into a **global lane** (`main` by default) so overall parallelism is capped by `agents.defaults.maxConcurrent`.
22
- - When verbose logging is enabled, queued runs emit a short notice if they waited more than ~2s before starting.
23
- - Typing indicators still fire immediately on enqueue (when supported by the channel) so user experience is unchanged while we wait our turn.
24
-
25
- ## Queue modes (per channel)
26
-
27
- Inbound messages can steer the current run, wait for a followup turn, or do both:
28
-
29
- - `steer`: inject immediately into the current run (cancels pending tool calls after the next tool boundary). If not streaming, falls back to followup.
30
- - `followup`: enqueue for the next agent turn after the current run ends.
31
- - `collect`: coalesce all queued messages into a **single** followup turn (default). If messages target different channels/threads, they drain individually to preserve routing.
32
- - `steer-backlog` (aka `steer+backlog`): steer now **and** preserve the message for a followup turn.
33
- - `interrupt` (legacy): abort the active run for that session, then run the newest message.
34
- - `queue` (legacy alias): same as `steer`.
35
-
36
- Steer-backlog means you can get a followup response after the steered run, so
37
- streaming surfaces can look like duplicates. Prefer `collect`/`steer` if you want
38
- one response per inbound message.
39
-
40
- Defaults (when unset in config):
41
-
42
- - All surfaces → `collect`
43
-
44
- Configure globally or per channel via `messages.queue`:
45
-
46
- ```json5
47
- {
48
- messages: {
49
- queue: {
50
- mode: "collect",
51
- debounceMs: 1000,
52
- cap: 20,
53
- drop: "summarize",
54
- },
55
- },
56
- }
57
- ```
58
-
59
- ## Queue options
60
-
61
- Options apply to `followup`, `collect`, and `steer-backlog` (and to `steer` when it falls back to followup):
62
-
63
- - `debounceMs`: wait for quiet before starting a followup turn (prevents “continue, continue”).
64
- - `cap`: max queued messages per session.
65
- - `drop`: overflow policy (`old`, `new`, `summarize`).
66
-
67
- Summarize keeps a short bullet list of dropped messages and injects it as a synthetic followup prompt.
68
- Defaults: `debounceMs: 1000`, `cap: 20`, `drop: summarize`.
69
-
70
- ## Per-session overrides
71
-
72
- - Send `/queue <mode>` as a standalone command to store the mode for the current session.
73
- - Options can be combined: `/queue collect debounce:2s cap:25 drop:summarize`
74
- - `/queue default` or `/queue reset` clears the session override.
75
-
76
- ## Scope and guarantees
77
-
78
- - Default lane (`main`) is process-wide for inbound + main heartbeats; set `agents.defaults.maxConcurrent` to allow multiple sessions in parallel.
79
- - Additional lanes may exist (e.g. `cron`, `subagent`) so background jobs can run in parallel without blocking inbound replies.
80
- - Per-session lanes guarantee that only one agent run touches a given session at a time.
81
- - No external dependencies or background worker threads; pure TypeScript + promises.
82
-
83
- ## Troubleshooting
84
-
85
- - If commands seem stuck, enable verbose logs and look for “queued for …ms” lines to confirm the queue is draining.
86
- - If you need queue depth, enable verbose logs and watch for queue timing lines.
@@ -1,64 +0,0 @@
1
- ---
2
- summary: "Retry policy for outbound provider calls"
3
- read_when:
4
- - Updating provider retry behavior or defaults
5
- - Debugging provider send errors or rate limits
6
- title: "Retry Policy"
7
- ---
8
-
9
- # Retry policy
10
-
11
- ## Goals
12
-
13
- - Retry per HTTP request, not per multi-step flow.
14
- - Preserve ordering by retrying only the current step.
15
- - Avoid duplicating non-idempotent operations.
16
-
17
- ## Defaults
18
-
19
- - Attempts: 3
20
- - Max delay cap: 30000 ms
21
- - Jitter: 0.1 (10 percent)
22
- - Provider defaults:
23
- - Telegram min delay: 400 ms
24
-
25
- ## Behavior
26
-
27
- - Retries only on rate-limit errors (HTTP 429).
28
-
29
- ### Telegram
30
-
31
- - Retries on transient errors (429, timeout, connect/reset/closed, temporarily unavailable).
32
- - Uses `retry_after` when available, otherwise exponential backoff.
33
- - Markdown parse errors are not retried; they fall back to plain text.
34
-
35
- ## Configuration
36
-
37
- Set retry policy per provider in `~/.symi/symi.json`:
38
-
39
- ```json5
40
- {
41
- channels: {
42
- telegram: {
43
- retry: {
44
- attempts: 3,
45
- minDelayMs: 400,
46
- maxDelayMs: 30000,
47
- jitter: 0.1,
48
- },
49
- },
50
- retry: {
51
- attempts: 3,
52
- minDelayMs: 500,
53
- maxDelayMs: 30000,
54
- jitter: 0.1,
55
- },
56
- },
57
- },
58
- }
59
- ```
60
-
61
- ## Notes
62
-
63
- - Retries apply per request (message send, media upload, reaction, poll, sticker).
64
- - Composite flows do not retry completed steps.
@@ -1,123 +0,0 @@
1
- ---
2
- title: "Session Pruning"
3
- summary: "Session pruning: tool-result trimming to reduce context bloat"
4
- read_when:
5
- - You want to reduce LLM context growth from tool outputs
6
- - You are tuning agents.defaults.contextPruning
7
- ---
8
-
9
- # Session Pruning
10
-
11
- Session pruning trims **old tool results** from the in-memory context right before each LLM call. It does **not** rewrite the on-disk session history (`*.jsonl`).
12
-
13
- ## When it runs
14
-
15
- - When `mode: "cache-ttl"` is enabled and the last Anthropic call for the session is older than `ttl`.
16
- - Only affects the messages sent to the model for that request.
17
- - Only active for Anthropic API calls (and OpenRouter Anthropic models).
18
- - For best results, match `ttl` to your model `cacheControlTtl`.
19
- - After a prune, the TTL window resets so subsequent requests keep cache until `ttl` expires again.
20
-
21
- ## Smart defaults (Anthropic)
22
-
23
- - **OAuth or setup-token** profiles: enable `cache-ttl` pruning and set heartbeat to `1h`.
24
- - **API key** profiles: enable `cache-ttl` pruning, set heartbeat to `30m`, and default `cacheControlTtl` to `1h` on Anthropic models.
25
- - If you set any of these values explicitly, Symi does **not** override them.
26
-
27
- ## What this improves (cost + cache behavior)
28
-
29
- - **Why prune:** Anthropic prompt caching only applies within the TTL. If a session goes idle past the TTL, the next request re-caches the full prompt unless you trim it first.
30
- - **What gets cheaper:** pruning reduces the **cacheWrite** size for that first request after the TTL expires.
31
- - **Why the TTL reset matters:** once pruning runs, the cache window resets, so follow‑up requests can reuse the freshly cached prompt instead of re-caching the full history again.
32
- - **What it does not do:** pruning doesn’t add tokens or “double” costs; it only changes what gets cached on that first post‑TTL request.
33
-
34
- ## What can be pruned
35
-
36
- - Only `toolResult` messages.
37
- - User + assistant messages are **never** modified.
38
- - The last `keepLastAssistants` assistant messages are protected; tool results after that cutoff are not pruned.
39
- - If there aren’t enough assistant messages to establish the cutoff, pruning is skipped.
40
- - Tool results containing **image blocks** are skipped (never trimmed/cleared).
41
-
42
- ## Context window estimation
43
-
44
- Pruning uses an estimated context window (chars ≈ tokens × 4). The base window is resolved in this order:
45
-
46
- 1. `models.providers.*.models[].contextWindow` override.
47
- 2. Model definition `contextWindow` (from the model registry).
48
- 3. Default `200000` tokens.
49
-
50
- If `agents.defaults.contextTokens` is set, it is treated as a cap (min) on the resolved window.
51
-
52
- ## Mode
53
-
54
- ### cache-ttl
55
-
56
- - Pruning only runs if the last Anthropic call is older than `ttl` (default `5m`).
57
- - When it runs: same soft-trim + hard-clear behavior as before.
58
-
59
- ## Soft vs hard pruning
60
-
61
- - **Soft-trim**: only for oversized tool results.
62
- - Keeps head + tail, inserts `...`, and appends a note with the original size.
63
- - Skips results with image blocks.
64
- - **Hard-clear**: replaces the entire tool result with `hardClear.placeholder`.
65
-
66
- ## Tool selection
67
-
68
- - `tools.allow` / `tools.deny` support `*` wildcards.
69
- - Deny wins.
70
- - Matching is case-insensitive.
71
- - Empty allow list => all tools allowed.
72
-
73
- ## Interaction with other limits
74
-
75
- - Built-in tools already truncate their own output; session pruning is an extra layer that prevents long-running chats from accumulating too much tool output in the model context.
76
- - Compaction is separate: compaction summarizes and persists, pruning is transient per request. See [/concepts/compaction](/concepts/compaction).
77
-
78
- ## Defaults (when enabled)
79
-
80
- - `ttl`: `"5m"`
81
- - `keepLastAssistants`: `3`
82
- - `softTrimRatio`: `0.3`
83
- - `hardClearRatio`: `0.5`
84
- - `minPrunableToolChars`: `50000`
85
- - `softTrim`: `{ maxChars: 4000, headChars: 1500, tailChars: 1500 }`
86
- - `hardClear`: `{ enabled: true, placeholder: "[Old tool result content cleared]" }`
87
-
88
- ## Examples
89
-
90
- Default (off):
91
-
92
- ```json5
93
- {
94
- agent: {
95
- contextPruning: { mode: "off" },
96
- },
97
- }
98
- ```
99
-
100
- Enable TTL-aware pruning:
101
-
102
- ```json5
103
- {
104
- agent: {
105
- contextPruning: { mode: "cache-ttl", ttl: "5m" },
106
- },
107
- }
108
- ```
109
-
110
- Restrict pruning to specific tools:
111
-
112
- ```json5
113
- {
114
- agent: {
115
- contextPruning: {
116
- mode: "cache-ttl",
117
- tools: { allow: ["exec", "read"], deny: ["*image*"] },
118
- },
119
- },
120
- }
121
- ```
122
-
123
- See config reference: [Gateway Configuration](/gateway/configuration)
@@ -1,213 +0,0 @@
1
- ---
2
- summary: "Agent session tools for listing sessions, fetching history, and sending cross-session messages"
3
- read_when:
4
- - Adding or modifying session tools
5
- title: "Session Tools"
6
- ---
7
-
8
- # Session Tools
9
-
10
- Goal: small, hard-to-misuse tool set so agents can list sessions, fetch history, and send to another session.
11
-
12
- ## Tool Names
13
-
14
- - `sessions_list`
15
- - `sessions_history`
16
- - `sessions_send`
17
- - `sessions_spawn`
18
-
19
- ## Key Model
20
-
21
- - Main direct chat bucket is always the literal key `"main"` (resolved to the current agent’s main key).
22
- - Group chats use `agent:<agentId>:<channel>:group:<id>` or `agent:<agentId>:<channel>:channel:<id>` (pass the full key).
23
- - Cron jobs use `cron:<job.id>`.
24
- - Hooks use `hook:<uuid>` unless explicitly set.
25
- - Node sessions use `node-<nodeId>` unless explicitly set.
26
-
27
- `global` and `unknown` are reserved values and are never listed. If `session.scope = "global"`, we alias it to `main` for all tools so callers never see `global`.
28
-
29
- ## sessions_list
30
-
31
- List sessions as an array of rows.
32
-
33
- Parameters:
34
-
35
- - `kinds?: string[]` filter: any of `"main" | "group" | "cron" | "hook" | "node" | "other"`
36
- - `limit?: number` max rows (default: server default, clamp e.g. 200)
37
- - `activeMinutes?: number` only sessions updated within N minutes
38
- - `messageLimit?: number` 0 = no messages (default 0); >0 = include last N messages
39
-
40
- Behavior:
41
-
42
- - `messageLimit > 0` fetches `chat.history` per session and includes the last N messages.
43
- - Tool results are filtered out in list output; use `sessions_history` for tool messages.
44
- - When running in a **sandboxed** agent session, session tools default to **spawned-only visibility** (see below).
45
-
46
- Row shape (JSON):
47
-
48
- - `key`: session key (string)
49
- - `kind`: `main | group | cron | hook | node | other`
50
- - `displayName` (group display label if available)
51
- - `updatedAt` (ms)
52
- - `sessionId`
53
- - `model`, `contextTokens`, `totalTokens`
54
- - `thinkingLevel`, `verboseLevel`, `systemSent`, `abortedLastRun`
55
- - `sendPolicy` (session override if set)
56
- - `lastChannel`, `lastTo`
57
- - `deliveryContext` (normalized `{ channel, to, accountId }` when available)
58
- - `transcriptPath` (best-effort path derived from store dir + sessionId)
59
- - `messages?` (only when `messageLimit > 0`)
60
-
61
- ## sessions_history
62
-
63
- Fetch transcript for one session.
64
-
65
- Parameters:
66
-
67
- - `sessionKey` (required; accepts session key or `sessionId` from `sessions_list`)
68
- - `limit?: number` max messages (server clamps)
69
- - `includeTools?: boolean` (default false)
70
-
71
- Behavior:
72
-
73
- - `includeTools=false` filters `role: "toolResult"` messages.
74
- - Returns messages array in the raw transcript format.
75
- - When given a `sessionId`, Symi resolves it to the corresponding session key (missing ids error).
76
-
77
- ## sessions_send
78
-
79
- Send a message into another session.
80
-
81
- Parameters:
82
-
83
- - `sessionKey` (required; accepts session key or `sessionId` from `sessions_list`)
84
- - `message` (required)
85
- - `timeoutSeconds?: number` (default >0; 0 = fire-and-forget)
86
-
87
- Behavior:
88
-
89
- - `timeoutSeconds = 0`: enqueue and return `{ runId, status: "accepted" }`.
90
- - `timeoutSeconds > 0`: wait up to N seconds for completion, then return `{ runId, status: "ok", reply }`.
91
- - If wait times out: `{ runId, status: "timeout", error }`. Run continues; call `sessions_history` later.
92
- - If the run fails: `{ runId, status: "error", error }`.
93
- - Announce delivery runs after the primary run completes and is best-effort; `status: "ok"` does not guarantee the announce was delivered.
94
- - Waits via gateway `agent.wait` (server-side) so reconnects don't drop the wait.
95
- - Agent-to-agent message context is injected for the primary run.
96
- - Inter-session messages are persisted with `message.provenance.kind = "inter_session"` so transcript readers can distinguish routed agent instructions from external user input.
97
- - After the primary run completes, Symi runs a **reply-back loop**:
98
- - Round 2+ alternates between requester and target agents.
99
- - Reply exactly `REPLY_SKIP` to stop the ping‑pong.
100
- - Max turns is `session.agentToAgent.maxPingPongTurns` (0–5, default 5).
101
- - Once the loop ends, Symi runs the **agent‑to‑agent announce step** (target agent only):
102
- - Reply exactly `ANNOUNCE_SKIP` to stay silent.
103
- - Any other reply is sent to the target channel.
104
- - Announce step includes the original request + round‑1 reply + latest ping‑pong reply.
105
-
106
- ## Channel Field
107
-
108
- - For groups, `channel` is the channel recorded on the session entry.
109
- - For direct chats, `channel` maps from `lastChannel`.
110
- - For cron/hook/node, `channel` is `internal`.
111
- - If missing, `channel` is `unknown`.
112
-
113
- ## Security / Send Policy
114
-
115
- Policy-based blocking by channel/chat type (not per session id).
116
-
117
- ```json
118
- {
119
- "session": {
120
- "sendPolicy": {
121
- "rules": [
122
- {
123
- "action": "deny"
124
- }
125
- ],
126
- "default": "allow"
127
- }
128
- }
129
- }
130
- ```
131
-
132
- Runtime override (per session entry):
133
-
134
- - `sendPolicy: "allow" | "deny"` (unset = inherit config)
135
- - Settable via `sessions.patch` or owner-only `/send on|off|inherit` (standalone message).
136
-
137
- Enforcement points:
138
-
139
- - `chat.send` / `agent` (gateway)
140
- - auto-reply delivery logic
141
-
142
- ## sessions_spawn
143
-
144
- Spawn a sub-agent run in an isolated session and announce the result back to the requester chat channel.
145
-
146
- Parameters:
147
-
148
- - `task` (required)
149
- - `label?` (optional; used for logs/UI)
150
- - `agentId?` (optional; spawn under another agent id if allowed)
151
- - `model?` (optional; overrides the sub-agent model; invalid values error)
152
- - `runTimeoutSeconds?` (default 0; when set, aborts the sub-agent run after N seconds)
153
- - `cleanup?` (`delete|keep`, default `keep`)
154
-
155
- Allowlist:
156
-
157
- - `agents.list[].subagents.allowAgents`: list of agent ids allowed via `agentId` (`["*"]` to allow any). Default: only the requester agent.
158
-
159
- Discovery:
160
-
161
- - Use `agents_list` to discover which agent ids are allowed for `sessions_spawn`.
162
-
163
- Behavior:
164
-
165
- - Starts a new `agent:<agentId>:subagent:<uuid>` session with `deliver: false`.
166
- - Sub-agents default to the full tool set **minus session tools** (configurable via `tools.subagents.tools`).
167
- - Sub-agents are not allowed to call `sessions_spawn` (no sub-agent → sub-agent spawning).
168
- - Always non-blocking: returns `{ status: "accepted", runId, childSessionKey }` immediately.
169
- - After completion, Symi runs a sub-agent **announce step** and posts the result to the requester chat channel.
170
- - If the assistant final reply is empty, the latest `toolResult` from sub-agent history is included as `Result`.
171
- - Reply exactly `ANNOUNCE_SKIP` during the announce step to stay silent.
172
- - Announce replies are normalized to `Status`/`Result`/`Notes`; `Status` comes from runtime outcome (not model text).
173
- - Sub-agent sessions are auto-archived after `agents.defaults.subagents.archiveAfterMinutes` (default: 60).
174
- - Announce replies include a stats line (runtime, tokens, sessionKey/sessionId, transcript path, and optional cost).
175
-
176
- ## Sandbox Session Visibility
177
-
178
- Session tools can be scoped to reduce cross-session access.
179
-
180
- Default behavior:
181
-
182
- - `tools.sessions.visibility` defaults to `tree` (current session + spawned subagent sessions).
183
- - For sandboxed sessions, `agents.defaults.sandbox.sessionToolsVisibility` can hard-clamp visibility.
184
-
185
- Config:
186
-
187
- ```json5
188
- {
189
- tools: {
190
- sessions: {
191
- // "self" | "tree" | "agent" | "all"
192
- // default: "tree"
193
- visibility: "tree",
194
- },
195
- },
196
- agents: {
197
- defaults: {
198
- sandbox: {
199
- // default: "spawned"
200
- sessionToolsVisibility: "spawned", // or "all"
201
- },
202
- },
203
- },
204
- }
205
- ```
206
-
207
- Notes:
208
-
209
- - `self`: only the current session key.
210
- - `tree`: current session + sessions spawned by the current session.
211
- - `agent`: any session belonging to the current agent id.
212
- - `all`: any session (cross-agent access still requires `tools.agentToAgent`).
213
- - When a session is sandboxed and `sessionToolsVisibility="spawned"`, Symi clamps visibility to `tree` even if you set `tools.sessions.visibility="all"`.