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
package/docs/help/faq.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: "Frequently asked questions about
|
|
2
|
+
summary: "Frequently asked questions about SKYKOI setup, configuration, and usage"
|
|
3
3
|
title: "FAQ"
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -11,7 +11,7 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
11
11
|
|
|
12
12
|
- [Quick start and first-run setup]
|
|
13
13
|
- [Im stuck whats the fastest way to get unstuck?](#im-stuck-whats-the-fastest-way-to-get-unstuck)
|
|
14
|
-
- [What's the recommended way to install and set up
|
|
14
|
+
- [What's the recommended way to install and set up SKYKOI?](#whats-the-recommended-way-to-install-and-set-up-SKYKOI)
|
|
15
15
|
- [How do I open the dashboard after onboarding?](#how-do-i-open-the-dashboard-after-onboarding)
|
|
16
16
|
- [How do I authenticate the dashboard (token) on localhost vs remote?](#how-do-i-authenticate-the-dashboard-token-on-localhost-vs-remote)
|
|
17
17
|
- [What runtime do I need?](#what-runtime-do-i-need)
|
|
@@ -20,18 +20,18 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
20
20
|
- [It is stuck on "wake up my friend" / onboarding will not hatch. What now?](#it-is-stuck-on-wake-up-my-friend-onboarding-will-not-hatch-what-now)
|
|
21
21
|
- [Can I migrate my setup to a new machine (Mac mini) without redoing onboarding?](#can-i-migrate-my-setup-to-a-new-machine-mac-mini-without-redoing-onboarding)
|
|
22
22
|
- [Where do I see what is new in the latest version?](#where-do-i-see-what-is-new-in-the-latest-version)
|
|
23
|
-
- [I can't access docs.
|
|
23
|
+
- [I can't access docs.SKYKOI.ai (SSL error). What now?](#i-cant-access-docsSKYKOIai-ssl-error-what-now)
|
|
24
24
|
- [What's the difference between stable and beta?](#whats-the-difference-between-stable-and-beta)
|
|
25
25
|
- [How do I install the beta version, and what's the difference between beta and dev?](#how-do-i-install-the-beta-version-and-whats-the-difference-between-beta-and-dev)
|
|
26
26
|
- [How do I try the latest bits?](#how-do-i-try-the-latest-bits)
|
|
27
27
|
- [How long does install and onboarding usually take?](#how-long-does-install-and-onboarding-usually-take)
|
|
28
28
|
- [Installer stuck? How do I get more feedback?](#installer-stuck-how-do-i-get-more-feedback)
|
|
29
|
-
- [Windows install says git not found or
|
|
29
|
+
- [Windows install says git not found or SKYKOI not recognized](#windows-install-says-git-not-found-or-SKYKOI-not-recognized)
|
|
30
30
|
- [The docs didn't answer my question - how do I get a better answer?](#the-docs-didnt-answer-my-question-how-do-i-get-a-better-answer)
|
|
31
|
-
- [How do I install
|
|
32
|
-
- [How do I install
|
|
31
|
+
- [How do I install SKYKOI on Linux?](#how-do-i-install-SKYKOI-on-linux)
|
|
32
|
+
- [How do I install SKYKOI on a VPS?](#how-do-i-install-SKYKOI-on-a-vps)
|
|
33
33
|
- [Where are the cloud/VPS install guides?](#where-are-the-cloudvps-install-guides)
|
|
34
|
-
- [Can I ask
|
|
34
|
+
- [Can I ask SKYKOI to update itself?](#can-i-ask-SKYKOI-to-update-itself)
|
|
35
35
|
- [What does the onboarding wizard actually do?](#what-does-the-onboarding-wizard-actually-do)
|
|
36
36
|
- [Do I need a Claude or OpenAI subscription to run this?](#do-i-need-a-claude-or-openai-subscription-to-run-this)
|
|
37
37
|
- [Can I use Claude Max subscription without an API key](#can-i-use-claude-max-subscription-without-an-api-key)
|
|
@@ -47,24 +47,24 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
47
47
|
- [How do I keep hosted model traffic in a specific region?](#how-do-i-keep-hosted-model-traffic-in-a-specific-region)
|
|
48
48
|
- [Do I have to buy a Mac Mini to install this?](#do-i-have-to-buy-a-mac-mini-to-install-this)
|
|
49
49
|
- [Do I need a Mac mini for iMessage support?](#do-i-need-a-mac-mini-for-imessage-support)
|
|
50
|
-
- [If I buy a Mac mini to run
|
|
50
|
+
- [If I buy a Mac mini to run SKYKOI, can I connect it to my MacBook Pro?](#if-i-buy-a-mac-mini-to-run-SKYKOI-can-i-connect-it-to-my-macbook-pro)
|
|
51
51
|
- [Can I use Bun?](#can-i-use-bun)
|
|
52
52
|
- [Telegram: what goes in `allowFrom`?](#telegram-what-goes-in-allowfrom)
|
|
53
|
-
- [Can multiple people use one WhatsApp number with different
|
|
53
|
+
- [Can multiple people use one WhatsApp number with different SKYKOI instances?](#can-multiple-people-use-one-whatsapp-number-with-different-SKYKOI-instances)
|
|
54
54
|
- [Can I run a "fast chat" agent and an "Opus for coding" agent?](#can-i-run-a-fast-chat-agent-and-an-opus-for-coding-agent)
|
|
55
55
|
- [Does Homebrew work on Linux?](#does-homebrew-work-on-linux)
|
|
56
56
|
- [What's the difference between the hackable (git) install and npm install?](#whats-the-difference-between-the-hackable-git-install-and-npm-install)
|
|
57
57
|
- [Can I switch between npm and git installs later?](#can-i-switch-between-npm-and-git-installs-later)
|
|
58
58
|
- [Should I run the Gateway on my laptop or a VPS?](#should-i-run-the-gateway-on-my-laptop-or-a-vps)
|
|
59
|
-
- [How important is it to run
|
|
59
|
+
- [How important is it to run SKYKOI on a dedicated machine?](#how-important-is-it-to-run-SKYKOI-on-a-dedicated-machine)
|
|
60
60
|
- [What are the minimum VPS requirements and recommended OS?](#what-are-the-minimum-vps-requirements-and-recommended-os)
|
|
61
|
-
- [Can I run
|
|
62
|
-
- [What is
|
|
63
|
-
- [What is
|
|
61
|
+
- [Can I run SKYKOI in a VM and what are the requirements](#can-i-run-SKYKOI-in-a-vm-and-what-are-the-requirements)
|
|
62
|
+
- [What is SKYKOI?](#what-is-SKYKOI)
|
|
63
|
+
- [What is SKYKOI, in one paragraph?](#what-is-SKYKOI-in-one-paragraph)
|
|
64
64
|
- [What's the value proposition?](#whats-the-value-proposition)
|
|
65
65
|
- [I just set it up what should I do first](#i-just-set-it-up-what-should-i-do-first)
|
|
66
|
-
- [What are the top five everyday use cases for
|
|
67
|
-
- [Can
|
|
66
|
+
- [What are the top five everyday use cases for SKYKOI](#what-are-the-top-five-everyday-use-cases-for-SKYKOI)
|
|
67
|
+
- [Can SKYKOI help with lead gen outreach ads and blogs for a SaaS](#can-SKYKOI-help-with-lead-gen-outreach-ads-and-blogs-for-a-saas)
|
|
68
68
|
- [What are the advantages vs Claude Code for web development?](#what-are-the-advantages-vs-claude-code-for-web-development)
|
|
69
69
|
- [Skills and automation](#skills-and-automation)
|
|
70
70
|
- [How do I customize skills without keeping the repo dirty?](#how-do-i-customize-skills-without-keeping-the-repo-dirty)
|
|
@@ -73,7 +73,7 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
73
73
|
- [The bot freezes while doing heavy work. How do I offload that?](#the-bot-freezes-while-doing-heavy-work-how-do-i-offload-that)
|
|
74
74
|
- [Cron or reminders do not fire. What should I check?](#cron-or-reminders-do-not-fire-what-should-i-check)
|
|
75
75
|
- [How do I install skills on Linux?](#how-do-i-install-skills-on-linux)
|
|
76
|
-
- [Can
|
|
76
|
+
- [Can SKYKOI run tasks on a schedule or continuously in the background?](#can-SKYKOI-run-tasks-on-a-schedule-or-continuously-in-the-background)
|
|
77
77
|
- [Can I run Apple macOS-only skills from Linux?](#can-i-run-apple-macos-only-skills-from-linux)
|
|
78
78
|
- [Do you have a Notion or HeyGen integration?](#do-you-have-a-notion-or-heygen-integration)
|
|
79
79
|
- [How do I install the Chrome extension for browser takeover?](#how-do-i-install-the-chrome-extension-for-browser-takeover)
|
|
@@ -85,11 +85,11 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
85
85
|
- [Does memory persist forever? What are the limits?](#does-memory-persist-forever-what-are-the-limits)
|
|
86
86
|
- [Does semantic memory search require an OpenAI API key?](#does-semantic-memory-search-require-an-openai-api-key)
|
|
87
87
|
- [Where things live on disk](#where-things-live-on-disk)
|
|
88
|
-
- [Is all data used with
|
|
89
|
-
- [Where does
|
|
88
|
+
- [Is all data used with SKYKOI saved locally?](#is-all-data-used-with-SKYKOI-saved-locally)
|
|
89
|
+
- [Where does SKYKOI store its data?](#where-does-SKYKOI-store-its-data)
|
|
90
90
|
- [Where should AGENTS.md / SOUL.md / USER.md / MEMORY.md live?](#where-should-agentsmd-soulmd-usermd-memorymd-live)
|
|
91
91
|
- [What's the recommended backup strategy?](#whats-the-recommended-backup-strategy)
|
|
92
|
-
- [How do I completely uninstall
|
|
92
|
+
- [How do I completely uninstall SKYKOI?](#how-do-i-completely-uninstall-SKYKOI)
|
|
93
93
|
- [Can agents work outside the workspace?](#can-agents-work-outside-the-workspace)
|
|
94
94
|
- [I'm in remote mode - where is the session store?](#im-in-remote-mode-where-is-the-session-store)
|
|
95
95
|
- [Config basics](#config-basics)
|
|
@@ -100,13 +100,13 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
100
100
|
- [How do I enable web search (and web fetch)?](#how-do-i-enable-web-search-and-web-fetch)
|
|
101
101
|
- [config.apply wiped my config. How do I recover and avoid this?](#configapply-wiped-my-config-how-do-i-recover-and-avoid-this)
|
|
102
102
|
- [How do I run a central Gateway with specialized workers across devices?](#how-do-i-run-a-central-gateway-with-specialized-workers-across-devices)
|
|
103
|
-
- [Can the
|
|
103
|
+
- [Can the SKYKOI browser run headless?](#can-the-SKYKOI-browser-run-headless)
|
|
104
104
|
- [How do I use Brave for browser control?](#how-do-i-use-brave-for-browser-control)
|
|
105
105
|
- [Remote gateways and nodes](#remote-gateways-and-nodes)
|
|
106
106
|
- [How do commands propagate between Telegram, the gateway, and nodes?](#how-do-commands-propagate-between-telegram-the-gateway-and-nodes)
|
|
107
107
|
- [How can my agent access my computer if the Gateway is hosted remotely?](#how-can-my-agent-access-my-computer-if-the-gateway-is-hosted-remotely)
|
|
108
108
|
- [Tailscale is connected but I get no replies. What now?](#tailscale-is-connected-but-i-get-no-replies-what-now)
|
|
109
|
-
- [Can two
|
|
109
|
+
- [Can two SKYKOI instances talk to each other (local + VPS)?](#can-two-SKYKOI-instances-talk-to-each-other-local-vps)
|
|
110
110
|
- [Do I need separate VPSes for multiple agents](#do-i-need-separate-vpses-for-multiple-agents)
|
|
111
111
|
- [Is there a benefit to using a node on my personal laptop instead of SSH from a VPS?](#is-there-a-benefit-to-using-a-node-on-my-personal-laptop-instead-of-ssh-from-a-vps)
|
|
112
112
|
- [Do nodes run a gateway service?](#do-nodes-run-a-gateway-service)
|
|
@@ -116,21 +116,21 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
116
116
|
- [How do I connect a Mac node to a remote Gateway (Tailscale Serve)?](#how-do-i-connect-a-mac-node-to-a-remote-gateway-tailscale-serve)
|
|
117
117
|
- [Should I install on a second laptop or just add a node?](#should-i-install-on-a-second-laptop-or-just-add-a-node)
|
|
118
118
|
- [Env vars and .env loading](#env-vars-and-env-loading)
|
|
119
|
-
- [How does
|
|
119
|
+
- [How does SKYKOI load environment variables?](#how-does-SKYKOI-load-environment-variables)
|
|
120
120
|
- ["I started the Gateway via the service and my env vars disappeared." What now?](#i-started-the-gateway-via-the-service-and-my-env-vars-disappeared-what-now)
|
|
121
121
|
- [I set `COPILOT_GITHUB_TOKEN`, but models status shows "Shell env: off." Why?](#i-set-copilotgithubtoken-but-models-status-shows-shell-env-off-why)
|
|
122
122
|
- [Sessions and multiple chats](#sessions-and-multiple-chats)
|
|
123
123
|
- [How do I start a fresh conversation?](#how-do-i-start-a-fresh-conversation)
|
|
124
124
|
- [Do sessions reset automatically if I never send `/new`?](#do-sessions-reset-automatically-if-i-never-send-new)
|
|
125
|
-
- [Is there a way to make a team of
|
|
125
|
+
- [Is there a way to make a team of SKYKOI instances one CEO and many agents](#is-there-a-way-to-make-a-team-of-SKYKOI-instances-one-ceo-and-many-agents)
|
|
126
126
|
- [Why did context get truncated mid-task? How do I prevent it?](#why-did-context-get-truncated-midtask-how-do-i-prevent-it)
|
|
127
|
-
- [How do I completely reset
|
|
127
|
+
- [How do I completely reset SKYKOI but keep it installed?](#how-do-i-completely-reset-SKYKOI-but-keep-it-installed)
|
|
128
128
|
- [I'm getting "context too large" errors - how do I reset or compact?](#im-getting-context-too-large-errors-how-do-i-reset-or-compact)
|
|
129
129
|
- [Why am I seeing "LLM request rejected: messages.N.content.X.tool_use.input: Field required"?](#why-am-i-seeing-llm-request-rejected-messagesncontentxtooluseinput-field-required)
|
|
130
130
|
- [Why am I getting heartbeat messages every 30 minutes?](#why-am-i-getting-heartbeat-messages-every-30-minutes)
|
|
131
131
|
- [Do I need to add a "bot account" to a WhatsApp group?](#do-i-need-to-add-a-bot-account-to-a-whatsapp-group)
|
|
132
132
|
- [How do I get the JID of a WhatsApp group?](#how-do-i-get-the-jid-of-a-whatsapp-group)
|
|
133
|
-
- [Why doesn't
|
|
133
|
+
- [Why doesn't SKYKOI reply in a group?](#why-doesnt-SKYKOI-reply-in-a-group)
|
|
134
134
|
- [Do groups/threads share context with DMs?](#do-groupsthreads-share-context-with-dms)
|
|
135
135
|
- [How many workspaces and agents can I create?](#how-many-workspaces-and-agents-can-i-create)
|
|
136
136
|
- [Can I run multiple bots or chats at the same time (Slack), and how should I set that up?](#can-i-run-multiple-bots-or-chats-at-the-same-time-slack-and-how-should-i-set-that-up)
|
|
@@ -139,7 +139,7 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
139
139
|
- [What model do you recommend?](#what-model-do-you-recommend)
|
|
140
140
|
- [How do I switch models without wiping my config?](#how-do-i-switch-models-without-wiping-my-config)
|
|
141
141
|
- [Can I use self-hosted models (llama.cpp, vLLM, Ollama)?](#can-i-use-selfhosted-models-llamacpp-vllm-ollama)
|
|
142
|
-
- [What do
|
|
142
|
+
- [What do SKYKOI, Flawd, and Krill use for models?](#what-do-SKYKOI-flawd-and-krill-use-for-models)
|
|
143
143
|
- [How do I switch models on the fly (without restarting)?](#how-do-i-switch-models-on-the-fly-without-restarting)
|
|
144
144
|
- [Can I use GPT 5.2 for daily tasks and Codex 5.3 for coding](#can-i-use-gpt-52-for-daily-tasks-and-codex-53-for-coding)
|
|
145
145
|
- [Why do I see "Model … is not allowed" and then no reply?](#why-do-i-see-model-is-not-allowed-and-then-no-reply)
|
|
@@ -160,10 +160,10 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
160
160
|
- [OAuth vs API key: what's the difference?](#oauth-vs-api-key-whats-the-difference)
|
|
161
161
|
- [Gateway: ports, "already running", and remote mode](#gateway-ports-already-running-and-remote-mode)
|
|
162
162
|
- [What port does the Gateway use?](#what-port-does-the-gateway-use)
|
|
163
|
-
- [Why does `
|
|
164
|
-
- [Why does `
|
|
163
|
+
- [Why does `SKYKOI gateway status` say `Runtime: running` but `RPC probe: failed`?](#why-does-SKYKOI-gateway-status-say-runtime-running-but-rpc-probe-failed)
|
|
164
|
+
- [Why does `SKYKOI gateway status` show `Config (cli)` and `Config (service)` different?](#why-does-SKYKOI-gateway-status-show-config-cli-and-config-service-different)
|
|
165
165
|
- [What does "another gateway instance is already listening" mean?](#what-does-another-gateway-instance-is-already-listening-mean)
|
|
166
|
-
- [How do I run
|
|
166
|
+
- [How do I run SKYKOI in remote mode (client connects to a Gateway elsewhere)?](#how-do-i-run-SKYKOI-in-remote-mode-client-connects-to-a-gateway-elsewhere)
|
|
167
167
|
- [The Control UI says "unauthorized" (or keeps reconnecting). What now?](#the-control-ui-says-unauthorized-or-keeps-reconnecting-what-now)
|
|
168
168
|
- [I set `gateway.bind: "tailnet"` but it can't bind / nothing listens](#i-set-gatewaybind-tailnet-but-it-cant-bind-nothing-listens)
|
|
169
169
|
- [Can I run multiple Gateways on the same host?](#can-i-run-multiple-gateways-on-the-same-host)
|
|
@@ -171,18 +171,18 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
171
171
|
- [Logging and debugging](#logging-and-debugging)
|
|
172
172
|
- [Where are logs?](#where-are-logs)
|
|
173
173
|
- [How do I start/stop/restart the Gateway service?](#how-do-i-startstoprestart-the-gateway-service)
|
|
174
|
-
- [I closed my terminal on Windows - how do I restart
|
|
174
|
+
- [I closed my terminal on Windows - how do I restart SKYKOI?](#i-closed-my-terminal-on-windows-how-do-i-restart-SKYKOI)
|
|
175
175
|
- [The Gateway is up but replies never arrive. What should I check?](#the-gateway-is-up-but-replies-never-arrive-what-should-i-check)
|
|
176
176
|
- ["Disconnected from gateway: no reason" - what now?](#disconnected-from-gateway-no-reason-what-now)
|
|
177
177
|
- [Telegram setMyCommands fails with network errors. What should I check?](#telegram-setmycommands-fails-with-network-errors-what-should-i-check)
|
|
178
178
|
- [TUI shows no output. What should I check?](#tui-shows-no-output-what-should-i-check)
|
|
179
179
|
- [How do I completely stop then start the Gateway?](#how-do-i-completely-stop-then-start-the-gateway)
|
|
180
|
-
- [ELI5: `
|
|
180
|
+
- [ELI5: `SKYKOI gateway restart` vs `SKYKOI gateway`](#eli5-SKYKOI-gateway-restart-vs-SKYKOI-gateway)
|
|
181
181
|
- [What's the fastest way to get more details when something fails?](#whats-the-fastest-way-to-get-more-details-when-something-fails)
|
|
182
182
|
- [Media and attachments](#media-and-attachments)
|
|
183
183
|
- [My skill generated an image/PDF, but nothing was sent](#my-skill-generated-an-imagepdf-but-nothing-was-sent)
|
|
184
184
|
- [Security and access control](#security-and-access-control)
|
|
185
|
-
- [Is it safe to expose
|
|
185
|
+
- [Is it safe to expose SKYKOI to inbound DMs?](#is-it-safe-to-expose-SKYKOI-to-inbound-dms)
|
|
186
186
|
- [Is prompt injection only a concern for public bots?](#is-prompt-injection-only-a-concern-for-public-bots)
|
|
187
187
|
- [Should my bot have its own email GitHub account or phone number](#should-my-bot-have-its-own-email-github-account-or-phone-number)
|
|
188
188
|
- [Can I give it autonomy over my text messages and is that safe](#can-i-give-it-autonomy-over-my-text-messages-and-is-that-safe)
|
|
@@ -200,7 +200,7 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
200
200
|
1. **Quick status (first check)**
|
|
201
201
|
|
|
202
202
|
```bash
|
|
203
|
-
|
|
203
|
+
SKYKOI status
|
|
204
204
|
```
|
|
205
205
|
|
|
206
206
|
Fast local summary: OS + update, gateway/service reachability, agents/sessions, provider config + runtime issues (when gateway is reachable).
|
|
@@ -208,7 +208,7 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
208
208
|
2. **Pasteable report (safe to share)**
|
|
209
209
|
|
|
210
210
|
```bash
|
|
211
|
-
|
|
211
|
+
SKYKOI status --all
|
|
212
212
|
```
|
|
213
213
|
|
|
214
214
|
Read-only diagnosis with log tail (tokens redacted).
|
|
@@ -216,7 +216,7 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
216
216
|
3. **Daemon + port state**
|
|
217
217
|
|
|
218
218
|
```bash
|
|
219
|
-
|
|
219
|
+
SKYKOI gateway status
|
|
220
220
|
```
|
|
221
221
|
|
|
222
222
|
Shows supervisor runtime vs RPC reachability, the probe target URL, and which config the service likely used.
|
|
@@ -224,7 +224,7 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
224
224
|
4. **Deep probes**
|
|
225
225
|
|
|
226
226
|
```bash
|
|
227
|
-
|
|
227
|
+
SKYKOI status --deep
|
|
228
228
|
```
|
|
229
229
|
|
|
230
230
|
Runs gateway health checks + provider probes (requires a reachable gateway). See [Health](/gateway/health).
|
|
@@ -232,13 +232,13 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
232
232
|
5. **Tail the latest log**
|
|
233
233
|
|
|
234
234
|
```bash
|
|
235
|
-
|
|
235
|
+
SKYKOI logs --follow
|
|
236
236
|
```
|
|
237
237
|
|
|
238
238
|
If RPC is down, fall back to:
|
|
239
239
|
|
|
240
240
|
```bash
|
|
241
|
-
tail -f "$(ls -t /tmp/
|
|
241
|
+
tail -f "$(ls -t /tmp/SKYKOI/SKYKOI-*.log | head -1)"
|
|
242
242
|
```
|
|
243
243
|
|
|
244
244
|
File logs are separate from service logs; see [Logging](/logging) and [Troubleshooting](/gateway/troubleshooting).
|
|
@@ -246,7 +246,7 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
246
246
|
6. **Run the doctor (repairs)**
|
|
247
247
|
|
|
248
248
|
```bash
|
|
249
|
-
|
|
249
|
+
SKYKOI doctor
|
|
250
250
|
```
|
|
251
251
|
|
|
252
252
|
Repairs/migrates config/state + runs health checks. See [Doctor](/gateway/doctor).
|
|
@@ -254,8 +254,8 @@ Quick answers plus deeper troubleshooting for real-world setups (local dev, VPS,
|
|
|
254
254
|
7. **Gateway snapshot**
|
|
255
255
|
|
|
256
256
|
```bash
|
|
257
|
-
|
|
258
|
-
|
|
257
|
+
SKYKOI health --json
|
|
258
|
+
SKYKOI health --verbose # shows the target URL + config path on errors
|
|
259
259
|
```
|
|
260
260
|
|
|
261
261
|
Asks the running gateway for a full snapshot (WS-only). See [Health](/gateway/health).
|
|
@@ -276,10 +276,10 @@ setup (PATH, services, permissions, auth files). Give them the **full source che
|
|
|
276
276
|
the hackable (git) install:
|
|
277
277
|
|
|
278
278
|
```bash
|
|
279
|
-
curl -fsSL https://
|
|
279
|
+
curl -fsSL https://SKYKOI.com/install.sh | bash -s -- --install-method git
|
|
280
280
|
```
|
|
281
281
|
|
|
282
|
-
This installs
|
|
282
|
+
This installs SKYKOI **from a git checkout**, so the agent can read the code + docs and
|
|
283
283
|
reason about the exact version you are running. You can always switch back to stable later
|
|
284
284
|
by re-running the installer without `--install-method git`.
|
|
285
285
|
|
|
@@ -287,36 +287,36 @@ Tip: ask the agent to **plan and supervise** the fix (step-by-step), then execut
|
|
|
287
287
|
necessary commands. That keeps changes small and easier to audit.
|
|
288
288
|
|
|
289
289
|
If you discover a real bug or fix, please file a GitHub issue or send a PR:
|
|
290
|
-
[https://github.com/
|
|
291
|
-
[https://github.com/
|
|
290
|
+
[https://github.com/SKYKOI/SKYKOI/issues](https://github.com/SKYKOI/SKYKOI/issues)
|
|
291
|
+
[https://github.com/SKYKOI/SKYKOI/pulls](https://github.com/SKYKOI/SKYKOI/pulls)
|
|
292
292
|
|
|
293
293
|
Start with these commands (share outputs when asking for help):
|
|
294
294
|
|
|
295
295
|
```bash
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
296
|
+
SKYKOI status
|
|
297
|
+
SKYKOI models status
|
|
298
|
+
SKYKOI doctor
|
|
299
299
|
```
|
|
300
300
|
|
|
301
301
|
What they do:
|
|
302
302
|
|
|
303
|
-
- `
|
|
304
|
-
- `
|
|
305
|
-
- `
|
|
303
|
+
- `SKYKOI status`: quick snapshot of gateway/agent health + basic config.
|
|
304
|
+
- `SKYKOI models status`: checks provider auth + model availability.
|
|
305
|
+
- `SKYKOI doctor`: validates and repairs common config/state issues.
|
|
306
306
|
|
|
307
|
-
Other useful CLI checks: `
|
|
308
|
-
`
|
|
307
|
+
Other useful CLI checks: `SKYKOI status --all`, `SKYKOI logs --follow`,
|
|
308
|
+
`SKYKOI gateway status`, `SKYKOI health --verbose`.
|
|
309
309
|
|
|
310
310
|
Quick debug loop: [First 60 seconds if something's broken](#first-60-seconds-if-somethings-broken).
|
|
311
311
|
Install docs: [Install](/install), [Installer flags](/install/installer), [Updating](/install/updating).
|
|
312
312
|
|
|
313
|
-
### What's the recommended way to install and set up
|
|
313
|
+
### What's the recommended way to install and set up SKYKOI
|
|
314
314
|
|
|
315
315
|
The repo recommends running from source and using the onboarding wizard:
|
|
316
316
|
|
|
317
317
|
```bash
|
|
318
|
-
curl -fsSL https://
|
|
319
|
-
|
|
318
|
+
curl -fsSL https://SKYKOI.com/install.sh | bash
|
|
319
|
+
SKYKOI onboard --install-daemon
|
|
320
320
|
```
|
|
321
321
|
|
|
322
322
|
The wizard can also build UI assets automatically. After onboarding, you typically run the Gateway on port **18789**.
|
|
@@ -324,15 +324,15 @@ The wizard can also build UI assets automatically. After onboarding, you typical
|
|
|
324
324
|
From source (contributors/dev):
|
|
325
325
|
|
|
326
326
|
```bash
|
|
327
|
-
git clone https://github.com/
|
|
328
|
-
cd
|
|
327
|
+
git clone https://github.com/SKYKOI/SKYKOI.git
|
|
328
|
+
cd SKYKOI
|
|
329
329
|
pnpm install
|
|
330
330
|
pnpm build
|
|
331
331
|
pnpm ui:build # auto-installs UI deps on first run
|
|
332
|
-
|
|
332
|
+
SKYKOI onboard
|
|
333
333
|
```
|
|
334
334
|
|
|
335
|
-
If you don't have a global install yet, run it via `pnpm
|
|
335
|
+
If you don't have a global install yet, run it via `pnpm SKYKOI onboard`.
|
|
336
336
|
|
|
337
337
|
### How do I open the dashboard after onboarding
|
|
338
338
|
|
|
@@ -343,13 +343,13 @@ The wizard opens your browser with a clean (non-tokenized) dashboard URL right a
|
|
|
343
343
|
**Localhost (same machine):**
|
|
344
344
|
|
|
345
345
|
- Open `http://127.0.0.1:18789/`.
|
|
346
|
-
- If it asks for auth, paste the token from `gateway.auth.token` (or `
|
|
347
|
-
- Retrieve it from the gateway host: `
|
|
346
|
+
- If it asks for auth, paste the token from `gateway.auth.token` (or `SKYKOI_GATEWAY_TOKEN`) into Control UI settings.
|
|
347
|
+
- Retrieve it from the gateway host: `SKYKOI config get gateway.auth.token` (or generate one: `SKYKOI doctor --generate-gateway-token`).
|
|
348
348
|
|
|
349
349
|
**Not on localhost:**
|
|
350
350
|
|
|
351
|
-
- **Tailscale Serve** (recommended): keep bind loopback, run `
|
|
352
|
-
- **Tailnet bind**: run `
|
|
351
|
+
- **Tailscale Serve** (recommended): keep bind loopback, run `SKYKOI gateway --tailscale serve`, open `https://<magicdns>/`. If `gateway.auth.allowTailscale` is `true`, identity headers satisfy auth (no token).
|
|
352
|
+
- **Tailnet bind**: run `SKYKOI gateway --bind tailnet --token "<token>"`, open `http://<tailscale-ip>:18789/`, paste token in dashboard settings.
|
|
353
353
|
- **SSH tunnel**: `ssh -N -L 18789:127.0.0.1:18789 user@host` then open `http://127.0.0.1:18789/` and paste the token in Control UI settings.
|
|
354
354
|
|
|
355
355
|
See [Dashboard](/web/dashboard) and [Web surfaces](/web) for bind modes and auth details.
|
|
@@ -389,21 +389,21 @@ and tokens stay at 0, the agent never ran.
|
|
|
389
389
|
1. Restart the Gateway:
|
|
390
390
|
|
|
391
391
|
```bash
|
|
392
|
-
|
|
392
|
+
SKYKOI gateway restart
|
|
393
393
|
```
|
|
394
394
|
|
|
395
395
|
2. Check status + auth:
|
|
396
396
|
|
|
397
397
|
```bash
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
398
|
+
SKYKOI status
|
|
399
|
+
SKYKOI models status
|
|
400
|
+
SKYKOI logs --follow
|
|
401
401
|
```
|
|
402
402
|
|
|
403
403
|
3. If it still hangs, run:
|
|
404
404
|
|
|
405
405
|
```bash
|
|
406
|
-
|
|
406
|
+
SKYKOI doctor
|
|
407
407
|
```
|
|
408
408
|
|
|
409
409
|
If the Gateway is remote, ensure the tunnel/Tailscale connection is up and that the UI
|
|
@@ -415,40 +415,40 @@ Yes. Copy the **state directory** and **workspace**, then run Doctor once. This
|
|
|
415
415
|
keeps your bot "exactly the same" (memory, session history, auth, and channel
|
|
416
416
|
state) as long as you copy **both** locations:
|
|
417
417
|
|
|
418
|
-
1. Install
|
|
419
|
-
2. Copy `$
|
|
420
|
-
3. Copy your workspace (default: `~/.
|
|
421
|
-
4. Run `
|
|
418
|
+
1. Install SKYKOI on the new machine.
|
|
419
|
+
2. Copy `$SKYKOI_STATE_DIR` (default: `~/.SKYKOI`) from the old machine.
|
|
420
|
+
3. Copy your workspace (default: `~/.SKYKOI/workspace`).
|
|
421
|
+
4. Run `SKYKOI doctor` and restart the Gateway service.
|
|
422
422
|
|
|
423
423
|
That preserves config, auth profiles, WhatsApp creds, sessions, and memory. If you're in
|
|
424
424
|
remote mode, remember the gateway host owns the session store and workspace.
|
|
425
425
|
|
|
426
426
|
**Important:** if you only commit/push your workspace to GitHub, you're backing
|
|
427
427
|
up **memory + bootstrap files**, but **not** session history or auth. Those live
|
|
428
|
-
under `~/.
|
|
428
|
+
under `~/.SKYKOI/` (for example `~/.SKYKOI/agents/<agentId>/sessions/`).
|
|
429
429
|
|
|
430
|
-
Related: [Migrating](/install/migrating), [Where things live on disk](/help/faq#where-does-
|
|
430
|
+
Related: [Migrating](/install/migrating), [Where things live on disk](/help/faq#where-does-SKYKOI-store-its-data),
|
|
431
431
|
[Agent workspace](/concepts/agent-workspace), [Doctor](/gateway/doctor),
|
|
432
432
|
[Remote mode](/gateway/remote).
|
|
433
433
|
|
|
434
434
|
### Where do I see what is new in the latest version
|
|
435
435
|
|
|
436
436
|
Check the GitHub changelog:
|
|
437
|
-
[https://github.com/
|
|
437
|
+
[https://github.com/SKYKOI/SKYKOI/blob/main/CHANGELOG.md](https://github.com/SKYKOI/SKYKOI/blob/main/CHANGELOG.md)
|
|
438
438
|
|
|
439
439
|
Newest entries are at the top. If the top section is marked **Unreleased**, the next dated
|
|
440
440
|
section is the latest shipped version. Entries are grouped by **Highlights**, **Changes**, and
|
|
441
441
|
**Fixes** (plus docs/other sections when needed).
|
|
442
442
|
|
|
443
|
-
### I cant access docs.
|
|
443
|
+
### I cant access docs.SKYKOI.ai SSL error What now
|
|
444
444
|
|
|
445
|
-
Some Comcast/Xfinity connections incorrectly block `docs.
|
|
446
|
-
Advanced Security. Disable it or allowlist `docs.
|
|
447
|
-
detail: [Troubleshooting](/help/troubleshooting#
|
|
445
|
+
Some Comcast/Xfinity connections incorrectly block `docs.SKYKOI.ai` via Xfinity
|
|
446
|
+
Advanced Security. Disable it or allowlist `docs.SKYKOI.ai`, then retry. More
|
|
447
|
+
detail: [Troubleshooting](/help/troubleshooting#docsSKYKOIai-shows-an-ssl-error-comcastxfinity).
|
|
448
448
|
Please help us unblock it by reporting here: [https://spa.xfinity.com/check_url_status](https://spa.xfinity.com/check_url_status).
|
|
449
449
|
|
|
450
450
|
If you still can't reach the site, the docs are mirrored on GitHub:
|
|
451
|
-
[https://github.com/
|
|
451
|
+
[https://github.com/SKYKOI/SKYKOI/tree/main/docs](https://github.com/SKYKOI/SKYKOI/tree/main/docs)
|
|
452
452
|
|
|
453
453
|
### What's the difference between stable and beta
|
|
454
454
|
|
|
@@ -462,7 +462,7 @@ that same version to `latest`**. That's why beta and stable can point at the
|
|
|
462
462
|
**same version**.
|
|
463
463
|
|
|
464
464
|
See what changed:
|
|
465
|
-
[https://github.com/
|
|
465
|
+
[https://github.com/SKYKOI/SKYKOI/blob/main/CHANGELOG.md](https://github.com/SKYKOI/SKYKOI/blob/main/CHANGELOG.md)
|
|
466
466
|
|
|
467
467
|
### How do I install the beta version and whats the difference between beta and dev
|
|
468
468
|
|
|
@@ -472,15 +472,15 @@ See what changed:
|
|
|
472
472
|
One-liners (macOS/Linux):
|
|
473
473
|
|
|
474
474
|
```bash
|
|
475
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://
|
|
475
|
+
curl -fsSL --proto '=https' --tlsv1.2 https://SKYKOI.com/install.sh | bash -s -- --beta
|
|
476
476
|
```
|
|
477
477
|
|
|
478
478
|
```bash
|
|
479
|
-
curl -fsSL --proto '=https' --tlsv1.2 https://
|
|
479
|
+
curl -fsSL --proto '=https' --tlsv1.2 https://SKYKOI.com/install.sh | bash -s -- --install-method git
|
|
480
480
|
```
|
|
481
481
|
|
|
482
482
|
Windows installer (PowerShell):
|
|
483
|
-
[https://
|
|
483
|
+
[https://SKYKOI.com/install.ps1](https://SKYKOI.com/install.ps1)
|
|
484
484
|
|
|
485
485
|
More detail: [Development channels](/install/development-channels) and [Installer flags](/install/installer).
|
|
486
486
|
|
|
@@ -501,7 +501,7 @@ Two options:
|
|
|
501
501
|
1. **Dev channel (git checkout):**
|
|
502
502
|
|
|
503
503
|
```bash
|
|
504
|
-
|
|
504
|
+
SKYKOI update --channel dev
|
|
505
505
|
```
|
|
506
506
|
|
|
507
507
|
This switches to the `main` branch and updates from source.
|
|
@@ -509,7 +509,7 @@ This switches to the `main` branch and updates from source.
|
|
|
509
509
|
2. **Hackable install (from the installer site):**
|
|
510
510
|
|
|
511
511
|
```bash
|
|
512
|
-
curl -fsSL https://
|
|
512
|
+
curl -fsSL https://SKYKOI.com/install.sh | bash -s -- --install-method git
|
|
513
513
|
```
|
|
514
514
|
|
|
515
515
|
That gives you a local repo you can edit, then update via git.
|
|
@@ -517,8 +517,8 @@ That gives you a local repo you can edit, then update via git.
|
|
|
517
517
|
If you prefer a clean clone manually, use:
|
|
518
518
|
|
|
519
519
|
```bash
|
|
520
|
-
git clone https://github.com/
|
|
521
|
-
cd
|
|
520
|
+
git clone https://github.com/SKYKOI/SKYKOI.git
|
|
521
|
+
cd SKYKOI
|
|
522
522
|
pnpm install
|
|
523
523
|
pnpm build
|
|
524
524
|
```
|
|
@@ -531,24 +531,24 @@ Docs: [Update](/cli/update), [Development channels](/install/development-channel
|
|
|
531
531
|
Re-run the installer with **verbose output**:
|
|
532
532
|
|
|
533
533
|
```bash
|
|
534
|
-
curl -fsSL https://
|
|
534
|
+
curl -fsSL https://SKYKOI.com/install.sh | bash -s -- --verbose
|
|
535
535
|
```
|
|
536
536
|
|
|
537
537
|
Beta install with verbose:
|
|
538
538
|
|
|
539
539
|
```bash
|
|
540
|
-
curl -fsSL https://
|
|
540
|
+
curl -fsSL https://SKYKOI.com/install.sh | bash -s -- --beta --verbose
|
|
541
541
|
```
|
|
542
542
|
|
|
543
543
|
For a hackable (git) install:
|
|
544
544
|
|
|
545
545
|
```bash
|
|
546
|
-
curl -fsSL https://
|
|
546
|
+
curl -fsSL https://SKYKOI.com/install.sh | bash -s -- --install-method git --verbose
|
|
547
547
|
```
|
|
548
548
|
|
|
549
549
|
More options: [Installer flags](/install/installer).
|
|
550
550
|
|
|
551
|
-
### Windows install says git not found or
|
|
551
|
+
### Windows install says git not found or SKYKOI not recognized
|
|
552
552
|
|
|
553
553
|
Two common Windows issues:
|
|
554
554
|
|
|
@@ -557,7 +557,7 @@ Two common Windows issues:
|
|
|
557
557
|
- Install **Git for Windows** and make sure `git` is on your PATH.
|
|
558
558
|
- Close and reopen PowerShell, then re-run the installer.
|
|
559
559
|
|
|
560
|
-
**2)
|
|
560
|
+
**2) SKYKOI is not recognized after install**
|
|
561
561
|
|
|
562
562
|
- Your npm global bin folder is not on PATH.
|
|
563
563
|
- Check the path:
|
|
@@ -578,12 +578,12 @@ Use the **hackable (git) install** so you have the full source and docs locally,
|
|
|
578
578
|
your bot (or Claude/Codex) _from that folder_ so it can read the repo and answer precisely.
|
|
579
579
|
|
|
580
580
|
```bash
|
|
581
|
-
curl -fsSL https://
|
|
581
|
+
curl -fsSL https://SKYKOI.com/install.sh | bash -s -- --install-method git
|
|
582
582
|
```
|
|
583
583
|
|
|
584
584
|
More detail: [Install](/install) and [Installer flags](/install/installer).
|
|
585
585
|
|
|
586
|
-
### How do I install
|
|
586
|
+
### How do I install SKYKOI on Linux
|
|
587
587
|
|
|
588
588
|
Short answer: follow the Linux guide, then run the onboarding wizard.
|
|
589
589
|
|
|
@@ -591,7 +591,7 @@ Short answer: follow the Linux guide, then run the onboarding wizard.
|
|
|
591
591
|
- Full walkthrough: [Getting Started](/start/getting-started).
|
|
592
592
|
- Installer + updates: [Install & updates](/install/updating).
|
|
593
593
|
|
|
594
|
-
### How do I install
|
|
594
|
+
### How do I install SKYKOI on a VPS
|
|
595
595
|
|
|
596
596
|
Any Linux VPS works. Install on the server, then use SSH/Tailscale to reach the Gateway.
|
|
597
597
|
|
|
@@ -618,7 +618,7 @@ Gateway in the cloud.
|
|
|
618
618
|
Hub: [Platforms](/platforms). Remote access: [Gateway remote](/gateway/remote).
|
|
619
619
|
Nodes: [Nodes](/nodes), [Nodes CLI](/cli/nodes).
|
|
620
620
|
|
|
621
|
-
### Can I ask
|
|
621
|
+
### Can I ask SKYKOI to update itself
|
|
622
622
|
|
|
623
623
|
Short answer: **possible, not recommended**. The update flow can restart the
|
|
624
624
|
Gateway (which drops the active session), may need a clean git checkout, and
|
|
@@ -627,25 +627,25 @@ can prompt for confirmation. Safer: run updates from a shell as the operator.
|
|
|
627
627
|
Use the CLI:
|
|
628
628
|
|
|
629
629
|
```bash
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
630
|
+
SKYKOI update
|
|
631
|
+
SKYKOI update status
|
|
632
|
+
SKYKOI update --channel stable|beta|dev
|
|
633
|
+
SKYKOI update --tag <dist-tag|version>
|
|
634
|
+
SKYKOI update --no-restart
|
|
635
635
|
```
|
|
636
636
|
|
|
637
637
|
If you must automate from an agent:
|
|
638
638
|
|
|
639
639
|
```bash
|
|
640
|
-
|
|
641
|
-
|
|
640
|
+
SKYKOI update --yes --no-restart
|
|
641
|
+
SKYKOI gateway restart
|
|
642
642
|
```
|
|
643
643
|
|
|
644
644
|
Docs: [Update](/cli/update), [Updating](/install/updating).
|
|
645
645
|
|
|
646
646
|
### What does the onboarding wizard actually do
|
|
647
647
|
|
|
648
|
-
`
|
|
648
|
+
`SKYKOI onboard` is the recommended setup path. In **local mode** it walks you through:
|
|
649
649
|
|
|
650
650
|
- **Model/auth setup** (Anthropic **setup-token** recommended for Claude subscriptions, OpenAI Codex OAuth supported, API keys optional, LM Studio local models supported)
|
|
651
651
|
- **Workspace** location + bootstrap files
|
|
@@ -658,7 +658,7 @@ It also warns if your configured model is unknown or missing auth.
|
|
|
658
658
|
|
|
659
659
|
### Do I need a Claude or OpenAI subscription to run this
|
|
660
660
|
|
|
661
|
-
No. You can run
|
|
661
|
+
No. You can run SKYKOI with **API keys** (Anthropic/OpenAI/others) or with
|
|
662
662
|
**local-only models** so your data stays on your device. Subscriptions (Claude
|
|
663
663
|
Pro/Max or OpenAI Codex) are optional ways to authenticate those providers.
|
|
664
664
|
|
|
@@ -677,7 +677,7 @@ If you want the most explicit, supported path, use an Anthropic API key.
|
|
|
677
677
|
|
|
678
678
|
### How does Anthropic setuptoken auth work
|
|
679
679
|
|
|
680
|
-
`claude setup-token` generates a **token string** via the Claude Code CLI (it is not available in the web console). You can run it on **any machine**. Choose **Anthropic token (paste setup-token)** in the wizard or paste it with `
|
|
680
|
+
`claude setup-token` generates a **token string** via the Claude Code CLI (it is not available in the web console). You can run it on **any machine**. Choose **Anthropic token (paste setup-token)** in the wizard or paste it with `SKYKOI models auth paste-token --provider anthropic`. The token is stored as an auth profile for the **anthropic** provider and used like an API key (no auto-refresh). More detail: [OAuth](/concepts/oauth).
|
|
681
681
|
|
|
682
682
|
### Where do I find an Anthropic setuptoken
|
|
683
683
|
|
|
@@ -687,11 +687,11 @@ It is **not** in the Anthropic Console. The setup-token is generated by the **Cl
|
|
|
687
687
|
claude setup-token
|
|
688
688
|
```
|
|
689
689
|
|
|
690
|
-
Copy the token it prints, then choose **Anthropic token (paste setup-token)** in the wizard. If you want to run it on the gateway host, use `
|
|
690
|
+
Copy the token it prints, then choose **Anthropic token (paste setup-token)** in the wizard. If you want to run it on the gateway host, use `SKYKOI models auth setup-token --provider anthropic`. If you ran `claude setup-token` elsewhere, paste it on the gateway host with `SKYKOI models auth paste-token --provider anthropic`. See [Anthropic](/providers/anthropic).
|
|
691
691
|
|
|
692
692
|
### Do you support Claude subscription auth (Claude Pro or Max)
|
|
693
693
|
|
|
694
|
-
Yes - via **setup-token**.
|
|
694
|
+
Yes - via **setup-token**. SKYKOI no longer reuses Claude Code CLI OAuth tokens; use a setup-token or an Anthropic API key. Generate the token anywhere and paste it on the gateway host. See [Anthropic](/providers/anthropic) and [OAuth](/concepts/oauth).
|
|
695
695
|
|
|
696
696
|
Note: Claude subscription access is governed by Anthropic's terms. For production or multi-user workloads, API keys are usually the safer choice.
|
|
697
697
|
|
|
@@ -702,7 +702,7 @@ use a **Claude subscription** (setup-token or Claude Code OAuth), wait for the w
|
|
|
702
702
|
reset or upgrade your plan. If you use an **Anthropic API key**, check the Anthropic Console
|
|
703
703
|
for usage/billing and raise limits as needed.
|
|
704
704
|
|
|
705
|
-
Tip: set a **fallback model** so
|
|
705
|
+
Tip: set a **fallback model** so SKYKOI can keep replying while a provider is rate-limited.
|
|
706
706
|
See [Models](/cli/models) and [OAuth](/concepts/oauth).
|
|
707
707
|
|
|
708
708
|
### Is AWS Bedrock supported
|
|
@@ -711,29 +711,29 @@ Yes - via pi-ai's **Amazon Bedrock (Converse)** provider with **manual config**.
|
|
|
711
711
|
|
|
712
712
|
### How does Codex auth work
|
|
713
713
|
|
|
714
|
-
|
|
714
|
+
SKYKOI supports **OpenAI Code (Codex)** via OAuth (ChatGPT sign-in). The wizard can run the OAuth flow and will set the default model to `openai-codex/gpt-5.3-codex` when appropriate. See [Model providers](/concepts/model-providers) and [Wizard](/start/wizard).
|
|
715
715
|
|
|
716
716
|
### Do you support OpenAI subscription auth Codex OAuth
|
|
717
717
|
|
|
718
|
-
Yes.
|
|
718
|
+
Yes. SKYKOI fully supports **OpenAI Code (Codex) subscription OAuth**. The onboarding wizard
|
|
719
719
|
can run the OAuth flow for you.
|
|
720
720
|
|
|
721
721
|
See [OAuth](/concepts/oauth), [Model providers](/concepts/model-providers), and [Wizard](/start/wizard).
|
|
722
722
|
|
|
723
723
|
### How do I set up Gemini CLI OAuth
|
|
724
724
|
|
|
725
|
-
Gemini CLI uses a **plugin auth flow**, not a client id or secret in `
|
|
725
|
+
Gemini CLI uses a **plugin auth flow**, not a client id or secret in `SKYKOI.json`.
|
|
726
726
|
|
|
727
727
|
Steps:
|
|
728
728
|
|
|
729
|
-
1. Enable the plugin: `
|
|
730
|
-
2. Login: `
|
|
729
|
+
1. Enable the plugin: `SKYKOI plugins enable google-gemini-cli-auth`
|
|
730
|
+
2. Login: `SKYKOI models auth login --provider google-gemini-cli --set-default`
|
|
731
731
|
|
|
732
732
|
This stores OAuth tokens in auth profiles on the gateway host. Details: [Model providers](/concepts/model-providers).
|
|
733
733
|
|
|
734
734
|
### Is a local model OK for casual chats
|
|
735
735
|
|
|
736
|
-
Usually no.
|
|
736
|
+
Usually no. SKYKOI needs large context + strong safety; small cards truncate and leak. If you must, run the **largest** MiniMax M2.1 build you can locally (LM Studio) and see [/gateway/local-models](/gateway/local-models). Smaller/quantized models increase prompt-injection risk - see [Security](/gateway/security).
|
|
737
737
|
|
|
738
738
|
### How do I keep hosted model traffic in a specific region
|
|
739
739
|
|
|
@@ -741,7 +741,7 @@ Pick region-pinned endpoints. OpenRouter exposes US-hosted options for MiniMax,
|
|
|
741
741
|
|
|
742
742
|
### Do I have to buy a Mac Mini to install this
|
|
743
743
|
|
|
744
|
-
No.
|
|
744
|
+
No. SKYKOI runs on macOS or Linux (Windows via WSL2). A Mac mini is optional - some people
|
|
745
745
|
buy one as an always-on host, but a small VPS, home server, or Raspberry Pi-class box works too.
|
|
746
746
|
|
|
747
747
|
You only need a Mac **for macOS-only tools**. For iMessage, use [BlueBubbles](/channels/bluebubbles) (recommended) - the BlueBubbles server runs on any Mac, and the Gateway can run on Linux or elsewhere. If you want other macOS-only tools, run the Gateway on a Mac or pair a macOS node.
|
|
@@ -761,7 +761,7 @@ Common setups:
|
|
|
761
761
|
Docs: [BlueBubbles](/channels/bluebubbles), [Nodes](/nodes),
|
|
762
762
|
[Mac remote mode](/platforms/mac/remote).
|
|
763
763
|
|
|
764
|
-
### If I buy a Mac mini to run
|
|
764
|
+
### If I buy a Mac mini to run SKYKOI can I connect it to my MacBook Pro
|
|
765
765
|
|
|
766
766
|
Yes. The **Mac mini can run the Gateway**, and your MacBook Pro can connect as a
|
|
767
767
|
**node** (companion device). Nodes don't run the Gateway - they provide extra
|
|
@@ -771,7 +771,7 @@ Common pattern:
|
|
|
771
771
|
|
|
772
772
|
- Gateway on the Mac mini (always-on).
|
|
773
773
|
- MacBook Pro runs the macOS app or a node host and pairs to the Gateway.
|
|
774
|
-
- Use `
|
|
774
|
+
- Use `SKYKOI nodes status` / `SKYKOI nodes list` to see it.
|
|
775
775
|
|
|
776
776
|
Docs: [Nodes](/nodes), [Nodes CLI](/cli/nodes).
|
|
777
777
|
|
|
@@ -789,7 +789,7 @@ without WhatsApp/Telegram.
|
|
|
789
789
|
|
|
790
790
|
Safer (no third-party bot):
|
|
791
791
|
|
|
792
|
-
- DM your bot, then run `
|
|
792
|
+
- DM your bot, then run `SKYKOI logs --follow` and read `from.id`.
|
|
793
793
|
|
|
794
794
|
Official Bot API:
|
|
795
795
|
|
|
@@ -801,7 +801,7 @@ Third-party (less private):
|
|
|
801
801
|
|
|
802
802
|
See [/channels/telegram](/channels/telegram#access-control-dms--groups).
|
|
803
803
|
|
|
804
|
-
### Can multiple people use one WhatsApp number with different
|
|
804
|
+
### Can multiple people use one WhatsApp number with different SKYKOI instances
|
|
805
805
|
|
|
806
806
|
Yes, via **multi-agent routing**. Bind each sender's WhatsApp **DM** (peer `kind: "dm"`, sender E.164 like `+15551234567`) to a different `agentId`, so each person gets their own workspace and session store. Replies still come from the **same WhatsApp account**, and DM access control (`channels.whatsapp.dmPolicy` / `channels.whatsapp.allowFrom`) is global per WhatsApp account. See [Multi-Agent Routing](/concepts/multi-agent) and [WhatsApp](/channels/whatsapp).
|
|
807
807
|
|
|
@@ -820,7 +820,7 @@ eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
|
|
820
820
|
brew install <formula>
|
|
821
821
|
```
|
|
822
822
|
|
|
823
|
-
If you run
|
|
823
|
+
If you run SKYKOI via systemd, ensure the service PATH includes `/home/linuxbrew/.linuxbrew/bin` (or your brew prefix) so `brew`-installed tools resolve in non-login shells.
|
|
824
824
|
Recent builds also prepend common user bin dirs on Linux systemd services (for example `~/.local/bin`, `~/.npm-global/bin`, `~/.local/share/pnpm`, `~/.bun/bin`) and honor `PNPM_HOME`, `NPM_CONFIG_PREFIX`, `BUN_INSTALL`, `VOLTA_HOME`, `ASDF_DATA_DIR`, `NVM_DIR`, and `FNM_DIR` when set.
|
|
825
825
|
|
|
826
826
|
### What's the difference between the hackable git install and npm install
|
|
@@ -835,26 +835,26 @@ Docs: [Getting started](/start/getting-started), [Updating](/install/updating).
|
|
|
835
835
|
### Can I switch between npm and git installs later
|
|
836
836
|
|
|
837
837
|
Yes. Install the other flavor, then run Doctor so the gateway service points at the new entrypoint.
|
|
838
|
-
This **does not delete your data** - it only changes the
|
|
839
|
-
(`~/.
|
|
838
|
+
This **does not delete your data** - it only changes the SKYKOI code install. Your state
|
|
839
|
+
(`~/.SKYKOI`) and workspace (`~/.SKYKOI/workspace`) stay untouched.
|
|
840
840
|
|
|
841
841
|
From npm → git:
|
|
842
842
|
|
|
843
843
|
```bash
|
|
844
|
-
git clone https://github.com/
|
|
845
|
-
cd
|
|
844
|
+
git clone https://github.com/SKYKOI/SKYKOI.git
|
|
845
|
+
cd SKYKOI
|
|
846
846
|
pnpm install
|
|
847
847
|
pnpm build
|
|
848
|
-
|
|
849
|
-
|
|
848
|
+
SKYKOI doctor
|
|
849
|
+
SKYKOI gateway restart
|
|
850
850
|
```
|
|
851
851
|
|
|
852
852
|
From git → npm:
|
|
853
853
|
|
|
854
854
|
```bash
|
|
855
|
-
npm install -g
|
|
856
|
-
|
|
857
|
-
|
|
855
|
+
npm install -g SKYKOI@latest
|
|
856
|
+
SKYKOI doctor
|
|
857
|
+
SKYKOI gateway restart
|
|
858
858
|
```
|
|
859
859
|
|
|
860
860
|
Doctor detects a gateway service entrypoint mismatch and offers to rewrite the service config to match the current install (use `--repair` in automation).
|
|
@@ -876,11 +876,11 @@ lowest friction and you're okay with sleep/restarts, run it locally.
|
|
|
876
876
|
- **Pros:** always-on, stable network, no laptop sleep issues, easier to keep running.
|
|
877
877
|
- **Cons:** often run headless (use screenshots), remote file access only, you must SSH for updates.
|
|
878
878
|
|
|
879
|
-
**
|
|
879
|
+
**SKYKOI-specific note:** WhatsApp/Telegram/Slack/Mattermost (plugin)/Discord all work fine from a VPS. The only real trade-off is **headless browser** vs a visible window. See [Browser](/tools/browser).
|
|
880
880
|
|
|
881
881
|
**Recommended default:** VPS if you had gateway disconnects before. Local is great when you're actively using the Mac and want local file access or UI automation with a visible browser.
|
|
882
882
|
|
|
883
|
-
### How important is it to run
|
|
883
|
+
### How important is it to run SKYKOI on a dedicated machine
|
|
884
884
|
|
|
885
885
|
Not required, but **recommended for reliability and isolation**.
|
|
886
886
|
|
|
@@ -892,7 +892,7 @@ For security guidance, read [Security](/gateway/security).
|
|
|
892
892
|
|
|
893
893
|
### What are the minimum VPS requirements and recommended OS
|
|
894
894
|
|
|
895
|
-
|
|
895
|
+
SKYKOI is lightweight. For a basic Gateway + one chat channel:
|
|
896
896
|
|
|
897
897
|
- **Absolute minimum:** 1 vCPU, 1GB RAM, ~500MB disk.
|
|
898
898
|
- **Recommended:** 1-2 vCPU, 2GB RAM or more for headroom (logs, media, multiple channels). Node tools and browser automation can be resource hungry.
|
|
@@ -901,7 +901,7 @@ OS: use **Ubuntu LTS** (or any modern Debian/Ubuntu). The Linux install path is
|
|
|
901
901
|
|
|
902
902
|
Docs: [Linux](/platforms/linux), [VPS hosting](/vps).
|
|
903
903
|
|
|
904
|
-
### Can I run
|
|
904
|
+
### Can I run SKYKOI in a VM and what are the requirements
|
|
905
905
|
|
|
906
906
|
Yes. Treat a VM the same as a VPS: it needs to be always on, reachable, and have enough
|
|
907
907
|
RAM for the Gateway and any channels you enable.
|
|
@@ -916,15 +916,15 @@ If you are on Windows, **WSL2 is the easiest VM style setup** and has the best t
|
|
|
916
916
|
compatibility. See [Windows](/platforms/windows), [VPS hosting](/vps).
|
|
917
917
|
If you are running macOS in a VM, see [macOS VM](/install/macos-vm).
|
|
918
918
|
|
|
919
|
-
## What is
|
|
919
|
+
## What is SKYKOI?
|
|
920
920
|
|
|
921
|
-
### What is
|
|
921
|
+
### What is SKYKOI in one paragraph
|
|
922
922
|
|
|
923
|
-
|
|
923
|
+
SKYKOI is a personal AI assistant you run on your own devices. It replies on the messaging surfaces you already use (WhatsApp, Telegram, Slack, Mattermost (plugin), Discord, Google Chat, Signal, iMessage, WebChat) and can also do voice + a live Canvas on supported platforms. The **Gateway** is the always-on control plane; the assistant is the product.
|
|
924
924
|
|
|
925
925
|
### What's the value proposition
|
|
926
926
|
|
|
927
|
-
|
|
927
|
+
SKYKOI is not "just a Claude wrapper." It's a **local-first control plane** that lets you run a
|
|
928
928
|
capable assistant on **your own hardware**, reachable from the chat apps you already use, with
|
|
929
929
|
stateful sessions, memory, and tools - without handing control of your workflows to a hosted
|
|
930
930
|
SaaS.
|
|
@@ -957,7 +957,7 @@ Good first projects:
|
|
|
957
957
|
It can handle large tasks, but it works best when you split them into phases and
|
|
958
958
|
use sub agents for parallel work.
|
|
959
959
|
|
|
960
|
-
### What are the top five everyday use cases for
|
|
960
|
+
### What are the top five everyday use cases for SKYKOI
|
|
961
961
|
|
|
962
962
|
Everyday wins usually look like:
|
|
963
963
|
|
|
@@ -967,21 +967,21 @@ Everyday wins usually look like:
|
|
|
967
967
|
- **Browser automation:** filling forms, collecting data, and repeating web tasks.
|
|
968
968
|
- **Cross device coordination:** send a task from your phone, let the Gateway run it on a server, and get the result back in chat.
|
|
969
969
|
|
|
970
|
-
### Can
|
|
970
|
+
### Can SKYKOI help with lead gen outreach ads and blogs for a SaaS
|
|
971
971
|
|
|
972
972
|
Yes for **research, qualification, and drafting**. It can scan sites, build shortlists,
|
|
973
973
|
summarize prospects, and write outreach or ad copy drafts.
|
|
974
974
|
|
|
975
975
|
For **outreach or ad runs**, keep a human in the loop. Avoid spam, follow local laws and
|
|
976
976
|
platform policies, and review anything before it is sent. The safest pattern is to let
|
|
977
|
-
|
|
977
|
+
SKYKOI draft and you approve.
|
|
978
978
|
|
|
979
979
|
Docs: [Security](/gateway/security).
|
|
980
980
|
|
|
981
981
|
### What are the advantages vs Claude Code for web development
|
|
982
982
|
|
|
983
|
-
|
|
984
|
-
Claude Code or Codex for the fastest direct coding loop inside a repo. Use
|
|
983
|
+
SKYKOI is a **personal assistant** and coordination layer, not an IDE replacement. Use
|
|
984
|
+
Claude Code or Codex for the fastest direct coding loop inside a repo. Use SKYKOI when you
|
|
985
985
|
want durable memory, cross-device access, and tool orchestration.
|
|
986
986
|
|
|
987
987
|
Advantages:
|
|
@@ -992,17 +992,17 @@ Advantages:
|
|
|
992
992
|
- **Always-on Gateway** (run on a VPS, interact from anywhere)
|
|
993
993
|
- **Nodes** for local browser/screen/camera/exec
|
|
994
994
|
|
|
995
|
-
Showcase: [https://
|
|
995
|
+
Showcase: [https://SKYKOI.com/showcase](https://SKYKOI.com/showcase)
|
|
996
996
|
|
|
997
997
|
## Skills and automation
|
|
998
998
|
|
|
999
999
|
### How do I customize skills without keeping the repo dirty
|
|
1000
1000
|
|
|
1001
|
-
Use managed overrides instead of editing the repo copy. Put your changes in `~/.
|
|
1001
|
+
Use managed overrides instead of editing the repo copy. Put your changes in `~/.SKYKOI/skills/<name>/SKILL.md` (or add a folder via `skills.load.extraDirs` in `~/.SKYKOI/SKYKOI.json`). Precedence is `<workspace>/skills` > `~/.SKYKOI/skills` > bundled, so managed overrides win without touching git. Only upstream-worthy edits should live in the repo and go out as PRs.
|
|
1002
1002
|
|
|
1003
1003
|
### Can I load skills from a custom folder
|
|
1004
1004
|
|
|
1005
|
-
Yes. Add extra directories via `skills.load.extraDirs` in `~/.
|
|
1005
|
+
Yes. Add extra directories via `skills.load.extraDirs` in `~/.SKYKOI/SKYKOI.json` (lowest precedence). Default precedence remains: `<workspace>/skills` → `~/.SKYKOI/skills` → bundled → `skills.load.extraDirs`. `SKYKOI Skills` installs into `./skills` by default, which SKYKOI treats as `<workspace>/skills`.
|
|
1006
1006
|
|
|
1007
1007
|
### How can I use different models for different tasks
|
|
1008
1008
|
|
|
@@ -1034,35 +1034,35 @@ scheduled jobs will not run.
|
|
|
1034
1034
|
|
|
1035
1035
|
Checklist:
|
|
1036
1036
|
|
|
1037
|
-
- Confirm cron is enabled (`cron.enabled`) and `
|
|
1037
|
+
- Confirm cron is enabled (`cron.enabled`) and `SKYKOI_SKIP_CRON` is not set.
|
|
1038
1038
|
- Check the Gateway is running 24/7 (no sleep/restarts).
|
|
1039
1039
|
- Verify timezone settings for the job (`--tz` vs host timezone).
|
|
1040
1040
|
|
|
1041
1041
|
Debug:
|
|
1042
1042
|
|
|
1043
1043
|
```bash
|
|
1044
|
-
|
|
1045
|
-
|
|
1044
|
+
SKYKOI cron run <jobId> --force
|
|
1045
|
+
SKYKOI cron runs --id <jobId> --limit 50
|
|
1046
1046
|
```
|
|
1047
1047
|
|
|
1048
1048
|
Docs: [Cron jobs](/automation/cron-jobs), [Cron vs Heartbeat](/automation/cron-vs-heartbeat).
|
|
1049
1049
|
|
|
1050
1050
|
### How do I install skills on Linux
|
|
1051
1051
|
|
|
1052
|
-
Use **
|
|
1053
|
-
Browse skills at [https://
|
|
1052
|
+
Use **SKYKOI Skills** (CLI) or drop skills into your workspace. The macOS Skills UI isn't available on Linux.
|
|
1053
|
+
Browse skills at [https://SKYKOI.com/skills](https://SKYKOI.com/skills).
|
|
1054
1054
|
|
|
1055
|
-
Install the
|
|
1055
|
+
Install the SKYKOI Skills CLI (pick one package manager):
|
|
1056
1056
|
|
|
1057
1057
|
```bash
|
|
1058
|
-
npm i -g
|
|
1058
|
+
npm i -g SKYKOI Skills
|
|
1059
1059
|
```
|
|
1060
1060
|
|
|
1061
1061
|
```bash
|
|
1062
|
-
pnpm add -g
|
|
1062
|
+
pnpm add -g SKYKOI Skills
|
|
1063
1063
|
```
|
|
1064
1064
|
|
|
1065
|
-
### Can
|
|
1065
|
+
### Can SKYKOI run tasks on a schedule or continuously in the background
|
|
1066
1066
|
|
|
1067
1067
|
Yes. Use the Gateway scheduler:
|
|
1068
1068
|
|
|
@@ -1075,15 +1075,15 @@ Docs: [Cron jobs](/automation/cron-jobs), [Cron vs Heartbeat](/automation/cron-v
|
|
|
1075
1075
|
|
|
1076
1076
|
### Can I run Apple macOS-only skills from Linux?
|
|
1077
1077
|
|
|
1078
|
-
Not directly. macOS skills are gated by `metadata.
|
|
1078
|
+
Not directly. macOS skills are gated by `metadata.SKYKOI.os` plus required binaries, and skills only appear in the system prompt when they are eligible on the **Gateway host**. On Linux, `darwin`-only skills (like `apple-notes`, `apple-reminders`, `things-mac`) will not load unless you override the gating.
|
|
1079
1079
|
|
|
1080
1080
|
You have three supported patterns:
|
|
1081
1081
|
|
|
1082
1082
|
**Option A - run the Gateway on a Mac (simplest).**
|
|
1083
|
-
Run the Gateway where the macOS binaries exist, then connect from Linux in [remote mode](#how-do-i-run-
|
|
1083
|
+
Run the Gateway where the macOS binaries exist, then connect from Linux in [remote mode](#how-do-i-run-SKYKOI-in-remote-mode-client-connects-to-a-gateway-elsewhere) or over Tailscale. The skills load normally because the Gateway host is macOS.
|
|
1084
1084
|
|
|
1085
1085
|
**Option B - use a macOS node (no SSH).**
|
|
1086
|
-
Run the Gateway on Linux, pair a macOS node (menubar app), and set **Node Run Commands** to "Always Ask" or "Always Allow" on the Mac.
|
|
1086
|
+
Run the Gateway on Linux, pair a macOS node (menubar app), and set **Node Run Commands** to "Always Ask" or "Always Allow" on the Mac. SKYKOI can treat macOS-only skills as eligible when the required binaries exist on the node. The agent runs those skills via the `nodes` tool. If you choose "Always Ask", approving "Always Allow" in the prompt adds that command to the allowlist.
|
|
1087
1087
|
|
|
1088
1088
|
**Option C - proxy macOS binaries over SSH (advanced).**
|
|
1089
1089
|
Keep the Gateway on Linux, but make the required CLI binaries resolve to SSH wrappers that run on a Mac. Then override the skill to allow Linux so it stays eligible.
|
|
@@ -1097,13 +1097,13 @@ Keep the Gateway on Linux, but make the required CLI binaries resolve to SSH wra
|
|
|
1097
1097
|
```
|
|
1098
1098
|
|
|
1099
1099
|
2. Put the wrapper on `PATH` on the Linux host (for example `~/bin/memo`).
|
|
1100
|
-
3. Override the skill metadata (workspace or `~/.
|
|
1100
|
+
3. Override the skill metadata (workspace or `~/.SKYKOI/skills`) to allow Linux:
|
|
1101
1101
|
|
|
1102
1102
|
```markdown
|
|
1103
1103
|
---
|
|
1104
1104
|
name: apple-notes
|
|
1105
1105
|
description: Manage Apple Notes via the memo CLI on macOS.
|
|
1106
|
-
metadata: { "
|
|
1106
|
+
metadata: { "SKYKOI": { "os": ["darwin", "linux"], "requires": { "bins": ["memo"] } } }
|
|
1107
1107
|
---
|
|
1108
1108
|
```
|
|
1109
1109
|
|
|
@@ -1129,19 +1129,19 @@ targeting those APIs.
|
|
|
1129
1129
|
Install skills:
|
|
1130
1130
|
|
|
1131
1131
|
```bash
|
|
1132
|
-
|
|
1133
|
-
|
|
1132
|
+
SKYKOI Skills install <skill-slug>
|
|
1133
|
+
SKYKOI Skills update --all
|
|
1134
1134
|
```
|
|
1135
1135
|
|
|
1136
|
-
|
|
1136
|
+
SKYKOI Skills installs into `./skills` under your current directory (or falls back to your configured SKYKOI workspace); SKYKOI treats that as `<workspace>/skills` on the next session. For shared skills across agents, place them in `~/.SKYKOI/skills/<name>/SKILL.md`. Some skills expect binaries installed via Homebrew; on Linux that means Linuxbrew (see the Homebrew Linux FAQ entry above). See [Skills](/tools/skills) and [SKYKOI Skills](/tools/SKYKOI Skills).
|
|
1137
1137
|
|
|
1138
1138
|
### How do I install the Chrome extension for browser takeover
|
|
1139
1139
|
|
|
1140
1140
|
Use the built-in installer, then load the unpacked extension in Chrome:
|
|
1141
1141
|
|
|
1142
1142
|
```bash
|
|
1143
|
-
|
|
1144
|
-
|
|
1143
|
+
SKYKOI browser extension install
|
|
1144
|
+
SKYKOI browser extension path
|
|
1145
1145
|
```
|
|
1146
1146
|
|
|
1147
1147
|
Then Chrome → `chrome://extensions` → enable "Developer mode" → "Load unpacked" → pick that folder.
|
|
@@ -1163,8 +1163,8 @@ Yes. See [Sandboxing](/gateway/sandboxing). For Docker-specific setup (full gate
|
|
|
1163
1163
|
The default image is security-first and runs as the `node` user, so it does not
|
|
1164
1164
|
include system packages, Homebrew, or bundled browsers. For a fuller setup:
|
|
1165
1165
|
|
|
1166
|
-
- Persist `/home/node` with `
|
|
1167
|
-
- Bake system deps into the image with `
|
|
1166
|
+
- Persist `/home/node` with `SKYKOI_HOME_VOLUME` so caches survive.
|
|
1167
|
+
- Bake system deps into the image with `SKYKOI_DOCKER_APT_PACKAGES`.
|
|
1168
1168
|
- Install Playwright browsers via the bundled CLI:
|
|
1169
1169
|
`node /app/node_modules/playwright-core/cli.js install chromium`
|
|
1170
1170
|
- Set `PLAYWRIGHT_BROWSERS_PATH` and ensure the path is persisted.
|
|
@@ -1187,12 +1187,12 @@ Set `agents.defaults.sandbox.docker.binds` to `["host:path:mode"]` (e.g., `"/hom
|
|
|
1187
1187
|
|
|
1188
1188
|
### How does memory work
|
|
1189
1189
|
|
|
1190
|
-
|
|
1190
|
+
SKYKOI memory is just Markdown files in the agent workspace:
|
|
1191
1191
|
|
|
1192
1192
|
- Daily notes in `memory/YYYY-MM-DD.md`
|
|
1193
1193
|
- Curated long-term notes in `MEMORY.md` (main/private sessions only)
|
|
1194
1194
|
|
|
1195
|
-
|
|
1195
|
+
SKYKOI also runs a **silent pre-compaction memory flush** to remind the model
|
|
1196
1196
|
to write durable notes before auto-compaction. This only runs when the workspace
|
|
1197
1197
|
is writable (read-only sandboxes skip it). See [Memory](/concepts/memory).
|
|
1198
1198
|
|
|
@@ -1214,11 +1214,11 @@ does **not** grant embeddings access, so **signing in with Codex (OAuth or the
|
|
|
1214
1214
|
Codex CLI login)** does not help for semantic memory search. OpenAI embeddings
|
|
1215
1215
|
still need a real API key (`OPENAI_API_KEY` or `models.providers.openai.apiKey`).
|
|
1216
1216
|
|
|
1217
|
-
If you don't set a provider explicitly,
|
|
1217
|
+
If you don't set a provider explicitly, SKYKOI auto-selects a provider when it
|
|
1218
1218
|
can resolve an API key (auth profiles, `models.providers.*.apiKey`, or env vars).
|
|
1219
1219
|
It prefers OpenAI if an OpenAI key resolves, otherwise Gemini if a Gemini key
|
|
1220
1220
|
resolves. If neither key is available, memory search stays disabled until you
|
|
1221
|
-
configure it. If you have a local model path configured and present,
|
|
1221
|
+
configure it. If you have a local model path configured and present, SKYKOI
|
|
1222
1222
|
prefers `local`.
|
|
1223
1223
|
|
|
1224
1224
|
If you'd rather stay local, set `memorySearch.provider = "local"` (and optionally
|
|
@@ -1238,12 +1238,12 @@ Docs: [Memory](/concepts/memory), [Context](/concepts/context).
|
|
|
1238
1238
|
|
|
1239
1239
|
## Where things live on disk
|
|
1240
1240
|
|
|
1241
|
-
### Is all data used with
|
|
1241
|
+
### Is all data used with SKYKOI saved locally
|
|
1242
1242
|
|
|
1243
|
-
No - **
|
|
1243
|
+
No - **SKYKOI's state is local**, but **external services still see what you send them**.
|
|
1244
1244
|
|
|
1245
1245
|
- **Local by default:** sessions, memory files, config, and workspace live on the Gateway host
|
|
1246
|
-
(`~/.
|
|
1246
|
+
(`~/.SKYKOI` + your workspace directory).
|
|
1247
1247
|
- **Remote by necessity:** messages you send to model providers (Anthropic/OpenAI/etc.) go to
|
|
1248
1248
|
their APIs, and chat platforms (WhatsApp/Telegram/Slack/etc.) store message data on their
|
|
1249
1249
|
servers.
|
|
@@ -1252,39 +1252,39 @@ No - **SkyKoi's state is local**, but **external services still see what you sen
|
|
|
1252
1252
|
|
|
1253
1253
|
Related: [Agent workspace](/concepts/agent-workspace), [Memory](/concepts/memory).
|
|
1254
1254
|
|
|
1255
|
-
### Where does
|
|
1255
|
+
### Where does SKYKOI store its data
|
|
1256
1256
|
|
|
1257
|
-
Everything lives under `$
|
|
1257
|
+
Everything lives under `$SKYKOI_STATE_DIR` (default: `~/.SKYKOI`):
|
|
1258
1258
|
|
|
1259
1259
|
| Path | Purpose |
|
|
1260
1260
|
| --------------------------------------------------------------- | ------------------------------------------------------------ |
|
|
1261
|
-
| `$
|
|
1262
|
-
| `$
|
|
1263
|
-
| `$
|
|
1264
|
-
| `$
|
|
1265
|
-
| `$
|
|
1266
|
-
| `$
|
|
1267
|
-
| `$
|
|
1268
|
-
| `$
|
|
1261
|
+
| `$SKYKOI_STATE_DIR/SKYKOI.json` | Main config (JSON5) |
|
|
1262
|
+
| `$SKYKOI_STATE_DIR/credentials/oauth.json` | Legacy OAuth import (copied into auth profiles on first use) |
|
|
1263
|
+
| `$SKYKOI_STATE_DIR/agents/<agentId>/agent/auth-profiles.json` | Auth profiles (OAuth + API keys) |
|
|
1264
|
+
| `$SKYKOI_STATE_DIR/agents/<agentId>/agent/auth.json` | Runtime auth cache (managed automatically) |
|
|
1265
|
+
| `$SKYKOI_STATE_DIR/credentials/` | Provider state (e.g. `whatsapp/<accountId>/creds.json`) |
|
|
1266
|
+
| `$SKYKOI_STATE_DIR/agents/` | Per-agent state (agentDir + sessions) |
|
|
1267
|
+
| `$SKYKOI_STATE_DIR/agents/<agentId>/sessions/` | Conversation history & state (per agent) |
|
|
1268
|
+
| `$SKYKOI_STATE_DIR/agents/<agentId>/sessions/sessions.json` | Session metadata (per agent) |
|
|
1269
1269
|
|
|
1270
|
-
Legacy single-agent path: `~/.
|
|
1270
|
+
Legacy single-agent path: `~/.SKYKOI/agent/*` (migrated by `SKYKOI doctor`).
|
|
1271
1271
|
|
|
1272
|
-
Your **workspace** (AGENTS.md, memory files, skills, etc.) is separate and configured via `agents.defaults.workspace` (default: `~/.
|
|
1272
|
+
Your **workspace** (AGENTS.md, memory files, skills, etc.) is separate and configured via `agents.defaults.workspace` (default: `~/.SKYKOI/workspace`).
|
|
1273
1273
|
|
|
1274
1274
|
### Where should AGENTSmd SOULmd USERmd MEMORYmd live
|
|
1275
1275
|
|
|
1276
|
-
These files live in the **agent workspace**, not `~/.
|
|
1276
|
+
These files live in the **agent workspace**, not `~/.SKYKOI`.
|
|
1277
1277
|
|
|
1278
1278
|
- **Workspace (per agent)**: `AGENTS.md`, `SOUL.md`, `IDENTITY.md`, `USER.md`,
|
|
1279
1279
|
`MEMORY.md` (or `memory.md`), `memory/YYYY-MM-DD.md`, optional `HEARTBEAT.md`.
|
|
1280
|
-
- **State dir (`~/.
|
|
1281
|
-
and shared skills (`~/.
|
|
1280
|
+
- **State dir (`~/.SKYKOI`)**: config, credentials, auth profiles, sessions, logs,
|
|
1281
|
+
and shared skills (`~/.SKYKOI/skills`).
|
|
1282
1282
|
|
|
1283
|
-
Default workspace is `~/.
|
|
1283
|
+
Default workspace is `~/.SKYKOI/workspace`, configurable via:
|
|
1284
1284
|
|
|
1285
1285
|
```json5
|
|
1286
1286
|
{
|
|
1287
|
-
agents: { defaults: { workspace: "~/.
|
|
1287
|
+
agents: { defaults: { workspace: "~/.SKYKOI/workspace" } },
|
|
1288
1288
|
}
|
|
1289
1289
|
```
|
|
1290
1290
|
|
|
@@ -1303,13 +1303,13 @@ Put your **agent workspace** in a **private** git repo and back it up somewhere
|
|
|
1303
1303
|
private (for example GitHub private). This captures memory + AGENTS/SOUL/USER
|
|
1304
1304
|
files, and lets you restore the assistant's "mind" later.
|
|
1305
1305
|
|
|
1306
|
-
Do **not** commit anything under `~/.
|
|
1306
|
+
Do **not** commit anything under `~/.SKYKOI` (credentials, sessions, tokens).
|
|
1307
1307
|
If you need a full restore, back up both the workspace and the state directory
|
|
1308
1308
|
separately (see the migration question above).
|
|
1309
1309
|
|
|
1310
1310
|
Docs: [Agent workspace](/concepts/agent-workspace).
|
|
1311
1311
|
|
|
1312
|
-
### How do I completely uninstall
|
|
1312
|
+
### How do I completely uninstall SKYKOI
|
|
1313
1313
|
|
|
1314
1314
|
See the dedicated guide: [Uninstall](/install/uninstall).
|
|
1315
1315
|
|
|
@@ -1320,7 +1320,7 @@ Relative paths resolve inside the workspace, but absolute paths can access other
|
|
|
1320
1320
|
host locations unless sandboxing is enabled. If you need isolation, use
|
|
1321
1321
|
[`agents.defaults.sandbox`](/gateway/sandboxing) or per-agent sandbox settings. If you
|
|
1322
1322
|
want a repo to be the default working directory, point that agent's
|
|
1323
|
-
`workspace` to the repo root. The
|
|
1323
|
+
`workspace` to the repo root. The SKYKOI repo is just source code; keep the
|
|
1324
1324
|
workspace separate unless you intentionally want the agent to work inside it.
|
|
1325
1325
|
|
|
1326
1326
|
Example (repo as default cwd):
|
|
@@ -1343,17 +1343,17 @@ Session state is owned by the **gateway host**. If you're in remote mode, the se
|
|
|
1343
1343
|
|
|
1344
1344
|
### What format is the config Where is it
|
|
1345
1345
|
|
|
1346
|
-
|
|
1346
|
+
SKYKOI reads an optional **JSON5** config from `$SKYKOI_CONFIG_PATH` (default: `~/.SKYKOI/SKYKOI.json`):
|
|
1347
1347
|
|
|
1348
1348
|
```
|
|
1349
|
-
$
|
|
1349
|
+
$SKYKOI_CONFIG_PATH
|
|
1350
1350
|
```
|
|
1351
1351
|
|
|
1352
|
-
If the file is missing, it uses safe-ish defaults (including a default workspace of `~/.
|
|
1352
|
+
If the file is missing, it uses safe-ish defaults (including a default workspace of `~/.SKYKOI/workspace`).
|
|
1353
1353
|
|
|
1354
1354
|
### I set gatewaybind lan or tailnet and now nothing listens the UI says unauthorized
|
|
1355
1355
|
|
|
1356
|
-
Non-loopback binds **require auth**. Configure `gateway.auth.mode` + `gateway.auth.token` (or use `
|
|
1356
|
+
Non-loopback binds **require auth**. Configure `gateway.auth.mode` + `gateway.auth.token` (or use `SKYKOI_GATEWAY_TOKEN`).
|
|
1357
1357
|
|
|
1358
1358
|
```json5
|
|
1359
1359
|
{
|
|
@@ -1376,7 +1376,7 @@ Notes:
|
|
|
1376
1376
|
|
|
1377
1377
|
The wizard generates a gateway token by default (even on loopback) so **local WS clients must authenticate**. This blocks other local processes from calling the Gateway. Paste the token into the Control UI settings (or your client config) to connect.
|
|
1378
1378
|
|
|
1379
|
-
If you **really** want open loopback, remove `gateway.auth` from your config. Doctor can generate a token for you any time: `
|
|
1379
|
+
If you **really** want open loopback, remove `gateway.auth` from your config. Doctor can generate a token for you any time: `SKYKOI doctor --generate-gateway-token`.
|
|
1380
1380
|
|
|
1381
1381
|
### Do I have to restart after changing config
|
|
1382
1382
|
|
|
@@ -1388,7 +1388,7 @@ The Gateway watches the config and supports hot-reload:
|
|
|
1388
1388
|
### How do I enable web search and web fetch
|
|
1389
1389
|
|
|
1390
1390
|
`web_fetch` works without an API key. `web_search` requires a Brave Search API
|
|
1391
|
-
key. **Recommended:** run `
|
|
1391
|
+
key. **Recommended:** run `SKYKOI configure --section web` to store it in
|
|
1392
1392
|
`tools.web.search.apiKey`. Environment alternative: set `BRAVE_API_KEY` for the
|
|
1393
1393
|
Gateway process.
|
|
1394
1394
|
|
|
@@ -1413,7 +1413,7 @@ Notes:
|
|
|
1413
1413
|
|
|
1414
1414
|
- If you use allowlists, add `web_search`/`web_fetch` or `group:web`.
|
|
1415
1415
|
- `web_fetch` is enabled by default (unless explicitly disabled).
|
|
1416
|
-
- Daemons read env vars from `~/.
|
|
1416
|
+
- Daemons read env vars from `~/.SKYKOI/.env` (or the service environment).
|
|
1417
1417
|
|
|
1418
1418
|
Docs: [Web tools](/tools/web).
|
|
1419
1419
|
|
|
@@ -1429,7 +1429,7 @@ The common pattern is **one Gateway** (e.g. Raspberry Pi) plus **nodes** and **a
|
|
|
1429
1429
|
|
|
1430
1430
|
Docs: [Nodes](/nodes), [Remote access](/gateway/remote), [Multi-Agent Routing](/concepts/multi-agent), [Sub-agents](/tools/subagents), [TUI](/web/tui).
|
|
1431
1431
|
|
|
1432
|
-
### Can the
|
|
1432
|
+
### Can the SKYKOI browser run headless
|
|
1433
1433
|
|
|
1434
1434
|
Yes. It's a config option:
|
|
1435
1435
|
|
|
@@ -1483,8 +1483,8 @@ Typical setup:
|
|
|
1483
1483
|
5. Approve the node on the Gateway:
|
|
1484
1484
|
|
|
1485
1485
|
```bash
|
|
1486
|
-
|
|
1487
|
-
|
|
1486
|
+
SKYKOI nodes pending
|
|
1487
|
+
SKYKOI nodes approve <requestId>
|
|
1488
1488
|
```
|
|
1489
1489
|
|
|
1490
1490
|
No separate TCP bridge is required; nodes connect over the Gateway WebSocket.
|
|
@@ -1498,9 +1498,9 @@ Docs: [Nodes](/nodes), [Gateway protocol](/gateway/protocol), [macOS remote mode
|
|
|
1498
1498
|
|
|
1499
1499
|
Check the basics:
|
|
1500
1500
|
|
|
1501
|
-
- Gateway is running: `
|
|
1502
|
-
- Gateway health: `
|
|
1503
|
-
- Channel health: `
|
|
1501
|
+
- Gateway is running: `SKYKOI gateway status`
|
|
1502
|
+
- Gateway health: `SKYKOI status`
|
|
1503
|
+
- Channel health: `SKYKOI channels status`
|
|
1504
1504
|
|
|
1505
1505
|
Then verify auth and routing:
|
|
1506
1506
|
|
|
@@ -1510,7 +1510,7 @@ Then verify auth and routing:
|
|
|
1510
1510
|
|
|
1511
1511
|
Docs: [Tailscale](/gateway/tailscale), [Remote access](/gateway/remote), [Channels](/channels).
|
|
1512
1512
|
|
|
1513
|
-
### Can two
|
|
1513
|
+
### Can two SKYKOI instances talk to each other local VPS
|
|
1514
1514
|
|
|
1515
1515
|
Yes. There is no built-in "bot-to-bot" bridge, but you can wire it up in a few
|
|
1516
1516
|
reliable ways:
|
|
@@ -1519,14 +1519,14 @@ reliable ways:
|
|
|
1519
1519
|
Have Bot A send a message to Bot B, then let Bot B reply as usual.
|
|
1520
1520
|
|
|
1521
1521
|
**CLI bridge (generic):** run a script that calls the other Gateway with
|
|
1522
|
-
`
|
|
1522
|
+
`SKYKOI agent --message ... --deliver`, targeting a chat where the other bot
|
|
1523
1523
|
listens. If one bot is on a remote VPS, point your CLI at that remote Gateway
|
|
1524
1524
|
via SSH/Tailscale (see [Remote access](/gateway/remote)).
|
|
1525
1525
|
|
|
1526
1526
|
Example pattern (run from a machine that can reach the target Gateway):
|
|
1527
1527
|
|
|
1528
1528
|
```bash
|
|
1529
|
-
|
|
1529
|
+
SKYKOI agent --message "Hello from local bot" --deliver --channel telegram --reply-to <chat-id>
|
|
1530
1530
|
```
|
|
1531
1531
|
|
|
1532
1532
|
Tip: add a guardrail so the two bots do not loop endlessly (mention-only, channel
|
|
@@ -1591,15 +1591,15 @@ else is removed.
|
|
|
1591
1591
|
|
|
1592
1592
|
Recover:
|
|
1593
1593
|
|
|
1594
|
-
- Restore from backup (git or a copied `~/.
|
|
1595
|
-
- If you have no backup, re-run `
|
|
1594
|
+
- Restore from backup (git or a copied `~/.SKYKOI/SKYKOI.json`).
|
|
1595
|
+
- If you have no backup, re-run `SKYKOI doctor` and reconfigure channels/models.
|
|
1596
1596
|
- If this was unexpected, file a bug and include your last known config or any backup.
|
|
1597
1597
|
- A local coding agent can often reconstruct a working config from logs or history.
|
|
1598
1598
|
|
|
1599
1599
|
Avoid it:
|
|
1600
1600
|
|
|
1601
|
-
- Use `
|
|
1602
|
-
- Use `
|
|
1601
|
+
- Use `SKYKOI config set` for small changes.
|
|
1602
|
+
- Use `SKYKOI configure` for interactive edits.
|
|
1603
1603
|
|
|
1604
1604
|
Docs: [Config](/cli/config), [Configure](/cli/configure), [Doctor](/gateway/doctor).
|
|
1605
1605
|
|
|
@@ -1607,7 +1607,7 @@ Docs: [Config](/cli/config), [Configure](/cli/configure), [Doctor](/gateway/doct
|
|
|
1607
1607
|
|
|
1608
1608
|
```json5
|
|
1609
1609
|
{
|
|
1610
|
-
agents: { defaults: { workspace: "~/.
|
|
1610
|
+
agents: { defaults: { workspace: "~/.SKYKOI/workspace" } },
|
|
1611
1611
|
channels: { whatsapp: { allowFrom: ["+15555550123"] } },
|
|
1612
1612
|
}
|
|
1613
1613
|
```
|
|
@@ -1636,7 +1636,7 @@ Minimal steps:
|
|
|
1636
1636
|
If you want the Control UI without SSH, use Tailscale Serve on the VPS:
|
|
1637
1637
|
|
|
1638
1638
|
```bash
|
|
1639
|
-
|
|
1639
|
+
SKYKOI gateway --tailscale serve
|
|
1640
1640
|
```
|
|
1641
1641
|
|
|
1642
1642
|
This keeps the gateway bound to loopback and exposes HTTPS via Tailscale. See [Tailscale](/gateway/tailscale).
|
|
@@ -1653,20 +1653,20 @@ Recommended setup:
|
|
|
1653
1653
|
3. **Approve the node** on the gateway:
|
|
1654
1654
|
|
|
1655
1655
|
```bash
|
|
1656
|
-
|
|
1657
|
-
|
|
1656
|
+
SKYKOI nodes pending
|
|
1657
|
+
SKYKOI nodes approve <requestId>
|
|
1658
1658
|
```
|
|
1659
1659
|
|
|
1660
1660
|
Docs: [Gateway protocol](/gateway/protocol), [Discovery](/gateway/discovery), [macOS remote mode](/platforms/mac/remote).
|
|
1661
1661
|
|
|
1662
1662
|
## Env vars and .env loading
|
|
1663
1663
|
|
|
1664
|
-
### How does
|
|
1664
|
+
### How does SKYKOI load environment variables
|
|
1665
1665
|
|
|
1666
|
-
|
|
1666
|
+
SKYKOI reads env vars from the parent process (shell, launchd/systemd, CI, etc.) and additionally loads:
|
|
1667
1667
|
|
|
1668
1668
|
- `.env` from the current working directory
|
|
1669
|
-
- a global fallback `.env` from `~/.
|
|
1669
|
+
- a global fallback `.env` from `~/.SKYKOI/.env` (aka `$SKYKOI_STATE_DIR/.env`)
|
|
1670
1670
|
|
|
1671
1671
|
Neither `.env` file overrides existing env vars.
|
|
1672
1672
|
|
|
@@ -1687,7 +1687,7 @@ See [/environment](/help/environment) for full precedence and sources.
|
|
|
1687
1687
|
|
|
1688
1688
|
Two common fixes:
|
|
1689
1689
|
|
|
1690
|
-
1. Put the missing keys in `~/.
|
|
1690
|
+
1. Put the missing keys in `~/.SKYKOI/.env` so they're picked up even when the service doesn't inherit your shell env.
|
|
1691
1691
|
2. Enable shell import (opt-in convenience):
|
|
1692
1692
|
|
|
1693
1693
|
```json5
|
|
@@ -1702,18 +1702,18 @@ Two common fixes:
|
|
|
1702
1702
|
```
|
|
1703
1703
|
|
|
1704
1704
|
This runs your login shell and imports only missing expected keys (never overrides). Env var equivalents:
|
|
1705
|
-
`
|
|
1705
|
+
`SKYKOI_LOAD_SHELL_ENV=1`, `SKYKOI_SHELL_ENV_TIMEOUT_MS=15000`.
|
|
1706
1706
|
|
|
1707
1707
|
### I set COPILOTGITHUBTOKEN but models status shows Shell env off Why
|
|
1708
1708
|
|
|
1709
|
-
`
|
|
1710
|
-
does **not** mean your env vars are missing - it just means
|
|
1709
|
+
`SKYKOI models status` reports whether **shell env import** is enabled. "Shell env: off"
|
|
1710
|
+
does **not** mean your env vars are missing - it just means SKYKOI won't load
|
|
1711
1711
|
your login shell automatically.
|
|
1712
1712
|
|
|
1713
1713
|
If the Gateway runs as a service (launchd/systemd), it won't inherit your shell
|
|
1714
1714
|
environment. Fix by doing one of these:
|
|
1715
1715
|
|
|
1716
|
-
1. Put the token in `~/.
|
|
1716
|
+
1. Put the token in `~/.SKYKOI/.env`:
|
|
1717
1717
|
|
|
1718
1718
|
```
|
|
1719
1719
|
COPILOT_GITHUB_TOKEN=...
|
|
@@ -1725,7 +1725,7 @@ environment. Fix by doing one of these:
|
|
|
1725
1725
|
Then restart the gateway and recheck:
|
|
1726
1726
|
|
|
1727
1727
|
```bash
|
|
1728
|
-
|
|
1728
|
+
SKYKOI models status
|
|
1729
1729
|
```
|
|
1730
1730
|
|
|
1731
1731
|
Copilot tokens are read from `COPILOT_GITHUB_TOKEN` (also `GH_TOKEN` / `GITHUB_TOKEN`).
|
|
@@ -1751,7 +1751,7 @@ transcripts - it just starts a new session.
|
|
|
1751
1751
|
}
|
|
1752
1752
|
```
|
|
1753
1753
|
|
|
1754
|
-
### Is there a way to make a team of
|
|
1754
|
+
### Is there a way to make a team of SKYKOI instances one CEO and many agents
|
|
1755
1755
|
|
|
1756
1756
|
Yes, via **multi-agent routing** and **sub-agents**. You can create one coordinator
|
|
1757
1757
|
agent and several worker agents with their own workspaces and models.
|
|
@@ -1776,31 +1776,31 @@ What helps:
|
|
|
1776
1776
|
- Use sub-agents for long or parallel work so the main chat stays smaller.
|
|
1777
1777
|
- Pick a model with a larger context window if this happens often.
|
|
1778
1778
|
|
|
1779
|
-
### How do I completely reset
|
|
1779
|
+
### How do I completely reset SKYKOI but keep it installed
|
|
1780
1780
|
|
|
1781
1781
|
Use the reset command:
|
|
1782
1782
|
|
|
1783
1783
|
```bash
|
|
1784
|
-
|
|
1784
|
+
SKYKOI reset
|
|
1785
1785
|
```
|
|
1786
1786
|
|
|
1787
1787
|
Non-interactive full reset:
|
|
1788
1788
|
|
|
1789
1789
|
```bash
|
|
1790
|
-
|
|
1790
|
+
SKYKOI reset --scope full --yes --non-interactive
|
|
1791
1791
|
```
|
|
1792
1792
|
|
|
1793
1793
|
Then re-run onboarding:
|
|
1794
1794
|
|
|
1795
1795
|
```bash
|
|
1796
|
-
|
|
1796
|
+
SKYKOI onboard --install-daemon
|
|
1797
1797
|
```
|
|
1798
1798
|
|
|
1799
1799
|
Notes:
|
|
1800
1800
|
|
|
1801
1801
|
- The onboarding wizard also offers **Reset** if it sees an existing config. See [Wizard](/start/wizard).
|
|
1802
|
-
- If you used profiles (`--profile` / `
|
|
1803
|
-
- Dev reset: `
|
|
1802
|
+
- If you used profiles (`--profile` / `SKYKOI_PROFILE`), reset each state dir (defaults are `~/.SKYKOI-<profile>`).
|
|
1803
|
+
- Dev reset: `SKYKOI gateway --dev --reset` (dev-only; wipes dev config + credentials + sessions + workspace).
|
|
1804
1804
|
|
|
1805
1805
|
### Im getting context too large errors how do I reset or compact
|
|
1806
1806
|
|
|
@@ -1853,14 +1853,14 @@ Heartbeats run every **30m** by default. Tune or disable them:
|
|
|
1853
1853
|
```
|
|
1854
1854
|
|
|
1855
1855
|
If `HEARTBEAT.md` exists but is effectively empty (only blank lines and markdown
|
|
1856
|
-
headers like `# Heading`),
|
|
1856
|
+
headers like `# Heading`), SKYKOI skips the heartbeat run to save API calls.
|
|
1857
1857
|
If the file is missing, the heartbeat still runs and the model decides what to do.
|
|
1858
1858
|
|
|
1859
1859
|
Per-agent overrides use `agents.list[].heartbeat`. Docs: [Heartbeat](/gateway/heartbeat).
|
|
1860
1860
|
|
|
1861
1861
|
### Do I need to add a bot account to a WhatsApp group
|
|
1862
1862
|
|
|
1863
|
-
No.
|
|
1863
|
+
No. SKYKOI runs on **your own account**, so if you're in the group, SKYKOI can see it.
|
|
1864
1864
|
By default, group replies are blocked until you allow senders (`groupPolicy: "allowlist"`).
|
|
1865
1865
|
|
|
1866
1866
|
If you want only **you** to be able to trigger group replies:
|
|
@@ -1881,7 +1881,7 @@ If you want only **you** to be able to trigger group replies:
|
|
|
1881
1881
|
Option 1 (fastest): tail logs and send a test message in the group:
|
|
1882
1882
|
|
|
1883
1883
|
```bash
|
|
1884
|
-
|
|
1884
|
+
SKYKOI logs --follow --json
|
|
1885
1885
|
```
|
|
1886
1886
|
|
|
1887
1887
|
Look for `chatId` (or `from`) ending in `@g.us`, like:
|
|
@@ -1890,12 +1890,12 @@ Look for `chatId` (or `from`) ending in `@g.us`, like:
|
|
|
1890
1890
|
Option 2 (if already configured/allowlisted): list groups from config:
|
|
1891
1891
|
|
|
1892
1892
|
```bash
|
|
1893
|
-
|
|
1893
|
+
SKYKOI directory groups list --channel whatsapp
|
|
1894
1894
|
```
|
|
1895
1895
|
|
|
1896
1896
|
Docs: [WhatsApp](/channels/whatsapp), [Directory](/cli/directory), [Logs](/cli/logs).
|
|
1897
1897
|
|
|
1898
|
-
### Why doesnt
|
|
1898
|
+
### Why doesnt SKYKOI reply in a group
|
|
1899
1899
|
|
|
1900
1900
|
Two common causes:
|
|
1901
1901
|
|
|
@@ -1912,7 +1912,7 @@ Direct chats collapse to the main session by default. Groups/channels have their
|
|
|
1912
1912
|
|
|
1913
1913
|
No hard limits. Dozens (even hundreds) are fine, but watch for:
|
|
1914
1914
|
|
|
1915
|
-
- **Disk growth:** sessions + transcripts live under `~/.
|
|
1915
|
+
- **Disk growth:** sessions + transcripts live under `~/.SKYKOI/agents/<agentId>/sessions/`.
|
|
1916
1916
|
- **Token cost:** more agents means more concurrent model usage.
|
|
1917
1917
|
- **Ops overhead:** per-agent auth profiles, workspaces, and channel routing.
|
|
1918
1918
|
|
|
@@ -1920,7 +1920,7 @@ Tips:
|
|
|
1920
1920
|
|
|
1921
1921
|
- Keep one **active** workspace per agent (`agents.defaults.workspace`).
|
|
1922
1922
|
- Prune old sessions (delete JSONL or store entries) if disk grows.
|
|
1923
|
-
- Use `
|
|
1923
|
+
- Use `SKYKOI doctor` to spot stray workspaces and profile mismatches.
|
|
1924
1924
|
|
|
1925
1925
|
### Can I run multiple bots or chats at the same time Slack and how should I set that up
|
|
1926
1926
|
|
|
@@ -1945,13 +1945,13 @@ Docs: [Multi-Agent Routing](/concepts/multi-agent), [Slack](/channels/slack),
|
|
|
1945
1945
|
|
|
1946
1946
|
### What is the default model
|
|
1947
1947
|
|
|
1948
|
-
|
|
1948
|
+
SKYKOI's default model is whatever you set as:
|
|
1949
1949
|
|
|
1950
1950
|
```
|
|
1951
1951
|
agents.defaults.model.primary
|
|
1952
1952
|
```
|
|
1953
1953
|
|
|
1954
|
-
Models are referenced as `provider/model` (example: `anthropic/claude-opus-4-6`). If you omit the provider,
|
|
1954
|
+
Models are referenced as `provider/model` (example: `anthropic/claude-opus-4-6`). If you omit the provider, SKYKOI currently assumes `anthropic` as a temporary deprecation fallback - but you should still **explicitly** set `provider/model`.
|
|
1955
1955
|
|
|
1956
1956
|
### What model do you recommend
|
|
1957
1957
|
|
|
@@ -1993,18 +1993,18 @@ Use **model commands** or edit only the **model** fields. Avoid full config repl
|
|
|
1993
1993
|
Safe options:
|
|
1994
1994
|
|
|
1995
1995
|
- `/model` in chat (quick, per-session)
|
|
1996
|
-
- `
|
|
1997
|
-
- `
|
|
1998
|
-
- edit `agents.defaults.model` in `~/.
|
|
1996
|
+
- `SKYKOI models set ...` (updates just model config)
|
|
1997
|
+
- `SKYKOI configure --section model` (interactive)
|
|
1998
|
+
- edit `agents.defaults.model` in `~/.SKYKOI/SKYKOI.json`
|
|
1999
1999
|
|
|
2000
2000
|
Avoid `config.apply` with a partial object unless you intend to replace the whole config.
|
|
2001
|
-
If you did overwrite config, restore from backup or re-run `
|
|
2001
|
+
If you did overwrite config, restore from backup or re-run `SKYKOI doctor` to repair.
|
|
2002
2002
|
|
|
2003
2003
|
Docs: [Models](/concepts/models), [Configure](/cli/configure), [Config](/cli/config), [Doctor](/gateway/doctor).
|
|
2004
2004
|
|
|
2005
|
-
### What do
|
|
2005
|
+
### What do SKYKOI, Flawd, and Krill use for models
|
|
2006
2006
|
|
|
2007
|
-
- **
|
|
2007
|
+
- **SKYKOI + Flawd:** Anthropic Opus (`anthropic/claude-opus-4-6`) - see [Anthropic](/providers/anthropic).
|
|
2008
2008
|
- **Krill:** MiniMax M2.1 (`minimax/MiniMax-M2.1`) - see [MiniMax](/providers/minimax).
|
|
2009
2009
|
|
|
2010
2010
|
### How do I switch models on the fly without restarting
|
|
@@ -2088,7 +2088,7 @@ Fix checklist:
|
|
|
2088
2088
|
4. Run:
|
|
2089
2089
|
|
|
2090
2090
|
```bash
|
|
2091
|
-
|
|
2091
|
+
SKYKOI models list
|
|
2092
2092
|
```
|
|
2093
2093
|
|
|
2094
2094
|
and pick from the list (or `/model list` in chat).
|
|
@@ -2133,7 +2133,7 @@ Docs: [Models](/concepts/models), [Multi-Agent Routing](/concepts/multi-agent),
|
|
|
2133
2133
|
|
|
2134
2134
|
### Are opus sonnet gpt builtin shortcuts
|
|
2135
2135
|
|
|
2136
|
-
Yes.
|
|
2136
|
+
Yes. SKYKOI ships a few default shorthands (only applied when the model exists in `agents.defaults.models`):
|
|
2137
2137
|
|
|
2138
2138
|
- `opus` → `anthropic/claude-opus-4-6`
|
|
2139
2139
|
- `sonnet` → `anthropic/claude-sonnet-4-5`
|
|
@@ -2203,12 +2203,12 @@ This usually means the **new agent** has an empty auth store. Auth is per-agent
|
|
|
2203
2203
|
stored in:
|
|
2204
2204
|
|
|
2205
2205
|
```
|
|
2206
|
-
~/.
|
|
2206
|
+
~/.SKYKOI/agents/<agentId>/agent/auth-profiles.json
|
|
2207
2207
|
```
|
|
2208
2208
|
|
|
2209
2209
|
Fix options:
|
|
2210
2210
|
|
|
2211
|
-
- Run `
|
|
2211
|
+
- Run `SKYKOI agents add <id>` and configure auth during the wizard.
|
|
2212
2212
|
- Or copy `auth-profiles.json` from the main agent's `agentDir` into the new agent's `agentDir`.
|
|
2213
2213
|
|
|
2214
2214
|
Do **not** reuse `agentDir` across agents; it causes auth/session collisions.
|
|
@@ -2222,7 +2222,7 @@ Failover happens in two stages:
|
|
|
2222
2222
|
1. **Auth profile rotation** within the same provider.
|
|
2223
2223
|
2. **Model fallback** to the next model in `agents.defaults.model.fallbacks`.
|
|
2224
2224
|
|
|
2225
|
-
Cooldowns apply to failing profiles (exponential backoff), so
|
|
2225
|
+
Cooldowns apply to failing profiles (exponential backoff), so SKYKOI can keep responding even when a provider is rate-limited or temporarily failing.
|
|
2226
2226
|
|
|
2227
2227
|
### What does this error mean
|
|
2228
2228
|
|
|
@@ -2235,14 +2235,14 @@ It means the system attempted to use the auth profile ID `anthropic:default`, bu
|
|
|
2235
2235
|
### Fix checklist for No credentials found for profile anthropicdefault
|
|
2236
2236
|
|
|
2237
2237
|
- **Confirm where auth profiles live** (new vs legacy paths)
|
|
2238
|
-
- Current: `~/.
|
|
2239
|
-
- Legacy: `~/.
|
|
2238
|
+
- Current: `~/.SKYKOI/agents/<agentId>/agent/auth-profiles.json`
|
|
2239
|
+
- Legacy: `~/.SKYKOI/agent/*` (migrated by `SKYKOI doctor`)
|
|
2240
2240
|
- **Confirm your env var is loaded by the Gateway**
|
|
2241
|
-
- If you set `ANTHROPIC_API_KEY` in your shell but run the Gateway via systemd/launchd, it may not inherit it. Put it in `~/.
|
|
2241
|
+
- If you set `ANTHROPIC_API_KEY` in your shell but run the Gateway via systemd/launchd, it may not inherit it. Put it in `~/.SKYKOI/.env` or enable `env.shellEnv`.
|
|
2242
2242
|
- **Make sure you're editing the correct agent**
|
|
2243
2243
|
- Multi-agent setups mean there can be multiple `auth-profiles.json` files.
|
|
2244
2244
|
- **Sanity-check model/auth status**
|
|
2245
|
-
- Use `
|
|
2245
|
+
- Use `SKYKOI models status` to see configured models and whether providers are authenticated.
|
|
2246
2246
|
|
|
2247
2247
|
**Fix checklist for No credentials found for profile anthropic**
|
|
2248
2248
|
|
|
@@ -2250,14 +2250,14 @@ This means the run is pinned to an Anthropic auth profile, but the Gateway
|
|
|
2250
2250
|
can't find it in its auth store.
|
|
2251
2251
|
|
|
2252
2252
|
- **Use a setup-token**
|
|
2253
|
-
- Run `claude setup-token`, then paste it with `
|
|
2254
|
-
- If the token was created on another machine, use `
|
|
2253
|
+
- Run `claude setup-token`, then paste it with `SKYKOI models auth setup-token --provider anthropic`.
|
|
2254
|
+
- If the token was created on another machine, use `SKYKOI models auth paste-token --provider anthropic`.
|
|
2255
2255
|
- **If you want to use an API key instead**
|
|
2256
|
-
- Put `ANTHROPIC_API_KEY` in `~/.
|
|
2256
|
+
- Put `ANTHROPIC_API_KEY` in `~/.SKYKOI/.env` on the **gateway host**.
|
|
2257
2257
|
- Clear any pinned order that forces a missing profile:
|
|
2258
2258
|
|
|
2259
2259
|
```bash
|
|
2260
|
-
|
|
2260
|
+
SKYKOI models auth order clear --provider anthropic
|
|
2261
2261
|
```
|
|
2262
2262
|
|
|
2263
2263
|
- **Confirm you're running commands on the gateway host**
|
|
@@ -2265,7 +2265,7 @@ can't find it in its auth store.
|
|
|
2265
2265
|
|
|
2266
2266
|
### Why did it also try Google Gemini and fail
|
|
2267
2267
|
|
|
2268
|
-
If your model config includes Google Gemini as a fallback (or you switched to a Gemini shorthand),
|
|
2268
|
+
If your model config includes Google Gemini as a fallback (or you switched to a Gemini shorthand), SKYKOI will try it during model fallback. If you haven't configured Google credentials, you'll see `No API key found for provider "google"`.
|
|
2269
2269
|
|
|
2270
2270
|
Fix: either provide Google auth, or remove/avoid Google models in `agents.defaults.model.fallbacks` / aliases so fallback doesn't route there.
|
|
2271
2271
|
|
|
@@ -2274,7 +2274,7 @@ Fix: either provide Google auth, or remove/avoid Google models in `agents.defaul
|
|
|
2274
2274
|
Cause: the session history contains **thinking blocks without signatures** (often from
|
|
2275
2275
|
an aborted/partial stream). Google Antigravity requires signatures for thinking blocks.
|
|
2276
2276
|
|
|
2277
|
-
Fix:
|
|
2277
|
+
Fix: SKYKOI now strips unsigned thinking blocks for Google Antigravity Claude. If it still appears, start a **new session** or set `/thinking off` for that agent.
|
|
2278
2278
|
|
|
2279
2279
|
## Auth profiles: what they are and how to manage them
|
|
2280
2280
|
|
|
@@ -2285,12 +2285,12 @@ Related: [/concepts/oauth](/concepts/oauth) (OAuth flows, token storage, multi-a
|
|
|
2285
2285
|
An auth profile is a named credential record (OAuth or API key) tied to a provider. Profiles live in:
|
|
2286
2286
|
|
|
2287
2287
|
```
|
|
2288
|
-
~/.
|
|
2288
|
+
~/.SKYKOI/agents/<agentId>/agent/auth-profiles.json
|
|
2289
2289
|
```
|
|
2290
2290
|
|
|
2291
2291
|
### What are typical profile IDs
|
|
2292
2292
|
|
|
2293
|
-
|
|
2293
|
+
SKYKOI uses provider-prefixed IDs like:
|
|
2294
2294
|
|
|
2295
2295
|
- `anthropic:default` (common when no email identity exists)
|
|
2296
2296
|
- `anthropic:<email>` for OAuth identities
|
|
@@ -2300,33 +2300,33 @@ SkyKoi uses provider-prefixed IDs like:
|
|
|
2300
2300
|
|
|
2301
2301
|
Yes. Config supports optional metadata for profiles and an ordering per provider (`auth.order.<provider>`). This does **not** store secrets; it maps IDs to provider/mode and sets rotation order.
|
|
2302
2302
|
|
|
2303
|
-
|
|
2303
|
+
SKYKOI may temporarily skip a profile if it's in a short **cooldown** (rate limits/timeouts/auth failures) or a longer **disabled** state (billing/insufficient credits). To inspect this, run `SKYKOI models status --json` and check `auth.unusableProfiles`. Tuning: `auth.cooldowns.billingBackoffHours*`.
|
|
2304
2304
|
|
|
2305
2305
|
You can also set a **per-agent** order override (stored in that agent's `auth-profiles.json`) via the CLI:
|
|
2306
2306
|
|
|
2307
2307
|
```bash
|
|
2308
2308
|
# Defaults to the configured default agent (omit --agent)
|
|
2309
|
-
|
|
2309
|
+
SKYKOI models auth order get --provider anthropic
|
|
2310
2310
|
|
|
2311
2311
|
# Lock rotation to a single profile (only try this one)
|
|
2312
|
-
|
|
2312
|
+
SKYKOI models auth order set --provider anthropic anthropic:default
|
|
2313
2313
|
|
|
2314
2314
|
# Or set an explicit order (fallback within provider)
|
|
2315
|
-
|
|
2315
|
+
SKYKOI models auth order set --provider anthropic anthropic:work anthropic:default
|
|
2316
2316
|
|
|
2317
2317
|
# Clear override (fall back to config auth.order / round-robin)
|
|
2318
|
-
|
|
2318
|
+
SKYKOI models auth order clear --provider anthropic
|
|
2319
2319
|
```
|
|
2320
2320
|
|
|
2321
2321
|
To target a specific agent:
|
|
2322
2322
|
|
|
2323
2323
|
```bash
|
|
2324
|
-
|
|
2324
|
+
SKYKOI models auth order set --provider anthropic --agent main anthropic:default
|
|
2325
2325
|
```
|
|
2326
2326
|
|
|
2327
2327
|
### OAuth vs API key whats the difference
|
|
2328
2328
|
|
|
2329
|
-
|
|
2329
|
+
SKYKOI supports both:
|
|
2330
2330
|
|
|
2331
2331
|
- **OAuth** often leverages subscription access (where applicable).
|
|
2332
2332
|
- **API keys** use pay-per-token billing.
|
|
@@ -2342,38 +2342,38 @@ The wizard explicitly supports Anthropic setup-token and OpenAI Codex OAuth and
|
|
|
2342
2342
|
Precedence:
|
|
2343
2343
|
|
|
2344
2344
|
```
|
|
2345
|
-
--port >
|
|
2345
|
+
--port > SKYKOI_GATEWAY_PORT > gateway.port > default 18789
|
|
2346
2346
|
```
|
|
2347
2347
|
|
|
2348
|
-
### Why does
|
|
2348
|
+
### Why does SKYKOI gateway status say Runtime running but RPC probe failed
|
|
2349
2349
|
|
|
2350
2350
|
Because "running" is the **supervisor's** view (launchd/systemd/schtasks). The RPC probe is the CLI actually connecting to the gateway WebSocket and calling `status`.
|
|
2351
2351
|
|
|
2352
|
-
Use `
|
|
2352
|
+
Use `SKYKOI gateway status` and trust these lines:
|
|
2353
2353
|
|
|
2354
2354
|
- `Probe target:` (the URL the probe actually used)
|
|
2355
2355
|
- `Listening:` (what's actually bound on the port)
|
|
2356
2356
|
- `Last gateway error:` (common root cause when the process is alive but the port isn't listening)
|
|
2357
2357
|
|
|
2358
|
-
### Why does
|
|
2358
|
+
### Why does SKYKOI gateway status show Config cli and Config service different
|
|
2359
2359
|
|
|
2360
|
-
You're editing one config file while the service is running another (often a `--profile` / `
|
|
2360
|
+
You're editing one config file while the service is running another (often a `--profile` / `SKYKOI_STATE_DIR` mismatch).
|
|
2361
2361
|
|
|
2362
2362
|
Fix:
|
|
2363
2363
|
|
|
2364
2364
|
```bash
|
|
2365
|
-
|
|
2365
|
+
SKYKOI gateway install --force
|
|
2366
2366
|
```
|
|
2367
2367
|
|
|
2368
2368
|
Run that from the same `--profile` / environment you want the service to use.
|
|
2369
2369
|
|
|
2370
2370
|
### What does another gateway instance is already listening mean
|
|
2371
2371
|
|
|
2372
|
-
|
|
2372
|
+
SKYKOI enforces a runtime lock by binding the WebSocket listener immediately on startup (default `ws://127.0.0.1:18789`). If the bind fails with `EADDRINUSE`, it throws `GatewayLockError` indicating another instance is already listening.
|
|
2373
2373
|
|
|
2374
|
-
Fix: stop the other instance, free the port, or run with `
|
|
2374
|
+
Fix: stop the other instance, free the port, or run with `SKYKOI gateway --port <port>`.
|
|
2375
2375
|
|
|
2376
|
-
### How do I run
|
|
2376
|
+
### How do I run SKYKOI in remote mode client connects to a Gateway elsewhere
|
|
2377
2377
|
|
|
2378
2378
|
Set `gateway.mode: "remote"` and point to a remote WebSocket URL, optionally with a token/password:
|
|
2379
2379
|
|
|
@@ -2392,7 +2392,7 @@ Set `gateway.mode: "remote"` and point to a remote WebSocket URL, optionally wit
|
|
|
2392
2392
|
|
|
2393
2393
|
Notes:
|
|
2394
2394
|
|
|
2395
|
-
- `
|
|
2395
|
+
- `SKYKOI gateway` only starts when `gateway.mode` is `local` (or you pass the override flag).
|
|
2396
2396
|
- The macOS app watches the config file and switches modes live when these values change.
|
|
2397
2397
|
|
|
2398
2398
|
### The Control UI says unauthorized or keeps reconnecting What now
|
|
@@ -2401,16 +2401,16 @@ Your gateway is running with auth enabled (`gateway.auth.*`), but the UI is not
|
|
|
2401
2401
|
|
|
2402
2402
|
Facts (from code):
|
|
2403
2403
|
|
|
2404
|
-
- The Control UI stores the token in browser localStorage key `
|
|
2404
|
+
- The Control UI stores the token in browser localStorage key `SKYKOI.control.settings.v1`.
|
|
2405
2405
|
|
|
2406
2406
|
Fix:
|
|
2407
2407
|
|
|
2408
|
-
- Fastest: `
|
|
2409
|
-
- If you don't have a token yet: `
|
|
2408
|
+
- Fastest: `SKYKOI dashboard` (prints + copies the dashboard URL, tries to open; shows SSH hint if headless).
|
|
2409
|
+
- If you don't have a token yet: `SKYKOI doctor --generate-gateway-token`.
|
|
2410
2410
|
- If remote, tunnel first: `ssh -N -L 18789:127.0.0.1:18789 user@host` then open `http://127.0.0.1:18789/`.
|
|
2411
|
-
- Set `gateway.auth.token` (or `
|
|
2411
|
+
- Set `gateway.auth.token` (or `SKYKOI_GATEWAY_TOKEN`) on the gateway host.
|
|
2412
2412
|
- In the Control UI settings, paste the same token.
|
|
2413
|
-
- Still stuck? Run `
|
|
2413
|
+
- Still stuck? Run `SKYKOI status --all` and follow [Troubleshooting](/gateway/troubleshooting). See [Dashboard](/web/dashboard) for auth details.
|
|
2414
2414
|
|
|
2415
2415
|
### I set gatewaybind tailnet but it cant bind nothing listens
|
|
2416
2416
|
|
|
@@ -2429,18 +2429,18 @@ Usually no - one Gateway can run multiple messaging channels and agents. Use mul
|
|
|
2429
2429
|
|
|
2430
2430
|
Yes, but you must isolate:
|
|
2431
2431
|
|
|
2432
|
-
- `
|
|
2433
|
-
- `
|
|
2432
|
+
- `SKYKOI_CONFIG_PATH` (per-instance config)
|
|
2433
|
+
- `SKYKOI_STATE_DIR` (per-instance state)
|
|
2434
2434
|
- `agents.defaults.workspace` (workspace isolation)
|
|
2435
2435
|
- `gateway.port` (unique ports)
|
|
2436
2436
|
|
|
2437
2437
|
Quick setup (recommended):
|
|
2438
2438
|
|
|
2439
|
-
- Use `
|
|
2439
|
+
- Use `SKYKOI --profile <name> …` per instance (auto-creates `~/.SKYKOI-<name>`).
|
|
2440
2440
|
- Set a unique `gateway.port` in each profile config (or pass `--port` for manual runs).
|
|
2441
|
-
- Install a per-profile service: `
|
|
2441
|
+
- Install a per-profile service: `SKYKOI --profile <name> gateway install`.
|
|
2442
2442
|
|
|
2443
|
-
Profiles also suffix service names (`bot.molt.<profile>`; legacy `com.
|
|
2443
|
+
Profiles also suffix service names (`bot.molt.<profile>`; legacy `com.SKYKOI.*`, `SKYKOI-gateway-<profile>.service`, `SKYKOI Gateway (<profile>)`).
|
|
2444
2444
|
Full guide: [Multiple gateways](/gateway/multiple-gateways).
|
|
2445
2445
|
|
|
2446
2446
|
### What does invalid handshake code 1008 mean
|
|
@@ -2464,7 +2464,7 @@ Quick fixes:
|
|
|
2464
2464
|
If you're using the CLI or TUI, the URL should look like:
|
|
2465
2465
|
|
|
2466
2466
|
```
|
|
2467
|
-
|
|
2467
|
+
SKYKOI tui --url ws://<host>:18789 --token <token>
|
|
2468
2468
|
```
|
|
2469
2469
|
|
|
2470
2470
|
Protocol details: [Gateway protocol](/gateway/protocol).
|
|
@@ -2476,7 +2476,7 @@ Protocol details: [Gateway protocol](/gateway/protocol).
|
|
|
2476
2476
|
File logs (structured):
|
|
2477
2477
|
|
|
2478
2478
|
```
|
|
2479
|
-
/tmp/
|
|
2479
|
+
/tmp/SKYKOI/SKYKOI-YYYY-MM-DD.log
|
|
2480
2480
|
```
|
|
2481
2481
|
|
|
2482
2482
|
You can set a stable path via `logging.file`. File log level is controlled by `logging.level`. Console verbosity is controlled by `--verbose` and `logging.consoleLevel`.
|
|
@@ -2484,14 +2484,14 @@ You can set a stable path via `logging.file`. File log level is controlled by `l
|
|
|
2484
2484
|
Fastest log tail:
|
|
2485
2485
|
|
|
2486
2486
|
```bash
|
|
2487
|
-
|
|
2487
|
+
SKYKOI logs --follow
|
|
2488
2488
|
```
|
|
2489
2489
|
|
|
2490
2490
|
Service/supervisor logs (when the gateway runs via launchd/systemd):
|
|
2491
2491
|
|
|
2492
|
-
- macOS: `$
|
|
2493
|
-
- Linux: `journalctl --user -u
|
|
2494
|
-
- Windows: `schtasks /Query /TN "
|
|
2492
|
+
- macOS: `$SKYKOI_STATE_DIR/logs/gateway.log` and `gateway.err.log` (default: `~/.SKYKOI/logs/...`; profiles use `~/.SKYKOI-<profile>/logs/...`)
|
|
2493
|
+
- Linux: `journalctl --user -u SKYKOI-gateway[-<profile>].service -n 200 --no-pager`
|
|
2494
|
+
- Windows: `schtasks /Query /TN "SKYKOI gateway (<profile>)" /V /FO LIST`
|
|
2495
2495
|
|
|
2496
2496
|
See [Troubleshooting](/gateway/troubleshooting#log-locations) for more.
|
|
2497
2497
|
|
|
@@ -2500,13 +2500,13 @@ See [Troubleshooting](/gateway/troubleshooting#log-locations) for more.
|
|
|
2500
2500
|
Use the gateway helpers:
|
|
2501
2501
|
|
|
2502
2502
|
```bash
|
|
2503
|
-
|
|
2504
|
-
|
|
2503
|
+
SKYKOI gateway status
|
|
2504
|
+
SKYKOI gateway restart
|
|
2505
2505
|
```
|
|
2506
2506
|
|
|
2507
|
-
If you run the gateway manually, `
|
|
2507
|
+
If you run the gateway manually, `SKYKOI gateway --force` can reclaim the port. See [Gateway](/gateway).
|
|
2508
2508
|
|
|
2509
|
-
### I closed my terminal on Windows how do I restart
|
|
2509
|
+
### I closed my terminal on Windows how do I restart SKYKOI
|
|
2510
2510
|
|
|
2511
2511
|
There are **two Windows install modes**:
|
|
2512
2512
|
|
|
@@ -2516,14 +2516,14 @@ Open PowerShell, enter WSL, then restart:
|
|
|
2516
2516
|
|
|
2517
2517
|
```powershell
|
|
2518
2518
|
wsl
|
|
2519
|
-
|
|
2520
|
-
|
|
2519
|
+
SKYKOI gateway status
|
|
2520
|
+
SKYKOI gateway restart
|
|
2521
2521
|
```
|
|
2522
2522
|
|
|
2523
2523
|
If you never installed the service, start it in the foreground:
|
|
2524
2524
|
|
|
2525
2525
|
```bash
|
|
2526
|
-
|
|
2526
|
+
SKYKOI gateway run
|
|
2527
2527
|
```
|
|
2528
2528
|
|
|
2529
2529
|
**2) Native Windows (not recommended):** the Gateway runs directly in Windows.
|
|
@@ -2531,14 +2531,14 @@ skykoi gateway run
|
|
|
2531
2531
|
Open PowerShell and run:
|
|
2532
2532
|
|
|
2533
2533
|
```powershell
|
|
2534
|
-
|
|
2535
|
-
|
|
2534
|
+
SKYKOI gateway status
|
|
2535
|
+
SKYKOI gateway restart
|
|
2536
2536
|
```
|
|
2537
2537
|
|
|
2538
2538
|
If you run it manually (no service), use:
|
|
2539
2539
|
|
|
2540
2540
|
```powershell
|
|
2541
|
-
|
|
2541
|
+
SKYKOI gateway run
|
|
2542
2542
|
```
|
|
2543
2543
|
|
|
2544
2544
|
Docs: [Windows (WSL2)](/platforms/windows), [Gateway service runbook](/gateway).
|
|
@@ -2548,10 +2548,10 @@ Docs: [Windows (WSL2)](/platforms/windows), [Gateway service runbook](/gateway).
|
|
|
2548
2548
|
Start with a quick health sweep:
|
|
2549
2549
|
|
|
2550
2550
|
```bash
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2551
|
+
SKYKOI status
|
|
2552
|
+
SKYKOI models status
|
|
2553
|
+
SKYKOI channels status
|
|
2554
|
+
SKYKOI logs --follow
|
|
2555
2555
|
```
|
|
2556
2556
|
|
|
2557
2557
|
Common causes:
|
|
@@ -2569,15 +2569,15 @@ Docs: [Channels](/channels), [Troubleshooting](/gateway/troubleshooting), [Remot
|
|
|
2569
2569
|
|
|
2570
2570
|
This usually means the UI lost the WebSocket connection. Check:
|
|
2571
2571
|
|
|
2572
|
-
1. Is the Gateway running? `
|
|
2573
|
-
2. Is the Gateway healthy? `
|
|
2574
|
-
3. Does the UI have the right token? `
|
|
2572
|
+
1. Is the Gateway running? `SKYKOI gateway status`
|
|
2573
|
+
2. Is the Gateway healthy? `SKYKOI status`
|
|
2574
|
+
3. Does the UI have the right token? `SKYKOI dashboard`
|
|
2575
2575
|
4. If remote, is the tunnel/Tailscale link up?
|
|
2576
2576
|
|
|
2577
2577
|
Then tail logs:
|
|
2578
2578
|
|
|
2579
2579
|
```bash
|
|
2580
|
-
|
|
2580
|
+
SKYKOI logs --follow
|
|
2581
2581
|
```
|
|
2582
2582
|
|
|
2583
2583
|
Docs: [Dashboard](/web/dashboard), [Remote access](/gateway/remote), [Troubleshooting](/gateway/troubleshooting).
|
|
@@ -2587,8 +2587,8 @@ Docs: [Dashboard](/web/dashboard), [Remote access](/gateway/remote), [Troublesho
|
|
|
2587
2587
|
Start with logs and channel status:
|
|
2588
2588
|
|
|
2589
2589
|
```bash
|
|
2590
|
-
|
|
2591
|
-
|
|
2590
|
+
SKYKOI channels status
|
|
2591
|
+
SKYKOI channels logs --channel telegram
|
|
2592
2592
|
```
|
|
2593
2593
|
|
|
2594
2594
|
If you are on a VPS or behind a proxy, confirm outbound HTTPS is allowed and DNS works.
|
|
@@ -2601,9 +2601,9 @@ Docs: [Telegram](/channels/telegram), [Channel troubleshooting](/channels/troubl
|
|
|
2601
2601
|
First confirm the Gateway is reachable and the agent can run:
|
|
2602
2602
|
|
|
2603
2603
|
```bash
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2604
|
+
SKYKOI status
|
|
2605
|
+
SKYKOI models status
|
|
2606
|
+
SKYKOI logs --follow
|
|
2607
2607
|
```
|
|
2608
2608
|
|
|
2609
2609
|
In the TUI, use `/status` to see the current state. If you expect replies in a chat
|
|
@@ -2616,8 +2616,8 @@ Docs: [TUI](/web/tui), [Slash commands](/tools/slash-commands).
|
|
|
2616
2616
|
If you installed the service:
|
|
2617
2617
|
|
|
2618
2618
|
```bash
|
|
2619
|
-
|
|
2620
|
-
|
|
2619
|
+
SKYKOI gateway stop
|
|
2620
|
+
SKYKOI gateway start
|
|
2621
2621
|
```
|
|
2622
2622
|
|
|
2623
2623
|
This stops/starts the **supervised service** (launchd on macOS, systemd on Linux).
|
|
@@ -2626,17 +2626,17 @@ Use this when the Gateway runs in the background as a daemon.
|
|
|
2626
2626
|
If you're running in the foreground, stop with Ctrl-C, then:
|
|
2627
2627
|
|
|
2628
2628
|
```bash
|
|
2629
|
-
|
|
2629
|
+
SKYKOI gateway run
|
|
2630
2630
|
```
|
|
2631
2631
|
|
|
2632
2632
|
Docs: [Gateway service runbook](/gateway).
|
|
2633
2633
|
|
|
2634
|
-
### ELI5
|
|
2634
|
+
### ELI5 SKYKOI gateway restart vs SKYKOI gateway
|
|
2635
2635
|
|
|
2636
|
-
- `
|
|
2637
|
-
- `
|
|
2636
|
+
- `SKYKOI gateway restart`: restarts the **background service** (launchd/systemd).
|
|
2637
|
+
- `SKYKOI gateway`: runs the gateway **in the foreground** for this terminal session.
|
|
2638
2638
|
|
|
2639
|
-
If you installed the service, use the gateway commands. Use `
|
|
2639
|
+
If you installed the service, use the gateway commands. Use `SKYKOI gateway` when
|
|
2640
2640
|
you want a one-off, foreground run.
|
|
2641
2641
|
|
|
2642
2642
|
### What's the fastest way to get more details when something fails
|
|
@@ -2647,12 +2647,12 @@ Start the Gateway with `--verbose` to get more console detail. Then inspect the
|
|
|
2647
2647
|
|
|
2648
2648
|
### My skill generated an imagePDF but nothing was sent
|
|
2649
2649
|
|
|
2650
|
-
Outbound attachments from the agent must include a `MEDIA:<path-or-url>` line (on its own line). See [
|
|
2650
|
+
Outbound attachments from the agent must include a `MEDIA:<path-or-url>` line (on its own line). See [SKYKOI assistant setup](/start/SKYKOI) and [Agent send](/tools/agent-send).
|
|
2651
2651
|
|
|
2652
2652
|
CLI sending:
|
|
2653
2653
|
|
|
2654
2654
|
```bash
|
|
2655
|
-
|
|
2655
|
+
SKYKOI message send --target +15555550123 --message "Here you go" --media /path/to/file.png
|
|
2656
2656
|
```
|
|
2657
2657
|
|
|
2658
2658
|
Also check:
|
|
@@ -2664,17 +2664,17 @@ See [Images](/nodes/images).
|
|
|
2664
2664
|
|
|
2665
2665
|
## Security and access control
|
|
2666
2666
|
|
|
2667
|
-
### Is it safe to expose
|
|
2667
|
+
### Is it safe to expose SKYKOI to inbound DMs
|
|
2668
2668
|
|
|
2669
2669
|
Treat inbound DMs as untrusted input. Defaults are designed to reduce risk:
|
|
2670
2670
|
|
|
2671
2671
|
- Default behavior on DM-capable channels is **pairing**:
|
|
2672
2672
|
- Unknown senders receive a pairing code; the bot does not process their message.
|
|
2673
|
-
- Approve with: `
|
|
2674
|
-
- Pending requests are capped at **3 per channel**; check `
|
|
2673
|
+
- Approve with: `SKYKOI pairing approve <channel> <code>`
|
|
2674
|
+
- Pending requests are capped at **3 per channel**; check `SKYKOI pairing list <channel>` if a code didn't arrive.
|
|
2675
2675
|
- Opening DMs publicly requires explicit opt-in (`dmPolicy: "open"` and allowlist `"*"`).
|
|
2676
2676
|
|
|
2677
|
-
Run `
|
|
2677
|
+
Run `SKYKOI doctor` to surface risky DM policies.
|
|
2678
2678
|
|
|
2679
2679
|
### Is prompt injection only a concern for public bots
|
|
2680
2680
|
|
|
@@ -2729,7 +2729,7 @@ Pairing codes are sent **only** when an unknown sender messages the bot and
|
|
|
2729
2729
|
Check pending requests:
|
|
2730
2730
|
|
|
2731
2731
|
```bash
|
|
2732
|
-
|
|
2732
|
+
SKYKOI pairing list telegram
|
|
2733
2733
|
```
|
|
2734
2734
|
|
|
2735
2735
|
If you want immediate access, allowlist your sender id or set `dmPolicy: "open"`
|
|
@@ -2737,18 +2737,18 @@ for that account.
|
|
|
2737
2737
|
|
|
2738
2738
|
### WhatsApp will it message my contacts How does pairing work
|
|
2739
2739
|
|
|
2740
|
-
No. Default WhatsApp DM policy is **pairing**. Unknown senders only get a pairing code and their message is **not processed**.
|
|
2740
|
+
No. Default WhatsApp DM policy is **pairing**. Unknown senders only get a pairing code and their message is **not processed**. SKYKOI only replies to chats it receives or to explicit sends you trigger.
|
|
2741
2741
|
|
|
2742
2742
|
Approve pairing with:
|
|
2743
2743
|
|
|
2744
2744
|
```bash
|
|
2745
|
-
|
|
2745
|
+
SKYKOI pairing approve whatsapp <code>
|
|
2746
2746
|
```
|
|
2747
2747
|
|
|
2748
2748
|
List pending requests:
|
|
2749
2749
|
|
|
2750
2750
|
```bash
|
|
2751
|
-
|
|
2751
|
+
SKYKOI pairing list whatsapp
|
|
2752
2752
|
```
|
|
2753
2753
|
|
|
2754
2754
|
Wizard phone number prompt: it's used to set your **allowlist/owner** so your own DMs are permitted. It's not used for auto-sending. If you run on your personal WhatsApp number, use that number and enable `channels.whatsapp.selfChatMode`.
|
|
@@ -2800,7 +2800,7 @@ Most commands must be sent as a **standalone** message that starts with `/`, but
|
|
|
2800
2800
|
|
|
2801
2801
|
### How do I send a Discord message from Telegram Crosscontext messaging denied
|
|
2802
2802
|
|
|
2803
|
-
|
|
2803
|
+
SKYKOI blocks **cross-provider** messaging by default. If a tool call is bound
|
|
2804
2804
|
to Telegram, it won't send to Discord unless you explicitly allow it.
|
|
2805
2805
|
|
|
2806
2806
|
Enable cross-provider messaging for the agent:
|
|
@@ -2841,8 +2841,8 @@ You can add options like `debounce:2s cap:25 drop:summarize` for followup modes.
|
|
|
2841
2841
|
|
|
2842
2842
|
**Q: "What's the default model for Anthropic with an API key?"**
|
|
2843
2843
|
|
|
2844
|
-
**A:** In
|
|
2844
|
+
**A:** In SKYKOI, credentials and model selection are separate. Setting `ANTHROPIC_API_KEY` (or storing an Anthropic API key in auth profiles) enables authentication, but the actual default model is whatever you configure in `agents.defaults.model.primary` (for example, `anthropic/claude-sonnet-4-5` or `anthropic/claude-opus-4-6`). If you see `No credentials found for profile "anthropic:default"`, it means the Gateway couldn't find Anthropic credentials in the expected `auth-profiles.json` for the agent that's running.
|
|
2845
2845
|
|
|
2846
2846
|
---
|
|
2847
2847
|
|
|
2848
|
-
Still stuck? Ask in [Discord](https://discord.com/invite/clawd) or open a [GitHub discussion](https://github.com/
|
|
2848
|
+
Still stuck? Ask in [Discord](https://discord.com/invite/clawd) or open a [GitHub discussion](https://github.com/SKYKOI/SKYKOI/discussions).
|