@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
package/docs/start/wizard.md
CHANGED
|
@@ -66,10 +66,9 @@ The wizard starts with **QuickStart** (defaults) vs **Advanced** (full control).
|
|
|
66
66
|
(OpenAI-compatible, Anthropic-compatible, or Unknown auto-detect). Pick a default model.
|
|
67
67
|
2. **Workspace** — Location for agent files (default `~/.symi/workspace`). Seeds bootstrap files.
|
|
68
68
|
3. **Gateway** — Port, bind address, auth mode, Tailscale exposure.
|
|
69
|
-
4. **
|
|
70
|
-
5. **
|
|
71
|
-
6. **
|
|
72
|
-
7. **Skills** — Installs recommended skills and optional dependencies.
|
|
69
|
+
4. **Daemon** — Installs a LaunchAgent (macOS) or systemd user unit (Linux/WSL2).
|
|
70
|
+
5. **Health check** — Starts the Gateway and verifies it's running.
|
|
71
|
+
6. **Skills** — Installs recommended skills and optional dependencies.
|
|
73
72
|
|
|
74
73
|
<Note>
|
|
75
74
|
Re-running the wizard does **not** wipe anything unless you explicitly choose **Reset** (or pass `--reset`).
|
package/docs/tools/agent-send.md
CHANGED
|
@@ -43,7 +43,6 @@ symi agent --agent ops --message "Generate report" --deliver --reply-channel sla
|
|
|
43
43
|
|
|
44
44
|
- `--local`: run locally (requires model provider API keys in your shell)
|
|
45
45
|
- `--deliver`: send the reply to the chosen channel
|
|
46
|
-
- `--channel`: delivery channel (`whatsapp|telegram|discord|googlechat|slack|signal|imessage`, default: `whatsapp`)
|
|
47
46
|
- `--reply-to`: delivery target override
|
|
48
47
|
- `--reply-channel`: delivery channel override
|
|
49
48
|
- `--reply-account`: delivery account id override
|
package/docs/tools/elevated.md
CHANGED
|
@@ -45,10 +45,8 @@ title: "Elevated Mode"
|
|
|
45
45
|
## Availability + allowlists
|
|
46
46
|
|
|
47
47
|
- Feature gate: `tools.elevated.enabled` (default can be off via config even if the code supports it).
|
|
48
|
-
- Sender allowlist: `tools.elevated.allowFrom` with per-provider allowlists (e.g. `discord`, `whatsapp`).
|
|
49
48
|
- Per-agent gate: `agents.list[].tools.elevated.enabled` (optional; can only further restrict).
|
|
50
49
|
- Per-agent allowlist: `agents.list[].tools.elevated.allowFrom` (optional; when set, the sender must match **both** global + per-agent allowlists).
|
|
51
|
-
- Discord fallback: if `tools.elevated.allowFrom.discord` is omitted, the `channels.discord.allowFrom` list is used as a fallback (legacy: `channels.discord.dm.allowFrom`). Set `tools.elevated.allowFrom.discord` (even `[]`) to override. Per-agent allowlists do **not** use the fallback.
|
|
52
50
|
- All gates must pass; otherwise elevated is treated as unavailable.
|
|
53
51
|
|
|
54
52
|
## Logging + status
|
|
@@ -201,7 +201,6 @@ Config:
|
|
|
201
201
|
enabled: true,
|
|
202
202
|
mode: "session", // "session" | "targets" | "both"
|
|
203
203
|
agentFilter: ["main"],
|
|
204
|
-
sessionFilter: ["discord"], // substring or regex
|
|
205
204
|
targets: [
|
|
206
205
|
{ channel: "slack", to: "U12345678" },
|
|
207
206
|
{ channel: "telegram", to: "123456789" },
|
package/docs/tools/index.md
CHANGED
|
@@ -41,13 +41,10 @@ Profiles:
|
|
|
41
41
|
- `messaging`: `group:messaging`, `sessions_list`, `sessions_history`, `sessions_send`, `session_status`
|
|
42
42
|
- `full`: no restriction (same as unset)
|
|
43
43
|
|
|
44
|
-
Example (messaging-only by default, allow Slack + Discord tools too):
|
|
45
|
-
|
|
46
44
|
```json5
|
|
47
45
|
{
|
|
48
46
|
tools: {
|
|
49
47
|
profile: "messaging",
|
|
50
|
-
allow: ["slack", "discord"],
|
|
51
48
|
},
|
|
52
49
|
}
|
|
53
50
|
```
|
|
@@ -397,12 +394,9 @@ Notes:
|
|
|
397
394
|
|
|
398
395
|
### `message`
|
|
399
396
|
|
|
400
|
-
Send messages and channel actions across Discord/Google Chat/Slack/Telegram/WhatsApp/Signal/iMessage/MS Teams.
|
|
401
|
-
|
|
402
397
|
Core actions:
|
|
403
398
|
|
|
404
399
|
- `send` (text + optional media; MS Teams also supports `card` for Adaptive Cards)
|
|
405
|
-
- `poll` (WhatsApp/Discord/MS Teams polls)
|
|
406
400
|
- `react` / `reactions` / `read` / `edit` / `delete`
|
|
407
401
|
- `pin` / `unpin` / `list-pins`
|
|
408
402
|
- `permissions`
|
|
@@ -420,7 +414,6 @@ Core actions:
|
|
|
420
414
|
Notes:
|
|
421
415
|
|
|
422
416
|
- `send` routes WhatsApp via the Gateway; other channels go direct.
|
|
423
|
-
- `poll` uses the Gateway for WhatsApp and MS Teams; Discord polls go direct.
|
|
424
417
|
- When a message tool call is bound to an active chat session, sends are constrained to that session’s target to avoid cross-context leaks.
|
|
425
418
|
|
|
426
419
|
### `cron`
|
|
@@ -110,8 +110,7 @@ For debugging “why is this blocked?”, see [Sandbox vs Tool Policy vs Elevate
|
|
|
110
110
|
"workspaceRoot": "/tmp/work-sandboxes"
|
|
111
111
|
},
|
|
112
112
|
"tools": {
|
|
113
|
-
"allow": ["read", "write", "apply_patch", "exec"]
|
|
114
|
-
"deny": ["browser", "gateway", "discord"]
|
|
113
|
+
"allow": ["read", "write", "apply_patch", "exec"]
|
|
115
114
|
}
|
|
116
115
|
}
|
|
117
116
|
]
|
package/docs/tools/reactions.md
CHANGED
|
@@ -15,7 +15,6 @@ Shared reaction semantics across channels:
|
|
|
15
15
|
|
|
16
16
|
Channel notes:
|
|
17
17
|
|
|
18
|
-
- **Discord/Slack**: empty `emoji` removes all of the bot's reactions on the message; `remove: true` removes just that emoji.
|
|
19
18
|
- **Google Chat**: empty `emoji` removes the app's reactions on the message; `remove: true` removes just that emoji.
|
|
20
19
|
- **Telegram**: empty `emoji` removes the bot's reactions; `remove: true` also removes reactions but still requires a non-empty `emoji` for tool validation.
|
|
21
20
|
- **WhatsApp**: empty `emoji` removes the bot reaction; `remove: true` maps to empty emoji (still requires `emoji`).
|
|
@@ -40,7 +40,6 @@ They run immediately, are stripped before the model sees the message, and the re
|
|
|
40
40
|
restart: false,
|
|
41
41
|
allowFrom: {
|
|
42
42
|
"*": ["user1"],
|
|
43
|
-
discord: ["user:123"],
|
|
44
43
|
},
|
|
45
44
|
useAccessGroups: true,
|
|
46
45
|
},
|
|
@@ -50,12 +49,7 @@ They run immediately, are stripped before the model sees the message, and the re
|
|
|
50
49
|
- `commands.text` (default `true`) enables parsing `/...` in chat messages.
|
|
51
50
|
- On surfaces without native commands (WhatsApp/WebChat/Signal/iMessage/Google Chat/MS Teams), text commands still work even if you set this to `false`.
|
|
52
51
|
- `commands.native` (default `"auto"`) registers native commands.
|
|
53
|
-
- Auto: on for Discord/Telegram; off for Slack (until you add slash commands); ignored for providers without native support.
|
|
54
|
-
- Set `channels.discord.commands.native`, `channels.telegram.commands.native`, or `channels.slack.commands.native` to override per provider (bool or `"auto"`).
|
|
55
|
-
- `false` clears previously registered commands on Discord/Telegram at startup. Slack commands are managed in the Slack app and are not removed automatically.
|
|
56
52
|
- `commands.nativeSkills` (default `"auto"`) registers **skill** commands natively when supported.
|
|
57
|
-
- Auto: on for Discord/Telegram; off for Slack (Slack requires creating a slash command per skill).
|
|
58
|
-
- Set `channels.discord.commands.nativeSkills`, `channels.telegram.commands.nativeSkills`, or `channels.slack.commands.nativeSkills` to override per provider (bool or `"auto"`).
|
|
59
53
|
- `commands.bash` (default `false`) enables `! <cmd>` to run host shell commands (`/bash <cmd>` is an alias; requires `tools.elevated` allowlists).
|
|
60
54
|
- `commands.bashForegroundMs` (default `2000`) controls how long bash waits before switching to background mode (`0` backgrounds immediately).
|
|
61
55
|
- `commands.config` (default `false`) enables `/config` (reads/writes `symi.json`).
|
|
@@ -81,8 +75,6 @@ Text + native (when enabled):
|
|
|
81
75
|
- `/session ttl <duration|off>` (manage session-level settings, such as TTL)
|
|
82
76
|
- `/subagents list|kill|log|info|send|steer|spawn` (inspect, control, or spawn sub-agent runs for the current session)
|
|
83
77
|
- `/agents` (list thread-bound agents for this session)
|
|
84
|
-
- `/focus <target>` (Discord: bind this thread, or a new thread, to a session/subagent target)
|
|
85
|
-
- `/unfocus` (Discord: remove the current thread binding)
|
|
86
78
|
- `/kill <id|#|all>` (immediately abort one or all running sub-agents for this session; no confirmation message)
|
|
87
79
|
- `/steer <id|#> <message>` (steer a running sub-agent immediately: in-run when possible, otherwise abort current work and restart on the steer message)
|
|
88
80
|
- `/tell <id|#> <message>` (alias for `/steer`)
|
|
@@ -90,11 +82,9 @@ Text + native (when enabled):
|
|
|
90
82
|
- `/debug show|set|unset|reset` (runtime overrides, owner-only; requires `commands.debug: true`)
|
|
91
83
|
- `/usage off|tokens|full|cost` (per-response usage footer or local cost summary)
|
|
92
84
|
- `/tts off|always|inbound|tagged|status|provider|limit|summary|audio` (control TTS; see [/tts](/tts))
|
|
93
|
-
- Discord: native command is `/voice` (Discord reserves `/tts`); text `/tts` still works.
|
|
94
85
|
- `/stop`
|
|
95
86
|
- `/restart`
|
|
96
87
|
- `/dock-telegram` (alias: `/dock_telegram`) (switch replies to Telegram)
|
|
97
|
-
- `/dock-discord` (alias: `/dock_discord`) (switch replies to Discord)
|
|
98
88
|
- `/dock-slack` (alias: `/dock_slack`) (switch replies to Slack)
|
|
99
89
|
- `/activation mention|always` (groups only)
|
|
100
90
|
- `/send on|off|inherit` (owner-only)
|
|
@@ -123,7 +113,6 @@ Notes:
|
|
|
123
113
|
- `/allowlist add|remove` requires `commands.config=true` and honors channel `configWrites`.
|
|
124
114
|
- `/usage` controls the per-response usage footer; `/usage cost` prints a local cost summary from Symi session logs.
|
|
125
115
|
- `/restart` is enabled by default; set `commands.restart: false` to disable it.
|
|
126
|
-
- Discord-only native command: `/vc join|leave|status` controls voice channels (requires `channels.discord.voice` and native commands; not available as text).
|
|
127
116
|
- `/verbose` is meant for debugging and extra visibility; keep it **off** in normal use.
|
|
128
117
|
- `/reasoning` (and `/verbose`) are risky in group settings: they may reveal internal reasoning or tool output you did not intend to expose. Prefer leaving them off, especially in group chats.
|
|
129
118
|
- **Fast path:** command-only messages from allowlisted senders are handled immediately (bypass queue + model).
|
|
@@ -137,7 +126,6 @@ Notes:
|
|
|
137
126
|
- By default, skill commands are forwarded to the model as a normal request.
|
|
138
127
|
- Skills may optionally declare `command-dispatch: tool` to route the command directly to a tool (deterministic, no model).
|
|
139
128
|
- Example: `/prose` (OpenProse plugin) — see [OpenProse](/prose).
|
|
140
|
-
- **Native command arguments:** Discord uses autocomplete for dynamic options (and button menus when you omit required args). Telegram and Slack show a button menu when a command supports choices and you omit the arg.
|
|
141
129
|
|
|
142
130
|
## Usage surfaces (what shows where)
|
|
143
131
|
|
|
@@ -163,7 +151,6 @@ Examples:
|
|
|
163
151
|
Notes:
|
|
164
152
|
|
|
165
153
|
- `/model` and `/model list` show a compact, numbered picker (model family + available providers).
|
|
166
|
-
- On Discord, `/model` and `/models` open an interactive picker with provider and model dropdowns plus a Submit step.
|
|
167
154
|
- `/model <#>` selects from that picker (and prefers the current provider when possible).
|
|
168
155
|
- `/model status` shows the detailed view, including configured provider endpoint (`baseUrl`) and API mode (`api`) when available.
|
|
169
156
|
|
|
@@ -209,7 +196,6 @@ Notes:
|
|
|
209
196
|
|
|
210
197
|
- **Text commands** run in the normal chat session (DMs share `main`, groups have their own session).
|
|
211
198
|
- **Native commands** use isolated sessions:
|
|
212
|
-
- Discord: `agent:<agentId>:discord:slash:<userId>`
|
|
213
199
|
- Slack: `agent:<agentId>:slack:slash:<userId>` (prefix configurable via `channels.slack.slashCommand.sessionPrefix`)
|
|
214
200
|
- Telegram: `telegram:slash:<userId>` (targets the chat session via `CommandTargetSessionKey`)
|
|
215
201
|
- **`/stop`** targets the active chat session so it can abort the current run.
|
package/docs/tools/symihub.md
CHANGED
|
@@ -112,7 +112,6 @@ Reporting and moderation:
|
|
|
112
112
|
- Moderators can view hidden skills, unhide them, delete them, or ban users.
|
|
113
113
|
- Abusing the report feature can result in account bans.
|
|
114
114
|
|
|
115
|
-
Interested in becoming a moderator? Ask in the Symi Discord and contact a
|
|
116
115
|
moderator or maintainer.
|
|
117
116
|
|
|
118
117
|
## CLI commands and parameters
|
package/docs/tts.md
CHANGED
|
@@ -358,7 +358,6 @@ Reply -> TTS enabled?
|
|
|
358
358
|
There is a single command: `/tts`.
|
|
359
359
|
See [Slash commands](/tools/slash-commands) for enablement details.
|
|
360
360
|
|
|
361
|
-
Discord note: `/tts` is a built-in Discord command, so Symi registers
|
|
362
361
|
`/voice` as the native command there. Text `/tts ...` still works.
|
|
363
362
|
|
|
364
363
|
```
|
package/docs/web/control-ui.md
CHANGED
|
@@ -64,7 +64,6 @@ you revoke it with `symi devices revoke --device <id> --role <role>`. See
|
|
|
64
64
|
|
|
65
65
|
- Chat with the model via Gateway WS (`chat.history`, `chat.send`, `chat.abort`, `chat.inject`)
|
|
66
66
|
- Stream tool calls + live tool output cards in Chat (agent events)
|
|
67
|
-
- Channels: WhatsApp/Telegram/Discord/Slack + plugin channels (Mattermost, etc.) status + QR login + per-channel config (`channels.status`, `web.login.*`, `config.patch`)
|
|
68
67
|
- Instances: presence list + refresh (`system-presence`)
|
|
69
68
|
- Sessions: list + per-session thinking/verbose overrides (`sessions.list`, `sessions.patch`)
|
|
70
69
|
- Cron jobs: list/add/run/enable/disable + run history (`cron.*`)
|
|
@@ -173,7 +173,6 @@ Cron 表达式使用 `croner`。如果省略时区,将使用 Gateway网关主
|
|
|
173
173
|
隔离任务可以通过顶层 `delivery` 配置投递输出:
|
|
174
174
|
|
|
175
175
|
- `delivery.mode`:`announce`(投递摘要)或 `none`
|
|
176
|
-
- `delivery.channel`:`whatsapp` / `telegram` / `discord` / `slack` / `mattermost`(插件)/ `signal` / `imessage` / `last`
|
|
177
176
|
- `delivery.to`:渠道特定的接收目标
|
|
178
177
|
- `delivery.bestEffort`:投递失败时避免任务失败
|
|
179
178
|
|
|
@@ -183,7 +182,6 @@ Cron 表达式使用 `croner`。如果省略时区,将使用 Gateway网关主
|
|
|
183
182
|
|
|
184
183
|
目标格式提醒:
|
|
185
184
|
|
|
186
|
-
- Slack/Discord/Mattermost(插件)目标应使用明确前缀(例如 `channel:<id>`、`user:<id>`)以避免歧义。
|
|
187
185
|
- Telegram 主题应使用 `:topic:` 格式(见下文)。
|
|
188
186
|
|
|
189
187
|
#### Telegram 投递目标(主题/论坛帖子)
|
|
@@ -18,7 +18,6 @@ x-i18n:
|
|
|
18
18
|
## 支持的渠道
|
|
19
19
|
|
|
20
20
|
- WhatsApp(Web 渠道)
|
|
21
|
-
- Discord
|
|
22
21
|
- MS Teams(Adaptive Cards)
|
|
23
22
|
|
|
24
23
|
## CLI
|
|
@@ -30,10 +29,7 @@ symi message poll --target +15555550123 \
|
|
|
30
29
|
symi message poll --target 123456789@g.us \
|
|
31
30
|
--poll-question "Meeting time?" --poll-option "10am" --poll-option "2pm" --poll-option "4pm" --poll-multi
|
|
32
31
|
|
|
33
|
-
# Discord
|
|
34
|
-
symi message poll --channel discord --target channel:123456789 \
|
|
35
32
|
--poll-question "Snack?" --poll-option "Pizza" --poll-option "Sushi"
|
|
36
|
-
symi message poll --channel discord --target channel:123456789 \
|
|
37
33
|
--poll-question "Plan?" --poll-option "A" --poll-option "B" --poll-duration-hours 48
|
|
38
34
|
|
|
39
35
|
# MS Teams
|
|
@@ -43,9 +39,7 @@ symi message poll --channel msteams --target conversation:19:abc@thread.tacv2 \
|
|
|
43
39
|
|
|
44
40
|
选项:
|
|
45
41
|
|
|
46
|
-
- `--channel`:`whatsapp`(默认)、`discord` 或 `msteams`
|
|
47
42
|
- `--poll-multi`:允许选择多个选项
|
|
48
|
-
- `--poll-duration-hours`:仅限 Discord(省略时默认为 24)
|
|
49
43
|
|
|
50
44
|
## Gateway 网关 RPC
|
|
51
45
|
|
|
@@ -64,13 +58,11 @@ symi message poll --channel msteams --target conversation:19:abc@thread.tacv2 \
|
|
|
64
58
|
## 渠道差异
|
|
65
59
|
|
|
66
60
|
- WhatsApp:2-12 个选项,`maxSelections` 必须在选项数量范围内,忽略 `durationHours`。
|
|
67
|
-
- Discord:2-10 个选项,`durationHours` 限制在 1-768 小时之间(默认 24)。`maxSelections > 1` 启用多选;Discord 不支持严格的选择数量限制。
|
|
68
61
|
- MS Teams:Adaptive Card 投票(由 Symi 管理)。无原生投票 API;`durationHours` 被忽略。
|
|
69
62
|
|
|
70
63
|
## 智能体工具(Message)
|
|
71
64
|
|
|
72
65
|
使用 `message` 工具的 `poll` 操作(`to`、`pollQuestion`、`pollOption`,可选 `pollMulti`、`pollDurationHours`、`channel`)。
|
|
73
66
|
|
|
74
|
-
注意:Discord 没有"恰好选择 N 个"模式;`pollMulti` 映射为多选。
|
|
75
67
|
Teams 投票以 Adaptive Cards 形式渲染,需要 Gateway 网关保持在线
|
|
76
68
|
以将投票记录到 `~/.symi/msteams-polls.json`。
|
|
@@ -84,8 +84,6 @@ Gateway 网关可以暴露一个小型 HTTP webhook 端点用于外部触发。
|
|
|
84
84
|
- `sessionKey` 可选(字符串):用于标识智能体会话的键。默认为随机的 `hook:<uuid>`。使用一致的键可以在 hook 上下文中进行多轮对话。
|
|
85
85
|
- `wakeMode` 可选(`now` | `next-heartbeat`):是否立即触发心跳(默认 `now`)或等待下一次定期检查。
|
|
86
86
|
- `deliver` 可选(布尔值):如果为 `true`,智能体的响应将发送到消息渠道。默认为 `true`。仅为心跳确认的响应会自动跳过。
|
|
87
|
-
- `channel` 可选(字符串):用于投递的消息渠道。可选值:`last`、`whatsapp`、`telegram`、`discord`、`slack`、`mattermost`(插件)、`signal`、`imessage`、`msteams`。默认为 `last`。
|
|
88
|
-
- `to` 可选(字符串):渠道的接收者标识符(例如 WhatsApp/Signal 的电话号码、Telegram 的聊天 ID、Discord/Slack/Mattermost(插件)的频道 ID、MS Teams 的会话 ID)。默认为主会话中的最后一个接收者。
|
|
89
87
|
- `model` 可选(字符串):模型覆盖(例如 `anthropic/claude-3-5-sonnet` 或别名)。如果有限制,必须在允许的模型列表中。
|
|
90
88
|
- `thinking` 可选(字符串):思考级别覆盖(例如 `low`、`medium`、`high`)。
|
|
91
89
|
- `timeoutSeconds` 可选(数字):智能体运行的最大持续时间(秒)。
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
read_when:
|
|
3
3
|
- 更改渠道路由或收件箱行为
|
|
4
|
-
summary: 每个渠道(WhatsApp、Telegram、Discord、Slack)的路由规则及共享上下文
|
|
5
4
|
title: 渠道路由
|
|
6
5
|
x-i18n:
|
|
7
6
|
generated_at: "2026-02-01T20:22:21Z"
|
|
@@ -18,7 +17,6 @@ Symi 将回复**路由回消息来源的渠道**。模型不会选择渠道;
|
|
|
18
17
|
|
|
19
18
|
## 关键术语
|
|
20
19
|
|
|
21
|
-
- **渠道**:`whatsapp`、`telegram`、`discord`、`slack`、`signal`、`imessage`、`webchat`。
|
|
22
20
|
- **AccountId**:每个渠道的账户实例(在支持的情况下)。
|
|
23
21
|
- **AgentId**:隔离的工作区 + 会话存储("大脑")。
|
|
24
22
|
- **SessionKey**:用于存储上下文和控制并发的桶键。
|
|
@@ -36,24 +34,21 @@ Symi 将回复**路由回消息来源的渠道**。模型不会选择渠道;
|
|
|
36
34
|
|
|
37
35
|
线程:
|
|
38
36
|
|
|
39
|
-
- Slack/Discord 线程会在基础键后追加 `:thread:<threadId>`。
|
|
40
37
|
- Telegram 论坛主题在群组键中嵌入 `:topic:<topicId>`。
|
|
41
38
|
|
|
42
39
|
示例:
|
|
43
40
|
|
|
44
41
|
- `agent:main:telegram:group:-1001234567890:topic:42`
|
|
45
|
-
- `agent:main:discord:channel:123456:thread:987654`
|
|
46
42
|
|
|
47
43
|
## 路由规则(如何选择智能体)
|
|
48
44
|
|
|
49
45
|
路由为每条入站消息选择**一个智能体**:
|
|
50
46
|
|
|
51
47
|
1. **精确对端匹配**(`bindings` 中的 `peer.kind` + `peer.id`)。
|
|
52
|
-
2. **
|
|
53
|
-
3.
|
|
54
|
-
4.
|
|
55
|
-
5.
|
|
56
|
-
6. **默认智能体**(`agents.list[].default`,否则取列表第一项,兜底为 `main`)。
|
|
48
|
+
2. **Team 匹配**(Slack)通过 `teamId`。
|
|
49
|
+
3. **账户匹配**(渠道上的 `accountId`)。
|
|
50
|
+
4. **渠道匹配**(该渠道上的任意账户)。
|
|
51
|
+
5. **默认智能体**(`agents.list[].default`,否则取列表第一项,兜底为 `main`)。
|
|
57
52
|
|
|
58
53
|
匹配到的智能体决定使用哪个工作区和会话存储。
|
|
59
54
|
|
|
@@ -16,8 +16,6 @@ x-i18n:
|
|
|
16
16
|
|
|
17
17
|
目标:让 Symi 留在 WhatsApp 群组中,仅在被提及时唤醒,并将该对话线程与个人私信会话分开。
|
|
18
18
|
|
|
19
|
-
注意:`agents.list[].groupChat.mentionPatterns` 现在也被 Telegram/Discord/Slack/iMessage 使用;本文档重点介绍 WhatsApp 特定的行为。对于多智能体设置,为每个智能体设置 `agents.list[].groupChat.mentionPatterns`(或使用 `messages.groupChat.mentionPatterns` 作为全局回退)。
|
|
20
|
-
|
|
21
19
|
## 已实现的功能(2025-12-03)
|
|
22
20
|
|
|
23
21
|
- 激活模式:`mention`(默认)或 `always`。`mention` 需要被提及(通过 `mentionedJids` 的真实 WhatsApp @提及、正则表达式模式,或文本中任意位置的机器人 E.164 号码)。`always` 会在每条消息时唤醒智能体,但它应该只在能提供有意义价值时才回复;否则返回静默令牌 `NO_REPLY`。默认值可在配置中设置(`channels.whatsapp.groups`),并可通过 `/activation` 为每个群组单独覆盖。当设置了 `channels.whatsapp.groups` 时,它同时充当群组允许列表(包含 `"*"` 以允许所有群组)。
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
read_when:
|
|
3
3
|
- 更改群聊行为或提及限制
|
|
4
|
-
summary: 跨平台的群聊行为(WhatsApp/Telegram/Discord/Slack/Signal/iMessage/Microsoft Teams)
|
|
5
4
|
title: 群组
|
|
6
5
|
x-i18n:
|
|
7
6
|
generated_at: "2026-02-03T07:47:08Z"
|
|
@@ -14,8 +13,6 @@ x-i18n:
|
|
|
14
13
|
|
|
15
14
|
# 群组
|
|
16
15
|
|
|
17
|
-
Symi 在各平台上统一处理群聊:WhatsApp、Telegram、Discord、Slack、Signal、iMessage、Microsoft Teams。
|
|
18
|
-
|
|
19
16
|
## 新手入门(2 分钟)
|
|
20
17
|
|
|
21
18
|
Symi"运行"在你自己的消息账户上。没有单独的 WhatsApp 机器人用户。如果**你**在一个群组中,Symi 就可以看到该群组并在其中回复。
|
|
@@ -157,7 +154,6 @@ requireMention? 是 -> 被提及? 否 -> 仅存储为上下文
|
|
|
157
154
|
groupPolicy: "disabled",
|
|
158
155
|
groupAllowFrom: ["user@org.com"],
|
|
159
156
|
},
|
|
160
|
-
discord: {
|
|
161
157
|
groupPolicy: "allowlist",
|
|
162
158
|
guilds: {
|
|
163
159
|
GUILD_ID: { channels: { help: { allow: true } } },
|
|
@@ -189,10 +185,8 @@ requireMention? 是 -> 被提及? 否 -> 仅存储为上下文
|
|
|
189
185
|
|
|
190
186
|
- `groupPolicy` 与提及限制(需要 @ 提及)是分开的。
|
|
191
187
|
- WhatsApp/Telegram/Signal/iMessage/Microsoft Teams:使用 `groupAllowFrom`(回退:显式 `allowFrom`)。
|
|
192
|
-
- Discord:允许列表使用 `channels.discord.guilds.<id>.channels`。
|
|
193
188
|
- Slack:允许列表使用 `channels.slack.channels`。
|
|
194
189
|
- Matrix:允许列表使用 `channels.matrix.groups`(房间 ID、别名或名称)。使用 `channels.matrix.groupAllowFrom` 限制发送者;也支持每个房间的 `users` 允许列表。
|
|
195
|
-
- 群组私信单独控制(`channels.discord.dm.*`、`channels.slack.dm.*`)。
|
|
196
190
|
- Telegram 允许列表可以匹配用户 ID(`"123456789"`、`"telegram:123456789"`、`"tg:123456789"`)或用户名(`"@alice"` 或 `"alice"`);前缀不区分大小写。
|
|
197
191
|
- 默认为 `groupPolicy: "allowlist"`;如果你的群组允许列表为空,群组消息将被阻止。
|
|
198
192
|
|
|
@@ -206,8 +200,6 @@ requireMention? 是 -> 被提及? 否 -> 仅存储为上下文
|
|
|
206
200
|
|
|
207
201
|
群组消息需要提及,除非按群组覆盖。默认值位于 `*.groups."*"` 下的每个子系统中。
|
|
208
202
|
|
|
209
|
-
回复机器人消息被视为隐式提及(当渠道支持回复元数据时)。这适用于 Telegram、WhatsApp、Slack、Discord 和 Microsoft Teams。
|
|
210
|
-
|
|
211
203
|
```json5
|
|
212
204
|
{
|
|
213
205
|
channels: {
|
|
@@ -250,7 +242,6 @@ requireMention? 是 -> 被提及? 否 -> 仅存储为上下文
|
|
|
250
242
|
- 提供显式提及的平台仍然通过;模式是回退。
|
|
251
243
|
- 每个智能体覆盖:`agents.list[].groupChat.mentionPatterns`(当多个智能体共享一个群组时有用)。
|
|
252
244
|
- 提及限制仅在提及检测可行时强制执行(原生提及或 `mentionPatterns` 已配置)。
|
|
253
|
-
- Discord 默认值位于 `channels.discord.guilds."*"`(可按服务器/频道覆盖)。
|
|
254
245
|
- 群组历史上下文在渠道间统一包装,并且是**仅待处理**(由于提及限制而跳过的消息);使用 `messages.groupChat.historyLimit` 作为全局默认值,使用 `channels.<channel>.historyLimit`(或 `channels.<channel>.accounts.*.historyLimit`)进行覆盖。设置 `0` 以禁用。
|
|
255
246
|
|
|
256
247
|
## 群组/频道工具限制(可选)
|
|
@@ -290,7 +281,6 @@ requireMention? 是 -> 被提及? 否 -> 仅存储为上下文
|
|
|
290
281
|
注意事项:
|
|
291
282
|
|
|
292
283
|
- 群组/频道工具限制在全局/智能体工具策略之外额外应用(deny 仍然优先)。
|
|
293
|
-
- 某些渠道对房间/频道使用不同的嵌套结构(例如,Discord `guilds.*.channels.*`、Slack `channels.*`、MS Teams `teams.*.channels.*`)。
|
|
294
284
|
|
|
295
285
|
## 群组允许列表
|
|
296
286
|
|
|
@@ -194,8 +194,6 @@ exec ssh -T bot@mac-mini.tailnet-1234.ts.net imsg "$@"
|
|
|
194
194
|
- 使用 SSH 密钥使 `ssh bot@mac-mini.tailnet-1234.ts.net` 无需提示即可工作。
|
|
195
195
|
- `remoteHost` 应与 SSH 目标匹配,以便 SCP 可以获取附件。
|
|
196
196
|
|
|
197
|
-
多账户支持:使用 `channels.imessage.accounts` 配置每个账户及可选的 `name`。参见 [`gateway/configuration`](/gateway/configuration#telegramaccounts--discordaccounts--slackaccounts--signalaccounts--imessageaccounts) 了解共享模式。不要提交 `~/.symi/symi.json`(它通常包含令牌)。
|
|
198
|
-
|
|
199
197
|
## 访问控制(私信 + 群组)
|
|
200
198
|
|
|
201
199
|
私信:
|
|
@@ -22,7 +22,6 @@ Symi 可以在你已经使用的任何聊天应用上与你交流。每个渠道
|
|
|
22
22
|
|
|
23
23
|
- [WhatsApp](/channels/whatsapp) — 最受欢迎;使用 Baileys,需要二维码配对。
|
|
24
24
|
- [Telegram](/channels/telegram) — 通过 grammY 使用 Bot API;支持群组。
|
|
25
|
-
- [Discord](/channels/discord) — Discord Bot API + Gateway;支持服务器、频道和私信。
|
|
26
25
|
- [Slack](/channels/slack) — Bolt SDK;工作区应用。
|
|
27
26
|
- [飞书](/channels/feishu) — 飞书(Lark)机器人(插件,需单独安装)。
|
|
28
27
|
- [Google Chat](/channels/googlechat) — 通过 HTTP webhook 的 Google Chat API 应用。
|
|
@@ -42,8 +42,6 @@ symi pairing list telegram
|
|
|
42
42
|
symi pairing approve telegram <CODE>
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
支持的渠道:`telegram`、`whatsapp`、`signal`、`imessage`、`discord`、`slack`。
|
|
46
|
-
|
|
47
45
|
### 状态存储位置
|
|
48
46
|
|
|
49
47
|
存储在 `~/.symi/credentials/` 下:
|
|
@@ -85,5 +83,4 @@ symi devices reject <requestId>
|
|
|
85
83
|
- WhatsApp:[WhatsApp](/channels/whatsapp)
|
|
86
84
|
- Signal:[Signal](/channels/signal)
|
|
87
85
|
- iMessage:[iMessage](/channels/imessage)
|
|
88
|
-
- Discord:[Discord](/channels/discord)
|
|
89
86
|
- Slack:[Slack](/channels/slack)
|
|
@@ -88,8 +88,6 @@ x-i18n:
|
|
|
88
88
|
}
|
|
89
89
|
```
|
|
90
90
|
|
|
91
|
-
多账户支持:使用 `channels.signal.accounts` 配置每个账户及可选的 `name`。共享模式请参见 [`gateway/configuration`](/gateway/configuration#telegramaccounts--discordaccounts--slackaccounts--signalaccounts--imessageaccounts)。
|
|
92
|
-
|
|
93
91
|
## 外部守护进程模式(httpUrl)
|
|
94
92
|
|
|
95
93
|
如果你想自己管理 `signal-cli`(JVM 冷启动慢、容器初始化或共享 CPU),请单独运行守护进程并将 Symi 指向它:
|
|
@@ -54,8 +54,6 @@ x-i18n:
|
|
|
54
54
|
|
|
55
55
|
使用下面的 manifest 以保持权限范围和事件同步。
|
|
56
56
|
|
|
57
|
-
多账户支持:使用 `channels.slack.accounts` 配置每个账户的令牌和可选的 `name`。参见 [`gateway/configuration`](/gateway/configuration#telegramaccounts--discordaccounts--slackaccounts--signalaccounts--imessageaccounts) 了解共享模式。
|
|
58
|
-
|
|
59
57
|
### Symi 配置(最小)
|
|
60
58
|
|
|
61
59
|
通过环境变量设置令牌(推荐):
|
|
@@ -79,8 +79,6 @@ x-i18n:
|
|
|
79
79
|
环境变量选项:`TELEGRAM_BOT_TOKEN=...`(适用于默认账户)。
|
|
80
80
|
如果环境变量和配置都设置了,配置优先。
|
|
81
81
|
|
|
82
|
-
多账户支持:使用 `channels.telegram.accounts`,每个账户有独立的 token 和可选的 `name`。参见 [`gateway/configuration`](/gateway/configuration#telegramaccounts--discordaccounts--slackaccounts--signalaccounts--imessageaccounts) 了解共享模式。
|
|
83
|
-
|
|
84
82
|
3. 启动 Gateway 网关。当 token 解析成功时 Telegram 启动(配置优先,环境变量回退)。
|
|
85
83
|
4. 私信访问默认为配对模式。机器人首次被联系时批准配对码。
|
|
86
84
|
5. 对于群组:添加机器人,决定隐私/管理员行为(见下文),然后设置 `channels.telegram.groups` 来控制提及门控和允许列表。
|
|
@@ -747,5 +745,4 @@ Telegram 反应作为**单独的 `message_reaction` 事件**到达,而不是
|
|
|
747
745
|
|
|
748
746
|
- `agents.list[].groupChat.mentionPatterns`(提及门控模式)。
|
|
749
747
|
- `messages.groupChat.mentionPatterns`(全局回退)。
|
|
750
|
-
- `commands.native`(默认为 `"auto"` → Telegram/Discord 开启,Slack 关闭)、`commands.text`、`commands.useAccessGroups`(命令行为)。使用 `channels.telegram.commands.native` 覆盖。
|
|
751
748
|
- `messages.responsePrefix`、`messages.ackReaction`、`messages.ackReactionScope`、`messages.removeAckAfterReply`。
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
read_when:
|
|
3
3
|
- 渠道已连接但消息无法流通
|
|
4
4
|
- 排查渠道配置错误(意图、权限、隐私模式)
|
|
5
|
-
summary: 渠道专属故障排除快捷指南(Discord/Telegram/WhatsApp)
|
|
6
5
|
title: 渠道故障排除
|
|
7
6
|
x-i18n:
|
|
8
7
|
generated_at: "2026-02-01T19:58:09Z"
|
|
@@ -26,7 +25,6 @@ symi channels status --probe
|
|
|
26
25
|
|
|
27
26
|
## 渠道
|
|
28
27
|
|
|
29
|
-
- Discord:[/channels/discord#troubleshooting](/channels/discord#troubleshooting)
|
|
30
28
|
- Telegram:[/channels/telegram#troubleshooting](/channels/telegram#troubleshooting)
|
|
31
29
|
- WhatsApp:[/channels/whatsapp#troubleshooting-quick](/channels/whatsapp#troubleshooting-quick)
|
|
32
30
|
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
---
|
|
2
2
|
read_when:
|
|
3
|
-
- 你想添加/删除渠道账户(WhatsApp/Telegram/Discord/Google Chat/Slack/Mattermost(插件)/Signal/iMessage)
|
|
4
3
|
- 你想检查渠道状态或跟踪渠道日志
|
|
5
4
|
summary: "`symi channels` 的 CLI 参考(账户、状态、登录/登出、日志)"
|
|
6
5
|
title: channels
|
|
@@ -28,7 +27,6 @@ x-i18n:
|
|
|
28
27
|
symi channels list
|
|
29
28
|
symi channels status
|
|
30
29
|
symi channels capabilities
|
|
31
|
-
symi channels capabilities --channel discord --target channel:123
|
|
32
30
|
symi channels resolve --channel slack "#general" "@jane"
|
|
33
31
|
symi channels logs --channel all
|
|
34
32
|
```
|
|
@@ -61,14 +59,11 @@ symi channels logout --channel whatsapp
|
|
|
61
59
|
|
|
62
60
|
```bash
|
|
63
61
|
symi channels capabilities
|
|
64
|
-
symi channels capabilities --channel discord --target channel:123
|
|
65
62
|
```
|
|
66
63
|
|
|
67
64
|
说明:
|
|
68
65
|
|
|
69
66
|
- `--channel` 是可选的;省略它可列出所有渠道(包括扩展)。
|
|
70
|
-
- `--target` 接受 `channel:<id>` 或原始数字频道 id,仅适用于 Discord。
|
|
71
|
-
- 探测是特定于提供商的:Discord intents + 可选的频道权限;Slack bot + user scopes;Telegram bot 标志 + webhook;Signal daemon 版本;MS Teams app token + Graph roles/scopes(在已知处标注)。没有探测功能的渠道报告 `Probe: unavailable`。
|
|
72
67
|
|
|
73
68
|
## 解析名称为 ID
|
|
74
69
|
|
|
@@ -76,7 +71,6 @@ symi channels capabilities --channel discord --target channel:123
|
|
|
76
71
|
|
|
77
72
|
```bash
|
|
78
73
|
symi channels resolve --channel slack "#general" "@jane"
|
|
79
|
-
symi channels resolve --channel discord "My Server/#support" "@someone"
|
|
80
74
|
symi channels resolve --channel matrix "Project Room"
|
|
81
75
|
```
|
|
82
76
|
|
|
@@ -41,7 +41,6 @@ symi message send --channel slack --target user:U012ABCDEF --message "hello"
|
|
|
41
41
|
- WhatsApp:`+15551234567`(私聊),`1234567890-1234567890@g.us`(群组)
|
|
42
42
|
- Telegram:`@username` 或数字聊天 ID;群组为数字 ID
|
|
43
43
|
- Slack:`user:U…` 和 `channel:C…`
|
|
44
|
-
- Discord:`user:<id>` 和 `channel:<id>`
|
|
45
44
|
- Matrix(插件):`user:@user:server`、`room:!roomId:server` 或 `#alias:server`
|
|
46
45
|
- Microsoft Teams(插件):`user:<id>` 和 `conversation:<id>`
|
|
47
46
|
- Zalo(插件):用户 ID(Bot API)
|
package/docs/zh-CN/cli/index.md
CHANGED
|
@@ -373,8 +373,6 @@ symi [--dev] [--profile <name>] <command>
|
|
|
373
373
|
|
|
374
374
|
### `channels`
|
|
375
375
|
|
|
376
|
-
管理聊天渠道账户(WhatsApp/Telegram/Discord/Google Chat/Slack/Mattermost(插件)/Signal/iMessage/MS Teams)。
|
|
377
|
-
|
|
378
376
|
子命令:
|
|
379
377
|
|
|
380
378
|
- `channels list`:显示已配置的渠道和认证配置文件。
|
|
@@ -388,7 +386,6 @@ symi [--dev] [--profile <name>] <command>
|
|
|
388
386
|
|
|
389
387
|
通用选项:
|
|
390
388
|
|
|
391
|
-
- `--channel <name>`:`whatsapp|telegram|discord|googlechat|slack|mattermost|signal|imessage|msteams`
|
|
392
389
|
- `--account <id>`:渠道账户 id(默认 `default`)
|
|
393
390
|
- `--name <label>`:账户的显示名称
|
|
394
391
|
|
|
@@ -420,8 +417,6 @@ symi [--dev] [--profile <name>] <command>
|
|
|
420
417
|
|
|
421
418
|
```bash
|
|
422
419
|
symi channels add --channel telegram --account alerts --name "Alerts Bot" --token $TELEGRAM_BOT_TOKEN
|
|
423
|
-
symi channels add --channel discord --account work --name "Work Bot" --token $DISCORD_BOT_TOKEN
|
|
424
|
-
symi channels remove --channel discord --account work --delete
|
|
425
420
|
symi channels status --probe
|
|
426
421
|
symi status --deep
|
|
427
422
|
```
|
|
@@ -493,7 +488,6 @@ Gmail Pub/Sub 钩子设置 + 运行器。参见 [/automation/gmail-pubsub](/auto
|
|
|
493
488
|
示例:
|
|
494
489
|
|
|
495
490
|
- `symi message send --target +15555550123 --message "Hi"`
|
|
496
|
-
- `symi message poll --channel discord --target channel:123 --poll-question "Snack?" --poll-option Pizza --poll-option Sushi`
|
|
497
491
|
|
|
498
492
|
### `agent`
|
|
499
493
|
|
|
@@ -509,7 +503,6 @@ Gmail Pub/Sub 钩子设置 + 运行器。参见 [/automation/gmail-pubsub](/auto
|
|
|
509
503
|
- `--session-id <id>`
|
|
510
504
|
- `--thinking <off|minimal|low|medium|high|xhigh>`(仅限 GPT-5.2 + Codex 模型)
|
|
511
505
|
- `--verbose <on|full|off>`
|
|
512
|
-
- `--channel <whatsapp|telegram|discord|slack|mattermost|signal|imessage|msteams>`
|
|
513
506
|
- `--local`
|
|
514
507
|
- `--deliver`
|
|
515
508
|
- `--json`
|