@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.
- package/dist/{accounts-N0UgZgns.js → accounts-BJ5OAcgH.js} +1 -1
- package/dist/{accounts-CE_sQGRE.js → accounts-DCUXUii1.js} +1 -1
- package/dist/{accounts-CqcULMME.js → accounts-pUtPOtfY.js} +1 -1
- package/dist/{acp-cli-BIIJl8pr.js → acp-cli-Bd7zTGMG.js} +11 -11
- package/dist/{acp-cli-PZMyZ0Mk.js → acp-cli-CAJwsxMf.js} +2 -2
- package/dist/{agent-B1-z-xtF.js → agent-CgYKcblr.js} +15 -15
- package/dist/{agent-BB0akW1h.js → agent-PKbBK0s7.js} +10 -10
- package/dist/{agent-scope-ClAKxnug.js → agent-scope-B-TJ25d2.js} +1 -1
- package/dist/{agents-BNGKipaH.js → agents-DcJ8WSQN.js} +5 -5
- package/dist/{agents.config-DiGDHN5O.js → agents.config-B_D0zm4U.js} +1 -1
- package/dist/{audio-preflight-BYjvjFGL.js → audio-preflight-BOjDZX4-.js} +12 -12
- package/dist/{audio-preflight-DLFLQCD2.js → audio-preflight-CBDFctZN.js} +6 -6
- package/dist/{audio-preflight-CrK8LVSU.js → audio-preflight-D5SmAG5A.js} +33 -33
- package/dist/{audio-preflight-BNIWvQea.js → audio-preflight-gsZSpG-6.js} +6 -6
- package/dist/{audit-BtE8j-dr.js → audit-B-FXonMj.js} +16 -16
- package/dist/{audit-1DQHvjne.js → audit-jWmom3iG.js} +6 -6
- package/dist/{auth-choice-Do0jo6Fh.js → auth-choice-DuBca8ct.js} +8 -8
- package/dist/{auth-choice-By1yXFYw.js → auth-choice-PZidMRGp.js} +4 -4
- package/dist/{auth-2m65mNra.js → auth-iIMNsqsQ.js} +1 -1
- package/dist/{auth-profiles-BDxMPCzG.js → auth-profiles-DDtoMCMH.js} +3 -3
- package/dist/{auth-token-B5SrwexC.js → auth-token-DRvGnO0q.js} +1 -1
- package/dist/{banner-ygxIi7m2.js → banner-CU1sM84V.js} +1 -1
- package/dist/{bindings-D1-kK70N.js → bindings-DvsYYXnb.js} +1 -1
- package/dist/{bonjour-discovery-xt1zeEfY.js → bonjour-discovery-BL4z96Tc.js} +1 -1
- package/dist/{browser-cli-BRGanVBi.js → browser-cli-BsCQ2XZY.js} +12 -12
- package/dist/{browser-cli-DhLei5PT.js → browser-cli-DXOwEYL2.js} +3 -3
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +20 -20
- package/dist/bundled/session-memory/handler.js +15 -15
- package/dist/{call-Cx-o6Dhn.js → call-5H3uhl5b.js} +2 -2
- package/dist/{call-VlN8r8Yw.js → call-CYEen5Ei.js} +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-CWAaOnhS.js → channel-options-CVki8ItI.js} +1 -1
- package/dist/{channel-options-ddC79e9l.js → channel-options-DkT8ZW1K.js} +3 -3
- package/dist/{channel-selection-BHVDWm5E.js → channel-selection-DSb720Z4.js} +1 -1
- package/dist/{channel-web-3Fk08NB0.js → channel-web-D5FPFMRz.js} +18 -18
- package/dist/{channels-cli-BE0UupX4.js → channels-cli-CbV1d2WZ.js} +32 -32
- package/dist/{channels-cli-BrhW16mW.js → channels-cli-oQ1C-AU0.js} +77 -77
- package/dist/{channels-status-issues-8q95isjL.js → channels-status-issues-cCvkQ-ol.js} +1 -1
- package/dist/{chrome-DFDfD9iU.js → chrome-BjVab8gM.js} +1 -1
- package/dist/{chrome-BSvYVwtO.js → chrome-Co3mvu3F.js} +1 -1
- package/dist/{chrome-CQbyl36M.js → chrome-DE8Oufrf.js} +3 -3
- package/dist/{chrome-BtCY5umU.js → chrome-nPMY1XTJ.js} +1 -1
- package/dist/{clack-prompter-BmPna6hP.js → clack-prompter-DT0j9_UM.js} +3 -3
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-DMtjh5qN.js → cli-59ffinHT.js} +67 -67
- package/dist/{cli-D49q36r_.js → cli-CqhP6PUQ.js} +28 -28
- package/dist/{client-Ckf8J2JU.js → client-dv7KGbcT.js} +1 -1
- package/dist/{clipboard-mI0DzbIO.js → clipboard-zB3u-GqT.js} +1 -1
- package/dist/{command-registry-DTl37Wjw.js → command-registry-D1tbqf1y.js} +11 -11
- package/dist/{commands-XFLS2TYg.js → commands-DSSJAHdl.js} +1 -1
- package/dist/{commands-registry-B41kVYKm.js → commands-registry-BZPwUbMj.js} +3 -3
- package/dist/{completion-cli-Dkglutko.js → completion-cli-CzWoGt4o.js} +2 -2
- package/dist/{completion-cli-DXqWKDoE.js → completion-cli-DoqE42lZ.js} +2 -2
- package/dist/{config-C8t3FjYR.js → config-BrEmT6tv.js} +0 -1
- package/dist/{config-oSPRjRbn.js → config-CmXb83Tn.js} +0 -1
- package/dist/{config-uTRhGqpO.js → config-CmwJ3rLZ.js} +0 -1
- package/dist/{config-cli-DJAVoHDd.js → config-cli-CBmx7mcc.js} +2 -2
- package/dist/{config-cli-CpsIHZZF.js → config-cli-D3GOlnhr.js} +7 -7
- package/dist/{config-DUO3fRn2.js → config-fZ5iPec5.js} +2 -3
- package/dist/{config-guard-R7x9x_YY.js → config-guard-B1toYtl7.js} +16 -16
- package/dist/{config-guard-uFr0h68n.js → config-guard-BajvaFKL.js} +2 -2
- package/dist/{config-validation-CCnYBJ-y.js → config-validation-B2jE1ZJ7.js} +1 -1
- package/dist/{config-validation-CQmiBqSl.js → config-validation-mxDPbed4.js} +1 -1
- package/dist/{configure-Be_6JS4z.js → configure-BfWlev89.js} +10 -10
- package/dist/{configure-DYItGjbK.js → configure-CotqdyEn.js} +20 -20
- package/dist/{consolidate-DBBdpAFC.js → consolidate-DCy1V6U4.js} +1 -1
- package/dist/{control-service-DOO5UCIH.js → control-service-CuYNM__P.js} +4 -4
- package/dist/{control-service-C2krfQ6n.js → control-service-DmPYRZsG.js} +5 -5
- package/dist/{control-ui-assets-ZLQealE9.js → control-ui-assets-Ddw3esY1.js} +2 -2
- package/dist/{cron-cli-Z_jebZw3.js → cron-cli-D2QR1HZy.js} +13 -13
- package/dist/{cron-cli-DT9SJHBB.js → cron-cli-yLxmMg8V.js} +3 -3
- package/dist/{daemon-cli-CVlz6aej.js → daemon-cli-9cQtMyjS.js} +13 -13
- package/dist/{daemon-cli-CCciSK0w.js → daemon-cli-BRuXVHoF.js} +6 -6
- package/dist/daemon-cli.js +0 -1
- package/dist/{daemon-runtime-Cyqtd1hp.js → daemon-runtime-CxObGDWF.js} +1 -1
- package/dist/{daemon-runtime-BIfnWFvI.js → daemon-runtime-NzQYCdC-.js} +2 -2
- package/dist/{deliver-CXD78NzG.js → deliver-B4-bcot9.js} +2 -2
- package/dist/{deliver-D30f3Zq0.js → deliver-Bd1wJIYa.js} +6 -6
- package/dist/{deliver-mIDF0QPA.js → deliver-D-QFqm31.js} +2 -2
- package/dist/{deliver-OX43pdcg.js → deliver-fvbnZ7DK.js} +2 -2
- package/dist/{deps-CH3UUjGi.js → deps-qGuX90aj.js} +5 -5
- package/dist/{devices-cli-xTF5NvWI.js → devices-cli-CCQflSD_.js} +10 -10
- package/dist/{devices-cli-Zi_yiHOq.js → devices-cli-CxIj9sdT.js} +2 -2
- package/dist/{diagnostic-Bf6iP3Mn.js → diagnostic-CE1zrQoC.js} +1 -1
- package/dist/{diagnostics-CZdQNpJS.js → diagnostics-BvQW1ILh.js} +1 -1
- package/dist/{directory-cli-CAODbrnC.js → directory-cli-Anojzb4L.js} +1 -1
- package/dist/{directory-cli-BQ846hMO.js → directory-cli-nzekx7U_.js} +11 -11
- package/dist/{dm-policy-shared-D0oP2lg9.js → dm-policy-shared--LjINCfL.js} +2 -2
- package/dist/{dns-cli-B4hPPmED.js → dns-cli-BpdAfuBP.js} +7 -7
- package/dist/{dns-cli-DfnSjffs.js → dns-cli-DDwviyAh.js} +1 -1
- package/dist/{dock-D2kv5Jqn.js → dock-DraLhHUo.js} +4 -4
- package/dist/{docs-cli-DwRjQWx_.js → docs-cli-BIU6wg-L.js} +3 -3
- package/dist/{docs-cli-CoHzkqcE.js → docs-cli-CftlX3Na.js} +1 -1
- package/dist/{doctor-completion-B0kXcAbW.js → doctor-completion-BKPYCCg2.js} +2 -2
- package/dist/{doctor-completion-CKxNPAvg.js → doctor-completion-CPDNcot7.js} +1 -1
- package/dist/{doctor-config-flow-MDnIBKix.js → doctor-config-flow-C48WFIOa.js} +6 -6
- package/dist/{doctor-config-flow-8hEkq_Na.js → doctor-config-flow-DnjSwpIq.js} +2 -2
- package/dist/entry.js +1 -2
- package/dist/{env-C3G7AJh9.js → env-MJUJ2NQc.js} +1 -1
- package/dist/{exec-on-PBk9i.js → exec-U-5HlzYK.js} +1 -1
- package/dist/{exec-approvals-cli-qmEHfpNz.js → exec-approvals-cli-Ce0uBWjm.js} +4 -4
- package/dist/{exec-approvals-cli-DTlmVg-w.js → exec-approvals-cli-DQRVtOea.js} +15 -15
- package/dist/extensionAPI.js +11 -11
- package/dist/{fetch-guard-DTSZW3EQ.js → fetch-guard-6XJZZERn.js} +1 -1
- package/dist/{gateway-cli-BmpCY2AF.js → gateway-cli-ND4m4Kwt.js} +48 -48
- package/dist/{gateway-cli-YIHSKACh.js → gateway-cli-NKCGIOtN.js} +104 -104
- package/dist/{gateway-rpc-WjdyAe-d.js → gateway-rpc-DNYSrIX0.js} +2 -2
- package/dist/{gateway-rpc-5jDi3Asn.js → gateway-rpc-Dl-8hBtr.js} +1 -1
- package/dist/{gemini-auth-BN-PrAYU.js → gemini-auth-De9M8hrQ.js} +1 -1
- package/dist/{glass-ui-ws-6-QqMD5e.js → glass-ui-ws-CmFJf1lZ.js} +40 -40
- package/dist/{glass-ui-ws-BfR4nIW9.js → glass-ui-ws-MmN7er_q.js} +90 -90
- package/dist/{gmail-setup-utils-CxeJwoVj.js → gmail-setup-utils-kcAg-11k.js} +1 -1
- package/dist/{health-Bsqi3Vq6.js → health-5JOdkPub.js} +6 -6
- package/dist/{health-OODsPlWQ.js → health-DEvWPnxM.js} +13 -13
- package/dist/{heartbeat-visibility-DEwIY-6M.js → heartbeat-visibility-Cv-VwGL2.js} +1 -1
- package/dist/{heartbeat-visibility-BdI8sYz5.js → heartbeat-visibility-suczWvXN.js} +1 -1
- package/dist/{hooks-cli-CjdAa5qI.js → hooks-cli-DaxAHwbM.js} +29 -29
- package/dist/{hooks-cli-C0EfX6yg.js → hooks-cli-uRNA4rQ7.js} +70 -70
- package/dist/{image-C-_RYrt6.js → image-Bht4AF-7.js} +3 -3
- package/dist/{image-ByO_Drag.js → image-CDwtQjmt.js} +2 -2
- package/dist/{image-C1UUid3j.js → image-CP3c8DbO.js} +2 -2
- package/dist/{image-jOZc-YbV.js → image-CcS-vzTA.js} +2 -2
- package/dist/{image-ops-_VIwIysk.js → image-ops-qMHHSRKc.js} +1 -1
- package/dist/index.js +81 -81
- package/dist/{inspect-CWCxFrwF.js → inspect-Bx22m7Kj.js} +1 -1
- package/dist/{installs-C9nlCMSp.js → installs-BSQx1Lqa.js} +1 -1
- package/dist/{ir-BV1xbN7V.js → ir-miEfMclo.js} +2 -2
- package/dist/{lifecycle-core-fglvLKJD.js → lifecycle-core-BaVOBgCY.js} +5 -5
- package/dist/{lifecycle-core-CM9qibfM.js → lifecycle-core-DAbrSgi3.js} +2 -2
- package/dist/llm-slug-generator.js +15 -15
- package/dist/{local-roots-CDwiG656.js → local-roots-7z0Wyz2q.js} +3 -3
- package/dist/{login-CkB3vCss.js → login-CLXBEpWu.js} +2 -2
- package/dist/{login-B7P81KNd.js → login-CePANfBf.js} +5 -5
- package/dist/{login-D86rGY50.js → login-DF29IdeD.js} +2 -2
- package/dist/{login-rAmvnA_x.js → login-OHsZnUot.js} +2 -2
- package/dist/{login-qr-B-p61OaJ.js → login-qr-BBRsx6OK.js} +2 -2
- package/dist/{login-qr-CARDVlGY.js → login-qr-DKZDXDM0.js} +2 -2
- package/dist/{login-qr-BvGMlDtt.js → login-qr-VVOORbP0.js} +2 -2
- package/dist/{login-qr-DUOrscdj.js → login-qr-naId1Uk8.js} +8 -8
- package/dist/{logs-cli-B0xP8RRD.js → logs-cli-BlCDyHzB.js} +3 -3
- package/dist/{logs-cli-D7HPX6Ni.js → logs-cli-C2ZCD8EL.js} +10 -10
- package/dist/{manager-9fFy5YUh.js → manager-09r0qPze.js} +1 -1
- package/dist/{manager-BqH4zTJP.js → manager-BnEdHzmO.js} +1 -1
- package/dist/{manager-Cl91PamN.js → manager-DEq_BuwA.js} +7 -7
- package/dist/{manager-s7BJFbMb.js → manager-_m-zKeg1.js} +1 -1
- package/dist/{markdown-tables-DDTOGxmK.js → markdown-tables-D5o9MKPO.js} +1 -1
- package/dist/{memory-cli-ofRFXIMf.js → memory-cli-C7Vn5r6X.js} +9 -9
- package/dist/{memory-cli-DjOf6nVQ.js → memory-cli-D3-V4nfo.js} +4 -4
- package/dist/{model-15vGRUuB.js → model-BE2s-x4F.js} +1 -1
- package/dist/{model-catalog-BbSNge0y.js → model-catalog-BgP-FTJu.js} +2 -2
- package/dist/{model-catalog-DP04T1FR.js → model-catalog-DnmeThgX.js} +4 -4
- package/dist/{model-picker-BoQ85aSA.js → model-picker-Ccw2FzMC.js} +3 -3
- package/dist/{model-picker-CMqYXQDe.js → model-picker-Dc7Cs81w.js} +2 -2
- package/dist/{models-WqYDizDS.js → models-BnCwmhCM.js} +8 -8
- package/dist/{models-cli-BVvZMjgU.js → models-cli-CW9t1xTy.js} +31 -31
- package/dist/{models-cli-ByGdPbCP.js → models-cli-ineH_KYs.js} +76 -76
- package/dist/{models-config-xU2Ziy89.js → models-config-BRS9dchi.js} +1 -1
- package/dist/{models-config-bV6kfdrq.js → models-config-ChFx7Ybe.js} +2 -2
- package/dist/{node-cli-lOPhQjPO.js → node-cli-Cr7O_8Bp.js} +26 -26
- package/dist/{node-cli-BR5TeUty.js → node-cli-DaQylXQv.js} +9 -9
- package/dist/{node-service-CgbgNEpR.js → node-service-Bes4cKr9.js} +1 -1
- package/dist/{nodes-cli-C1_XitYx.js → nodes-cli-CIkKPpUA.js} +11 -11
- package/dist/{nodes-cli-KIYPcjMB.js → nodes-cli-D4roYX2E.js} +3 -3
- package/dist/{note-BWIn5FhH.js → note-dPQ0j2K-.js} +1 -1
- package/dist/{npm-registry-spec-BHo8-2O3.js → npm-registry-spec-DaZAoRW7.js} +1 -1
- package/dist/{onboard-B-GACH42.js → onboard-Bfcq-a_O.js} +16 -16
- package/dist/{onboard-channels-Cb66eqL9.js → onboard-channels-C0GSp-zt.js} +6 -6
- package/dist/{onboard-channels-D4Vn22bC.js → onboard-channels-VqVD7o2p.js} +1 -1
- package/dist/{onboard-custom-BWc88v62.js → onboard-custom-CA7KQka0.js} +2 -2
- package/dist/{onboard-custom-SHFpa1N_.js → onboard-custom-DOcn94lU.js} +3 -3
- package/dist/{onboard-helpers-qA6-QEdV.js → onboard-helpers-ButT7p4-.js} +2 -2
- package/dist/{onboard-helpers-Dykoh0sY.js → onboard-helpers-DEHCq48z.js} +4 -4
- package/dist/{onboard-hooks-BlvJbQHW.js → onboard-hooks-Ceo2FZXE.js} +3 -3
- package/dist/{onboard-BAIQVk2v.js → onboard-po-NAb6c.js} +7 -7
- package/dist/{onboard-remote-D57ba8fg.js → onboard-remote-C4kH67BC.js} +2 -2
- package/dist/{onboard-remote-CiRuoXWu.js → onboard-remote-DJQBMhNy.js} +1 -1
- package/dist/{onboard-skills-C0kma0ay.js → onboard-skills-BJTyO0zW.js} +4 -4
- package/dist/{onboard-skills-C4xE4jvo.js → onboard-skills-Bs-_Cb_W.js} +3 -3
- package/dist/{onboarding-VwdbQCbE.js → onboarding--x9h6_xA.js} +10 -10
- package/dist/{onboarding-B2-8K875.js → onboarding-EpMQ9_-C.js} +14 -14
- package/dist/{onboarding.finalize-CIPNWauJ.js → onboarding.finalize-C-VLVWYf.js} +80 -80
- package/dist/{onboarding.finalize-9bEwYWCj.js → onboarding.finalize-DZVCMUTY.js} +36 -36
- package/dist/{onboarding.gateway-config-BpSp3Rgr.js → onboarding.gateway-config-BZSc_RON.js} +4 -4
- package/dist/{onboarding.gateway-config-CrBOqYo4.js → onboarding.gateway-config-DgCzt8vA.js} +17 -17
- package/dist/{openai-model-default-B6JY2TSZ.js → openai-model-default-WNzKrc6k.js} +2 -2
- package/dist/{outbound-B8JshF-G.js → outbound-BA_2R85M.js} +1 -1
- package/dist/{outbound-Bkiaeu1Z.js → outbound-BIq9eJ0e.js} +5 -5
- package/dist/{outbound-CZD_UTBc.js → outbound-BXZ7go46.js} +1 -1
- package/dist/{outbound-C7YA2LCL.js → outbound-DxPWkyYU.js} +1 -1
- package/dist/{outbound-attachment-Cvk3666C.js → outbound-attachment-vSG0Q-zk.js} +2 -2
- package/dist/{outbound-send-deps-DWBC3wmd.js → outbound-send-deps-DTmqoP_f.js} +5 -5
- package/dist/{pairing-cli-CyNNvfUS.js → pairing-cli-BDKNjdG1.js} +1 -1
- package/dist/{pairing-cli-DJfvpuzY.js → pairing-cli-CgTLlLG1.js} +12 -12
- package/dist/{pairing-labels-CxrkOe2Z.js → pairing-labels-trv6ONhE.js} +1 -1
- package/dist/{pairing-store-B-Vm6PLG.js → pairing-store-DfLO9ZQJ.js} +2 -2
- package/dist/{path-env-ikgTSk8q.js → path-env-9qjqygde.js} +1 -1
- package/dist/{pi-auth-json-V3y0xikp.js → pi-auth-json-BdKjVM1g.js} +1 -1
- package/dist/{pi-embedded-WJ0mHcDO.js → pi-embedded-CWsY69-4.js} +25 -25
- package/dist/{pi-embedded-helpers-CvQQZe87.js → pi-embedded-helpers-BBMy-lqr.js} +6 -6
- package/dist/{pi-embedded-helpers-DvVz03wF.js → pi-embedded-helpers-ChEYbgVj.js} +6 -6
- package/dist/{pi-embedded-helpers-D3RFM0JQ.js → pi-embedded-helpers-CzjYHfPh.js} +1 -1
- package/dist/{pi-embedded-helpers-D2_Nb5Be.js → pi-embedded-helpers-kzNCwrak.js} +2 -2
- package/dist/{pi-tools.policy-_Jg3xAfK.js → pi-tools.policy-BhD3bMxn.js} +2 -2
- package/dist/{pi-tools.policy-_OIJ7CqW.js → pi-tools.policy-fgixv1d4.js} +4 -4
- package/dist/{plugin-auto-enable-B43cqjdW.js → plugin-auto-enable-BUVt_YOG.js} +2 -2
- package/dist/{plugin-registry-CmQSWWXN.js → plugin-registry-B5ya-4Xl.js} +2 -2
- package/dist/{plugin-registry-DfeQP0HX.js → plugin-registry-B7U0wSWd.js} +4 -4
- package/dist/plugin-sdk/{audio-preflight-CCMYl-F5.js → audio-preflight-D3GtNLqW.js} +6 -6
- package/dist/plugin-sdk/{channel-web-C90B8EO2.js → channel-web-DTyqujjA.js} +6 -6
- package/dist/plugin-sdk/channels/status-reactions.d.ts +1 -1
- package/dist/plugin-sdk/{chrome-C3kf37SI.js → chrome-BKzAKr3K.js} +1 -1
- package/dist/plugin-sdk/config/types.agents.d.ts +1 -1
- package/dist/plugin-sdk/{config-B_frtb89.js → config-7wk65zKC.js} +0 -1
- package/dist/plugin-sdk/{deliver-BUejAj-b.js → deliver-TxAcw7J5.js} +2 -2
- package/dist/plugin-sdk/{image-CkBNuQnP.js → image-BtDVmYA5.js} +2 -2
- package/dist/plugin-sdk/index.js +15 -15
- package/dist/plugin-sdk/infra/outbound/channel-target.d.ts +1 -1
- package/dist/plugin-sdk/{login-cCqQ-tAu.js → login-DUym1Jy0.js} +2 -2
- package/dist/plugin-sdk/{login-qr-BbaSFUKu.js → login-qr-B-WBdvrX.js} +2 -2
- package/dist/plugin-sdk/{manager-ClqmpKsb.js → manager-B71SCzos.js} +1 -1
- package/dist/plugin-sdk/{outbound-7xO462S1.js → outbound-DB1wDM8b.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-pDjnilsl.js → pi-embedded-helpers-s_U0Un7j.js} +6 -6
- package/dist/plugin-sdk/polls.d.ts +1 -1
- package/dist/plugin-sdk/{pw-ai-DI0037mQ.js → pw-ai-CTwP02uv.js} +2 -2
- package/dist/plugin-sdk/{replies-DZGo2m53.js → replies-hwRbkU3z.js} +1 -1
- package/dist/plugin-sdk/routing/resolve-route.d.ts +1 -1
- package/dist/plugin-sdk/{runner-pS75iI7g.js → runner-Cq5jvwQ7.js} +2 -2
- package/dist/plugin-sdk/{session-DQav5p95.js → session-B_TkB65Y.js} +1 -1
- package/dist/plugin-sdk/{skill-commands-CLmmb9qy.js → skill-commands-0LF9HTGr.js} +1 -1
- package/dist/plugin-sdk/{skills-C_1YQHBy.js → skills-BIT_O7J0.js} +0 -1
- package/dist/plugin-sdk/{synthesis-ChY1JkO1.js → synthesis-DtsYAj1E.js} +11 -11
- package/dist/plugin-sdk/{unified-runner-CIS4_H9c.js → unified-runner-CnM7lyNd.js} +25 -25
- package/dist/plugin-sdk/{web-0GtlB-XI.js → web-CIPJBHAU.js} +15 -15
- package/dist/plugin-sdk/{whatsapp-actions-Cqv7Rh21.js → whatsapp-actions-CvnfsFJm.js} +2 -2
- package/dist/{plugins-DJx5Pmcv.js → plugins-WP_G3b07.js} +3 -3
- package/dist/{plugins-cli-CoKj54F-.js → plugins-cli-BSWafj93.js} +29 -29
- package/dist/{plugins-cli-BnciQu89.js → plugins-cli-Cd_0dIVY.js} +72 -72
- package/dist/{ports-gIqEKo6u.js → ports-B43hS-dM.js} +1 -1
- package/dist/{ports-uNUe3dxh.js → ports-CXowznRS.js} +2 -2
- package/dist/{program-Bqx3kmC-.js → program-CLfqLvo9.js} +35 -35
- package/dist/{program-context-g6Imfp9l.js → program-context-CWXZ3oEH.js} +40 -40
- package/dist/{progress-BWydcrCK.js → progress-Bn3ThYEB.js} +1 -1
- package/dist/{prompt-select-styled-CKmJt2XA.js → prompt-select-styled-49qDo8Uc.js} +33 -33
- package/dist/{prompt-select-styled-Bezh0O7_.js → prompt-select-styled-BVZmGBT0.js} +16 -16
- package/dist/{provider-auth-helpers-DsK8RoZZ.js → provider-auth-helpers-B96m6iXd.js} +2 -2
- package/dist/{provider-auth-helpers-CzmcILVg.js → provider-auth-helpers-C5MZmlW9.js} +5 -5
- package/dist/{push-apns-C3qdsGpg.js → push-apns-QmqvEgGP.js} +1 -1
- package/dist/{push-apns-l9PPRpRV.js → push-apns-sTZKSGhB.js} +2 -2
- package/dist/{pw-ai-vQvpzuWG.js → pw-ai-BW8_KeDf.js} +2 -2
- package/dist/{pw-ai-DQ7l1iF4.js → pw-ai-CQ0sQ8C-.js} +8 -8
- package/dist/{pw-ai-XfSpeXPs.js → pw-ai-MRAc5zZ-.js} +2 -2
- package/dist/{pw-ai-B9iBzdmI.js → pw-ai-j9IE1K0-.js} +2 -2
- package/dist/{qmd-manager-Byao7dOa.js → qmd-manager-DVXOceWN.js} +4 -4
- package/dist/{qr-cli-mt8w9GzM.js → qr-cli-D_TT4pLO.js} +1 -1
- package/dist/{qr-cli-BIjXYIm0.js → qr-cli-UxcK3SlC.js} +6 -6
- package/dist/{register.agent-CVaLKW2G.js → register.agent-C7GiCj1K.js} +83 -83
- package/dist/{register.agent-CTwIw-AD.js → register.agent-CuXwaR_h.js} +37 -37
- package/dist/register.configure-CQjR8ANQ.js +147 -0
- package/dist/{register.configure-BPCdfxlK.js → register.configure-dP1BvJQx.js} +42 -42
- package/dist/{register.maintenance-BiwPQG4x.js → register.maintenance--TqpdrD4.js} +40 -40
- package/dist/{register.maintenance-nFXx_75H.js → register.maintenance-Dh6Hm6aT.js} +90 -90
- package/dist/{register.message-DUaVsB4c.js → register.message-D1kaCLsQ.js} +70 -88
- package/dist/{register.message-B68NVVrx.js → register.message-DpWSQmtD.js} +30 -48
- package/dist/{register.onboard-BRGaL3SO.js → register.onboard-BGZuenkH.js} +83 -83
- package/dist/{register.onboard--lFill4f.js → register.onboard-pmcucTey.js} +36 -36
- package/dist/{register.setup-DPE4f3Yr.js → register.setup-B9EXS3eA.js} +83 -83
- package/dist/{register.setup-CYI8-Eja.js → register.setup-D3tc_G3h.js} +36 -36
- package/dist/{register.status-health-sessions-n7muSBim.js → register.status-health-sessions-CHzOd91O.js} +84 -84
- package/dist/{register.status-health-sessions-B_TIsJwL.js → register.status-health-sessions-QZrGXi1o.js} +37 -37
- package/dist/{register.subclis-CQsZod0H.js → register.subclis-D1LuZl7W.js} +29 -29
- package/dist/{replies-cA6qtQYC.js → replies-6QoHWaww.js} +1 -1
- package/dist/{replies-BD0RDv95.js → replies-ChKL8Lf5.js} +1 -1
- package/dist/{replies-pA0Vvkef.js → replies-DaG4A2A_.js} +1 -1
- package/dist/{replies-KU5L2xHw.js → replies-DmmgyUec.js} +1 -1
- package/dist/{reply-prefix-3wOxNYsb.js → reply-prefix-CZ7ye247.js} +1 -1
- package/dist/{resolve-route-CVauR3wr.js → resolve-route-CyCtlrRu.js} +3 -3
- package/dist/{routes-BsjSThIi.js → routes-C_5Kf1A9.js} +6 -6
- package/dist/{routes-DSiRi52T.js → routes-evXcb4j2.js} +3 -3
- package/dist/{rpc-DGAP3Dem.js → rpc-Dk1t5tGL.js} +1 -1
- package/dist/{rpc-Dz2YhiF7.js → rpc-WJahJ1Ld.js} +2 -2
- package/dist/{run-main-JkwslZCu.js → run-main-D-hf3XYh.js} +46 -46
- package/dist/{runner-wXjjKB1s.js → runner-8ALr2UII.js} +2 -2
- package/dist/{runner-BQo3HeZ3.js → runner-C4-9kFdR.js} +2 -2
- package/dist/{runner-Dz6t4hE_.js → runner-CDrzDpE9.js} +9 -9
- package/dist/{runner-BnMMNmY9.js → runner-rH8EDl6e.js} +3 -3
- package/dist/{runtime-guard-BtA1pdKO.js → runtime-guard-CgRpm6TQ.js} +1 -1
- package/dist/{sandbox-B2ADLJpu.js → sandbox-Cqr1dxX2.js} +8 -8
- package/dist/{sandbox-L2RQKEGw.js → sandbox-D8H1SG0q.js} +6 -6
- package/dist/{sandbox-cli-0hIG3DyV.js → sandbox-cli-BFOdS6a_.js} +7 -7
- package/dist/{sandbox-cli-CSUFU0zE.js → sandbox-cli-DC0uxTs5.js} +24 -24
- package/dist/{security-cli-Dj4pdB7x.js → security-cli-DQDmpe7P.js} +10 -10
- package/dist/{security-cli-4Q5nCJOB.js → security-cli-jp9oRlVF.js} +32 -32
- package/dist/{send-0umVrl4T.js → send-B0cWAc4E.js} +6 -6
- package/dist/{send-BIltgdYk.js → send-BCZh3xVc.js} +1 -1
- package/dist/{send-C7u-qZ92.js → send-BFA6l5bm.js} +6 -6
- package/dist/{send-EYLu8Enw.js → send-C0UNPeYD.js} +8 -8
- package/dist/{send-O8G8ESr8.js → send-CJ5OuCNt.js} +1 -1
- package/dist/{send-DB22vIf1.js → send-CJCwdFt2.js} +1 -1
- package/dist/{send-ibaMF60Q.js → send-CS7vAijK.js} +1 -1
- package/dist/{send-BCe22w3b.js → send-CqQubXQG.js} +1 -1
- package/dist/{send-OglwAj5f.js → send-D-a1NP-H.js} +1 -1
- package/dist/{send-D2LgvdpS.js → send-HymnTXJn.js} +1 -1
- package/dist/{send-BVSta6KE.js → send-u8HRiMjJ.js} +4 -4
- package/dist/{send-CMQ5uLqS.js → send-xxyxBNgE.js} +1 -1
- package/dist/{server-context-HLD-nvZi.js → server-context-Btv09Yze.js} +5 -5
- package/dist/{server-context-DdaSDQhw.js → server-context-CRwEPP2d.js} +7 -7
- package/dist/{server-methods-CAKYAQOk.js → server-methods-BU5JkPxY.js} +34 -34
- package/dist/{server-methods-DHTp7xok.js → server-methods-C3o_w_pO.js} +25 -25
- package/dist/{server-node-events-NJWc38ef.js → server-node-events-BwVm1k2S.js} +31 -31
- package/dist/{server-node-events-CisxB0fu.js → server-node-events-mOwviD93.js} +70 -70
- package/dist/{service-BAsloDJZ.js → service-Bb2FbEiu.js} +1 -1
- package/dist/{session-a1tAWoD8.js → session-BE36nUsJ.js} +1 -1
- package/dist/{session-JaMLMjhz.js → session-BsziRQ75.js} +2 -2
- package/dist/{session-Upnw8JKf.js → session-BwpJhm05.js} +1 -1
- package/dist/{session-DHN6qlIP.js → session-DM97czc5.js} +1 -1
- package/dist/{session-utils-BAFbEbrW.js → session-utils-8x4iBL8M.js} +3 -3
- package/dist/{sessions-CP41CGRW.js → sessions-0uJAOLpN.js} +1 -2
- package/dist/{sessions-LtbRmeKa.js → sessions-5IylD_Dw.js} +5 -6
- package/dist/{sessions-Cft2vlSa.js → sessions-DAQB52da.js} +3 -3
- package/dist/{shared-Cc_u_WXI.js → shared-Cu7KIm3L.js} +1 -1
- package/dist/{shared-DdhXng2q.js → shared-h6yR1MA4.js} +2 -2
- package/dist/{shared-CHhs61m1.js → shared-l9zNCSSi.js} +3 -3
- package/dist/{skill-commands-BJR9WNUt.js → skill-commands-B5OOQZUe.js} +1 -1
- package/dist/{skill-commands-ryjXPG5n.js → skill-commands-CAGUvBqy.js} +1 -1
- package/dist/{skill-commands-DUYMxTMU.js → skill-commands-LTOrAZRN.js} +1 -1
- package/dist/{skill-commands-BLbohsn1.js → skill-commands-x4Fo8pg0.js} +5 -5
- package/dist/{skills-D3EQq_xP.js → skills-B7JO0ASH.js} +0 -1
- package/dist/{skills-DL_0fZxM.js → skills-Bxzj1EYM.js} +1 -2
- package/dist/{skills-CSd9P3k1.js → skills-KnQ0Jo_x.js} +0 -1
- package/dist/{skills-cli-hv5DAVem.js → skills-cli-Dp471aTx.js} +11 -11
- package/dist/{skills-cli-BI18Oigc.js → skills-cli-kQLBdp20.js} +5 -5
- package/dist/{skills-install-BCm9OlTM.js → skills-install-C-IRMZM9.js} +3 -3
- package/dist/{skills-install-DGvR-q7b.js → skills-install-CCE0qFCP.js} +1 -1
- package/dist/{skills-status-BNfHkto8.js → skills-status-76aa4r5d.js} +1 -1
- package/dist/{skills-status-D0EpPNti.js → skills-status-CwAXYO12.js} +2 -2
- package/dist/{skills-Bz1i1ybK.js → skills-t4ZOwJM2.js} +0 -1
- package/dist/{sqlite-CufUl1an.js → sqlite-BQodrAaT.js} +1 -1
- package/dist/{status-C00ZrGsA.js → status-C3mm-8ZC.js} +4 -4
- package/dist/{status-C58QogLi.js → status-CRJ8HQgN.js} +2 -2
- package/dist/{status-oxp1VL3J.js → status-D1fggt1e.js} +12 -12
- package/dist/{status-VyfUWiik.js → status-ZbJ6qXO6.js} +24 -24
- package/dist/{status.update-RGddPnvw.js → status.update-C_GJKstF.js} +2 -2
- package/dist/{status.update-BL5OZus3.js → status.update-DQlemioz.js} +1 -1
- package/dist/{store-B-jM3seG.js → store-Cf-I6O9v.js} +1 -1
- package/dist/{subagent-registry-fSwcEUW4.js → subagent-registry-Cf4D2qci.js} +39 -39
- package/dist/{subsystem-BMxbL2KN.js → subsystem-CcT1ZaH3.js} +0 -1
- package/dist/{synthesis-DAF20wRT.js → synthesis-BJGqqJXC.js} +67 -67
- package/dist/{synthesis-CQzOxghD.js → synthesis-Cph3LhA1.js} +11 -11
- package/dist/{synthesis-B0db-bTc.js → synthesis-Cus0A2dL.js} +15 -15
- package/dist/{synthesis-CuBtPX_i.js → synthesis-Duwp7ml5.js} +28 -28
- package/dist/{system-cli-HNuqB_W2.js → system-cli-BatO8uUt.js} +10 -10
- package/dist/{system-cli-DyXjJc0q.js → system-cli-CiUNuuRz.js} +3 -3
- package/dist/{systemd-PcbsHCPu.js → systemd-B534V3DK.js} +1 -1
- package/dist/{systemd-hints-p-zLNzii.js → systemd-hints-BcRdOEqL.js} +1 -1
- package/dist/{systemd-hints-khxyyy_k.js → systemd-hints-D8LwPfBY.js} +3 -3
- package/dist/{systemd-linger-BFtYTY7i.js → systemd-linger-BbjhHx1l.js} +2 -2
- package/dist/{table-5l6SCcMQ.js → table-CllYIh5i.js} +1 -1
- package/dist/{tables-C6n0OBF2.js → tables-CJmACQJs.js} +1 -1
- package/dist/{tailscale-DpRABDnf.js → tailscale-jBhrz79j.js} +2 -2
- package/dist/{target-errors-BDcq6SpV.js → target-errors-C2vmcXD_.js} +2 -2
- package/dist/{tool-images-Clk-bkFl.js → tool-images-DjxB_k2u.js} +2 -2
- package/dist/{tool-loop-detection-DoNT90n7.js → tool-loop-detection-C-N8oU4D.js} +1 -1
- package/dist/{trash-DL0lT5ny.js → trash-BUiHxpPG.js} +1 -1
- package/dist/{tui-cHqmaZ7Y.js → tui-5PQiJD9I.js} +8 -8
- package/dist/{tui-BLLCyoLR.js → tui-CC6dKbOq.js} +4 -4
- package/dist/{tui-cli-DB67U5P6.js → tui-cli-JWl04yy_.js} +31 -31
- package/dist/{tui-cli-Ss1Qdwl8.js → tui-cli-sRzxZZfy.js} +10 -10
- package/dist/{unified-runner-DFdUEkbI.js → unified-runner-CX80YMTk.js} +29 -29
- package/dist/{unified-runner-BExIpIMm.js → unified-runner-ClALusZk.js} +76 -76
- package/dist/{update-DTpYZpnU.js → update-GP-Kg6dR.js} +1 -1
- package/dist/{update-check-Dv-QFWI1.js → update-check-C1gCXTgn.js} +2 -2
- package/dist/{update-cli-MZAnhZlH.js → update-cli-C-j7NSry.js} +96 -96
- package/dist/{update-cli-B3AaowY6.js → update-cli-h8LffEp1.js} +43 -43
- package/dist/{update-runner-C6w04w4_.js → update-runner-CkgRE2zC.js} +4 -4
- package/dist/{update-runner-DpRUMBax.js → update-runner-Cr_OHhwc.js} +1 -1
- package/dist/web-BM6JnvhB.js +109 -0
- package/dist/{web-Bm_fDCAE.js → web-BYpqaGRq.js} +32 -32
- package/dist/{web-D2wolFbz.js → web-ChozvJ7I.js} +18 -18
- package/dist/{web-V_99SVHF.js → web-DFlsbXmQ.js} +14 -14
- package/dist/{webhooks-cli-yz33-J1v.js → webhooks-cli-BnzQMkaz.js} +8 -8
- package/dist/{webhooks-cli-DWjqvKnl.js → webhooks-cli-eN_WPQOi.js} +2 -2
- package/dist/{whatsapp-actions-nIv04a_U.js → whatsapp-actions-B_GSqIH5.js} +18 -18
- package/dist/{whatsapp-actions-BiA2kb1X.js → whatsapp-actions-Bl-XhUSp.js} +2 -2
- package/dist/{whatsapp-actions-BMxw80iX.js → whatsapp-actions-Bug-Org1.js} +2 -2
- package/dist/{whatsapp-actions-Bb9JGQNw.js → whatsapp-actions-x5oS3YEa.js} +2 -2
- package/dist/{with-timeout-CHcAJTSW.js → with-timeout-Cf5jkVrr.js} +1 -1
- package/dist/{with-timeout-D9roaSOd.js → with-timeout-jGSsEp0I.js} +1 -1
- package/dist/{workspace-dirs-B97PsGaC.js → workspace-dirs-M1ofdUIC.js} +1 -1
- package/docs/.i18n/zh-CN.tm.jsonl +0 -20
- package/docs/automation/cron-jobs.md +0 -2
- package/docs/automation/hooks.md +0 -2
- package/docs/automation/poll.md +0 -8
- package/docs/automation/webhook.md +0 -2
- package/docs/capabilities.md +0 -2
- package/docs/channels/broadcast-groups.md +0 -1
- package/docs/channels/channel-routing.md +4 -10
- package/docs/channels/group-messages.md +0 -2
- package/docs/channels/groups.md +0 -10
- package/docs/channels/index.md +0 -1
- package/docs/channels/matrix.md +0 -2
- package/docs/channels/msteams.md +0 -2
- package/docs/channels/pairing.md +0 -3
- package/docs/channels/signal.md +0 -2
- package/docs/channels/troubleshooting.md +0 -7
- package/docs/cli/channels.md +0 -6
- package/docs/cli/configure.md +0 -1
- package/docs/cli/directory.md +0 -1
- package/docs/cli/index.md +0 -7
- package/docs/cli/message.md +1 -47
- package/docs/cli/status.md +0 -1
- package/docs/concepts/architecture.md +0 -1
- package/docs/concepts/features.md +0 -2
- package/docs/concepts/markdown-formatting.md +6 -8
- package/docs/concepts/memory.md +0 -4
- package/docs/concepts/messages.md +0 -1
- package/docs/concepts/models.md +0 -1
- package/docs/concepts/multi-agent.md +4 -19
- package/docs/concepts/queue.md +0 -3
- package/docs/concepts/retry.md +0 -5
- package/docs/concepts/session-tool.md +0 -2
- package/docs/concepts/session.md +2 -9
- package/docs/concepts/streaming.md +0 -2
- package/docs/concepts/system-prompt.md +0 -1
- package/docs/concepts/timezone.md +0 -1
- package/docs/date-time.md +0 -1
- package/docs/docs.json +2 -11
- package/docs/experiments/plans/cron-add-hardening.md +0 -1
- package/docs/experiments/plans/session-binding-channel-agnostic.md +2 -23
- package/docs/experiments/plans/thread-bound-subagents.md +7 -64
- package/docs/gateway/configuration-examples.md +0 -10
- package/docs/gateway/configuration-reference.md +22 -47
- package/docs/gateway/configuration.md +0 -3
- package/docs/gateway/heartbeat.md +0 -2
- package/docs/gateway/security/index.md +1 -6
- package/docs/gateway/troubleshooting.md +0 -1
- package/docs/help/faq.md +0 -13
- package/docs/help/troubleshooting.md +0 -1
- package/docs/index.md +0 -6
- package/docs/install/ansible.md +2 -3
- package/docs/install/docker.md +1 -7
- package/docs/install/fly.md +0 -14
- package/docs/install/northflank.mdx +7 -11
- package/docs/install/railway.mdx +6 -10
- package/docs/install/render.mdx +1 -2
- package/docs/ja-JP/index.md +0 -3
- package/docs/pi.md +3 -5
- package/docs/platforms/digitalocean.md +0 -1
- package/docs/platforms/mac/voicewake.md +0 -1
- package/docs/providers/index.md +0 -2
- package/docs/refactor/outbound-session-mirroring.md +0 -2
- package/docs/reference/AGENTS.default.md +0 -1
- package/docs/reference/RELEASING.md +0 -1
- package/docs/reference/session-management-compaction.md +0 -1
- package/docs/reference/templates/AGENTS.md +0 -7
- package/docs/reference/wizard.md +0 -4
- package/docs/security/CONTRIBUTING-THREAT-MODEL.md +0 -1
- package/docs/security/README.md +0 -1
- package/docs/security/THREAT-MODEL-ATLAS.md +7 -10
- package/docs/start/docs-directory.md +0 -1
- package/docs/start/hubs.md +0 -1
- package/docs/start/lore.md +0 -3
- package/docs/start/setup.md +0 -2
- package/docs/start/showcase.md +0 -2
- package/docs/start/symi.md +0 -4
- package/docs/start/wizard-cli-reference.md +0 -4
- package/docs/start/wizard.md +3 -4
- package/docs/tools/agent-send.md +0 -1
- package/docs/tools/elevated.md +0 -2
- package/docs/tools/exec-approvals.md +0 -1
- package/docs/tools/index.md +0 -7
- package/docs/tools/multi-agent-sandbox-tools.md +1 -2
- package/docs/tools/reactions.md +0 -1
- package/docs/tools/slash-commands.md +0 -14
- package/docs/tools/symihub.md +0 -1
- package/docs/tts.md +0 -1
- package/docs/web/control-ui.md +0 -1
- package/docs/zh-CN/automation/cron-jobs.md +0 -2
- package/docs/zh-CN/automation/poll.md +0 -8
- package/docs/zh-CN/automation/webhook.md +0 -2
- package/docs/zh-CN/channels/broadcast-groups.md +0 -1
- package/docs/zh-CN/channels/channel-routing.md +4 -9
- package/docs/zh-CN/channels/group-messages.md +0 -2
- package/docs/zh-CN/channels/groups.md +0 -10
- package/docs/zh-CN/channels/imessage.md +0 -2
- package/docs/zh-CN/channels/index.md +0 -1
- package/docs/zh-CN/channels/msteams.md +0 -2
- package/docs/zh-CN/channels/pairing.md +0 -3
- package/docs/zh-CN/channels/signal.md +0 -2
- package/docs/zh-CN/channels/slack.md +0 -2
- package/docs/zh-CN/channels/telegram.md +0 -3
- package/docs/zh-CN/channels/troubleshooting.md +0 -2
- package/docs/zh-CN/cli/channels.md +0 -6
- package/docs/zh-CN/cli/configure.md +0 -1
- package/docs/zh-CN/cli/directory.md +0 -1
- package/docs/zh-CN/cli/index.md +0 -7
- package/docs/zh-CN/cli/message.md +1 -42
- package/docs/zh-CN/cli/status.md +0 -1
- package/docs/zh-CN/concepts/architecture.md +0 -1
- package/docs/zh-CN/concepts/features.md +0 -2
- package/docs/zh-CN/concepts/markdown-formatting.md +6 -8
- package/docs/zh-CN/concepts/messages.md +0 -1
- package/docs/zh-CN/concepts/multi-agent.md +4 -5
- package/docs/zh-CN/concepts/queue.md +0 -3
- package/docs/zh-CN/concepts/retry.md +0 -5
- package/docs/zh-CN/concepts/session-tool.md +0 -2
- package/docs/zh-CN/concepts/session.md +3 -11
- package/docs/zh-CN/concepts/streaming.md +0 -2
- package/docs/zh-CN/concepts/system-prompt.md +0 -2
- package/docs/zh-CN/concepts/timezone.md +0 -2
- package/docs/zh-CN/date-time.md +0 -1
- package/docs/zh-CN/experiments/plans/cron-add-hardening.md +0 -1
- package/docs/zh-CN/gateway/configuration-examples.md +0 -7
- package/docs/zh-CN/gateway/configuration.md +2 -50
- package/docs/zh-CN/gateway/heartbeat.md +0 -2
- package/docs/zh-CN/gateway/security/index.md +1 -6
- package/docs/zh-CN/gateway/troubleshooting.md +1 -14
- package/docs/zh-CN/help/faq.md +0 -15
- package/docs/zh-CN/index.md +0 -3
- package/docs/zh-CN/install/ansible.md +2 -3
- package/docs/zh-CN/install/docker.md +1 -7
- package/docs/zh-CN/install/fly.md +0 -14
- package/docs/zh-CN/install/northflank.mdx +7 -11
- package/docs/zh-CN/install/railway.mdx +6 -10
- package/docs/zh-CN/install/render.mdx +1 -2
- package/docs/zh-CN/pi.md +3 -5
- package/docs/zh-CN/platforms/digitalocean.md +0 -1
- package/docs/zh-CN/platforms/mac/voicewake.md +0 -1
- package/docs/zh-CN/providers/index.md +0 -2
- package/docs/zh-CN/refactor/outbound-session-mirroring.md +0 -2
- package/docs/zh-CN/reference/AGENTS.default.md +0 -1
- package/docs/zh-CN/reference/RELEASING.md +0 -1
- package/docs/zh-CN/reference/session-management-compaction.md +0 -1
- package/docs/zh-CN/reference/templates/AGENTS.md +0 -5
- package/docs/zh-CN/start/docs-directory.md +0 -1
- package/docs/zh-CN/start/getting-started.md +0 -5
- package/docs/zh-CN/start/hubs.md +0 -1
- package/docs/zh-CN/start/lore.md +0 -3
- package/docs/zh-CN/start/setup.md +0 -2
- package/docs/zh-CN/start/showcase.md +0 -2
- package/docs/zh-CN/start/symi.md +0 -4
- package/docs/zh-CN/start/wizard.md +0 -5
- package/docs/zh-CN/tools/agent-send.md +0 -1
- package/docs/zh-CN/tools/elevated.md +0 -2
- package/docs/zh-CN/tools/exec-approvals.md +0 -1
- package/docs/zh-CN/tools/index.md +0 -7
- package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +1 -2
- package/docs/zh-CN/tools/reactions.md +0 -1
- package/docs/zh-CN/tools/slash-commands.md +0 -9
- package/docs/zh-CN/tts.md +0 -2
- package/docs/zh-CN/web/control-ui.md +0 -1
- package/package.json +1 -1
- package/dist/register.configure-C44y-Fvy.js +0 -147
- package/dist/web-Dbcm5oiY.js +0 -109
- package/docs/channels/discord.md +0 -998
- 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`)。
|