@symerian/symi 3.0.20 → 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 (737) hide show
  1. package/dist/{audio-preflight-BaCdNfrk.js → audio-preflight-D7BVT-ls.js} +4 -4
  2. package/dist/build-info.json +3 -3
  3. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  4. package/dist/{chrome-UfmVM0xR.js → chrome-B5CO2vB5.js} +7 -7
  5. package/dist/{deliver-BqXdac6W.js → deliver-CrwjsDwv.js} +1 -1
  6. package/dist/extensionAPI.js +7 -7
  7. package/dist/{image-DIWsXYcW.js → image-Csu7WcLW.js} +1 -1
  8. package/dist/{manager-DW3SxcPr.js → manager-BkkVjTO8.js} +1 -1
  9. package/dist/{pi-embedded-BNch0U5F.js → pi-embedded-Dhp64z5l.js} +16 -16
  10. package/dist/{pi-embedded-helpers-IkHl02JF.js → pi-embedded-helpers-840E4hop.js} +4 -4
  11. package/dist/{pw-ai-nMkA-oDJ.js → pw-ai-CBgJf_RR.js} +1 -1
  12. package/dist/{runner-DNEC58JI.js → runner-BbFKo1ne.js} +1 -1
  13. package/dist/{synthesis-BWAr0sZ9.js → synthesis-DoEM0E8_.js} +7 -7
  14. package/dist/{web-7a-m_UxL.js → web-BYXJn-Ps.js} +7 -7
  15. package/package.json +1 -1
  16. package/docs/.i18n/README.md +0 -31
  17. package/docs/.i18n/glossary.ja-JP.json +0 -14
  18. package/docs/.i18n/glossary.zh-CN.json +0 -210
  19. package/docs/.i18n/ja-JP.tm.jsonl +0 -0
  20. package/docs/.i18n/zh-CN.tm.jsonl +0 -1303
  21. package/docs/CNAME +0 -1
  22. package/docs/assets/install-script.svg +0 -1
  23. package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
  24. package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
  25. package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
  26. package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
  27. package/docs/assets/macos-onboarding/05-permissions.png +0 -0
  28. package/docs/assets/pixel-symi.svg +0 -60
  29. package/docs/assets/showcase/agents-ui.jpg +0 -0
  30. package/docs/assets/showcase/bambu-cli.png +0 -0
  31. package/docs/assets/showcase/codexmonitor.png +0 -0
  32. package/docs/assets/showcase/gohome-grafana.png +0 -0
  33. package/docs/assets/showcase/ios-testflight.jpg +0 -0
  34. package/docs/assets/showcase/oura-health.png +0 -0
  35. package/docs/assets/showcase/padel-cli.svg +0 -11
  36. package/docs/assets/showcase/padel-screenshot.jpg +0 -0
  37. package/docs/assets/showcase/papla-tts.jpg +0 -0
  38. package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
  39. package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
  40. package/docs/assets/showcase/roborock-status.svg +0 -13
  41. package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
  42. package/docs/assets/showcase/snag.png +0 -0
  43. package/docs/assets/showcase/tesco-shop.jpg +0 -0
  44. package/docs/assets/showcase/wienerlinien.png +0 -0
  45. package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
  46. package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
  47. package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
  48. package/docs/assets/sponsors/blacksmith.svg +0 -14
  49. package/docs/assets/sponsors/openai.svg +0 -3
  50. package/docs/assets/symi-logo-text-dark.png +0 -0
  51. package/docs/assets/symi-logo-text.png +0 -0
  52. package/docs/automation/auth-monitoring.md +0 -44
  53. package/docs/automation/cron-jobs.md +0 -540
  54. package/docs/automation/cron-vs-heartbeat.md +0 -286
  55. package/docs/automation/gmail-pubsub.md +0 -256
  56. package/docs/automation/hooks.md +0 -998
  57. package/docs/automation/poll.md +0 -61
  58. package/docs/automation/troubleshooting.md +0 -122
  59. package/docs/automation/webhook.md +0 -213
  60. package/docs/brave-search.md +0 -41
  61. package/docs/capabilities.md +0 -151
  62. package/docs/channels/bluebubbles.md +0 -346
  63. package/docs/channels/broadcast-groups.md +0 -441
  64. package/docs/channels/channel-routing.md +0 -112
  65. package/docs/channels/feishu.md +0 -586
  66. package/docs/channels/googlechat.md +0 -253
  67. package/docs/channels/grammy.md +0 -31
  68. package/docs/channels/group-messages.md +0 -82
  69. package/docs/channels/groups.md +0 -364
  70. package/docs/channels/imessage.md +0 -366
  71. package/docs/channels/index.md +0 -46
  72. package/docs/channels/irc.md +0 -234
  73. package/docs/channels/line.md +0 -186
  74. package/docs/channels/location.md +0 -56
  75. package/docs/channels/matrix.md +0 -300
  76. package/docs/channels/mattermost.md +0 -158
  77. package/docs/channels/msteams.md +0 -769
  78. package/docs/channels/nextcloud-talk.md +0 -138
  79. package/docs/channels/nostr.md +0 -233
  80. package/docs/channels/pairing.md +0 -100
  81. package/docs/channels/signal.md +0 -322
  82. package/docs/channels/slack.md +0 -510
  83. package/docs/channels/telegram.md +0 -748
  84. package/docs/channels/tlon.md +0 -148
  85. package/docs/channels/troubleshooting.md +0 -110
  86. package/docs/channels/twitch.md +0 -379
  87. package/docs/channels/whatsapp.md +0 -444
  88. package/docs/channels/zalo.md +0 -192
  89. package/docs/channels/zalouser.md +0 -140
  90. package/docs/ci.md +0 -50
  91. package/docs/cli/acp.md +0 -182
  92. package/docs/cli/agent.md +0 -24
  93. package/docs/cli/agents.md +0 -75
  94. package/docs/cli/approvals.md +0 -50
  95. package/docs/cli/browser.md +0 -107
  96. package/docs/cli/channels.md +0 -73
  97. package/docs/cli/config.md +0 -50
  98. package/docs/cli/configure.md +0 -32
  99. package/docs/cli/cron.md +0 -44
  100. package/docs/cli/dashboard.md +0 -16
  101. package/docs/cli/devices.md +0 -73
  102. package/docs/cli/directory.md +0 -62
  103. package/docs/cli/dns.md +0 -23
  104. package/docs/cli/docs.md +0 -15
  105. package/docs/cli/doctor.md +0 -41
  106. package/docs/cli/gateway.md +0 -202
  107. package/docs/cli/health.md +0 -21
  108. package/docs/cli/hooks.md +0 -313
  109. package/docs/cli/index.md +0 -1029
  110. package/docs/cli/logs.md +0 -28
  111. package/docs/cli/memory.md +0 -45
  112. package/docs/cli/message.md +0 -214
  113. package/docs/cli/models.md +0 -79
  114. package/docs/cli/node.md +0 -112
  115. package/docs/cli/nodes.md +0 -73
  116. package/docs/cli/onboard.md +0 -76
  117. package/docs/cli/pairing.md +0 -21
  118. package/docs/cli/plugins.md +0 -92
  119. package/docs/cli/reset.md +0 -17
  120. package/docs/cli/sandbox.md +0 -152
  121. package/docs/cli/security.md +0 -64
  122. package/docs/cli/sessions.md +0 -16
  123. package/docs/cli/setup.md +0 -29
  124. package/docs/cli/skills.md +0 -26
  125. package/docs/cli/status.md +0 -25
  126. package/docs/cli/system.md +0 -60
  127. package/docs/cli/tui.md +0 -23
  128. package/docs/cli/uninstall.md +0 -17
  129. package/docs/cli/update.md +0 -98
  130. package/docs/cli/voicecall.md +0 -34
  131. package/docs/cli/webhooks.md +0 -25
  132. package/docs/concepts/agent-loop.md +0 -148
  133. package/docs/concepts/agent-workspace.md +0 -234
  134. package/docs/concepts/agent.md +0 -123
  135. package/docs/concepts/architecture.md +0 -135
  136. package/docs/concepts/compaction.md +0 -61
  137. package/docs/concepts/context.md +0 -161
  138. package/docs/concepts/features.md +0 -51
  139. package/docs/concepts/markdown-formatting.md +0 -128
  140. package/docs/concepts/memory.md +0 -729
  141. package/docs/concepts/messages.md +0 -153
  142. package/docs/concepts/model-failover.md +0 -149
  143. package/docs/concepts/model-providers.md +0 -424
  144. package/docs/concepts/models.md +0 -208
  145. package/docs/concepts/multi-agent.md +0 -521
  146. package/docs/concepts/oauth.md +0 -145
  147. package/docs/concepts/presence.md +0 -102
  148. package/docs/concepts/queue.md +0 -86
  149. package/docs/concepts/retry.md +0 -64
  150. package/docs/concepts/session-pruning.md +0 -123
  151. package/docs/concepts/session-tool.md +0 -213
  152. package/docs/concepts/session.md +0 -199
  153. package/docs/concepts/sessions.md +0 -10
  154. package/docs/concepts/streaming.md +0 -129
  155. package/docs/concepts/system-prompt.md +0 -128
  156. package/docs/concepts/timezone.md +0 -90
  157. package/docs/concepts/typebox.md +0 -289
  158. package/docs/concepts/typing-indicators.md +0 -68
  159. package/docs/concepts/usage-tracking.md +0 -35
  160. package/docs/date-time.md +0 -127
  161. package/docs/debug/node-issue.md +0 -85
  162. package/docs/diagnostics/flags.md +0 -91
  163. package/docs/docs.json +0 -1849
  164. package/docs/experiments/onboarding-config-protocol.md +0 -40
  165. package/docs/experiments/plans/browser-evaluate-cdp-refactor.md +0 -229
  166. package/docs/experiments/plans/cron-add-hardening.md +0 -62
  167. package/docs/experiments/plans/group-policy-hardening.md +0 -40
  168. package/docs/experiments/plans/openresponses-gateway.md +0 -123
  169. package/docs/experiments/plans/pty-process-supervision.md +0 -192
  170. package/docs/experiments/plans/session-binding-channel-agnostic.md +0 -202
  171. package/docs/experiments/plans/thread-bound-subagents.md +0 -281
  172. package/docs/experiments/proposals/model-config.md +0 -36
  173. package/docs/experiments/research/memory.md +0 -228
  174. package/docs/gateway/authentication.md +0 -162
  175. package/docs/gateway/background-process.md +0 -96
  176. package/docs/gateway/bonjour.md +0 -177
  177. package/docs/gateway/bridge-protocol.md +0 -91
  178. package/docs/gateway/cli-backends.md +0 -225
  179. package/docs/gateway/configuration-examples.md +0 -610
  180. package/docs/gateway/configuration-reference.md +0 -2465
  181. package/docs/gateway/configuration.md +0 -488
  182. package/docs/gateway/discovery.md +0 -123
  183. package/docs/gateway/doctor.md +0 -282
  184. package/docs/gateway/gateway-lock.md +0 -34
  185. package/docs/gateway/health.md +0 -35
  186. package/docs/gateway/heartbeat.md +0 -374
  187. package/docs/gateway/index.md +0 -254
  188. package/docs/gateway/local-models.md +0 -150
  189. package/docs/gateway/logging.md +0 -113
  190. package/docs/gateway/multiple-gateways.md +0 -112
  191. package/docs/gateway/network-model.md +0 -20
  192. package/docs/gateway/openai-http-api.md +0 -119
  193. package/docs/gateway/openresponses-http-api.md +0 -333
  194. package/docs/gateway/pairing.md +0 -99
  195. package/docs/gateway/protocol.md +0 -221
  196. package/docs/gateway/remote-gateway-readme.md +0 -158
  197. package/docs/gateway/remote.md +0 -131
  198. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -128
  199. package/docs/gateway/sandboxing.md +0 -203
  200. package/docs/gateway/security/index.md +0 -931
  201. package/docs/gateway/tailscale.md +0 -132
  202. package/docs/gateway/tools-invoke-http-api.md +0 -110
  203. package/docs/gateway/troubleshooting.md +0 -317
  204. package/docs/gateway/trusted-proxy-auth.md +0 -270
  205. package/docs/glass-ui-rendering-invariants.md +0 -451
  206. package/docs/help/debugging.md +0 -162
  207. package/docs/help/environment.md +0 -107
  208. package/docs/help/faq.md +0 -2846
  209. package/docs/help/index.md +0 -21
  210. package/docs/help/scripts.md +0 -28
  211. package/docs/help/testing.md +0 -385
  212. package/docs/help/troubleshooting.md +0 -264
  213. package/docs/images/configure-model-picker-unsearchable.png +0 -0
  214. package/docs/images/feishu-step2-create-app.png +0 -0
  215. package/docs/images/feishu-step3-credentials.png +0 -0
  216. package/docs/images/feishu-step4-permissions.png +0 -0
  217. package/docs/images/feishu-step5-bot-capability.png +0 -0
  218. package/docs/images/feishu-step6-event-subscription.png +0 -0
  219. package/docs/images/groups-flow.svg +0 -52
  220. package/docs/images/mobile-ui-screenshot.png +0 -0
  221. package/docs/index.md +0 -186
  222. package/docs/install/ansible.md +0 -207
  223. package/docs/install/bun.md +0 -59
  224. package/docs/install/development-channels.md +0 -75
  225. package/docs/install/docker.md +0 -583
  226. package/docs/install/exe-dev.md +0 -126
  227. package/docs/install/fly.md +0 -472
  228. package/docs/install/gcp.md +0 -499
  229. package/docs/install/hetzner.md +0 -347
  230. package/docs/install/index.md +0 -218
  231. package/docs/install/installer.md +0 -405
  232. package/docs/install/macos-vm.md +0 -281
  233. package/docs/install/migrating.md +0 -192
  234. package/docs/install/nix.md +0 -98
  235. package/docs/install/node.md +0 -138
  236. package/docs/install/northflank.mdx +0 -49
  237. package/docs/install/podman.md +0 -108
  238. package/docs/install/railway.mdx +0 -95
  239. package/docs/install/render.mdx +0 -158
  240. package/docs/install/uninstall.md +0 -128
  241. package/docs/install/updating.md +0 -231
  242. package/docs/ja-JP/AGENTS.md +0 -37
  243. package/docs/ja-JP/index.md +0 -183
  244. package/docs/ja-JP/start/getting-started.md +0 -125
  245. package/docs/ja-JP/start/wizard.md +0 -77
  246. package/docs/logging.md +0 -350
  247. package/docs/nav-tabs-underline.js +0 -100
  248. package/docs/network.md +0 -54
  249. package/docs/nodes/audio.md +0 -133
  250. package/docs/nodes/camera.md +0 -156
  251. package/docs/nodes/images.md +0 -72
  252. package/docs/nodes/index.md +0 -342
  253. package/docs/nodes/location-command.md +0 -113
  254. package/docs/nodes/media-understanding.md +0 -379
  255. package/docs/nodes/talk.md +0 -90
  256. package/docs/nodes/troubleshooting.md +0 -112
  257. package/docs/nodes/voicewake.md +0 -65
  258. package/docs/perplexity.md +0 -80
  259. package/docs/phase-6.5-pre-flight-audit.md +0 -268
  260. package/docs/pi-dev.md +0 -70
  261. package/docs/pi.md +0 -610
  262. package/docs/platforms/android.md +0 -151
  263. package/docs/platforms/digitalocean.md +0 -265
  264. package/docs/platforms/index.md +0 -53
  265. package/docs/platforms/ios.md +0 -108
  266. package/docs/platforms/linux.md +0 -94
  267. package/docs/platforms/mac/bundled-gateway.md +0 -73
  268. package/docs/platforms/mac/canvas.md +0 -125
  269. package/docs/platforms/mac/child-process.md +0 -69
  270. package/docs/platforms/mac/dev-setup.md +0 -104
  271. package/docs/platforms/mac/health.md +0 -34
  272. package/docs/platforms/mac/icon.md +0 -31
  273. package/docs/platforms/mac/logging.md +0 -57
  274. package/docs/platforms/mac/menu-bar.md +0 -81
  275. package/docs/platforms/mac/peekaboo.md +0 -65
  276. package/docs/platforms/mac/permissions.md +0 -50
  277. package/docs/platforms/mac/release.md +0 -85
  278. package/docs/platforms/mac/remote.md +0 -84
  279. package/docs/platforms/mac/signing.md +0 -47
  280. package/docs/platforms/mac/skills.md +0 -33
  281. package/docs/platforms/mac/voice-overlay.md +0 -60
  282. package/docs/platforms/mac/voicewake.md +0 -66
  283. package/docs/platforms/mac/webchat.md +0 -43
  284. package/docs/platforms/mac/xpc.md +0 -61
  285. package/docs/platforms/macos.md +0 -204
  286. package/docs/platforms/oracle.md +0 -303
  287. package/docs/platforms/raspberry-pi.md +0 -358
  288. package/docs/platforms/windows.md +0 -159
  289. package/docs/plugins/agent-tools.md +0 -99
  290. package/docs/plugins/community.md +0 -44
  291. package/docs/plugins/manifest.md +0 -71
  292. package/docs/plugins/voice-call.md +0 -322
  293. package/docs/plugins/zalouser.md +0 -81
  294. package/docs/prose.md +0 -134
  295. package/docs/providers/anthropic.md +0 -174
  296. package/docs/providers/bedrock.md +0 -176
  297. package/docs/providers/claude-max-api-proxy.md +0 -148
  298. package/docs/providers/cloudflare-ai-gateway.md +0 -71
  299. package/docs/providers/deepgram.md +0 -93
  300. package/docs/providers/github-copilot.md +0 -72
  301. package/docs/providers/glm.md +0 -33
  302. package/docs/providers/huggingface.md +0 -209
  303. package/docs/providers/index.md +0 -67
  304. package/docs/providers/litellm.md +0 -153
  305. package/docs/providers/minimax.md +0 -208
  306. package/docs/providers/models.md +0 -52
  307. package/docs/providers/moonshot.md +0 -142
  308. package/docs/providers/nvidia.md +0 -55
  309. package/docs/providers/ollama.md +0 -250
  310. package/docs/providers/openai.md +0 -62
  311. package/docs/providers/opencode.md +0 -36
  312. package/docs/providers/openrouter.md +0 -37
  313. package/docs/providers/qianfan.md +0 -38
  314. package/docs/providers/qwen.md +0 -53
  315. package/docs/providers/synthetic.md +0 -99
  316. package/docs/providers/together.md +0 -65
  317. package/docs/providers/venice.md +0 -267
  318. package/docs/providers/vercel-ai-gateway.md +0 -50
  319. package/docs/providers/vllm.md +0 -92
  320. package/docs/providers/xiaomi.md +0 -64
  321. package/docs/providers/zai.md +0 -38
  322. package/docs/refactor/exec-host.md +0 -316
  323. package/docs/refactor/outbound-session-mirroring.md +0 -83
  324. package/docs/refactor/plugin-sdk.md +0 -214
  325. package/docs/refactor/strict-config.md +0 -93
  326. package/docs/refactor/syminet.md +0 -417
  327. package/docs/reference/AGENTS.default.md +0 -123
  328. package/docs/reference/RELEASING.md +0 -120
  329. package/docs/reference/api-usage-costs.md +0 -138
  330. package/docs/reference/credits.md +0 -28
  331. package/docs/reference/device-models.md +0 -47
  332. package/docs/reference/rpc.md +0 -43
  333. package/docs/reference/session-management-compaction.md +0 -284
  334. package/docs/reference/test.md +0 -51
  335. package/docs/reference/token-use.md +0 -136
  336. package/docs/reference/transcript-hygiene.md +0 -151
  337. package/docs/reference/wizard.md +0 -265
  338. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -89
  339. package/docs/security/README.md +0 -16
  340. package/docs/security/THREAT-MODEL-ATLAS.md +0 -600
  341. package/docs/security/formal-verification.md +0 -164
  342. package/docs/start/bootstrapping.md +0 -41
  343. package/docs/start/docs-directory.md +0 -63
  344. package/docs/start/getting-started.md +0 -135
  345. package/docs/start/hubs.md +0 -196
  346. package/docs/start/lore.md +0 -216
  347. package/docs/start/onboarding-overview.md +0 -51
  348. package/docs/start/onboarding.md +0 -81
  349. package/docs/start/quickstart.md +0 -22
  350. package/docs/start/setup.md +0 -160
  351. package/docs/start/showcase.md +0 -414
  352. package/docs/start/symi.md +0 -211
  353. package/docs/start/wizard-cli-automation.md +0 -158
  354. package/docs/start/wizard-cli-reference.md +0 -255
  355. package/docs/start/wizard.md +0 -109
  356. package/docs/style.css +0 -37
  357. package/docs/tools/agent-send.md +0 -52
  358. package/docs/tools/apply-patch.md +0 -51
  359. package/docs/tools/browser-linux-troubleshooting.md +0 -139
  360. package/docs/tools/browser-login.md +0 -67
  361. package/docs/tools/browser.md +0 -587
  362. package/docs/tools/chrome-extension.md +0 -183
  363. package/docs/tools/creating-skills.md +0 -54
  364. package/docs/tools/elevated.md +0 -55
  365. package/docs/tools/exec-approvals.md +0 -261
  366. package/docs/tools/exec.md +0 -184
  367. package/docs/tools/firecrawl.md +0 -61
  368. package/docs/tools/index.md +0 -540
  369. package/docs/tools/llm-task.md +0 -115
  370. package/docs/tools/loop-detection.md +0 -98
  371. package/docs/tools/multi-agent-sandbox-tools.md +0 -396
  372. package/docs/tools/pipeline.md +0 -340
  373. package/docs/tools/plugin.md +0 -687
  374. package/docs/tools/reactions.md +0 -21
  375. package/docs/tools/skills-config.md +0 -76
  376. package/docs/tools/skills.md +0 -300
  377. package/docs/tools/slash-commands.md +0 -202
  378. package/docs/tools/subagents.md +0 -232
  379. package/docs/tools/symihub.md +0 -256
  380. package/docs/tools/thinking.md +0 -75
  381. package/docs/tools/web.md +0 -265
  382. package/docs/tts.md +0 -398
  383. package/docs/vps.md +0 -43
  384. package/docs/web/control-ui.md +0 -247
  385. package/docs/web/dashboard.md +0 -46
  386. package/docs/web/index.md +0 -118
  387. package/docs/web/tui.md +0 -162
  388. package/docs/web/webchat.md +0 -53
  389. package/docs/whatsapp-symi-ai-zh.jpg +0 -0
  390. package/docs/whatsapp-symi.jpg +0 -0
  391. package/docs/zh-CN/AGENTS.md +0 -59
  392. package/docs/zh-CN/automation/auth-monitoring.md +0 -47
  393. package/docs/zh-CN/automation/cron-jobs.md +0 -422
  394. package/docs/zh-CN/automation/cron-vs-heartbeat.md +0 -286
  395. package/docs/zh-CN/automation/gmail-pubsub.md +0 -249
  396. package/docs/zh-CN/automation/hooks.md +0 -881
  397. package/docs/zh-CN/automation/poll.md +0 -68
  398. package/docs/zh-CN/automation/troubleshooting.md +0 -8
  399. package/docs/zh-CN/automation/webhook.md +0 -161
  400. package/docs/zh-CN/brave-search.md +0 -48
  401. package/docs/zh-CN/channels/bluebubbles.md +0 -271
  402. package/docs/zh-CN/channels/broadcast-groups.md +0 -448
  403. package/docs/zh-CN/channels/channel-routing.md +0 -112
  404. package/docs/zh-CN/channels/feishu.md +0 -629
  405. package/docs/zh-CN/channels/googlechat.md +0 -257
  406. package/docs/zh-CN/channels/grammy.md +0 -38
  407. package/docs/zh-CN/channels/group-messages.md +0 -89
  408. package/docs/zh-CN/channels/groups.md +0 -369
  409. package/docs/zh-CN/channels/imessage.md +0 -300
  410. package/docs/zh-CN/channels/index.md +0 -52
  411. package/docs/zh-CN/channels/line.md +0 -180
  412. package/docs/zh-CN/channels/location.md +0 -63
  413. package/docs/zh-CN/channels/matrix.md +0 -221
  414. package/docs/zh-CN/channels/mattermost.md +0 -144
  415. package/docs/zh-CN/channels/msteams.md +0 -773
  416. package/docs/zh-CN/channels/nextcloud-talk.md +0 -142
  417. package/docs/zh-CN/channels/nostr.md +0 -240
  418. package/docs/zh-CN/channels/pairing.md +0 -86
  419. package/docs/zh-CN/channels/signal.md +0 -207
  420. package/docs/zh-CN/channels/slack.md +0 -529
  421. package/docs/zh-CN/channels/telegram.md +0 -748
  422. package/docs/zh-CN/channels/tlon.md +0 -136
  423. package/docs/zh-CN/channels/troubleshooting.md +0 -34
  424. package/docs/zh-CN/channels/twitch.md +0 -385
  425. package/docs/zh-CN/channels/whatsapp.md +0 -411
  426. package/docs/zh-CN/channels/zalo.md +0 -196
  427. package/docs/zh-CN/channels/zalouser.md +0 -147
  428. package/docs/zh-CN/cli/acp.md +0 -173
  429. package/docs/zh-CN/cli/agent.md +0 -30
  430. package/docs/zh-CN/cli/agents.md +0 -82
  431. package/docs/zh-CN/cli/approvals.md +0 -57
  432. package/docs/zh-CN/cli/browser.md +0 -114
  433. package/docs/zh-CN/cli/channels.md +0 -80
  434. package/docs/zh-CN/cli/config.md +0 -57
  435. package/docs/zh-CN/cli/configure.md +0 -37
  436. package/docs/zh-CN/cli/cron.md +0 -43
  437. package/docs/zh-CN/cli/dashboard.md +0 -23
  438. package/docs/zh-CN/cli/devices.md +0 -74
  439. package/docs/zh-CN/cli/directory.md +0 -69
  440. package/docs/zh-CN/cli/dns.md +0 -30
  441. package/docs/zh-CN/cli/docs.md +0 -22
  442. package/docs/zh-CN/cli/doctor.md +0 -48
  443. package/docs/zh-CN/cli/gateway.md +0 -206
  444. package/docs/zh-CN/cli/health.md +0 -28
  445. package/docs/zh-CN/cli/hooks.md +0 -298
  446. package/docs/zh-CN/cli/index.md +0 -1025
  447. package/docs/zh-CN/cli/logs.md +0 -31
  448. package/docs/zh-CN/cli/memory.md +0 -52
  449. package/docs/zh-CN/cli/message.md +0 -205
  450. package/docs/zh-CN/cli/models.md +0 -85
  451. package/docs/zh-CN/cli/node.md +0 -115
  452. package/docs/zh-CN/cli/nodes.md +0 -80
  453. package/docs/zh-CN/cli/onboard.md +0 -36
  454. package/docs/zh-CN/cli/pairing.md +0 -28
  455. package/docs/zh-CN/cli/plugins.md +0 -66
  456. package/docs/zh-CN/cli/reset.md +0 -24
  457. package/docs/zh-CN/cli/sandbox.md +0 -158
  458. package/docs/zh-CN/cli/security.md +0 -33
  459. package/docs/zh-CN/cli/sessions.md +0 -23
  460. package/docs/zh-CN/cli/setup.md +0 -36
  461. package/docs/zh-CN/cli/skills.md +0 -33
  462. package/docs/zh-CN/cli/status.md +0 -32
  463. package/docs/zh-CN/cli/system.md +0 -63
  464. package/docs/zh-CN/cli/tui.md +0 -30
  465. package/docs/zh-CN/cli/uninstall.md +0 -24
  466. package/docs/zh-CN/cli/update.md +0 -101
  467. package/docs/zh-CN/cli/voicecall.md +0 -41
  468. package/docs/zh-CN/cli/webhooks.md +0 -32
  469. package/docs/zh-CN/concepts/agent-loop.md +0 -146
  470. package/docs/zh-CN/concepts/agent-workspace.md +0 -219
  471. package/docs/zh-CN/concepts/agent.md +0 -115
  472. package/docs/zh-CN/concepts/architecture.md +0 -122
  473. package/docs/zh-CN/concepts/compaction.md +0 -67
  474. package/docs/zh-CN/concepts/context.md +0 -168
  475. package/docs/zh-CN/concepts/features.md +0 -57
  476. package/docs/zh-CN/concepts/markdown-formatting.md +0 -115
  477. package/docs/zh-CN/concepts/memory.md +0 -412
  478. package/docs/zh-CN/concepts/messages.md +0 -140
  479. package/docs/zh-CN/concepts/model-failover.md +0 -145
  480. package/docs/zh-CN/concepts/model-providers.md +0 -320
  481. package/docs/zh-CN/concepts/models.md +0 -196
  482. package/docs/zh-CN/concepts/multi-agent.md +0 -371
  483. package/docs/zh-CN/concepts/oauth.md +0 -151
  484. package/docs/zh-CN/concepts/presence.md +0 -99
  485. package/docs/zh-CN/concepts/queue.md +0 -91
  486. package/docs/zh-CN/concepts/retry.md +0 -71
  487. package/docs/zh-CN/concepts/session-pruning.md +0 -129
  488. package/docs/zh-CN/concepts/session-tool.md +0 -198
  489. package/docs/zh-CN/concepts/session.md +0 -158
  490. package/docs/zh-CN/concepts/sessions.md +0 -17
  491. package/docs/zh-CN/concepts/streaming.md +0 -131
  492. package/docs/zh-CN/concepts/system-prompt.md +0 -99
  493. package/docs/zh-CN/concepts/timezone.md +0 -94
  494. package/docs/zh-CN/concepts/typebox.md +0 -284
  495. package/docs/zh-CN/concepts/typing-indicators.md +0 -74
  496. package/docs/zh-CN/concepts/usage-tracking.md +0 -42
  497. package/docs/zh-CN/date-time.md +0 -128
  498. package/docs/zh-CN/debug/node-issue.md +0 -90
  499. package/docs/zh-CN/diagnostics/flags.md +0 -98
  500. package/docs/zh-CN/experiments/onboarding-config-protocol.md +0 -47
  501. package/docs/zh-CN/experiments/plans/cron-add-hardening.md +0 -69
  502. package/docs/zh-CN/experiments/plans/group-policy-hardening.md +0 -45
  503. package/docs/zh-CN/experiments/plans/openresponses-gateway.md +0 -121
  504. package/docs/zh-CN/experiments/proposals/model-config.md +0 -42
  505. package/docs/zh-CN/experiments/research/memory.md +0 -235
  506. package/docs/zh-CN/gateway/authentication.md +0 -142
  507. package/docs/zh-CN/gateway/background-process.md +0 -100
  508. package/docs/zh-CN/gateway/bonjour.md +0 -174
  509. package/docs/zh-CN/gateway/bridge-protocol.md +0 -86
  510. package/docs/zh-CN/gateway/cli-backends.md +0 -213
  511. package/docs/zh-CN/gateway/configuration-examples.md +0 -580
  512. package/docs/zh-CN/gateway/configuration.md +0 -3284
  513. package/docs/zh-CN/gateway/discovery.md +0 -123
  514. package/docs/zh-CN/gateway/doctor.md +0 -238
  515. package/docs/zh-CN/gateway/gateway-lock.md +0 -41
  516. package/docs/zh-CN/gateway/health.md +0 -42
  517. package/docs/zh-CN/gateway/heartbeat.md +0 -272
  518. package/docs/zh-CN/gateway/index.md +0 -335
  519. package/docs/zh-CN/gateway/local-models.md +0 -157
  520. package/docs/zh-CN/gateway/logging.md +0 -114
  521. package/docs/zh-CN/gateway/multiple-gateways.md +0 -119
  522. package/docs/zh-CN/gateway/network-model.md +0 -23
  523. package/docs/zh-CN/gateway/openai-http-api.md +0 -125
  524. package/docs/zh-CN/gateway/openresponses-http-api.md +0 -317
  525. package/docs/zh-CN/gateway/pairing.md +0 -99
  526. package/docs/zh-CN/gateway/protocol.md +0 -220
  527. package/docs/zh-CN/gateway/remote-gateway-readme.md +0 -164
  528. package/docs/zh-CN/gateway/remote.md +0 -133
  529. package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +0 -135
  530. package/docs/zh-CN/gateway/sandboxing.md +0 -188
  531. package/docs/zh-CN/gateway/security/index.md +0 -772
  532. package/docs/zh-CN/gateway/tailscale.md +0 -124
  533. package/docs/zh-CN/gateway/tools-invoke-http-api.md +0 -92
  534. package/docs/zh-CN/gateway/troubleshooting.md +0 -758
  535. package/docs/zh-CN/help/debugging.md +0 -160
  536. package/docs/zh-CN/help/environment.md +0 -88
  537. package/docs/zh-CN/help/faq.md +0 -2613
  538. package/docs/zh-CN/help/index.md +0 -28
  539. package/docs/zh-CN/help/scripts.md +0 -35
  540. package/docs/zh-CN/help/testing.md +0 -375
  541. package/docs/zh-CN/help/troubleshooting.md +0 -104
  542. package/docs/zh-CN/index.md +0 -183
  543. package/docs/zh-CN/install/ansible.md +0 -214
  544. package/docs/zh-CN/install/bun.md +0 -65
  545. package/docs/zh-CN/install/development-channels.md +0 -81
  546. package/docs/zh-CN/install/docker.md +0 -525
  547. package/docs/zh-CN/install/exe-dev.md +0 -127
  548. package/docs/zh-CN/install/fly.md +0 -476
  549. package/docs/zh-CN/install/gcp.md +0 -509
  550. package/docs/zh-CN/install/hetzner.md +0 -336
  551. package/docs/zh-CN/install/index.md +0 -193
  552. package/docs/zh-CN/install/installer.md +0 -128
  553. package/docs/zh-CN/install/macos-vm.md +0 -288
  554. package/docs/zh-CN/install/migrating.md +0 -199
  555. package/docs/zh-CN/install/nix.md +0 -99
  556. package/docs/zh-CN/install/node.md +0 -8
  557. package/docs/zh-CN/install/northflank.mdx +0 -56
  558. package/docs/zh-CN/install/railway.mdx +0 -102
  559. package/docs/zh-CN/install/render.mdx +0 -168
  560. package/docs/zh-CN/install/uninstall.md +0 -135
  561. package/docs/zh-CN/install/updating.md +0 -233
  562. package/docs/zh-CN/logging.md +0 -329
  563. package/docs/zh-CN/network.md +0 -59
  564. package/docs/zh-CN/nodes/audio.md +0 -120
  565. package/docs/zh-CN/nodes/camera.md +0 -162
  566. package/docs/zh-CN/nodes/images.md +0 -79
  567. package/docs/zh-CN/nodes/index.md +0 -348
  568. package/docs/zh-CN/nodes/location-command.md +0 -120
  569. package/docs/zh-CN/nodes/media-understanding.md +0 -380
  570. package/docs/zh-CN/nodes/talk.md +0 -97
  571. package/docs/zh-CN/nodes/troubleshooting.md +0 -8
  572. package/docs/zh-CN/nodes/voicewake.md +0 -72
  573. package/docs/zh-CN/perplexity.md +0 -84
  574. package/docs/zh-CN/pi-dev.md +0 -77
  575. package/docs/zh-CN/pi.md +0 -617
  576. package/docs/zh-CN/platforms/android.md +0 -155
  577. package/docs/zh-CN/platforms/digitalocean.md +0 -268
  578. package/docs/zh-CN/platforms/index.md +0 -60
  579. package/docs/zh-CN/platforms/ios.md +0 -114
  580. package/docs/zh-CN/platforms/linux.md +0 -101
  581. package/docs/zh-CN/platforms/mac/bundled-gateway.md +0 -75
  582. package/docs/zh-CN/platforms/mac/canvas.md +0 -128
  583. package/docs/zh-CN/platforms/mac/child-process.md +0 -73
  584. package/docs/zh-CN/platforms/mac/dev-setup.md +0 -109
  585. package/docs/zh-CN/platforms/mac/health.md +0 -41
  586. package/docs/zh-CN/platforms/mac/icon.md +0 -38
  587. package/docs/zh-CN/platforms/mac/logging.md +0 -64
  588. package/docs/zh-CN/platforms/mac/menu-bar.md +0 -88
  589. package/docs/zh-CN/platforms/mac/peekaboo.md +0 -62
  590. package/docs/zh-CN/platforms/mac/permissions.md +0 -46
  591. package/docs/zh-CN/platforms/mac/release.md +0 -92
  592. package/docs/zh-CN/platforms/mac/remote.md +0 -90
  593. package/docs/zh-CN/platforms/mac/signing.md +0 -54
  594. package/docs/zh-CN/platforms/mac/skills.md +0 -40
  595. package/docs/zh-CN/platforms/mac/voice-overlay.md +0 -67
  596. package/docs/zh-CN/platforms/mac/voicewake.md +0 -73
  597. package/docs/zh-CN/platforms/mac/webchat.md +0 -43
  598. package/docs/zh-CN/platforms/mac/xpc.md +0 -68
  599. package/docs/zh-CN/platforms/macos.md +0 -193
  600. package/docs/zh-CN/platforms/oracle.md +0 -310
  601. package/docs/zh-CN/platforms/raspberry-pi.md +0 -365
  602. package/docs/zh-CN/platforms/windows.md +0 -156
  603. package/docs/zh-CN/plugins/agent-tools.md +0 -99
  604. package/docs/zh-CN/plugins/manifest.md +0 -68
  605. package/docs/zh-CN/plugins/voice-call.md +0 -250
  606. package/docs/zh-CN/plugins/zalouser.md +0 -88
  607. package/docs/zh-CN/prose.md +0 -141
  608. package/docs/zh-CN/providers/anthropic.md +0 -159
  609. package/docs/zh-CN/providers/bedrock.md +0 -170
  610. package/docs/zh-CN/providers/claude-max-api-proxy.md +0 -155
  611. package/docs/zh-CN/providers/deepgram.md +0 -97
  612. package/docs/zh-CN/providers/github-copilot.md +0 -67
  613. package/docs/zh-CN/providers/glm.md +0 -39
  614. package/docs/zh-CN/providers/index.md +0 -66
  615. package/docs/zh-CN/providers/minimax.md +0 -206
  616. package/docs/zh-CN/providers/models.md +0 -55
  617. package/docs/zh-CN/providers/moonshot.md +0 -145
  618. package/docs/zh-CN/providers/ollama.md +0 -230
  619. package/docs/zh-CN/providers/openai.md +0 -68
  620. package/docs/zh-CN/providers/opencode.md +0 -41
  621. package/docs/zh-CN/providers/openrouter.md +0 -43
  622. package/docs/zh-CN/providers/qianfan.md +0 -8
  623. package/docs/zh-CN/providers/qwen.md +0 -55
  624. package/docs/zh-CN/providers/synthetic.md +0 -102
  625. package/docs/zh-CN/providers/venice.md +0 -274
  626. package/docs/zh-CN/providers/vercel-ai-gateway.md +0 -57
  627. package/docs/zh-CN/providers/xiaomi.md +0 -68
  628. package/docs/zh-CN/providers/zai.md +0 -41
  629. package/docs/zh-CN/refactor/exec-host.md +0 -323
  630. package/docs/zh-CN/refactor/outbound-session-mirroring.md +0 -90
  631. package/docs/zh-CN/refactor/plugin-sdk.md +0 -221
  632. package/docs/zh-CN/refactor/strict-config.md +0 -100
  633. package/docs/zh-CN/refactor/syminet.md +0 -424
  634. package/docs/zh-CN/reference/AGENTS.default.md +0 -130
  635. package/docs/zh-CN/reference/RELEASING.md +0 -122
  636. package/docs/zh-CN/reference/api-usage-costs.md +0 -136
  637. package/docs/zh-CN/reference/credits.md +0 -34
  638. package/docs/zh-CN/reference/device-models.md +0 -54
  639. package/docs/zh-CN/reference/rpc.md +0 -48
  640. package/docs/zh-CN/reference/session-management-compaction.md +0 -286
  641. package/docs/zh-CN/reference/templates/AGENTS.dev.md +0 -89
  642. package/docs/zh-CN/reference/templates/AGENTS.md +0 -234
  643. package/docs/zh-CN/reference/templates/BOOT.md +0 -17
  644. package/docs/zh-CN/reference/templates/BOOTSTRAP.md +0 -68
  645. package/docs/zh-CN/reference/templates/IDENTITY.dev.md +0 -54
  646. package/docs/zh-CN/reference/templates/IDENTITY.md +0 -36
  647. package/docs/zh-CN/reference/templates/SYMICORE.dev.md +0 -83
  648. package/docs/zh-CN/reference/templates/SYMICORE.md +0 -49
  649. package/docs/zh-CN/reference/templates/SYMIPULSE.md +0 -69
  650. package/docs/zh-CN/reference/templates/TOOLS.dev.md +0 -31
  651. package/docs/zh-CN/reference/templates/TOOLS.md +0 -53
  652. package/docs/zh-CN/reference/templates/USER.dev.md +0 -25
  653. package/docs/zh-CN/reference/templates/USER.md +0 -30
  654. package/docs/zh-CN/reference/test.md +0 -57
  655. package/docs/zh-CN/reference/token-use.md +0 -119
  656. package/docs/zh-CN/reference/transcript-hygiene.md +0 -109
  657. package/docs/zh-CN/reference/wizard.md +0 -9
  658. package/docs/zh-CN/security/formal-verification.md +0 -171
  659. package/docs/zh-CN/start/bootstrapping.md +0 -9
  660. package/docs/zh-CN/start/docs-directory.md +0 -69
  661. package/docs/zh-CN/start/getting-started.md +0 -201
  662. package/docs/zh-CN/start/hubs.md +0 -199
  663. package/docs/zh-CN/start/lore.md +0 -223
  664. package/docs/zh-CN/start/onboarding.md +0 -105
  665. package/docs/zh-CN/start/quickstart.md +0 -88
  666. package/docs/zh-CN/start/setup.md +0 -151
  667. package/docs/zh-CN/start/showcase.md +0 -421
  668. package/docs/zh-CN/start/symi.md +0 -244
  669. package/docs/zh-CN/start/wizard.md +0 -326
  670. package/docs/zh-CN/tools/agent-send.md +0 -58
  671. package/docs/zh-CN/tools/apply-patch.md +0 -57
  672. package/docs/zh-CN/tools/browser-linux-troubleshooting.md +0 -144
  673. package/docs/zh-CN/tools/browser-login.md +0 -75
  674. package/docs/zh-CN/tools/browser.md +0 -553
  675. package/docs/zh-CN/tools/chrome-extension.md +0 -183
  676. package/docs/zh-CN/tools/creating-skills.md +0 -61
  677. package/docs/zh-CN/tools/elevated.md +0 -62
  678. package/docs/zh-CN/tools/exec-approvals.md +0 -233
  679. package/docs/zh-CN/tools/exec.md +0 -169
  680. package/docs/zh-CN/tools/firecrawl.md +0 -68
  681. package/docs/zh-CN/tools/index.md +0 -508
  682. package/docs/zh-CN/tools/llm-task.md +0 -117
  683. package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +0 -400
  684. package/docs/zh-CN/tools/pipeline.md +0 -349
  685. package/docs/zh-CN/tools/plugin.md +0 -639
  686. package/docs/zh-CN/tools/reactions.md +0 -28
  687. package/docs/zh-CN/tools/skills-config.md +0 -78
  688. package/docs/zh-CN/tools/skills.md +0 -279
  689. package/docs/zh-CN/tools/slash-commands.md +0 -196
  690. package/docs/zh-CN/tools/subagents.md +0 -167
  691. package/docs/zh-CN/tools/symihub.md +0 -209
  692. package/docs/zh-CN/tools/thinking.md +0 -80
  693. package/docs/zh-CN/tools/web.md +0 -257
  694. package/docs/zh-CN/tts.md +0 -373
  695. package/docs/zh-CN/vps.md +0 -47
  696. package/docs/zh-CN/web/control-ui.md +0 -190
  697. package/docs/zh-CN/web/dashboard.md +0 -53
  698. package/docs/zh-CN/web/index.md +0 -118
  699. package/docs/zh-CN/web/tui.md +0 -166
  700. package/docs/zh-CN/web/webchat.md +0 -56
  701. package/extensions/imessage/index.ts +0 -17
  702. package/extensions/imessage/node_modules/.bin/symi +0 -21
  703. package/extensions/imessage/package.json +0 -15
  704. package/extensions/imessage/src/channel.outbound.test.ts +0 -66
  705. package/extensions/imessage/src/channel.ts +0 -298
  706. package/extensions/imessage/src/runtime.ts +0 -14
  707. package/extensions/imessage/symi.plugin.json +0 -9
  708. package/extensions/line/index.ts +0 -19
  709. package/extensions/line/node_modules/.bin/symi +0 -21
  710. package/extensions/line/package.json +0 -30
  711. package/extensions/line/src/card-command.ts +0 -344
  712. package/extensions/line/src/channel.logout.test.ts +0 -133
  713. package/extensions/line/src/channel.sendPayload.test.ts +0 -312
  714. package/extensions/line/src/channel.startup.test.ts +0 -133
  715. package/extensions/line/src/channel.ts +0 -801
  716. package/extensions/line/src/runtime.ts +0 -14
  717. package/extensions/line/symi.plugin.json +0 -9
  718. package/extensions/signal/index.ts +0 -17
  719. package/extensions/signal/node_modules/.bin/symi +0 -21
  720. package/extensions/signal/package.json +0 -15
  721. package/extensions/signal/src/channel.ts +0 -302
  722. package/extensions/signal/src/runtime.ts +0 -14
  723. package/extensions/signal/symi.plugin.json +0 -9
  724. package/extensions/telegram/index.ts +0 -17
  725. package/extensions/telegram/node_modules/.bin/symi +0 -21
  726. package/extensions/telegram/package.json +0 -15
  727. package/extensions/telegram/src/channel.test.ts +0 -125
  728. package/extensions/telegram/src/channel.ts +0 -560
  729. package/extensions/telegram/src/runtime.ts +0 -14
  730. package/extensions/telegram/symi.plugin.json +0 -9
  731. package/extensions/whatsapp/index.ts +0 -17
  732. package/extensions/whatsapp/node_modules/.bin/symi +0 -21
  733. package/extensions/whatsapp/package.json +0 -15
  734. package/extensions/whatsapp/src/channel.ts +0 -465
  735. package/extensions/whatsapp/src/resolve-target.test.ts +0 -170
  736. package/extensions/whatsapp/src/runtime.ts +0 -14
  737. package/extensions/whatsapp/symi.plugin.json +0 -9
