@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,323 +0,0 @@
1
- ---
2
- read_when:
3
- - 设计 exec 主机路由或 exec 批准
4
- - 实现节点运行器 + UI IPC
5
- - 添加 exec 主机安全模式和斜杠命令
6
- summary: 重构计划:exec 主机路由、节点批准和无头运行器
7
- title: Exec 主机重构
8
- x-i18n:
9
- generated_at: "2026-02-03T07:54:43Z"
10
- model: claude-opus-4-5
11
- provider: pi
12
- source_hash: 53a9059cbeb1f3f1dbb48c2b5345f88ca92372654fef26f8481e651609e45e3a
13
- source_path: refactor/exec-host.md
14
- workflow: 15
15
- ---
16
-
17
- # Exec 主机重构计划
18
-
19
- ## 目标
20
-
21
- - 添加 `exec.host` + `exec.security` 以在**沙箱**、**Gateway 网关**和**节点**之间路由执行。
22
- - 保持默认**安全**:除非明确启用,否则不进行跨主机执行。
23
- - 将执行拆分为**无头运行器服务**,通过本地 IPC 连接可选的 UI(macOS 应用)。
24
- - 提供**每智能体**策略、允许列表、询问模式和节点绑定。
25
- - 支持*与*或*不与*允许列表一起使用的**询问模式**。
26
- - 跨平台:Unix socket + token 认证(macOS/Linux/Windows 一致性)。
27
-
28
- ## 非目标
29
-
30
- - 无遗留允许列表迁移或遗留 schema 支持。
31
- - 节点 exec 无 PTY/流式传输(仅聚合输出)。
32
- - 除现有 Bridge + Gateway 网关外无新网络层。
33
-
34
- ## 决定(已锁定)
35
-
36
- - **配置键:** `exec.host` + `exec.security`(允许每智能体覆盖)。
37
- - **提升:** 保留 `/elevated` 作为 Gateway 网关完全访问的别名。
38
- - **询问默认:** `on-miss`。
39
- - **批准存储:** `~/.symi/exec-approvals.json`(JSON,无遗留迁移)。
40
- - **运行器:** 无头系统服务;UI 应用托管 Unix socket 用于批准。
41
- - **节点身份:** 使用现有 `nodeId`。
42
- - **Socket 认证:** Unix socket + token(跨平台);如需要稍后拆分。
43
- - **节点主机状态:** `~/.symi/node.json`(节点 id + 配对 token)。
44
- - **macOS exec 主机:** 在 macOS 应用内运行 `system.run`;节点主机服务通过本地 IPC 转发请求。
45
- - **无 XPC helper:** 坚持使用 Unix socket + token + 对等检查。
46
-
47
- ## 关键概念
48
-
49
- ### 主机
50
-
51
- - `sandbox`:Docker exec(当前行为)。
52
- - `gateway`:在 Gateway 网关主机上执行。
53
- - `node`:通过 Bridge 在节点运行器上执行(`system.run`)。
54
-
55
- ### 安全模式
56
-
57
- - `deny`:始终阻止。
58
- - `allowlist`:仅允许匹配项。
59
- - `full`:允许一切(等同于提升模式)。
60
-
61
- ### 询问模式
62
-
63
- - `off`:从不询问。
64
- - `on-miss`:仅在允许列表不匹配时询问。
65
- - `always`:每次都询问。
66
-
67
- 询问**独立于**允许列表;允许列表可与 `always` 或 `on-miss` 一起使用。
68
-
69
- ### 策略解析(每次执行)
70
-
71
- 1. 解析 `exec.host`(工具参数 → 智能体覆盖 → 全局默认)。
72
- 2. 解析 `exec.security` 和 `exec.ask`(相同优先级)。
73
- 3. 如果主机是 `sandbox`,继续本地沙箱执行。
74
- 4. 如果主机是 `gateway` 或 `node`,在该主机上应用安全 + 询问策略。
75
-
76
- ## 默认安全
77
-
78
- - 默认 `exec.host = sandbox`。
79
- - `gateway` 和 `node` 默认 `exec.security = deny`。
80
- - 默认 `exec.ask = on-miss`(仅在安全允许时相关)。
81
- - 如果未设置节点绑定,**智能体可以定向任何节点**,但仅在策略允许时。
82
-
83
- ## 配置表面
84
-
85
- ### 工具参数
86
-
87
- - `exec.host`(可选):`sandbox | gateway | node`。
88
- - `exec.security`(可选):`deny | allowlist | full`。
89
- - `exec.ask`(可选):`off | on-miss | always`。
90
- - `exec.node`(可选):当 `host=node` 时使用的节点 id/名称。
91
-
92
- ### 配置键(全局)
93
-
94
- - `tools.exec.host`
95
- - `tools.exec.security`
96
- - `tools.exec.ask`
97
- - `tools.exec.node`(默认节点绑定)
98
-
99
- ### 配置键(每智能体)
100
-
101
- - `agents.list[].tools.exec.host`
102
- - `agents.list[].tools.exec.security`
103
- - `agents.list[].tools.exec.ask`
104
- - `agents.list[].tools.exec.node`
105
-
106
- ### 别名
107
-
108
- - `/elevated on` = 为智能体会话设置 `tools.exec.host=gateway`、`tools.exec.security=full`。
109
- - `/elevated off` = 为智能体会话恢复之前的 exec 设置。
110
-
111
- ## 批准存储(JSON)
112
-
113
- 路径:`~/.symi/exec-approvals.json`
114
-
115
- 用途:
116
-
117
- - **执行主机**(Gateway 网关或节点运行器)的本地策略 + 允许列表。
118
- - 无 UI 可用时的询问回退。
119
- - UI 客户端的 IPC 凭证。
120
-
121
- 建议的 schema(v1):
122
-
123
- ```json
124
- {
125
- "version": 1,
126
- "socket": {
127
- "path": "~/.symi/exec-approvals.sock",
128
- "token": "base64-opaque-token"
129
- },
130
- "defaults": {
131
- "security": "deny",
132
- "ask": "on-miss",
133
- "askFallback": "deny"
134
- },
135
- "agents": {
136
- "agent-id-1": {
137
- "security": "allowlist",
138
- "ask": "on-miss",
139
- "allowlist": [
140
- {
141
- "pattern": "~/Projects/**/bin/rg",
142
- "lastUsedAt": 0,
143
- "lastUsedCommand": "rg -n TODO",
144
- "lastResolvedPath": "/Users/user/Projects/.../bin/rg"
145
- }
146
- ]
147
- }
148
- }
149
- }
150
- ```
151
-
152
- 注意事项:
153
-
154
- - 无遗留允许列表格式。
155
- - `askFallback` 仅在需要 `ask` 且无法访问 UI 时应用。
156
- - 文件权限:`0600`。
157
-
158
- ## 运行器服务(无头)
159
-
160
- ### 角色
161
-
162
- - 在本地强制执行 `exec.security` + `exec.ask`。
163
- - 执行系统命令并返回输出。
164
- - 为 exec 生命周期发出 Bridge 事件(可选但推荐)。
165
-
166
- ### 服务生命周期
167
-
168
- - macOS 上的 Launchd/daemon;Linux/Windows 上的系统服务。
169
- - 批准 JSON 是执行主机本地的。
170
- - UI 托管本地 Unix socket;运行器按需连接。
171
-
172
- ## UI 集成(macOS 应用)
173
-
174
- ### IPC
175
-
176
- - Unix socket 位于 `~/.symi/exec-approvals.sock`(0600)。
177
- - Token 存储在 `exec-approvals.json`(0600)中。
178
- - 对等检查:仅同 UID。
179
- - 挑战/响应:nonce + HMAC(token, request-hash) 防止重放。
180
- - 短 TTL(例如 10s)+ 最大负载 + 速率限制。
181
-
182
- ### 询问流程(macOS 应用 exec 主机)
183
-
184
- 1. 节点服务从 Gateway 网关接收 `system.run`。
185
- 2. 节点服务连接到本地 socket 并发送提示/exec 请求。
186
- 3. 应用验证对等 + token + HMAC + TTL,然后在需要时显示对话框。
187
- 4. 应用在 UI 上下文中执行命令并返回输出。
188
- 5. 节点服务将输出返回给 Gateway 网关。
189
-
190
- 如果 UI 缺失:
191
-
192
- - 应用 `askFallback`(`deny|allowlist|full`)。
193
-
194
- ### 图示(SCI)
195
-
196
- ```
197
- Agent -> Gateway -> Bridge -> Node Service (TS)
198
- | IPC (UDS + token + HMAC + TTL)
199
- v
200
- Mac App (UI + TCC + system.run)
201
- ```
202
-
203
- ## 节点身份 + 绑定
204
-
205
- - 使用 Bridge 配对中的现有 `nodeId`。
206
- - 绑定模型:
207
- - `tools.exec.node` 将智能体限制为特定节点。
208
- - 如果未设置,智能体可以选择任何节点(策略仍强制执行默认值)。
209
- - 节点选择解析:
210
- - `nodeId` 精确匹配
211
- - `displayName`(规范化)
212
- - `remoteIp`
213
- - `nodeId` 前缀(>= 6 字符)
214
-
215
- ## 事件
216
-
217
- ### 谁看到事件
218
-
219
- - 系统事件是**每会话**的,在下一个提示时显示给智能体。
220
- - 存储在 Gateway 网关内存队列中(`enqueueSystemEvent`)。
221
-
222
- ### 事件文本
223
-
224
- - `Exec started (node=<id>, id=<runId>)`
225
- - `Exec finished (node=<id>, id=<runId>, code=<code>)` + 可选输出尾部
226
- - `Exec denied (node=<id>, id=<runId>, <reason>)`
227
-
228
- ### 传输
229
-
230
- 选项 A(推荐):
231
-
232
- - 运行器发送 Bridge `event` 帧 `exec.started` / `exec.finished`。
233
- - Gateway 网关 `handleBridgeEvent` 将这些映射到 `enqueueSystemEvent`。
234
-
235
- 选项 B:
236
-
237
- - Gateway 网关 `exec` 工具直接处理生命周期(仅同步)。
238
-
239
- ## Exec 流程
240
-
241
- ### 沙箱主机
242
-
243
- - 现有 `exec` 行为(Docker 或无沙箱时的主机)。
244
- - 仅在非沙箱模式下支持 PTY。
245
-
246
- ### Gateway 网关主机
247
-
248
- - Gateway 网关进程在其自己的机器上执行。
249
- - 强制执行本地 `exec-approvals.json`(安全/询问/允许列表)。
250
-
251
- ### 节点主机
252
-
253
- - Gateway 网关调用 `node.invoke` 配合 `system.run`。
254
- - 运行器强制执行本地批准。
255
- - 运行器返回聚合的 stdout/stderr。
256
- - 可选的 Bridge 事件用于开始/完成/拒绝。
257
-
258
- ## 输出上限
259
-
260
- - 组合 stdout+stderr 上限为 **200k**;为事件保留**尾部 20k**。
261
- - 使用清晰的后缀截断(例如 `"… (truncated)"`)。
262
-
263
- ## 斜杠命令
264
-
265
- - `/exec host=<sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>`
266
- - 每智能体、每会话覆盖;除非通过配置保存,否则非持久。
267
- - `/elevated on|off|ask|full` 仍然是 `host=gateway security=full` 的快捷方式(`full` 跳过批准)。
268
-
269
- ## 跨平台方案
270
-
271
- - 运行器服务是可移植的执行目标。
272
- - UI 是可选的;如果缺失,应用 `askFallback`。
273
- - Windows/Linux 支持相同的批准 JSON + socket 协议。
274
-
275
- ## 实现阶段
276
-
277
- ### 阶段 1:配置 + exec 路由
278
-
279
- - 为 `exec.host`、`exec.security`、`exec.ask`、`exec.node` 添加配置 schema。
280
- - 更新工具管道以遵守 `exec.host`。
281
- - 添加 `/exec` 斜杠命令并保留 `/elevated` 别名。
282
-
283
- ### 阶段 2:批准存储 + Gateway 网关强制执行
284
-
285
- - 实现 `exec-approvals.json` 读取器/写入器。
286
- - 为 `gateway` 主机强制执行允许列表 + 询问模式。
287
- - 添加输出上限。
288
-
289
- ### 阶段 3:节点运行器强制执行
290
-
291
- - 更新节点运行器以强制执行允许列表 + 询问。
292
- - 添加 Unix socket 提示桥接到 macOS 应用 UI。
293
- - 连接 `askFallback`。
294
-
295
- ### 阶段 4:事件
296
-
297
- - 为 exec 生命周期添加节点 → Gateway 网关 Bridge 事件。
298
- - 映射到 `enqueueSystemEvent` 用于智能体提示。
299
-
300
- ### 阶段 5:UI 完善
301
-
302
- - Mac 应用:允许列表编辑器、每智能体切换器、询问策略 UI。
303
- - 节点绑定控制(可选)。
304
-
305
- ## 测试计划
306
-
307
- - 单元测试:允许列表匹配(glob + 不区分大小写)。
308
- - 单元测试:策略解析优先级(工具参数 → 智能体覆盖 → 全局)。
309
- - 集成测试:节点运行器拒绝/允许/询问流程。
310
- - Bridge 事件测试:节点事件 → 系统事件路由。
311
-
312
- ## 开放风险
313
-
314
- - UI 不可用:确保遵守 `askFallback`。
315
- - 长时间运行的命令:依赖超时 + 输出上限。
316
- - 多节点歧义:除非有节点绑定或显式节点参数,否则报错。
317
-
318
- ## 相关文档
319
-
320
- - [Exec 工具](/tools/exec)
321
- - [执行批准](/tools/exec-approvals)
322
- - [节点](/nodes)
323
- - [提升模式](/tools/elevated)
@@ -1,90 +0,0 @@
1
- ---
2
- description: Track outbound session mirroring refactor notes, decisions, tests, and open items.
3
- title: 出站会话镜像重构(Issue
4
- x-i18n:
5
- generated_at: "2026-02-03T07:53:51Z"
6
- model: claude-opus-4-5
7
- provider: pi
8
- source_hash: b88a72f36f7b6d8a71fde9d014c0a87e9a8b8b0d449b67119cf3b6f414fa2b81
9
- source_path: refactor/outbound-session-mirroring.md
10
- workflow: 15
11
- ---
12
-
13
- # 出站会话镜像重构(Issue #1520)
14
-
15
- ## 状态
16
-
17
- - 进行中。
18
- - 核心 + 插件渠道路由已更新以支持出站镜像。
19
- - Gateway 网关发送现在在省略 sessionKey 时派生目标会话。
20
-
21
- ## 背景
22
-
23
- 出站发送被镜像到*当前*智能体会话(工具会话键)而不是目标渠道会话。入站路由使用渠道/对等方会话键,因此出站响应落在错误的会话中,首次联系的目标通常缺少会话条目。
24
-
25
- ## 目标
26
-
27
- - 将出站消息镜像到目标渠道会话键。
28
- - 在缺失时为出站创建会话条目。
29
- - 保持线程/话题作用域与入站会话键对齐。
30
- - 涵盖核心渠道加内置扩展。
31
-
32
- ## 实现摘要
33
-
34
- - 新的出站会话路由辅助器:
35
- - `src/infra/outbound/outbound-session.ts`
36
- - `resolveOutboundSessionRoute` 使用 `buildAgentSessionKey`(dmScope + identityLinks)构建目标 sessionKey。
37
- - `ensureOutboundSessionEntry` 通过 `recordSessionMetaFromInbound` 写入最小的 `MsgContext`。
38
- - `runMessageAction`(发送)派生目标 sessionKey 并将其传递给 `executeSendAction` 进行镜像。
39
- - `message-tool` 不再直接镜像;它只从当前会话键解析 agentId。
40
- - 插件发送路径使用派生的 sessionKey 通过 `appendAssistantMessageToSessionTranscript` 进行镜像。
41
- - Gateway 网关发送在未提供时派生目标会话键(默认智能体),并确保会话条目。
42
-
43
- ## 线程/话题处理
44
-
45
- - Slack:replyTo/threadId -> `resolveThreadSessionKeys`(后缀)。
46
- - Telegram:话题 ID 通过 `buildTelegramGroupPeerId` 映射到 `chatId:topic:<id>`。
47
-
48
- ## 涵盖的扩展
49
-
50
- - Matrix、MS Teams、Mattermost、BlueBubbles、Nextcloud Talk、Zalo、Zalo Personal、Nostr、Tlon。
51
- - 注意:
52
- - Mattermost 目标现在为私信会话键路由去除 `@`。
53
- - Zalo Personal 对 1:1 目标使用私信对等方类型(仅当存在 `group:` 时才使用群组)。
54
- - BlueBubbles 群组目标去除 `chat_*` 前缀以匹配入站会话键。
55
- - Slack 自动线程镜像不区分大小写地匹配频道 id。
56
- - Gateway 网关发送在镜像前将提供的会话键转换为小写。
57
-
58
- ## 决策
59
-
60
- - **Gateway 网关发送会话派生**:如果提供了 `sessionKey`,则使用它。如果省略,从目标 + 默认智能体派生 sessionKey 并镜像到那里。
61
- - **会话条目创建**:始终使用 `recordSessionMetaFromInbound`,`Provider/From/To/ChatType/AccountId/Originating*` 与入站格式对齐。
62
- - **目标规范化**:出站路由在可用时使用解析后的目标(`resolveChannelTarget` 之后)。
63
- - **会话键大小写**:在写入和迁移期间将会话键规范化为小写。
64
-
65
- ## 添加/更新的测试
66
-
67
- - `src/infra/outbound/outbound-session.test.ts`
68
- - Slack 线程会话键。
69
- - Telegram 话题会话键。
70
- - `src/agents/tools/message-tool.test.ts`
71
- - 从会话键派生 agentId(不传递 sessionKey)。
72
- - `src/gateway/server-methods/send.test.ts`
73
- - 在省略时派生会话键并创建会话条目。
74
-
75
- ## 待处理项目 / 后续跟进
76
-
77
- - 语音通话插件使用自定义的 `voice:<phone>` 会话键。出站映射在这里没有标准化;如果 message-tool 应该支持语音通话发送,请添加显式映射。
78
- - 确认是否有任何外部插件使用内置集之外的非标准 `From/To` 格式。
79
-
80
- ## 涉及的文件
81
-
82
- - `src/infra/outbound/outbound-session.ts`
83
- - `src/infra/outbound/outbound-send-service.ts`
84
- - `src/infra/outbound/message-action-runner.ts`
85
- - `src/agents/tools/message-tool.ts`
86
- - `src/gateway/server-methods/send.ts`
87
- - 测试:
88
- - `src/infra/outbound/outbound-session.test.ts`
89
- - `src/agents/tools/message-tool.test.ts`
90
- - `src/gateway/server-methods/send.test.ts`
@@ -1,221 +0,0 @@
1
- ---
2
- read_when:
3
- - 定义或重构插件架构
4
- - 将渠道连接器迁移到插件 SDK/运行时
5
- summary: 计划:为所有消息连接器提供一套统一的插件 SDK + 运行时
6
- title: 插件 SDK 重构
7
- x-i18n:
8
- generated_at: "2026-02-01T21:36:45Z"
9
- model: claude-opus-4-5
10
- provider: pi
11
- source_hash: d1964e2e47a19ee1d42ddaaa9cf1293c80bb0be463b049dc8468962f35bb6cb0
12
- source_path: refactor/plugin-sdk.md
13
- workflow: 15
14
- ---
15
-
16
- # 插件 SDK + 运行时重构计划
17
-
18
- 目标:每个消息连接器都是一个插件(内置或外部),使用统一稳定的 API。
19
- 插件不直接从 `src/**` 导入任何内容。所有依赖项均通过 SDK 或运行时获取。
20
-
21
- ## 为什么现在做
22
-
23
- - 当前连接器混用多种模式:直接导入核心模块、仅 dist 的桥接方式以及自定义辅助函数。
24
- - 这使得升级变得脆弱,并阻碍了干净的外部插件接口。
25
-
26
- ## 目标架构(两层)
27
-
28
- ### 1)插件 SDK(编译时,稳定,可发布)
29
-
30
- 范围:类型、辅助函数和配置工具。无运行时状态,无副作用。
31
-
32
- 内容(示例):
33
-
34
- - 类型:`ChannelPlugin`、适配器、`ChannelMeta`、`ChannelCapabilities`、`ChannelDirectoryEntry`。
35
- - 配置辅助函数:`buildChannelConfigSchema`、`setAccountEnabledInConfigSection`、`deleteAccountFromConfigSection`、
36
- `applyAccountNameToChannelSection`。
37
- - 配对辅助函数:`PAIRING_APPROVED_MESSAGE`、`formatPairingApproveHint`。
38
- - 新手引导辅助函数:`promptChannelAccessConfig`、`addWildcardAllowFrom`、新手引导类型。
39
- - 工具参数辅助函数:`createActionGate`、`readStringParam`、`readNumberParam`、`readReactionParams`、`jsonResult`。
40
- - 文档链接辅助函数:`formatDocsLink`。
41
-
42
- 交付方式:
43
-
44
- - 以 `symi/plugin-sdk` 发布(或从核心以 `symi/plugin-sdk` 导出)。
45
- - 使用语义化版本控制,提供明确的稳定性保证。
46
-
47
- ### 2)插件运行时(执行层,注入式)
48
-
49
- 范围:所有涉及核心运行时行为的内容。
50
- 通过 `SymiPluginApi.runtime` 访问,确保插件永远不会导入 `src/**`。
51
-
52
- 建议的接口(最小但完整):
53
-
54
- ```ts
55
- export type PluginRuntime = {
56
- channel: {
57
- text: {
58
- chunkMarkdownText(text: string, limit: number): string[];
59
- resolveTextChunkLimit(cfg: SymiConfig, channel: string, accountId?: string): number;
60
- hasControlCommand(text: string, cfg: SymiConfig): boolean;
61
- };
62
- reply: {
63
- dispatchReplyWithBufferedBlockDispatcher(params: {
64
- ctx: unknown;
65
- cfg: unknown;
66
- dispatcherOptions: {
67
- deliver: (payload: {
68
- text?: string;
69
- mediaUrls?: string[];
70
- mediaUrl?: string;
71
- }) => void | Promise<void>;
72
- onError?: (err: unknown, info: { kind: string }) => void;
73
- };
74
- }): Promise<void>;
75
- createReplyDispatcherWithTyping?: unknown; // adapter for Teams-style flows
76
- };
77
- routing: {
78
- resolveAgentRoute(params: {
79
- cfg: unknown;
80
- channel: string;
81
- accountId: string;
82
- peer: { kind: RoutePeerKind; id: string };
83
- }): { sessionKey: string; accountId: string };
84
- };
85
- pairing: {
86
- buildPairingReply(params: { channel: string; idLine: string; code: string }): string;
87
- readAllowFromStore(channel: string): Promise<string[]>;
88
- upsertPairingRequest(params: {
89
- channel: string;
90
- id: string;
91
- meta?: { name?: string };
92
- }): Promise<{ code: string; created: boolean }>;
93
- };
94
- media: {
95
- fetchRemoteMedia(params: { url: string }): Promise<{ buffer: Buffer; contentType?: string }>;
96
- saveMediaBuffer(
97
- buffer: Uint8Array,
98
- contentType: string | undefined,
99
- direction: "inbound" | "outbound",
100
- maxBytes: number,
101
- ): Promise<{ path: string; contentType?: string }>;
102
- };
103
- mentions: {
104
- buildMentionRegexes(cfg: SymiConfig, agentId?: string): RegExp[];
105
- matchesMentionPatterns(text: string, regexes: RegExp[]): boolean;
106
- };
107
- groups: {
108
- resolveGroupPolicy(
109
- cfg: SymiConfig,
110
- channel: string,
111
- accountId: string,
112
- groupId: string,
113
- ): {
114
- allowlistEnabled: boolean;
115
- allowed: boolean;
116
- groupConfig?: unknown;
117
- defaultConfig?: unknown;
118
- };
119
- resolveRequireMention(
120
- cfg: SymiConfig,
121
- channel: string,
122
- accountId: string,
123
- groupId: string,
124
- override?: boolean,
125
- ): boolean;
126
- };
127
- debounce: {
128
- createInboundDebouncer<T>(opts: {
129
- debounceMs: number;
130
- buildKey: (v: T) => string | null;
131
- shouldDebounce: (v: T) => boolean;
132
- onFlush: (entries: T[]) => Promise<void>;
133
- onError?: (err: unknown) => void;
134
- }): { push: (v: T) => void; flush: () => Promise<void> };
135
- resolveInboundDebounceMs(cfg: SymiConfig, channel: string): number;
136
- };
137
- commands: {
138
- resolveCommandAuthorizedFromAuthorizers(params: {
139
- useAccessGroups: boolean;
140
- authorizers: Array<{ configured: boolean; allowed: boolean }>;
141
- }): boolean;
142
- };
143
- };
144
- logging: {
145
- shouldLogVerbose(): boolean;
146
- getChildLogger(name: string): PluginLogger;
147
- };
148
- state: {
149
- resolveStateDir(cfg: SymiConfig): string;
150
- };
151
- };
152
- ```
153
-
154
- 备注:
155
-
156
- - 运行时是访问核心行为的唯一方式。
157
- - SDK 故意保持小巧和稳定。
158
- - 每个运行时方法都映射到现有的核心实现(无重复代码)。
159
-
160
- ## 迁移计划(分阶段,安全)
161
-
162
- ### 阶段 0:基础搭建
163
-
164
- - 引入 `symi/plugin-sdk`。
165
- - 在 `SymiPluginApi` 中添加带有上述接口的 `api.runtime`。
166
- - 在过渡期内保留现有导入方式(添加弃用警告)。
167
-
168
- ### 阶段 1:桥接清理(低风险)
169
-
170
- - 用 `api.runtime` 替换每个扩展中的 `core-bridge.ts`。
171
- - 优先迁移 BlueBubbles、Zalo、Zalo Personal(已经接近完成)。
172
- - 移除重复的桥接代码。
173
-
174
- ### 阶段 2:轻度直接导入的插件
175
-
176
- - 将 Matrix 迁移到 SDK + 运行时。
177
- - 验证新手引导、目录、群组提及逻辑。
178
-
179
- ### 阶段 3:重度直接导入的插件
180
-
181
- - 迁移 Microsoft Teams(使用运行时辅助函数最多的插件)。
182
- - 确保回复/正在输入的语义与当前行为一致。
183
-
184
- ### 阶段 4:iMessage 插件化
185
-
186
- - 将 iMessage 移入 `extensions/imessage`。
187
- - 用 `api.runtime` 替换直接的核心调用。
188
- - 保持配置键、CLI 行为和文档不变。
189
-
190
- ### 阶段 5:强制执行
191
-
192
- - 添加 lint 规则 / CI 检查:禁止 `extensions/**` 从 `src/**` 导入。
193
- - 添加插件 SDK/版本兼容性检查(运行时 + SDK 语义化版本)。
194
-
195
- ## 兼容性与版本控制
196
-
197
- - SDK:语义化版本控制,已发布,变更有文档记录。
198
- - 运行时:按核心版本进行版本控制。添加 `api.runtime.version`。
199
- - 插件声明所需的运行时版本范围(例如 `symiRuntime: ">=2026.2.0"`)。
200
-
201
- ## 测试策略
202
-
203
- - 适配器级单元测试(使用真实核心实现验证运行时函数)。
204
- - 每个插件的黄金测试:确保行为无偏差(路由、配对、允许列表、提及过滤)。
205
- - CI 中使用单个端到端插件示例(安装 + 运行 + 冒烟测试)。
206
-
207
- ## 待解决问题
208
-
209
- - SDK 类型托管在哪里:独立包还是核心导出?
210
- - 运行时类型分发:在 SDK 中(仅类型)还是在核心中?
211
- - 如何为内置插件与外部插件暴露文档链接?
212
- - 过渡期间是否允许仓库内插件有限地直接导入核心模块?
213
-
214
- ## 成功标准
215
-
216
- - 所有渠道连接器都是使用 SDK + 运行时的插件。
217
- - `extensions/**` 不再从 `src/**` 导入。
218
- - 新连接器模板仅依赖 SDK + 运行时。
219
- - 外部插件可以在无需访问核心源码的情况下进行开发和更新。
220
-
221
- 相关文档:[插件](/tools/plugin)、[渠道](/channels/index)、[配置](/gateway/configuration)。