@symerian/symi 3.0.15 → 3.0.17

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 (556) hide show
  1. package/dist/{accounts-N0UgZgns.js → accounts-BJ5OAcgH.js} +1 -1
  2. package/dist/{accounts-CE_sQGRE.js → accounts-DCUXUii1.js} +1 -1
  3. package/dist/{accounts-CqcULMME.js → accounts-pUtPOtfY.js} +1 -1
  4. package/dist/{acp-cli-BIIJl8pr.js → acp-cli-Bd7zTGMG.js} +11 -11
  5. package/dist/{acp-cli-PZMyZ0Mk.js → acp-cli-CAJwsxMf.js} +2 -2
  6. package/dist/{agent-B1-z-xtF.js → agent-CgYKcblr.js} +15 -15
  7. package/dist/{agent-BB0akW1h.js → agent-PKbBK0s7.js} +10 -10
  8. package/dist/{agent-scope-ClAKxnug.js → agent-scope-B-TJ25d2.js} +1 -1
  9. package/dist/{agents-BNGKipaH.js → agents-DcJ8WSQN.js} +5 -5
  10. package/dist/{agents.config-DiGDHN5O.js → agents.config-B_D0zm4U.js} +1 -1
  11. package/dist/{audio-preflight-BYjvjFGL.js → audio-preflight-BOjDZX4-.js} +12 -12
  12. package/dist/{audio-preflight-DLFLQCD2.js → audio-preflight-CBDFctZN.js} +6 -6
  13. package/dist/{audio-preflight-CrK8LVSU.js → audio-preflight-D5SmAG5A.js} +33 -33
  14. package/dist/{audio-preflight-BNIWvQea.js → audio-preflight-gsZSpG-6.js} +6 -6
  15. package/dist/{audit-BtE8j-dr.js → audit-B-FXonMj.js} +16 -16
  16. package/dist/{audit-1DQHvjne.js → audit-jWmom3iG.js} +6 -6
  17. package/dist/{auth-choice-Do0jo6Fh.js → auth-choice-DuBca8ct.js} +8 -8
  18. package/dist/{auth-choice-By1yXFYw.js → auth-choice-PZidMRGp.js} +4 -4
  19. package/dist/{auth-2m65mNra.js → auth-iIMNsqsQ.js} +1 -1
  20. package/dist/{auth-profiles-BDxMPCzG.js → auth-profiles-DDtoMCMH.js} +3 -3
  21. package/dist/{auth-token-B5SrwexC.js → auth-token-DRvGnO0q.js} +1 -1
  22. package/dist/{banner-ygxIi7m2.js → banner-CU1sM84V.js} +1 -1
  23. package/dist/{bindings-D1-kK70N.js → bindings-DvsYYXnb.js} +1 -1
  24. package/dist/{bonjour-discovery-xt1zeEfY.js → bonjour-discovery-BL4z96Tc.js} +1 -1
  25. package/dist/{browser-cli-BRGanVBi.js → browser-cli-BsCQ2XZY.js} +12 -12
  26. package/dist/{browser-cli-DhLei5PT.js → browser-cli-DXOwEYL2.js} +3 -3
  27. package/dist/build-info.json +3 -3
  28. package/dist/bundled/boot-md/handler.js +20 -20
  29. package/dist/bundled/session-memory/handler.js +15 -15
  30. package/dist/{call-Cx-o6Dhn.js → call-5H3uhl5b.js} +2 -2
  31. package/dist/{call-VlN8r8Yw.js → call-CYEen5Ei.js} +1 -1
  32. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  33. package/dist/{channel-options-CWAaOnhS.js → channel-options-CVki8ItI.js} +1 -1
  34. package/dist/{channel-options-ddC79e9l.js → channel-options-DkT8ZW1K.js} +3 -3
  35. package/dist/{channel-selection-BHVDWm5E.js → channel-selection-DSb720Z4.js} +1 -1
  36. package/dist/{channel-web-3Fk08NB0.js → channel-web-D5FPFMRz.js} +18 -18
  37. package/dist/{channels-cli-BE0UupX4.js → channels-cli-CbV1d2WZ.js} +32 -32
  38. package/dist/{channels-cli-BrhW16mW.js → channels-cli-oQ1C-AU0.js} +77 -77
  39. package/dist/{channels-status-issues-8q95isjL.js → channels-status-issues-cCvkQ-ol.js} +1 -1
  40. package/dist/{chrome-DFDfD9iU.js → chrome-BjVab8gM.js} +1 -1
  41. package/dist/{chrome-BSvYVwtO.js → chrome-Co3mvu3F.js} +1 -1
  42. package/dist/{chrome-CQbyl36M.js → chrome-DE8Oufrf.js} +3 -3
  43. package/dist/{chrome-BtCY5umU.js → chrome-nPMY1XTJ.js} +1 -1
  44. package/dist/{clack-prompter-BmPna6hP.js → clack-prompter-DT0j9_UM.js} +3 -3
  45. package/dist/cli/daemon-cli.js +1 -1
  46. package/dist/{cli-DMtjh5qN.js → cli-59ffinHT.js} +67 -67
  47. package/dist/{cli-D49q36r_.js → cli-CqhP6PUQ.js} +28 -28
  48. package/dist/{client-Ckf8J2JU.js → client-dv7KGbcT.js} +1 -1
  49. package/dist/{clipboard-mI0DzbIO.js → clipboard-zB3u-GqT.js} +1 -1
  50. package/dist/{command-registry-DTl37Wjw.js → command-registry-D1tbqf1y.js} +11 -11
  51. package/dist/{commands-XFLS2TYg.js → commands-DSSJAHdl.js} +1 -1
  52. package/dist/{commands-registry-B41kVYKm.js → commands-registry-BZPwUbMj.js} +3 -3
  53. package/dist/{completion-cli-Dkglutko.js → completion-cli-CzWoGt4o.js} +2 -2
  54. package/dist/{completion-cli-DXqWKDoE.js → completion-cli-DoqE42lZ.js} +2 -2
  55. package/dist/{config-C8t3FjYR.js → config-BrEmT6tv.js} +0 -1
  56. package/dist/{config-oSPRjRbn.js → config-CmXb83Tn.js} +0 -1
  57. package/dist/{config-uTRhGqpO.js → config-CmwJ3rLZ.js} +0 -1
  58. package/dist/{config-cli-DJAVoHDd.js → config-cli-CBmx7mcc.js} +2 -2
  59. package/dist/{config-cli-CpsIHZZF.js → config-cli-D3GOlnhr.js} +7 -7
  60. package/dist/{config-DUO3fRn2.js → config-fZ5iPec5.js} +2 -3
  61. package/dist/{config-guard-R7x9x_YY.js → config-guard-B1toYtl7.js} +16 -16
  62. package/dist/{config-guard-uFr0h68n.js → config-guard-BajvaFKL.js} +2 -2
  63. package/dist/{config-validation-CCnYBJ-y.js → config-validation-B2jE1ZJ7.js} +1 -1
  64. package/dist/{config-validation-CQmiBqSl.js → config-validation-mxDPbed4.js} +1 -1
  65. package/dist/{configure-Be_6JS4z.js → configure-BfWlev89.js} +10 -10
  66. package/dist/{configure-DYItGjbK.js → configure-CotqdyEn.js} +20 -20
  67. package/dist/{consolidate-DBBdpAFC.js → consolidate-DCy1V6U4.js} +1 -1
  68. package/dist/{control-service-DOO5UCIH.js → control-service-CuYNM__P.js} +4 -4
  69. package/dist/{control-service-C2krfQ6n.js → control-service-DmPYRZsG.js} +5 -5
  70. package/dist/{control-ui-assets-ZLQealE9.js → control-ui-assets-Ddw3esY1.js} +2 -2
  71. package/dist/{cron-cli-Z_jebZw3.js → cron-cli-D2QR1HZy.js} +13 -13
  72. package/dist/{cron-cli-DT9SJHBB.js → cron-cli-yLxmMg8V.js} +3 -3
  73. package/dist/{daemon-cli-CVlz6aej.js → daemon-cli-9cQtMyjS.js} +13 -13
  74. package/dist/{daemon-cli-CCciSK0w.js → daemon-cli-BRuXVHoF.js} +6 -6
  75. package/dist/daemon-cli.js +0 -1
  76. package/dist/{daemon-runtime-Cyqtd1hp.js → daemon-runtime-CxObGDWF.js} +1 -1
  77. package/dist/{daemon-runtime-BIfnWFvI.js → daemon-runtime-NzQYCdC-.js} +2 -2
  78. package/dist/{deliver-CXD78NzG.js → deliver-B4-bcot9.js} +2 -2
  79. package/dist/{deliver-D30f3Zq0.js → deliver-Bd1wJIYa.js} +6 -6
  80. package/dist/{deliver-mIDF0QPA.js → deliver-D-QFqm31.js} +2 -2
  81. package/dist/{deliver-OX43pdcg.js → deliver-fvbnZ7DK.js} +2 -2
  82. package/dist/{deps-CH3UUjGi.js → deps-qGuX90aj.js} +5 -5
  83. package/dist/{devices-cli-xTF5NvWI.js → devices-cli-CCQflSD_.js} +10 -10
  84. package/dist/{devices-cli-Zi_yiHOq.js → devices-cli-CxIj9sdT.js} +2 -2
  85. package/dist/{diagnostic-Bf6iP3Mn.js → diagnostic-CE1zrQoC.js} +1 -1
  86. package/dist/{diagnostics-CZdQNpJS.js → diagnostics-BvQW1ILh.js} +1 -1
  87. package/dist/{directory-cli-CAODbrnC.js → directory-cli-Anojzb4L.js} +1 -1
  88. package/dist/{directory-cli-BQ846hMO.js → directory-cli-nzekx7U_.js} +11 -11
  89. package/dist/{dm-policy-shared-D0oP2lg9.js → dm-policy-shared--LjINCfL.js} +2 -2
  90. package/dist/{dns-cli-B4hPPmED.js → dns-cli-BpdAfuBP.js} +7 -7
  91. package/dist/{dns-cli-DfnSjffs.js → dns-cli-DDwviyAh.js} +1 -1
  92. package/dist/{dock-D2kv5Jqn.js → dock-DraLhHUo.js} +4 -4
  93. package/dist/{docs-cli-DwRjQWx_.js → docs-cli-BIU6wg-L.js} +3 -3
  94. package/dist/{docs-cli-CoHzkqcE.js → docs-cli-CftlX3Na.js} +1 -1
  95. package/dist/{doctor-completion-B0kXcAbW.js → doctor-completion-BKPYCCg2.js} +2 -2
  96. package/dist/{doctor-completion-CKxNPAvg.js → doctor-completion-CPDNcot7.js} +1 -1
  97. package/dist/{doctor-config-flow-MDnIBKix.js → doctor-config-flow-C48WFIOa.js} +6 -6
  98. package/dist/{doctor-config-flow-8hEkq_Na.js → doctor-config-flow-DnjSwpIq.js} +2 -2
  99. package/dist/entry.js +1 -2
  100. package/dist/{env-C3G7AJh9.js → env-MJUJ2NQc.js} +1 -1
  101. package/dist/{exec-on-PBk9i.js → exec-U-5HlzYK.js} +1 -1
  102. package/dist/{exec-approvals-cli-qmEHfpNz.js → exec-approvals-cli-Ce0uBWjm.js} +4 -4
  103. package/dist/{exec-approvals-cli-DTlmVg-w.js → exec-approvals-cli-DQRVtOea.js} +15 -15
  104. package/dist/extensionAPI.js +11 -11
  105. package/dist/{fetch-guard-DTSZW3EQ.js → fetch-guard-6XJZZERn.js} +1 -1
  106. package/dist/{gateway-cli-BmpCY2AF.js → gateway-cli-ND4m4Kwt.js} +48 -48
  107. package/dist/{gateway-cli-YIHSKACh.js → gateway-cli-NKCGIOtN.js} +104 -104
  108. package/dist/{gateway-rpc-WjdyAe-d.js → gateway-rpc-DNYSrIX0.js} +2 -2
  109. package/dist/{gateway-rpc-5jDi3Asn.js → gateway-rpc-Dl-8hBtr.js} +1 -1
  110. package/dist/{gemini-auth-BN-PrAYU.js → gemini-auth-De9M8hrQ.js} +1 -1
  111. package/dist/{glass-ui-ws-6-QqMD5e.js → glass-ui-ws-CmFJf1lZ.js} +40 -40
  112. package/dist/{glass-ui-ws-BfR4nIW9.js → glass-ui-ws-MmN7er_q.js} +90 -90
  113. package/dist/{gmail-setup-utils-CxeJwoVj.js → gmail-setup-utils-kcAg-11k.js} +1 -1
  114. package/dist/{health-Bsqi3Vq6.js → health-5JOdkPub.js} +6 -6
  115. package/dist/{health-OODsPlWQ.js → health-DEvWPnxM.js} +13 -13
  116. package/dist/{heartbeat-visibility-DEwIY-6M.js → heartbeat-visibility-Cv-VwGL2.js} +1 -1
  117. package/dist/{heartbeat-visibility-BdI8sYz5.js → heartbeat-visibility-suczWvXN.js} +1 -1
  118. package/dist/{hooks-cli-CjdAa5qI.js → hooks-cli-DaxAHwbM.js} +29 -29
  119. package/dist/{hooks-cli-C0EfX6yg.js → hooks-cli-uRNA4rQ7.js} +70 -70
  120. package/dist/{image-C-_RYrt6.js → image-Bht4AF-7.js} +3 -3
  121. package/dist/{image-ByO_Drag.js → image-CDwtQjmt.js} +2 -2
  122. package/dist/{image-C1UUid3j.js → image-CP3c8DbO.js} +2 -2
  123. package/dist/{image-jOZc-YbV.js → image-CcS-vzTA.js} +2 -2
  124. package/dist/{image-ops-_VIwIysk.js → image-ops-qMHHSRKc.js} +1 -1
  125. package/dist/index.js +81 -81
  126. package/dist/{inspect-CWCxFrwF.js → inspect-Bx22m7Kj.js} +1 -1
  127. package/dist/{installs-C9nlCMSp.js → installs-BSQx1Lqa.js} +1 -1
  128. package/dist/{ir-BV1xbN7V.js → ir-miEfMclo.js} +2 -2
  129. package/dist/{lifecycle-core-fglvLKJD.js → lifecycle-core-BaVOBgCY.js} +5 -5
  130. package/dist/{lifecycle-core-CM9qibfM.js → lifecycle-core-DAbrSgi3.js} +2 -2
  131. package/dist/llm-slug-generator.js +15 -15
  132. package/dist/{local-roots-CDwiG656.js → local-roots-7z0Wyz2q.js} +3 -3
  133. package/dist/{login-CkB3vCss.js → login-CLXBEpWu.js} +2 -2
  134. package/dist/{login-B7P81KNd.js → login-CePANfBf.js} +5 -5
  135. package/dist/{login-D86rGY50.js → login-DF29IdeD.js} +2 -2
  136. package/dist/{login-rAmvnA_x.js → login-OHsZnUot.js} +2 -2
  137. package/dist/{login-qr-B-p61OaJ.js → login-qr-BBRsx6OK.js} +2 -2
  138. package/dist/{login-qr-CARDVlGY.js → login-qr-DKZDXDM0.js} +2 -2
  139. package/dist/{login-qr-BvGMlDtt.js → login-qr-VVOORbP0.js} +2 -2
  140. package/dist/{login-qr-DUOrscdj.js → login-qr-naId1Uk8.js} +8 -8
  141. package/dist/{logs-cli-B0xP8RRD.js → logs-cli-BlCDyHzB.js} +3 -3
  142. package/dist/{logs-cli-D7HPX6Ni.js → logs-cli-C2ZCD8EL.js} +10 -10
  143. package/dist/{manager-9fFy5YUh.js → manager-09r0qPze.js} +1 -1
  144. package/dist/{manager-BqH4zTJP.js → manager-BnEdHzmO.js} +1 -1
  145. package/dist/{manager-Cl91PamN.js → manager-DEq_BuwA.js} +7 -7
  146. package/dist/{manager-s7BJFbMb.js → manager-_m-zKeg1.js} +1 -1
  147. package/dist/{markdown-tables-DDTOGxmK.js → markdown-tables-D5o9MKPO.js} +1 -1
  148. package/dist/{memory-cli-ofRFXIMf.js → memory-cli-C7Vn5r6X.js} +9 -9
  149. package/dist/{memory-cli-DjOf6nVQ.js → memory-cli-D3-V4nfo.js} +4 -4
  150. package/dist/{model-15vGRUuB.js → model-BE2s-x4F.js} +1 -1
  151. package/dist/{model-catalog-BbSNge0y.js → model-catalog-BgP-FTJu.js} +2 -2
  152. package/dist/{model-catalog-DP04T1FR.js → model-catalog-DnmeThgX.js} +4 -4
  153. package/dist/{model-picker-BoQ85aSA.js → model-picker-Ccw2FzMC.js} +3 -3
  154. package/dist/{model-picker-CMqYXQDe.js → model-picker-Dc7Cs81w.js} +2 -2
  155. package/dist/{models-WqYDizDS.js → models-BnCwmhCM.js} +8 -8
  156. package/dist/{models-cli-BVvZMjgU.js → models-cli-CW9t1xTy.js} +31 -31
  157. package/dist/{models-cli-ByGdPbCP.js → models-cli-ineH_KYs.js} +76 -76
  158. package/dist/{models-config-xU2Ziy89.js → models-config-BRS9dchi.js} +1 -1
  159. package/dist/{models-config-bV6kfdrq.js → models-config-ChFx7Ybe.js} +2 -2
  160. package/dist/{node-cli-lOPhQjPO.js → node-cli-Cr7O_8Bp.js} +26 -26
  161. package/dist/{node-cli-BR5TeUty.js → node-cli-DaQylXQv.js} +9 -9
  162. package/dist/{node-service-CgbgNEpR.js → node-service-Bes4cKr9.js} +1 -1
  163. package/dist/{nodes-cli-C1_XitYx.js → nodes-cli-CIkKPpUA.js} +11 -11
  164. package/dist/{nodes-cli-KIYPcjMB.js → nodes-cli-D4roYX2E.js} +3 -3
  165. package/dist/{note-BWIn5FhH.js → note-dPQ0j2K-.js} +1 -1
  166. package/dist/{npm-registry-spec-BHo8-2O3.js → npm-registry-spec-DaZAoRW7.js} +1 -1
  167. package/dist/{onboard-B-GACH42.js → onboard-Bfcq-a_O.js} +16 -16
  168. package/dist/{onboard-channels-Cb66eqL9.js → onboard-channels-C0GSp-zt.js} +6 -6
  169. package/dist/{onboard-channels-D4Vn22bC.js → onboard-channels-VqVD7o2p.js} +1 -1
  170. package/dist/{onboard-custom-BWc88v62.js → onboard-custom-CA7KQka0.js} +2 -2
  171. package/dist/{onboard-custom-SHFpa1N_.js → onboard-custom-DOcn94lU.js} +3 -3
  172. package/dist/{onboard-helpers-qA6-QEdV.js → onboard-helpers-ButT7p4-.js} +2 -2
  173. package/dist/{onboard-helpers-Dykoh0sY.js → onboard-helpers-DEHCq48z.js} +4 -4
  174. package/dist/{onboard-hooks-BlvJbQHW.js → onboard-hooks-Ceo2FZXE.js} +3 -3
  175. package/dist/{onboard-BAIQVk2v.js → onboard-po-NAb6c.js} +7 -7
  176. package/dist/{onboard-remote-D57ba8fg.js → onboard-remote-C4kH67BC.js} +2 -2
  177. package/dist/{onboard-remote-CiRuoXWu.js → onboard-remote-DJQBMhNy.js} +1 -1
  178. package/dist/{onboard-skills-C0kma0ay.js → onboard-skills-BJTyO0zW.js} +4 -4
  179. package/dist/{onboard-skills-C4xE4jvo.js → onboard-skills-Bs-_Cb_W.js} +3 -3
  180. package/dist/{onboarding-VwdbQCbE.js → onboarding--x9h6_xA.js} +10 -10
  181. package/dist/{onboarding-B2-8K875.js → onboarding-EpMQ9_-C.js} +14 -14
  182. package/dist/{onboarding.finalize-CIPNWauJ.js → onboarding.finalize-C-VLVWYf.js} +80 -80
  183. package/dist/{onboarding.finalize-9bEwYWCj.js → onboarding.finalize-DZVCMUTY.js} +36 -36
  184. package/dist/{onboarding.gateway-config-BpSp3Rgr.js → onboarding.gateway-config-BZSc_RON.js} +4 -4
  185. package/dist/{onboarding.gateway-config-CrBOqYo4.js → onboarding.gateway-config-DgCzt8vA.js} +17 -17
  186. package/dist/{openai-model-default-B6JY2TSZ.js → openai-model-default-WNzKrc6k.js} +2 -2
  187. package/dist/{outbound-B8JshF-G.js → outbound-BA_2R85M.js} +1 -1
  188. package/dist/{outbound-Bkiaeu1Z.js → outbound-BIq9eJ0e.js} +5 -5
  189. package/dist/{outbound-CZD_UTBc.js → outbound-BXZ7go46.js} +1 -1
  190. package/dist/{outbound-C7YA2LCL.js → outbound-DxPWkyYU.js} +1 -1
  191. package/dist/{outbound-attachment-Cvk3666C.js → outbound-attachment-vSG0Q-zk.js} +2 -2
  192. package/dist/{outbound-send-deps-DWBC3wmd.js → outbound-send-deps-DTmqoP_f.js} +5 -5
  193. package/dist/{pairing-cli-CyNNvfUS.js → pairing-cli-BDKNjdG1.js} +1 -1
  194. package/dist/{pairing-cli-DJfvpuzY.js → pairing-cli-CgTLlLG1.js} +12 -12
  195. package/dist/{pairing-labels-CxrkOe2Z.js → pairing-labels-trv6ONhE.js} +1 -1
  196. package/dist/{pairing-store-B-Vm6PLG.js → pairing-store-DfLO9ZQJ.js} +2 -2
  197. package/dist/{path-env-ikgTSk8q.js → path-env-9qjqygde.js} +1 -1
  198. package/dist/{pi-auth-json-V3y0xikp.js → pi-auth-json-BdKjVM1g.js} +1 -1
  199. package/dist/{pi-embedded-WJ0mHcDO.js → pi-embedded-CWsY69-4.js} +25 -25
  200. package/dist/{pi-embedded-helpers-CvQQZe87.js → pi-embedded-helpers-BBMy-lqr.js} +6 -6
  201. package/dist/{pi-embedded-helpers-DvVz03wF.js → pi-embedded-helpers-ChEYbgVj.js} +6 -6
  202. package/dist/{pi-embedded-helpers-D3RFM0JQ.js → pi-embedded-helpers-CzjYHfPh.js} +1 -1
  203. package/dist/{pi-embedded-helpers-D2_Nb5Be.js → pi-embedded-helpers-kzNCwrak.js} +2 -2
  204. package/dist/{pi-tools.policy-_Jg3xAfK.js → pi-tools.policy-BhD3bMxn.js} +2 -2
  205. package/dist/{pi-tools.policy-_OIJ7CqW.js → pi-tools.policy-fgixv1d4.js} +4 -4
  206. package/dist/{plugin-auto-enable-B43cqjdW.js → plugin-auto-enable-BUVt_YOG.js} +2 -2
  207. package/dist/{plugin-registry-CmQSWWXN.js → plugin-registry-B5ya-4Xl.js} +2 -2
  208. package/dist/{plugin-registry-DfeQP0HX.js → plugin-registry-B7U0wSWd.js} +4 -4
  209. package/dist/plugin-sdk/{audio-preflight-CCMYl-F5.js → audio-preflight-D3GtNLqW.js} +6 -6
  210. package/dist/plugin-sdk/{channel-web-C90B8EO2.js → channel-web-DTyqujjA.js} +6 -6
  211. package/dist/plugin-sdk/channels/status-reactions.d.ts +1 -1
  212. package/dist/plugin-sdk/{chrome-C3kf37SI.js → chrome-BKzAKr3K.js} +1 -1
  213. package/dist/plugin-sdk/config/types.agents.d.ts +1 -1
  214. package/dist/plugin-sdk/{config-B_frtb89.js → config-7wk65zKC.js} +0 -1
  215. package/dist/plugin-sdk/{deliver-BUejAj-b.js → deliver-TxAcw7J5.js} +2 -2
  216. package/dist/plugin-sdk/{image-CkBNuQnP.js → image-BtDVmYA5.js} +2 -2
  217. package/dist/plugin-sdk/index.js +15 -15
  218. package/dist/plugin-sdk/infra/outbound/channel-target.d.ts +1 -1
  219. package/dist/plugin-sdk/{login-cCqQ-tAu.js → login-DUym1Jy0.js} +2 -2
  220. package/dist/plugin-sdk/{login-qr-BbaSFUKu.js → login-qr-B-WBdvrX.js} +2 -2
  221. package/dist/plugin-sdk/{manager-ClqmpKsb.js → manager-B71SCzos.js} +1 -1
  222. package/dist/plugin-sdk/{outbound-7xO462S1.js → outbound-DB1wDM8b.js} +1 -1
  223. package/dist/plugin-sdk/{pi-embedded-helpers-pDjnilsl.js → pi-embedded-helpers-s_U0Un7j.js} +6 -6
  224. package/dist/plugin-sdk/polls.d.ts +1 -1
  225. package/dist/plugin-sdk/{pw-ai-DI0037mQ.js → pw-ai-CTwP02uv.js} +2 -2
  226. package/dist/plugin-sdk/{replies-DZGo2m53.js → replies-hwRbkU3z.js} +1 -1
  227. package/dist/plugin-sdk/routing/resolve-route.d.ts +1 -1
  228. package/dist/plugin-sdk/{runner-pS75iI7g.js → runner-Cq5jvwQ7.js} +2 -2
  229. package/dist/plugin-sdk/{session-DQav5p95.js → session-B_TkB65Y.js} +1 -1
  230. package/dist/plugin-sdk/{skill-commands-CLmmb9qy.js → skill-commands-0LF9HTGr.js} +1 -1
  231. package/dist/plugin-sdk/{skills-C_1YQHBy.js → skills-BIT_O7J0.js} +0 -1
  232. package/dist/plugin-sdk/{synthesis-ChY1JkO1.js → synthesis-DtsYAj1E.js} +11 -11
  233. package/dist/plugin-sdk/{unified-runner-CIS4_H9c.js → unified-runner-CnM7lyNd.js} +25 -25
  234. package/dist/plugin-sdk/{web-0GtlB-XI.js → web-CIPJBHAU.js} +15 -15
  235. package/dist/plugin-sdk/{whatsapp-actions-Cqv7Rh21.js → whatsapp-actions-CvnfsFJm.js} +2 -2
  236. package/dist/{plugins-DJx5Pmcv.js → plugins-WP_G3b07.js} +3 -3
  237. package/dist/{plugins-cli-CoKj54F-.js → plugins-cli-BSWafj93.js} +29 -29
  238. package/dist/{plugins-cli-BnciQu89.js → plugins-cli-Cd_0dIVY.js} +72 -72
  239. package/dist/{ports-gIqEKo6u.js → ports-B43hS-dM.js} +1 -1
  240. package/dist/{ports-uNUe3dxh.js → ports-CXowznRS.js} +2 -2
  241. package/dist/{program-Bqx3kmC-.js → program-CLfqLvo9.js} +35 -35
  242. package/dist/{program-context-g6Imfp9l.js → program-context-CWXZ3oEH.js} +40 -40
  243. package/dist/{progress-BWydcrCK.js → progress-Bn3ThYEB.js} +1 -1
  244. package/dist/{prompt-select-styled-CKmJt2XA.js → prompt-select-styled-49qDo8Uc.js} +33 -33
  245. package/dist/{prompt-select-styled-Bezh0O7_.js → prompt-select-styled-BVZmGBT0.js} +16 -16
  246. package/dist/{provider-auth-helpers-DsK8RoZZ.js → provider-auth-helpers-B96m6iXd.js} +2 -2
  247. package/dist/{provider-auth-helpers-CzmcILVg.js → provider-auth-helpers-C5MZmlW9.js} +5 -5
  248. package/dist/{push-apns-C3qdsGpg.js → push-apns-QmqvEgGP.js} +1 -1
  249. package/dist/{push-apns-l9PPRpRV.js → push-apns-sTZKSGhB.js} +2 -2
  250. package/dist/{pw-ai-vQvpzuWG.js → pw-ai-BW8_KeDf.js} +2 -2
  251. package/dist/{pw-ai-DQ7l1iF4.js → pw-ai-CQ0sQ8C-.js} +8 -8
  252. package/dist/{pw-ai-XfSpeXPs.js → pw-ai-MRAc5zZ-.js} +2 -2
  253. package/dist/{pw-ai-B9iBzdmI.js → pw-ai-j9IE1K0-.js} +2 -2
  254. package/dist/{qmd-manager-Byao7dOa.js → qmd-manager-DVXOceWN.js} +4 -4
  255. package/dist/{qr-cli-mt8w9GzM.js → qr-cli-D_TT4pLO.js} +1 -1
  256. package/dist/{qr-cli-BIjXYIm0.js → qr-cli-UxcK3SlC.js} +6 -6
  257. package/dist/{register.agent-CVaLKW2G.js → register.agent-C7GiCj1K.js} +83 -83
  258. package/dist/{register.agent-CTwIw-AD.js → register.agent-CuXwaR_h.js} +37 -37
  259. package/dist/register.configure-CQjR8ANQ.js +147 -0
  260. package/dist/{register.configure-BPCdfxlK.js → register.configure-dP1BvJQx.js} +42 -42
  261. package/dist/{register.maintenance-BiwPQG4x.js → register.maintenance--TqpdrD4.js} +40 -40
  262. package/dist/{register.maintenance-nFXx_75H.js → register.maintenance-Dh6Hm6aT.js} +90 -90
  263. package/dist/{register.message-DUaVsB4c.js → register.message-D1kaCLsQ.js} +70 -88
  264. package/dist/{register.message-B68NVVrx.js → register.message-DpWSQmtD.js} +30 -48
  265. package/dist/{register.onboard-BRGaL3SO.js → register.onboard-BGZuenkH.js} +83 -83
  266. package/dist/{register.onboard--lFill4f.js → register.onboard-pmcucTey.js} +36 -36
  267. package/dist/{register.setup-DPE4f3Yr.js → register.setup-B9EXS3eA.js} +83 -83
  268. package/dist/{register.setup-CYI8-Eja.js → register.setup-D3tc_G3h.js} +36 -36
  269. package/dist/{register.status-health-sessions-n7muSBim.js → register.status-health-sessions-CHzOd91O.js} +84 -84
  270. package/dist/{register.status-health-sessions-B_TIsJwL.js → register.status-health-sessions-QZrGXi1o.js} +37 -37
  271. package/dist/{register.subclis-CQsZod0H.js → register.subclis-D1LuZl7W.js} +29 -29
  272. package/dist/{replies-cA6qtQYC.js → replies-6QoHWaww.js} +1 -1
  273. package/dist/{replies-BD0RDv95.js → replies-ChKL8Lf5.js} +1 -1
  274. package/dist/{replies-pA0Vvkef.js → replies-DaG4A2A_.js} +1 -1
  275. package/dist/{replies-KU5L2xHw.js → replies-DmmgyUec.js} +1 -1
  276. package/dist/{reply-prefix-3wOxNYsb.js → reply-prefix-CZ7ye247.js} +1 -1
  277. package/dist/{resolve-route-CVauR3wr.js → resolve-route-CyCtlrRu.js} +3 -3
  278. package/dist/{routes-BsjSThIi.js → routes-C_5Kf1A9.js} +6 -6
  279. package/dist/{routes-DSiRi52T.js → routes-evXcb4j2.js} +3 -3
  280. package/dist/{rpc-DGAP3Dem.js → rpc-Dk1t5tGL.js} +1 -1
  281. package/dist/{rpc-Dz2YhiF7.js → rpc-WJahJ1Ld.js} +2 -2
  282. package/dist/{run-main-JkwslZCu.js → run-main-D-hf3XYh.js} +46 -46
  283. package/dist/{runner-wXjjKB1s.js → runner-8ALr2UII.js} +2 -2
  284. package/dist/{runner-BQo3HeZ3.js → runner-C4-9kFdR.js} +2 -2
  285. package/dist/{runner-Dz6t4hE_.js → runner-CDrzDpE9.js} +9 -9
  286. package/dist/{runner-BnMMNmY9.js → runner-rH8EDl6e.js} +3 -3
  287. package/dist/{runtime-guard-BtA1pdKO.js → runtime-guard-CgRpm6TQ.js} +1 -1
  288. package/dist/{sandbox-B2ADLJpu.js → sandbox-Cqr1dxX2.js} +8 -8
  289. package/dist/{sandbox-L2RQKEGw.js → sandbox-D8H1SG0q.js} +6 -6
  290. package/dist/{sandbox-cli-0hIG3DyV.js → sandbox-cli-BFOdS6a_.js} +7 -7
  291. package/dist/{sandbox-cli-CSUFU0zE.js → sandbox-cli-DC0uxTs5.js} +24 -24
  292. package/dist/{security-cli-Dj4pdB7x.js → security-cli-DQDmpe7P.js} +10 -10
  293. package/dist/{security-cli-4Q5nCJOB.js → security-cli-jp9oRlVF.js} +32 -32
  294. package/dist/{send-0umVrl4T.js → send-B0cWAc4E.js} +6 -6
  295. package/dist/{send-BIltgdYk.js → send-BCZh3xVc.js} +1 -1
  296. package/dist/{send-C7u-qZ92.js → send-BFA6l5bm.js} +6 -6
  297. package/dist/{send-EYLu8Enw.js → send-C0UNPeYD.js} +8 -8
  298. package/dist/{send-O8G8ESr8.js → send-CJ5OuCNt.js} +1 -1
  299. package/dist/{send-DB22vIf1.js → send-CJCwdFt2.js} +1 -1
  300. package/dist/{send-ibaMF60Q.js → send-CS7vAijK.js} +1 -1
  301. package/dist/{send-BCe22w3b.js → send-CqQubXQG.js} +1 -1
  302. package/dist/{send-OglwAj5f.js → send-D-a1NP-H.js} +1 -1
  303. package/dist/{send-D2LgvdpS.js → send-HymnTXJn.js} +1 -1
  304. package/dist/{send-BVSta6KE.js → send-u8HRiMjJ.js} +4 -4
  305. package/dist/{send-CMQ5uLqS.js → send-xxyxBNgE.js} +1 -1
  306. package/dist/{server-context-HLD-nvZi.js → server-context-Btv09Yze.js} +5 -5
  307. package/dist/{server-context-DdaSDQhw.js → server-context-CRwEPP2d.js} +7 -7
  308. package/dist/{server-methods-CAKYAQOk.js → server-methods-BU5JkPxY.js} +34 -34
  309. package/dist/{server-methods-DHTp7xok.js → server-methods-C3o_w_pO.js} +25 -25
  310. package/dist/{server-node-events-NJWc38ef.js → server-node-events-BwVm1k2S.js} +31 -31
  311. package/dist/{server-node-events-CisxB0fu.js → server-node-events-mOwviD93.js} +70 -70
  312. package/dist/{service-BAsloDJZ.js → service-Bb2FbEiu.js} +1 -1
  313. package/dist/{session-a1tAWoD8.js → session-BE36nUsJ.js} +1 -1
  314. package/dist/{session-JaMLMjhz.js → session-BsziRQ75.js} +2 -2
  315. package/dist/{session-Upnw8JKf.js → session-BwpJhm05.js} +1 -1
  316. package/dist/{session-DHN6qlIP.js → session-DM97czc5.js} +1 -1
  317. package/dist/{session-utils-BAFbEbrW.js → session-utils-8x4iBL8M.js} +3 -3
  318. package/dist/{sessions-CP41CGRW.js → sessions-0uJAOLpN.js} +1 -2
  319. package/dist/{sessions-LtbRmeKa.js → sessions-5IylD_Dw.js} +5 -6
  320. package/dist/{sessions-Cft2vlSa.js → sessions-DAQB52da.js} +3 -3
  321. package/dist/{shared-Cc_u_WXI.js → shared-Cu7KIm3L.js} +1 -1
  322. package/dist/{shared-DdhXng2q.js → shared-h6yR1MA4.js} +2 -2
  323. package/dist/{shared-CHhs61m1.js → shared-l9zNCSSi.js} +3 -3
  324. package/dist/{skill-commands-BJR9WNUt.js → skill-commands-B5OOQZUe.js} +1 -1
  325. package/dist/{skill-commands-ryjXPG5n.js → skill-commands-CAGUvBqy.js} +1 -1
  326. package/dist/{skill-commands-DUYMxTMU.js → skill-commands-LTOrAZRN.js} +1 -1
  327. package/dist/{skill-commands-BLbohsn1.js → skill-commands-x4Fo8pg0.js} +5 -5
  328. package/dist/{skills-D3EQq_xP.js → skills-B7JO0ASH.js} +0 -1
  329. package/dist/{skills-DL_0fZxM.js → skills-Bxzj1EYM.js} +1 -2
  330. package/dist/{skills-CSd9P3k1.js → skills-KnQ0Jo_x.js} +0 -1
  331. package/dist/{skills-cli-hv5DAVem.js → skills-cli-Dp471aTx.js} +11 -11
  332. package/dist/{skills-cli-BI18Oigc.js → skills-cli-kQLBdp20.js} +5 -5
  333. package/dist/{skills-install-BCm9OlTM.js → skills-install-C-IRMZM9.js} +3 -3
  334. package/dist/{skills-install-DGvR-q7b.js → skills-install-CCE0qFCP.js} +1 -1
  335. package/dist/{skills-status-BNfHkto8.js → skills-status-76aa4r5d.js} +1 -1
  336. package/dist/{skills-status-D0EpPNti.js → skills-status-CwAXYO12.js} +2 -2
  337. package/dist/{skills-Bz1i1ybK.js → skills-t4ZOwJM2.js} +0 -1
  338. package/dist/{sqlite-CufUl1an.js → sqlite-BQodrAaT.js} +1 -1
  339. package/dist/{status-C00ZrGsA.js → status-C3mm-8ZC.js} +4 -4
  340. package/dist/{status-C58QogLi.js → status-CRJ8HQgN.js} +2 -2
  341. package/dist/{status-oxp1VL3J.js → status-D1fggt1e.js} +12 -12
  342. package/dist/{status-VyfUWiik.js → status-ZbJ6qXO6.js} +24 -24
  343. package/dist/{status.update-RGddPnvw.js → status.update-C_GJKstF.js} +2 -2
  344. package/dist/{status.update-BL5OZus3.js → status.update-DQlemioz.js} +1 -1
  345. package/dist/{store-B-jM3seG.js → store-Cf-I6O9v.js} +1 -1
  346. package/dist/{subagent-registry-fSwcEUW4.js → subagent-registry-Cf4D2qci.js} +39 -39
  347. package/dist/{subsystem-BMxbL2KN.js → subsystem-CcT1ZaH3.js} +0 -1
  348. package/dist/{synthesis-DAF20wRT.js → synthesis-BJGqqJXC.js} +67 -67
  349. package/dist/{synthesis-CQzOxghD.js → synthesis-Cph3LhA1.js} +11 -11
  350. package/dist/{synthesis-B0db-bTc.js → synthesis-Cus0A2dL.js} +15 -15
  351. package/dist/{synthesis-CuBtPX_i.js → synthesis-Duwp7ml5.js} +28 -28
  352. package/dist/{system-cli-HNuqB_W2.js → system-cli-BatO8uUt.js} +10 -10
  353. package/dist/{system-cli-DyXjJc0q.js → system-cli-CiUNuuRz.js} +3 -3
  354. package/dist/{systemd-PcbsHCPu.js → systemd-B534V3DK.js} +1 -1
  355. package/dist/{systemd-hints-p-zLNzii.js → systemd-hints-BcRdOEqL.js} +1 -1
  356. package/dist/{systemd-hints-khxyyy_k.js → systemd-hints-D8LwPfBY.js} +3 -3
  357. package/dist/{systemd-linger-BFtYTY7i.js → systemd-linger-BbjhHx1l.js} +2 -2
  358. package/dist/{table-5l6SCcMQ.js → table-CllYIh5i.js} +1 -1
  359. package/dist/{tables-C6n0OBF2.js → tables-CJmACQJs.js} +1 -1
  360. package/dist/{tailscale-DpRABDnf.js → tailscale-jBhrz79j.js} +2 -2
  361. package/dist/{target-errors-BDcq6SpV.js → target-errors-C2vmcXD_.js} +2 -2
  362. package/dist/{tool-images-Clk-bkFl.js → tool-images-DjxB_k2u.js} +2 -2
  363. package/dist/{tool-loop-detection-DoNT90n7.js → tool-loop-detection-C-N8oU4D.js} +1 -1
  364. package/dist/{trash-DL0lT5ny.js → trash-BUiHxpPG.js} +1 -1
  365. package/dist/{tui-cHqmaZ7Y.js → tui-5PQiJD9I.js} +8 -8
  366. package/dist/{tui-BLLCyoLR.js → tui-CC6dKbOq.js} +4 -4
  367. package/dist/{tui-cli-DB67U5P6.js → tui-cli-JWl04yy_.js} +31 -31
  368. package/dist/{tui-cli-Ss1Qdwl8.js → tui-cli-sRzxZZfy.js} +10 -10
  369. package/dist/{unified-runner-DFdUEkbI.js → unified-runner-CX80YMTk.js} +29 -29
  370. package/dist/{unified-runner-BExIpIMm.js → unified-runner-ClALusZk.js} +76 -76
  371. package/dist/{update-DTpYZpnU.js → update-GP-Kg6dR.js} +1 -1
  372. package/dist/{update-check-Dv-QFWI1.js → update-check-C1gCXTgn.js} +2 -2
  373. package/dist/{update-cli-MZAnhZlH.js → update-cli-C-j7NSry.js} +96 -96
  374. package/dist/{update-cli-B3AaowY6.js → update-cli-h8LffEp1.js} +43 -43
  375. package/dist/{update-runner-C6w04w4_.js → update-runner-CkgRE2zC.js} +4 -4
  376. package/dist/{update-runner-DpRUMBax.js → update-runner-Cr_OHhwc.js} +1 -1
  377. package/dist/web-BM6JnvhB.js +109 -0
  378. package/dist/{web-Bm_fDCAE.js → web-BYpqaGRq.js} +32 -32
  379. package/dist/{web-D2wolFbz.js → web-ChozvJ7I.js} +18 -18
  380. package/dist/{web-V_99SVHF.js → web-DFlsbXmQ.js} +14 -14
  381. package/dist/{webhooks-cli-yz33-J1v.js → webhooks-cli-BnzQMkaz.js} +8 -8
  382. package/dist/{webhooks-cli-DWjqvKnl.js → webhooks-cli-eN_WPQOi.js} +2 -2
  383. package/dist/{whatsapp-actions-nIv04a_U.js → whatsapp-actions-B_GSqIH5.js} +18 -18
  384. package/dist/{whatsapp-actions-BiA2kb1X.js → whatsapp-actions-Bl-XhUSp.js} +2 -2
  385. package/dist/{whatsapp-actions-BMxw80iX.js → whatsapp-actions-Bug-Org1.js} +2 -2
  386. package/dist/{whatsapp-actions-Bb9JGQNw.js → whatsapp-actions-x5oS3YEa.js} +2 -2
  387. package/dist/{with-timeout-CHcAJTSW.js → with-timeout-Cf5jkVrr.js} +1 -1
  388. package/dist/{with-timeout-D9roaSOd.js → with-timeout-jGSsEp0I.js} +1 -1
  389. package/dist/{workspace-dirs-B97PsGaC.js → workspace-dirs-M1ofdUIC.js} +1 -1
  390. package/docs/.i18n/zh-CN.tm.jsonl +0 -20
  391. package/docs/automation/cron-jobs.md +0 -2
  392. package/docs/automation/hooks.md +0 -2
  393. package/docs/automation/poll.md +0 -8
  394. package/docs/automation/webhook.md +0 -2
  395. package/docs/capabilities.md +0 -2
  396. package/docs/channels/broadcast-groups.md +0 -1
  397. package/docs/channels/channel-routing.md +4 -10
  398. package/docs/channels/group-messages.md +0 -2
  399. package/docs/channels/groups.md +0 -10
  400. package/docs/channels/index.md +0 -1
  401. package/docs/channels/matrix.md +0 -2
  402. package/docs/channels/msteams.md +0 -2
  403. package/docs/channels/pairing.md +0 -3
  404. package/docs/channels/signal.md +0 -2
  405. package/docs/channels/troubleshooting.md +0 -7
  406. package/docs/cli/channels.md +0 -6
  407. package/docs/cli/configure.md +0 -1
  408. package/docs/cli/directory.md +0 -1
  409. package/docs/cli/index.md +0 -7
  410. package/docs/cli/message.md +1 -47
  411. package/docs/cli/status.md +0 -1
  412. package/docs/concepts/architecture.md +0 -1
  413. package/docs/concepts/features.md +0 -2
  414. package/docs/concepts/markdown-formatting.md +6 -8
  415. package/docs/concepts/memory.md +0 -4
  416. package/docs/concepts/messages.md +0 -1
  417. package/docs/concepts/models.md +0 -1
  418. package/docs/concepts/multi-agent.md +4 -19
  419. package/docs/concepts/queue.md +0 -3
  420. package/docs/concepts/retry.md +0 -5
  421. package/docs/concepts/session-tool.md +0 -2
  422. package/docs/concepts/session.md +2 -9
  423. package/docs/concepts/streaming.md +0 -2
  424. package/docs/concepts/system-prompt.md +0 -1
  425. package/docs/concepts/timezone.md +0 -1
  426. package/docs/date-time.md +0 -1
  427. package/docs/docs.json +2 -11
  428. package/docs/experiments/plans/cron-add-hardening.md +0 -1
  429. package/docs/experiments/plans/session-binding-channel-agnostic.md +2 -23
  430. package/docs/experiments/plans/thread-bound-subagents.md +7 -64
  431. package/docs/gateway/configuration-examples.md +0 -10
  432. package/docs/gateway/configuration-reference.md +22 -47
  433. package/docs/gateway/configuration.md +0 -3
  434. package/docs/gateway/heartbeat.md +0 -2
  435. package/docs/gateway/security/index.md +1 -6
  436. package/docs/gateway/troubleshooting.md +0 -1
  437. package/docs/help/faq.md +0 -13
  438. package/docs/help/troubleshooting.md +0 -1
  439. package/docs/index.md +0 -6
  440. package/docs/install/ansible.md +2 -3
  441. package/docs/install/docker.md +1 -7
  442. package/docs/install/fly.md +0 -14
  443. package/docs/install/northflank.mdx +7 -11
  444. package/docs/install/railway.mdx +6 -10
  445. package/docs/install/render.mdx +1 -2
  446. package/docs/ja-JP/index.md +0 -3
  447. package/docs/pi.md +3 -5
  448. package/docs/platforms/digitalocean.md +0 -1
  449. package/docs/platforms/mac/voicewake.md +0 -1
  450. package/docs/providers/index.md +0 -2
  451. package/docs/refactor/outbound-session-mirroring.md +0 -2
  452. package/docs/reference/AGENTS.default.md +0 -1
  453. package/docs/reference/RELEASING.md +0 -1
  454. package/docs/reference/session-management-compaction.md +0 -1
  455. package/docs/reference/templates/AGENTS.md +0 -7
  456. package/docs/reference/wizard.md +0 -4
  457. package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -1
  458. package/docs/security/README.md +0 -1
  459. package/docs/security/THREAT-MODEL-ATLAS.md +7 -10
  460. package/docs/start/docs-directory.md +0 -1
  461. package/docs/start/hubs.md +0 -1
  462. package/docs/start/lore.md +0 -3
  463. package/docs/start/setup.md +0 -2
  464. package/docs/start/showcase.md +0 -2
  465. package/docs/start/symi.md +0 -4
  466. package/docs/start/wizard-cli-reference.md +0 -4
  467. package/docs/start/wizard.md +3 -4
  468. package/docs/tools/agent-send.md +0 -1
  469. package/docs/tools/elevated.md +0 -2
  470. package/docs/tools/exec-approvals.md +0 -1
  471. package/docs/tools/index.md +0 -7
  472. package/docs/tools/multi-agent-sandbox-tools.md +1 -2
  473. package/docs/tools/reactions.md +0 -1
  474. package/docs/tools/slash-commands.md +0 -14
  475. package/docs/tools/symihub.md +0 -1
  476. package/docs/tts.md +0 -1
  477. package/docs/web/control-ui.md +0 -1
  478. package/docs/zh-CN/automation/cron-jobs.md +0 -2
  479. package/docs/zh-CN/automation/poll.md +0 -8
  480. package/docs/zh-CN/automation/webhook.md +0 -2
  481. package/docs/zh-CN/channels/broadcast-groups.md +0 -1
  482. package/docs/zh-CN/channels/channel-routing.md +4 -9
  483. package/docs/zh-CN/channels/group-messages.md +0 -2
  484. package/docs/zh-CN/channels/groups.md +0 -10
  485. package/docs/zh-CN/channels/imessage.md +0 -2
  486. package/docs/zh-CN/channels/index.md +0 -1
  487. package/docs/zh-CN/channels/msteams.md +0 -2
  488. package/docs/zh-CN/channels/pairing.md +0 -3
  489. package/docs/zh-CN/channels/signal.md +0 -2
  490. package/docs/zh-CN/channels/slack.md +0 -2
  491. package/docs/zh-CN/channels/telegram.md +0 -3
  492. package/docs/zh-CN/channels/troubleshooting.md +0 -2
  493. package/docs/zh-CN/cli/channels.md +0 -6
  494. package/docs/zh-CN/cli/configure.md +0 -1
  495. package/docs/zh-CN/cli/directory.md +0 -1
  496. package/docs/zh-CN/cli/index.md +0 -7
  497. package/docs/zh-CN/cli/message.md +1 -42
  498. package/docs/zh-CN/cli/status.md +0 -1
  499. package/docs/zh-CN/concepts/architecture.md +0 -1
  500. package/docs/zh-CN/concepts/features.md +0 -2
  501. package/docs/zh-CN/concepts/markdown-formatting.md +6 -8
  502. package/docs/zh-CN/concepts/messages.md +0 -1
  503. package/docs/zh-CN/concepts/multi-agent.md +4 -5
  504. package/docs/zh-CN/concepts/queue.md +0 -3
  505. package/docs/zh-CN/concepts/retry.md +0 -5
  506. package/docs/zh-CN/concepts/session-tool.md +0 -2
  507. package/docs/zh-CN/concepts/session.md +3 -11
  508. package/docs/zh-CN/concepts/streaming.md +0 -2
  509. package/docs/zh-CN/concepts/system-prompt.md +0 -2
  510. package/docs/zh-CN/concepts/timezone.md +0 -2
  511. package/docs/zh-CN/date-time.md +0 -1
  512. package/docs/zh-CN/experiments/plans/cron-add-hardening.md +0 -1
  513. package/docs/zh-CN/gateway/configuration-examples.md +0 -7
  514. package/docs/zh-CN/gateway/configuration.md +2 -50
  515. package/docs/zh-CN/gateway/heartbeat.md +0 -2
  516. package/docs/zh-CN/gateway/security/index.md +1 -6
  517. package/docs/zh-CN/gateway/troubleshooting.md +1 -14
  518. package/docs/zh-CN/help/faq.md +0 -15
  519. package/docs/zh-CN/index.md +0 -3
  520. package/docs/zh-CN/install/ansible.md +2 -3
  521. package/docs/zh-CN/install/docker.md +1 -7
  522. package/docs/zh-CN/install/fly.md +0 -14
  523. package/docs/zh-CN/install/northflank.mdx +7 -11
  524. package/docs/zh-CN/install/railway.mdx +6 -10
  525. package/docs/zh-CN/install/render.mdx +1 -2
  526. package/docs/zh-CN/pi.md +3 -5
  527. package/docs/zh-CN/platforms/digitalocean.md +0 -1
  528. package/docs/zh-CN/platforms/mac/voicewake.md +0 -1
  529. package/docs/zh-CN/providers/index.md +0 -2
  530. package/docs/zh-CN/refactor/outbound-session-mirroring.md +0 -2
  531. package/docs/zh-CN/reference/AGENTS.default.md +0 -1
  532. package/docs/zh-CN/reference/RELEASING.md +0 -1
  533. package/docs/zh-CN/reference/session-management-compaction.md +0 -1
  534. package/docs/zh-CN/reference/templates/AGENTS.md +0 -5
  535. package/docs/zh-CN/start/docs-directory.md +0 -1
  536. package/docs/zh-CN/start/getting-started.md +0 -5
  537. package/docs/zh-CN/start/hubs.md +0 -1
  538. package/docs/zh-CN/start/lore.md +0 -3
  539. package/docs/zh-CN/start/setup.md +0 -2
  540. package/docs/zh-CN/start/showcase.md +0 -2
  541. package/docs/zh-CN/start/symi.md +0 -4
  542. package/docs/zh-CN/start/wizard.md +0 -5
  543. package/docs/zh-CN/tools/agent-send.md +0 -1
  544. package/docs/zh-CN/tools/elevated.md +0 -2
  545. package/docs/zh-CN/tools/exec-approvals.md +0 -1
  546. package/docs/zh-CN/tools/index.md +0 -7
  547. package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +1 -2
  548. package/docs/zh-CN/tools/reactions.md +0 -1
  549. package/docs/zh-CN/tools/slash-commands.md +0 -9
  550. package/docs/zh-CN/tts.md +0 -2
  551. package/docs/zh-CN/web/control-ui.md +0 -1
  552. package/package.json +1 -1
  553. package/dist/register.configure-C44y-Fvy.js +0 -147
  554. package/dist/web-Dbcm5oiY.js +0 -109
  555. package/docs/channels/discord.md +0 -998
  556. package/docs/zh-CN/channels/discord.md +0 -468