@@ -1,881 +0,0 @@
1
- ---
2
- read_when:
3
- - 你想为 /new、/reset、/stop 和智能体生命周期事件实现事件驱动自动化
4
- - 你想构建、安装或调试 hooks
5
- summary: Hooks:用于命令和生命周期事件的事件驱动自动化
6
- title: Hooks
7
- x-i18n:
8
- generated_at: "2026-02-03T07:50:59Z"
9
- model: claude-opus-4-5
10
- provider: pi
11
- source_hash: 853227a0f1abd20790b425fa64dda60efc6b5f93c1b13ecd2dcb788268f71d79
12
- source_path: automation/hooks.md
13
- workflow: 15
14
- ---
15
-
16
- # Hooks
17
-
18
- Hooks 提供了一个可扩展的事件驱动系统,用于响应智能体命令和事件自动执行操作。Hooks 从目录中自动发现,可以通过 CLI 命令管理,类似于 Symi 中 Skills 的工作方式。
19
-
20
- ## 入门指南
21
-
22
- Hooks 是在事件发生时运行的小脚本。有两种类型:
23
-
24
- - **Hooks**(本页):当智能体事件触发时在 Gateway 网关内运行,如 `/new`、`/reset`、`/stop` 或生命周期事件。
25
- - **Webhooks**:外部 HTTP webhooks,让其他系统触发 Symi 中的工作。参见 [Webhook Hooks](/automation/webhook) 或使用 `symi webhooks` 获取 Gmail 助手命令。
26
-
27
- Hooks 也可以捆绑在插件中;参见 [插件](/tools/plugin#plugin-hooks)。
28
-
29
- 常见用途:
30
-
31
- - 重置会话时保存记忆快照
32
- - 保留命令审计跟踪用于故障排除或合规
33
- - 会话开始或结束时触发后续自动化
34
- - 事件触发时向智能体工作区写入文件或调用外部 API
35
-
36
- 如果你能写一个小的 TypeScript 函数,你就能写一个 hook。Hooks 会自动发现,你可以通过 CLI 启用或禁用它们。
37
-
38
- ## 概述
39
-
40
- hooks 系统允许你:
41
-
42
- - 在发出 `/new` 时将会话上下文保存到记忆
43
- - 记录所有命令以供审计
44
- - 在智能体生命周期事件上触发自定义自动化
45
- - 在不修改核心代码的情况下扩展 Symi 的行为
46
-
47
- ## 入门
48
-
49
- ### 捆绑的 Hooks
50
-
51
- Symi 附带三个自动发现的捆绑 hooks:
52
-
53
- - **💾 session-memory**:当你发出 `/new` 时将会话上下文保存到智能体工作区(默认 `~/.symi/workspace/memory/`)
54
- - **📝 command-logger**:将所有命令事件记录到 `~/.symi/logs/commands.log`
55
- - **🚀 boot-md**:当 Gateway 网关启动时运行 `BOOT.md`(需要启用内部 hooks)
56
-
57
- 列出可用的 hooks:
58
-
59
- ```bash
60
- symi hooks list
61
- ```
62
-
63
- 启用一个 hook:
64
-
65
- ```bash
66
- symi hooks enable session-memory
67
- ```
68
-
69
- 检查 hook 状态:
70
-
71
- ```bash
72
- symi hooks check
73
- ```
74
-
75
- 获取详细信息:
76
-
77
- ```bash
78
- symi hooks info session-memory
79
- ```
80
-
81
- ### 新手引导
82
-
83
- 在新手引导期间(`symi onboard`),你将被提示启用推荐的 hooks。向导会自动发现符合条件的 hooks 并呈现供选择。
84
-
85
- ## Hook 发现
86
-
87
- Hooks 从三个目录自动发现(按优先级顺序):
88
-
89
- 1. **工作区 hooks**:`<workspace>/hooks/`(每智能体,最高优先级)
90
- 2. **托管 hooks**:`~/.symi/hooks/`(用户安装,跨工作区共享)
91
- 3. **捆绑 hooks**:`<symi>/dist/hooks/bundled/`(随 Symi 附带)
92
-
93
- 托管 hook 目录可以是**单个 hook** 或 **hook 包**(包目录)。
94
-
95
- 每个 hook 是一个包含以下内容的目录:
96
-
97
- ```
98
- my-hook/
99
- ├── HOOK.md # 元数据 + 文档
100
- └── handler.ts # 处理程序实现
101
- ```
102
-
103
- ## Hook 包(npm/archives)
104
-
105
- Hook 包是标准的 npm 包,通过 `package.json` 中的 `symi.hooks` 导出一个或多个 hooks。使用以下命令安装:
106
-
107
- ```bash
108
- symi hooks install <path-or-spec>
109
- ```
110
-
111
- 示例 `package.json`:
112
-
113
- ```json
114
- {
115
- "name": "@acme/my-hooks",
116
- "version": "0.1.0",
117
- "symi": {
118
- "hooks": ["./hooks/my-hook", "./hooks/other-hook"]
119
- }
120
- }
121
- ```
122
-
123
- 每个条目指向包含 `HOOK.md` 和 `handler.ts`(或 `index.ts`)的 hook 目录。
124
- Hook 包可以附带依赖;它们将安装在 `~/.symi/hooks/<id>` 下。
125
-
126
- ## Hook 结构
127
-
128
- ### HOOK.md 格式
129
-
130
- `HOOK.md` 文件在 YAML frontmatter 中包含元数据,加上 Markdown 文档:
131
-
132
- ```markdown
133
- ---
134
- name: my-hook
135
- description: "Short description of what this hook does"
136
- homepage: https://docs.symi.ai/automation/hooks#my-hook
137
- metadata: { "symi": { "emoji": "🔗", "events": ["command:new"], "requires": { "bins": ["node"] } } }
138
- ---
139
-
140
- # My Hook
141
-
142
- Detailed documentation goes here...
143
-
144
- ## What It Does
145
-
146
- - Listens for `/new` commands
147
- - Performs some action
148
- - Logs the result
149
-
150
- ## Requirements
151
-
152
- - Node.js must be installed
153
-
154
- ## Configuration
155
-
156
- No configuration needed.
157
- ```
158
-
159
- ### 元数据字段
160
-
161
- `metadata.symi` 对象支持:
162
-
163
- - **`emoji`**:CLI 的显示表情符号(例如 `"💾"`)
164
- - **`events`**:要监听的事件数组(例如 `["command:new", "command:reset"]`)
165
- - **`export`**:要使用的命名导出(默认为 `"default"`)
166
- - **`homepage`**:文档 URL
167
- - **`requires`**:可选要求
168
- - **`bins`**:PATH 中需要的二进制文件(例如 `["git", "node"]`)
169
- - **`anyBins`**:这些二进制文件中至少有一个必须存在
170
- - **`env`**:需要的环境变量
171
- - **`config`**:需要的配置路径(例如 `["workspace.dir"]`)
172
- - **`os`**:需要的平台(例如 `["darwin", "linux"]`)
173
- - **`always`**:绕过资格检查(布尔值)
174
- - **`install`**:安装方法(对于捆绑 hooks:`[{"id":"bundled","kind":"bundled"}]`)
175
-
176
- ### 处理程序实现
177
-
178
- `handler.ts` 文件导出一个 `HookHandler` 函数:
179
-
180
- ```typescript
181
- import type { HookHandler } from "../../src/hooks/hooks.js";
182
-
183
- const myHandler: HookHandler = async (event) => {
184
- // Only trigger on 'new' command
185
- if (event.type !== "command" || event.action !== "new") {
186
- return;
187
- }
188
-
189
- console.log(`[my-hook] New command triggered`);
190
- console.log(` Session: ${event.sessionKey}`);
191
- console.log(` Timestamp: ${event.timestamp.toISOString()}`);
192
-
193
- // Your custom logic here
194
-
195
- // Optionally send message to user
196
- event.messages.push("✨ My hook executed!");
197
- };
198
-
199
- export default myHandler;
200
- ```
201
-
202
- #### 事件上下文
203
-
204
- 每个事件包含:
205
-
206
- ```typescript
207
- {
208
- type: 'command' | 'session' | 'agent' | 'gateway',
209
- action: string, // e.g., 'new', 'reset', 'stop'
210
- sessionKey: string, // Session identifier
211
- timestamp: Date, // When the event occurred
212
- messages: string[], // Push messages here to send to user
213
- context: {
214
- sessionEntry?: SessionEntry,
215
- sessionId?: string,
216
- sessionFile?: string,
217
- commandSource?: string, // e.g., 'whatsapp', 'telegram'
218
- senderId?: string,
219
- workspaceDir?: string,
220
- bootstrapFiles?: WorkspaceBootstrapFile[],
221
- cfg?: SymiConfig
222
- }
223
- }
224
- ```
225
-
226
- ## 事件类型
227
-
228
- ### 命令事件
229
-
230
- 当发出智能体命令时触发:
231
-
232
- - **`command`**:所有命令事件(通用监听器)
233
- - **`command:new`**:当发出 `/new` 命令时
234
- - **`command:reset`**:当发出 `/reset` 命令时
235
- - **`command:stop`**:当发出 `/stop` 命令时
236
-
237
- ### 智能体事件
238
-
239
- - **`agent:bootstrap`**:在注入工作区引导文件之前(hooks 可以修改 `context.bootstrapFiles`)
240
-
241
- ### Gateway 网关事件
242
-
243
- 当 Gateway 网关启动时触发:
244
-
245
- - **`gateway:startup`**:在渠道启动和 hooks 加载之后
246
-
247
- ### 工具结果 Hooks(插件 API)
248
-
249
- 这些 hooks 不是事件流监听器;它们让插件在 Symi 持久化工具结果之前同步调整它们。
250
-
251
- - **`tool_result_persist`**:在工具结果写入会话记录之前转换它们。必须是同步的;返回更新后的工具结果负载或 `undefined` 保持原样。参见 [智能体循环](/concepts/agent-loop)。
252
-
253
- ### 未来事件
254
-
255
- 计划中的事件类型:
256
-
257
- - **`session:start`**:当新会话开始时
258
- - **`session:end`**:当会话结束时
259
- - **`agent:error`**:当智能体遇到错误时
260
- - **`message:sent`**:当消息被发送时
261
- - **`message:received`**:当消息被接收时
262
-
263
- ## 创建自定义 Hooks
264
-
265
- ### 1. 选择位置
266
-
267
- - **工作区 hooks**(`<workspace>/hooks/`):每智能体,最高优先级
268
- - **托管 hooks**(`~/.symi/hooks/`):跨工作区共享
269
-
270
- ### 2. 创建目录结构
271
-
272
- ```bash
273
- mkdir -p ~/.symi/hooks/my-hook
274
- cd ~/.symi/hooks/my-hook
275
- ```
276
-
277
- ### 3. 创建 HOOK.md
278
-
279
- ```markdown
280
- ---
281
- name: my-hook
282
- description: "Does something useful"
283
- metadata: { "symi": { "emoji": "🎯", "events": ["command:new"] } }
284
- ---
285
-
286
- # My Custom Hook
287
-
288
- This hook does something useful when you issue `/new`.
289
- ```
290
-
291
- ### 4. 创建 handler.ts
292
-
293
- ```typescript
294
- import type { HookHandler } from "../../src/hooks/hooks.js";
295
-
296
- const handler: HookHandler = async (event) => {
297
- if (event.type !== "command" || event.action !== "new") {
298
- return;
299
- }
300
-
301
- console.log("[my-hook] Running!");
302
- // Your logic here
303
- };
304
-
305
- export default handler;
306
- ```
307
-
308
- ### 5. 启用并测试
309
-
310
- ```bash
311
- # Verify hook is discovered
312
- symi hooks list
313
-
314
- # Enable it
315
- symi hooks enable my-hook
316
-
317
- # Restart your gateway process (menu bar app restart on macOS, or restart your dev process)
318
-
319
- # Trigger the event
320
- # Send /new via your messaging channel
321
- ```
322
-
323
- ## 配置
324
-
325
- ### 新配置格式(推荐)
326
-
327
- ```json
328
- {
329
- "hooks": {
330
- "internal": {
331
- "enabled": true,
332
- "entries": {
333
- "session-memory": { "enabled": true },
334
- "command-logger": { "enabled": false }
335
- }
336
- }
337
- }
338
- }
339
- ```
340
-
341
- ### 每 Hook 配置
342
-
343
- Hooks 可以有自定义配置:
344
-
345
- ```json
346
- {
347
- "hooks": {
348
- "internal": {
349
- "enabled": true,
350
- "entries": {
351
- "my-hook": {
352
- "enabled": true,
353
- "env": {
354
- "MY_CUSTOM_VAR": "value"
355
- }
356
- }
357
- }
358
- }
359
- }
360
- }
361
- ```
362
-
363
- ### 额外目录
364
-
365
- 从额外目录加载 hooks:
366
-
367
- ```json
368
- {
369
- "hooks": {
370
- "internal": {
371
- "enabled": true,
372
- "load": {
373
- "extraDirs": ["/path/to/more/hooks"]
374
- }
375
- }
376
- }
377
- }
378
- ```
379
-
380
- ### 遗留配置格式(仍然支持)
381
-
382
- 旧配置格式仍然有效以保持向后兼容:
383
-
384
- ```json
385
- {
386
- "hooks": {
387
- "internal": {
388
- "enabled": true,
389
- "handlers": [
390
- {
391
- "event": "command:new",
392
- "module": "./hooks/handlers/my-handler.ts",
393
- "export": "default"
394
- }
395
- ]
396
- }
397
- }
398
- }
399
- ```
400
-
401
- **迁移**:对新 hooks 使用基于发现的新系统。遗留处理程序在基于目录的 hooks 之后加载。
402
-
403
- ## CLI 命令
404
-
405
- ### 列出 Hooks
406
-
407
- ```bash
408
- # List all hooks
409
- symi hooks list
410
-
411
- # Show only eligible hooks
412
- symi hooks list --eligible
413
-
414
- # Verbose output (show missing requirements)
415
- symi hooks list --verbose
416
-
417
- # JSON output
418
- symi hooks list --json
419
- ```
420
-
421
- ### Hook 信息
422
-
423
- ```bash
424
- # Show detailed info about a hook
425
- symi hooks info session-memory
426
-
427
- # JSON output
428
- symi hooks info session-memory --json
429
- ```
430
-
431
- ### 检查资格
432
-
433
- ```bash
434
- # Show eligibility summary
435
- symi hooks check
436
-
437
- # JSON output
438
- symi hooks check --json
439
- ```
440
-
441
- ### 启用/禁用
442
-
443
- ```bash
444
- # Enable a hook
445
- symi hooks enable session-memory
446
-
447
- # Disable a hook
448
- symi hooks disable command-logger
449
- ```
450
-
451
- ## 捆绑的 Hooks
452
-
453
- ### session-memory
454
-
455
- 当你发出 `/new` 时将会话上下文保存到记忆。
456
-
457
- **事件**:`command:new`
458
-
459
- **要求**:必须配置 `workspace.dir`
460
-
461
- **输出**:`<workspace>/memory/YYYY-MM-DD-slug.md`(默认为 `~/.symi/workspace`)
462
-
463
- **功能**:
464
-
465
- 1. 使用预重置会话条目定位正确的记录
466
- 2. 提取最后 15 行对话
467
- 3. 使用 LLM 生成描述性文件名 slug
468
- 4. 将会话元数据保存到带日期的记忆文件
469
-
470
- **示例输出**:
471
-
472
- ```markdown
473
- # Session: 2026-01-16 14:30:00 UTC
474
-
475
- - **Session Key**: agent:main:main
476
- - **Session ID**: abc123def456
477
- - **Source**: telegram
478
- ```
479
-
480
- **文件名示例**:
481
-
482
- - `2026-01-16-vendor-pitch.md`
483
- - `2026-01-16-api-design.md`
484
- - `2026-01-16-1430.md`(如果 slug 生成失败则回退到时间戳)
485
-
486
- **启用**:
487
-
488
- ```bash
489
- symi hooks enable session-memory
490
- ```
491
-
492
- ### command-logger
493
-
494
- 将所有命令事件记录到集中审计文件。
495
-
496
- **事件**:`command`
497
-
498
- **要求**:无
499
-
500
- **输出**:`~/.symi/logs/commands.log`
501
-
502
- **功能**:
503
-
504
- 1. 捕获事件详情(命令操作、时间戳、会话键、发送者 ID、来源)
505
- 2. 以 JSONL 格式追加到日志文件
506
- 3. 在后台静默运行
507
-
508
- **示例日志条目**:
509
-
510
- ```jsonl
511
- {"timestamp":"2026-01-16T14:30:00.000Z","action":"new","sessionKey":"agent:main:main","senderId":"+1234567890","source":"telegram"}
512
- {"timestamp":"2026-01-16T15:45:22.000Z","action":"stop","sessionKey":"agent:main:main","senderId":"user@example.com","source":"whatsapp"}
513
- ```
514
-
515
- **查看日志**:
516
-
517
- ```bash
518
- # View recent commands
519
- tail -n 20 ~/.symi/logs/commands.log
520
-
521
- # Pretty-print with jq
522
- cat ~/.symi/logs/commands.log | jq .
523
-
524
- # Filter by action
525
- grep '"action":"new"' ~/.symi/logs/commands.log | jq .
526
- ```
527
-
528
- **启用**:
529
-
530
- ```bash
531
- symi hooks enable command-logger
532
- ```
533
-
534
- ### boot-md
535
-
536
- 当 Gateway 网关启动时运行 `BOOT.md`(在渠道启动之后)。
537
- 必须启用内部 hooks 才能运行。
538
-
539
- **事件**:`gateway:startup`
540
-
541
- **要求**:必须配置 `workspace.dir`
542
-
543
- **功能**:
544
-
545
- 1. 从你的工作区读取 `BOOT.md`
546
- 2. 通过智能体运行器运行指令
547
- 3. 通过 message 工具发送任何请求的出站消息
548
-
549
- **启用**:
550
-
551
- ```bash
552
- symi hooks enable boot-md
553
- ```
554
-
555
- ## 最佳实践
556
-
557
- ### 保持处理程序快速
558
-
559
- Hooks 在命令处理期间运行。保持它们轻量:
560
-
561
- ```typescript
562
- // ✓ Good - async work, returns immediately
563
- const handler: HookHandler = async (event) => {
564
- void processInBackground(event); // Fire and forget
565
- };
566
-
567
- // ✗ Bad - blocks command processing
568
- const handler: HookHandler = async (event) => {
569
- await slowDatabaseQuery(event);
570
- await evenSlowerAPICall(event);
571
- };
572
- ```
573
-
574
- ### 优雅处理错误
575
-
576
- 始终包装有风险的操作:
577
-
578
- ```typescript
579
- const handler: HookHandler = async (event) => {
580
- try {
581
- await riskyOperation(event);
582
- } catch (err) {
583
- console.error("[my-handler] Failed:", err instanceof Error ? err.message : String(err));
584
- // Don't throw - let other handlers run
585
- }
586
- };
587
- ```
588
-
589
- ### 尽早过滤事件
590
-
591
- 如果事件不相关则尽早返回:
592
-
593
- ```typescript
594
- const handler: HookHandler = async (event) => {
595
- // Only handle 'new' commands
596
- if (event.type !== "command" || event.action !== "new") {
597
- return;
598
- }
599
-
600
- // Your logic here
601
- };
602
- ```
603
-
604
- ### 使用特定事件键
605
-
606
- 尽可能在元数据中指定确切事件:
607
-
608
- ```yaml
609
- metadata: { "symi": { "events": ["command:new"] } } # Specific
610
- ```
611
-
612
- 而不是:
613
-
614
- ```yaml
615
- metadata: { "symi": { "events": ["command"] } } # General - more overhead
616
- ```
617
-
618
- ## 调试
619
-
620
- ### 启用 Hook 日志
621
-
622
- Gateway 网关在启动时记录 hook 加载:
623
-
624
- ```
625
- Registered hook: session-memory -> command:new
626
- Registered hook: command-logger -> command
627
- Registered hook: boot-md -> gateway:startup
628
- ```
629
-
630
- ### 检查发现
631
-
632
- 列出所有发现的 hooks:
633
-
634
- ```bash
635
- symi hooks list --verbose
636
- ```
637
-
638
- ### 检查注册
639
-
640
- 在你的处理程序中,记录它被调用的时间:
641
-
642
- ```typescript
643
- const handler: HookHandler = async (event) => {
644
- console.log("[my-handler] Triggered:", event.type, event.action);
645
- // Your logic
646
- };
647
- ```
648
-
649
- ### 验证资格
650
-
651
- 检查为什么 hook 不符合条件:
652
-
653
- ```bash
654
- symi hooks info my-hook
655
- ```
656
-
657
- 在输出中查找缺失的要求。
658
-
659
- ## 测试
660
-
661
- ### Gateway 网关日志
662
-
663
- 监控 Gateway 网关日志以查看 hook 执行:
664
-
665
- ```bash
666
- # macOS
667
- ./scripts/symilog.sh -f
668
-
669
- # Other platforms
670
- tail -f ~/.symi/gateway.log
671
- ```
672
-
673
- ### 直接测试 Hooks
674
-
675
- 隔离测试你的处理程序:
676
-
677
- ```typescript
678
- import { test } from "vitest";
679
- import { createHookEvent } from "./src/hooks/hooks.js";
680
- import myHandler from "./hooks/my-hook/handler.js";
681
-
682
- test("my handler works", async () => {
683
- const event = createHookEvent("command", "new", "test-session", {
684
- foo: "bar",
685
- });
686
-
687
- await myHandler(event);
688
-
689
- // Assert side effects
690
- });
691
- ```
692
-
693
- ## 架构
694
-
695
- ### 核心组件
696
-
697
- - **`src/hooks/types.ts`**:类型定义
698
- - **`src/hooks/workspace.ts`**:目录扫描和加载
699
- - **`src/hooks/frontmatter.ts`**:HOOK.md 元数据解析
700
- - **`src/hooks/config.ts`**:资格检查
701
- - **`src/hooks/hooks-status.ts`**:状态报告
702
- - **`src/hooks/loader.ts`**:动态模块加载器
703
- - **`src/cli/hooks-cli.ts`**:CLI 命令
704
- - **`src/gateway/server-startup.ts`**:在 Gateway 网关启动时加载 hooks
705
- - **`src/auto-reply/reply/commands-core.ts`**:触发命令事件
706
-
707
- ### 发现流程
708
-
709
- ```
710
- Gateway 网关启动
711
-
712
- 扫描目录(工作区 → 托管 → 捆绑)
713
-
714
- 解析 HOOK.md 文件
715
-
716
- 检查资格(bins、env、config、os)
717
-
718
- 从符合条件的 hooks 加载处理程序
719
-
720
- 为事件注册处理程序
721
- ```
722
-
723
- ### 事件流程
724
-
725
- ```
726
- 用户发送 /new
727
-
728
- 命令验证
729
-
730
- 创建 hook 事件
731
-
732
- 触发 hook(所有注册的处理程序)
733
-
734
- 命令处理继续
735
-
736
- 会话重置
737
- ```
738
-
739
- ## 故障排除
740
-
741
- ### Hook 未被发现
742
-
743
- 1. 检查目录结构:
744
-
745
- ```bash
746
- ls -la ~/.symi/hooks/my-hook/
747
- # Should show: HOOK.md, handler.ts
748
- ```
749
-
750
- 2. 验证 HOOK.md 格式:
751
-
752
- ```bash
753
- cat ~/.symi/hooks/my-hook/HOOK.md
754
- # Should have YAML frontmatter with name and metadata
755
- ```
756
-
757
- 3. 列出所有发现的 hooks:
758
- ```bash
759
- symi hooks list
760
- ```
761
-
762
- ### Hook 不符合条件
763
-
764
- 检查要求:
765
-
766
- ```bash
767
- symi hooks info my-hook
768
- ```
769
-
770
- 查找缺失的:
771
-
772
- - 二进制文件(检查 PATH)
773
- - 环境变量
774
- - 配置值
775
- - 操作系统兼容性
776
-
777
- ### Hook 未执行
778
-
779
- 1. 验证 hook 已启用:
780
-
781
- ```bash
782
- symi hooks list
783
- # Should show ✓ next to enabled hooks
784
- ```
785
-
786
- 2. 重启你的 Gateway 网关进程以重新加载 hooks。
787
-
788
- 3. 检查 Gateway 网关日志中的错误:
789
- ```bash
790
- ./scripts/symilog.sh | grep hook
791
- ```
792
-
793
- ### 处理程序错误
794
-
795
- 检查 TypeScript/import 错误:
796
-
797
- ```bash
798
- # Test import directly
799
- node -e "import('./path/to/handler.ts').then(console.log)"
800
- ```
801
-
802
- ## 迁移指南
803
-
804
- ### 从遗留配置到发现
805
-
806
- **之前**:
807
-
808
- ```json
809
- {
810
- "hooks": {
811
- "internal": {
812
- "enabled": true,
813
- "handlers": [
814
- {
815
- "event": "command:new",
816
- "module": "./hooks/handlers/my-handler.ts"
817
- }
818
- ]
819
- }
820
- }
821
- }
822
- ```
823
-
824
- **之后**:
825
-
826
- 1. 创建 hook 目录:
827
-
828
- ```bash
829
- mkdir -p ~/.symi/hooks/my-hook
830
- mv ./hooks/handlers/my-handler.ts ~/.symi/hooks/my-hook/handler.ts
831
- ```
832
-
833
- 2. 创建 HOOK.md:
834
-
835
- ```markdown
836
- ---
837
- name: my-hook
838
- description: "My custom hook"
839
- metadata: { "symi": { "emoji": "🎯", "events": ["command:new"] } }
840
- ---
841
-
842
- # My Hook
843
-
844
- Does something useful.
845
- ```
846
-
847
- 3. 更新配置:
848
-
849
- ```json
850
- {
851
- "hooks": {
852
- "internal": {
853
- "enabled": true,
854
- "entries": {
855
- "my-hook": { "enabled": true }
856
- }
857
- }
858
- }
859
- }
860
- ```
861
-
862
- 4. 验证并重启你的 Gateway 网关进程:
863
- ```bash
864
- symi hooks list
865
- # Should show: 🎯 my-hook ✓
866
- ```
867
-
868
- **迁移的好处**:
869
-
870
- - 自动发现
871
- - CLI 管理
872
- - 资格检查
873
- - 更好的文档
874
- - 一致的结构
875
-
876
- ## 另请参阅
877
-
878
- - [CLI 参考:hooks](/cli/hooks)
879
- - [捆绑 Hooks README](https://github.com/symi/symi/tree/main/src/hooks/bundled)
880
- - [Webhook Hooks](/automation/webhook)
881
- - [配置](/gateway/configuration#hooks)