@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,639 +0,0 @@
1
- ---
2
- read_when:
3
- - 添加或修改插件/扩展
4
- - 记录插件安装或加载规则
5
- summary: Symi 插件/扩展:发现、配置和安全
6
- title: 插件
7
- x-i18n:
8
- generated_at: "2026-02-03T07:55:25Z"
9
- model: claude-opus-4-5
10
- provider: pi
11
- source_hash: b36ca6b90ca03eaae25c00f9b12f2717fcd17ac540ba616ee03b398b234c2308
12
- source_path: tools/plugin.md
13
- workflow: 15
14
- ---
15
-
16
- # 插件(扩展)
17
-
18
- ## 快速开始(插件新手?)
19
-
20
- 插件只是一个**小型代码模块**,用额外功能(命令、工具和 Gateway 网关 RPC)扩展 Symi。
21
-
22
- 大多数时候,当你想要一个尚未内置到核心 Symi 的功能(或你想将可选功能排除在主安装之外)时,你会使用插件。
23
-
24
- 快速路径:
25
-
26
- 1. 查看已加载的内容:
27
-
28
- ```bash
29
- symi plugins list
30
- ```
31
-
32
- 2. 安装官方插件(例如:Voice Call):
33
-
34
- ```bash
35
- symi plugins install @symi/voice-call
36
- ```
37
-
38
- 3. 重启 Gateway 网关,然后在 `plugins.entries.<id>.config` 下配置。
39
-
40
- 参见 [Voice Call](/plugins/voice-call) 了解具体的插件示例。
41
-
42
- ## 可用插件(官方)
43
-
44
- - 从 2026.1.15 起 Microsoft Teams 仅作为插件提供;如果使用 Teams,请安装 `@symi/msteams`。
45
- - Memory (Core) — 捆绑的记忆搜索插件(通过 `plugins.slots.memory` 默认启用)
46
- - Memory (LanceDB) — 捆绑的长期记忆插件(自动召回/捕获;设置 `plugins.slots.memory = "memory-lancedb"`)
47
- - [Voice Call](/plugins/voice-call) — `@symi/voice-call`
48
- - [Zalo Personal](/plugins/zalouser) — `@symi/zalouser`
49
- - [Matrix](/channels/matrix) — `@symi/matrix`
50
- - [Nostr](/channels/nostr) — `@symi/nostr`
51
- - [Zalo](/channels/zalo) — `@symi/zalo`
52
- - [Microsoft Teams](/channels/msteams) — `@symi/msteams`
53
- - Google Antigravity OAuth(提供商认证)— 作为 `google-antigravity-auth` 捆绑(默认禁用)
54
- - Gemini CLI OAuth(提供商认证)— 作为 `google-gemini-cli-auth` 捆绑(默认禁用)
55
- - Qwen OAuth(提供商认证)— 作为 `qwen-portal-auth` 捆绑(默认禁用)
56
- - Copilot Proxy(提供商认证)— 本地 VS Code Copilot Proxy 桥接;与内置 `github-copilot` 设备登录不同(捆绑,默认禁用)
57
-
58
- Symi 插件是通过 jiti 在运行时加载的 **TypeScript 模块**。**配置验证不会执行插件代码**;它使用插件清单和 JSON Schema。参见 [插件清单](/plugins/manifest)。
59
-
60
- 插件可以注册:
61
-
62
- - Gateway 网关 RPC 方法
63
- - Gateway 网关 HTTP 处理程序
64
- - 智能体工具
65
- - CLI 命令
66
- - 后台服务
67
- - 可选的配置验证
68
- - **Skills**(通过在插件清单中列出 `skills` 目录)
69
- - **自动回复命令**(不调用 AI 智能体即可执行)
70
-
71
- 插件与 Gateway 网关**在同一进程中**运行,因此将它们视为受信任的代码。
72
- 工具编写指南:[插件智能体工具](/plugins/agent-tools)。
73
-
74
- ## 运行时辅助工具
75
-
76
- 插件可以通过 `api.runtime` 访问选定的核心辅助工具。对于电话 TTS:
77
-
78
- ```ts
79
- const result = await api.runtime.tts.textToSpeechTelephony({
80
- text: "Hello from Symi",
81
- cfg: api.config,
82
- });
83
- ```
84
-
85
- 注意事项:
86
-
87
- - 使用核心 `messages.tts` 配置(OpenAI 或 ElevenLabs)。
88
- - 返回 PCM 音频缓冲区 + 采样率。插件必须为提供商重新采样/编码。
89
- - Edge TTS 不支持电话。
90
-
91
- ## 发现和优先级
92
-
93
- Symi 按顺序扫描:
94
-
95
- 1. 配置路径
96
-
97
- - `plugins.load.paths`(文件或目录)
98
-
99
- 2. 工作区扩展
100
-
101
- - `<workspace>/.symi/extensions/*.ts`
102
- - `<workspace>/.symi/extensions/*/index.ts`
103
-
104
- 3. 全局扩展
105
-
106
- - `~/.symi/extensions/*.ts`
107
- - `~/.symi/extensions/*/index.ts`
108
-
109
- 4. 捆绑扩展(随 Symi 一起发布,**默认禁用**)
110
-
111
- - `<symi>/extensions/*`
112
-
113
- 捆绑插件必须通过 `plugins.entries.<id>.enabled` 或 `symi plugins enable <id>` 显式启用。已安装的插件默认启用,但可以用相同方式禁用。
114
-
115
- 每个插件必须在其根目录中包含 `symi.plugin.json` 文件。如果路径指向文件,则插件根目录是文件的目录,必须包含清单。
116
-
117
- 如果多个插件解析到相同的 id,上述顺序中的第一个匹配项获胜,较低优先级的副本被忽略。
118
-
119
- ### 包集合
120
-
121
- 插件目录可以包含带有 `symi.extensions` 的 `package.json`:
122
-
123
- ```json
124
- {
125
- "name": "my-pack",
126
- "symi": {
127
- "extensions": ["./src/safety.ts", "./src/tools.ts"]
128
- }
129
- }
130
- ```
131
-
132
- 每个条目成为一个插件。如果包列出多个扩展,插件 id 变为 `name/<fileBase>`。
133
-
134
- 如果你的插件导入 npm 依赖,请在该目录中安装它们以便 `node_modules` 可用(`npm install` / `pnpm install`)。
135
-
136
- ### 渠道目录元数据
137
-
138
- 渠道插件可以通过 `symi.channel` 广播新手引导元数据,通过 `symi.install` 广播安装提示。这使核心目录保持无数据。
139
-
140
- 示例:
141
-
142
- ```json
143
- {
144
- "name": "@symi/nextcloud-talk",
145
- "symi": {
146
- "extensions": ["./index.ts"],
147
- "channel": {
148
- "id": "nextcloud-talk",
149
- "label": "Nextcloud Talk",
150
- "selectionLabel": "Nextcloud Talk (self-hosted)",
151
- "docsPath": "/channels/nextcloud-talk",
152
- "docsLabel": "nextcloud-talk",
153
- "blurb": "Self-hosted chat via Nextcloud Talk webhook bots.",
154
- "order": 65,
155
- "aliases": ["nc-talk", "nc"]
156
- },
157
- "install": {
158
- "npmSpec": "@symi/nextcloud-talk",
159
- "localPath": "extensions/nextcloud-talk",
160
- "defaultChoice": "npm"
161
- }
162
- }
163
- }
164
- ```
165
-
166
- Symi 还可以合并**外部渠道目录**(例如,MPM 注册表导出)。将 JSON 文件放在以下位置之一:
167
-
168
- - `~/.symi/mpm/plugins.json`
169
- - `~/.symi/mpm/catalog.json`
170
- - `~/.symi/plugins/catalog.json`
171
-
172
- 或将 `SYMI_PLUGIN_CATALOG_PATHS`(或 `SYMI_MPM_CATALOG_PATHS`)指向一个或多个 JSON 文件(逗号/分号/`PATH` 分隔)。每个文件应包含 `{ "entries": [ { "name": "@scope/pkg", "symi": { "channel": {...}, "install": {...} } } ] }`。
173
-
174
- ## 插件 ID
175
-
176
- 默认插件 id:
177
-
178
- - 包集合:`package.json` 的 `name`
179
- - 独立文件:文件基本名称(`~/.../voice-call.ts` → `voice-call`)
180
-
181
- 如果插件导出 `id`,Symi 会使用它,但当它与配置的 id 不匹配时会发出警告。
182
-
183
- ## 配置
184
-
185
- ```json5
186
- {
187
- plugins: {
188
- enabled: true,
189
- allow: ["voice-call"],
190
- deny: ["untrusted-plugin"],
191
- load: { paths: ["~/Projects/oss/voice-call-extension"] },
192
- entries: {
193
- "voice-call": { enabled: true, config: { provider: "twilio" } },
194
- },
195
- },
196
- }
197
- ```
198
-
199
- 字段:
200
-
201
- - `enabled`:主开关(默认:true)
202
- - `allow`:允许列表(可选)
203
- - `deny`:拒绝列表(可选;deny 优先)
204
- - `load.paths`:额外的插件文件/目录
205
- - `entries.<id>`:每个插件的开关 + 配置
206
-
207
- 配置更改**需要重启 Gateway 网关**。
208
-
209
- 验证规则(严格):
210
-
211
- - `entries`、`allow`、`deny` 或 `slots` 中的未知插件 id 是**错误**。
212
- - 未知的 `channels.<id>` 键是**错误**,除非插件清单声明了渠道 id。
213
- - 插件配置使用嵌入在 `symi.plugin.json`(`configSchema`)中的 JSON Schema 进行验证。
214
- - 如果插件被禁用,其配置会保留并发出**警告**。
215
-
216
- ## 插件槽位(独占类别)
217
-
218
- 某些插件类别是**独占的**(一次只有一个活跃)。使用 `plugins.slots` 选择哪个插件拥有该槽位:
219
-
220
- ```json5
221
- {
222
- plugins: {
223
- slots: {
224
- memory: "memory-core", // or "none" to disable memory plugins
225
- },
226
- },
227
- }
228
- ```
229
-
230
- 如果多个插件声明 `kind: "memory"`,只有选定的那个加载。其他的被禁用并带有诊断信息。
231
-
232
- ## 控制界面(schema + 标签)
233
-
234
- 控制界面使用 `config.schema`(JSON Schema + `uiHints`)来渲染更好的表单。
235
-
236
- Symi 在运行时根据发现的插件增强 `uiHints`:
237
-
238
- - 为 `plugins.entries.<id>` / `.enabled` / `.config` 添加每插件标签
239
- - 在以下位置合并可选的插件提供的配置字段提示:
240
- `plugins.entries.<id>.config.<field>`
241
-
242
- 如果你希望插件配置字段显示良好的标签/占位符(并将密钥标记为敏感),请在插件清单中提供 `uiHints` 和 JSON Schema。
243
-
244
- 示例:
245
-
246
- ```json
247
- {
248
- "id": "my-plugin",
249
- "configSchema": {
250
- "type": "object",
251
- "additionalProperties": false,
252
- "properties": {
253
- "apiKey": { "type": "string" },
254
- "region": { "type": "string" }
255
- }
256
- },
257
- "uiHints": {
258
- "apiKey": { "label": "API Key", "sensitive": true },
259
- "region": { "label": "Region", "placeholder": "us-east-1" }
260
- }
261
- }
262
- ```
263
-
264
- ## CLI
265
-
266
- ```bash
267
- symi plugins list
268
- symi plugins info <id>
269
- symi plugins install <path> # copy a local file/dir into ~/.symi/extensions/<id>
270
- symi plugins install ./extensions/voice-call # relative path ok
271
- symi plugins install ./plugin.tgz # install from a local tarball
272
- symi plugins install ./plugin.zip # install from a local zip
273
- symi plugins install -l ./extensions/voice-call # link (no copy) for dev
274
- symi plugins install @symi/voice-call # install from npm
275
- symi plugins update <id>
276
- symi plugins update --all
277
- symi plugins enable <id>
278
- symi plugins disable <id>
279
- symi plugins doctor
280
- ```
281
-
282
- `plugins update` 仅适用于在 `plugins.installs` 下跟踪的 npm 安装。
283
-
284
- 插件也可以注册自己的顶级命令(例如:`symi voicecall`)。
285
-
286
- ## 插件 API(概述)
287
-
288
- 插件导出以下之一:
289
-
290
- - 函数:`(api) => { ... }`
291
- - 对象:`{ id, name, configSchema, register(api) { ... } }`
292
-
293
- ## 插件钩子
294
-
295
- 插件可以附带钩子并在运行时注册它们。这让插件可以捆绑事件驱动的自动化,而无需单独安装钩子包。
296
-
297
- ### 示例
298
-
299
- ```
300
- import { registerPluginHooksFromDir } from "symi/plugin-sdk";
301
-
302
- export default function register(api) {
303
- registerPluginHooksFromDir(api, "./hooks");
304
- }
305
- ```
306
-
307
- 注意事项:
308
-
309
- - 钩子目录遵循正常的钩子结构(`HOOK.md` + `handler.ts`)。
310
- - 钩子资格规则仍然适用(操作系统/二进制文件/环境/配置要求)。
311
- - 插件管理的钩子在 `symi hooks list` 中显示为 `plugin:<id>`。
312
- - 你不能通过 `symi hooks` 启用/禁用插件管理的钩子;而是启用/禁用插件。
313
-
314
- ## 提供商插件(模型认证)
315
-
316
- 插件可以注册**模型提供商认证**流程,以便用户可以在 Symi 内运行 OAuth 或 API 密钥设置(无需外部脚本)。
317
-
318
- 通过 `api.registerProvider(...)` 注册提供商。每个提供商暴露一个或多个认证方法(OAuth、API 密钥、设备码等)。这些方法驱动:
319
-
320
- - `symi models auth login --provider <id> [--method <id>]`
321
-
322
- 示例:
323
-
324
- ```ts
325
- api.registerProvider({
326
- id: "acme",
327
- label: "AcmeAI",
328
- auth: [
329
- {
330
- id: "oauth",
331
- label: "OAuth",
332
- kind: "oauth",
333
- run: async (ctx) => {
334
- // Run OAuth flow and return auth profiles.
335
- return {
336
- profiles: [
337
- {
338
- profileId: "acme:default",
339
- credential: {
340
- type: "oauth",
341
- provider: "acme",
342
- access: "...",
343
- refresh: "...",
344
- expires: Date.now() + 3600 * 1000,
345
- },
346
- },
347
- ],
348
- defaultModel: "acme/opus-1",
349
- };
350
- },
351
- },
352
- ],
353
- });
354
- ```
355
-
356
- 注意事项:
357
-
358
- - `run` 接收带有 `prompter`、`runtime`、`openUrl` 和 `oauth.createVpsAwareHandlers` 辅助工具的 `ProviderAuthContext`。
359
- - 当需要添加默认模型或提供商配置时返回 `configPatch`。
360
- - 返回 `defaultModel` 以便 `--set-default` 可以更新智能体默认值。
361
-
362
- ### 注册消息渠道
363
-
364
- 插件可以注册**渠道插件**,其行为类似于内置渠道(WhatsApp、Telegram 等)。渠道配置位于 `channels.<id>` 下,由你的渠道插件代码验证。
365
-
366
- ```ts
367
- const myChannel = {
368
- id: "acmechat",
369
- meta: {
370
- id: "acmechat",
371
- label: "AcmeChat",
372
- selectionLabel: "AcmeChat (API)",
373
- docsPath: "/channels/acmechat",
374
- blurb: "demo channel plugin.",
375
- aliases: ["acme"],
376
- },
377
- capabilities: { chatTypes: ["direct"] },
378
- config: {
379
- listAccountIds: (cfg) => Object.keys(cfg.channels?.acmechat?.accounts ?? {}),
380
- resolveAccount: (cfg, accountId) =>
381
- cfg.channels?.acmechat?.accounts?.[accountId ?? "default"] ?? {
382
- accountId,
383
- },
384
- },
385
- outbound: {
386
- deliveryMode: "direct",
387
- sendText: async () => ({ ok: true }),
388
- },
389
- };
390
-
391
- export default function (api) {
392
- api.registerChannel({ plugin: myChannel });
393
- }
394
- ```
395
-
396
- 注意事项:
397
-
398
- - 将配置放在 `channels.<id>` 下(而不是 `plugins.entries`)。
399
- - `meta.label` 用于 CLI/UI 列表中的标签。
400
- - `meta.aliases` 添加用于规范化和 CLI 输入的备用 id。
401
- - `meta.preferOver` 列出当两者都配置时要跳过自动启用的渠道 id。
402
- - `meta.detailLabel` 和 `meta.systemImage` 让 UI 显示更丰富的渠道标签/图标。
403
-
404
- ### 编写新的消息渠道(分步指南)
405
-
406
- 当你想要一个**新的聊天界面**("消息渠道")而不是模型提供商时使用此方法。
407
- 模型提供商文档位于 `/providers/*` 下。
408
-
409
- 1. 选择 id + 配置结构
410
-
411
- - 所有渠道配置位于 `channels.<id>` 下。
412
- - 对于多账户设置,优先使用 `channels.<id>.accounts.<accountId>`。
413
-
414
- 2. 定义渠道元数据
415
-
416
- - `meta.label`、`meta.selectionLabel`、`meta.docsPath`、`meta.blurb` 控制 CLI/UI 列表。
417
- - `meta.docsPath` 应指向像 `/channels/<id>` 这样的文档页面。
418
- - `meta.preferOver` 让插件替换另一个渠道(自动启用优先选择它)。
419
- - `meta.detailLabel` 和 `meta.systemImage` 被 UI 用于详细文本/图标。
420
-
421
- 3. 实现必需的适配器
422
-
423
- - `config.listAccountIds` + `config.resolveAccount`
424
- - `capabilities`(聊天类型、媒体、线程等)
425
- - `outbound.deliveryMode` + `outbound.sendText`(用于基本发送)
426
-
427
- 4. 根据需要添加可选适配器
428
-
429
- - `setup`(向导)、`security`(私信策略)、`status`(健康/诊断)
430
- - `gateway`(启动/停止/登录)、`mentions`、`threading`、`streaming`
431
- - `actions`(消息操作)、`commands`(原生命令行为)
432
-
433
- 5. 在插件中注册渠道
434
-
435
- - `api.registerChannel({ plugin })`
436
-
437
- 最小配置示例:
438
-
439
- ```json5
440
- {
441
- channels: {
442
- acmechat: {
443
- accounts: {
444
- default: { token: "ACME_TOKEN", enabled: true },
445
- },
446
- },
447
- },
448
- }
449
- ```
450
-
451
- 最小渠道插件(仅出站):
452
-
453
- ```ts
454
- const plugin = {
455
- id: "acmechat",
456
- meta: {
457
- id: "acmechat",
458
- label: "AcmeChat",
459
- selectionLabel: "AcmeChat (API)",
460
- docsPath: "/channels/acmechat",
461
- blurb: "AcmeChat messaging channel.",
462
- aliases: ["acme"],
463
- },
464
- capabilities: { chatTypes: ["direct"] },
465
- config: {
466
- listAccountIds: (cfg) => Object.keys(cfg.channels?.acmechat?.accounts ?? {}),
467
- resolveAccount: (cfg, accountId) =>
468
- cfg.channels?.acmechat?.accounts?.[accountId ?? "default"] ?? {
469
- accountId,
470
- },
471
- },
472
- outbound: {
473
- deliveryMode: "direct",
474
- sendText: async ({ text }) => {
475
- // deliver `text` to your channel here
476
- return { ok: true };
477
- },
478
- },
479
- };
480
-
481
- export default function (api) {
482
- api.registerChannel({ plugin });
483
- }
484
- ```
485
-
486
- 加载插件(扩展目录或 `plugins.load.paths`),重启 Gateway 网关,然后在配置中配置 `channels.<id>`。
487
-
488
- ### 智能体工具
489
-
490
- 参见专门指南:[插件智能体工具](/plugins/agent-tools)。
491
-
492
- ### 注册 Gateway 网关 RPC 方法
493
-
494
- ```ts
495
- export default function (api) {
496
- api.registerGatewayMethod("myplugin.status", ({ respond }) => {
497
- respond(true, { ok: true });
498
- });
499
- }
500
- ```
501
-
502
- ### 注册 CLI 命令
503
-
504
- ```ts
505
- export default function (api) {
506
- api.registerCli(
507
- ({ program }) => {
508
- program.command("mycmd").action(() => {
509
- console.log("Hello");
510
- });
511
- },
512
- { commands: ["mycmd"] },
513
- );
514
- }
515
- ```
516
-
517
- ### 注册自动回复命令
518
-
519
- 插件可以注册自定义斜杠命令,**无需调用 AI 智能体**即可执行。这对于切换命令、状态检查或不需要 LLM 处理的快速操作很有用。
520
-
521
- ```ts
522
- export default function (api) {
523
- api.registerCommand({
524
- name: "mystatus",
525
- description: "Show plugin status",
526
- handler: (ctx) => ({
527
- text: `Plugin is running! Channel: ${ctx.channel}`,
528
- }),
529
- });
530
- }
531
- ```
532
-
533
- 命令处理程序上下文:
534
-
535
- - `senderId`:发送者的 ID(如可用)
536
- - `channel`:发送命令的渠道
537
- - `isAuthorizedSender`:发送者是否是授权用户
538
- - `args`:命令后传递的参数(如果 `acceptsArgs: true`)
539
- - `commandBody`:完整的命令文本
540
- - `config`:当前 Symi 配置
541
-
542
- 命令选项:
543
-
544
- - `name`:命令名称(不带前导 `/`)
545
- - `description`:命令列表中显示的帮助文本
546
- - `acceptsArgs`:命令是否接受参数(默认:false)。如果为 false 且提供了参数,命令不会匹配,消息会传递给其他处理程序
547
- - `requireAuth`:是否需要授权发送者(默认:true)
548
- - `handler`:返回 `{ text: string }` 的函数(可以是异步的)
549
-
550
- 带授权和参数的示例:
551
-
552
- ```ts
553
- api.registerCommand({
554
- name: "setmode",
555
- description: "Set plugin mode",
556
- acceptsArgs: true,
557
- requireAuth: true,
558
- handler: async (ctx) => {
559
- const mode = ctx.args?.trim() || "default";
560
- await saveMode(mode);
561
- return { text: `Mode set to: ${mode}` };
562
- },
563
- });
564
- ```
565
-
566
- 注意事项:
567
-
568
- - 插件命令在内置命令和 AI 智能体**之前**处理
569
- - 命令全局注册,适用于所有渠道
570
- - 命令名称不区分大小写(`/MyStatus` 匹配 `/mystatus`)
571
- - 命令名称必须以字母开头,只能包含字母、数字、连字符和下划线
572
- - 保留的命令名称(如 `help`、`status`、`reset` 等)不能被插件覆盖
573
- - 跨插件的重复命令注册将失败并显示诊断错误
574
-
575
- ### 注册后台服务
576
-
577
- ```ts
578
- export default function (api) {
579
- api.registerService({
580
- id: "my-service",
581
- start: () => api.logger.info("ready"),
582
- stop: () => api.logger.info("bye"),
583
- });
584
- }
585
- ```
586
-
587
- ## 命名约定
588
-
589
- - Gateway 网关方法:`pluginId.action`(例如:`voicecall.status`)
590
- - 工具:`snake_case`(例如:`voice_call`)
591
- - CLI 命令:kebab 或 camel,但避免与核心命令冲突
592
-
593
- ## Skills
594
-
595
- 插件可以在仓库中附带 Skills(`skills/<name>/SKILL.md`)。
596
- 使用 `plugins.entries.<id>.enabled`(或其他配置门控)启用它,并确保它存在于你的工作区/托管 Skills 位置。
597
-
598
- ## 分发(npm)
599
-
600
- 推荐的打包方式:
601
-
602
- - 主包:`symi`(本仓库)
603
- - 插件:`@symi/*` 下的独立 npm 包(例如:`@symi/voice-call`)
604
-
605
- 发布契约:
606
-
607
- - 插件 `package.json` 必须包含带有一个或多个入口文件的 `symi.extensions`。
608
- - 入口文件可以是 `.js` 或 `.ts`(jiti 在运行时加载 TS)。
609
- - `symi plugins install <npm-spec>` 使用 `npm pack`,提取到 `~/.symi/extensions/<id>/`,并在配置中启用它。
610
- - 配置键稳定性:作用域包被规范化为 `plugins.entries.*` 的**无作用域** id。
611
-
612
- ## 示例插件:Voice Call
613
-
614
- 本仓库包含一个语音通话插件(Twilio 或 log 回退):
615
-
616
- - 源码:`extensions/voice-call`
617
- - Skills:`skills/voice-call`
618
- - CLI:`symi voicecall start|status`
619
- - 工具:`voice_call`
620
- - RPC:`voicecall.start`、`voicecall.status`
621
- - 配置(twilio):`provider: "twilio"` + `twilio.accountSid/authToken/from`(可选 `statusCallbackUrl`、`twimlUrl`)
622
- - 配置(dev):`provider: "log"`(无网络)
623
-
624
- 参见 [Voice Call](/plugins/voice-call) 和 `extensions/voice-call/README.md` 了解设置和用法。
625
-
626
- ## 安全注意事项
627
-
628
- 插件与 Gateway 网关在同一进程中运行。将它们视为受信任的代码:
629
-
630
- - 只安装你信任的插件。
631
- - 优先使用 `plugins.allow` 允许列表。
632
- - 更改后重启 Gateway 网关。
633
-
634
- ## 测试插件
635
-
636
- 插件可以(也应该)附带测试:
637
-
638
- - 仓库内插件可以在 `src/**` 下保留 Vitest 测试(例如:`src/plugins/voice-call.plugin.test.ts`)。
639
- - 单独发布的插件应运行自己的 CI(lint/构建/测试)并验证 `symi.extensions` 指向构建的入口点(`dist/index.js`)。
@@ -1,28 +0,0 @@
1
- ---
2
- read_when:
3
- - 在任何渠道中处理表情回应相关工作
4
- summary: 跨渠道共享的表情回应语义
5
- title: 表情回应
6
- x-i18n:
7
- generated_at: "2026-02-01T21:42:41Z"
8
- model: claude-opus-4-5
9
- provider: pi
10
- source_hash: 0f11bff9adb4bd02604f96ebe2573a623702796732b6e17dfeda399cb7be0fa6
11
- source_path: tools/reactions.md
12
- workflow: 15
13
- ---
14
-
15
- # 表情回应工具
16
-
17
- 跨渠道共享的表情回应语义:
18
-
19
- - 添加表情回应时,`emoji` 为必填项。
20
- - `emoji=""` 在支持的情况下移除机器人的表情回应。
21
- - `remove: true` 在支持的情况下移除指定的表情(需要提供 `emoji`)。
22
-
23
- 渠道说明:
24
-
25
- - **Google Chat**:空 `emoji` 移除应用在该消息上的表情回应;`remove: true` 仅移除指定的表情。
26
- - **Telegram**:空 `emoji` 移除机器人的表情回应;`remove: true` 同样移除表情回应,但工具验证仍要求 `emoji` 为非空值。
27
- - **WhatsApp**:空 `emoji` 移除机器人的表情回应;`remove: true` 映射为空 emoji(仍需提供 `emoji`)。
28
- - **Signal**:当启用 `channels.signal.reactionNotifications` 时,收到的表情回应通知会触发系统事件。