skykoi 2026.3.11 → 2026.3.13
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/CHANGELOG.md +157 -157
- package/README.md +148 -148
- package/THIRD_PARTY_LICENSES.txt +1 -1
- package/assets/chrome-extension/README.md +5 -5
- package/assets/chrome-extension/background.js +5 -5
- package/assets/chrome-extension/manifest.json +3 -3
- package/assets/chrome-extension/options.html +5 -5
- package/assets/chrome-extension/options.js +1 -1
- package/dist/{SkyKoi-root-1Xxoj9c2.js → SKYKOI-root-DgeLuP-Y.js} +4 -4
- package/dist/{SkyKoi-root-DiDuB0tU.js → SKYKOI-root-G1ugMMR_.js} +4 -4
- package/dist/{accounts-DcTOxu8H.js → accounts-6GHVTfhm.js} +3 -3
- package/dist/{acp-cli-DQ8Gl-66.js → acp-cli-B5aXJ7wR.js} +24 -24
- package/dist/{acp-cli-CTyGFzui.js → acp-cli-DuOTW1GG.js} +16 -16
- package/dist/{agent-CRkRcvbn.js → agent-H6F-y_iD.js} +12 -12
- package/dist/{agent-scope-CCWoDpgO.js → agent-scope-BDIcbMHp.js} +2 -2
- package/dist/{agent-scope-DXSQVQ2A.js → agent-scope-DADS8Ogj.js} +7 -7
- package/dist/{agent-scope-Dk1slobN.js → agent-scope-DgrFnRZg.js} +5 -5
- package/dist/{agent-CZyq1zG6.js → agent-ygN2C08W.js} +15 -15
- package/dist/{audit-VcmNZt9_.js → audit-B8AGUDBD.js} +22 -22
- package/dist/{audit-G4JDzluf.js → audit-C_j5JhsI.js} +24 -24
- package/dist/{auth-CYYqbqZq.js → auth-CloPkoo0.js} +1 -1
- package/dist/{auth-Du3kY_jU.js → auth-DSrYkGU-.js} +2 -2
- package/dist/{auth-health-BYXkg4BT.js → auth-health-Csun8UBU.js} +1 -1
- package/dist/{auth-health-rhCcWsjZ.js → auth-health-TetlrB4X.js} +1 -1
- package/dist/{auth-profiles-viaj7704.js → auth-profiles-CBMf9cps.js} +8 -8
- package/dist/build-info.json +5 -0
- package/dist/{call-BVO6e0OD.js → call-DfbUyvOA.js} +6 -6
- package/dist/{call-DGC3m6VR.js → call-DziqC6bx.js} +4 -4
- package/dist/{channel-options-Dacyj8Kj.js → channel-options-C_kxJIN5.js} +8 -8
- package/dist/{channel-options-pNN2vd3X.js → channel-options-DaqVeRaR.js} +3 -3
- package/dist/{channel-selection-CSpC9ZM0.js → channel-selection-DOv5Z4as.js} +2 -2
- package/dist/{channel-selection-bfvCferJ.js → channel-selection-Ha3CW6QO.js} +2 -2
- package/dist/{channel-summary-Dt0IUgRm.js → channel-summary-DgHEXul-.js} +6 -6
- package/dist/{channel-summary-p01w5aXs.js → channel-summary-a3TM-9Y0.js} +7 -7
- package/dist/{channels-cli-BE3wI9Mv.js → channels-cli-D5iKnI5D.js} +48 -48
- package/dist/{channels-cli-4iygBuFl.js → channels-cli-wSsgfIEd.js} +33 -33
- package/dist/{channels-status-issues-BKH5rJhF.js → channels-status-issues-CsbN-n1Z.js} +1 -1
- package/dist/{channels-status-issues-Bz8OanVb.js → channels-status-issues-DcWAx1pE.js} +1 -1
- package/dist/{chrome-DSXXpnUw.js → chrome-BjAcrZj9.js} +24 -24
- package/dist/{chrome-D1IHaA-W.js → chrome-CAXMMO5v.js} +20 -20
- package/dist/{clack-prompter-ZKtp6akD.js → clack-prompter-Bfyih97B.js} +4 -4
- package/dist/cli/daemon-cli.js +2 -0
- package/dist/cli-Cu8HSI7n.js +89 -0
- package/dist/{cli-DMdZvkw_.js → cli-VM4KDWQF.js} +27 -27
- package/dist/{client-C9puJST3.js → client-IgdRFRYF.js} +80 -74
- package/dist/{command-format-CO5K-hjY.js → command-format-DaWwoZ_Z.js} +2 -2
- package/dist/{command-format-Q2sXw1hM.js → command-format-DtOukS6I.js} +2 -2
- package/dist/{command-format-BB7fwONf.js → command-format-JFYLbDtd.js} +2 -2
- package/dist/{command-options-DQyVpvAK.js → command-options-BbwtatGO.js} +4 -4
- package/dist/{commands-B8-QRADK.js → commands-ZFNfMKvF.js} +4 -4
- package/dist/{completion-cli-6Z1gpTrF.js → completion-cli-_LeIQqrx.js} +4 -4
- package/dist/{completion-cli-BGfXuspd.js → completion-cli-eOz2Eok0.js} +32 -32
- package/dist/{config-CooUU1lm.js → config-CXUt1osk.js} +14 -15
- package/dist/{config-CDIS7lkk.js → config-DaVW1uQV.js} +17 -18
- package/dist/{config-C16s_5FY.js → config-HMe-z2NO.js} +17 -18
- package/dist/{config-guard-Dx9IwUUO.js → config-guard-BrvBxgCx.js} +93 -92
- package/dist/{configure-BBzaKe3X.js → configure-COKrJ8VL.js} +23 -23
- package/dist/{configure-B75TkU1Y.js → configure-CRbYmk96.js} +14 -14
- package/dist/{constants-BzsOF9IQ.js → constants-BApFvR9k.js} +10 -10
- package/dist/{constants-D6SqBATZ.js → constants-CK7t8U_8.js} +10 -10
- package/dist/{control-service-GvUafEKO.js → control-service-C36oaRrk.js} +5 -5
- package/dist/{control-service-DhoUNWlV.js → control-service-lnW-BptF.js} +6 -6
- package/dist/{cron-cli-Dcifr5rd.js → cron-cli-BjmEHvkt.js} +18 -18
- package/dist/{cron-cli-Bg35ZebZ.js → cron-cli-DRjfl0ZG.js} +9 -9
- package/dist/{daemon-cli-gCsBZxSC.js → daemon-cli-DH4mlLlX.js} +16 -16
- package/dist/{daemon-cli-DMLKQOvx.js → daemon-cli-Dmax0MZY.js} +21 -21
- package/dist/{daemon-runtime-DY4KIB81.js → daemon-runtime-BT9juKg3.js} +5 -5
- package/dist/{daemon-runtime-8_EOfq2R.js → daemon-runtime-BpkQ2sSp.js} +6 -6
- package/dist/{deliver-PjcQjiUY.js → deliver-BT5WQysj.js} +8 -8
- package/dist/{deliver-DCQNDGoo.js → deliver-By6Hi4QY.js} +4 -4
- package/dist/{deliver-BX5vF22E.js → deliver-DudAn56h.js} +6 -6
- package/dist/{deps-iQTUg-QO.js → deps-BZwKcMsI.js} +2 -2
- package/dist/{deps-C9nfPP2Y.js → deps-ChzRwtjD.js} +2 -2
- package/dist/{devices-cli-CEmVKNQv.js → devices-cli-BBgLn1dd.js} +15 -15
- package/dist/{devices-cli-CXVNY__J.js → devices-cli-DK7sY_Y5.js} +7 -7
- package/dist/{directory-cli-CbMzT8WU.js → directory-cli-BTUY4j4T.js} +7 -7
- package/dist/{directory-cli-lKz_ewUH.js → directory-cli-CINpTp-7.js} +16 -16
- package/dist/{dispatcher-NZEmG6Ya.js → dispatcher-BtPLALoe.js} +1 -1
- package/dist/{dns-cli-BhMTHtM5.js → dns-cli-DLCwIt9i.js} +15 -15
- package/dist/{dns-cli-BbNm1oPD.js → dns-cli-DgvySRgp.js} +7 -7
- package/dist/{docs-cli-CS_hLPrw.js → docs-cli-Cg1jRUwJ.js} +6 -6
- package/dist/{docs-cli-Dt7Qw1FF.js → docs-cli-CwYjCjCA.js} +11 -11
- package/dist/{doctor-D9UUgM2o.js → doctor-BiJToFxm.js} +43 -43
- package/dist/{doctor-CPJXS_4y.js → doctor-DXWbYdiJ.js} +52 -52
- package/dist/entry.js +23 -15
- package/dist/{env-Cttj98du.js → env-BmS1w6Of.js} +1 -1
- package/dist/{errors-DqJAN6FF.js → errors-falFYNUP.js} +16 -16
- package/dist/{exec-DGTxXFQA.js → exec-B_35B71R.js} +1 -1
- package/dist/{exec-CwGfnRxa.js → exec-BfklUyuf.js} +5 -5
- package/dist/{exec-approvals-cli-yFq0PKOT.js → exec-approvals-cli-BjMP4fy3.js} +22 -22
- package/dist/{exec-approvals-cli-DoLrW0px.js → exec-approvals-cli-c47ElmPQ.js} +13 -13
- package/dist/extensionAPI.js +204 -217
- package/dist/{gateway-cli-DEdtZdBY.js → gateway-cli-Cw3myFsr.js} +137 -137
- package/dist/{gateway-cli-bDrZm2WQ.js → gateway-cli-D4pYWVvA.js} +119 -119
- package/dist/{gateway-rpc-VddQSMy_.js → gateway-rpc-85opPBme.js} +3 -3
- package/dist/{gateway-rpc-B_gyT_x5.js → gateway-rpc-DTo9hvWi.js} +2 -2
- package/dist/{github-copilot-auth-CUMuvKKC.js → github-copilot-auth-4421_bDI.js} +8 -8
- package/dist/{github-copilot-auth-BS5SOJNR.js → github-copilot-auth-U-r6wc6D.js} +11 -11
- package/dist/{github-copilot-token-7boTx1D-.js → github-copilot-token-Cyoe9dnQ.js} +1 -1
- package/dist/{github-copilot-token-DkGdbrln.js → github-copilot-token-D5BeSP-k.js} +1 -1
- package/dist/{gmail-setup-utils-zvV9N1hM.js → gmail-setup-utils-CS9hQbr5.js} +4 -4
- package/dist/{gmail-setup-utils-B27zvVD2.js → gmail-setup-utils-_vqr99ln.js} +1 -1
- package/dist/{health-format-CtaiDNoH.js → health-format-DaYoO0eu.js} +11 -11
- package/dist/{health-format-0tokNz7N.js → health-format-DlMsaI-P.js} +16 -16
- package/dist/{help-format-0lndqUB8.js → help-format-q-N7n7vs.js} +1 -1
- package/dist/hooks/bundled/boot-md/HOOK.md +19 -0
- package/dist/hooks/bundled/command-logger/HOOK.md +122 -0
- package/dist/hooks/bundled/session-memory/HOOK.md +109 -0
- package/dist/hooks/bundled/soul-evil/HOOK.md +71 -0
- package/dist/{hooks-cli-hZ2iJjrB.js → hooks-cli-BLRtZLTO.js} +35 -35
- package/dist/{hooks-cli-CdO3iPfP.js → hooks-cli-CYCsB0XJ.js} +50 -50
- package/dist/{hooks-status-D4kldoAx.js → hooks-status-D58LpxJJ.js} +12 -12
- package/dist/{hooks-status-BvxPJlDT.js → hooks-status-DqVSHHPb.js} +11 -11
- package/dist/{image-DRpQid7M.js → image-BJVKKrw4.js} +9 -9
- package/dist/{image-CmoPZA76.js → image-D4akzCbh.js} +8 -8
- package/dist/{image-DioZ-V2D.js → image-D65tbKY7.js} +9 -9
- package/dist/index.js +156 -155
- package/dist/{installs-CWsMIjk0.js → installs-ChtZhX65.js} +11 -11
- package/dist/{installs-BW5OQ0J6.js → installs-VdItzL1f.js} +9 -9
- package/dist/{links-B3xkO8_G.js → links-BYUF0_Hp.js} +1 -1
- package/dist/{loader-B2kCUNEC.js → loader-D0h4mSg-.js} +138 -157
- package/dist/{logging-3phpsMUw.js → logging-CLxV9Na7.js} +2 -2
- package/dist/{login-qr-26UfPN8d.js → login-qr-BsMQdFJj.js} +2 -2
- package/dist/{login-qr-BTxvjeP2.js → login-qr-CphAbJzT.js} +6 -6
- package/dist/{login-qr-D14yUuqm.js → login-qr-D9IaTGzs.js} +3 -3
- package/dist/{logs-cli-B08ibLmT.js → logs-cli-BLfH7BOx.js} +10 -10
- package/dist/{logs-cli-BYwCs6p2.js → logs-cli-C-H2w8K-.js} +18 -18
- package/dist/{manager-VTzR4KLd.js → manager-BJ0u8dRN.js} +10 -10
- package/dist/{manager-BWYzzbUa.js → manager-CPFx0YrU.js} +12 -12
- package/dist/{manager-BFg22Zhv.js → manager-ChMDstgb.js} +6 -6
- package/dist/{manifest-registry-BNfgQinl.js → manifest-registry-BWwhsgX7.js} +4 -4
- package/dist/{manifest-registry-K6hK96M4.js → manifest-registry-_yT8b-UL.js} +3 -3
- package/dist/{message-channel-CBfT5rub.js → message-channel-DHb3z4h2.js} +2 -1
- package/dist/{message-channel-DXR7mBmt.js → message-channel-DuMt9R2u.js} +1 -0
- package/dist/{model-selection-C8DSGWIZ.js → model-selection-Dan3BLAo.js} +13 -13
- package/dist/{model-selection-DKxD5K5m.js → model-selection-H-QqLyJS.js} +11 -11
- package/dist/{models-cli-Bh75MeMf.js → models-cli-BIP4Y8dD.js} +51 -51
- package/dist/{models-cli-BH40x3q-.js → models-cli-qUofxrFk.js} +33 -33
- package/dist/{net-Bmf8t8EC.js → net-sP4-ayNL.js} +82 -76
- package/dist/{node-cli-DOcP1l4K.js → node-cli-Cvl9VzWS.js} +35 -30
- package/dist/{node-cli-BcC0C6Ea.js → node-cli-DDe_hKJy.js} +28 -23
- package/dist/{node-service-CM_a91Iw.js → node-service-0VCYYXMx.js} +2 -2
- package/dist/{node-service-Csia5z0q.js → node-service-Cb_Ly3vx.js} +2 -2
- package/dist/{nodes-cli-COdDszBG.js → nodes-cli-BJsCI47e.js} +19 -19
- package/dist/{nodes-cli-N6oqUb2c.js → nodes-cli-ClHJsBAH.js} +10 -10
- package/dist/{nodes-screen-CE7lnfmY.js → nodes-screen--Fiu4qmi.js} +2 -2
- package/dist/{nodes-screen-CNqmbInv.js → nodes-screen-Dv_Gpr27.js} +2 -2
- package/dist/{note-98hAjjTc.js → note-CrCSjpk3.js} +2 -2
- package/dist/{onboard-channels-BQUBHpSI.js → onboard-channels-DG5cCyLI.js} +8 -8
- package/dist/{onboard-channels-DKHJbpdW.js → onboard-channels-DoyLfJPk.js} +10 -10
- package/dist/{onboard-skills-DWD8eVK9.js → onboard-skills-DP4eNOhj.js} +19 -19
- package/dist/{onboard-skills-DYeRMZPK.js → onboard-skills-mB-9LcbZ.js} +17 -17
- package/dist/{onboarding-CnIlXkVH.js → onboarding-BZE2bqvl.js} +50 -50
- package/dist/{pairing-cli-Cww0qX7n.js → pairing-cli-YpG-4HE1.js} +17 -17
- package/dist/{pairing-cli-sIWp0GND.js → pairing-cli-idAjz2pg.js} +8 -8
- package/dist/{pairing-labels-jqNz0TAK.js → pairing-labels-ByaUyk7_.js} +1 -1
- package/dist/{pairing-labels-kr-LZ7Iv.js → pairing-labels-PIuwtPoI.js} +1 -1
- package/dist/{pairing-store-3EKEJ-wO.js → pairing-store-BQk2-5gz.js} +2 -2
- package/dist/{pairing-store-Du4Eiofj.js → pairing-store-BuS29sYc.js} +1 -1
- package/dist/{path-env-C9kNtksu.js → path-env-B9XpVdel.js} +3 -3
- package/dist/{path-env-CW2YJL2d.js → path-env-CFR2r-B9.js} +4 -4
- package/dist/{paths-DIgugNlf.js → paths-BKn8dZXk.js} +13 -5
- package/dist/{paths-3i01DqyU.js → paths-BP5k1v-m.js} +14 -6
- package/dist/{paths-DqczE7b5.js → paths-BRP11_63.js} +1 -1
- package/dist/{paths-DNYJDWUD.js → paths-Dx_DFiIu.js} +2 -2
- package/dist/{pi-embedded-helpers-BLT8pUGL.js → pi-embedded-helpers-B0chJTph.js} +4 -4
- package/dist/{pi-embedded-helpers-C4fP-hKB.js → pi-embedded-helpers-BbhOWvkU.js} +3 -3
- package/dist/{pi-embedded-helpers-Cy5Wq8I4.js → pi-embedded-helpers-DsIdUyG-.js} +49 -48
- package/dist/{pi-tools.policy-BT3_X5hC.js → pi-tools.policy-ON9ionAS.js} +4 -4
- package/dist/{plugin-auto-enable-B4g3OAkw.js → plugin-auto-enable-BYh5mZH5.js} +6 -6
- package/dist/{plugin-auto-enable-7wp23K3j.js → plugin-auto-enable-Yf-xQDDW.js} +3 -3
- package/dist/plugin-sdk/index.js +139 -126
- package/dist/{plugins-BiBDkJLp.js → plugins-BH3edU40.js} +1 -1
- package/dist/{plugins-GKGgxE5t.js → plugins-DsFDopoj.js} +4 -4
- package/dist/{plugins-cli-BffnLCzl.js → plugins-cli-CqZY_K5E.js} +45 -45
- package/dist/{plugins-cli-BWfurw2x.js → plugins-cli-DdTPwJoS.js} +30 -30
- package/dist/{ports-m_U41gT_.js → ports-X0OBWLHa.js} +1 -1
- package/dist/{program-Cqp5_paZ.js → program-DwLiIvvz.js} +69 -69
- package/dist/{progress-DXkwieg_.js → progress-RqIRAMUO.js} +1 -1
- package/dist/{prompt-style-LrI4wrff.js → prompt-style-CnGSEFh0.js} +1 -1
- package/dist/{pw-ai-TVrenTcr.js → pw-ai-B8h8ig_2.js} +8 -8
- package/dist/{pw-ai-BNrEe8iK.js → pw-ai-CNRN3blT.js} +12 -12
- package/dist/{pw-ai-Ctem9aZt.js → pw-ai-DnYxHTIa.js} +10 -10
- package/dist/{qmd-manager-PlJXhRln.js → qmd-manager-D3PqjB9O.js} +5 -5
- package/dist/{qmd-manager-C-CtHm76.js → qmd-manager-WLlktdCA.js} +1 -1
- package/dist/{qmd-manager-BRInTFIN.js → qmd-manager-vCeFMuic.js} +7 -7
- package/dist/{register.subclis-Bhg4PVz0.js → register.subclis-BI5UBoZ0.js} +28 -28
- package/dist/{reply-CFOVYC1u.js → reply-CjAROg_c.js} +154 -173
- package/dist/{routes-Kek_zngV.js → routes-C8t8rAsZ.js} +8 -8
- package/dist/{routes-CbHFaMB6.js → routes-v5-W2rza.js} +10 -10
- package/dist/{rpc-jXESLLND.js → rpc-DVHEvTgR.js} +2 -2
- package/dist/{rpc-zPKcaOPs.js → rpc-I0LhOosY.js} +3 -3
- package/dist/{run-main-CQEABVvU.js → run-main-C9APoN1r.js} +64 -64
- package/dist/{sandbox-BAKrAQJm.js → sandbox-BQUIJbc5.js} +29 -29
- package/dist/{sandbox-lMMtH_oo.js → sandbox-HZ5_C6Hk.js} +24 -24
- package/dist/{sandbox-cli-i4BGjVdR.js → sandbox-cli-B2UdfSzz.js} +40 -40
- package/dist/{sandbox-cli-fwguXd8d.js → sandbox-cli-CYwLZY_W.js} +30 -30
- package/dist/{security-cli-Bpf-Qepk.js → security-cli-5q-h7uRl.js} +29 -29
- package/dist/{security-cli-DFASXoOB.js → security-cli-BaLrW9zj.js} +19 -19
- package/dist/{server-context-DthBWsuh.js → server-context-7-RDaPH3.js} +15 -15
- package/dist/{server-context-wiE0STjl.js → server-context-D-D-iAUp.js} +13 -13
- package/dist/{server-node-events-DhdM93Wd.js → server-node-events-Cwkqx5AA.js} +43 -43
- package/dist/{server-node-events-Cb7mYgJz.js → server-node-events-Dy1wj11P.js} +28 -28
- package/dist/{service-8UVcO43T.js → service-DCenfuWh.js} +2 -2
- package/dist/{service-F5BEDQpe.js → service-WG1x2OSQ.js} +3 -3
- package/dist/{service-audit-pBdB7wXF.js → service-audit-BTLXANqN.js} +12 -12
- package/dist/{service-audit-DG9j_qzZ.js → service-audit-DDd8ZNai.js} +12 -12
- package/dist/{session-cost-usage-XwMY4gn6.js → session-cost-usage-M2kWIdJ6.js} +1 -1
- package/dist/{shared-DT5rnBex.js → shared-BC2NSpGa.js} +4 -4
- package/dist/{shared-2obeQe6S.js → shared-BV5RRSRC.js} +5 -5
- package/dist/{shared-CLUouoWK.js → shared-DCX0Vtl1.js} +3 -3
- package/dist/{shared-DoNx6s9b.js → shared-DV8oIQ7h.js} +4 -4
- package/dist/{skills-5Vz1MpFY.js → skills-BSZTMk5H.js} +10 -10
- package/dist/{skills-BJmL9G5L.js → skills-BxO5Ecx5.js} +12 -12
- package/dist/{skills-cli-B19BI487.js → skills-cli-6Sqw_srL.js} +16 -16
- package/dist/{skills-cli-BjijbKgU.js → skills-cli-InqkEvxk.js} +8 -8
- package/dist/{skills-status-CDQDAXH-.js → skills-status-D1uoW4lu.js} +3 -3
- package/dist/{skills-status-yJBOK7p_.js → skills-status-H6bA88MV.js} +5 -5
- package/dist/{sqlite-C_5n8NZI.js → sqlite-CBI1pJqV.js} +1 -1
- package/dist/{sqlite-CtiUzPmK.js → sqlite-DRGmFCyY.js} +1 -1
- package/dist/{status-DMsHeaXC.js → status-BDVf9_XP.js} +5 -5
- package/dist/{status-g1VTst9X.js → status-CPGQDZtY.js} +4 -4
- package/dist/{status-CRk0n8qT.js → status-gCd5plro.js} +41 -41
- package/dist/{subsystem-Bn-Knx2Q.js → subsystem-B6KC_eUM.js} +5 -5
- package/dist/{system-cli-B29Ylmwl.js → system-cli-CNO33M0Y.js} +8 -8
- package/dist/{system-cli-Dmh-QQ4h.js → system-cli-gugKB8Ab.js} +16 -16
- package/dist/{systemd-BkP826rW.js → systemd-DmEeTiZ0.js} +2 -2
- package/dist/{systemd-D1yEPZpQ.js → systemd-DyrxDxSB.js} +4 -4
- package/dist/{systemd-hints-DMk8z28R.js → systemd-hints-C_XVx08a.js} +1 -1
- package/dist/{systemd-hints-Ds4nmNMK.js → systemd-hints-dXiOYbUi.js} +1 -1
- package/dist/{systemd-linger-CdeWod0G.js → systemd-linger-CEVIpVG8.js} +1 -1
- package/dist/{systemd-linger-uQ6a86xp.js → systemd-linger-CdE0rrgu.js} +2 -2
- package/dist/{table-C6xP5U7w.js → table-BOthYYmp.js} +2 -2
- package/dist/{tailscale-Dv6sZxfi.js → tailscale-C9oNI3cv.js} +2 -2
- package/dist/{tool-display-DOXnpL7M.js → tool-display-BhorItjT.js} +1 -1
- package/dist/{tui-Dw1bPxa4.js → tui-B8c_1tIW.js} +10 -10
- package/dist/{tui-8xMe1QpO.js → tui-CPap7MXS.js} +13 -13
- package/dist/{tui-cli-DIFHrgzU.js → tui-cli-Bh-WlhY-.js} +26 -26
- package/dist/{tui-cli-eQanSZCi.js → tui-cli-lcU4-YTO.js} +16 -16
- package/dist/{update-CB1s6436.js → update-Col1vYTu.js} +4 -4
- package/dist/{update-CqmTUudh.js → update-DqrpUeKm.js} +3 -3
- package/dist/{update-cli-sjcD4UAN.js → update-cli-3fHG7yxs.js} +95 -95
- package/dist/{update-cli-BJbTBdqV.js → update-cli-BqR67nRm.js} +77 -77
- package/dist/{update-runner-B_rU14d0.js → update-runner-CpLkRIIC.js} +17 -17
- package/dist/{update-runner-wmgE_HQ5.js → update-runner-ZXFy8Xy2.js} +19 -19
- package/dist/{utils-Dq030IDo.js → utils-CV3CeN0V.js} +2 -2
- package/dist/{webhooks-cli-Bq8HS5Nn.js → webhooks-cli-DhFHN9Av.js} +9 -9
- package/dist/{webhooks-cli-CYnUjeTW.js → webhooks-cli-khqNuVIX.js} +16 -16
- package/dist/{widearea-dns-vPa3VRwl.js → widearea-dns-Bxls47LT.js} +6 -6
- package/dist/{widearea-dns-bdiHwdn3.js → widearea-dns-Cr9yVcsB.js} +7 -7
- package/dist/{ws-log-CqjxtHs1.js → ws-log-DxXqar2k.js} +1 -1
- package/dist/{wsl-Dgpt12tO.js → wsl-D52TsyFE.js} +1 -1
- package/docs/.i18n/README.md +1 -1
- package/docs/.i18n/glossary.zh-CN.json +2 -2
- package/docs/automation/auth-monitoring.md +7 -7
- package/docs/automation/cron-jobs.md +26 -26
- package/docs/automation/cron-vs-heartbeat.md +7 -7
- package/docs/automation/gmail-pubsub.md +25 -25
- package/docs/automation/hooks.md +62 -62
- package/docs/automation/poll.md +7 -7
- package/docs/automation/troubleshooting.md +25 -25
- package/docs/automation/webhook.md +5 -5
- package/docs/brave-search.md +1 -1
- package/docs/channels/bluebubbles.md +12 -12
- package/docs/channels/broadcast-groups.md +6 -6
- package/docs/channels/channel-routing.md +5 -5
- package/docs/channels/discord.md +17 -17
- package/docs/channels/feishu.md +34 -34
- package/docs/channels/googlechat.md +16 -16
- package/docs/channels/group-messages.md +7 -7
- package/docs/channels/groups.md +5 -5
- package/docs/channels/imessage.md +16 -16
- package/docs/channels/index.md +4 -4
- package/docs/channels/line.md +6 -6
- package/docs/channels/location.md +1 -1
- package/docs/channels/matrix.md +20 -20
- package/docs/channels/mattermost.md +8 -8
- package/docs/channels/msteams.md +26 -26
- package/docs/channels/nextcloud-talk.md +7 -7
- package/docs/channels/nostr.md +9 -9
- package/docs/channels/pairing.md +10 -10
- package/docs/channels/signal.md +15 -15
- package/docs/channels/slack.md +22 -22
- package/docs/channels/telegram.md +24 -24
- package/docs/channels/tlon.md +5 -5
- package/docs/channels/troubleshooting.md +17 -17
- package/docs/channels/twitch.md +11 -11
- package/docs/channels/whatsapp.md +25 -25
- package/docs/channels/zalo.md +8 -8
- package/docs/channels/zalouser.md +12 -12
- package/docs/cli/acp.md +24 -24
- package/docs/cli/agent.md +6 -6
- package/docs/cli/agents.md +12 -12
- package/docs/cli/approvals.md +14 -14
- package/docs/cli/browser.md +24 -24
- package/docs/cli/channels.md +21 -21
- package/docs/cli/config.md +15 -15
- package/docs/cli/configure.md +6 -6
- package/docs/cli/cron.md +6 -6
- package/docs/cli/dashboard.md +4 -4
- package/docs/cli/devices.md +13 -13
- package/docs/cli/directory.md +12 -12
- package/docs/cli/dns.md +5 -5
- package/docs/cli/docs.md +5 -5
- package/docs/cli/doctor.md +6 -6
- package/docs/cli/gateway.md +24 -24
- package/docs/cli/health.md +5 -5
- package/docs/cli/hooks.md +35 -35
- package/docs/cli/index.md +43 -43
- package/docs/cli/logs.md +6 -6
- package/docs/cli/memory.md +11 -11
- package/docs/cli/message.md +11 -11
- package/docs/cli/models.md +15 -15
- package/docs/cli/node.md +14 -14
- package/docs/cli/nodes.md +14 -14
- package/docs/cli/onboard.md +9 -9
- package/docs/cli/pairing.md +4 -4
- package/docs/cli/plugins.md +16 -16
- package/docs/cli/reset.md +5 -5
- package/docs/cli/sandbox.md +28 -28
- package/docs/cli/security.md +5 -5
- package/docs/cli/sessions.md +5 -5
- package/docs/cli/setup.md +6 -6
- package/docs/cli/skills.md +7 -7
- package/docs/cli/status.md +7 -7
- package/docs/cli/system.md +6 -6
- package/docs/cli/tui.md +5 -5
- package/docs/cli/uninstall.md +5 -5
- package/docs/cli/update.md +20 -20
- package/docs/cli/voicecall.md +9 -9
- package/docs/cli/webhooks.md +5 -5
- package/docs/concepts/agent-loop.md +5 -5
- package/docs/concepts/agent-workspace.md +26 -26
- package/docs/concepts/agent.md +12 -12
- package/docs/concepts/architecture.md +1 -1
- package/docs/concepts/compaction.md +5 -5
- package/docs/concepts/context.md +6 -6
- package/docs/concepts/features.md +2 -2
- package/docs/concepts/markdown-formatting.md +3 -3
- package/docs/concepts/memory.md +29 -29
- package/docs/concepts/messages.md +4 -4
- package/docs/concepts/model-failover.md +14 -14
- package/docs/concepts/model-providers.md +21 -21
- package/docs/concepts/models.md +27 -27
- package/docs/concepts/multi-agent.md +31 -31
- package/docs/concepts/oauth.md +21 -21
- package/docs/concepts/presence.md +2 -2
- package/docs/concepts/retry.md +1 -1
- package/docs/concepts/session-pruning.md +1 -1
- package/docs/concepts/session-tool.md +4 -4
- package/docs/concepts/session.md +16 -16
- package/docs/concepts/streaming.md +3 -3
- package/docs/concepts/system-prompt.md +12 -12
- package/docs/concepts/timezone.md +2 -2
- package/docs/concepts/typebox.md +3 -3
- package/docs/concepts/typing-indicators.md +2 -2
- package/docs/concepts/usage-tracking.md +3 -3
- package/docs/date-time.md +2 -2
- package/docs/debug/node-issue.md +6 -6
- package/docs/diagnostics/flags.md +5 -5
- package/docs/docs.json +8 -8
- package/docs/experiments/plans/cron-add-hardening.md +1 -1
- package/docs/experiments/plans/openresponses-gateway.md +2 -2
- package/docs/experiments/research/memory.md +12 -12
- package/docs/gateway/authentication.md +22 -22
- package/docs/gateway/background-process.md +1 -1
- package/docs/gateway/bonjour.md +17 -17
- package/docs/gateway/bridge-protocol.md +2 -2
- package/docs/gateway/cli-backends.md +12 -12
- package/docs/gateway/configuration-examples.md +24 -24
- package/docs/gateway/configuration.md +147 -147
- package/docs/gateway/discovery.md +5 -5
- package/docs/gateway/doctor.md +26 -26
- package/docs/gateway/gateway-lock.md +1 -1
- package/docs/gateway/health.md +11 -11
- package/docs/gateway/heartbeat.md +5 -5
- package/docs/gateway/index.md +53 -53
- package/docs/gateway/local-models.md +2 -2
- package/docs/gateway/logging.md +8 -8
- package/docs/gateway/multiple-gateways.md +20 -20
- package/docs/gateway/network-model.md +2 -2
- package/docs/gateway/openai-http-api.md +10 -10
- package/docs/gateway/openresponses-http-api.md +10 -10
- package/docs/gateway/pairing.md +8 -8
- package/docs/gateway/protocol.md +3 -3
- package/docs/gateway/remote-gateway-readme.md +9 -9
- package/docs/gateway/remote.md +3 -3
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +7 -7
- package/docs/gateway/sandboxing.md +6 -6
- package/docs/gateway/security/index.md +56 -56
- package/docs/gateway/tailscale.md +7 -7
- package/docs/gateway/tools-invoke-http-api.md +3 -3
- package/docs/gateway/troubleshooting.md +57 -57
- package/docs/help/debugging.md +14 -14
- package/docs/help/environment.md +4 -4
- package/docs/help/faq.md +344 -344
- package/docs/help/scripts.md +1 -1
- package/docs/help/testing.md +13 -13
- package/docs/help/troubleshooting.md +55 -55
- package/docs/hooks/soul-evil.md +2 -2
- package/docs/index.md +21 -21
- package/docs/install/ansible.md +35 -35
- package/docs/install/development-channels.md +10 -10
- package/docs/install/docker.md +37 -37
- package/docs/install/exe-dev.md +18 -18
- package/docs/install/fly.md +21 -21
- package/docs/install/gcp.md +48 -48
- package/docs/install/hetzner.md +35 -35
- package/docs/install/index.md +26 -26
- package/docs/install/installer.md +68 -68
- package/docs/install/macos-vm.md +27 -27
- package/docs/install/migrating.md +28 -28
- package/docs/install/nix.md +17 -17
- package/docs/install/node.md +6 -6
- package/docs/install/uninstall.md +29 -29
- package/docs/install/updating.md +51 -51
- package/docs/logging.md +58 -58
- package/docs/network.md +1 -1
- package/docs/nodes/audio.md +2 -2
- package/docs/nodes/camera.md +18 -18
- package/docs/nodes/images.md +4 -4
- package/docs/nodes/index.md +58 -58
- package/docs/nodes/location-command.md +2 -2
- package/docs/nodes/media-understanding.md +5 -5
- package/docs/nodes/talk.md +1 -1
- package/docs/nodes/troubleshooting.md +19 -19
- package/docs/nodes/voicewake.md +3 -3
- package/docs/perplexity.md +2 -2
- package/docs/pi-dev.md +6 -6
- package/docs/pi.md +21 -21
- package/docs/platforms/android.md +11 -11
- package/docs/platforms/digitalocean.md +26 -26
- package/docs/platforms/index.md +8 -8
- package/docs/platforms/ios.md +12 -12
- package/docs/platforms/linux.md +11 -11
- package/docs/platforms/mac/bundled-gateway.md +14 -14
- package/docs/platforms/mac/canvas.md +13 -13
- package/docs/platforms/mac/child-process.md +5 -5
- package/docs/platforms/mac/dev-setup.md +10 -10
- package/docs/platforms/mac/health.md +2 -2
- package/docs/platforms/mac/icon.md +1 -1
- package/docs/platforms/mac/logging.md +4 -4
- package/docs/platforms/mac/menu-bar.md +1 -1
- package/docs/platforms/mac/peekaboo.md +9 -9
- package/docs/platforms/mac/permissions.md +2 -2
- package/docs/platforms/mac/release.md +16 -16
- package/docs/platforms/mac/remote.md +14 -14
- package/docs/platforms/mac/signing.md +7 -7
- package/docs/platforms/mac/skills.md +4 -4
- package/docs/platforms/mac/webchat.md +1 -1
- package/docs/platforms/mac/xpc.md +4 -4
- package/docs/platforms/macos.md +16 -16
- package/docs/platforms/oracle.md +35 -35
- package/docs/platforms/raspberry-pi.md +22 -22
- package/docs/platforms/windows.md +11 -11
- package/docs/plugins/agent-tools.md +1 -1
- package/docs/plugins/manifest.md +4 -4
- package/docs/plugins/voice-call.md +12 -12
- package/docs/plugins/zalouser.md +9 -9
- package/docs/prose.md +9 -9
- package/docs/providers/anthropic.md +17 -17
- package/docs/providers/bedrock.md +10 -10
- package/docs/providers/claude-max-api-proxy.md +4 -4
- package/docs/providers/cloudflare-ai-gateway.md +5 -5
- package/docs/providers/deepgram.md +2 -2
- package/docs/providers/github-copilot.md +11 -11
- package/docs/providers/glm.md +4 -4
- package/docs/providers/index.md +3 -3
- package/docs/providers/minimax.md +13 -13
- package/docs/providers/models.md +3 -3
- package/docs/providers/moonshot.md +2 -2
- package/docs/providers/ollama.md +12 -12
- package/docs/providers/openai.md +6 -6
- package/docs/providers/opencode.md +3 -3
- package/docs/providers/openrouter.md +3 -3
- package/docs/providers/qianfan.md +5 -5
- package/docs/providers/qwen.md +6 -6
- package/docs/providers/synthetic.md +4 -4
- package/docs/providers/venice.md +21 -21
- package/docs/providers/vercel-ai-gateway.md +4 -4
- package/docs/providers/xiaomi.md +5 -5
- package/docs/providers/zai.md +5 -5
- package/docs/refactor/exec-host.md +5 -5
- package/docs/refactor/plugin-sdk.md +12 -12
- package/docs/refactor/strict-config.md +11 -11
- package/docs/reference/AGENTS.default.md +17 -17
- package/docs/reference/RELEASING.md +29 -29
- package/docs/reference/api-usage-costs.md +6 -6
- package/docs/reference/credits.md +1 -1
- package/docs/reference/device-models.md +7 -7
- package/docs/reference/rpc.md +3 -3
- package/docs/reference/session-management-compaction.md +19 -19
- package/docs/reference/templates/AGENTS.dev.md +1 -1
- package/docs/reference/templates/AGENTS.md +27 -87
- package/docs/reference/templates/BOOT.md +1 -1
- package/docs/reference/templates/HEARTBEAT.md +62 -8
- package/docs/reference/templates/IDENTITY.md +1 -1
- package/docs/reference/templates/SOUL.md +33 -10
- package/docs/reference/templates/TOOLS.dev.md +1 -1
- package/docs/reference/templates/USER.dev.md +2 -2
- package/docs/reference/test.md +2 -2
- package/docs/reference/token-use.md +7 -7
- package/docs/reference/transcript-hygiene.md +1 -1
- package/docs/reference/wizard.md +25 -25
- package/docs/security/formal-verification.md +7 -7
- package/docs/start/{openclaw.md → SkyKoi.md} +30 -30
- package/docs/start/bootstrapping.md +3 -3
- package/docs/start/docs-directory.md +2 -2
- package/docs/start/getting-started.md +11 -11
- package/docs/start/hubs.md +4 -4
- package/docs/start/lore.md +21 -21
- package/docs/start/onboarding.md +3 -3
- package/docs/start/quickstart.md +1 -1
- package/docs/start/setup.md +23 -23
- package/docs/start/showcase.md +45 -45
- package/docs/start/wizard-cli-automation.md +15 -15
- package/docs/start/wizard-cli-reference.md +18 -18
- package/docs/start/wizard.md +11 -11
- package/docs/tools/agent-send.md +10 -10
- package/docs/tools/browser-linux-troubleshooting.md +16 -16
- package/docs/tools/browser-login.md +6 -6
- package/docs/tools/browser.md +127 -127
- package/docs/tools/chrome-extension.md +17 -17
- package/docs/tools/clawhub.md +51 -51
- package/docs/tools/creating-skills.md +7 -7
- package/docs/tools/exec-approvals.md +5 -5
- package/docs/tools/exec.md +4 -4
- package/docs/tools/firecrawl.md +2 -2
- package/docs/tools/index.md +13 -13
- package/docs/tools/llm-task.md +2 -2
- package/docs/tools/lobster.md +13 -13
- package/docs/tools/multi-agent-sandbox-tools.md +15 -15
- package/docs/tools/plugin.md +64 -64
- package/docs/tools/skills-config.md +2 -2
- package/docs/tools/skills.md +39 -39
- package/docs/tools/slash-commands.md +8 -8
- package/docs/tools/web.md +8 -8
- package/docs/tts.md +11 -11
- package/docs/vps.md +1 -1
- package/docs/web/control-ui.md +11 -11
- package/docs/web/dashboard.md +3 -3
- package/docs/web/index.md +4 -4
- package/docs/web/tui.md +7 -7
- package/docs/zh-CN/AGENTS.md +1 -1
- package/docs/zh-CN/automation/auth-monitoring.md +6 -6
- package/docs/zh-CN/automation/cron-jobs.md +23 -23
- package/docs/zh-CN/automation/cron-vs-heartbeat.md +7 -7
- package/docs/zh-CN/automation/gmail-pubsub.md +25 -25
- package/docs/zh-CN/automation/hooks.md +62 -62
- package/docs/zh-CN/automation/poll.md +7 -7
- package/docs/zh-CN/automation/webhook.md +5 -5
- package/docs/zh-CN/brave-search.md +1 -1
- package/docs/zh-CN/channels/bluebubbles.md +12 -12
- package/docs/zh-CN/channels/broadcast-groups.md +6 -6
- package/docs/zh-CN/channels/channel-routing.md +5 -5
- package/docs/zh-CN/channels/discord.md +16 -16
- package/docs/zh-CN/channels/feishu.md +32 -32
- package/docs/zh-CN/channels/googlechat.md +16 -16
- package/docs/zh-CN/channels/group-messages.md +7 -7
- package/docs/zh-CN/channels/groups.md +4 -4
- package/docs/zh-CN/channels/imessage.md +13 -13
- package/docs/zh-CN/channels/index.md +4 -4
- package/docs/zh-CN/channels/line.md +6 -6
- package/docs/zh-CN/channels/location.md +1 -1
- package/docs/zh-CN/channels/matrix.md +13 -13
- package/docs/zh-CN/channels/mattermost.md +8 -8
- package/docs/zh-CN/channels/msteams.md +26 -26
- package/docs/zh-CN/channels/nextcloud-talk.md +7 -7
- package/docs/zh-CN/channels/nostr.md +9 -9
- package/docs/zh-CN/channels/pairing.md +10 -10
- package/docs/zh-CN/channels/signal.md +9 -9
- package/docs/zh-CN/channels/slack.md +16 -16
- package/docs/zh-CN/channels/telegram.md +24 -24
- package/docs/zh-CN/channels/tlon.md +5 -5
- package/docs/zh-CN/channels/troubleshooting.md +2 -2
- package/docs/zh-CN/channels/twitch.md +11 -11
- package/docs/zh-CN/channels/whatsapp.md +25 -25
- package/docs/zh-CN/channels/zalo.md +8 -8
- package/docs/zh-CN/channels/zalouser.md +12 -12
- package/docs/zh-CN/cli/acp.md +24 -24
- package/docs/zh-CN/cli/agent.md +6 -6
- package/docs/zh-CN/cli/agents.md +12 -12
- package/docs/zh-CN/cli/approvals.md +14 -14
- package/docs/zh-CN/cli/browser.md +24 -24
- package/docs/zh-CN/cli/channels.md +21 -21
- package/docs/zh-CN/cli/config.md +15 -15
- package/docs/zh-CN/cli/configure.md +5 -5
- package/docs/zh-CN/cli/cron.md +5 -5
- package/docs/zh-CN/cli/dashboard.md +4 -4
- package/docs/zh-CN/cli/devices.md +13 -13
- package/docs/zh-CN/cli/directory.md +12 -12
- package/docs/zh-CN/cli/dns.md +5 -5
- package/docs/zh-CN/cli/docs.md +5 -5
- package/docs/zh-CN/cli/doctor.md +6 -6
- package/docs/zh-CN/cli/gateway.md +24 -24
- package/docs/zh-CN/cli/health.md +5 -5
- package/docs/zh-CN/cli/hooks.md +35 -35
- package/docs/zh-CN/cli/index.md +43 -43
- package/docs/zh-CN/cli/logs.md +6 -6
- package/docs/zh-CN/cli/memory.md +11 -11
- package/docs/zh-CN/cli/message.md +11 -11
- package/docs/zh-CN/cli/models.md +15 -15
- package/docs/zh-CN/cli/node.md +14 -14
- package/docs/zh-CN/cli/nodes.md +14 -14
- package/docs/zh-CN/cli/onboard.md +7 -7
- package/docs/zh-CN/cli/pairing.md +4 -4
- package/docs/zh-CN/cli/plugins.md +16 -16
- package/docs/zh-CN/cli/reset.md +5 -5
- package/docs/zh-CN/cli/sandbox.md +28 -28
- package/docs/zh-CN/cli/security.md +5 -5
- package/docs/zh-CN/cli/sessions.md +5 -5
- package/docs/zh-CN/cli/setup.md +6 -6
- package/docs/zh-CN/cli/skills.md +7 -7
- package/docs/zh-CN/cli/status.md +7 -7
- package/docs/zh-CN/cli/system.md +6 -6
- package/docs/zh-CN/cli/tui.md +5 -5
- package/docs/zh-CN/cli/uninstall.md +5 -5
- package/docs/zh-CN/cli/update.md +20 -20
- package/docs/zh-CN/cli/voicecall.md +9 -9
- package/docs/zh-CN/cli/webhooks.md +5 -5
- package/docs/zh-CN/concepts/agent-loop.md +5 -5
- package/docs/zh-CN/concepts/agent-workspace.md +26 -26
- package/docs/zh-CN/concepts/agent.md +12 -12
- package/docs/zh-CN/concepts/architecture.md +1 -1
- package/docs/zh-CN/concepts/compaction.md +5 -5
- package/docs/zh-CN/concepts/context.md +6 -6
- package/docs/zh-CN/concepts/features.md +2 -2
- package/docs/zh-CN/concepts/markdown-formatting.md +3 -3
- package/docs/zh-CN/concepts/memory.md +15 -15
- package/docs/zh-CN/concepts/messages.md +4 -4
- package/docs/zh-CN/concepts/model-failover.md +13 -13
- package/docs/zh-CN/concepts/model-providers.md +21 -21
- package/docs/zh-CN/concepts/models.md +27 -27
- package/docs/zh-CN/concepts/multi-agent.md +31 -31
- package/docs/zh-CN/concepts/oauth.md +21 -21
- package/docs/zh-CN/concepts/presence.md +2 -2
- package/docs/zh-CN/concepts/retry.md +1 -1
- package/docs/zh-CN/concepts/session-pruning.md +1 -1
- package/docs/zh-CN/concepts/session-tool.md +4 -4
- package/docs/zh-CN/concepts/session.md +14 -14
- package/docs/zh-CN/concepts/streaming.md +3 -3
- package/docs/zh-CN/concepts/system-prompt.md +9 -9
- package/docs/zh-CN/concepts/timezone.md +2 -2
- package/docs/zh-CN/concepts/typebox.md +3 -3
- package/docs/zh-CN/concepts/typing-indicators.md +2 -2
- package/docs/zh-CN/concepts/usage-tracking.md +3 -3
- package/docs/zh-CN/date-time.md +2 -2
- package/docs/zh-CN/debug/node-issue.md +6 -6
- package/docs/zh-CN/diagnostics/flags.md +5 -5
- package/docs/zh-CN/experiments/plans/cron-add-hardening.md +1 -1
- package/docs/zh-CN/experiments/plans/openresponses-gateway.md +2 -2
- package/docs/zh-CN/experiments/research/memory.md +12 -12
- package/docs/zh-CN/gateway/authentication.md +22 -22
- package/docs/zh-CN/gateway/background-process.md +1 -1
- package/docs/zh-CN/gateway/bonjour.md +17 -17
- package/docs/zh-CN/gateway/bridge-protocol.md +2 -2
- package/docs/zh-CN/gateway/cli-backends.md +11 -11
- package/docs/zh-CN/gateway/configuration-examples.md +24 -24
- package/docs/zh-CN/gateway/configuration.md +143 -143
- package/docs/zh-CN/gateway/discovery.md +5 -5
- package/docs/zh-CN/gateway/doctor.md +26 -26
- package/docs/zh-CN/gateway/gateway-lock.md +1 -1
- package/docs/zh-CN/gateway/health.md +11 -11
- package/docs/zh-CN/gateway/heartbeat.md +5 -5
- package/docs/zh-CN/gateway/index.md +53 -53
- package/docs/zh-CN/gateway/local-models.md +2 -2
- package/docs/zh-CN/gateway/logging.md +8 -8
- package/docs/zh-CN/gateway/multiple-gateways.md +20 -20
- package/docs/zh-CN/gateway/network-model.md +2 -2
- package/docs/zh-CN/gateway/openai-http-api.md +10 -10
- package/docs/zh-CN/gateway/openresponses-http-api.md +10 -10
- package/docs/zh-CN/gateway/pairing.md +8 -8
- package/docs/zh-CN/gateway/protocol.md +3 -3
- package/docs/zh-CN/gateway/remote-gateway-readme.md +9 -9
- package/docs/zh-CN/gateway/remote.md +3 -3
- package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +7 -7
- package/docs/zh-CN/gateway/sandboxing.md +6 -6
- package/docs/zh-CN/gateway/security/index.md +54 -54
- package/docs/zh-CN/gateway/tailscale.md +7 -7
- package/docs/zh-CN/gateway/tools-invoke-http-api.md +3 -3
- package/docs/zh-CN/gateway/troubleshooting.md +112 -112
- package/docs/zh-CN/help/debugging.md +14 -14
- package/docs/zh-CN/help/environment.md +4 -4
- package/docs/zh-CN/help/faq.md +341 -341
- package/docs/zh-CN/help/scripts.md +1 -1
- package/docs/zh-CN/help/testing.md +13 -13
- package/docs/zh-CN/help/troubleshooting.md +16 -16
- package/docs/zh-CN/hooks/soul-evil.md +2 -2
- package/docs/zh-CN/index.md +20 -20
- package/docs/zh-CN/install/ansible.md +35 -35
- package/docs/zh-CN/install/development-channels.md +10 -10
- package/docs/zh-CN/install/docker.md +36 -36
- package/docs/zh-CN/install/exe-dev.md +16 -16
- package/docs/zh-CN/install/fly.md +21 -21
- package/docs/zh-CN/install/gcp.md +48 -48
- package/docs/zh-CN/install/hetzner.md +35 -35
- package/docs/zh-CN/install/index.md +35 -35
- package/docs/zh-CN/install/installer.md +24 -24
- package/docs/zh-CN/install/macos-vm.md +27 -27
- package/docs/zh-CN/install/migrating.md +28 -28
- package/docs/zh-CN/install/nix.md +17 -17
- package/docs/zh-CN/install/node.md +1 -1
- package/docs/zh-CN/install/uninstall.md +29 -29
- package/docs/zh-CN/install/updating.md +51 -51
- package/docs/zh-CN/logging.md +43 -43
- package/docs/zh-CN/network.md +1 -1
- package/docs/zh-CN/nodes/audio.md +2 -2
- package/docs/zh-CN/nodes/camera.md +18 -18
- package/docs/zh-CN/nodes/images.md +4 -4
- package/docs/zh-CN/nodes/index.md +58 -58
- package/docs/zh-CN/nodes/location-command.md +2 -2
- package/docs/zh-CN/nodes/media-understanding.md +5 -5
- package/docs/zh-CN/nodes/talk.md +1 -1
- package/docs/zh-CN/nodes/voicewake.md +3 -3
- package/docs/zh-CN/perplexity.md +2 -2
- package/docs/zh-CN/pi-dev.md +6 -6
- package/docs/zh-CN/pi.md +21 -21
- package/docs/zh-CN/platforms/android.md +11 -11
- package/docs/zh-CN/platforms/digitalocean.md +26 -26
- package/docs/zh-CN/platforms/index.md +8 -8
- package/docs/zh-CN/platforms/ios.md +12 -12
- package/docs/zh-CN/platforms/linux.md +11 -11
- package/docs/zh-CN/platforms/mac/bundled-gateway.md +13 -13
- package/docs/zh-CN/platforms/mac/canvas.md +13 -13
- package/docs/zh-CN/platforms/mac/child-process.md +5 -5
- package/docs/zh-CN/platforms/mac/dev-setup.md +10 -10
- package/docs/zh-CN/platforms/mac/health.md +2 -2
- package/docs/zh-CN/platforms/mac/icon.md +1 -1
- package/docs/zh-CN/platforms/mac/logging.md +4 -4
- package/docs/zh-CN/platforms/mac/menu-bar.md +1 -1
- package/docs/zh-CN/platforms/mac/peekaboo.md +9 -9
- package/docs/zh-CN/platforms/mac/permissions.md +1 -1
- package/docs/zh-CN/platforms/mac/release.md +16 -16
- package/docs/zh-CN/platforms/mac/remote.md +14 -14
- package/docs/zh-CN/platforms/mac/signing.md +7 -7
- package/docs/zh-CN/platforms/mac/skills.md +4 -4
- package/docs/zh-CN/platforms/mac/webchat.md +1 -1
- package/docs/zh-CN/platforms/mac/xpc.md +4 -4
- package/docs/zh-CN/platforms/macos.md +16 -16
- package/docs/zh-CN/platforms/oracle.md +35 -35
- package/docs/zh-CN/platforms/raspberry-pi.md +22 -22
- package/docs/zh-CN/platforms/windows.md +11 -11
- package/docs/zh-CN/plugins/agent-tools.md +1 -1
- package/docs/zh-CN/plugins/manifest.md +3 -3
- package/docs/zh-CN/plugins/voice-call.md +12 -12
- package/docs/zh-CN/plugins/zalouser.md +9 -9
- package/docs/zh-CN/prose.md +9 -9
- package/docs/zh-CN/providers/anthropic.md +17 -17
- package/docs/zh-CN/providers/bedrock.md +9 -9
- package/docs/zh-CN/providers/claude-max-api-proxy.md +4 -4
- package/docs/zh-CN/providers/deepgram.md +2 -2
- package/docs/zh-CN/providers/github-copilot.md +11 -11
- package/docs/zh-CN/providers/glm.md +4 -4
- package/docs/zh-CN/providers/index.md +3 -3
- package/docs/zh-CN/providers/minimax.md +13 -13
- package/docs/zh-CN/providers/models.md +3 -3
- package/docs/zh-CN/providers/moonshot.md +2 -2
- package/docs/zh-CN/providers/ollama.md +11 -11
- package/docs/zh-CN/providers/openai.md +6 -6
- package/docs/zh-CN/providers/opencode.md +3 -3
- package/docs/zh-CN/providers/openrouter.md +3 -3
- package/docs/zh-CN/providers/qianfan.md +1 -1
- package/docs/zh-CN/providers/qwen.md +6 -6
- package/docs/zh-CN/providers/synthetic.md +4 -4
- package/docs/zh-CN/providers/venice.md +21 -21
- package/docs/zh-CN/providers/vercel-ai-gateway.md +4 -4
- package/docs/zh-CN/providers/xiaomi.md +5 -5
- package/docs/zh-CN/providers/zai.md +5 -5
- package/docs/zh-CN/refactor/exec-host.md +5 -5
- package/docs/zh-CN/refactor/plugin-sdk.md +12 -12
- package/docs/zh-CN/refactor/strict-config.md +11 -11
- package/docs/zh-CN/reference/AGENTS.default.md +17 -17
- package/docs/zh-CN/reference/RELEASING.md +28 -28
- package/docs/zh-CN/reference/api-usage-costs.md +6 -6
- package/docs/zh-CN/reference/credits.md +1 -1
- package/docs/zh-CN/reference/device-models.md +7 -7
- package/docs/zh-CN/reference/rpc.md +3 -3
- package/docs/zh-CN/reference/session-management-compaction.md +19 -19
- package/docs/zh-CN/reference/templates/AGENTS.dev.md +1 -1
- package/docs/zh-CN/reference/templates/BOOT.md +1 -1
- package/docs/zh-CN/reference/templates/IDENTITY.md +1 -1
- package/docs/zh-CN/reference/templates/TOOLS.dev.md +1 -1
- package/docs/zh-CN/reference/templates/USER.dev.md +2 -2
- package/docs/zh-CN/reference/test.md +2 -2
- package/docs/zh-CN/reference/token-use.md +7 -7
- package/docs/zh-CN/reference/transcript-hygiene.md +1 -1
- package/docs/zh-CN/security/formal-verification.md +7 -7
- package/docs/zh-CN/start/{openclaw.md → SkyKoi.md} +35 -35
- package/docs/zh-CN/start/docs-directory.md +2 -2
- package/docs/zh-CN/start/getting-started.md +29 -29
- package/docs/zh-CN/start/hubs.md +3 -3
- package/docs/zh-CN/start/lore.md +21 -21
- package/docs/zh-CN/start/onboarding.md +7 -7
- package/docs/zh-CN/start/quickstart.md +17 -17
- package/docs/zh-CN/start/setup.md +22 -22
- package/docs/zh-CN/start/showcase.md +45 -45
- package/docs/zh-CN/start/wizard.md +30 -30
- package/docs/zh-CN/tools/agent-send.md +10 -10
- package/docs/zh-CN/tools/browser-linux-troubleshooting.md +16 -16
- package/docs/zh-CN/tools/browser-login.md +6 -6
- package/docs/zh-CN/tools/browser.md +127 -127
- package/docs/zh-CN/tools/chrome-extension.md +17 -17
- package/docs/zh-CN/tools/clawhub.md +44 -44
- package/docs/zh-CN/tools/creating-skills.md +7 -7
- package/docs/zh-CN/tools/exec-approvals.md +5 -5
- package/docs/zh-CN/tools/exec.md +4 -4
- package/docs/zh-CN/tools/firecrawl.md +2 -2
- package/docs/zh-CN/tools/index.md +13 -13
- package/docs/zh-CN/tools/llm-task.md +2 -2
- package/docs/zh-CN/tools/lobster.md +13 -13
- package/docs/zh-CN/tools/multi-agent-sandbox-tools.md +15 -15
- package/docs/zh-CN/tools/plugin.md +63 -63
- package/docs/zh-CN/tools/skills-config.md +2 -2
- package/docs/zh-CN/tools/skills.md +34 -34
- package/docs/zh-CN/tools/slash-commands.md +8 -8
- package/docs/zh-CN/tools/web.md +6 -6
- package/docs/zh-CN/tts.md +10 -10
- package/docs/zh-CN/vps.md +1 -1
- package/docs/zh-CN/web/control-ui.md +11 -11
- package/docs/zh-CN/web/dashboard.md +4 -4
- package/docs/zh-CN/web/index.md +4 -4
- package/docs/zh-CN/web/tui.md +7 -7
- package/extensions/bluebubbles/README.md +2 -2
- package/extensions/bluebubbles/index.ts +3 -3
- package/extensions/bluebubbles/package.json +5 -5
- package/extensions/bluebubbles/src/accounts.ts +9 -9
- package/extensions/bluebubbles/src/actions.test.ts +22 -22
- package/extensions/bluebubbles/src/actions.ts +1 -1
- package/extensions/bluebubbles/src/attachments.ts +2 -2
- package/extensions/bluebubbles/src/channel.ts +4 -4
- package/extensions/bluebubbles/src/chat.ts +2 -2
- package/extensions/bluebubbles/src/config-schema.ts +1 -1
- package/extensions/bluebubbles/src/media-send.ts +2 -2
- package/extensions/bluebubbles/src/monitor.test.ts +50 -50
- package/extensions/bluebubbles/src/monitor.ts +6 -6
- package/extensions/bluebubbles/src/onboarding.ts +9 -9
- package/extensions/bluebubbles/src/reactions.ts +2 -2
- package/extensions/bluebubbles/src/runtime.ts +1 -1
- package/extensions/bluebubbles/src/send.ts +3 -3
- package/extensions/copilot-proxy/README.md +3 -3
- package/extensions/copilot-proxy/index.ts +1 -1
- package/extensions/copilot-proxy/package.json +4 -4
- package/extensions/diagnostics-otel/index.ts +3 -3
- package/extensions/diagnostics-otel/node_modules/.bin/acorn +2 -2
- package/extensions/diagnostics-otel/node_modules/.bin/acorn.CMD +2 -2
- package/extensions/diagnostics-otel/node_modules/.bin/acorn.ps1 +2 -2
- package/extensions/diagnostics-otel/package.json +4 -4
- package/extensions/diagnostics-otel/src/service.test.ts +15 -15
- package/extensions/diagnostics-otel/src/service.ts +85 -85
- package/extensions/discord/index.ts +3 -3
- package/extensions/discord/package.json +4 -4
- package/extensions/discord/src/channel.ts +1 -1
- package/extensions/discord/src/runtime.ts +1 -1
- package/extensions/feishu/index.ts +3 -3
- package/extensions/feishu/package.json +5 -5
- package/extensions/feishu/src/accounts.ts +9 -9
- package/extensions/feishu/src/bitable.ts +2 -2
- package/extensions/feishu/src/bot.ts +4 -4
- package/extensions/feishu/src/channel.ts +3 -3
- package/extensions/feishu/src/directory.ts +5 -5
- package/extensions/feishu/src/docx.ts +2 -2
- package/extensions/feishu/src/drive.ts +2 -2
- package/extensions/feishu/src/media.ts +8 -8
- package/extensions/feishu/src/monitor.ts +3 -3
- package/extensions/feishu/src/onboarding.ts +10 -10
- package/extensions/feishu/src/outbound.ts +1 -1
- package/extensions/feishu/src/perm.ts +2 -2
- package/extensions/feishu/src/policy.ts +1 -1
- package/extensions/feishu/src/reactions.ts +4 -4
- package/extensions/feishu/src/reply-dispatcher.ts +3 -3
- package/extensions/feishu/src/runtime.ts +1 -1
- package/extensions/feishu/src/send.ts +7 -7
- package/extensions/feishu/src/typing.ts +3 -3
- package/extensions/feishu/src/wiki.ts +2 -2
- package/extensions/google-antigravity-auth/README.md +3 -3
- package/extensions/google-antigravity-auth/index.ts +2 -2
- package/extensions/google-antigravity-auth/package.json +4 -4
- package/extensions/google-gemini-cli-auth/README.md +3 -3
- package/extensions/google-gemini-cli-auth/index.ts +1 -1
- package/extensions/google-gemini-cli-auth/oauth.ts +2 -2
- package/extensions/google-gemini-cli-auth/package.json +4 -4
- package/extensions/googlechat/index.ts +4 -4
- package/extensions/googlechat/package.json +6 -6
- package/extensions/googlechat/src/accounts.ts +9 -9
- package/extensions/googlechat/src/actions.ts +5 -5
- package/extensions/googlechat/src/api.ts +1 -1
- package/extensions/googlechat/src/channel.ts +5 -5
- package/extensions/googlechat/src/monitor.ts +9 -9
- package/extensions/googlechat/src/onboarding.ts +11 -11
- package/extensions/googlechat/src/runtime.ts +1 -1
- package/extensions/googlechat/src/types.config.ts +1 -1
- package/extensions/imessage/index.ts +3 -3
- package/extensions/imessage/package.json +4 -4
- package/extensions/imessage/src/channel.ts +1 -1
- package/extensions/imessage/src/runtime.ts +1 -1
- package/extensions/line/index.ts +3 -3
- package/extensions/line/package.json +5 -5
- package/extensions/line/src/card-command.ts +3 -3
- package/extensions/line/src/channel.logout.test.ts +4 -4
- package/extensions/line/src/channel.sendPayload.test.ts +8 -8
- package/extensions/line/src/channel.ts +5 -5
- package/extensions/line/src/runtime.ts +1 -1
- package/extensions/llm-task/README.md +4 -4
- package/extensions/llm-task/index.ts +2 -2
- package/extensions/llm-task/package.json +4 -4
- package/extensions/llm-task/src/llm-task-tool.ts +6 -6
- package/extensions/lobster/README.md +7 -7
- package/extensions/lobster/index.ts +2 -2
- package/extensions/lobster/package.json +3 -3
- package/extensions/lobster/src/lobster-tool.test.ts +7 -7
- package/extensions/lobster/src/lobster-tool.ts +2 -2
- package/extensions/matrix/CHANGELOG.md +17 -17
- package/extensions/matrix/index.ts +3 -3
- package/extensions/matrix/node_modules/.bin/markdown-it +2 -2
- package/extensions/matrix/node_modules/.bin/markdown-it.CMD +2 -2
- package/extensions/matrix/node_modules/.bin/markdown-it.ps1 +2 -2
- package/extensions/matrix/package.json +5 -5
- package/extensions/matrix/src/actions.ts +1 -1
- package/extensions/matrix/src/channel.directory.test.ts +1 -1
- package/extensions/matrix/src/channel.ts +1 -1
- package/extensions/matrix/src/config-schema.ts +1 -1
- package/extensions/matrix/src/directory-live.ts +1 -1
- package/extensions/matrix/src/group-mentions.ts +1 -1
- package/extensions/matrix/src/matrix/accounts.ts +1 -1
- package/extensions/matrix/src/matrix/client/config.ts +1 -1
- package/extensions/matrix/src/matrix/deps.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/allowlist.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/auto-join.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/events.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/handler.ts +5 -5
- package/extensions/matrix/src/matrix/monitor/index.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/location.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/media.test.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/replies.ts +1 -1
- package/extensions/matrix/src/matrix/monitor/rooms.ts +1 -1
- package/extensions/matrix/src/matrix/poll-types.ts +1 -1
- package/extensions/matrix/src/matrix/send.test.ts +1 -1
- package/extensions/matrix/src/matrix/send.ts +1 -1
- package/extensions/matrix/src/onboarding.ts +2 -2
- package/extensions/matrix/src/outbound.ts +1 -1
- package/extensions/matrix/src/resolve-targets.test.ts +1 -1
- package/extensions/matrix/src/resolve-targets.ts +1 -1
- package/extensions/matrix/src/runtime.ts +1 -1
- package/extensions/matrix/src/tool-actions.ts +1 -1
- package/extensions/mattermost/index.ts +3 -3
- package/extensions/mattermost/package.json +5 -5
- package/extensions/mattermost/src/channel.test.ts +3 -3
- package/extensions/mattermost/src/channel.ts +1 -1
- package/extensions/mattermost/src/config-schema.ts +1 -1
- package/extensions/mattermost/src/group-mentions.ts +1 -1
- package/extensions/mattermost/src/mattermost/accounts.ts +9 -9
- package/extensions/mattermost/src/mattermost/monitor-helpers.ts +5 -5
- package/extensions/mattermost/src/mattermost/monitor.ts +4 -4
- package/extensions/mattermost/src/onboarding-helpers.ts +4 -4
- package/extensions/mattermost/src/onboarding.ts +4 -4
- package/extensions/mattermost/src/runtime.ts +1 -1
- package/extensions/mattermost/src/types.ts +1 -1
- package/extensions/memory-core/index.ts +3 -3
- package/extensions/memory-core/package.json +5 -5
- package/extensions/memory-lancedb/config.ts +2 -2
- package/extensions/memory-lancedb/index.test.ts +2 -2
- package/extensions/memory-lancedb/index.ts +4 -4
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv.CMD +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv.ps1 +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/openai +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/openai.CMD +2 -2
- package/extensions/memory-lancedb/node_modules/.bin/openai.ps1 +2 -2
- package/extensions/memory-lancedb/package.json +4 -4
- package/extensions/memory-lancedb/skykoi.plugin.json +1 -1
- package/extensions/minimax-portal-auth/README.md +4 -4
- package/extensions/minimax-portal-auth/index.ts +1 -1
- package/extensions/minimax-portal-auth/package.json +4 -4
- package/extensions/msteams/CHANGELOG.md +15 -15
- package/extensions/msteams/index.ts +3 -3
- package/extensions/msteams/package.json +6 -6
- package/extensions/msteams/src/attachments.test.ts +1 -1
- package/extensions/msteams/src/channel.directory.test.ts +2 -2
- package/extensions/msteams/src/channel.ts +3 -3
- package/extensions/msteams/src/conversation-store-fs.test.ts +3 -3
- package/extensions/msteams/src/directory-live.ts +1 -1
- package/extensions/msteams/src/graph-upload.ts +4 -4
- package/extensions/msteams/src/media-helpers.ts +1 -1
- package/extensions/msteams/src/messenger.test.ts +1 -1
- package/extensions/msteams/src/messenger.ts +1 -1
- package/extensions/msteams/src/monitor-handler/message-handler.ts +1 -1
- package/extensions/msteams/src/monitor-handler.ts +2 -2
- package/extensions/msteams/src/monitor.ts +3 -3
- package/extensions/msteams/src/onboarding.ts +11 -11
- package/extensions/msteams/src/outbound.ts +1 -1
- package/extensions/msteams/src/policy.test.ts +1 -1
- package/extensions/msteams/src/policy.ts +2 -2
- package/extensions/msteams/src/polls-store.test.ts +1 -1
- package/extensions/msteams/src/polls.test.ts +4 -4
- package/extensions/msteams/src/polls.ts +8 -8
- package/extensions/msteams/src/probe.test.ts +1 -1
- package/extensions/msteams/src/probe.ts +1 -1
- package/extensions/msteams/src/reply-dispatcher.ts +3 -3
- package/extensions/msteams/src/runtime.ts +1 -1
- package/extensions/msteams/src/send-context.ts +3 -3
- package/extensions/msteams/src/send.ts +5 -5
- package/extensions/msteams/src/token.ts +1 -1
- package/extensions/nextcloud-talk/index.ts +3 -3
- package/extensions/nextcloud-talk/package.json +5 -5
- package/extensions/nextcloud-talk/src/accounts.ts +1 -1
- package/extensions/nextcloud-talk/src/channel.ts +6 -6
- package/extensions/nextcloud-talk/src/config-schema.ts +1 -1
- package/extensions/nextcloud-talk/src/inbound.ts +9 -9
- package/extensions/nextcloud-talk/src/monitor.ts +1 -1
- package/extensions/nextcloud-talk/src/onboarding.ts +2 -2
- package/extensions/nextcloud-talk/src/policy.ts +2 -2
- package/extensions/nextcloud-talk/src/room-info.ts +1 -1
- package/extensions/nextcloud-talk/src/runtime.ts +1 -1
- package/extensions/nextcloud-talk/src/types.ts +1 -1
- package/extensions/nostr/CHANGELOG.md +12 -12
- package/extensions/nostr/README.md +5 -5
- package/extensions/nostr/index.ts +3 -3
- package/extensions/nostr/node_modules/.bin/tsc +2 -2
- package/extensions/nostr/node_modules/.bin/tsc.CMD +2 -2
- package/extensions/nostr/node_modules/.bin/tsc.ps1 +2 -2
- package/extensions/nostr/node_modules/.bin/tsserver +2 -2
- package/extensions/nostr/node_modules/.bin/tsserver.CMD +2 -2
- package/extensions/nostr/node_modules/.bin/tsserver.ps1 +2 -2
- package/extensions/nostr/package.json +6 -6
- package/extensions/nostr/src/channel.ts +2 -2
- package/extensions/nostr/src/config-schema.ts +1 -1
- package/extensions/nostr/src/nostr-state-store.test.ts +3 -3
- package/extensions/nostr/src/runtime.ts +1 -1
- package/extensions/nostr/src/types.ts +4 -4
- package/extensions/open-prose/index.ts +2 -2
- package/extensions/open-prose/package.json +3 -3
- package/extensions/open-prose/skills/prose/SKILL.md +5 -5
- package/extensions/open-prose/skills/prose/prose.md +4 -4
- package/extensions/qwen-portal-auth/README.md +3 -3
- package/extensions/qwen-portal-auth/index.ts +1 -1
- package/extensions/signal/index.ts +3 -3
- package/extensions/signal/package.json +4 -4
- package/extensions/signal/src/channel.ts +1 -1
- package/extensions/signal/src/runtime.ts +1 -1
- package/extensions/slack/index.ts +3 -3
- package/extensions/slack/package.json +4 -4
- package/extensions/slack/src/channel.ts +1 -1
- package/extensions/slack/src/runtime.ts +1 -1
- package/extensions/telegram/index.ts +3 -3
- package/extensions/telegram/package.json +4 -4
- package/extensions/telegram/src/channel.ts +3 -3
- package/extensions/telegram/src/runtime.ts +1 -1
- package/extensions/tlon/README.md +3 -3
- package/extensions/tlon/index.ts +3 -3
- package/extensions/tlon/package.json +5 -5
- package/extensions/tlon/src/channel.ts +9 -9
- package/extensions/tlon/src/config-schema.ts +1 -1
- package/extensions/tlon/src/monitor/discovery.ts +1 -1
- package/extensions/tlon/src/monitor/history.ts +1 -1
- package/extensions/tlon/src/monitor/index.ts +3 -3
- package/extensions/tlon/src/onboarding.ts +4 -4
- package/extensions/tlon/src/runtime.ts +1 -1
- package/extensions/tlon/src/types.ts +3 -3
- package/extensions/twitch/CHANGELOG.md +9 -9
- package/extensions/twitch/README.md +8 -8
- package/extensions/twitch/index.ts +3 -3
- package/extensions/twitch/package.json +4 -4
- package/extensions/twitch/src/actions.ts +1 -1
- package/extensions/twitch/src/config-schema.ts +1 -1
- package/extensions/twitch/src/config.ts +3 -3
- package/extensions/twitch/src/monitor.ts +4 -4
- package/extensions/twitch/src/onboarding.test.ts +1 -1
- package/extensions/twitch/src/onboarding.ts +8 -8
- package/extensions/twitch/src/outbound.test.ts +2 -2
- package/extensions/twitch/src/outbound.ts +2 -2
- package/extensions/twitch/src/plugin.test.ts +2 -2
- package/extensions/twitch/src/plugin.ts +9 -9
- package/extensions/twitch/src/runtime.ts +1 -1
- package/extensions/twitch/src/send.test.ts +2 -2
- package/extensions/twitch/src/send.ts +5 -5
- package/extensions/twitch/src/token.test.ts +8 -8
- package/extensions/twitch/src/token.ts +3 -3
- package/extensions/twitch/src/twitch-client.ts +3 -3
- package/extensions/twitch/src/types.ts +3 -3
- package/extensions/twitch/src/utils/markdown.ts +1 -1
- package/extensions/voice-call/CHANGELOG.md +19 -19
- package/extensions/voice-call/README.md +16 -16
- package/extensions/voice-call/package.json +4 -4
- package/extensions/voice-call/src/cli.ts +2 -2
- package/extensions/voice-call/src/core-bridge.ts +3 -3
- package/extensions/voice-call/src/manager.test.ts +6 -6
- package/extensions/voice-call/src/manager.ts +1 -1
- package/extensions/voice-call/src/response-generator.ts +1 -1
- package/extensions/whatsapp/index.ts +3 -3
- package/extensions/whatsapp/package.json +4 -4
- package/extensions/whatsapp/src/channel.ts +1 -1
- package/extensions/whatsapp/src/runtime.ts +1 -1
- package/extensions/zalo/CHANGELOG.md +17 -17
- package/extensions/zalo/README.md +4 -4
- package/extensions/zalo/index.ts +3 -3
- package/extensions/zalo/package.json +6 -6
- package/extensions/zalo/src/accounts.ts +9 -9
- package/extensions/zalo/src/actions.ts +4 -4
- package/extensions/zalo/src/channel.directory.test.ts +2 -2
- package/extensions/zalo/src/channel.ts +5 -5
- package/extensions/zalo/src/config-schema.ts +1 -1
- package/extensions/zalo/src/monitor.ts +10 -10
- package/extensions/zalo/src/monitor.webhook.test.ts +2 -2
- package/extensions/zalo/src/onboarding.ts +19 -19
- package/extensions/zalo/src/runtime.ts +1 -1
- package/extensions/zalo/src/send.ts +2 -2
- package/extensions/zalo/src/status-issues.ts +1 -1
- package/extensions/zalo/src/token.ts +1 -1
- package/extensions/zalouser/CHANGELOG.md +12 -12
- package/extensions/zalouser/README.md +18 -18
- package/extensions/zalouser/index.ts +3 -3
- package/extensions/zalouser/package.json +6 -6
- package/extensions/zalouser/src/accounts.ts +10 -10
- package/extensions/zalouser/src/channel.ts +6 -6
- package/extensions/zalouser/src/config-schema.ts +1 -1
- package/extensions/zalouser/src/monitor.ts +5 -5
- package/extensions/zalouser/src/onboarding.ts +23 -23
- package/extensions/zalouser/src/runtime.ts +1 -1
- package/extensions/zalouser/src/status-issues.ts +2 -2
- package/package.json +10 -11
- package/skills/1password/SKILL.md +3 -3
- package/skills/apple-notes/SKILL.md +2 -2
- package/skills/apple-reminders/SKILL.md +1 -1
- package/skills/bear-notes/SKILL.md +1 -1
- package/skills/blogwatcher/SKILL.md +1 -1
- package/skills/blucli/SKILL.md +1 -1
- package/skills/bluebubbles/SKILL.md +3 -3
- package/skills/camsnap/SKILL.md +1 -1
- package/skills/canvas/SKILL.md +6 -6
- package/skills/clawhub/SKILL.md +23 -23
- package/skills/coding-agent/SKILL.md +6 -6
- package/skills/discord/SKILL.md +5 -5
- package/skills/eightctl/SKILL.md +1 -1
- package/skills/food-order/SKILL.md +1 -1
- package/skills/gemini/SKILL.md +1 -1
- package/skills/gifgrep/SKILL.md +1 -1
- package/skills/github/SKILL.md +1 -1
- package/skills/gog/SKILL.md +1 -1
- package/skills/goplaces/SKILL.md +1 -1
- package/skills/healthcheck/SKILL.md +36 -36
- package/skills/himalaya/SKILL.md +1 -1
- package/skills/imsg/SKILL.md +1 -1
- package/skills/local-places/SKILL.md +1 -1
- package/skills/mcporter/SKILL.md +1 -1
- package/skills/model-usage/SKILL.md +1 -1
- package/skills/nano-banana-pro/SKILL.md +3 -3
- package/skills/nano-banana-pro/scripts/generate_image.py +1 -1
- package/skills/nano-pdf/SKILL.md +1 -1
- package/skills/notion/SKILL.md +1 -1
- package/skills/obsidian/SKILL.md +1 -1
- package/skills/openai-image-gen/SKILL.md +1 -1
- package/skills/openai-whisper/SKILL.md +1 -1
- package/skills/openai-whisper-api/SKILL.md +2 -2
- package/skills/openhue/SKILL.md +1 -1
- package/skills/oracle/SKILL.md +1 -1
- package/skills/ordercli/SKILL.md +1 -1
- package/skills/peekaboo/SKILL.md +1 -1
- package/skills/sag/SKILL.md +1 -1
- package/skills/session-logs/SKILL.md +7 -7
- package/skills/sherpa-onnx-tts/SKILL.md +10 -10
- package/skills/slack/SKILL.md +4 -4
- package/skills/songsee/SKILL.md +1 -1
- package/skills/sonoscli/SKILL.md +1 -1
- package/skills/spotify-player/SKILL.md +1 -1
- package/skills/summarize/SKILL.md +1 -1
- package/skills/things-mac/SKILL.md +3 -3
- package/skills/tmux/SKILL.md +6 -6
- package/skills/tmux/scripts/find-sessions.sh +2 -2
- package/skills/trello/SKILL.md +2 -2
- package/skills/video-frames/SKILL.md +1 -1
- package/skills/voice-call/SKILL.md +4 -4
- package/skills/wacli/SKILL.md +2 -2
- package/skills/weather/SKILL.md +1 -1
- package/skykoi.mjs +1 -1
- package/dist/cli-Dw2CbEat.js +0 -89
- package/extensions/bluebubbles/node_modules/.bin/skykoi +0 -21
- package/extensions/bluebubbles/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/bluebubbles/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/copilot-proxy/node_modules/.bin/skykoi +0 -21
- package/extensions/copilot-proxy/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/copilot-proxy/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/diagnostics-otel/node_modules/.bin/skykoi +0 -21
- package/extensions/diagnostics-otel/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/diagnostics-otel/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/discord/node_modules/.bin/skykoi +0 -21
- package/extensions/discord/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/discord/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/feishu/node_modules/.bin/skykoi +0 -21
- package/extensions/feishu/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/feishu/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/google-antigravity-auth/node_modules/.bin/skykoi +0 -21
- package/extensions/google-antigravity-auth/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/google-antigravity-auth/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/google-gemini-cli-auth/node_modules/.bin/skykoi +0 -21
- package/extensions/google-gemini-cli-auth/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/google-gemini-cli-auth/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/googlechat/node_modules/.bin/skykoi +0 -21
- package/extensions/googlechat/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/googlechat/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/imessage/node_modules/.bin/skykoi +0 -21
- package/extensions/imessage/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/imessage/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/line/node_modules/.bin/skykoi +0 -21
- package/extensions/line/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/line/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/llm-task/node_modules/.bin/skykoi +0 -21
- package/extensions/llm-task/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/llm-task/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/lobster/node_modules/.bin/skykoi +0 -21
- package/extensions/lobster/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/lobster/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/matrix/node_modules/.bin/skykoi +0 -21
- package/extensions/matrix/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/matrix/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/mattermost/node_modules/.bin/skykoi +0 -21
- package/extensions/mattermost/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/mattermost/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/memory-core/node_modules/.bin/skykoi +0 -21
- package/extensions/memory-core/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/memory-core/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/memory-lancedb/node_modules/.bin/skykoi +0 -21
- package/extensions/memory-lancedb/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/memory-lancedb/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/minimax-portal-auth/node_modules/.bin/skykoi +0 -21
- package/extensions/minimax-portal-auth/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/minimax-portal-auth/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/msteams/node_modules/.bin/skykoi +0 -21
- package/extensions/msteams/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/msteams/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/nextcloud-talk/node_modules/.bin/skykoi +0 -21
- package/extensions/nextcloud-talk/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/nextcloud-talk/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/nostr/node_modules/.bin/skykoi +0 -21
- package/extensions/nostr/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/nostr/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/open-prose/node_modules/.bin/skykoi +0 -21
- package/extensions/open-prose/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/open-prose/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/signal/node_modules/.bin/skykoi +0 -21
- package/extensions/signal/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/signal/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/slack/node_modules/.bin/skykoi +0 -21
- package/extensions/slack/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/slack/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/telegram/node_modules/.bin/skykoi +0 -21
- package/extensions/telegram/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/telegram/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/tlon/node_modules/.bin/skykoi +0 -21
- package/extensions/tlon/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/tlon/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/twitch/node_modules/.bin/skykoi +0 -21
- package/extensions/twitch/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/twitch/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/voice-call/node_modules/.bin/skykoi +0 -21
- package/extensions/voice-call/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/voice-call/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/whatsapp/node_modules/.bin/skykoi +0 -21
- package/extensions/whatsapp/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/whatsapp/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/zalo/node_modules/.bin/skykoi +0 -21
- package/extensions/zalo/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/zalo/node_modules/.bin/skykoi.ps1 +0 -41
- package/extensions/zalouser/node_modules/.bin/skykoi +0 -21
- package/extensions/zalouser/node_modules/.bin/skykoi.CMD +0 -12
- package/extensions/zalouser/node_modules/.bin/skykoi.ps1 +0 -41
- /package/docs/assets/{openclaw-logo-text-dark.png → SkyKoi-logo-text-dark.png} +0 -0
- /package/docs/assets/{openclaw-logo-text.png → SkyKoi-logo-text.png} +0 -0
- /package/docs/{whatsapp-openclaw-ai-zh.jpg → whatsapp-SkyKoi-ai-zh.jpg} +0 -0
- /package/docs/{whatsapp-openclaw.jpg → whatsapp-SkyKoi.jpg} +0 -0
|
@@ -15,7 +15,7 @@ Status: bundled plugin that talks to the BlueBubbles macOS server over HTTP. **R
|
|
|
15
15
|
|
|
16
16
|
- Runs on macOS via the BlueBubbles helper app ([bluebubbles.app](https://bluebubbles.app)).
|
|
17
17
|
- Recommended/tested: macOS Sequoia (15). macOS Tahoe (26) works; edit is currently broken on Tahoe, and group icon updates may report success but not sync.
|
|
18
|
-
-
|
|
18
|
+
- SKYKOI talks to it through its REST API (`GET /api/v1/ping`, `POST /message/text`, `POST /chat/:id/*`).
|
|
19
19
|
- Incoming messages arrive via webhooks; outgoing replies, typing indicators, read receipts, and tapbacks are REST calls.
|
|
20
20
|
- Attachments and stickers are ingested as inbound media (and surfaced to the agent when possible).
|
|
21
21
|
- Pairing/allowlist works the same way as other channels (`/channels/pairing` etc) with `channels.bluebubbles.allowFrom` + pairing codes.
|
|
@@ -26,7 +26,7 @@ Status: bundled plugin that talks to the BlueBubbles macOS server over HTTP. **R
|
|
|
26
26
|
|
|
27
27
|
1. Install the BlueBubbles server on your Mac (follow the instructions at [bluebubbles.app/install](https://bluebubbles.app/install)).
|
|
28
28
|
2. In the BlueBubbles config, enable the web API and set a password.
|
|
29
|
-
3. Run `
|
|
29
|
+
3. Run `SKYKOI onboard` and select BlueBubbles, or configure manually:
|
|
30
30
|
|
|
31
31
|
```json5
|
|
32
32
|
{
|
|
@@ -123,7 +123,7 @@ launchctl load ~/Library/LaunchAgents/com.user.poke-messages.plist
|
|
|
123
123
|
BlueBubbles is available in the interactive setup wizard:
|
|
124
124
|
|
|
125
125
|
```
|
|
126
|
-
|
|
126
|
+
SKYKOI onboard
|
|
127
127
|
```
|
|
128
128
|
|
|
129
129
|
The wizard prompts for:
|
|
@@ -137,7 +137,7 @@ The wizard prompts for:
|
|
|
137
137
|
You can also add BlueBubbles via CLI:
|
|
138
138
|
|
|
139
139
|
```
|
|
140
|
-
|
|
140
|
+
SKYKOI channels add bluebubbles --http-url http://192.168.1.100:1234 --password <password>
|
|
141
141
|
```
|
|
142
142
|
|
|
143
143
|
## Access control (DMs + groups)
|
|
@@ -147,8 +147,8 @@ DMs:
|
|
|
147
147
|
- Default: `channels.bluebubbles.dmPolicy = "pairing"`.
|
|
148
148
|
- Unknown senders receive a pairing code; messages are ignored until approved (codes expire after 1 hour).
|
|
149
149
|
- Approve via:
|
|
150
|
-
- `
|
|
151
|
-
- `
|
|
150
|
+
- `SKYKOI pairing list bluebubbles`
|
|
151
|
+
- `SKYKOI pairing approve bluebubbles <CODE>`
|
|
152
152
|
- Pairing is the default token exchange. Details: [Pairing](/channels/pairing)
|
|
153
153
|
|
|
154
154
|
Groups:
|
|
@@ -191,7 +191,7 @@ Per-group configuration:
|
|
|
191
191
|
|
|
192
192
|
- **Typing indicators**: Sent automatically before and during response generation.
|
|
193
193
|
- **Read receipts**: Controlled by `channels.bluebubbles.sendReadReceipts` (default: `true`).
|
|
194
|
-
- **Typing indicators**:
|
|
194
|
+
- **Typing indicators**: SKYKOI sends typing start events; BlueBubbles clears typing automatically on send or timeout (manual stop via DELETE is unreliable).
|
|
195
195
|
|
|
196
196
|
```json5
|
|
197
197
|
{
|
|
@@ -246,7 +246,7 @@ Available actions:
|
|
|
246
246
|
|
|
247
247
|
### Message IDs (short vs full)
|
|
248
248
|
|
|
249
|
-
|
|
249
|
+
SKYKOI may surface _short_ message IDs (e.g., `1`, `2`) to save tokens.
|
|
250
250
|
|
|
251
251
|
- `MessageSid` / `ReplyToId` can be short IDs.
|
|
252
252
|
- `MessageSidFull` / `ReplyToIdFull` contain the provider full IDs.
|
|
@@ -318,7 +318,7 @@ Prefer `chat_guid` for stable routing:
|
|
|
318
318
|
- `chat_id:123`
|
|
319
319
|
- `chat_identifier:...`
|
|
320
320
|
- Direct handles: `+15555550123`, `user@example.com`
|
|
321
|
-
- If a direct handle does not have an existing DM chat,
|
|
321
|
+
- If a direct handle does not have an existing DM chat, SKYKOI will create one via `POST /api/v1/chat/new`. This requires the BlueBubbles Private API to be enabled.
|
|
322
322
|
|
|
323
323
|
## Security
|
|
324
324
|
|
|
@@ -330,11 +330,11 @@ Prefer `chat_guid` for stable routing:
|
|
|
330
330
|
## Troubleshooting
|
|
331
331
|
|
|
332
332
|
- If typing/read events stop working, check the BlueBubbles webhook logs and verify the gateway path matches `channels.bluebubbles.webhookPath`.
|
|
333
|
-
- Pairing codes expire after one hour; use `
|
|
333
|
+
- Pairing codes expire after one hour; use `SKYKOI pairing list bluebubbles` and `SKYKOI pairing approve bluebubbles <code>`.
|
|
334
334
|
- Reactions require the BlueBubbles private API (`POST /api/v1/message/react`); ensure the server version exposes it.
|
|
335
335
|
- Edit/unsend require macOS 13+ and a compatible BlueBubbles server version. On macOS 26 (Tahoe), edit is currently broken due to private API changes.
|
|
336
336
|
- Group icon updates can be flaky on macOS 26 (Tahoe): the API may return success but the new icon does not sync.
|
|
337
|
-
-
|
|
338
|
-
- For status/health info: `
|
|
337
|
+
- SKYKOI auto-hides known-broken actions based on the BlueBubbles server's macOS version. If edit still appears on macOS 26 (Tahoe), disable it manually with `channels.bluebubbles.actions.edit=false`.
|
|
338
|
+
- For status/health info: `SKYKOI status --all` or `SKYKOI status --deep`.
|
|
339
339
|
|
|
340
340
|
For general channel workflow reference, see [Channels](/channels) and the [Plugins](/tools/plugin) guide.
|
|
@@ -18,7 +18,7 @@ Broadcast Groups enable multiple agents to process and respond to the same messa
|
|
|
18
18
|
|
|
19
19
|
Current scope: **WhatsApp only** (web channel).
|
|
20
20
|
|
|
21
|
-
Broadcast groups are evaluated after channel allowlists and group activation rules. In WhatsApp groups, this means broadcasts happen when
|
|
21
|
+
Broadcast groups are evaluated after channel allowlists and group activation rules. In WhatsApp groups, this means broadcasts happen when SKYKOI would normally reply (for example: on mention, depending on your group settings).
|
|
22
22
|
|
|
23
23
|
## Use Cases
|
|
24
24
|
|
|
@@ -83,7 +83,7 @@ Add a top-level `broadcast` section (next to `bindings`). Keys are WhatsApp peer
|
|
|
83
83
|
}
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
-
**Result:** When
|
|
86
|
+
**Result:** When SKYKOI would reply in this chat, it will run all three agents.
|
|
87
87
|
|
|
88
88
|
### Processing Strategy
|
|
89
89
|
|
|
@@ -192,7 +192,7 @@ In group `120363403215116621@g.us` with agents `["alfred", "baerbel"]`:
|
|
|
192
192
|
```
|
|
193
193
|
Session: agent:alfred:whatsapp:group:120363403215116621@g.us
|
|
194
194
|
History: [user message, alfred's previous responses]
|
|
195
|
-
Workspace: /Users/pascal/
|
|
195
|
+
Workspace: /Users/pascal/SKYKOI-alfred/
|
|
196
196
|
Tools: read, write, exec
|
|
197
197
|
```
|
|
198
198
|
|
|
@@ -201,7 +201,7 @@ Tools: read, write, exec
|
|
|
201
201
|
```
|
|
202
202
|
Session: agent:baerbel:whatsapp:group:120363403215116621@g.us
|
|
203
203
|
History: [user message, baerbel's previous responses]
|
|
204
|
-
Workspace: /Users/pascal/
|
|
204
|
+
Workspace: /Users/pascal/SKYKOI-baerbel/
|
|
205
205
|
Tools: read only
|
|
206
206
|
```
|
|
207
207
|
|
|
@@ -317,7 +317,7 @@ Broadcast groups work alongside existing routing:
|
|
|
317
317
|
**Debug:**
|
|
318
318
|
|
|
319
319
|
```bash
|
|
320
|
-
tail -f ~/.
|
|
320
|
+
tail -f ~/.SKYKOI/logs/gateway.log | grep broadcast
|
|
321
321
|
```
|
|
322
322
|
|
|
323
323
|
### Only One Agent Responding
|
|
@@ -403,7 +403,7 @@ tail -f ~/.skykoi/logs/gateway.log | grep broadcast
|
|
|
403
403
|
### Config Schema
|
|
404
404
|
|
|
405
405
|
```typescript
|
|
406
|
-
interface
|
|
406
|
+
interface SKYKOIConfig {
|
|
407
407
|
broadcast?: {
|
|
408
408
|
strategy?: "parallel" | "sequential";
|
|
409
409
|
[peerId: string]: string[];
|
|
@@ -7,7 +7,7 @@ title: "Channel Routing"
|
|
|
7
7
|
|
|
8
8
|
# Channels & routing
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
SKYKOI routes replies **back to the channel where a message came from**. The
|
|
11
11
|
model does not choose a channel; routing is deterministic and controlled by the
|
|
12
12
|
host configuration.
|
|
13
13
|
|
|
@@ -54,7 +54,7 @@ The matched agent determines which workspace and session store are used.
|
|
|
54
54
|
|
|
55
55
|
## Broadcast groups (run multiple agents)
|
|
56
56
|
|
|
57
|
-
Broadcast groups let you run **multiple agents** for the same peer **when
|
|
57
|
+
Broadcast groups let you run **multiple agents** for the same peer **when SKYKOI would normally reply** (for example: in WhatsApp groups, after mention/activation gating).
|
|
58
58
|
|
|
59
59
|
Config:
|
|
60
60
|
|
|
@@ -80,7 +80,7 @@ Example:
|
|
|
80
80
|
```json5
|
|
81
81
|
{
|
|
82
82
|
agents: {
|
|
83
|
-
list: [{ id: "support", name: "Support", workspace: "~/.
|
|
83
|
+
list: [{ id: "support", name: "Support", workspace: "~/.SKYKOI/workspace-support" }],
|
|
84
84
|
},
|
|
85
85
|
bindings: [
|
|
86
86
|
{ match: { channel: "slack", teamId: "T123" }, agentId: "support" },
|
|
@@ -91,9 +91,9 @@ Example:
|
|
|
91
91
|
|
|
92
92
|
## Session storage
|
|
93
93
|
|
|
94
|
-
Session stores live under the state directory (default `~/.
|
|
94
|
+
Session stores live under the state directory (default `~/.SKYKOI`):
|
|
95
95
|
|
|
96
|
-
- `~/.
|
|
96
|
+
- `~/.SKYKOI/agents/<agentId>/sessions/sessions.json`
|
|
97
97
|
- JSONL transcripts live alongside the store
|
|
98
98
|
|
|
99
99
|
You can override the store path via `session.store` and `{agentId}` templating.
|
package/docs/channels/discord.md
CHANGED
|
@@ -13,7 +13,7 @@ Status: ready for DM and guild text channels via the official Discord bot gatewa
|
|
|
13
13
|
|
|
14
14
|
1. Create a Discord bot and copy the bot token.
|
|
15
15
|
2. In the Discord app settings, enable **Message Content Intent** (and **Server Members Intent** if you plan to use allowlists or name lookups).
|
|
16
|
-
3. Set the token for
|
|
16
|
+
3. Set the token for SKYKOI:
|
|
17
17
|
- Env: `DISCORD_BOT_TOKEN=...`
|
|
18
18
|
- Or config: `channels.discord.token: "..."`.
|
|
19
19
|
- If both are set, config takes precedence (env fallback is default-account only).
|
|
@@ -36,7 +36,7 @@ Minimal config:
|
|
|
36
36
|
|
|
37
37
|
## Goals
|
|
38
38
|
|
|
39
|
-
- Talk to
|
|
39
|
+
- Talk to SKYKOI via Discord DMs or guild channels.
|
|
40
40
|
- Direct chats collapse into the agent's main session (default `agent:main:main`); guild channels stay isolated as `agent:<agentId>:discord:channel:<channelId>` (display names use `discord:<guildSlug>#<channelSlug>`).
|
|
41
41
|
- Group DMs are ignored by default; enable via `channels.discord.dm.groupEnabled` and optionally restrict by `channels.discord.dm.groupChannels`.
|
|
42
42
|
- Keep routing deterministic: replies always go back to the channel they arrived on.
|
|
@@ -45,12 +45,12 @@ Minimal config:
|
|
|
45
45
|
|
|
46
46
|
1. Create a Discord application → Bot, enable the intents you need (DMs + guild messages + message content), and grab the bot token.
|
|
47
47
|
2. Invite the bot to your server with the permissions required to read/send messages where you want to use it.
|
|
48
|
-
3. Configure
|
|
48
|
+
3. Configure SKYKOI with `channels.discord.token` (or `DISCORD_BOT_TOKEN` as a fallback).
|
|
49
49
|
4. Run the gateway; it auto-starts the Discord channel when a token is available (config first, env fallback) and `channels.discord.enabled` is not `false`.
|
|
50
50
|
- If you prefer env vars, set `DISCORD_BOT_TOKEN` (a config block is optional).
|
|
51
51
|
5. Direct chats: use `user:<id>` (or a `<@id>` mention) when delivering; all turns land in the shared `main` session. Bare numeric IDs are ambiguous and rejected.
|
|
52
52
|
6. Guild channels: use `channel:<channelId>` for delivery. Mentions are required by default and can be set per guild or per channel.
|
|
53
|
-
7. Direct chats: secure by default via `channels.discord.dm.policy` (default: `"pairing"`). Unknown senders get a pairing code (expires after 1 hour); approve via `
|
|
53
|
+
7. Direct chats: secure by default via `channels.discord.dm.policy` (default: `"pairing"`). Unknown senders get a pairing code (expires after 1 hour); approve via `SKYKOI pairing approve discord <code>`.
|
|
54
54
|
- To keep old “open to anyone” behavior: set `channels.discord.dm.policy="open"` and `channels.discord.dm.allowFrom=["*"]`.
|
|
55
55
|
- To hard-allowlist: set `channels.discord.dm.policy="allowlist"` and list senders in `channels.discord.dm.allowFrom`.
|
|
56
56
|
- To ignore all DMs: set `channels.discord.dm.enabled=false` or `channels.discord.dm.policy="disabled"`.
|
|
@@ -82,7 +82,7 @@ Disable with:
|
|
|
82
82
|
|
|
83
83
|
## How to create your own bot
|
|
84
84
|
|
|
85
|
-
This is the “Discord Developer Portal” setup for running
|
|
85
|
+
This is the “Discord Developer Portal” setup for running SKYKOI in a server (guild) channel like `#help`.
|
|
86
86
|
|
|
87
87
|
### 1) Create the Discord app + bot user
|
|
88
88
|
|
|
@@ -91,7 +91,7 @@ This is the “Discord Developer Portal” setup for running SkyKoi in a server
|
|
|
91
91
|
- **Bot** → **Add Bot**
|
|
92
92
|
- Copy the **Bot Token** (this is what you put in `DISCORD_BOT_TOKEN`)
|
|
93
93
|
|
|
94
|
-
### 2) Enable the gateway intents
|
|
94
|
+
### 2) Enable the gateway intents SKYKOI needs
|
|
95
95
|
|
|
96
96
|
Discord blocks “privileged intents” unless you explicitly enable them.
|
|
97
97
|
|
|
@@ -127,7 +127,7 @@ Copy the generated URL, open it, pick your server, and install the bot.
|
|
|
127
127
|
|
|
128
128
|
### 4) Get the ids (guild/user/channel)
|
|
129
129
|
|
|
130
|
-
Discord uses numeric ids everywhere;
|
|
130
|
+
Discord uses numeric ids everywhere; SKYKOI config prefers ids.
|
|
131
131
|
|
|
132
132
|
1. Discord (desktop/web) → **User Settings** → **Advanced** → enable **Developer Mode**
|
|
133
133
|
2. Right-click:
|
|
@@ -135,7 +135,7 @@ Discord uses numeric ids everywhere; SkyKoi config prefers ids.
|
|
|
135
135
|
- Channel (e.g. `#help`) → **Copy Channel ID**
|
|
136
136
|
- Your user → **Copy User ID**
|
|
137
137
|
|
|
138
|
-
### 5) Configure
|
|
138
|
+
### 5) Configure SKYKOI
|
|
139
139
|
|
|
140
140
|
#### Token
|
|
141
141
|
|
|
@@ -196,7 +196,7 @@ Notes:
|
|
|
196
196
|
- If `channels` is present, any channel not listed is denied by default.
|
|
197
197
|
- Use a `"*"` channel entry to apply defaults across all channels; explicit channel entries override the wildcard.
|
|
198
198
|
- Threads inherit parent channel config (allowlist, `requireMention`, skills, prompts, etc.) unless you add the thread channel id explicitly.
|
|
199
|
-
- Owner hint: when a per-guild or per-channel `users` allowlist matches the sender,
|
|
199
|
+
- Owner hint: when a per-guild or per-channel `users` allowlist matches the sender, SKYKOI treats that sender as the owner in the system prompt. For a global owner across channels, set `commands.ownerAllowFrom`.
|
|
200
200
|
- Bot-authored messages are ignored by default; set `channels.discord.allowBots=true` to allow them (own messages remain filtered).
|
|
201
201
|
- Warning: If you allow replies to other bots (`channels.discord.allowBots=true`), prevent bot-to-bot reply loops with `requireMention`, `channels.discord.guilds.*.channels.<id>.users` allowlists, and/or clear guardrails in `AGENTS.md` and `SOUL.md`.
|
|
202
202
|
|
|
@@ -208,7 +208,7 @@ Notes:
|
|
|
208
208
|
|
|
209
209
|
### Troubleshooting
|
|
210
210
|
|
|
211
|
-
- First: run `
|
|
211
|
+
- First: run `SKYKOI doctor` and `SKYKOI channels status --probe` (actionable warnings + quick audits).
|
|
212
212
|
- **“Used disallowed intents”**: enable **Message Content Intent** (and likely **Server Members Intent**) in the Developer Portal, then restart the gateway.
|
|
213
213
|
- **Bot connects but never replies in a guild channel**:
|
|
214
214
|
- Missing **Message Content Intent**, or
|
|
@@ -287,12 +287,12 @@ Outbound Discord API calls retry on rate limits (429) using Discord `retry_after
|
|
|
287
287
|
policy: "pairing", // pairing | allowlist | open | disabled
|
|
288
288
|
allowFrom: ["123456789012345678", "steipete"],
|
|
289
289
|
groupEnabled: false,
|
|
290
|
-
groupChannels: ["
|
|
290
|
+
groupChannels: ["SKYKOI-dm"],
|
|
291
291
|
},
|
|
292
292
|
guilds: {
|
|
293
293
|
"*": { requireMention: true },
|
|
294
294
|
"123456789012345678": {
|
|
295
|
-
slug: "friends-of-
|
|
295
|
+
slug: "friends-of-SKYKOI",
|
|
296
296
|
requireMention: false,
|
|
297
297
|
reactionNotifications: "own",
|
|
298
298
|
users: ["987654321098765432", "steipete"],
|
|
@@ -368,7 +368,7 @@ Reaction notifications use `guilds.<id>.reactionNotifications`:
|
|
|
368
368
|
### PluralKit (PK) support
|
|
369
369
|
|
|
370
370
|
Enable PK lookups so proxied messages resolve to the underlying system + member.
|
|
371
|
-
When enabled,
|
|
371
|
+
When enabled, SKYKOI uses the member identity for allowlists and labels the
|
|
372
372
|
sender as `Member (PK:System)` to avoid accidental Discord pings.
|
|
373
373
|
|
|
374
374
|
```json5
|
|
@@ -442,14 +442,14 @@ Allowlist matching notes:
|
|
|
442
442
|
- When `guilds.<id>.channels` is omitted, all channels in the allowlisted guild are allowed.
|
|
443
443
|
- To allow **no channels**, set `channels.discord.groupPolicy: "disabled"` (or keep an empty allowlist).
|
|
444
444
|
- The configure wizard accepts `Guild/Channel` names (public + private) and resolves them to IDs when possible.
|
|
445
|
-
- On startup,
|
|
445
|
+
- On startup, SKYKOI resolves channel/user names in allowlists to IDs (when the bot can search members)
|
|
446
446
|
and logs the mapping; unresolved entries are kept as typed.
|
|
447
447
|
|
|
448
448
|
Native command notes:
|
|
449
449
|
|
|
450
|
-
- The registered commands mirror
|
|
450
|
+
- The registered commands mirror SKYKOI’s chat commands.
|
|
451
451
|
- Native commands honor the same allowlists as DMs/guild messages (`channels.discord.dm.allowFrom`, `channels.discord.guilds`, per-channel rules).
|
|
452
|
-
- Slash commands may still be visible in Discord UI to users who aren’t allowlisted;
|
|
452
|
+
- Slash commands may still be visible in Discord UI to users who aren’t allowlisted; SKYKOI enforces allowlists on execution and replies “not authorized”.
|
|
453
453
|
|
|
454
454
|
## Tool actions
|
|
455
455
|
|
|
@@ -473,4 +473,4 @@ Emoji can be unicode (e.g., `✅`) or custom emoji syntax like `<:party_blob:123
|
|
|
473
473
|
|
|
474
474
|
- Treat the bot token like a password; prefer the `DISCORD_BOT_TOKEN` env var on supervised hosts or lock down the config file permissions.
|
|
475
475
|
- Only grant the bot permissions it needs (typically Read/Send Messages).
|
|
476
|
-
- If the bot is stuck or rate limited, restart the gateway (`
|
|
476
|
+
- If the bot is stuck or rate limited, restart the gateway (`SKYKOI gateway --force`) after confirming no other processes own the Discord session.
|
package/docs/channels/feishu.md
CHANGED
|
@@ -8,7 +8,7 @@ title: Feishu
|
|
|
8
8
|
|
|
9
9
|
# Feishu bot
|
|
10
10
|
|
|
11
|
-
Feishu (Lark) is a team chat platform used by companies for messaging and collaboration. This plugin connects
|
|
11
|
+
Feishu (Lark) is a team chat platform used by companies for messaging and collaboration. This plugin connects SKYKOI to a Feishu/Lark bot using the platform’s WebSocket event subscription so messages can be received without exposing a public webhook URL.
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
@@ -17,13 +17,13 @@ Feishu (Lark) is a team chat platform used by companies for messaging and collab
|
|
|
17
17
|
Install the Feishu plugin:
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
|
-
|
|
20
|
+
SKYKOI plugins install @SKYKOI/feishu
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
Local checkout (when running from a git repo):
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
|
|
26
|
+
SKYKOI plugins install ./extensions/feishu
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
---
|
|
@@ -34,38 +34,38 @@ There are two ways to add the Feishu channel:
|
|
|
34
34
|
|
|
35
35
|
### Method 1: onboarding wizard (recommended)
|
|
36
36
|
|
|
37
|
-
If you just installed
|
|
37
|
+
If you just installed SKYKOI, run the wizard:
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
|
-
|
|
40
|
+
SKYKOI onboard
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
The wizard guides you through:
|
|
44
44
|
|
|
45
45
|
1. Creating a Feishu app and collecting credentials
|
|
46
|
-
2. Configuring app credentials in
|
|
46
|
+
2. Configuring app credentials in SKYKOI
|
|
47
47
|
3. Starting the gateway
|
|
48
48
|
|
|
49
49
|
✅ **After configuration**, check gateway status:
|
|
50
50
|
|
|
51
|
-
- `
|
|
52
|
-
- `
|
|
51
|
+
- `SKYKOI gateway status`
|
|
52
|
+
- `SKYKOI logs --follow`
|
|
53
53
|
|
|
54
54
|
### Method 2: CLI setup
|
|
55
55
|
|
|
56
56
|
If you already completed initial install, add the channel via CLI:
|
|
57
57
|
|
|
58
58
|
```bash
|
|
59
|
-
|
|
59
|
+
SKYKOI channels add
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
Choose **Feishu**, then enter the App ID and App Secret.
|
|
63
63
|
|
|
64
64
|
✅ **After configuration**, manage the gateway:
|
|
65
65
|
|
|
66
|
-
- `
|
|
67
|
-
- `
|
|
68
|
-
- `
|
|
66
|
+
- `SKYKOI gateway status`
|
|
67
|
+
- `SKYKOI gateway restart`
|
|
68
|
+
- `SKYKOI logs --follow`
|
|
69
69
|
|
|
70
70
|
---
|
|
71
71
|
|
|
@@ -141,8 +141,8 @@ In **App Capability** > **Bot**:
|
|
|
141
141
|
|
|
142
142
|
⚠️ **Important:** before setting event subscription, make sure:
|
|
143
143
|
|
|
144
|
-
1. You already ran `
|
|
145
|
-
2. The gateway is running (`
|
|
144
|
+
1. You already ran `SKYKOI channels add` for Feishu
|
|
145
|
+
2. The gateway is running (`SKYKOI gateway status`)
|
|
146
146
|
|
|
147
147
|
In **Event Subscription**:
|
|
148
148
|
|
|
@@ -161,19 +161,19 @@ In **Event Subscription**:
|
|
|
161
161
|
|
|
162
162
|
---
|
|
163
163
|
|
|
164
|
-
## Step 2: Configure
|
|
164
|
+
## Step 2: Configure SKYKOI
|
|
165
165
|
|
|
166
166
|
### Configure with the wizard (recommended)
|
|
167
167
|
|
|
168
168
|
```bash
|
|
169
|
-
|
|
169
|
+
SKYKOI channels add
|
|
170
170
|
```
|
|
171
171
|
|
|
172
172
|
Choose **Feishu** and paste your App ID + App Secret.
|
|
173
173
|
|
|
174
174
|
### Configure via config file
|
|
175
175
|
|
|
176
|
-
Edit `~/.
|
|
176
|
+
Edit `~/.SKYKOI/SKYKOI.json`:
|
|
177
177
|
|
|
178
178
|
```json5
|
|
179
179
|
{
|
|
@@ -227,7 +227,7 @@ If your tenant is on Lark (international), set the domain to `lark` (or a full d
|
|
|
227
227
|
### 1. Start the gateway
|
|
228
228
|
|
|
229
229
|
```bash
|
|
230
|
-
|
|
230
|
+
SKYKOI gateway
|
|
231
231
|
```
|
|
232
232
|
|
|
233
233
|
### 2. Send a test message
|
|
@@ -239,7 +239,7 @@ In Feishu, find your bot and send a message.
|
|
|
239
239
|
By default, the bot replies with a pairing code. Approve it:
|
|
240
240
|
|
|
241
241
|
```bash
|
|
242
|
-
|
|
242
|
+
SKYKOI pairing approve feishu <CODE>
|
|
243
243
|
```
|
|
244
244
|
|
|
245
245
|
After approval, you can chat normally.
|
|
@@ -263,8 +263,8 @@ After approval, you can chat normally.
|
|
|
263
263
|
- **Approve pairing**:
|
|
264
264
|
|
|
265
265
|
```bash
|
|
266
|
-
|
|
267
|
-
|
|
266
|
+
SKYKOI pairing list feishu
|
|
267
|
+
SKYKOI pairing approve feishu <CODE>
|
|
268
268
|
```
|
|
269
269
|
|
|
270
270
|
- **Allowlist mode**: set `channels.feishu.allowFrom` with allowed Open IDs
|
|
@@ -337,7 +337,7 @@ Group IDs look like `oc_xxx`.
|
|
|
337
337
|
**Method 1 (recommended)**
|
|
338
338
|
|
|
339
339
|
1. Start the gateway and @mention the bot in the group
|
|
340
|
-
2. Run `
|
|
340
|
+
2. Run `SKYKOI logs --follow` and look for `chat_id`
|
|
341
341
|
|
|
342
342
|
**Method 2**
|
|
343
343
|
|
|
@@ -350,14 +350,14 @@ User IDs look like `ou_xxx`.
|
|
|
350
350
|
**Method 1 (recommended)**
|
|
351
351
|
|
|
352
352
|
1. Start the gateway and DM the bot
|
|
353
|
-
2. Run `
|
|
353
|
+
2. Run `SKYKOI logs --follow` and look for `open_id`
|
|
354
354
|
|
|
355
355
|
**Method 2**
|
|
356
356
|
|
|
357
357
|
Check pairing requests for user Open IDs:
|
|
358
358
|
|
|
359
359
|
```bash
|
|
360
|
-
|
|
360
|
+
SKYKOI pairing list feishu
|
|
361
361
|
```
|
|
362
362
|
|
|
363
363
|
---
|
|
@@ -376,11 +376,11 @@ SkyKoi pairing list feishu
|
|
|
376
376
|
|
|
377
377
|
| Command | Description |
|
|
378
378
|
| -------------------------- | ----------------------------- |
|
|
379
|
-
| `
|
|
380
|
-
| `
|
|
381
|
-
| `
|
|
382
|
-
| `
|
|
383
|
-
| `
|
|
379
|
+
| `SKYKOI gateway status` | Show gateway status |
|
|
380
|
+
| `SKYKOI gateway install` | Install/start gateway service |
|
|
381
|
+
| `SKYKOI gateway stop` | Stop gateway service |
|
|
382
|
+
| `SKYKOI gateway restart` | Restart gateway service |
|
|
383
|
+
| `SKYKOI logs --follow` | Tail gateway logs |
|
|
384
384
|
|
|
385
385
|
---
|
|
386
386
|
|
|
@@ -391,7 +391,7 @@ SkyKoi pairing list feishu
|
|
|
391
391
|
1. Ensure the bot is added to the group
|
|
392
392
|
2. Ensure you @mention the bot (default behavior)
|
|
393
393
|
3. Check `groupPolicy` is not set to `"disabled"`
|
|
394
|
-
4. Check logs: `
|
|
394
|
+
4. Check logs: `SKYKOI logs --follow`
|
|
395
395
|
|
|
396
396
|
### Bot does not receive messages
|
|
397
397
|
|
|
@@ -399,8 +399,8 @@ SkyKoi pairing list feishu
|
|
|
399
399
|
2. Ensure event subscription includes `im.message.receive_v1`
|
|
400
400
|
3. Ensure **long connection** is enabled
|
|
401
401
|
4. Ensure app permissions are complete
|
|
402
|
-
5. Ensure the gateway is running: `
|
|
403
|
-
6. Check logs: `
|
|
402
|
+
5. Ensure the gateway is running: `SKYKOI gateway status`
|
|
403
|
+
6. Check logs: `SKYKOI logs --follow`
|
|
404
404
|
|
|
405
405
|
### App Secret leak
|
|
406
406
|
|
|
@@ -476,12 +476,12 @@ Use `bindings` to route Feishu DMs or groups to different agents.
|
|
|
476
476
|
{
|
|
477
477
|
id: "clawd-fan",
|
|
478
478
|
workspace: "/home/user/clawd-fan",
|
|
479
|
-
agentDir: "/home/user/.
|
|
479
|
+
agentDir: "/home/user/.SKYKOI/agents/clawd-fan/agent",
|
|
480
480
|
},
|
|
481
481
|
{
|
|
482
482
|
id: "clawd-xi",
|
|
483
483
|
workspace: "/home/user/clawd-xi",
|
|
484
|
-
agentDir: "/home/user/.
|
|
484
|
+
agentDir: "/home/user/.SKYKOI/agents/clawd-xi/agent",
|
|
485
485
|
},
|
|
486
486
|
],
|
|
487
487
|
},
|
|
@@ -16,7 +16,7 @@ Status: ready for DMs + spaces via Google Chat API webhooks (HTTP only).
|
|
|
16
16
|
- Enable the API if it is not already enabled.
|
|
17
17
|
2. Create a **Service Account**:
|
|
18
18
|
- Press **Create Credentials** > **Service Account**.
|
|
19
|
-
- Name it whatever you want (e.g., `
|
|
19
|
+
- Name it whatever you want (e.g., `SKYKOI-chat`).
|
|
20
20
|
- Leave permissions blank (press **Continue**).
|
|
21
21
|
- Leave principals with access blank (press **Done**).
|
|
22
22
|
3. Create and download the **JSON Key**:
|
|
@@ -24,17 +24,17 @@ Status: ready for DMs + spaces via Google Chat API webhooks (HTTP only).
|
|
|
24
24
|
- Go to the **Keys** tab.
|
|
25
25
|
- Click **Add Key** > **Create new key**.
|
|
26
26
|
- Select **JSON** and press **Create**.
|
|
27
|
-
4. Store the downloaded JSON file on your gateway host (e.g., `~/.
|
|
27
|
+
4. Store the downloaded JSON file on your gateway host (e.g., `~/.SKYKOI/googlechat-service-account.json`).
|
|
28
28
|
5. Create a Google Chat app in the [Google Cloud Console Chat Configuration](https://console.cloud.google.com/apis/api/chat.googleapis.com/hangouts-chat):
|
|
29
29
|
- Fill in the **Application info**:
|
|
30
|
-
- **App name**: (e.g. `
|
|
31
|
-
- **Avatar URL**: (e.g. `https://
|
|
30
|
+
- **App name**: (e.g. `SKYKOI`)
|
|
31
|
+
- **Avatar URL**: (e.g. `https://SKYKOI.com/logo.png`)
|
|
32
32
|
- **Description**: (e.g. `Personal AI Assistant`)
|
|
33
33
|
- Enable **Interactive features**.
|
|
34
34
|
- Under **Functionality**, check **Join spaces and group conversations**.
|
|
35
35
|
- Under **Connection settings**, select **HTTP endpoint URL**.
|
|
36
36
|
- Under **Triggers**, select **Use a common HTTP endpoint URL for all triggers** and set it to your gateway's public URL followed by `/googlechat`.
|
|
37
|
-
- _Tip: Run `
|
|
37
|
+
- _Tip: Run `SKYKOI status` to find your gateway's public URL._
|
|
38
38
|
- Under **Visibility**, check **Make this Chat app available to specific people and groups in <Your Domain>**.
|
|
39
39
|
- Enter your email address (e.g. `user@example.com`) in the text box.
|
|
40
40
|
- Click **Save** at the bottom.
|
|
@@ -43,7 +43,7 @@ Status: ready for DMs + spaces via Google Chat API webhooks (HTTP only).
|
|
|
43
43
|
- Look for the **App status** section (usually near the top or bottom after saving).
|
|
44
44
|
- Change the status to **Live - available to users**.
|
|
45
45
|
- Click **Save** again.
|
|
46
|
-
7. Configure
|
|
46
|
+
7. Configure SKYKOI with the service account path + webhook audience:
|
|
47
47
|
- Env: `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE=/path/to/service-account.json`
|
|
48
48
|
- Or config: `channels.googlechat.serviceAccountFile: "/path/to/service-account.json"`.
|
|
49
49
|
8. Set the webhook audience type + value (matches your Chat app config).
|
|
@@ -63,7 +63,7 @@ Once the gateway is running and your email is added to the visibility list:
|
|
|
63
63
|
|
|
64
64
|
## Public URL (Webhook-only)
|
|
65
65
|
|
|
66
|
-
Google Chat webhooks require a public HTTPS endpoint. For security, **only expose the `/googlechat` path** to the internet. Keep the
|
|
66
|
+
Google Chat webhooks require a public HTTPS endpoint. For security, **only expose the `/googlechat` path** to the internet. Keep the SKYKOI dashboard and other sensitive endpoints on your private network.
|
|
67
67
|
|
|
68
68
|
### Option A: Tailscale Funnel (Recommended)
|
|
69
69
|
|
|
@@ -127,7 +127,7 @@ your-domain.com {
|
|
|
127
127
|
}
|
|
128
128
|
```
|
|
129
129
|
|
|
130
|
-
With this config, any request to `your-domain.com/` will be ignored or returned as 404, while `your-domain.com/googlechat` is safely routed to
|
|
130
|
+
With this config, any request to `your-domain.com/` will be ignored or returned as 404, while `your-domain.com/googlechat` is safely routed to SKYKOI.
|
|
131
131
|
|
|
132
132
|
### Option C: Cloudflare Tunnel
|
|
133
133
|
|
|
@@ -139,14 +139,14 @@ Configure your tunnel's ingress rules to only route the webhook path:
|
|
|
139
139
|
## How it works
|
|
140
140
|
|
|
141
141
|
1. Google Chat sends webhook POSTs to the gateway. Each request includes an `Authorization: Bearer <token>` header.
|
|
142
|
-
2.
|
|
142
|
+
2. SKYKOI verifies the token against the configured `audienceType` + `audience`:
|
|
143
143
|
- `audienceType: "app-url"` → audience is your HTTPS webhook URL.
|
|
144
144
|
- `audienceType: "project-number"` → audience is the Cloud project number.
|
|
145
145
|
3. Messages are routed by space:
|
|
146
146
|
- DMs use session key `agent:<agentId>:googlechat:dm:<spaceId>`.
|
|
147
147
|
- Spaces use session key `agent:<agentId>:googlechat:group:<spaceId>`.
|
|
148
148
|
4. DM access is pairing by default. Unknown senders receive a pairing code; approve with:
|
|
149
|
-
- `
|
|
149
|
+
- `SKYKOI pairing approve googlechat <code>`
|
|
150
150
|
5. Group spaces require @-mention by default. Use `botUser` if mention detection needs the app’s user name.
|
|
151
151
|
|
|
152
152
|
## Targets
|
|
@@ -212,7 +212,7 @@ This means the webhook handler isn't registered. Common causes:
|
|
|
212
212
|
1. **Channel not configured**: The `channels.googlechat` section is missing from your config. Verify with:
|
|
213
213
|
|
|
214
214
|
```bash
|
|
215
|
-
|
|
215
|
+
SKYKOI config get channels.googlechat
|
|
216
216
|
```
|
|
217
217
|
|
|
218
218
|
If it returns "Config path not found", add the configuration (see [Config highlights](#config-highlights)).
|
|
@@ -220,7 +220,7 @@ This means the webhook handler isn't registered. Common causes:
|
|
|
220
220
|
2. **Plugin not enabled**: Check plugin status:
|
|
221
221
|
|
|
222
222
|
```bash
|
|
223
|
-
|
|
223
|
+
SKYKOI plugins list | grep googlechat
|
|
224
224
|
```
|
|
225
225
|
|
|
226
226
|
If it shows "disabled", add `plugins.entries.googlechat.enabled: true` to your config.
|
|
@@ -228,22 +228,22 @@ This means the webhook handler isn't registered. Common causes:
|
|
|
228
228
|
3. **Gateway not restarted**: After adding config, restart the gateway:
|
|
229
229
|
|
|
230
230
|
```bash
|
|
231
|
-
|
|
231
|
+
SKYKOI gateway restart
|
|
232
232
|
```
|
|
233
233
|
|
|
234
234
|
Verify the channel is running:
|
|
235
235
|
|
|
236
236
|
```bash
|
|
237
|
-
|
|
237
|
+
SKYKOI channels status
|
|
238
238
|
# Should show: Google Chat default: enabled, configured, ...
|
|
239
239
|
```
|
|
240
240
|
|
|
241
241
|
### Other issues
|
|
242
242
|
|
|
243
|
-
- Check `
|
|
243
|
+
- Check `SKYKOI channels status --probe` for auth errors or missing audience config.
|
|
244
244
|
- If no messages arrive, confirm the Chat app's webhook URL + event subscriptions.
|
|
245
245
|
- If mention gating blocks replies, set `botUser` to the app's user resource name and verify `requireMention`.
|
|
246
|
-
- Use `
|
|
246
|
+
- Use `SKYKOI logs --follow` while sending a test message to see if requests reach the gateway.
|
|
247
247
|
|
|
248
248
|
Related docs:
|
|
249
249
|
|