@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,199 +0,0 @@
1
- ---
2
- summary: "Session management rules, keys, and persistence for chats"
3
- read_when:
4
- - Modifying session handling or storage
5
- title: "Session Management"
6
- ---
7
-
8
- # Session Management
9
-
10
- Symi treats **one direct-chat session per agent** as primary. Direct chats collapse to `agent:<agentId>:<mainKey>` (default `main`), while group/channel chats get their own keys. `session.mainKey` is honored.
11
-
12
- Use `session.dmScope` to control how **direct messages** are grouped:
13
-
14
- - `main` (default): all DMs share the main session for continuity.
15
- - `per-peer`: isolate by sender id across channels.
16
- - `per-channel-peer`: isolate by channel + sender (recommended for multi-user inboxes).
17
- - `per-account-channel-peer`: isolate by account + channel + sender (recommended for multi-account inboxes).
18
- Use `session.identityLinks` to map provider-prefixed peer ids to a canonical identity so the same person shares a DM session across channels when using `per-peer`, `per-channel-peer`, or `per-account-channel-peer`.
19
-
20
- ## Secure DM mode (recommended for multi-user setups)
21
-
22
- > **Security Warning:** If your agent can receive DMs from **multiple people**, you should strongly consider enabling secure DM mode. Without it, all users share the same conversation context, which can leak private information between users.
23
-
24
- **Example of the problem with default settings:**
25
-
26
- - Alice (`<SENDER_A>`) messages your agent about a private topic (for example, a medical appointment)
27
- - Bob (`<SENDER_B>`) messages your agent asking "What were we talking about?"
28
- - Because both DMs share the same session, the model may answer Bob using Alice's prior context.
29
-
30
- **The fix:** Set `dmScope` to isolate sessions per user:
31
-
32
- ```json5
33
- // ~/.symi/symi.json
34
- {
35
- session: {
36
- // Secure DM mode: isolate DM context per channel + sender.
37
- dmScope: "per-channel-peer",
38
- },
39
- }
40
- ```
41
-
42
- **When to enable this:**
43
-
44
- - You have pairing approvals for more than one sender
45
- - You use a DM allowlist with multiple entries
46
- - You set `dmPolicy: "open"`
47
- - Multiple phone numbers or accounts can message your agent
48
-
49
- Notes:
50
-
51
- - Default is `dmScope: "main"` for continuity (all DMs share the main session). This is fine for single-user setups.
52
- - For multi-account inboxes on the same channel, prefer `per-account-channel-peer`.
53
- - If the same person contacts you on multiple channels, use `session.identityLinks` to collapse their DM sessions into one canonical identity.
54
- - You can verify your DM settings with `symi security audit` (see [security](/cli/security)).
55
-
56
- ## Gateway is the source of truth
57
-
58
- All session state is **owned by the gateway** (the “master” Symi). UI clients (macOS app, WebChat, etc.) must query the gateway for session lists and token counts instead of reading local files.
59
-
60
- - In **remote mode**, the session store you care about lives on the remote gateway host, not your Mac.
61
- - Token counts shown in UIs come from the gateway’s store fields (`inputTokens`, `outputTokens`, `totalTokens`, `contextTokens`). Clients do not parse JSONL transcripts to “fix up” totals.
62
-
63
- ## Where state lives
64
-
65
- - On the **gateway host**:
66
- - Store file: `~/.symi/agents/<agentId>/sessions/sessions.json` (per agent).
67
- - Transcripts: `~/.symi/agents/<agentId>/sessions/<SessionId>.jsonl` (Telegram topic sessions use `.../<SessionId>-topic-<threadId>.jsonl`).
68
- - The store is a map `sessionKey -> { sessionId, updatedAt, ... }`. Deleting entries is safe; they are recreated on demand.
69
- - Group entries may include `displayName`, `channel`, `subject`, `room`, and `space` to label sessions in UIs.
70
- - Session entries include `origin` metadata (label + routing hints) so UIs can explain where a session came from.
71
- - Symi does **not** read legacy Pi/Tau session folders.
72
-
73
- ## Session pruning
74
-
75
- Symi trims **old tool results** from the in-memory context right before LLM calls by default.
76
- This does **not** rewrite JSONL history. See [/concepts/session-pruning](/concepts/session-pruning).
77
-
78
- ## Pre-compaction memory flush
79
-
80
- When a session nears auto-compaction, Symi can run a **silent memory flush**
81
- turn that reminds the model to write durable notes to disk. This only runs when
82
- the workspace is writable. See [Memory](/concepts/memory) and
83
- [Compaction](/concepts/compaction).
84
-
85
- ## Mapping transports → session keys
86
-
87
- - Direct chats follow `session.dmScope` (default `main`).
88
- - `main`: `agent:<agentId>:<mainKey>` (continuity across devices/channels).
89
- - Multiple phone numbers and channels can map to the same agent main key; they act as transports into one conversation.
90
- - `per-peer`: `agent:<agentId>:dm:<peerId>`.
91
- - `per-channel-peer`: `agent:<agentId>:<channel>:dm:<peerId>`.
92
- - `per-account-channel-peer`: `agent:<agentId>:<channel>:<accountId>:dm:<peerId>` (accountId defaults to `default`).
93
- - If `session.identityLinks` matches a provider-prefixed peer id (for example `telegram:123`), the canonical key replaces `<peerId>` so the same person shares a session across channels.
94
- - Group chats isolate state: `agent:<agentId>:<channel>:group:<id>` (rooms/channels use `agent:<agentId>:<channel>:channel:<id>`).
95
- - Telegram forum topics append `:topic:<threadId>` to the group id for isolation.
96
- - Legacy `group:<id>` keys are still recognized for migration.
97
- - Inbound contexts may still use `group:<id>`; the channel is inferred from `Provider` and normalized to the canonical `agent:<agentId>:<channel>:group:<id>` form.
98
- - Other sources:
99
- - Cron jobs: `cron:<job.id>`
100
- - Webhooks: `hook:<uuid>` (unless explicitly set by the hook)
101
- - Node runs: `node-<nodeId>`
102
-
103
- ## Lifecycle
104
-
105
- - Reset policy: sessions are reused until they expire, and expiry is evaluated on the next inbound message.
106
- - Daily reset: defaults to **4:00 AM local time on the gateway host**. A session is stale once its last update is earlier than the most recent daily reset time.
107
- - Idle reset (optional): `idleMinutes` adds a sliding idle window. When both daily and idle resets are configured, **whichever expires first** forces a new session.
108
- - Legacy idle-only: if you set `session.idleMinutes` without any `session.reset`/`resetByType` config, Symi stays in idle-only mode for backward compatibility.
109
- - Per-channel overrides (optional): `resetByChannel` overrides the reset policy for a channel (applies to all session types for that channel and takes precedence over `reset`/`resetByType`).
110
- - Reset triggers: exact `/new` or `/reset` (plus any extras in `resetTriggers`) start a fresh session id and pass the remainder of the message through. `/new <model>` accepts a model alias, `provider/model`, or provider name (fuzzy match) to set the new session model. If `/new` or `/reset` is sent alone, Symi runs a short “hello” greeting turn to confirm the reset.
111
- - Manual reset: delete specific keys from the store or remove the JSONL transcript; the next message recreates them.
112
- - Isolated cron jobs always mint a fresh `sessionId` per run (no idle reuse).
113
-
114
- ## Send policy (optional)
115
-
116
- Block delivery for specific session types without listing individual ids.
117
-
118
- ```json5
119
- {
120
- session: {
121
- sendPolicy: {
122
- rules: [
123
- { action: "deny", match: { keyPrefix: "cron:" } },
124
- // Match the raw session key (including the `agent:<id>:` prefix).
125
- ],
126
- default: "allow",
127
- },
128
- },
129
- }
130
- ```
131
-
132
- Runtime override (owner only):
133
-
134
- - `/send on` → allow for this session
135
- - `/send off` → deny for this session
136
- - `/send inherit` → clear override and use config rules
137
- Send these as standalone messages so they register.
138
-
139
- ## Configuration (optional rename example)
140
-
141
- ```json5
142
- // ~/.symi/symi.json
143
- {
144
- session: {
145
- scope: "per-sender", // keep group keys separate
146
- dmScope: "main", // DM continuity (set per-channel-peer/per-account-channel-peer for shared inboxes)
147
- identityLinks: {},
148
- reset: {
149
- // Defaults: mode=daily, atHour=4 (gateway host local time).
150
- // If you also set idleMinutes, whichever expires first wins.
151
- mode: "daily",
152
- atHour: 4,
153
- idleMinutes: 120,
154
- },
155
- resetByType: {
156
- thread: { mode: "daily", atHour: 4 },
157
- direct: { mode: "idle", idleMinutes: 240 },
158
- group: { mode: "idle", idleMinutes: 120 },
159
- },
160
- resetByChannel: {},
161
- resetTriggers: ["/new", "/reset"],
162
- store: "~/.symi/agents/{agentId}/sessions/sessions.json",
163
- mainKey: "main",
164
- },
165
- }
166
- ```
167
-
168
- ## Inspecting
169
-
170
- - `symi status` — shows store path and recent sessions.
171
- - `symi sessions --json` — dumps every entry (filter with `--active <minutes>`).
172
- - `symi gateway call sessions.list --params '{}'` — fetch sessions from the running gateway (use `--url`/`--token` for remote gateway access).
173
- - Send `/status` as a standalone message in chat to see whether the agent is reachable, how much of the session context is used, current thinking/verbose toggles, and when your WhatsApp web creds were last refreshed (helps spot relink needs).
174
- - Send `/context list` or `/context detail` to see what’s in the system prompt and injected workspace files (and the biggest context contributors).
175
- - Send `/stop` as a standalone message to abort the current run, clear queued followups for that session, and stop any sub-agent runs spawned from it (the reply includes the stopped count).
176
- - Send `/compact` (optional instructions) as a standalone message to summarize older context and free up window space. See [/concepts/compaction](/concepts/compaction).
177
- - JSONL transcripts can be opened directly to review full turns.
178
-
179
- ## Tips
180
-
181
- - Keep the primary key dedicated to 1:1 traffic; let groups keep their own keys.
182
- - When automating cleanup, delete individual keys instead of the whole store to preserve context elsewhere.
183
-
184
- ## Session origin metadata
185
-
186
- Each session entry records where it came from (best-effort) in `origin`:
187
-
188
- - `label`: human label (resolved from conversation label + group subject/channel)
189
- - `provider`: normalized channel id (including extensions)
190
- - `from`/`to`: raw routing ids from the inbound envelope
191
- - `accountId`: provider account id (when multi-account)
192
- - `threadId`: thread/topic id when the channel supports it
193
- The origin fields are populated for direct messages, channels, and groups. If a
194
- connector only updates delivery routing (for example, to keep a DM main session
195
- fresh), it should still provide inbound context so the session keeps its
196
- explainer metadata. Extensions can do this by sending `ConversationLabel`,
197
- `GroupSubject`, `GroupChannel`, `GroupSpace`, and `SenderName` in the inbound
198
- context and calling `recordSessionMetaFromInbound` (or passing the same context
199
- to `updateLastRoute`).
@@ -1,10 +0,0 @@
1
- ---
2
- summary: "Alias for session management docs"
3
- read_when:
4
- - You looked for docs/sessions.md; canonical doc lives in docs/session.md
5
- title: "Sessions"
6
- ---
7
-
8
- # Sessions
9
-
10
- Canonical session management docs live in [Session management](/concepts/session).
@@ -1,129 +0,0 @@
1
- ---
2
- summary: "Streaming + chunking behavior (block replies, Telegram preview streaming, limits)"
3
- read_when:
4
- - Explaining how streaming or chunking works on channels
5
- - Changing block streaming or channel chunking behavior
6
- - Debugging duplicate/early block replies or Telegram preview streaming
7
- title: "Streaming and Chunking"
8
- ---
9
-
10
- # Streaming + chunking
11
-
12
- Symi has two separate “streaming” layers:
13
-
14
- - **Block streaming (channels):** emit completed **blocks** as the assistant writes. These are normal channel messages (not token deltas).
15
- - **Token-ish streaming (Telegram only):** update a temporary **preview message** with partial text while generating.
16
-
17
- There is **no true token-delta streaming** to channel messages today. Telegram preview streaming is the only partial-stream surface.
18
-
19
- ## Block streaming (channel messages)
20
-
21
- Block streaming sends assistant output in coarse chunks as it becomes available.
22
-
23
- ```
24
- Model output
25
- └─ text_delta/events
26
- ├─ (blockStreamingBreak=text_end)
27
- │ └─ chunker emits blocks as buffer grows
28
- └─ (blockStreamingBreak=message_end)
29
- └─ chunker flushes at message_end
30
- └─ channel send (block replies)
31
- ```
32
-
33
- Legend:
34
-
35
- - `text_delta/events`: model stream events (may be sparse for non-streaming models).
36
- - `chunker`: `EmbeddedBlockChunker` applying min/max bounds + break preference.
37
- - `channel send`: actual outbound messages (block replies).
38
-
39
- **Controls:**
40
-
41
- - `agents.defaults.blockStreamingDefault`: `"on"`/`"off"` (default off).
42
- - Channel overrides: `*.blockStreaming` (and per-account variants) to force `"on"`/`"off"` per channel.
43
- - `agents.defaults.blockStreamingBreak`: `"text_end"` or `"message_end"`.
44
- - `agents.defaults.blockStreamingChunk`: `{ minChars, maxChars, breakPreference? }`.
45
- - `agents.defaults.blockStreamingCoalesce`: `{ minChars?, maxChars?, idleMs? }` (merge streamed blocks before send).
46
- - Channel hard cap: `*.textChunkLimit` (e.g., `channels.whatsapp.textChunkLimit`).
47
- - Channel chunk mode: `*.chunkMode` (`length` default, `newline` splits on blank lines (paragraph boundaries) before length chunking).
48
-
49
- **Boundary semantics:**
50
-
51
- - `text_end`: stream blocks as soon as chunker emits; flush on each `text_end`.
52
- - `message_end`: wait until assistant message finishes, then flush buffered output.
53
-
54
- `message_end` still uses the chunker if the buffered text exceeds `maxChars`, so it can emit multiple chunks at the end.
55
-
56
- ## Chunking algorithm (low/high bounds)
57
-
58
- Block chunking is implemented by `EmbeddedBlockChunker`:
59
-
60
- - **Low bound:** don’t emit until buffer >= `minChars` (unless forced).
61
- - **High bound:** prefer splits before `maxChars`; if forced, split at `maxChars`.
62
- - **Break preference:** `paragraph` → `newline` → `sentence` → `whitespace` → hard break.
63
- - **Code fences:** never split inside fences; when forced at `maxChars`, close + reopen the fence to keep Markdown valid.
64
-
65
- `maxChars` is clamped to the channel `textChunkLimit`, so you can’t exceed per-channel caps.
66
-
67
- ## Coalescing (merge streamed blocks)
68
-
69
- When block streaming is enabled, Symi can **merge consecutive block chunks**
70
- before sending them out. This reduces “single-line spam” while still providing
71
- progressive output.
72
-
73
- - Coalescing waits for **idle gaps** (`idleMs`) before flushing.
74
- - Buffers are capped by `maxChars` and will flush if they exceed it.
75
- - `minChars` prevents tiny fragments from sending until enough text accumulates
76
- (final flush always sends remaining text).
77
- - Joiner is derived from `blockStreamingChunk.breakPreference`
78
- (`paragraph` → `\n\n`, `newline` → `\n`, `sentence` → space).
79
- - Channel overrides are available via `*.blockStreamingCoalesce` (including per-account configs).
80
-
81
- ## Human-like pacing between blocks
82
-
83
- When block streaming is enabled, you can add a **randomized pause** between
84
- block replies (after the first block). This makes multi-bubble responses feel
85
- more natural.
86
-
87
- - Config: `agents.defaults.humanDelay` (override per agent via `agents.list[].humanDelay`).
88
- - Modes: `off` (default), `natural` (800–2500ms), `custom` (`minMs`/`maxMs`).
89
- - Applies only to **block replies**, not final replies or tool summaries.
90
-
91
- ## “Stream chunks or everything”
92
-
93
- This maps to:
94
-
95
- - **Stream chunks:** `blockStreamingDefault: "on"` + `blockStreamingBreak: "text_end"` (emit as you go). Non-Telegram channels also need `*.blockStreaming: true`.
96
- - **Stream everything at end:** `blockStreamingBreak: "message_end"` (flush once, possibly multiple chunks if very long).
97
- - **No block streaming:** `blockStreamingDefault: "off"` (only final reply).
98
-
99
- **Channel note:** For non-Telegram channels, block streaming is **off unless**
100
- `*.blockStreaming` is explicitly set to `true`. Telegram can stream a live preview
101
- (`channels.telegram.streaming`) without block replies.
102
-
103
- Config location reminder: the `blockStreaming*` defaults live under
104
- `agents.defaults`, not the root config.
105
-
106
- ## Telegram preview streaming (token-ish)
107
-
108
- Telegram is the only channel with live preview streaming:
109
-
110
- - Uses Bot API `sendMessage` (first update) + `editMessageText` (subsequent updates).
111
- - `channels.telegram.streaming: true | false` (default: `true`).
112
- - Preview streaming is separate from block streaming.
113
- - When Telegram block streaming is explicitly enabled, preview streaming is skipped to avoid double-streaming.
114
- - Text-only finals are applied by editing the preview message in place.
115
- - Non-text/complex finals fall back to normal final message delivery.
116
- - `/reasoning stream` writes reasoning into the live preview (Telegram only).
117
-
118
- ```
119
- Telegram
120
- └─ sendMessage (temporary preview message)
121
- └─ streaming=true → edit latest text
122
- └─ final text-only reply → final edit on same message
123
- └─ fallback: cleanup preview + normal final delivery (media/complex)
124
- ```
125
-
126
- Legend:
127
-
128
- - `preview message`: temporary Telegram message updated during generation.
129
- - `final edit`: in-place edit on the same preview message (text-only).
@@ -1,128 +0,0 @@
1
- ---
2
- summary: "What the Symi system prompt contains and how it is assembled"
3
- read_when:
4
- - Editing system prompt text, tools list, or time/heartbeat sections
5
- - Changing workspace bootstrap or skills injection behavior
6
- title: "System Prompt"
7
- ---
8
-
9
- # System Prompt
10
-
11
- Symi builds a custom system prompt for every agent run. The prompt is **Symi-owned** and does not use the pi-coding-agent default prompt.
12
-
13
- The prompt is assembled by Symi and injected into each agent run.
14
-
15
- ## Structure
16
-
17
- The prompt is intentionally compact and uses fixed sections:
18
-
19
- - **Tooling**: current tool list + short descriptions.
20
- - **Safety**: short guardrail reminder to avoid power-seeking behavior or bypassing oversight.
21
- - **Skills** (when available): tells the model how to load skill instructions on demand.
22
- - **Symi Self-Update**: how to run `config.apply` and `update.run`.
23
- - **Workspace**: working directory (`agents.defaults.workspace`).
24
- - **Documentation**: local path to Symi docs (repo or npm package) and when to read them.
25
- - **Workspace Files (injected)**: indicates bootstrap files are included below.
26
- - **Sandbox** (when enabled): indicates sandboxed runtime, sandbox paths, and whether elevated exec is available.
27
- - **Current Date & Time**: user-local time, timezone, and time format.
28
- - **Reply Tags**: optional reply tag syntax for supported providers.
29
- - **Heartbeats**: heartbeat prompt and ack behavior.
30
- - **Runtime**: host, OS, node, model, repo root (when detected), thinking level (one line).
31
- - **Reasoning**: current visibility level + /reasoning toggle hint.
32
-
33
- Safety guardrails in the system prompt are advisory. They guide model behavior but do not enforce policy. Use tool policy, exec approvals, sandboxing, and channel allowlists for hard enforcement; operators can disable these by design.
34
-
35
- ## Prompt modes
36
-
37
- Symi can render smaller system prompts for sub-agents. The runtime sets a
38
- `promptMode` for each run (not a user-facing config):
39
-
40
- - `full` (default): includes all sections above.
41
- - `minimal`: used for sub-agents; omits **Skills**, **Memory Recall**, **Symi
42
- Self-Update**, **Model Aliases**, **User Identity**, **Reply Tags**,
43
- **Messaging**, **Silent Replies**, and **Heartbeats**. Tooling, **Safety**,
44
- Workspace, Sandbox, Current Date & Time (when known), Runtime, and injected
45
- context stay available.
46
- - `none`: returns only the base identity line.
47
-
48
- When `promptMode=minimal`, extra injected prompts are labeled **Subagent
49
- Context** instead of **Group Chat Context**.
50
-
51
- ## Workspace bootstrap injection
52
-
53
- Bootstrap files are trimmed and appended under **Project Context** so the model sees identity and profile context without needing explicit reads:
54
-
55
- - `AGENTS.md`
56
- - `SYMICORE.md`
57
- - `TOOLS.md`
58
- - `IDENTITY.md`
59
- - `USER.md`
60
- - `SYMIPULSE.md`
61
- - `BOOTSTRAP.md` (only on brand-new workspaces)
62
- - `MEMORY.md` and/or `memory.md` (when present in the workspace; either or both may be injected)
63
-
64
- All of these files are **injected into the context window** on every turn, which
65
- means they consume tokens. Keep them concise — especially `MEMORY.md`, which can
66
- grow over time and lead to unexpectedly high context usage and more frequent
67
- compaction.
68
-
69
- > **Note:** `memory/*.md` daily files are **not** injected automatically. They
70
- > are accessed on demand via the `memory_search` and `memory_get` tools, so they
71
- > do not count against the context window unless the model explicitly reads them.
72
-
73
- Large files are truncated with a marker. The max per-file size is controlled by
74
- `agents.defaults.bootstrapMaxChars` (default: 20000). Total injected bootstrap
75
- content across files is capped by `agents.defaults.bootstrapTotalMaxChars`
76
- (default: 150000). Missing files inject a short missing-file marker.
77
-
78
- Sub-agent sessions only inject `AGENTS.md` and `TOOLS.md` (other bootstrap files
79
- are filtered out to keep the sub-agent context small).
80
-
81
- Internal hooks can intercept this step via `agent:bootstrap` to mutate or replace
82
- the injected bootstrap files (for example swapping `SYMICORE.md` for an alternate persona).
83
-
84
- To inspect how much each injected file contributes (raw vs injected, truncation, plus tool schema overhead), use `/context list` or `/context detail`. See [Context](/concepts/context).
85
-
86
- ## Time handling
87
-
88
- The system prompt includes a dedicated **Current Date & Time** section when the
89
- user timezone is known. To keep the prompt cache-stable, it now only includes
90
- the **time zone** (no dynamic clock or time format).
91
-
92
- Use `session_status` when the agent needs the current time; the status card
93
- includes a timestamp line.
94
-
95
- Configure with:
96
-
97
- - `agents.defaults.userTimezone`
98
- - `agents.defaults.timeFormat` (`auto` | `12` | `24`)
99
-
100
- See [Date & Time](/date-time) for full behavior details.
101
-
102
- ## Skills
103
-
104
- When eligible skills exist, Symi injects a compact **available skills list**
105
- (`formatSkillsForPrompt`) that includes the **file path** for each skill. The
106
- prompt instructs the model to use `read` to load the SKILL.md at the listed
107
- location (workspace, managed, or bundled). If no skills are eligible, the
108
- Skills section is omitted.
109
-
110
- ```
111
- <available_skills>
112
- <skill>
113
- <name>...</name>
114
- <description>...</description>
115
- <location>...</location>
116
- </skill>
117
- </available_skills>
118
- ```
119
-
120
- This keeps the base prompt small while still enabling targeted skill usage.
121
-
122
- ## Documentation
123
-
124
- When available, the system prompt includes a **Documentation** section that points to the
125
- local Symi docs directory (either `docs/` in the repo workspace or the bundled npm
126
- SymiHub ([https://symihub.com](https://symihub.com)) for skills discovery. The prompt instructs the model to consult local docs first
127
- for Symi behavior, commands, configuration, or architecture, and to run
128
- `symi status` itself when possible (asking the user only when it lacks access).
@@ -1,90 +0,0 @@
1
- ---
2
- summary: "Timezone handling for agents, envelopes, and prompts"
3
- read_when:
4
- - You need to understand how timestamps are normalized for the model
5
- - Configuring the user timezone for system prompts
6
- title: "Timezones"
7
- ---
8
-
9
- # Timezones
10
-
11
- Symi standardizes timestamps so the model sees a **single reference time**.
12
-
13
- ## Message envelopes (local by default)
14
-
15
- Inbound messages are wrapped in an envelope like:
16
-
17
- ```
18
- [Provider ... 2026-01-05 16:26 PST] message text
19
- ```
20
-
21
- The timestamp in the envelope is **host-local by default**, with minutes precision.
22
-
23
- You can override this with:
24
-
25
- ```json5
26
- {
27
- agents: {
28
- defaults: {
29
- envelopeTimezone: "local", // "utc" | "local" | "user" | IANA timezone
30
- envelopeTimestamp: "on", // "on" | "off"
31
- envelopeElapsed: "on", // "on" | "off"
32
- },
33
- },
34
- }
35
- ```
36
-
37
- - `envelopeTimezone: "utc"` uses UTC.
38
- - `envelopeTimezone: "user"` uses `agents.defaults.userTimezone` (falls back to host timezone).
39
- - Use an explicit IANA timezone (e.g., `"Europe/Vienna"`) for a fixed offset.
40
- - `envelopeTimestamp: "off"` removes absolute timestamps from envelope headers.
41
- - `envelopeElapsed: "off"` removes elapsed time suffixes (the `+2m` style).
42
-
43
- ### Examples
44
-
45
- **Local (default):**
46
-
47
- ```
48
- [Signal Alice +1555 2026-01-18 00:19 PST] hello
49
- ```
50
-
51
- **Fixed timezone:**
52
-
53
- ```
54
- [Signal Alice +1555 2026-01-18 06:19 GMT+1] hello
55
- ```
56
-
57
- **Elapsed time:**
58
-
59
- ```
60
- [Signal Alice +1555 +2m 2026-01-18T05:19Z] follow-up
61
- ```
62
-
63
- ## Tool payloads (raw provider data + normalized fields)
64
-
65
- We also attach normalized fields for consistency:
66
-
67
- - `timestampMs` (UTC epoch milliseconds)
68
- - `timestampUtc` (ISO 8601 UTC string)
69
-
70
- Raw provider fields are preserved.
71
-
72
- ## User timezone for the system prompt
73
-
74
- Set `agents.defaults.userTimezone` to tell the model the user's local time zone. If it is
75
- unset, Symi resolves the **host timezone at runtime** (no config write).
76
-
77
- ```json5
78
- {
79
- agents: { defaults: { userTimezone: "America/Chicago" } },
80
- }
81
- ```
82
-
83
- The system prompt includes:
84
-
85
- - `Current Date & Time` section with local time and timezone
86
- - `Time format: 12-hour` or `24-hour`
87
-
88
- You can control the prompt format with `agents.defaults.timeFormat` (`auto` | `12` | `24`).
89
-
90
- See [Date & Time](/date-time) for the full behavior and examples.