@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,286 +0,0 @@
1
- ---
2
- summary: "Guidance for choosing between heartbeat and cron jobs for automation"
3
- read_when:
4
- - Deciding how to schedule recurring tasks
5
- - Setting up background monitoring or notifications
6
- - Optimizing token usage for periodic checks
7
- title: "Cron vs Heartbeat"
8
- ---
9
-
10
- # Cron vs Heartbeat: When to Use Each
11
-
12
- Both heartbeats and cron jobs let you run tasks on a schedule. This guide helps you choose the right mechanism for your use case.
13
-
14
- ## Quick Decision Guide
15
-
16
- | Use Case | Recommended | Why |
17
- | ------------------------------------ | ------------------- | ---------------------------------------- |
18
- | Check inbox every 30 min | Heartbeat | Batches with other checks, context-aware |
19
- | Send daily report at 9am sharp | Cron (isolated) | Exact timing needed |
20
- | Monitor calendar for upcoming events | Heartbeat | Natural fit for periodic awareness |
21
- | Run weekly deep analysis | Cron (isolated) | Standalone task, can use different model |
22
- | Remind me in 20 minutes | Cron (main, `--at`) | One-shot with precise timing |
23
- | Background project health check | Heartbeat | Piggybacks on existing cycle |
24
-
25
- ## Heartbeat: Periodic Awareness
26
-
27
- Heartbeats run in the **main session** at a regular interval (default: 30 min). They're designed for the agent to check on things and surface anything important.
28
-
29
- ### When to use heartbeat
30
-
31
- - **Multiple periodic checks**: Instead of 5 separate cron jobs checking inbox, calendar, weather, notifications, and project status, a single heartbeat can batch all of these.
32
- - **Context-aware decisions**: The agent has full main-session context, so it can make smart decisions about what's urgent vs. what can wait.
33
- - **Conversational continuity**: Heartbeat runs share the same session, so the agent remembers recent conversations and can follow up naturally.
34
- - **Low-overhead monitoring**: One heartbeat replaces many small polling tasks.
35
-
36
- ### Heartbeat advantages
37
-
38
- - **Batches multiple checks**: One agent turn can review inbox, calendar, and notifications together.
39
- - **Reduces API calls**: A single heartbeat is cheaper than 5 isolated cron jobs.
40
- - **Context-aware**: The agent knows what you've been working on and can prioritize accordingly.
41
- - **Smart suppression**: If nothing needs attention, the agent replies `SYMIPULSE_OK` and no message is delivered.
42
- - **Natural timing**: Drifts slightly based on queue load, which is fine for most monitoring.
43
-
44
- ### Heartbeat example: SYMIPULSE.md checklist
45
-
46
- ```md
47
- # Heartbeat checklist
48
-
49
- - Check email for urgent messages
50
- - Review calendar for events in next 2 hours
51
- - If a background task finished, summarize results
52
- - If idle for 8+ hours, send a brief check-in
53
- ```
54
-
55
- The agent reads this on each heartbeat and handles all items in one turn.
56
-
57
- ### Configuring heartbeat
58
-
59
- ```json5
60
- {
61
- agents: {
62
- defaults: {
63
- heartbeat: {
64
- every: "30m", // interval
65
- target: "last", // where to deliver alerts
66
- activeHours: { start: "08:00", end: "22:00" }, // optional
67
- },
68
- },
69
- },
70
- }
71
- ```
72
-
73
- See [Heartbeat](/gateway/heartbeat) for full configuration.
74
-
75
- ## Cron: Precise Scheduling
76
-
77
- Cron jobs run at precise times and can run in isolated sessions without affecting main context.
78
- Recurring top-of-hour schedules are automatically spread by a deterministic
79
- per-job offset in a 0-5 minute window.
80
-
81
- ### When to use cron
82
-
83
- - **Exact timing required**: "Send this at 9:00 AM every Monday" (not "sometime around 9").
84
- - **Standalone tasks**: Tasks that don't need conversational context.
85
- - **Different model/thinking**: Heavy analysis that warrants a more powerful model.
86
- - **One-shot reminders**: "Remind me in 20 minutes" with `--at`.
87
- - **Noisy/frequent tasks**: Tasks that would clutter main session history.
88
- - **External triggers**: Tasks that should run independently of whether the agent is otherwise active.
89
-
90
- ### Cron advantages
91
-
92
- - **Precise timing**: 5-field or 6-field (seconds) cron expressions with timezone support.
93
- - **Built-in load spreading**: recurring top-of-hour schedules are staggered by up to 5 minutes by default.
94
- - **Per-job control**: override stagger with `--stagger <duration>` or force exact timing with `--exact`.
95
- - **Session isolation**: Runs in `cron:<jobId>` without polluting main history.
96
- - **Model overrides**: Use a cheaper or more powerful model per job.
97
- - **Delivery control**: Isolated jobs default to `announce` (summary); choose `none` as needed.
98
- - **Immediate delivery**: Announce mode posts directly without waiting for heartbeat.
99
- - **No agent context needed**: Runs even if main session is idle or compacted.
100
- - **One-shot support**: `--at` for precise future timestamps.
101
-
102
- ### Cron example: Daily morning briefing
103
-
104
- ```bash
105
- symi cron add \
106
- --name "Morning briefing" \
107
- --cron "0 7 * * *" \
108
- --tz "America/New_York" \
109
- --session isolated \
110
- --message "Generate today's briefing: weather, calendar, top emails, news summary." \
111
- --model opus \
112
- --announce \
113
- --channel whatsapp \
114
- --to "+15551234567"
115
- ```
116
-
117
- This runs at exactly 7:00 AM New York time, uses Opus for quality, and announces a summary directly to WhatsApp.
118
-
119
- ### Cron example: One-shot reminder
120
-
121
- ```bash
122
- symi cron add \
123
- --name "Meeting reminder" \
124
- --at "20m" \
125
- --session main \
126
- --system-event "Reminder: standup meeting starts in 10 minutes." \
127
- --wake now \
128
- --delete-after-run
129
- ```
130
-
131
- See [Cron jobs](/automation/cron-jobs) for full CLI reference.
132
-
133
- ## Decision Flowchart
134
-
135
- ```
136
- Does the task need to run at an EXACT time?
137
- YES -> Use cron
138
- NO -> Continue...
139
-
140
- Does the task need isolation from main session?
141
- YES -> Use cron (isolated)
142
- NO -> Continue...
143
-
144
- Can this task be batched with other periodic checks?
145
- YES -> Use heartbeat (add to SYMIPULSE.md)
146
- NO -> Use cron
147
-
148
- Is this a one-shot reminder?
149
- YES -> Use cron with --at
150
- NO -> Continue...
151
-
152
- Does it need a different model or thinking level?
153
- YES -> Use cron (isolated) with --model/--thinking
154
- NO -> Use heartbeat
155
- ```
156
-
157
- ## Combining Both
158
-
159
- The most efficient setup uses **both**:
160
-
161
- 1. **Heartbeat** handles routine monitoring (inbox, calendar, notifications) in one batched turn every 30 minutes.
162
- 2. **Cron** handles precise schedules (daily reports, weekly reviews) and one-shot reminders.
163
-
164
- ### Example: Efficient automation setup
165
-
166
- **SYMIPULSE.md** (checked every 30 min):
167
-
168
- ```md
169
- # Heartbeat checklist
170
-
171
- - Scan inbox for urgent emails
172
- - Check calendar for events in next 2h
173
- - Review any pending tasks
174
- - Light check-in if quiet for 8+ hours
175
- ```
176
-
177
- **Cron jobs** (precise timing):
178
-
179
- ```bash
180
- # Daily morning briefing at 7am
181
- symi cron add --name "Morning brief" --cron "0 7 * * *" --session isolated --message "..." --announce
182
-
183
- # Weekly project review on Mondays at 9am
184
- symi cron add --name "Weekly review" --cron "0 9 * * 1" --session isolated --message "..." --model opus
185
-
186
- # One-shot reminder
187
- symi cron add --name "Call back" --at "2h" --session main --system-event "Call back the client" --wake now
188
- ```
189
-
190
- ## Pipeline: Deterministic workflows with approvals
191
-
192
- Pipeline is the workflow runtime for **multi-step tool pipelines** that need deterministic execution and explicit approvals.
193
- Use it when the task is more than a single agent turn, and you want a resumable workflow with human checkpoints.
194
-
195
- ### When Pipeline fits
196
-
197
- - **Multi-step automation**: You need a fixed pipeline of tool calls, not a one-off prompt.
198
- - **Approval gates**: Side effects should pause until you approve, then resume.
199
- - **Resumable runs**: Continue a paused workflow without re-running earlier steps.
200
-
201
- ### How it pairs with heartbeat and cron
202
-
203
- - **Heartbeat/cron** decide _when_ a run happens.
204
- - **Pipeline** defines _what steps_ happen once the run starts.
205
-
206
- For scheduled workflows, use cron or heartbeat to trigger an agent turn that calls Pipeline.
207
- For ad-hoc workflows, call Pipeline directly.
208
-
209
- ### Operational notes (from the code)
210
-
211
- - Pipeline runs as a **local subprocess** (`pipeline` CLI) in tool mode and returns a **JSON envelope**.
212
- - If the tool returns `needs_approval`, you resume with a `resumeToken` and `approve` flag.
213
- - The tool is an **optional plugin**; enable it additively via `tools.alsoAllow: ["pipeline"]` (recommended).
214
- - Pipeline expects the `pipeline` CLI to be available on `PATH`.
215
-
216
- See [Pipeline](/tools/pipeline) for full usage and examples.
217
-
218
- ## Main Session vs Isolated Session
219
-
220
- Both heartbeat and cron can interact with the main session, but differently:
221
-
222
- | | Heartbeat | Cron (main) | Cron (isolated) |
223
- | ------- | ------------------------------- | ------------------------ | -------------------------- |
224
- | Session | Main | Main (via system event) | `cron:<jobId>` |
225
- | History | Shared | Shared | Fresh each run |
226
- | Context | Full | Full | None (starts clean) |
227
- | Model | Main session model | Main session model | Can override |
228
- | Output | Delivered if not `SYMIPULSE_OK` | Heartbeat prompt + event | Announce summary (default) |
229
-
230
- ### When to use main session cron
231
-
232
- Use `--session main` with `--system-event` when you want:
233
-
234
- - The reminder/event to appear in main session context
235
- - The agent to handle it during the next heartbeat with full context
236
- - No separate isolated run
237
-
238
- ```bash
239
- symi cron add \
240
- --name "Check project" \
241
- --every "4h" \
242
- --session main \
243
- --system-event "Time for a project health check" \
244
- --wake now
245
- ```
246
-
247
- ### When to use isolated cron
248
-
249
- Use `--session isolated` when you want:
250
-
251
- - A clean slate without prior context
252
- - Different model or thinking settings
253
- - Announce summaries directly to a channel
254
- - History that doesn't clutter main session
255
-
256
- ```bash
257
- symi cron add \
258
- --name "Deep analysis" \
259
- --cron "0 6 * * 0" \
260
- --session isolated \
261
- --message "Weekly codebase analysis..." \
262
- --model opus \
263
- --thinking high \
264
- --announce
265
- ```
266
-
267
- ## Cost Considerations
268
-
269
- | Mechanism | Cost Profile |
270
- | --------------- | ------------------------------------------------------- |
271
- | Heartbeat | One turn every N minutes; scales with SYMIPULSE.md size |
272
- | Cron (main) | Adds event to next heartbeat (no isolated turn) |
273
- | Cron (isolated) | Full agent turn per job; can use cheaper model |
274
-
275
- **Tips**:
276
-
277
- - Keep `SYMIPULSE.md` small to minimize token overhead.
278
- - Batch similar checks into heartbeat instead of multiple cron jobs.
279
- - Use `target: "none"` on heartbeat if you only want internal processing.
280
- - Use isolated cron with a cheaper model for routine tasks.
281
-
282
- ## Related
283
-
284
- - [Heartbeat](/gateway/heartbeat) - full heartbeat configuration
285
- - [Cron jobs](/automation/cron-jobs) - full cron CLI and API reference
286
- - [System](/cli/system) - system events + heartbeat controls
@@ -1,256 +0,0 @@
1
- ---
2
- summary: "Gmail Pub/Sub push wired into Symi webhooks via gogcli"
3
- read_when:
4
- - Wiring Gmail inbox triggers to Symi
5
- - Setting up Pub/Sub push for agent wake
6
- title: "Gmail PubSub"
7
- ---
8
-
9
- # Gmail Pub/Sub -> Symi
10
-
11
- Goal: Gmail watch -> Pub/Sub push -> `gog gmail watch serve` -> Symi webhook.
12
-
13
- ## Prereqs
14
-
15
- - `gcloud` installed and logged in ([install guide](https://docs.cloud.google.com/sdk/docs/install-sdk)).
16
- - `gog` (gogcli) installed and authorized for the Gmail account ([gogcli.sh](https://gogcli.sh/)).
17
- - Symi hooks enabled (see [Webhooks](/automation/webhook)).
18
- - `tailscale` logged in ([tailscale.com](https://tailscale.com/)). Supported setup uses Tailscale Funnel for the public HTTPS endpoint.
19
- Other tunnel services can work, but are DIY/unsupported and require manual wiring.
20
- Right now, Tailscale is what we support.
21
-
22
- Example hook config (enable Gmail preset mapping):
23
-
24
- ```json5
25
- {
26
- hooks: {
27
- enabled: true,
28
- token: "SYMI_HOOK_TOKEN",
29
- path: "/hooks",
30
- presets: ["gmail"],
31
- },
32
- }
33
- ```
34
-
35
- To deliver the Gmail summary to a chat surface, override the preset with a mapping
36
- that sets `deliver` + optional `channel`/`to`:
37
-
38
- ```json5
39
- {
40
- hooks: {
41
- enabled: true,
42
- token: "SYMI_HOOK_TOKEN",
43
- presets: ["gmail"],
44
- mappings: [
45
- {
46
- match: { path: "gmail" },
47
- action: "agent",
48
- wakeMode: "now",
49
- name: "Gmail",
50
- sessionKey: "hook:gmail:{{messages[0].id}}",
51
- messageTemplate: "New email from {{messages[0].from}}\nSubject: {{messages[0].subject}}\n{{messages[0].snippet}}\n{{messages[0].body}}",
52
- model: "openai/gpt-5.2-mini",
53
- deliver: true,
54
- channel: "last",
55
- // to: "+15551234567"
56
- },
57
- ],
58
- },
59
- }
60
- ```
61
-
62
- If you want a fixed channel, set `channel` + `to`. Otherwise `channel: "last"`
63
- uses the last delivery route (falls back to WhatsApp).
64
-
65
- To force a cheaper model for Gmail runs, set `model` in the mapping
66
- (`provider/model` or alias). If you enforce `agents.defaults.models`, include it there.
67
-
68
- To set a default model and thinking level specifically for Gmail hooks, add
69
- `hooks.gmail.model` / `hooks.gmail.thinking` in your config:
70
-
71
- ```json5
72
- {
73
- hooks: {
74
- gmail: {
75
- model: "openrouter/meta-llama/llama-3.3-70b-instruct:free",
76
- thinking: "off",
77
- },
78
- },
79
- }
80
- ```
81
-
82
- Notes:
83
-
84
- - Per-hook `model`/`thinking` in the mapping still overrides these defaults.
85
- - Fallback order: `hooks.gmail.model` → `agents.defaults.model.fallbacks` → primary (auth/rate-limit/timeouts).
86
- - If `agents.defaults.models` is set, the Gmail model must be in the allowlist.
87
- - Gmail hook content is wrapped with external-content safety boundaries by default.
88
- To disable (dangerous), set `hooks.gmail.allowUnsafeExternalContent: true`.
89
-
90
- To customize payload handling further, add `hooks.mappings` or a JS/TS transform module
91
- under `~/.symi/hooks/transforms` (see [Webhooks](/automation/webhook)).
92
-
93
- ## Wizard (recommended)
94
-
95
- Use the Symi helper to wire everything together (installs deps on macOS via brew):
96
-
97
- ```bash
98
- symi webhooks gmail setup \
99
- --account symi@gmail.com
100
- ```
101
-
102
- Defaults:
103
-
104
- - Uses Tailscale Funnel for the public push endpoint.
105
- - Writes `hooks.gmail` config for `symi webhooks gmail run`.
106
- - Enables the Gmail hook preset (`hooks.presets: ["gmail"]`).
107
-
108
- Path note: when `tailscale.mode` is enabled, Symi automatically sets
109
- `hooks.gmail.serve.path` to `/` and keeps the public path at
110
- `hooks.gmail.tailscale.path` (default `/gmail-pubsub`) because Tailscale
111
- strips the set-path prefix before proxying.
112
- If you need the backend to receive the prefixed path, set
113
- `hooks.gmail.tailscale.target` (or `--tailscale-target`) to a full URL like
114
- `http://127.0.0.1:8788/gmail-pubsub` and match `hooks.gmail.serve.path`.
115
-
116
- Want a custom endpoint? Use `--push-endpoint <url>` or `--tailscale off`.
117
-
118
- Platform note: on macOS the wizard installs `gcloud`, `gogcli`, and `tailscale`
119
- via Homebrew; on Linux install them manually first.
120
-
121
- Gateway auto-start (recommended):
122
-
123
- - When `hooks.enabled=true` and `hooks.gmail.account` is set, the Gateway starts
124
- `gog gmail watch serve` on boot and auto-renews the watch.
125
- - Set `SYMI_SKIP_GMAIL_WATCHER=1` to opt out (useful if you run the daemon yourself).
126
- - Do not run the manual daemon at the same time, or you will hit
127
- `listen tcp 127.0.0.1:8788: bind: address already in use`.
128
-
129
- Manual daemon (starts `gog gmail watch serve` + auto-renew):
130
-
131
- ```bash
132
- symi webhooks gmail run
133
- ```
134
-
135
- ## One-time setup
136
-
137
- 1. Select the GCP project **that owns the OAuth client** used by `gog`.
138
-
139
- ```bash
140
- gcloud auth login
141
- gcloud config set project <project-id>
142
- ```
143
-
144
- Note: Gmail watch requires the Pub/Sub topic to live in the same project as the OAuth client.
145
-
146
- 2. Enable APIs:
147
-
148
- ```bash
149
- gcloud services enable gmail.googleapis.com pubsub.googleapis.com
150
- ```
151
-
152
- 3. Create a topic:
153
-
154
- ```bash
155
- gcloud pubsub topics create gog-gmail-watch
156
- ```
157
-
158
- 4. Allow Gmail push to publish:
159
-
160
- ```bash
161
- gcloud pubsub topics add-iam-policy-binding gog-gmail-watch \
162
- --member=serviceAccount:gmail-api-push@system.gserviceaccount.com \
163
- --role=roles/pubsub.publisher
164
- ```
165
-
166
- ## Start the watch
167
-
168
- ```bash
169
- gog gmail watch start \
170
- --account symi@gmail.com \
171
- --label INBOX \
172
- --topic projects/<project-id>/topics/gog-gmail-watch
173
- ```
174
-
175
- Save the `history_id` from the output (for debugging).
176
-
177
- ## Run the push handler
178
-
179
- Local example (shared token auth):
180
-
181
- ```bash
182
- gog gmail watch serve \
183
- --account symi@gmail.com \
184
- --bind 127.0.0.1 \
185
- --port 8788 \
186
- --path /gmail-pubsub \
187
- --token <shared> \
188
- --hook-url http://127.0.0.1:18789/hooks/gmail \
189
- --hook-token SYMI_HOOK_TOKEN \
190
- --include-body \
191
- --max-bytes 20000
192
- ```
193
-
194
- Notes:
195
-
196
- - `--token` protects the push endpoint (`x-gog-token` or `?token=`).
197
- - `--hook-url` points to Symi `/hooks/gmail` (mapped; isolated run + summary to main).
198
- - `--include-body` and `--max-bytes` control the body snippet sent to Symi.
199
-
200
- Recommended: `symi webhooks gmail run` wraps the same flow and auto-renews the watch.
201
-
202
- ## Expose the handler (advanced, unsupported)
203
-
204
- If you need a non-Tailscale tunnel, wire it manually and use the public URL in the push
205
- subscription (unsupported, no guardrails):
206
-
207
- ```bash
208
- cloudflared tunnel --url http://127.0.0.1:8788 --no-autoupdate
209
- ```
210
-
211
- Use the generated URL as the push endpoint:
212
-
213
- ```bash
214
- gcloud pubsub subscriptions create gog-gmail-watch-push \
215
- --topic gog-gmail-watch \
216
- --push-endpoint "https://<public-url>/gmail-pubsub?token=<shared>"
217
- ```
218
-
219
- Production: use a stable HTTPS endpoint and configure Pub/Sub OIDC JWT, then run:
220
-
221
- ```bash
222
- gog gmail watch serve --verify-oidc --oidc-email <svc@...>
223
- ```
224
-
225
- ## Test
226
-
227
- Send a message to the watched inbox:
228
-
229
- ```bash
230
- gog gmail send \
231
- --account symi@gmail.com \
232
- --to symi@gmail.com \
233
- --subject "watch test" \
234
- --body "ping"
235
- ```
236
-
237
- Check watch state and history:
238
-
239
- ```bash
240
- gog gmail watch status --account symi@gmail.com
241
- gog gmail history --account symi@gmail.com --since <historyId>
242
- ```
243
-
244
- ## Troubleshooting
245
-
246
- - `Invalid topicName`: project mismatch (topic not in the OAuth client project).
247
- - `User not authorized`: missing `roles/pubsub.publisher` on the topic.
248
- - Empty messages: Gmail push only provides `historyId`; fetch via `gog gmail history`.
249
-
250
- ## Cleanup
251
-
252
- ```bash
253
- gog gmail watch stop --account symi@gmail.com
254
- gcloud pubsub subscriptions delete gog-gmail-watch-push
255
- gcloud pubsub topics delete gog-gmail-watch
256
- ```