@@ -1,468 +0,0 @@
1
- ---
2
- read_when:
3
- - 开发 Discord 渠道功能时
4
- summary: Discord 机器人支持状态、功能和配置
5
- title: Discord
6
- x-i18n:
7
- generated_at: "2026-02-03T07:45:45Z"
8
- model: claude-opus-4-5
9
- provider: pi
10
- source_hash: 2f0083b55648f9158668b80d078353421e7dc310135fdc43f2d280b242bf8459
11
- source_path: channels/discord.md
12
- workflow: 15
13
- ---
14
-
15
- # Discord(Bot API)
16
-
17
- 状态:已支持通过官方 Discord 机器人网关进行私信和服务器文字频道通信。
18
-
19
- ## 快速设置(新手)
20
-
21
- 1. 创建 Discord 机器人并复制机器人令牌。
22
- 2. 在 Discord 应用设置中启用 **Message Content Intent**(如果你计划使用允许列表或名称查找,还需启用 **Server Members Intent**)。
23
- 3. 为 Symi 设置令牌:
24
- - 环境变量:`DISCORD_BOT_TOKEN=...`
25
- - 或配置:`channels.discord.token: "..."`。
26
- - 如果两者都设置,配置优先(环境变量回退仅适用于默认账户)。
27
- 4. 使用消息权限邀请机器人到你的服务器(如果你只想使用私信,可以创建一个私人服务器)。
28
- 5. 启动 Gateway 网关。
29
- 6. 私信访问默认采用配对模式;首次联系时需批准配对码。
30
-
31
- 最小配置:
32
-
33
- ```json5
34
- {
35
- channels: {
36
- discord: {
37
- enabled: true,
38
- token: "YOUR_BOT_TOKEN",
39
- },
40
- },
41
- }
42
- ```
43
-
44
- ## 目标
45
-
46
- - 通过 Discord 私信或服务器频道与 Symi 对话。
47
- - 直接聊天会合并到智能体的主会话(默认 `agent:main:main`);服务器频道保持隔离为 `agent:<agentId>:discord:channel:<channelId>`(显示名称使用 `discord:<guildSlug>#<channelSlug>`)。
48
- - 群组私信默认被忽略;通过 `channels.discord.dm.groupEnabled` 启用,并可选择通过 `channels.discord.dm.groupChannels` 进行限制。
49
- - 保持路由确定性:回复始终返回到消息来源的渠道。
50
-
51
- ## 工作原理
52
-
53
- 1. 创建 Discord 应用程序 → Bot,启用你需要的意图(私信 + 服务器消息 + 消息内容),并获取机器人令牌。
54
- 2. 使用所需权限邀请机器人到你的服务器,以便在你想使用的地方读取/发送消息。
55
- 3. 使用 `channels.discord.token` 配置 Symi(或使用 `DISCORD_BOT_TOKEN` 作为回退)。
56
- 4. 运行 Gateway 网关;当令牌可用(配置优先,环境变量回退)且 `channels.discord.enabled` 不为 `false` 时,它会自动启动 Discord 渠道。
57
- - 如果你更喜欢使用环境变量,设置 `DISCORD_BOT_TOKEN`(配置块是可选的)。
58
- 5. 直接聊天:发送时使用 `user:<id>`(或 `<@id>` 提及);所有对话都进入共享的 `main` 会话。纯数字 ID 是模糊的,会被拒绝。
59
- 6. 服务器频道:发送时使用 `channel:<channelId>`。默认需要提及,可以按服务器或按频道设置。
60
- 7. 直接聊天:默认通过 `channels.discord.dm.policy` 进行安全保护(默认:`"pairing"`)。未知发送者会收到配对码(1 小时后过期);通过 `symi pairing approve discord <code>` 批准。
61
- - 要保持旧的"对任何人开放"行为:设置 `channels.discord.dm.policy="open"` 和 `channels.discord.dm.allowFrom=["*"]`。
62
- - 要使用硬编码允许列表:设置 `channels.discord.dm.policy="allowlist"` 并在 `channels.discord.dm.allowFrom` 中列出发送者。
63
- - 要忽略所有私信:设置 `channels.discord.dm.enabled=false` 或 `channels.discord.dm.policy="disabled"`。
64
- 8. 群组私信默认被忽略;通过 `channels.discord.dm.groupEnabled` 启用,并可选择通过 `channels.discord.dm.groupChannels` 进行限制。
65
- 9. 可选服务器规则:设置 `channels.discord.guilds`,以服务器 ID(首选)或 slug 为键,并包含每个频道的规则。
66
- 10. 可选原生命令:`commands.native` 默认为 `"auto"`(Discord/Telegram 开启,Slack 关闭)。使用 `channels.discord.commands.native: true|false|"auto"` 覆盖;`false` 会清除之前注册的命令。文本命令由 `commands.text` 控制,必须作为独立的 `/...` 消息发送。使用 `commands.useAccessGroups: false` 可跳过命令的访问组检查。
67
- - 完整命令列表 + 配置:[斜杠命令](/tools/slash-commands)
68
- 11. 可选服务器上下文历史:设置 `channels.discord.historyLimit`(默认 20,回退到 `messages.groupChat.historyLimit`)以在回复提及时包含最近 N 条服务器消息作为上下文。设置 `0` 禁用。
69
- 12. 表情反应:智能体可以通过 `discord` 工具触发表情反应(受 `channels.discord.actions.*` 控制)。
70
- - 表情反应移除语义:参见 [/tools/reactions](/tools/reactions)。
71
- - `discord` 工具仅在当前渠道是 Discord 时暴露。
72
- 13. 原生命令使用隔离的会话键(`agent:<agentId>:discord:slash:<userId>`)而不是共享的 `main` 会话。
73
-
74
- 注意:名称 → ID 解析使用服务器成员搜索,需要 Server Members Intent;如果机器人无法搜索成员,请使用 ID 或 `<@id>` 提及。
75
- 注意:Slug 为小写,空格替换为 `-`。频道名称的 slug 不包含前导 `#`。
76
- 注意:服务器上下文 `[from:]` 行包含 `author.tag` + `id`,便于进行可提及的回复。
77
-
78
- ## 配置写入
79
-
80
- 默认情况下,允许 Discord 写入由 `/config set|unset` 触发的配置更新(需要 `commands.config: true`)。
81
-
82
- 禁用方式:
83
-
84
- ```json5
85
- {
86
- channels: { discord: { configWrites: false } },
87
- }
88
- ```
89
-
90
- ## 如何创建自己的机器人
91
-
92
- 这是在服务器(guild)频道(如 `#help`)中运行 Symi 的"Discord 开发者门户"设置。
93
-
94
- ### 1)创建 Discord 应用 + 机器人用户
95
-
96
- 1. Discord 开发者门户 → **Applications** → **New Application**
97
- 2. 在你的应用中:
98
- - **Bot** → **Add Bot**
99
- - 复制 **Bot Token**(这是你放入 `DISCORD_BOT_TOKEN` 的内容)
100
-
101
- ### 2)启用 Symi 需要的网关意图
102
-
103
- Discord 会阻止"特权意图",除非你明确启用它们。
104
-
105
- 在 **Bot** → **Privileged Gateway Intents** 中启用:
106
-
107
- - **Message Content Intent**(在大多数服务器中读取消息文本所必需;没有它你会看到"Used disallowed intents"或机器人会连接但不响应消息)
108
- - **Server Members Intent**(推荐;服务器中的某些成员/用户查找和允许列表匹配需要)
109
-
110
- 你通常**不需要** **Presence Intent**。
111
-
112
- ### 3)生成邀请 URL(OAuth2 URL Generator)
113
-
114
- 在你的应用中:**OAuth2** → **URL Generator**
115
-
116
- **Scopes**
117
-
118
- - ✅ `bot`
119
- - ✅ `applications.commands`(原生命令所需)
120
-
121
- **Bot Permissions**(最小基线)
122
-
123
- - ✅ View Channels
124
- - ✅ Send Messages
125
- - ✅ Read Message History
126
- - ✅ Embed Links
127
- - ✅ Attach Files
128
- - ✅ Add Reactions(可选但推荐)
129
- - ✅ Use External Emojis / Stickers(可选;仅当你需要时)
130
-
131
- 除非你在调试并完全信任机器人,否则避免使用 **Administrator**。
132
-
133
- 复制生成的 URL,打开它,选择你的服务器,然后安装机器人。
134
-
135
- ### 4)获取 ID(服务器/用户/频道)
136
-
137
- Discord 到处使用数字 ID;Symi 配置优先使用 ID。
138
-
139
- 1. Discord(桌面/网页)→ **用户设置** → **高级** → 启用 **开发者模式**
140
- 2. 右键点击:
141
- - 服务器名称 → **复制服务器 ID**(服务器 ID)
142
- - 频道(例如 `#help`)→ **复制频道 ID**
143
- - 你的用户 → **复制用户 ID**
144
-
145
- ### 5)配置 Symi
146
-
147
- #### 令牌
148
-
149
- 通过环境变量设置机器人令牌(服务器上推荐):
150
-
151
- - `DISCORD_BOT_TOKEN=...`
152
-
153
- 或通过配置:
154
-
155
- ```json5
156
- {
157
- channels: {
158
- discord: {
159
- enabled: true,
160
- token: "YOUR_BOT_TOKEN",
161
- },
162
- },
163
- }
164
- ```
165
-
166
- 多账户支持:使用 `channels.discord.accounts`,每个账户有自己的令牌和可选的 `name`。参见 [`gateway/configuration`](/gateway/configuration#telegramaccounts--discordaccounts--slackaccounts--signalaccounts--imessageaccounts) 了解通用模式。
167
-
168
- #### 允许列表 + 频道路由
169
-
170
- 示例"单服务器,只允许我,只允许 #help":
171
-
172
- ```json5
173
- {
174
- channels: {
175
- discord: {
176
- enabled: true,
177
- dm: { enabled: false },
178
- guilds: {
179
- YOUR_GUILD_ID: {
180
- users: ["YOUR_USER_ID"],
181
- requireMention: true,
182
- channels: {
183
- help: { allow: true, requireMention: true },
184
- },
185
- },
186
- },
187
- retry: {
188
- attempts: 3,
189
- minDelayMs: 500,
190
- maxDelayMs: 30000,
191
- jitter: 0.1,
192
- },
193
- },
194
- },
195
- }
196
- ```
197
-
198
- 注意:
199
-
200
- - `requireMention: true` 意味着机器人只在被提及时回复(推荐用于共享频道)。
201
- - `agents.list[].groupChat.mentionPatterns`(或 `messages.groupChat.mentionPatterns`)对于服务器消息也算作提及。
202
- - 多智能体覆盖:在 `agents.list[].groupChat.mentionPatterns` 上设置每个智能体的模式。
203
- - 如果存在 `channels`,任何未列出的频道默认被拒绝。
204
- - 使用 `"*"` 频道条目在所有频道应用默认值;显式频道条目覆盖通配符。
205
- - 话题继承父频道配置(允许列表、`requireMention`、Skills、提示词等),除非你显式添加话题频道 ID。
206
- - 机器人发送的消息默认被忽略;设置 `channels.discord.allowBots=true` 允许它们(自己的消息仍被过滤)。
207
- - 警告:如果你允许回复其他机器人(`channels.discord.allowBots=true`),请使用 `requireMention`、`channels.discord.guilds.*.channels.<id>.users` 允许列表和/或在 `AGENTS.md` 和 `SYMICORE.md` 中设置明确的防护措施来防止机器人之间的回复循环。
208
-
209
- ### 6)验证是否工作
210
-
211
- 1. 启动 Gateway 网关。
212
- 2. 在你的服务器频道中发送:`@Krill hello`(或你的机器人名称)。
213
- 3. 如果没有反应:查看下面的**故障排除**。
214
-
215
- ### 故障排除
216
-
217
- - 首先:运行 `symi doctor` 和 `symi channels status --probe`(可操作的警告 + 快速审计)。
218
- - **"Used disallowed intents"**:在开发者门户中启用 **Message Content Intent**(可能还需要 **Server Members Intent**),然后重启 Gateway 网关。
219
- - **机器人连接但从不在服务器频道回复**:
220
- - 缺少 **Message Content Intent**,或
221
- - 机器人缺少频道权限(View/Send/Read History),或
222
- - 你的配置需要提及但你没有提及它,或
223
- - 你的服务器/频道允许列表拒绝了该频道/用户。
224
- - **`requireMention: false` 但仍然没有回复**:
225
- - `channels.discord.groupPolicy` 默认为 **allowlist**;将其设置为 `"open"` 或在 `channels.discord.guilds` 下添加服务器条目(可选择在 `channels.discord.guilds.<id>.channels` 下列出频道以进行限制)。
226
- - 如果你只设置了 `DISCORD_BOT_TOKEN` 而从未创建 `channels.discord` 部分,运行时会将 `groupPolicy` 默认为 `open`。添加 `channels.discord.groupPolicy`、`channels.defaults.groupPolicy` 或服务器/频道允许列表来锁定它。
227
- - `requireMention` 必须位于 `channels.discord.guilds`(或特定频道)下。顶层的 `channels.discord.requireMention` 会被忽略。
228
- - **权限审计**(`channels status --probe`)只检查数字频道 ID。如果你使用 slug/名称作为 `channels.discord.guilds.*.channels` 键,审计无法验证权限。
229
- - **私信不工作**:`channels.discord.dm.enabled=false`、`channels.discord.dm.policy="disabled"`,或者你尚未被批准(`channels.discord.dm.policy="pairing"`)。
230
- - **Discord 中的执行审批**:Discord 支持私信中执行审批的**按钮 UI**(允许一次 / 始终允许 / 拒绝)。`/approve <id> ...` 仅用于转发的审批,不会解析 Discord 的按钮提示。如果你看到 `❌ Failed to submit approval: Error: unknown approval id` 或 UI 从未出现,请检查:
231
- - 你的配置中有 `channels.discord.execApprovals.enabled: true`。
232
- - 你的 Discord 用户 ID 在 `channels.discord.execApprovals.approvers` 中列出(UI 仅发送给审批者)。
233
- - 使用私信提示中的按钮(**Allow once**、**Always allow**、**Deny**)。
234
- - 参见[执行审批](/tools/exec-approvals)和[斜杠命令](/tools/slash-commands)了解更广泛的审批和命令流程。
235
-
236
- ## 功能和限制
237
-
238
- - 支持私信和服务器文字频道(话题被视为独立频道;不支持语音)。
239
- - 打字指示器尽力发送;消息分块使用 `channels.discord.textChunkLimit`(默认 2000),并按行数分割长回复(`channels.discord.maxLinesPerMessage`,默认 17)。
240
- - 可选换行分块:设置 `channels.discord.chunkMode="newline"` 以在空行(段落边界)处分割,然后再进行长度分块。
241
- - 支持文件上传,最大 `channels.discord.mediaMaxMb`(默认 8 MB)。
242
- - 默认服务器回复需要提及,以避免嘈杂的机器人。
243
- - 当消息引用另一条消息时,会注入回复上下文(引用内容 + ID)。
244
- - 原生回复线程**默认关闭**;使用 `channels.discord.replyToMode` 和回复标签启用。
245
-
246
- ## 重试策略
247
-
248
- 出站 Discord API 调用在速率限制(429)时使用 Discord `retry_after`(如果可用)进行重试,采用指数退避和抖动。通过 `channels.discord.retry` 配置。参见[重试策略](/concepts/retry)。
249
-
250
- ## 配置
251
-
252
- ```json5
253
- {
254
- channels: {
255
- discord: {
256
- enabled: true,
257
- token: "abc.123",
258
- groupPolicy: "allowlist",
259
- guilds: {
260
- "*": {
261
- channels: {
262
- general: { allow: true },
263
- },
264
- },
265
- },
266
- mediaMaxMb: 8,
267
- actions: {
268
- reactions: true,
269
- stickers: true,
270
- emojiUploads: true,
271
- stickerUploads: true,
272
- polls: true,
273
- permissions: true,
274
- messages: true,
275
- threads: true,
276
- pins: true,
277
- search: true,
278
- memberInfo: true,
279
- roleInfo: true,
280
- roles: false,
281
- channelInfo: true,
282
- channels: true,
283
- voiceStatus: true,
284
- events: true,
285
- moderation: false,
286
- },
287
- replyToMode: "off",
288
- dm: {
289
- enabled: true,
290
- policy: "pairing", // pairing | allowlist | open | disabled
291
- allowFrom: ["123456789012345678", "steipete"],
292
- groupEnabled: false,
293
- groupChannels: ["symi-dm"],
294
- },
295
- guilds: {
296
- "*": { requireMention: true },
297
- "123456789012345678": {
298
- slug: "friends-of-symi",
299
- requireMention: false,
300
- reactionNotifications: "own",
301
- users: ["987654321098765432", "steipete"],
302
- channels: {
303
- general: { allow: true },
304
- help: {
305
- allow: true,
306
- requireMention: true,
307
- users: ["987654321098765432"],
308
- skills: ["search", "docs"],
309
- systemPrompt: "Keep answers short.",
310
- },
311
- },
312
- },
313
- },
314
- },
315
- },
316
- }
317
- ```
318
-
319
- 确认表情反应通过 `messages.ackReaction` + `messages.ackReactionScope` 全局控制。使用 `messages.removeAckAfterReply` 在机器人回复后清除确认表情反应。
320
-
321
- - `dm.enabled`:设置 `false` 忽略所有私信(默认 `true`)。
322
- - `dm.policy`:私信访问控制(推荐 `pairing`)。`"open"` 需要 `dm.allowFrom=["*"]`。
323
- - `dm.allowFrom`:私信允许列表(用户 ID 或名称)。用于 `dm.policy="allowlist"` 和 `dm.policy="open"` 验证。向导接受用户名,并在机器人可以搜索成员时将其解析为 ID。
324
- - `dm.groupEnabled`:启用群组私信(默认 `false`)。
325
- - `dm.groupChannels`:群组私信频道 ID 或 slug 的可选允许列表。
326
- - `groupPolicy`:控制服务器频道处理(`open|disabled|allowlist`);`allowlist` 需要频道允许列表。
327
- - `guilds`:按服务器规则,以服务器 ID(首选)或 slug 为键。
328
- - `guilds."*"`:当没有显式条目时应用的默认每服务器设置。
329
- - `guilds.<id>.slug`:用于显示名称的可选友好 slug。
330
- - `guilds.<id>.users`:可选的每服务器用户允许列表(ID 或名称)。
331
- - `guilds.<id>.tools`:可选的每服务器工具策略覆盖(`allow`/`deny`/`alsoAllow`),在频道覆盖缺失时使用。
332
- - `guilds.<id>.toolsBySender`:服务器级别的可选每发送者工具策略覆盖(在频道覆盖缺失时应用;支持 `"*"` 通配符)。
333
- - `guilds.<id>.channels.<channel>.allow`:当 `groupPolicy="allowlist"` 时允许/拒绝频道。
334
- - `guilds.<id>.channels.<channel>.requireMention`:频道的提及限制。
335
- - `guilds.<id>.channels.<channel>.tools`:可选的每频道工具策略覆盖(`allow`/`deny`/`alsoAllow`)。
336
- - `guilds.<id>.channels.<channel>.toolsBySender`:频道内的可选每发送者工具策略覆盖(支持 `"*"` 通配符)。
337
- - `guilds.<id>.channels.<channel>.users`:可选的每频道用户允许列表。
338
- - `guilds.<id>.channels.<channel>.skills`:Skills 过滤器(省略 = 所有 Skills,空 = 无)。
339
- - `guilds.<id>.channels.<channel>.systemPrompt`:频道的额外系统提示词(与频道主题组合)。
340
- - `guilds.<id>.channels.<channel>.enabled`:设置 `false` 禁用频道。
341
- - `guilds.<id>.channels`:频道规则(键为频道 slug 或 ID)。
342
- - `guilds.<id>.requireMention`:每服务器提及要求(可按频道覆盖)。
343
- - `guilds.<id>.reactionNotifications`:表情反应系统事件模式(`off`、`own`、`all`、`allowlist`)。
344
- - `textChunkLimit`:出站文本块大小(字符)。默认:2000。
345
- - `chunkMode`:`length`(默认)仅在超过 `textChunkLimit` 时分割;`newline` 在空行(段落边界)处分割,然后再进行长度分块。
346
- - `maxLinesPerMessage`:每条消息的软最大行数。默认:17。
347
- - `mediaMaxMb`:限制保存到磁盘的入站媒体大小。
348
- - `historyLimit`:回复提及时作为上下文包含的最近服务器消息数量(默认 20;回退到 `messages.groupChat.historyLimit`;`0` 禁用)。
349
- - `dmHistoryLimit`:私信历史限制(用户轮次)。每用户覆盖:`dms["<user_id>"].historyLimit`。
350
- - `retry`:出站 Discord API 调用的重试策略(attempts、minDelayMs、maxDelayMs、jitter)。
351
- - `pluralkit`:解析 PluralKit 代理消息,使系统成员显示为不同的发送者。
352
- - `actions`:每操作工具门控;省略允许所有(设置 `false` 禁用)。
353
- - `reactions`(涵盖表情反应 + 读取表情反应)
354
- - `stickers`、`emojiUploads`、`stickerUploads`、`polls`、`permissions`、`messages`、`threads`、`pins`、`search`
355
- - `memberInfo`、`roleInfo`、`channelInfo`、`voiceStatus`、`events`
356
- - `channels`(创建/编辑/删除频道 + 类别 + 权限)
357
- - `roles`(角色添加/移除,默认 `false`)
358
- - `moderation`(超时/踢出/封禁,默认 `false`)
359
- - `execApprovals`:Discord 专用执行审批私信(按钮 UI)。支持 `enabled`、`approvers`、`agentFilter`、`sessionFilter`。
360
-
361
- 表情反应通知使用 `guilds.<id>.reactionNotifications`:
362
-
363
- - `off`:无表情反应事件。
364
- - `own`:机器人自己消息上的表情反应(默认)。
365
- - `all`:所有消息上的所有表情反应。
366
- - `allowlist`:来自 `guilds.<id>.users` 的用户在所有消息上的表情反应(空列表禁用)。
367
-
368
- ### PluralKit(PK)支持
369
-
370
- 启用 PK 查找,以便代理消息解析到底层系统 + 成员。启用后,Symi 使用成员身份进行允许列表匹配,并将发送者标记为 `Member (PK:System)` 以避免意外的 Discord 提及。
371
-
372
- ```json5
373
- {
374
- channels: {
375
- discord: {
376
- pluralkit: {
377
- enabled: true,
378
- token: "pk_live_...", // 可选;私有系统需要
379
- },
380
- },
381
- },
382
- }
383
- ```
384
-
385
- 允许列表注意事项(启用 PK 时):
386
-
387
- - 在 `dm.allowFrom`、`guilds.<id>.users` 或每频道 `users` 中使用 `pk:<memberId>`。
388
- - 成员显示名称也按名称/slug 匹配。
389
- - 查找使用**原始** Discord 消息 ID(代理前的消息),因此 PK API 只在其 30 分钟窗口内解析它。
390
- - 如果 PK 查找失败(例如,没有令牌的私有系统),代理消息会被视为机器人消息并被丢弃,除非 `channels.discord.allowBots=true`。
391
-
392
- ### 工具操作默认值
393
-
394
- | 操作组 | 默认 | 说明 |
395
- | -------------- | ---- | ----------------------------------- |
396
- | reactions | 启用 | 表情反应 + 列出表情反应 + emojiList |
397
- | stickers | 启用 | 发送贴纸 |
398
- | emojiUploads | 启用 | 上传表情 |
399
- | stickerUploads | 启用 | 上传贴纸 |
400
- | polls | 启用 | 创建投票 |
401
- | permissions | 启用 | 频道权限快照 |
402
- | messages | 启用 | 读取/发送/编辑/删除 |
403
- | threads | 启用 | 创建/列出/回复 |
404
- | pins | 启用 | 置顶/取消置顶/列出 |
405
- | search | 启用 | 消息搜索(预览功能) |
406
- | memberInfo | 启用 | 成员信息 |
407
- | roleInfo | 启用 | 角色列表 |
408
- | channelInfo | 启用 | 频道信息 + 列表 |
409
- | channels | 启用 | 频道/类别管理 |
410
- | voiceStatus | 启用 | 语音状态查询 |
411
- | events | 启用 | 列出/创建预定事件 |
412
- | roles | 禁用 | 角色添加/移除 |
413
- | moderation | 禁用 | 超时/踢出/封禁 |
414
-
415
- - `replyToMode`:`off`(默认)、`first` 或 `all`。仅在模型包含回复标签时适用。
416
-
417
- ## 回复标签
418
-
419
- 要请求线程回复,模型可以在其输出中包含一个标签:
420
-
421
- - `[[reply_to_current]]` — 回复触发的 Discord 消息。
422
- - `[[reply_to:<id>]]` — 回复上下文/历史中的特定消息 ID。当前消息 ID 作为 `[message_id: …]` 附加到提示词;历史条目已包含 ID。
423
-
424
- 行为由 `channels.discord.replyToMode` 控制:
425
-
426
- - `off`:忽略标签。
427
- - `first`:只有第一个出站块/附件是回复。
428
- - `all`:每个出站块/附件都是回复。
429
-
430
- 允许列表匹配注意事项:
431
-
432
- - `allowFrom`/`users`/`groupChannels` 接受 ID、名称、标签或像 `<@id>` 这样的提及。
433
- - 支持 `discord:`/`user:`(用户)和 `channel:`(群组私信)等前缀。
434
- - 使用 `*` 允许任何发送者/频道。
435
- - 当存在 `guilds.<id>.channels` 时,未列出的频道默认被拒绝。
436
- - 当省略 `guilds.<id>.channels` 时,允许列表中服务器的所有频道都被允许。
437
- - 要**不允许任何频道**,设置 `channels.discord.groupPolicy: "disabled"`(或保持空允许列表)。
438
- - 配置向导接受 `Guild/Channel` 名称(公开 + 私有)并在可能时将其解析为 ID。
439
- - 启动时,Symi 将允许列表中的频道/用户名称解析为 ID(当机器人可以搜索成员时)并记录映射;未解析的条目保持原样。
440
-
441
- 原生命令注意事项:
442
-
443
- - 注册的命令镜像 Symi 的聊天命令。
444
- - 原生命令遵循与私信/服务器消息相同的允许列表(`channels.discord.dm.allowFrom`、`channels.discord.guilds`、每频道规则)。
445
- - 斜杠命令可能在 Discord UI 中对未在允许列表中的用户仍然可见;Symi 在执行时强制执行允许列表并回复"未授权"。
446
-
447
- ## 工具操作
448
-
449
- 智能体可以使用以下操作调用 `discord`:
450
-
451
- - `react` / `reactions`(添加或列出表情反应)
452
- - `sticker`、`poll`、`permissions`
453
- - `readMessages`、`sendMessage`、`editMessage`、`deleteMessage`
454
- - 读取/搜索/置顶工具负载包含规范化的 `timestampMs`(UTC 纪元毫秒)和 `timestampUtc` 以及原始 Discord `timestamp`。
455
- - `threadCreate`、`threadList`、`threadReply`
456
- - `pinMessage`、`unpinMessage`、`listPins`
457
- - `searchMessages`、`memberInfo`、`roleInfo`、`roleAdd`、`roleRemove`、`emojiList`
458
- - `channelInfo`、`channelList`、`voiceStatus`、`eventList`、`eventCreate`
459
- - `timeout`、`kick`、`ban`
460
-
461
- Discord 消息 ID 在注入的上下文中显示(`[discord message id: …]` 和历史行),以便智能体可以定位它们。
462
- 表情可以是 unicode(例如 `✅`)或自定义表情语法如 `<:party_blob:1234567890>`。
463
-
464
- ## 安全与运维
465
-
466
- - 像对待密码一样对待机器人令牌;在受监督的主机上优先使用 `DISCORD_BOT_TOKEN` 环境变量,或锁定配置文件权限。
467
- - 只授予机器人所需的权限(通常是读取/发送消息)。
468
- - 如果机器人卡住或受到速率限制,在确认没有其他进程拥有 Discord 会话后重启 Gateway 网关(`symi gateway --force`)。