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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
read_when:
|
|
3
3
|
- 添加或修改配置字段时
|
|
4
|
-
summary: ~/.
|
|
4
|
+
summary: ~/.SKYKOI/SKYKOI.json 的所有配置选项及示例
|
|
5
5
|
title: 配置
|
|
6
6
|
x-i18n:
|
|
7
7
|
generated_at: "2026-02-01T21:29:41Z"
|
|
@@ -14,9 +14,9 @@ x-i18n:
|
|
|
14
14
|
|
|
15
15
|
# 配置 🔧
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
SKYKOI 从 `~/.SKYKOI/SKYKOI.json` 读取可选的 **JSON5** 配置(支持注释和尾逗号)。
|
|
18
18
|
|
|
19
|
-
如果文件不存在,
|
|
19
|
+
如果文件不存在,SKYKOI 使用安全的默认值(内置 Pi 智能体 + 按发送者分会话 + 工作区 `~/.SKYKOI/workspace`)。通常只在以下情况需要配置:
|
|
20
20
|
|
|
21
21
|
- 限制谁可以触发机器人(`channels.whatsapp.allowFrom`、`channels.telegram.allowFrom` 等)
|
|
22
22
|
- 控制群组白名单 + 提及行为(`channels.whatsapp.groups`、`channels.telegram.groups`、`channels.discord.guilds`、`agents.list[].groupChat`)
|
|
@@ -29,15 +29,15 @@ SkyKoi 从 `~/.skykoi/skykoi.json` 读取可选的 **JSON5** 配置(支持注
|
|
|
29
29
|
|
|
30
30
|
## 严格配置验证
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
SKYKOI 只接受完全匹配 schema 的配置。
|
|
33
33
|
未知键、类型错误或无效值会导致 Gateway 网关 **拒绝启动**以确保安全。
|
|
34
34
|
|
|
35
35
|
验证失败时:
|
|
36
36
|
|
|
37
37
|
- Gateway 网关不会启动。
|
|
38
|
-
- 只允许诊断命令(例如:`
|
|
39
|
-
- 运行 `
|
|
40
|
-
- 运行 `
|
|
38
|
+
- 只允许诊断命令(例如:`SKYKOI doctor`、`SKYKOI logs`、`SKYKOI health`、`SKYKOI status`、`SKYKOI service`、`SKYKOI help`)。
|
|
39
|
+
- 运行 `SKYKOI doctor` 查看具体问题。
|
|
40
|
+
- 运行 `SKYKOI doctor --fix`(或 `--yes`)应用迁移/修复。
|
|
41
41
|
|
|
42
42
|
Doctor 不会写入任何更改,除非你明确选择了 `--fix`/`--yes`。
|
|
43
43
|
|
|
@@ -57,7 +57,7 @@ Gateway 网关通过 `config.schema` 暴露配置的 JSON Schema 表示,供 UI
|
|
|
57
57
|
它会写入重启哨兵文件,并在 Gateway 网关恢复后 ping 最后活跃的会话。
|
|
58
58
|
|
|
59
59
|
警告:`config.apply` 会替换**整个配置**。如果你只想更改部分键,
|
|
60
|
-
请使用 `config.patch` 或 `
|
|
60
|
+
请使用 `config.patch` 或 `SKYKOI config set`。请备份 `~/.SKYKOI/SKYKOI.json`。
|
|
61
61
|
|
|
62
62
|
参数:
|
|
63
63
|
|
|
@@ -70,9 +70,9 @@ Gateway 网关通过 `config.schema` 暴露配置的 JSON Schema 表示,供 UI
|
|
|
70
70
|
示例(通过 `gateway call`):
|
|
71
71
|
|
|
72
72
|
```bash
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
"raw": "{\\n agents: { defaults: { workspace: \\"~/.
|
|
73
|
+
SKYKOI gateway call config.get --params '{}' # capture payload.hash
|
|
74
|
+
SKYKOI gateway call config.apply --params '{
|
|
75
|
+
"raw": "{\\n agents: { defaults: { workspace: \\"~/.SKYKOI/workspace\\" } }\\n}\\n",
|
|
76
76
|
"baseHash": "<hash-from-config.get>",
|
|
77
77
|
"sessionKey": "agent:main:whatsapp:dm:+15555550123",
|
|
78
78
|
"restartDelayMs": 1000
|
|
@@ -101,8 +101,8 @@ skykoi gateway call config.apply --params '{
|
|
|
101
101
|
示例:
|
|
102
102
|
|
|
103
103
|
```bash
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
SKYKOI gateway call config.get --params '{}' # capture payload.hash
|
|
105
|
+
SKYKOI gateway call config.patch --params '{
|
|
106
106
|
"raw": "{\\n channels: { telegram: { groups: { \\"*\\": { requireMention: false } } } }\\n}\\n",
|
|
107
107
|
"baseHash": "<hash-from-config.get>",
|
|
108
108
|
"sessionKey": "agent:main:whatsapp:dm:+15555550123",
|
|
@@ -114,7 +114,7 @@ skykoi gateway call config.patch --params '{
|
|
|
114
114
|
|
|
115
115
|
```json5
|
|
116
116
|
{
|
|
117
|
-
agents: { defaults: { workspace: "~/.
|
|
117
|
+
agents: { defaults: { workspace: "~/.SKYKOI/workspace" } },
|
|
118
118
|
channels: { whatsapp: { allowFrom: ["+15555550123"] } },
|
|
119
119
|
}
|
|
120
120
|
```
|
|
@@ -132,11 +132,11 @@ scripts/sandbox-setup.sh
|
|
|
132
132
|
```json5
|
|
133
133
|
{
|
|
134
134
|
agents: {
|
|
135
|
-
defaults: { workspace: "~/.
|
|
135
|
+
defaults: { workspace: "~/.SKYKOI/workspace" },
|
|
136
136
|
list: [
|
|
137
137
|
{
|
|
138
138
|
id: "main",
|
|
139
|
-
groupChat: { mentionPatterns: ["@
|
|
139
|
+
groupChat: { mentionPatterns: ["@SKYKOI", "reisponde"] },
|
|
140
140
|
},
|
|
141
141
|
],
|
|
142
142
|
},
|
|
@@ -161,7 +161,7 @@ scripts/sandbox-setup.sh
|
|
|
161
161
|
### 基本用法
|
|
162
162
|
|
|
163
163
|
```json5
|
|
164
|
-
// ~/.
|
|
164
|
+
// ~/.SKYKOI/SKYKOI.json
|
|
165
165
|
{
|
|
166
166
|
gateway: { port: 18789 },
|
|
167
167
|
|
|
@@ -176,10 +176,10 @@ scripts/sandbox-setup.sh
|
|
|
176
176
|
```
|
|
177
177
|
|
|
178
178
|
```json5
|
|
179
|
-
// ~/.
|
|
179
|
+
// ~/.SKYKOI/agents.json5
|
|
180
180
|
{
|
|
181
181
|
defaults: { sandbox: { mode: "all", scope: "session" } },
|
|
182
|
-
list: [{ id: "main", workspace: "~/.
|
|
182
|
+
list: [{ id: "main", workspace: "~/.SKYKOI/workspace" }],
|
|
183
183
|
}
|
|
184
184
|
```
|
|
185
185
|
|
|
@@ -218,7 +218,7 @@ scripts/sandbox-setup.sh
|
|
|
218
218
|
|
|
219
219
|
```json5
|
|
220
220
|
{ "$include": "./sub/config.json5" } // 相对路径
|
|
221
|
-
{ "$include": "/etc/
|
|
221
|
+
{ "$include": "/etc/SKYKOI/base.json5" } // 绝对路径
|
|
222
222
|
{ "$include": "../shared/common.json5" } // 父目录
|
|
223
223
|
```
|
|
224
224
|
|
|
@@ -231,7 +231,7 @@ scripts/sandbox-setup.sh
|
|
|
231
231
|
### 示例:多客户法律事务设置
|
|
232
232
|
|
|
233
233
|
```json5
|
|
234
|
-
// ~/.
|
|
234
|
+
// ~/.SKYKOI/SKYKOI.json
|
|
235
235
|
{
|
|
236
236
|
gateway: { port: 18789, auth: { token: "secret" } },
|
|
237
237
|
|
|
@@ -254,7 +254,7 @@ scripts/sandbox-setup.sh
|
|
|
254
254
|
```
|
|
255
255
|
|
|
256
256
|
```json5
|
|
257
|
-
// ~/.
|
|
257
|
+
// ~/.SKYKOI/clients/mueller/agents.json5
|
|
258
258
|
[
|
|
259
259
|
{ id: "mueller-transcribe", workspace: "~/clients/mueller/transcribe" },
|
|
260
260
|
{ id: "mueller-docs", workspace: "~/clients/mueller/docs" },
|
|
@@ -262,7 +262,7 @@ scripts/sandbox-setup.sh
|
|
|
262
262
|
```
|
|
263
263
|
|
|
264
264
|
```json5
|
|
265
|
-
// ~/.
|
|
265
|
+
// ~/.SKYKOI/clients/mueller/broadcast.json5
|
|
266
266
|
{
|
|
267
267
|
"120363403215116621@g.us": ["mueller-transcribe", "mueller-docs"],
|
|
268
268
|
}
|
|
@@ -272,12 +272,12 @@ scripts/sandbox-setup.sh
|
|
|
272
272
|
|
|
273
273
|
### 环境变量 + `.env`
|
|
274
274
|
|
|
275
|
-
|
|
275
|
+
SKYKOI 从父进程(shell、launchd/systemd、CI 等)读取环境变量。
|
|
276
276
|
|
|
277
277
|
此外,它还会加载:
|
|
278
278
|
|
|
279
279
|
- 当前工作目录中的 `.env`(如果存在)
|
|
280
|
-
- `~/.
|
|
280
|
+
- `~/.SKYKOI/.env`(即 `$SKYKOI_STATE_DIR/.env`)作为全局回退 `.env`
|
|
281
281
|
|
|
282
282
|
两个 `.env` 文件都不会覆盖已有的环境变量。
|
|
283
283
|
|
|
@@ -298,7 +298,7 @@ SkyKoi 从父进程(shell、launchd/systemd、CI 等)读取环境变量。
|
|
|
298
298
|
|
|
299
299
|
### `env.shellEnv`(可选)
|
|
300
300
|
|
|
301
|
-
可选便利功能:如果启用且预期键均未设置,
|
|
301
|
+
可选便利功能:如果启用且预期键均未设置,SKYKOI 会运行你的登录 shell 并仅导入缺失的预期键(不会覆盖)。
|
|
302
302
|
这实际上会 source 你的 shell 配置文件。
|
|
303
303
|
|
|
304
304
|
```json5
|
|
@@ -314,8 +314,8 @@ SkyKoi 从父进程(shell、launchd/systemd、CI 等)读取环境变量。
|
|
|
314
314
|
|
|
315
315
|
等效环境变量:
|
|
316
316
|
|
|
317
|
-
- `
|
|
318
|
-
- `
|
|
317
|
+
- `SKYKOI_LOAD_SHELL_ENV=1`
|
|
318
|
+
- `SKYKOI_SHELL_ENV_TIMEOUT_MS=15000`
|
|
319
319
|
|
|
320
320
|
### 配置中的环境变量替换
|
|
321
321
|
|
|
@@ -332,7 +332,7 @@ SkyKoi 从父进程(shell、launchd/systemd、CI 等)读取环境变量。
|
|
|
332
332
|
},
|
|
333
333
|
gateway: {
|
|
334
334
|
auth: {
|
|
335
|
-
token: "${
|
|
335
|
+
token: "${SKYKOI_GATEWAY_TOKEN}",
|
|
336
336
|
},
|
|
337
337
|
},
|
|
338
338
|
}
|
|
@@ -361,15 +361,15 @@ SkyKoi 从父进程(shell、launchd/systemd、CI 等)读取环境变量。
|
|
|
361
361
|
|
|
362
362
|
### 认证存储(OAuth + API 密钥)
|
|
363
363
|
|
|
364
|
-
|
|
364
|
+
SKYKOI 在以下位置存储**每个智能体的**认证配置文件(OAuth + API 密钥):
|
|
365
365
|
|
|
366
|
-
- `<agentDir>/auth-profiles.json`(默认:`~/.
|
|
366
|
+
- `<agentDir>/auth-profiles.json`(默认:`~/.SKYKOI/agents/<agentId>/agent/auth-profiles.json`)
|
|
367
367
|
|
|
368
368
|
另请参阅:[/concepts/oauth](/concepts/oauth)
|
|
369
369
|
|
|
370
370
|
旧版 OAuth 导入:
|
|
371
371
|
|
|
372
|
-
- `~/.
|
|
372
|
+
- `~/.SKYKOI/credentials/oauth.json`(或 `$SKYKOI_STATE_DIR/credentials/oauth.json`)
|
|
373
373
|
|
|
374
374
|
内置 Pi 智能体在以下位置维护运行时缓存:
|
|
375
375
|
|
|
@@ -377,14 +377,14 @@ SkyKoi 在以下位置存储**每个智能体的**认证配置文件(OAuth + A
|
|
|
377
377
|
|
|
378
378
|
旧版智能体目录(多智能体之前):
|
|
379
379
|
|
|
380
|
-
- `~/.
|
|
380
|
+
- `~/.SKYKOI/agent/*`(由 `SKYKOI doctor` 迁移到 `~/.SKYKOI/agents/<defaultAgentId>/agent/*`)
|
|
381
381
|
|
|
382
382
|
覆盖:
|
|
383
383
|
|
|
384
|
-
- OAuth 目录(仅旧版导入):`
|
|
385
|
-
- 智能体目录(默认智能体根目录覆盖):`
|
|
384
|
+
- OAuth 目录(仅旧版导入):`SKYKOI_OAUTH_DIR`
|
|
385
|
+
- 智能体目录(默认智能体根目录覆盖):`SKYKOI_AGENT_DIR`(推荐)、`PI_CODING_AGENT_DIR`(旧版)
|
|
386
386
|
|
|
387
|
-
首次使用时,
|
|
387
|
+
首次使用时,SKYKOI 会将 `oauth.json` 条目导入到 `auth-profiles.json` 中。
|
|
388
388
|
|
|
389
389
|
### `auth`
|
|
390
390
|
|
|
@@ -408,7 +408,7 @@ SkyKoi 在以下位置存储**每个智能体的**认证配置文件(OAuth + A
|
|
|
408
408
|
|
|
409
409
|
用于默认值和用户体验的可选每智能体身份标识。由 macOS 新手引导助手写入。
|
|
410
410
|
|
|
411
|
-
如果设置了,
|
|
411
|
+
如果设置了,SKYKOI 会推导默认值(仅在你未明确设置时):
|
|
412
412
|
|
|
413
413
|
- `messages.ackReaction` 来自**活跃智能体**的 `identity.emoji`(回退到 👀)
|
|
414
414
|
- `agents.list[].groupChat.mentionPatterns` 来自智能体的 `identity.name`/`identity.emoji`(因此 "@Samantha" 在 Telegram/Slack/Discord/Google Chat/iMessage/WhatsApp 的群组中均可使用)
|
|
@@ -456,8 +456,8 @@ SkyKoi 在以下位置存储**每个智能体的**认证配置文件(OAuth + A
|
|
|
456
456
|
|
|
457
457
|
### `logging`
|
|
458
458
|
|
|
459
|
-
- 默认日志文件:`/tmp/
|
|
460
|
-
- 如需稳定路径,将 `logging.file` 设为 `/tmp/
|
|
459
|
+
- 默认日志文件:`/tmp/SKYKOI/SKYKOI-YYYY-MM-DD.log`
|
|
460
|
+
- 如需稳定路径,将 `logging.file` 设为 `/tmp/SKYKOI/SKYKOI.log`。
|
|
461
461
|
- 控制台输出可通过以下方式单独调整:
|
|
462
462
|
- `logging.consoleLevel`(默认 `info`,使用 `--verbose` 时提升为 `debug`)
|
|
463
463
|
- `logging.consoleStyle`(`pretty` | `compact` | `json`)
|
|
@@ -469,7 +469,7 @@ SkyKoi 在以下位置存储**每个智能体的**认证配置文件(OAuth + A
|
|
|
469
469
|
{
|
|
470
470
|
logging: {
|
|
471
471
|
level: "info",
|
|
472
|
-
file: "/tmp/
|
|
472
|
+
file: "/tmp/SKYKOI/SKYKOI.log",
|
|
473
473
|
consoleLevel: "info",
|
|
474
474
|
consoleStyle: "pretty",
|
|
475
475
|
redactSensitive: "tools",
|
|
@@ -495,8 +495,8 @@ SkyKoi 在以下位置存储**每个智能体的**认证配置文件(OAuth + A
|
|
|
495
495
|
|
|
496
496
|
配对批准:
|
|
497
497
|
|
|
498
|
-
- `
|
|
499
|
-
- `
|
|
498
|
+
- `SKYKOI pairing list whatsapp`
|
|
499
|
+
- `SKYKOI pairing approve whatsapp <code>`
|
|
500
500
|
|
|
501
501
|
### `channels.whatsapp.allowFrom`
|
|
502
502
|
|
|
@@ -546,8 +546,8 @@ SkyKoi 在以下位置存储**每个智能体的**认证配置文件(OAuth + A
|
|
|
546
546
|
default: {}, // 可选;保持默认 id 稳定
|
|
547
547
|
personal: {},
|
|
548
548
|
biz: {
|
|
549
|
-
// 可选覆盖。默认:~/.
|
|
550
|
-
// authDir: "~/.
|
|
549
|
+
// 可选覆盖。默认:~/.SKYKOI/credentials/whatsapp/biz
|
|
550
|
+
// authDir: "~/.SKYKOI/credentials/whatsapp/biz",
|
|
551
551
|
},
|
|
552
552
|
},
|
|
553
553
|
},
|
|
@@ -558,7 +558,7 @@ SkyKoi 在以下位置存储**每个智能体的**认证配置文件(OAuth + A
|
|
|
558
558
|
说明:
|
|
559
559
|
|
|
560
560
|
- 出站命令默认使用 `default` 账号(如果存在);否则使用第一个配置的账号 id(排序后)。
|
|
561
|
-
- 旧版单账号 Baileys 认证目录由 `
|
|
561
|
+
- 旧版单账号 Baileys 认证目录由 `SKYKOI doctor` 迁移到 `whatsapp/default`。
|
|
562
562
|
|
|
563
563
|
### `channels.telegram.accounts` / `channels.discord.accounts` / `channels.googlechat.accounts` / `channels.slack.accounts` / `channels.mattermost.accounts` / `channels.signal.accounts` / `channels.imessage.accounts`
|
|
564
564
|
|
|
@@ -606,7 +606,7 @@ SkyKoi 在以下位置存储**每个智能体的**认证配置文件(OAuth + A
|
|
|
606
606
|
groupChat: { historyLimit: 50 },
|
|
607
607
|
},
|
|
608
608
|
agents: {
|
|
609
|
-
list: [{ id: "main", groupChat: { mentionPatterns: ["@
|
|
609
|
+
list: [{ id: "main", groupChat: { mentionPatterns: ["@SKYKOI", "SKYKOI"] } }],
|
|
610
610
|
},
|
|
611
611
|
}
|
|
612
612
|
```
|
|
@@ -670,7 +670,7 @@ SkyKoi 在以下位置存储**每个智能体的**认证配置文件(OAuth + A
|
|
|
670
670
|
id: "main",
|
|
671
671
|
groupChat: {
|
|
672
672
|
// 仅这些文本模式会触发响应
|
|
673
|
-
mentionPatterns: ["reisponde", "@
|
|
673
|
+
mentionPatterns: ["reisponde", "@SKYKOI"],
|
|
674
674
|
},
|
|
675
675
|
},
|
|
676
676
|
],
|
|
@@ -742,8 +742,8 @@ SkyKoi 在以下位置存储**每个智能体的**认证配置文件(OAuth + A
|
|
|
742
742
|
- `default`:可选;当设置多个时,第一个获胜并记录警告。
|
|
743
743
|
如果未设置,列表中的**第一个条目**为默认智能体。
|
|
744
744
|
- `name`:智能体的显示名称。
|
|
745
|
-
- `workspace`:默认 `~/.
|
|
746
|
-
- `agentDir`:默认 `~/.
|
|
745
|
+
- `workspace`:默认 `~/.SKYKOI/workspace-<agentId>`(对于 `main`,回退到 `agents.defaults.workspace`)。
|
|
746
|
+
- `agentDir`:默认 `~/.SKYKOI/agents/<agentId>/agent`。
|
|
747
747
|
- `model`:每智能体默认模型,覆盖该智能体的 `agents.defaults.model`。
|
|
748
748
|
- 字符串形式:`"provider/model"`,仅覆盖 `agents.defaults.model.primary`
|
|
749
749
|
- 对象形式:`{ primary, fallbacks }`(fallbacks 覆盖 `agents.defaults.model.fallbacks`;`[]` 为该智能体禁用全局回退)
|
|
@@ -799,7 +799,7 @@ SkyKoi 在以下位置存储**每个智能体的**认证配置文件(OAuth + A
|
|
|
799
799
|
list: [
|
|
800
800
|
{
|
|
801
801
|
id: "personal",
|
|
802
|
-
workspace: "~/.
|
|
802
|
+
workspace: "~/.SKYKOI/workspace-personal",
|
|
803
803
|
sandbox: { mode: "off" },
|
|
804
804
|
},
|
|
805
805
|
],
|
|
@@ -815,7 +815,7 @@ SkyKoi 在以下位置存储**每个智能体的**认证配置文件(OAuth + A
|
|
|
815
815
|
list: [
|
|
816
816
|
{
|
|
817
817
|
id: "family",
|
|
818
|
-
workspace: "~/.
|
|
818
|
+
workspace: "~/.SKYKOI/workspace-family",
|
|
819
819
|
sandbox: {
|
|
820
820
|
mode: "all",
|
|
821
821
|
scope: "agent",
|
|
@@ -846,7 +846,7 @@ SkyKoi 在以下位置存储**每个智能体的**认证配置文件(OAuth + A
|
|
|
846
846
|
list: [
|
|
847
847
|
{
|
|
848
848
|
id: "public",
|
|
849
|
-
workspace: "~/.
|
|
849
|
+
workspace: "~/.SKYKOI/workspace-public",
|
|
850
850
|
sandbox: {
|
|
851
851
|
mode: "all",
|
|
852
852
|
scope: "agent",
|
|
@@ -892,8 +892,8 @@ SkyKoi 在以下位置存储**每个智能体的**认证配置文件(OAuth + A
|
|
|
892
892
|
{
|
|
893
893
|
agents: {
|
|
894
894
|
list: [
|
|
895
|
-
{ id: "home", default: true, workspace: "~/.
|
|
896
|
-
{ id: "work", workspace: "~/.
|
|
895
|
+
{ id: "home", default: true, workspace: "~/.SKYKOI/workspace-home" },
|
|
896
|
+
{ id: "work", workspace: "~/.SKYKOI/workspace-work" },
|
|
897
897
|
],
|
|
898
898
|
},
|
|
899
899
|
bindings: [
|
|
@@ -1002,7 +1002,7 @@ SkyKoi 在以下位置存储**每个智能体的**认证配置文件(OAuth + A
|
|
|
1002
1002
|
- `channels.telegram.customCommands` 添加额外的 Telegram 机器人菜单项。名称会被规范化;与原生命令冲突的会被忽略。
|
|
1003
1003
|
- `commands.bash: true` 启用 `! <cmd>` 运行主机 shell 命令(`/bash <cmd>` 也可作为别名)。需要 `tools.elevated.enabled` 并在 `tools.elevated.allowFrom.<channel>` 中添加发送者白名单。
|
|
1004
1004
|
- `commands.bashForegroundMs` 控制 bash 在后台运行前等待的时间。当 bash 任务正在运行时,新的 `! <cmd>` 请求会被拒绝(一次一个)。
|
|
1005
|
-
- `commands.config: true` 启用 `/config`(读写 `
|
|
1005
|
+
- `commands.config: true` 启用 `/config`(读写 `SKYKOI.json`)。
|
|
1006
1006
|
- `channels.<provider>.configWrites` 控制由该渠道发起的配置变更(默认:true)。适用于 `/config set|unset` 以及提供商特定的自动迁移(Telegram 超级群组 ID 变更、Slack 频道 ID 变更)。
|
|
1007
1007
|
- `commands.debug: true` 启用 `/debug`(仅运行时覆盖)。
|
|
1008
1008
|
- `commands.restart: true` 启用 `/restart` 和 gateway 工具重启动作。
|
|
@@ -1032,7 +1032,7 @@ WhatsApp 通过 Gateway 网关的 Web 渠道(Baileys Web)运行。当存在
|
|
|
1032
1032
|
|
|
1033
1033
|
### `channels.telegram`(机器人传输)
|
|
1034
1034
|
|
|
1035
|
-
|
|
1035
|
+
SKYKOI 仅在存在 `channels.telegram` 配置段时启动 Telegram。机器人 token 从 `channels.telegram.botToken`(或 `channels.telegram.tokenFile`)解析,`TELEGRAM_BOT_TOKEN` 作为默认账号的回退。
|
|
1036
1036
|
设置 `channels.telegram.enabled: false` 禁用自动启动。
|
|
1037
1037
|
多账号支持在 `channels.telegram.accounts` 下(参见上方多账号部分)。环境变量 token 仅适用于默认账号。
|
|
1038
1038
|
设置 `channels.telegram.configWrites: false` 阻止 Telegram 发起的配置写入(包括超级群组 ID 迁移和 `/config set|unset`)。
|
|
@@ -1140,12 +1140,12 @@ SkyKoi 仅在存在 `channels.telegram` 配置段时启动 Telegram。机器人
|
|
|
1140
1140
|
policy: "pairing", // pairing | allowlist | open | disabled
|
|
1141
1141
|
allowFrom: ["1234567890", "steipete"], // 可选私聊白名单("open" 需要 ["*"])
|
|
1142
1142
|
groupEnabled: false, // 启用群组私聊
|
|
1143
|
-
groupChannels: ["
|
|
1143
|
+
groupChannels: ["SKYKOI-dm"], // 可选群组私聊白名单
|
|
1144
1144
|
},
|
|
1145
1145
|
guilds: {
|
|
1146
1146
|
"123456789012345678": {
|
|
1147
1147
|
// 服务器 id(推荐)或 slug
|
|
1148
|
-
slug: "friends-of-
|
|
1148
|
+
slug: "friends-of-SKYKOI",
|
|
1149
1149
|
requireMention: false, // 每服务器默认值
|
|
1150
1150
|
reactionNotifications: "own", // off | own | all | allowlist
|
|
1151
1151
|
users: ["987654321098765432"], // 可选的每服务器用户白名单
|
|
@@ -1177,7 +1177,7 @@ SkyKoi 仅在存在 `channels.telegram` 配置段时启动 Telegram。机器人
|
|
|
1177
1177
|
}
|
|
1178
1178
|
```
|
|
1179
1179
|
|
|
1180
|
-
|
|
1180
|
+
SKYKOI 仅在存在 `channels.discord` 配置段时启动 Discord。token 从 `channels.discord.token` 解析,`DISCORD_BOT_TOKEN` 作为默认账号的回退(除非 `channels.discord.enabled` 为 `false`)。在为 cron/CLI 命令指定投递目标时,使用 `user:<id>`(私聊)或 `channel:<id>`(服务器频道);裸数字 ID 有歧义会被拒绝。
|
|
1181
1181
|
服务器 slug 为小写,空格替换为 `-`;频道键使用 slug 化的频道名称(无前导 `#`)。建议使用服务器 id 作为键以避免重命名歧义。
|
|
1182
1182
|
机器人发送的消息默认被忽略。通过 `channels.discord.allowBots` 启用(自身消息仍会被过滤以防止自回复循环)。
|
|
1183
1183
|
反应通知模式:
|
|
@@ -1275,7 +1275,7 @@ Slack 以 Socket Mode 运行,需要机器人 token 和应用 token:
|
|
|
1275
1275
|
},
|
|
1276
1276
|
slashCommand: {
|
|
1277
1277
|
enabled: true,
|
|
1278
|
-
name: "
|
|
1278
|
+
name: "SKYKOI",
|
|
1279
1279
|
sessionPrefix: "slack:slash",
|
|
1280
1280
|
ephemeral: true,
|
|
1281
1281
|
},
|
|
@@ -1289,7 +1289,7 @@ Slack 以 Socket Mode 运行,需要机器人 token 和应用 token:
|
|
|
1289
1289
|
|
|
1290
1290
|
多账号支持在 `channels.slack.accounts` 下(参见上方多账号部分)。环境变量 token 仅适用于默认账号。
|
|
1291
1291
|
|
|
1292
|
-
|
|
1292
|
+
SKYKOI 在提供商启用且两个 token 都已设置时启动 Slack(通过配置或 `SLACK_BOT_TOKEN` + `SLACK_APP_TOKEN`)。在为 cron/CLI 命令指定投递目标时使用 `user:<id>`(私聊)或 `channel:<id>`。
|
|
1293
1293
|
设置 `channels.slack.configWrites: false` 阻止 Slack 发起的配置写入(包括频道 ID 迁移和 `/config set|unset`)。
|
|
1294
1294
|
|
|
1295
1295
|
机器人发送的消息默认被忽略。通过 `channels.slack.allowBots` 或 `channels.slack.channels.<id>.allowBots` 启用。
|
|
@@ -1318,7 +1318,7 @@ Slack 动作组(控制 `slack` 工具动作):
|
|
|
1318
1318
|
### `channels.mattermost`(机器人 token)
|
|
1319
1319
|
|
|
1320
1320
|
Mattermost 作为插件提供,不包含在核心安装中。
|
|
1321
|
-
请先安装:`
|
|
1321
|
+
请先安装:`SKYKOI plugins install @SKYKOI/mattermost`(或从 git checkout 使用 `./extensions/mattermost`)。
|
|
1322
1322
|
|
|
1323
1323
|
Mattermost 需要机器人 token 加上服务器的基础 URL:
|
|
1324
1324
|
|
|
@@ -1339,7 +1339,7 @@ Mattermost 需要机器人 token 加上服务器的基础 URL:
|
|
|
1339
1339
|
}
|
|
1340
1340
|
```
|
|
1341
1341
|
|
|
1342
|
-
|
|
1342
|
+
SKYKOI 在账号已配置(机器人 token + 基础 URL)且已启用时启动 Mattermost。token + 基础 URL 从 `channels.mattermost.botToken` + `channels.mattermost.baseUrl` 或默认账号的 `MATTERMOST_BOT_TOKEN` + `MATTERMOST_URL` 解析(除非 `channels.mattermost.enabled` 为 `false`)。
|
|
1343
1343
|
|
|
1344
1344
|
聊天模式:
|
|
1345
1345
|
|
|
@@ -1381,7 +1381,7 @@ Signal 反应可以发出系统事件(共享反应工具):
|
|
|
1381
1381
|
|
|
1382
1382
|
### `channels.imessage`(imsg CLI)
|
|
1383
1383
|
|
|
1384
|
-
|
|
1384
|
+
SKYKOI 会生成 `imsg rpc`(通过 stdio 的 JSON-RPC)。无需守护进程或端口。
|
|
1385
1385
|
|
|
1386
1386
|
```json5
|
|
1387
1387
|
{
|
|
@@ -1424,11 +1424,11 @@ exec ssh -T gateway-host imsg "$@"
|
|
|
1424
1424
|
|
|
1425
1425
|
设置智能体用于文件操作的**单一全局工作区目录**。
|
|
1426
1426
|
|
|
1427
|
-
默认:`~/.
|
|
1427
|
+
默认:`~/.SKYKOI/workspace`。
|
|
1428
1428
|
|
|
1429
1429
|
```json5
|
|
1430
1430
|
{
|
|
1431
|
-
agents: { defaults: { workspace: "~/.
|
|
1431
|
+
agents: { defaults: { workspace: "~/.SKYKOI/workspace" } },
|
|
1432
1432
|
}
|
|
1433
1433
|
```
|
|
1434
1434
|
|
|
@@ -1436,11 +1436,11 @@ exec ssh -T gateway-host imsg "$@"
|
|
|
1436
1436
|
|
|
1437
1437
|
### `agents.defaults.repoRoot`
|
|
1438
1438
|
|
|
1439
|
-
在系统提示的 Runtime 行中显示的可选仓库根目录。如果未设置,
|
|
1439
|
+
在系统提示的 Runtime 行中显示的可选仓库根目录。如果未设置,SKYKOI 会从工作区(和当前工作目录)向上查找 `.git` 目录进行检测。路径必须存在才能使用。
|
|
1440
1440
|
|
|
1441
1441
|
```json5
|
|
1442
1442
|
{
|
|
1443
|
-
agents: { defaults: { repoRoot: "~/Projects/
|
|
1443
|
+
agents: { defaults: { repoRoot: "~/Projects/SKYKOI" } },
|
|
1444
1444
|
}
|
|
1445
1445
|
```
|
|
1446
1446
|
|
|
@@ -1460,7 +1460,7 @@ exec ssh -T gateway-host imsg "$@"
|
|
|
1460
1460
|
|
|
1461
1461
|
注入系统提示前每个工作区引导文件截断前的最大字符数。默认:`20000`。
|
|
1462
1462
|
|
|
1463
|
-
当文件超过此限制时,
|
|
1463
|
+
当文件超过此限制时,SKYKOI 会记录警告并注入带标记的头尾截断内容。
|
|
1464
1464
|
|
|
1465
1465
|
```json5
|
|
1466
1466
|
{
|
|
@@ -1470,7 +1470,7 @@ exec ssh -T gateway-host imsg "$@"
|
|
|
1470
1470
|
|
|
1471
1471
|
### `agents.defaults.userTimezone`
|
|
1472
1472
|
|
|
1473
|
-
设置用户时区用于**系统提示上下文**(不用于消息信封中的时间戳)。如果未设置,
|
|
1473
|
+
设置用户时区用于**系统提示上下文**(不用于消息信封中的时间戳)。如果未设置,SKYKOI 在运行时使用主机时区。
|
|
1474
1474
|
|
|
1475
1475
|
```json5
|
|
1476
1476
|
{
|
|
@@ -1507,7 +1507,7 @@ exec ssh -T gateway-host imsg "$@"
|
|
|
1507
1507
|
|
|
1508
1508
|
`responsePrefix` 应用于跨渠道的**所有出站回复**(工具摘要、分块流式传输、最终回复),除非已存在。
|
|
1509
1509
|
|
|
1510
|
-
如果未设置 `messages.responsePrefix`,默认不应用前缀。WhatsApp 自聊天回复是例外:它们在设置时默认为 `[{identity.name}]`,否则为 `[
|
|
1510
|
+
如果未设置 `messages.responsePrefix`,默认不应用前缀。WhatsApp 自聊天回复是例外:它们在设置时默认为 `[{identity.name}]`,否则为 `[SKYKOI]`,以保持同一手机上的对话可读性。
|
|
1511
1511
|
设为 `"auto"` 可为路由的智能体推导 `[{identity.name}]`(当设置时)。
|
|
1512
1512
|
|
|
1513
1513
|
#### 模板变量
|
|
@@ -1535,7 +1535,7 @@ exec ssh -T gateway-host imsg "$@"
|
|
|
1535
1535
|
|
|
1536
1536
|
输出示例:`[claude-opus-4-5 | think:high] Here's my response...`
|
|
1537
1537
|
|
|
1538
|
-
WhatsApp 入站前缀通过 `channels.whatsapp.messagePrefix` 配置(已弃用:`messages.messagePrefix`)。默认保持**不变**:当 `channels.whatsapp.allowFrom` 为空时为 `"[
|
|
1538
|
+
WhatsApp 入站前缀通过 `channels.whatsapp.messagePrefix` 配置(已弃用:`messages.messagePrefix`)。默认保持**不变**:当 `channels.whatsapp.allowFrom` 为空时为 `"[SKYKOI]"`,否则为 `""`(无前缀)。使用 `"[SKYKOI]"` 时,如果路由的智能体设置了 `identity.name`,SKYKOI 会改用 `[{identity.name}]`。
|
|
1539
1539
|
|
|
1540
1540
|
`ackReaction` 在支持反应的渠道(Slack/Discord/Telegram/Google Chat)上发送尽力而为的表情反应来确认入站消息。设置时默认为活跃智能体的 `identity.emoji`,否则为 `"👀"`。设为 `""` 禁用。
|
|
1541
1541
|
|
|
@@ -1550,7 +1550,7 @@ WhatsApp 入站前缀通过 `channels.whatsapp.messagePrefix` 配置(已弃用
|
|
|
1550
1550
|
|
|
1551
1551
|
#### `messages.tts`
|
|
1552
1552
|
|
|
1553
|
-
为出站回复启用文字转语音。开启后,
|
|
1553
|
+
为出站回复启用文字转语音。开启后,SKYKOI 使用 ElevenLabs 或 OpenAI 生成音频并附加到回复中。Telegram 使用 Opus 语音消息;其他渠道发送 MP3 音频。
|
|
1554
1554
|
|
|
1555
1555
|
```json5
|
|
1556
1556
|
{
|
|
@@ -1565,7 +1565,7 @@ WhatsApp 入站前缀通过 `channels.whatsapp.messagePrefix` 配置(已弃用
|
|
|
1565
1565
|
},
|
|
1566
1566
|
maxTextLength: 4000,
|
|
1567
1567
|
timeoutMs: 30000,
|
|
1568
|
-
prefsPath: "~/.
|
|
1568
|
+
prefsPath: "~/.SKYKOI/settings/tts.json",
|
|
1569
1569
|
elevenlabs: {
|
|
1570
1570
|
apiKey: "elevenlabs_api_key",
|
|
1571
1571
|
baseUrl: "https://api.elevenlabs.io",
|
|
@@ -1667,7 +1667,7 @@ Z.AI GLM-4.x 模型会自动启用思考模式,除非你:
|
|
|
1667
1667
|
- 设置 `--thinking off`,或
|
|
1668
1668
|
- 自行定义 `agents.defaults.models["zai/<model>"].params.thinking`。
|
|
1669
1669
|
|
|
1670
|
-
|
|
1670
|
+
SKYKOI 还内置了一些别名快捷方式。默认值仅在模型已存在于 `agents.defaults.models` 中时才应用:
|
|
1671
1671
|
|
|
1672
1672
|
- `opus` -> `anthropic/claude-opus-4-5`
|
|
1673
1673
|
- `sonnet` -> `anthropic/claude-sonnet-4-5`
|
|
@@ -1962,7 +1962,7 @@ MiniMax 认证:设置 `MINIMAX_API_KEY`(环境变量)或配置 `models.pro
|
|
|
1962
1962
|
|
|
1963
1963
|
`agents.defaults.model.primary` 应设为 `provider/model`(例如 `anthropic/claude-opus-4-5`)。
|
|
1964
1964
|
别名来自 `agents.defaults.models.*.alias`(例如 `Opus`)。
|
|
1965
|
-
如果省略提供商,
|
|
1965
|
+
如果省略提供商,SKYKOI 目前假定 `anthropic` 作为临时弃用回退。
|
|
1966
1966
|
Z.AI 模型可通过 `zai/<model>` 使用(例如 `zai/glm-4.7`),需要环境中设置
|
|
1967
1967
|
`ZAI_API_KEY`(或旧版 `Z_AI_API_KEY`)。
|
|
1968
1968
|
|
|
@@ -2000,7 +2000,7 @@ Z.AI 模型可通过 `zai/<model>` 使用(例如 `zai/glm-4.7`),需要环
|
|
|
2000
2000
|
`tools.web` 配置 Web 搜索 + 获取工具:
|
|
2001
2001
|
|
|
2002
2002
|
- `tools.web.search.enabled`(默认:有密钥时为 true)
|
|
2003
|
-
- `tools.web.search.apiKey`(推荐:通过 `
|
|
2003
|
+
- `tools.web.search.apiKey`(推荐:通过 `SKYKOI configure --section web` 设置,或使用 `BRAVE_API_KEY` 环境变量)
|
|
2004
2004
|
- `tools.web.search.maxResults`(1–10,默认 5)
|
|
2005
2005
|
- `tools.web.search.timeoutSeconds`(默认 30)
|
|
2006
2006
|
- `tools.web.search.cacheTtlMinutes`(默认 15)
|
|
@@ -2168,7 +2168,7 @@ Z.AI 模型可通过 `zai/<model>` 使用(例如 `zai/glm-4.7`),需要环
|
|
|
2168
2168
|
- `group:automation`:`cron`、`gateway`
|
|
2169
2169
|
- `group:messaging`:`message`
|
|
2170
2170
|
- `group:nodes`:`nodes`
|
|
2171
|
-
- `group:
|
|
2171
|
+
- `group:SKYKOI`:所有内置 SKYKOI 工具(不包含提供商插件)
|
|
2172
2172
|
|
|
2173
2173
|
`tools.elevated` 控制提升(主机)执行访问:
|
|
2174
2174
|
|
|
@@ -2234,7 +2234,7 @@ Z.AI 模型可通过 `zai/<model>` 使用(例如 `zai/glm-4.7`),需要环
|
|
|
2234
2234
|
- scope:`"agent"`(每个智能体一个容器 + 工作区)
|
|
2235
2235
|
- 基于 Debian bookworm-slim 的镜像
|
|
2236
2236
|
- 智能体工作区访问:`workspaceAccess: "none"`(默认)
|
|
2237
|
-
- `"none"`:在 `~/.
|
|
2237
|
+
- `"none"`:在 `~/.SKYKOI/sandboxes` 下使用每范围的沙箱工作区
|
|
2238
2238
|
- `"ro"`:将沙箱工作区保持在 `/workspace`,智能体工作区以只读方式挂载到 `/agent`(禁用 `write`/`edit`/`apply_patch`)
|
|
2239
2239
|
- `"rw"`:将智能体工作区以读写方式挂载到 `/workspace`
|
|
2240
2240
|
- 自动清理:空闲超过 24h 或存在超过 7d
|
|
@@ -2259,10 +2259,10 @@ Z.AI 模型可通过 `zai/<model>` 使用(例如 `zai/glm-4.7`),需要环
|
|
|
2259
2259
|
mode: "non-main", // off | non-main | all
|
|
2260
2260
|
scope: "agent", // session | agent | shared(agent 为默认)
|
|
2261
2261
|
workspaceAccess: "none", // none | ro | rw
|
|
2262
|
-
workspaceRoot: "~/.
|
|
2262
|
+
workspaceRoot: "~/.SKYKOI/sandboxes",
|
|
2263
2263
|
docker: {
|
|
2264
|
-
image: "
|
|
2265
|
-
containerPrefix: "
|
|
2264
|
+
image: "SKYKOI-sandbox:bookworm-slim",
|
|
2265
|
+
containerPrefix: "SKYKOI-sbx-",
|
|
2266
2266
|
workdir: "/workspace",
|
|
2267
2267
|
readOnlyRoot: true,
|
|
2268
2268
|
tmpfs: ["/tmp", "/var/tmp", "/run"],
|
|
@@ -2281,15 +2281,15 @@ Z.AI 模型可通过 `zai/<model>` 使用(例如 `zai/glm-4.7`),需要环
|
|
|
2281
2281
|
nproc: 256,
|
|
2282
2282
|
},
|
|
2283
2283
|
seccompProfile: "/path/to/seccomp.json",
|
|
2284
|
-
apparmorProfile: "
|
|
2284
|
+
apparmorProfile: "SKYKOI-sandbox",
|
|
2285
2285
|
dns: ["1.1.1.1", "8.8.8.8"],
|
|
2286
2286
|
extraHosts: ["internal.service:10.0.0.5"],
|
|
2287
2287
|
binds: ["/var/run/docker.sock:/var/run/docker.sock", "/home/user/source:/source:rw"],
|
|
2288
2288
|
},
|
|
2289
2289
|
browser: {
|
|
2290
2290
|
enabled: false,
|
|
2291
|
-
image: "
|
|
2292
|
-
containerPrefix: "
|
|
2291
|
+
image: "SKYKOI-sandbox-browser:bookworm-slim",
|
|
2292
|
+
containerPrefix: "SKYKOI-sbx-browser-",
|
|
2293
2293
|
cdpPort: 9222,
|
|
2294
2294
|
vncPort: 5900,
|
|
2295
2295
|
noVncPort: 6080,
|
|
@@ -2368,12 +2368,12 @@ noVNC URL 会注入系统提示中,以便智能体可以引用它。
|
|
|
2368
2368
|
|
|
2369
2369
|
### `models`(自定义提供商 + 基础 URL)
|
|
2370
2370
|
|
|
2371
|
-
|
|
2372
|
-
`~/.
|
|
2371
|
+
SKYKOI 使用 **pi-coding-agent** 模型目录。你可以通过编写
|
|
2372
|
+
`~/.SKYKOI/agents/<agentId>/agent/models.json` 或在 SKYKOI 配置中的 `models.providers` 下定义相同的 schema 来添加自定义提供商(LiteLLM、本地 OpenAI 兼容服务器、Anthropic 代理等)。
|
|
2373
2373
|
按提供商的概述 + 示例:[/concepts/model-providers](/concepts/model-providers)。
|
|
2374
2374
|
|
|
2375
|
-
当存在 `models.providers` 时,
|
|
2376
|
-
`~/.
|
|
2375
|
+
当存在 `models.providers` 时,SKYKOI 在启动时将 `models.json` 写入/合并到
|
|
2376
|
+
`~/.SKYKOI/agents/<agentId>/agent/`:
|
|
2377
2377
|
|
|
2378
2378
|
- 默认行为:**合并**(保留现有提供商,按名称覆盖)
|
|
2379
2379
|
- 设为 `models.mode: "replace"` 覆盖文件内容
|
|
@@ -2416,7 +2416,7 @@ SkyKoi 使用 **pi-coding-agent** 模型目录。你可以通过编写
|
|
|
2416
2416
|
|
|
2417
2417
|
### OpenCode Zen(多模型代理)
|
|
2418
2418
|
|
|
2419
|
-
OpenCode Zen 是一个具有每模型端点的多模型网关。
|
|
2419
|
+
OpenCode Zen 是一个具有每模型端点的多模型网关。SKYKOI 使用
|
|
2420
2420
|
pi-ai 内置的 `opencode` 提供商;从 https://opencode.ai/auth 设置 `OPENCODE_API_KEY`(或
|
|
2421
2421
|
`OPENCODE_ZEN_API_KEY`)。
|
|
2422
2422
|
|
|
@@ -2424,7 +2424,7 @@ pi-ai 内置的 `opencode` 提供商;从 https://opencode.ai/auth 设置 `OPEN
|
|
|
2424
2424
|
|
|
2425
2425
|
- 模型引用使用 `opencode/<modelId>`(示例:`opencode/claude-opus-4-5`)。
|
|
2426
2426
|
- 如果你通过 `agents.defaults.models` 启用白名单,请添加你计划使用的每个模型。
|
|
2427
|
-
- 快捷方式:`
|
|
2427
|
+
- 快捷方式:`SKYKOI onboard --auth-choice opencode-zen`。
|
|
2428
2428
|
|
|
2429
2429
|
```json5
|
|
2430
2430
|
{
|
|
@@ -2442,7 +2442,7 @@ pi-ai 内置的 `opencode` 提供商;从 https://opencode.ai/auth 设置 `OPEN
|
|
|
2442
2442
|
Z.AI 模型通过内置的 `zai` 提供商提供。在环境中设置 `ZAI_API_KEY`
|
|
2443
2443
|
并通过 provider/model 引用模型。
|
|
2444
2444
|
|
|
2445
|
-
快捷方式:`
|
|
2445
|
+
快捷方式:`SKYKOI onboard --auth-choice zai-api-key`。
|
|
2446
2446
|
|
|
2447
2447
|
```json5
|
|
2448
2448
|
{
|
|
@@ -2506,7 +2506,7 @@ Z.AI 模型通过内置的 `zai` 提供商提供。在环境中设置 `ZAI_API_K
|
|
|
2506
2506
|
|
|
2507
2507
|
说明:
|
|
2508
2508
|
|
|
2509
|
-
- 在环境中设置 `MOONSHOT_API_KEY` 或使用 `
|
|
2509
|
+
- 在环境中设置 `MOONSHOT_API_KEY` 或使用 `SKYKOI onboard --auth-choice moonshot-api-key`。
|
|
2510
2510
|
- 模型引用:`moonshot/kimi-k2.5`。
|
|
2511
2511
|
- 如需中国端点,使用 `https://api.moonshot.cn/v1`。
|
|
2512
2512
|
|
|
@@ -2528,7 +2528,7 @@ Z.AI 模型通过内置的 `zai` 提供商提供。在环境中设置 `ZAI_API_K
|
|
|
2528
2528
|
|
|
2529
2529
|
说明:
|
|
2530
2530
|
|
|
2531
|
-
- 在环境中设置 `KIMI_API_KEY` 或使用 `
|
|
2531
|
+
- 在环境中设置 `KIMI_API_KEY` 或使用 `SKYKOI onboard --auth-choice kimi-code-api-key`。
|
|
2532
2532
|
- 模型引用:`kimi-coding/k2p5`。
|
|
2533
2533
|
|
|
2534
2534
|
### Synthetic(Anthropic 兼容)
|
|
@@ -2570,7 +2570,7 @@ Z.AI 模型通过内置的 `zai` 提供商提供。在环境中设置 `ZAI_API_K
|
|
|
2570
2570
|
|
|
2571
2571
|
说明:
|
|
2572
2572
|
|
|
2573
|
-
- 设置 `SYNTHETIC_API_KEY` 或使用 `
|
|
2573
|
+
- 设置 `SYNTHETIC_API_KEY` 或使用 `SKYKOI onboard --auth-choice synthetic-api-key`。
|
|
2574
2574
|
- 模型引用:`synthetic/hf:MiniMaxAI/MiniMax-M2.1`。
|
|
2575
2575
|
- 基础 URL 应省略 `/v1`,因为 Anthropic 客户端会自动附加。
|
|
2576
2576
|
|
|
@@ -2618,7 +2618,7 @@ Z.AI 模型通过内置的 `zai` 提供商提供。在环境中设置 `ZAI_API_K
|
|
|
2618
2618
|
|
|
2619
2619
|
说明:
|
|
2620
2620
|
|
|
2621
|
-
- 设置 `MINIMAX_API_KEY` 环境变量或使用 `
|
|
2621
|
+
- 设置 `MINIMAX_API_KEY` 环境变量或使用 `SKYKOI onboard --auth-choice minimax-api`。
|
|
2622
2622
|
- 可用模型:`MiniMax-M2.1`(默认)。
|
|
2623
2623
|
- 如需精确费用跟踪,请在 `models.json` 中更新定价。
|
|
2624
2624
|
|
|
@@ -2668,7 +2668,7 @@ Z.AI 模型通过内置的 `zai` 提供商提供。在环境中设置 `ZAI_API_K
|
|
|
2668
2668
|
- 支持的 API:`openai-completions`、`openai-responses`、`anthropic-messages`、
|
|
2669
2669
|
`google-generative-ai`
|
|
2670
2670
|
- 对于自定义认证需求使用 `authHeader: true` + `headers`。
|
|
2671
|
-
- 如果你希望 `models.json` 存储在其他位置,请使用 `
|
|
2671
|
+
- 如果你希望 `models.json` 存储在其他位置,请使用 `SKYKOI_AGENT_DIR`(或 `PI_CODING_AGENT_DIR`)覆盖智能体配置根目录(默认:`~/.SKYKOI/agents/main/agent`)。
|
|
2672
2672
|
|
|
2673
2673
|
### `session`
|
|
2674
2674
|
|
|
@@ -2693,9 +2693,9 @@ Z.AI 模型通过内置的 `zai` 提供商提供。在环境中设置 `ZAI_API_K
|
|
|
2693
2693
|
group: { mode: "idle", idleMinutes: 120 },
|
|
2694
2694
|
},
|
|
2695
2695
|
resetTriggers: ["/new", "/reset"],
|
|
2696
|
-
// 默认已按智能体存储在 ~/.
|
|
2696
|
+
// 默认已按智能体存储在 ~/.SKYKOI/agents/<agentId>/sessions/sessions.json
|
|
2697
2697
|
// 你可以使用 {agentId} 模板进行覆盖:
|
|
2698
|
-
store: "~/.
|
|
2698
|
+
store: "~/.SKYKOI/agents/{agentId}/sessions/sessions.json",
|
|
2699
2699
|
// 私聊折叠到 agent:<agentId>:<mainKey>(默认:"main")。
|
|
2700
2700
|
mainKey: "main",
|
|
2701
2701
|
agentToAgent: {
|
|
@@ -2726,7 +2726,7 @@ Z.AI 模型通过内置的 `zai` 提供商提供。在环境中设置 `ZAI_API_K
|
|
|
2726
2726
|
- `atHour`:本地小时(0-23)作为每日重置边界。
|
|
2727
2727
|
- `idleMinutes`:滑动空闲窗口(分钟)。当 daily + idle 都配置时,先到期的获胜。
|
|
2728
2728
|
- `resetByType`:`dm`、`group` 和 `thread` 的每会话覆盖。
|
|
2729
|
-
- 如果你只设置了旧版 `session.idleMinutes` 而没有任何 `reset`/`resetByType`,
|
|
2729
|
+
- 如果你只设置了旧版 `session.idleMinutes` 而没有任何 `reset`/`resetByType`,SKYKOI 保持仅空闲模式以向后兼容。
|
|
2730
2730
|
- `heartbeatIdleMinutes`:可选的心跳检查空闲覆盖(启用时每日重置仍然适用)。
|
|
2731
2731
|
- `agentToAgent.maxPingPongTurns`:请求者/目标之间的最大回复轮次(0–5,默认 5)。
|
|
2732
2732
|
- `sendPolicy.default`:无规则匹配时的 `allow` 或 `deny` 回退。
|
|
@@ -2734,7 +2734,7 @@ Z.AI 模型通过内置的 `zai` 提供商提供。在环境中设置 `ZAI_API_K
|
|
|
2734
2734
|
|
|
2735
2735
|
### `skills`(Skills 配置)
|
|
2736
2736
|
|
|
2737
|
-
控制内置白名单、安装偏好、额外 Skills 文件夹和每 Skills 覆盖。适用于**内置**Skills 和 `~/.
|
|
2737
|
+
控制内置白名单、安装偏好、额外 Skills 文件夹和每 Skills 覆盖。适用于**内置**Skills 和 `~/.SKYKOI/skills`(工作区 Skills 在名称冲突时仍然优先)。
|
|
2738
2738
|
|
|
2739
2739
|
字段:
|
|
2740
2740
|
|
|
@@ -2779,7 +2779,7 @@ Z.AI 模型通过内置的 `zai` 提供商提供。在环境中设置 `ZAI_API_K
|
|
|
2779
2779
|
|
|
2780
2780
|
### `plugins`(扩展)
|
|
2781
2781
|
|
|
2782
|
-
控制插件发现、允许/拒绝和每插件配置。插件从 `~/.
|
|
2782
|
+
控制插件发现、允许/拒绝和每插件配置。插件从 `~/.SKYKOI/extensions`、`<workspace>/.SKYKOI/extensions` 以及任何 `plugins.load.paths` 条目加载。**配置更改需要重启 Gateway 网关。**
|
|
2783
2783
|
参见 [/plugin](/tools/plugin) 了解详情。
|
|
2784
2784
|
|
|
2785
2785
|
字段:
|
|
@@ -2814,9 +2814,9 @@ Z.AI 模型通过内置的 `zai` 提供商提供。在环境中设置 `ZAI_API_K
|
|
|
2814
2814
|
}
|
|
2815
2815
|
```
|
|
2816
2816
|
|
|
2817
|
-
### `browser`(
|
|
2817
|
+
### `browser`(SKYKOI 管理的浏览器)
|
|
2818
2818
|
|
|
2819
|
-
|
|
2819
|
+
SKYKOI 可以为 SKYKOI 启动一个**专用、隔离的** Chrome/Brave/Edge/Chromium 实例并暴露一个小型 local loopback 控制服务。
|
|
2820
2820
|
配置文件可以通过 `profiles.<name>.cdpUrl` 指向**远程** Chromium 浏览器。远程配置文件为仅附加模式(start/stop/reset 被禁用)。
|
|
2821
2821
|
|
|
2822
2822
|
`browser.cdpUrl` 保留用于旧版单配置文件配置,以及作为仅设置 `cdpPort` 的配置文件的基础 scheme/host。
|
|
@@ -2828,7 +2828,7 @@ SkyKoi 可以为 SkyKoi 启动一个**专用、隔离的** Chrome/Brave/Edge/Chr
|
|
|
2828
2828
|
- 控制服务:仅 local loopback(端口从 `gateway.port` 派生,默认 `18791`)
|
|
2829
2829
|
- CDP URL:`http://127.0.0.1:18792`(控制服务 + 1,旧版单配置文件)
|
|
2830
2830
|
- 配置文件颜色:`#FF4500`(龙虾橙)
|
|
2831
|
-
- 注意:控制服务器由运行中的 Gateway 网关(
|
|
2831
|
+
- 注意:控制服务器由运行中的 Gateway 网关(SKYKOI.app 菜单栏或 `SKYKOI gateway`)启动。
|
|
2832
2832
|
- 自动检测顺序:如果为 Chromium 内核则使用默认浏览器;否则 Chrome → Brave → Edge → Chromium → Chrome Canary。
|
|
2833
2833
|
|
|
2834
2834
|
```json5
|
|
@@ -2839,7 +2839,7 @@ SkyKoi 可以为 SkyKoi 启动一个**专用、隔离的** Chrome/Brave/Edge/Chr
|
|
|
2839
2839
|
// cdpUrl: "http://127.0.0.1:18792", // 旧版单配置文件覆盖
|
|
2840
2840
|
defaultProfile: "chrome",
|
|
2841
2841
|
profiles: {
|
|
2842
|
-
|
|
2842
|
+
SKYKOI: { cdpPort: 18800, color: "#FF4500" },
|
|
2843
2843
|
work: { cdpPort: 18801, color: "#0066CC" },
|
|
2844
2844
|
remote: { cdpUrl: "http://10.0.0.42:9222", color: "#00AA00" },
|
|
2845
2845
|
},
|
|
@@ -2866,7 +2866,7 @@ SkyKoi 可以为 SkyKoi 启动一个**专用、隔离的** Chrome/Brave/Edge/Chr
|
|
|
2866
2866
|
// 可选:控制台 UI 助手身份覆盖。
|
|
2867
2867
|
// 如果未设置,控制台 UI 使用活跃智能体的身份(配置或 IDENTITY.md)。
|
|
2868
2868
|
assistant: {
|
|
2869
|
-
name: "
|
|
2869
|
+
name: "SKYKOI",
|
|
2870
2870
|
avatar: "CB", // 表情、短文本,或图片 URL/data URI
|
|
2871
2871
|
},
|
|
2872
2872
|
},
|
|
@@ -2889,7 +2889,7 @@ SkyKoi 可以为 SkyKoi 启动一个**专用、隔离的** Chrome/Brave/Edge/Chr
|
|
|
2889
2889
|
mode: "local", // 或 "remote"
|
|
2890
2890
|
port: 18789, // WS + HTTP 多路复用
|
|
2891
2891
|
bind: "loopback",
|
|
2892
|
-
// controlUi: { enabled: true, basePath: "/
|
|
2892
|
+
// controlUi: { enabled: true, basePath: "/SKYKOI" }
|
|
2893
2893
|
// auth: { mode: "token", token: "your-token" } // token 控制 WS + 控制台 UI 访问
|
|
2894
2894
|
// tailscale: { mode: "off" | "serve" | "funnel" }
|
|
2895
2895
|
},
|
|
@@ -2899,7 +2899,7 @@ SkyKoi 可以为 SkyKoi 启动一个**专用、隔离的** Chrome/Brave/Edge/Chr
|
|
|
2899
2899
|
控制台 UI 基础路径:
|
|
2900
2900
|
|
|
2901
2901
|
- `gateway.controlUi.basePath` 设置控制台 UI 提供服务的 URL 前缀。
|
|
2902
|
-
- 示例:`"/ui"`、`"/
|
|
2902
|
+
- 示例:`"/ui"`、`"/SKYKOI"`、`"/apps/SKYKOI"`。
|
|
2903
2903
|
- 默认:根路径(`/`)(不变)。
|
|
2904
2904
|
- `gateway.controlUi.root` 设置控制台 UI 资产的文件系统根目录(默认:`dist/control-ui`)。
|
|
2905
2905
|
- `gateway.controlUi.allowInsecureAuth` 允许在省略设备身份时对控制台 UI 进行仅 token 认证(通常通过 HTTP)。默认:`false`。建议使用 HTTPS(Tailscale Serve)或 `127.0.0.1`。
|
|
@@ -2915,15 +2915,15 @@ SkyKoi 可以为 SkyKoi 启动一个**专用、隔离的** Chrome/Brave/Edge/Chr
|
|
|
2915
2915
|
信任的代理:
|
|
2916
2916
|
|
|
2917
2917
|
- `gateway.trustedProxies`:在 Gateway 网关前面终止 TLS 的反向代理 IP 列表。
|
|
2918
|
-
- 当连接来自这些 IP 之一时,
|
|
2918
|
+
- 当连接来自这些 IP 之一时,SKYKOI 使用 `x-forwarded-for`(或 `x-real-ip`)来确定客户端 IP,用于本地配对检查和 HTTP 认证/本地检查。
|
|
2919
2919
|
- 仅列出你完全控制的代理,并确保它们**覆盖**传入的 `x-forwarded-for`。
|
|
2920
2920
|
|
|
2921
2921
|
说明:
|
|
2922
2922
|
|
|
2923
|
-
- `
|
|
2923
|
+
- `SKYKOI gateway` 拒绝启动,除非 `gateway.mode` 设为 `local`(或你传递了覆盖标志)。
|
|
2924
2924
|
- `gateway.port` 控制用于 WebSocket + HTTP(控制台 UI、hooks、A2UI)的单一多路复用端口。
|
|
2925
2925
|
- OpenAI Chat Completions 端点:**默认禁用**;通过 `gateway.http.endpoints.chatCompletions.enabled: true` 启用。
|
|
2926
|
-
- 优先级:`--port` > `
|
|
2926
|
+
- 优先级:`--port` > `SKYKOI_GATEWAY_PORT` > `gateway.port` > 默认 `18789`。
|
|
2927
2927
|
- 默认需要 Gateway 网关认证(token/密码或 Tailscale Serve 身份)。非 local loopback 绑定需要共享 token/密码。
|
|
2928
2928
|
- 新手引导向导默认生成 gateway token(即使在 local loopback 上)。
|
|
2929
2929
|
- `gateway.remote.token` **仅**用于远程 CLI 调用;它不启用本地 gateway 认证。`gateway.token` 被忽略。
|
|
@@ -2933,10 +2933,10 @@ SkyKoi 可以为 SkyKoi 启动一个**专用、隔离的** Chrome/Brave/Edge/Chr
|
|
|
2933
2933
|
- `gateway.auth.mode` 设置握手要求(`token` 或 `password`)。未设置时,假定 token 认证。
|
|
2934
2934
|
- `gateway.auth.token` 存储 token 认证的共享 token(同一机器上的 CLI 使用)。
|
|
2935
2935
|
- 当设置了 `gateway.auth.mode` 时,仅接受该方法(加上可选的 Tailscale 头部)。
|
|
2936
|
-
- `gateway.auth.password` 可在此设置,或通过 `
|
|
2936
|
+
- `gateway.auth.password` 可在此设置,或通过 `SKYKOI_GATEWAY_PASSWORD`(推荐)。
|
|
2937
2937
|
- `gateway.auth.allowTailscale` 允许 Tailscale Serve 身份头部
|
|
2938
2938
|
(`tailscale-user-login`)在请求通过 local loopback 到达且带有 `x-forwarded-for`、
|
|
2939
|
-
`x-forwarded-proto` 和 `x-forwarded-host` 时满足认证。
|
|
2939
|
+
`x-forwarded-proto` 和 `x-forwarded-host` 时满足认证。SKYKOI 在接受之前
|
|
2940
2940
|
通过 `tailscale whois` 解析 `x-forwarded-for` 地址来验证身份。为 `true` 时,
|
|
2941
2941
|
Serve 请求不需要 token/密码;设为 `false` 要求显式凭据。当
|
|
2942
2942
|
`tailscale.mode = "serve"` 且认证模式不是 `password` 时默认为 `true`。
|
|
@@ -2953,7 +2953,7 @@ SkyKoi 可以为 SkyKoi 启动一个**专用、隔离的** Chrome/Brave/Edge/Chr
|
|
|
2953
2953
|
|
|
2954
2954
|
macOS 应用行为:
|
|
2955
2955
|
|
|
2956
|
-
-
|
|
2956
|
+
- SKYKOI.app 监视 `~/.SKYKOI/SKYKOI.json`,当 `gateway.mode` 或 `gateway.remote.url` 变更时实时切换模式。
|
|
2957
2957
|
- 如果 `gateway.mode` 未设置但 `gateway.remote.url` 已设置,macOS 应用将其视为远程模式。
|
|
2958
2958
|
- 当你在 macOS 应用中更改连接模式时,它会将 `gateway.mode`(以及远程模式下的 `gateway.remote.url` + `gateway.remote.transport`)写回配置文件。
|
|
2959
2959
|
|
|
@@ -2987,7 +2987,7 @@ macOS 应用行为:
|
|
|
2987
2987
|
|
|
2988
2988
|
### `gateway.reload`(配置热重载)
|
|
2989
2989
|
|
|
2990
|
-
Gateway 网关监视 `~/.
|
|
2990
|
+
Gateway 网关监视 `~/.SKYKOI/SKYKOI.json`(或 `SKYKOI_CONFIG_PATH`)并自动应用更改。
|
|
2991
2991
|
|
|
2992
2992
|
模式:
|
|
2993
2993
|
|
|
@@ -3011,7 +3011,7 @@ Gateway 网关监视 `~/.skykoi/skykoi.json`(或 `SkyKoi_CONFIG_PATH`)并自
|
|
|
3011
3011
|
|
|
3012
3012
|
监视的文件:
|
|
3013
3013
|
|
|
3014
|
-
- `~/.
|
|
3014
|
+
- `~/.SKYKOI/SKYKOI.json`(或 `SKYKOI_CONFIG_PATH`)
|
|
3015
3015
|
|
|
3016
3016
|
热应用(无需完全重启 Gateway 网关):
|
|
3017
3017
|
|
|
@@ -3036,15 +3036,15 @@ Gateway 网关监视 `~/.skykoi/skykoi.json`(或 `SkyKoi_CONFIG_PATH`)并自
|
|
|
3036
3036
|
|
|
3037
3037
|
要在一台主机上运行多个 Gateway 网关(用于冗余或救援机器人),请隔离每个实例的状态 + 配置并使用唯一端口:
|
|
3038
3038
|
|
|
3039
|
-
- `
|
|
3040
|
-
- `
|
|
3039
|
+
- `SKYKOI_CONFIG_PATH`(每实例配置)
|
|
3040
|
+
- `SKYKOI_STATE_DIR`(会话/凭据)
|
|
3041
3041
|
- `agents.defaults.workspace`(记忆)
|
|
3042
3042
|
- `gateway.port`(每实例唯一)
|
|
3043
3043
|
|
|
3044
3044
|
便利标志(CLI):
|
|
3045
3045
|
|
|
3046
|
-
- `
|
|
3047
|
-
- `
|
|
3046
|
+
- `SKYKOI --dev …` → 使用 `~/.SKYKOI-dev` + 端口从基础 `19001` 偏移
|
|
3047
|
+
- `SKYKOI --profile <name> …` → 使用 `~/.SKYKOI-<name>`(端口通过配置/环境变量/标志)
|
|
3048
3048
|
|
|
3049
3049
|
参见 [Gateway 网关运维手册](/gateway) 了解派生的端口映射(gateway/browser/canvas)。
|
|
3050
3050
|
参见[多 Gateway 网关](/gateway/multiple-gateways) 了解浏览器/CDP 端口隔离细节。
|
|
@@ -3052,9 +3052,9 @@ Gateway 网关监视 `~/.skykoi/skykoi.json`(或 `SkyKoi_CONFIG_PATH`)并自
|
|
|
3052
3052
|
示例:
|
|
3053
3053
|
|
|
3054
3054
|
```bash
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3055
|
+
SKYKOI_CONFIG_PATH=~/.SKYKOI/a.json \
|
|
3056
|
+
SKYKOI_STATE_DIR=~/.SKYKOI-a \
|
|
3057
|
+
SKYKOI gateway --port 19001
|
|
3058
3058
|
```
|
|
3059
3059
|
|
|
3060
3060
|
### `hooks`(Gateway 网关 webhook)
|
|
@@ -3074,7 +3074,7 @@ skykoi gateway --port 19001
|
|
|
3074
3074
|
token: "shared-secret",
|
|
3075
3075
|
path: "/hooks",
|
|
3076
3076
|
presets: ["gmail"],
|
|
3077
|
-
transformsDir: "~/.
|
|
3077
|
+
transformsDir: "~/.SKYKOI/hooks",
|
|
3078
3078
|
mappings: [
|
|
3079
3079
|
{
|
|
3080
3080
|
match: { path: "gmail" },
|
|
@@ -3095,7 +3095,7 @@ skykoi gateway --port 19001
|
|
|
3095
3095
|
请求必须包含 hook token:
|
|
3096
3096
|
|
|
3097
3097
|
- `Authorization: Bearer <token>` **或**
|
|
3098
|
-
- `x-
|
|
3098
|
+
- `x-SKYKOI-token: <token>` **或**
|
|
3099
3099
|
- `?token=<token>`
|
|
3100
3100
|
|
|
3101
3101
|
端点:
|
|
@@ -3116,13 +3116,13 @@ skykoi gateway --port 19001
|
|
|
3116
3116
|
- 如果没有先前的投递路由,请显式设置 `channel` + `to`(Telegram/Discord/Google Chat/Slack/Signal/iMessage/MS Teams 必需)。
|
|
3117
3117
|
- `model` 覆盖此 hook 运行的 LLM(`provider/model` 或别名;如果设置了 `agents.defaults.models` 则必须被允许)。
|
|
3118
3118
|
|
|
3119
|
-
Gmail 辅助配置(由 `
|
|
3119
|
+
Gmail 辅助配置(由 `SKYKOI webhooks gmail setup` / `run` 使用):
|
|
3120
3120
|
|
|
3121
3121
|
```json5
|
|
3122
3122
|
{
|
|
3123
3123
|
hooks: {
|
|
3124
3124
|
gmail: {
|
|
3125
|
-
account: "
|
|
3125
|
+
account: "SKYKOI@gmail.com",
|
|
3126
3126
|
topic: "projects/<project-id>/topics/gog-gmail-watch",
|
|
3127
3127
|
subscription: "gog-gmail-watch-push",
|
|
3128
3128
|
pushToken: "shared-push-token",
|
|
@@ -3156,11 +3156,11 @@ Gateway 网关自动启动:
|
|
|
3156
3156
|
|
|
3157
3157
|
- 如果 `hooks.enabled=true` 且 `hooks.gmail.account` 已设置,Gateway 网关在启动时
|
|
3158
3158
|
启动 `gog gmail watch serve` 并自动续期监视。
|
|
3159
|
-
- 设置 `
|
|
3159
|
+
- 设置 `SKYKOI_SKIP_GMAIL_WATCHER=1` 禁用自动启动(用于手动运行)。
|
|
3160
3160
|
- 避免在 Gateway 网关旁边单独运行 `gog gmail watch serve`;它会
|
|
3161
3161
|
因 `listen tcp 127.0.0.1:8788: bind: address already in use` 而失败。
|
|
3162
3162
|
|
|
3163
|
-
注意:当 `tailscale.mode` 开启时,
|
|
3163
|
+
注意:当 `tailscale.mode` 开启时,SKYKOI 将 `serve.path` 默认为 `/`,以便
|
|
3164
3164
|
Tailscale 可以正确代理 `/gmail-pubsub`(它会去除设置的路径前缀)。
|
|
3165
3165
|
如果你需要后端接收带前缀的路径,请将
|
|
3166
3166
|
`hooks.gmail.tailscale.target` 设为完整 URL(并对齐 `serve.path`)。
|
|
@@ -3169,17 +3169,17 @@ Tailscale 可以正确代理 `/gmail-pubsub`(它会去除设置的路径前缀
|
|
|
3169
3169
|
|
|
3170
3170
|
Gateway 网关通过 HTTP 提供 HTML/CSS/JS 目录服务,以便 iOS/Android 节点可以简单地 `canvas.navigate` 到它。
|
|
3171
3171
|
|
|
3172
|
-
默认根目录:`~/.
|
|
3173
|
-
默认端口:`18793`(选择此端口以避免
|
|
3172
|
+
默认根目录:`~/.SKYKOI/workspace/canvas`
|
|
3173
|
+
默认端口:`18793`(选择此端口以避免 SKYKOI 浏览器 CDP 端口 `18792`)
|
|
3174
3174
|
服务器监听 **Gateway 网关绑定主机**(LAN 或 Tailnet),以便节点可以访问。
|
|
3175
3175
|
|
|
3176
3176
|
服务器:
|
|
3177
3177
|
|
|
3178
3178
|
- 提供 `canvasHost.root` 下的文件
|
|
3179
3179
|
- 向提供的 HTML 注入微型实时重载客户端
|
|
3180
|
-
- 监视目录并通过 `/
|
|
3180
|
+
- 监视目录并通过 `/__SKYKOI__/ws` 的 WebSocket 端点广播重载
|
|
3181
3181
|
- 目录为空时自动创建起始 `index.html`(以便你立即看到内容)
|
|
3182
|
-
- 同时在 `/
|
|
3182
|
+
- 同时在 `/__SKYKOI__/a2ui/` 提供 A2UI,并作为 `canvasHostUrl` 通告给节点
|
|
3183
3183
|
(节点始终使用它来访问 Canvas/A2UI)
|
|
3184
3184
|
|
|
3185
3185
|
如果目录很大或遇到 `EMFILE`,请禁用实时重载(和文件监视):
|
|
@@ -3189,7 +3189,7 @@ Gateway 网关通过 HTTP 提供 HTML/CSS/JS 目录服务,以便 iOS/Android
|
|
|
3189
3189
|
```json5
|
|
3190
3190
|
{
|
|
3191
3191
|
canvasHost: {
|
|
3192
|
-
root: "~/.
|
|
3192
|
+
root: "~/.SKYKOI/workspace/canvas",
|
|
3193
3193
|
port: 18793,
|
|
3194
3194
|
liveReload: true,
|
|
3195
3195
|
},
|
|
@@ -3201,7 +3201,7 @@ Gateway 网关通过 HTTP 提供 HTML/CSS/JS 目录服务,以便 iOS/Android
|
|
|
3201
3201
|
禁用方式:
|
|
3202
3202
|
|
|
3203
3203
|
- 配置:`canvasHost: { enabled: false }`
|
|
3204
|
-
- 环境变量:`
|
|
3204
|
+
- 环境变量:`SKYKOI_SKIP_CANVAS_HOST=1`
|
|
3205
3205
|
|
|
3206
3206
|
### `bridge`(旧版 TCP 桥接,已移除)
|
|
3207
3207
|
|
|
@@ -3243,9 +3243,9 @@ TLS:
|
|
|
3243
3243
|
bind: "tailnet",
|
|
3244
3244
|
tls: {
|
|
3245
3245
|
enabled: true,
|
|
3246
|
-
// 省略时使用 ~/.
|
|
3247
|
-
// certPath: "~/.
|
|
3248
|
-
// keyPath: "~/.
|
|
3246
|
+
// 省略时使用 ~/.SKYKOI/bridge/tls/bridge-{cert,key}.pem。
|
|
3247
|
+
// certPath: "~/.SKYKOI/bridge/tls/bridge-cert.pem",
|
|
3248
|
+
// keyPath: "~/.SKYKOI/bridge/tls/bridge-key.pem"
|
|
3249
3249
|
},
|
|
3250
3250
|
},
|
|
3251
3251
|
}
|
|
@@ -3253,12 +3253,12 @@ TLS:
|
|
|
3253
3253
|
|
|
3254
3254
|
### `discovery.mdns`(Bonjour / mDNS 广播模式)
|
|
3255
3255
|
|
|
3256
|
-
控制 LAN mDNS 发现广播(`
|
|
3256
|
+
控制 LAN mDNS 发现广播(`_SKYKOI-gw._tcp`)。
|
|
3257
3257
|
|
|
3258
3258
|
- `minimal`(默认):从 TXT 记录中省略 `cliPath` + `sshPort`
|
|
3259
3259
|
- `full`:在 TXT 记录中包含 `cliPath` + `sshPort`
|
|
3260
3260
|
- `off`:完全禁用 mDNS 广播
|
|
3261
|
-
- 主机名:默认为 `
|
|
3261
|
+
- 主机名:默认为 `SKYKOI`(通告 `SKYKOI.local`)。通过 `SKYKOI_MDNS_HOSTNAME` 覆盖。
|
|
3262
3262
|
|
|
3263
3263
|
```json5
|
|
3264
3264
|
{
|
|
@@ -3268,7 +3268,7 @@ TLS:
|
|
|
3268
3268
|
|
|
3269
3269
|
### `discovery.wideArea`(广域 Bonjour / 单播 DNS‑SD)
|
|
3270
3270
|
|
|
3271
|
-
启用后,Gateway 网关在 `~/.
|
|
3271
|
+
启用后,Gateway 网关在 `~/.SKYKOI/dns/` 下使用配置的发现域(示例:`SKYKOI.internal.`)为 `_SKYKOI-gw._tcp` 写入单播 DNS-SD 区域。
|
|
3272
3272
|
|
|
3273
3273
|
要使 iOS/Android 跨网络发现(跨地域访问),请配合以下使用:
|
|
3274
3274
|
|
|
@@ -3278,7 +3278,7 @@ TLS:
|
|
|
3278
3278
|
一次性设置助手(Gateway 网关主机):
|
|
3279
3279
|
|
|
3280
3280
|
```bash
|
|
3281
|
-
|
|
3281
|
+
SKYKOI dns setup --apply
|
|
3282
3282
|
```
|
|
3283
3283
|
|
|
3284
3284
|
```json5
|