@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,374 +0,0 @@
1
- ---
2
- summary: "Heartbeat polling messages and notification rules"
3
- read_when:
4
- - Adjusting heartbeat cadence or messaging
5
- - Deciding between heartbeat and cron for scheduled tasks
6
- title: "Heartbeat"
7
- ---
8
-
9
- # Heartbeat (Gateway)
10
-
11
- > **Heartbeat vs Cron?** See [Cron vs Heartbeat](/automation/cron-vs-heartbeat) for guidance on when to use each.
12
-
13
- Heartbeat runs **periodic agent turns** in the main session so the model can
14
- surface anything that needs attention without spamming you.
15
-
16
- Troubleshooting: [/automation/troubleshooting](/automation/troubleshooting)
17
-
18
- ## Quick start (beginner)
19
-
20
- 1. Leave heartbeats enabled (default is `30m`, or `1h` for Anthropic OAuth/setup-token) or set your own cadence.
21
- 2. Create a tiny `SYMIPULSE.md` checklist in the agent workspace (optional but recommended).
22
- 3. Decide where heartbeat messages should go (`target: "last"` is the default).
23
- 4. Optional: enable heartbeat reasoning delivery for transparency.
24
- 5. Optional: restrict heartbeats to active hours (local time).
25
-
26
- Example config:
27
-
28
- ```json5
29
- {
30
- agents: {
31
- defaults: {
32
- heartbeat: {
33
- every: "30m",
34
- target: "last",
35
- // activeHours: { start: "08:00", end: "24:00" },
36
- // includeReasoning: true, // optional: send separate `Reasoning:` message too
37
- },
38
- },
39
- },
40
- }
41
- ```
42
-
43
- ## Defaults
44
-
45
- - Interval: `30m` (or `1h` when Anthropic OAuth/setup-token is the detected auth mode). Set `agents.defaults.heartbeat.every` or per-agent `agents.list[].heartbeat.every`; use `0m` to disable.
46
- - Prompt body (configurable via `agents.defaults.heartbeat.prompt`):
47
- `Read SYMIPULSE.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply SYMIPULSE_OK.`
48
- - The heartbeat prompt is sent **verbatim** as the user message. The system
49
- prompt includes a “Heartbeat” section and the run is flagged internally.
50
- - Active hours (`heartbeat.activeHours`) are checked in the configured timezone.
51
- Outside the window, heartbeats are skipped until the next tick inside the window.
52
-
53
- ## What the heartbeat prompt is for
54
-
55
- The default prompt is intentionally broad:
56
-
57
- - **Background tasks**: “Consider outstanding tasks” nudges the agent to review
58
- follow-ups (inbox, calendar, reminders, queued work) and surface anything urgent.
59
- - **Human check-in**: “Checkup sometimes on your human during day time” nudges an
60
- occasional lightweight “anything you need?” message, but avoids night-time spam
61
- by using your configured local timezone (see [/concepts/timezone](/concepts/timezone)).
62
-
63
- If you want a heartbeat to do something very specific (e.g. “check Gmail PubSub
64
- stats” or “verify gateway health”), set `agents.defaults.heartbeat.prompt` (or
65
- `agents.list[].heartbeat.prompt`) to a custom body (sent verbatim).
66
-
67
- ## Response contract
68
-
69
- - If nothing needs attention, reply with **`SYMIPULSE_OK`**.
70
- - During heartbeat runs, Symi treats `SYMIPULSE_OK` as an ack when it appears
71
- at the **start or end** of the reply. The token is stripped and the reply is
72
- dropped if the remaining content is **≤ `ackMaxChars`** (default: 300).
73
- - If `SYMIPULSE_OK` appears in the **middle** of a reply, it is not treated
74
- specially.
75
- - For alerts, **do not** include `SYMIPULSE_OK`; return only the alert text.
76
-
77
- Outside heartbeats, stray `SYMIPULSE_OK` at the start/end of a message is stripped
78
- and logged; a message that is only `SYMIPULSE_OK` is dropped.
79
-
80
- ## Config
81
-
82
- ```json5
83
- {
84
- agents: {
85
- defaults: {
86
- heartbeat: {
87
- every: "30m", // default: 30m (0m disables)
88
- model: "anthropic/claude-opus-4-6",
89
- includeReasoning: false, // default: false (deliver separate Reasoning: message when available)
90
- target: "last", // last | none | <channel id> (core or plugin, e.g. "bluebubbles")
91
- to: "+15551234567", // optional channel-specific override
92
- accountId: "ops-bot", // optional multi-account channel id
93
- prompt: "Read SYMIPULSE.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply SYMIPULSE_OK.",
94
- ackMaxChars: 300, // max chars allowed after SYMIPULSE_OK
95
- },
96
- },
97
- },
98
- }
99
- ```
100
-
101
- ### Scope and precedence
102
-
103
- - `agents.defaults.heartbeat` sets global heartbeat behavior.
104
- - `agents.list[].heartbeat` merges on top; if any agent has a `heartbeat` block, **only those agents** run heartbeats.
105
- - `channels.defaults.heartbeat` sets visibility defaults for all channels.
106
- - `channels.<channel>.heartbeat` overrides channel defaults.
107
- - `channels.<channel>.accounts.<id>.heartbeat` (multi-account channels) overrides per-channel settings.
108
-
109
- ### Per-agent heartbeats
110
-
111
- If any `agents.list[]` entry includes a `heartbeat` block, **only those agents**
112
- run heartbeats. The per-agent block merges on top of `agents.defaults.heartbeat`
113
- (so you can set shared defaults once and override per agent).
114
-
115
- Example: two agents, only the second agent runs heartbeats.
116
-
117
- ```json5
118
- {
119
- agents: {
120
- defaults: {
121
- heartbeat: {
122
- every: "30m",
123
- target: "last",
124
- },
125
- },
126
- list: [
127
- { id: "main", default: true },
128
- {
129
- id: "ops",
130
- heartbeat: {
131
- every: "1h",
132
- target: "whatsapp",
133
- to: "+15551234567",
134
- prompt: "Read SYMIPULSE.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply SYMIPULSE_OK.",
135
- },
136
- },
137
- ],
138
- },
139
- }
140
- ```
141
-
142
- ### Active hours example
143
-
144
- Restrict heartbeats to business hours in a specific timezone:
145
-
146
- ```json5
147
- {
148
- agents: {
149
- defaults: {
150
- heartbeat: {
151
- every: "30m",
152
- target: "last",
153
- activeHours: {
154
- start: "09:00",
155
- end: "22:00",
156
- timezone: "America/New_York", // optional; uses your userTimezone if set, otherwise host tz
157
- },
158
- },
159
- },
160
- },
161
- }
162
- ```
163
-
164
- Outside this window (before 9am or after 10pm Eastern), heartbeats are skipped. The next scheduled tick inside the window will run normally.
165
-
166
- ### 24/7 setup
167
-
168
- If you want heartbeats to run all day, use one of these patterns:
169
-
170
- - Omit `activeHours` entirely (no time-window restriction; this is the default behavior).
171
- - Set a full-day window: `activeHours: { start: "00:00", end: "24:00" }`.
172
-
173
- Do not set the same `start` and `end` time (for example `08:00` to `08:00`).
174
- That is treated as a zero-width window, so heartbeats are always skipped.
175
-
176
- ### Multi account example
177
-
178
- Use `accountId` to target a specific account on multi-account channels like Telegram:
179
-
180
- ```json5
181
- {
182
- agents: {
183
- list: [
184
- {
185
- id: "ops",
186
- heartbeat: {
187
- every: "1h",
188
- target: "telegram",
189
- to: "12345678:topic:42", // optional: route to a specific topic/thread
190
- accountId: "ops-bot",
191
- },
192
- },
193
- ],
194
- },
195
- channels: {
196
- telegram: {
197
- accounts: {
198
- "ops-bot": { botToken: "YOUR_TELEGRAM_BOT_TOKEN" },
199
- },
200
- },
201
- },
202
- }
203
- ```
204
-
205
- ### Field notes
206
-
207
- - `every`: heartbeat interval (duration string; default unit = minutes).
208
- - `model`: optional model override for heartbeat runs (`provider/model`).
209
- - `includeReasoning`: when enabled, also deliver the separate `Reasoning:` message when available (same shape as `/reasoning on`).
210
- - `session`: optional session key for heartbeat runs.
211
- - `main` (default): agent main session.
212
- - Explicit session key (copy from `symi sessions --json` or the [sessions CLI](/cli/sessions)).
213
- - Session key formats: see [Sessions](/concepts/session) and [Groups](/channels/groups).
214
- - `target`:
215
- - `last` (default): deliver to the last used external channel.
216
- - `none`: run the heartbeat but **do not deliver** externally.
217
- - `to`: optional recipient override (channel-specific id, e.g. E.164 for WhatsApp or a Telegram chat id). For Telegram topics/threads, use `<chatId>:topic:<messageThreadId>`.
218
- - `accountId`: optional account id for multi-account channels. When `target: "last"`, the account id applies to the resolved last channel if it supports accounts; otherwise it is ignored. If the account id does not match a configured account for the resolved channel, delivery is skipped.
219
- - `prompt`: overrides the default prompt body (not merged).
220
- - `ackMaxChars`: max chars allowed after `SYMIPULSE_OK` before delivery.
221
- - `suppressToolErrorWarnings`: when true, suppresses tool error warning payloads during heartbeat runs.
222
- - `activeHours`: restricts heartbeat runs to a time window. Object with `start` (HH:MM, inclusive; use `00:00` for start-of-day), `end` (HH:MM exclusive; `24:00` allowed for end-of-day), and optional `timezone`.
223
- - Omitted or `"user"`: uses your `agents.defaults.userTimezone` if set, otherwise falls back to the host system timezone.
224
- - `"local"`: always uses the host system timezone.
225
- - Any IANA identifier (e.g. `America/New_York`): used directly; if invalid, falls back to the `"user"` behavior above.
226
- - `start` and `end` must not be equal for an active window; equal values are treated as zero-width (always outside the window).
227
- - Outside the active window, heartbeats are skipped until the next tick inside the window.
228
-
229
- ## Delivery behavior
230
-
231
- - Heartbeats run in the agent’s main session by default (`agent:<id>:<mainKey>`),
232
- or `global` when `session.scope = "global"`. Set `session` to override to a
233
- - `session` only affects the run context; delivery is controlled by `target` and `to`.
234
- - To deliver to a specific channel/recipient, set `target` + `to`. With
235
- `target: "last"`, delivery uses the last external channel for that session.
236
- - If the main queue is busy, the heartbeat is skipped and retried later.
237
- - If `target` resolves to no external destination, the run still happens but no
238
- outbound message is sent.
239
- - Heartbeat-only replies do **not** keep the session alive; the last `updatedAt`
240
- is restored so idle expiry behaves normally.
241
-
242
- ## Visibility controls
243
-
244
- By default, `SYMIPULSE_OK` acknowledgments are suppressed while alert content is
245
- delivered. You can adjust this per channel or per account:
246
-
247
- ```yaml
248
- channels:
249
- defaults:
250
- heartbeat:
251
- showOk: false # Hide SYMIPULSE_OK (default)
252
- showAlerts: true # Show alert messages (default)
253
- useIndicator: true # Emit indicator events (default)
254
- telegram:
255
- heartbeat:
256
- showOk: true # Show OK acknowledgments on Telegram
257
- whatsapp:
258
- accounts:
259
- work:
260
- heartbeat:
261
- showAlerts: false # Suppress alert delivery for this account
262
- ```
263
-
264
- Precedence: per-account → per-channel → channel defaults → built-in defaults.
265
-
266
- ### What each flag does
267
-
268
- - `showOk`: sends a `SYMIPULSE_OK` acknowledgment when the model returns an OK-only reply.
269
- - `showAlerts`: sends the alert content when the model returns a non-OK reply.
270
- - `useIndicator`: emits indicator events for UI status surfaces.
271
-
272
- If **all three** are false, Symi skips the heartbeat run entirely (no model call).
273
-
274
- ### Per-channel vs per-account examples
275
-
276
- ```yaml
277
- channels:
278
- defaults:
279
- heartbeat:
280
- showOk: false
281
- showAlerts: true
282
- useIndicator: true
283
- slack:
284
- heartbeat:
285
- showOk: true # all Slack accounts
286
- accounts:
287
- ops:
288
- heartbeat:
289
- showAlerts: false # suppress alerts for the ops account only
290
- telegram:
291
- heartbeat:
292
- showOk: true
293
- ```
294
-
295
- ### Common patterns
296
-
297
- | Goal | Config |
298
- | ---------------------------------------- | ---------------------------------------------------------------------------------------- |
299
- | Default behavior (silent OKs, alerts on) | _(no config needed)_ |
300
- | Fully silent (no messages, no indicator) | `channels.defaults.heartbeat: { showOk: false, showAlerts: false, useIndicator: false }` |
301
- | Indicator-only (no messages) | `channels.defaults.heartbeat: { showOk: false, showAlerts: false, useIndicator: true }` |
302
- | OKs in one channel only | `channels.telegram.heartbeat: { showOk: true }` |
303
-
304
- ## SYMIPULSE.md (optional)
305
-
306
- If a `SYMIPULSE.md` file exists in the workspace, the default prompt tells the
307
- agent to read it. Think of it as your "heartbeat checklist": small, stable, and
308
- safe to include every 30 minutes.
309
-
310
- If `SYMIPULSE.md` exists but is effectively empty (only blank lines and markdown
311
- headers like `# Heading`), Symi skips the heartbeat run to save API calls.
312
- If the file is missing, the heartbeat still runs and the model decides what to do.
313
-
314
- Keep it tiny (short checklist or reminders) to avoid prompt bloat.
315
-
316
- Example `SYMIPULSE.md`:
317
-
318
- ```md
319
- # Heartbeat checklist
320
-
321
- - Quick scan: anything urgent in inboxes?
322
- - If it’s daytime, do a lightweight check-in if nothing else is pending.
323
- - If a task is blocked, write down _what is missing_ and ask Peter next time.
324
- ```
325
-
326
- ### Can the agent update SYMIPULSE.md?
327
-
328
- Yes — if you ask it to.
329
-
330
- `SYMIPULSE.md` is just a normal file in the agent workspace, so you can tell the
331
- agent (in a normal chat) something like:
332
-
333
- - "Update `SYMIPULSE.md` to add a daily calendar check."
334
- - "Rewrite `SYMIPULSE.md` so it's shorter and focused on inbox follow-ups."
335
-
336
- If you want this to happen proactively, you can also include an explicit line in
337
- your heartbeat prompt like: "If the checklist becomes stale, update SYMIPULSE.md
338
- with a better one."
339
-
340
- Safety note: don't put secrets (API keys, phone numbers, private tokens) into
341
- `SYMIPULSE.md` — it becomes part of the prompt context.
342
-
343
- ## Manual wake (on-demand)
344
-
345
- You can enqueue a system event and trigger an immediate heartbeat with:
346
-
347
- ```bash
348
- symi system event --text "Check for urgent follow-ups" --mode now
349
- ```
350
-
351
- If multiple agents have `heartbeat` configured, a manual wake runs each of those
352
- agent heartbeats immediately.
353
-
354
- Use `--mode next-heartbeat` to wait for the next scheduled tick.
355
-
356
- ## Reasoning delivery (optional)
357
-
358
- By default, heartbeats deliver only the final “answer” payload.
359
-
360
- If you want transparency, enable:
361
-
362
- - `agents.defaults.heartbeat.includeReasoning: true`
363
-
364
- When enabled, heartbeats will also deliver a separate message prefixed
365
- `Reasoning:` (same shape as `/reasoning on`). This can be useful when the agent
366
- is managing multiple sessions/codexes and you want to see why it decided to ping
367
- you — but it can also leak more internal detail than you want. Prefer keeping it
368
- off in group chats.
369
-
370
- ## Cost awareness
371
-
372
- Heartbeats run full agent turns. Shorter intervals burn more tokens. Keep
373
- `SYMIPULSE.md` small and consider a cheaper `model` or `target: "none"` if you
374
- only want internal state updates.
@@ -1,254 +0,0 @@
1
- ---
2
- summary: "Runbook for the Gateway service, lifecycle, and operations"
3
- read_when:
4
- - Running or debugging the gateway process
5
- title: "Gateway Runbook"
6
- ---
7
-
8
- # Gateway runbook
9
-
10
- Use this page for day-1 startup and day-2 operations of the Gateway service.
11
-
12
- <CardGroup cols={2}>
13
- <Card title="Deep troubleshooting" icon="siren" href="/gateway/troubleshooting">
14
- Symptom-first diagnostics with exact command ladders and log signatures.
15
- </Card>
16
- <Card title="Configuration" icon="sliders" href="/gateway/configuration">
17
- Task-oriented setup guide + full configuration reference.
18
- </Card>
19
- </CardGroup>
20
-
21
- ## 5-minute local startup
22
-
23
- <Steps>
24
- <Step title="Start the Gateway">
25
-
26
- ```bash
27
- symi gateway --port 18789
28
- # debug/trace mirrored to stdio
29
- symi gateway --port 18789 --verbose
30
- # force-kill listener on selected port, then start
31
- symi gateway --force
32
- ```
33
-
34
- </Step>
35
-
36
- <Step title="Verify service health">
37
-
38
- ```bash
39
- symi gateway status
40
- symi status
41
- symi logs --follow
42
- ```
43
-
44
- Healthy baseline: `Runtime: running` and `RPC probe: ok`.
45
-
46
- </Step>
47
-
48
- <Step title="Validate channel readiness">
49
-
50
- ```bash
51
- symi channels status --probe
52
- ```
53
-
54
- </Step>
55
- </Steps>
56
-
57
- <Note>
58
- Gateway config reload watches the active config file path (resolved from profile/state defaults, or `SYMI_CONFIG_PATH` when set).
59
- Default mode is `gateway.reload.mode="hybrid"`.
60
- </Note>
61
-
62
- ## Runtime model
63
-
64
- - One always-on process for routing, control plane, and channel connections.
65
- - Single multiplexed port for:
66
- - WebSocket control/RPC
67
- - HTTP APIs (OpenAI-compatible, Responses, tools invoke)
68
- - Control UI and hooks
69
- - Default bind mode: `loopback`.
70
- - Auth is required by default (`gateway.auth.token` / `gateway.auth.password`, or `SYMI_GATEWAY_TOKEN` / `SYMI_GATEWAY_PASSWORD`).
71
-
72
- ### Port and bind precedence
73
-
74
- | Setting | Resolution order |
75
- | ------------ | --------------------------------------------------------- |
76
- | Gateway port | `--port` → `SYMI_GATEWAY_PORT` → `gateway.port` → `18789` |
77
- | Bind mode | CLI/override → `gateway.bind` → `loopback` |
78
-
79
- ### Hot reload modes
80
-
81
- | `gateway.reload.mode` | Behavior |
82
- | --------------------- | ------------------------------------------ |
83
- | `off` | No config reload |
84
- | `hot` | Apply only hot-safe changes |
85
- | `restart` | Restart on reload-required changes |
86
- | `hybrid` (default) | Hot-apply when safe, restart when required |
87
-
88
- ## Operator command set
89
-
90
- ```bash
91
- symi gateway status
92
- symi gateway status --deep
93
- symi gateway status --json
94
- symi gateway install
95
- symi gateway restart
96
- symi gateway stop
97
- symi logs --follow
98
- symi doctor
99
- ```
100
-
101
- ## Remote access
102
-
103
- Preferred: Tailscale/VPN.
104
- Fallback: SSH tunnel.
105
-
106
- ```bash
107
- ssh -N -L 18789:127.0.0.1:18789 user@host
108
- ```
109
-
110
- Then connect clients to `ws://127.0.0.1:18789` locally.
111
-
112
- <Warning>
113
- If gateway auth is configured, clients still must send auth (`token`/`password`) even over SSH tunnels.
114
- </Warning>
115
-
116
- See: [Remote Gateway](/gateway/remote), [Authentication](/gateway/authentication), [Tailscale](/gateway/tailscale).
117
-
118
- ## Supervision and service lifecycle
119
-
120
- Use supervised runs for production-like reliability.
121
-
122
- <Tabs>
123
- <Tab title="macOS (launchd)">
124
-
125
- ```bash
126
- symi gateway install
127
- symi gateway status
128
- symi gateway restart
129
- symi gateway stop
130
- ```
131
-
132
- LaunchAgent labels are `ai.symi.gateway` (default) or `ai.symi.<profile>` (named profile). `symi doctor` audits and repairs service config drift.
133
-
134
- </Tab>
135
-
136
- <Tab title="Linux (systemd user)">
137
-
138
- ```bash
139
- symi gateway install
140
- systemctl --user enable --now symi-gateway[-<profile>].service
141
- symi gateway status
142
- ```
143
-
144
- For persistence after logout, enable lingering:
145
-
146
- ```bash
147
- sudo loginctl enable-linger <user>
148
- ```
149
-
150
- </Tab>
151
-
152
- <Tab title="Linux (system service)">
153
-
154
- Use a system unit for multi-user/always-on hosts.
155
-
156
- ```bash
157
- sudo systemctl daemon-reload
158
- sudo systemctl enable --now symi-gateway[-<profile>].service
159
- ```
160
-
161
- </Tab>
162
- </Tabs>
163
-
164
- ## Multiple gateways on one host
165
-
166
- Most setups should run **one** Gateway.
167
- Use multiple only for strict isolation/redundancy (for example a rescue profile).
168
-
169
- Checklist per instance:
170
-
171
- - Unique `gateway.port`
172
- - Unique `SYMI_CONFIG_PATH`
173
- - Unique `SYMI_STATE_DIR`
174
- - Unique `agents.defaults.workspace`
175
-
176
- Example:
177
-
178
- ```bash
179
- SYMI_CONFIG_PATH=~/.symi/a.json SYMI_STATE_DIR=~/.symi-a symi gateway --port 19001
180
- SYMI_CONFIG_PATH=~/.symi/b.json SYMI_STATE_DIR=~/.symi-b symi gateway --port 19002
181
- ```
182
-
183
- See: [Multiple gateways](/gateway/multiple-gateways).
184
-
185
- ### Dev profile quick path
186
-
187
- ```bash
188
- symi --dev setup
189
- symi --dev gateway --allow-unconfigured
190
- symi --dev status
191
- ```
192
-
193
- Defaults include isolated state/config and base gateway port `19001`.
194
-
195
- ## Protocol quick reference (operator view)
196
-
197
- - First client frame must be `connect`.
198
- - Gateway returns `hello-ok` snapshot (`presence`, `health`, `stateVersion`, `uptimeMs`, limits/policy).
199
- - Requests: `req(method, params)` → `res(ok/payload|error)`.
200
- - Common events: `connect.challenge`, `agent`, `chat`, `presence`, `tick`, `health`, `heartbeat`, `shutdown`.
201
-
202
- Agent runs are two-stage:
203
-
204
- 1. Immediate accepted ack (`status:"accepted"`)
205
- 2. Final completion response (`status:"ok"|"error"`), with streamed `agent` events in between.
206
-
207
- See full protocol docs: [Gateway Protocol](/gateway/protocol).
208
-
209
- ## Operational checks
210
-
211
- ### Liveness
212
-
213
- - Open WS and send `connect`.
214
- - Expect `hello-ok` response with snapshot.
215
-
216
- ### Readiness
217
-
218
- ```bash
219
- symi gateway status
220
- symi channels status --probe
221
- symi health
222
- ```
223
-
224
- ### Gap recovery
225
-
226
- Events are not replayed. On sequence gaps, refresh state (`health`, `system-presence`) before continuing.
227
-
228
- ## Common failure signatures
229
-
230
- | Signature | Likely issue |
231
- | -------------------------------------------------------------- | ---------------------------------------- |
232
- | `refusing to bind gateway ... without auth` | Non-loopback bind without token/password |
233
- | `another gateway instance is already listening` / `EADDRINUSE` | Port conflict |
234
- | `Gateway start blocked: set gateway.mode=local` | Config set to remote mode |
235
- | `unauthorized` during connect | Auth mismatch between client and gateway |
236
-
237
- For full diagnosis ladders, use [Gateway Troubleshooting](/gateway/troubleshooting).
238
-
239
- ## Safety guarantees
240
-
241
- - Gateway protocol clients fail fast when Gateway is unavailable (no implicit direct-channel fallback).
242
- - Invalid/non-connect first frames are rejected and closed.
243
- - Graceful shutdown emits `shutdown` event before socket close.
244
-
245
- ---
246
-
247
- Related:
248
-
249
- - [Troubleshooting](/gateway/troubleshooting)
250
- - [Background Process](/gateway/background-process)
251
- - [Configuration](/gateway/configuration)
252
- - [Health](/gateway/health)
253
- - [Doctor](/gateway/doctor)
254
- - [Authentication](/gateway/authentication)