@termix-it/cryptoclaw 1.0.0
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 +1615 -0
- package/LICENSE +21 -0
- package/README-header.png +0 -0
- package/README.md +331 -0
- package/assets/avatar-placeholder.svg +19 -0
- package/assets/chrome-extension/README.md +22 -0
- package/assets/chrome-extension/background.js +438 -0
- package/assets/chrome-extension/icons/icon128.png +0 -0
- package/assets/chrome-extension/icons/icon16.png +0 -0
- package/assets/chrome-extension/icons/icon32.png +0 -0
- package/assets/chrome-extension/icons/icon48.png +0 -0
- package/assets/chrome-extension/manifest.json +25 -0
- package/assets/chrome-extension/options.html +196 -0
- package/assets/chrome-extension/options.js +59 -0
- package/assets/dmg-background-small.png +0 -0
- package/assets/dmg-background.png +0 -0
- package/cryptoclaw.mjs +14 -0
- package/dist/accounts-BPjR5SyC.js +251 -0
- package/dist/accounts-CIGHxE7R.js +251 -0
- package/dist/acp-cli-DBWmJpUJ.js +924 -0
- package/dist/acp-cli-DG9nygBk.js +926 -0
- package/dist/agent-3MZVCC-N.js +702 -0
- package/dist/agent-IDE9krld.js +702 -0
- package/dist/agent-scope-DBl1We79.js +370 -0
- package/dist/agent-scope-DLfFOxP6.js +370 -0
- package/dist/agent-scope-e_oNRhGi.js +606 -0
- package/dist/archive-Dy3Ezb-5.js +85 -0
- package/dist/archive-iT9wNsml.js +85 -0
- package/dist/audit-Bj_dxNaD.js +1853 -0
- package/dist/audit-jaTyyQX1.js +1853 -0
- package/dist/auth-RTEHx2eI.js +192 -0
- package/dist/auth-health-BlspzqyF.js +149 -0
- package/dist/auth-health-CCM6Z3vK.js +149 -0
- package/dist/auth-phxCaFNX.js +192 -0
- package/dist/auth-profiles-DoD7YxsD.js +2939 -0
- package/dist/boolean-BsqeuxE6.js +30 -0
- package/dist/brew-CAcErcKz.js +46 -0
- package/dist/brew-CqnNFIkD.js +46 -0
- package/dist/build-info.json +5 -0
- package/dist/call-D2DXG0AC.js +278 -0
- package/dist/call-DqxlETxE.js +278 -0
- package/dist/canvas-host/a2ui/.bundle.hash +1 -0
- package/dist/canvas-host/a2ui/a2ui.bundle.js +17765 -0
- package/dist/canvas-host/a2ui/index.html +307 -0
- package/dist/channel-options-BHpXOBuP.js +32 -0
- package/dist/channel-options-DUkxROTo.js +62 -0
- package/dist/channel-selection-BdigfMZZ.js +51 -0
- package/dist/channel-selection-D7jFTFec.js +51 -0
- package/dist/channel-summary-CobMoKN6.js +1120 -0
- package/dist/channel-summary-DS0kcHm2.js +1120 -0
- package/dist/channels-cli-D7ZNRrq7.js +1414 -0
- package/dist/channels-cli-DBwffwqw.js +1413 -0
- package/dist/channels-status-issues-C2UGSPvH.js +18 -0
- package/dist/channels-status-issues-Dxmd7zYk.js +18 -0
- package/dist/chrome-CwbWzmh4.js +1973 -0
- package/dist/chrome-SVqOMFxA.js +1953 -0
- package/dist/clack-prompter-k_egRADS.js +92 -0
- package/dist/clack-prompter-nSmn5cZ2.js +92 -0
- package/dist/cli/daemon-cli.js +2 -0
- package/dist/cli-C9xiWnx9.js +86 -0
- package/dist/cli-D6C9z94O.js +88 -0
- package/dist/cli-utils-B7iQwCY5.js +43 -0
- package/dist/cli-utils-CgOu3WAB.js +43 -0
- package/dist/client-BaTYzXOU.js +1617 -0
- package/dist/client-N6zH1neq.js +1617 -0
- package/dist/command-format-9IsYy-9N.js +52 -0
- package/dist/command-format-B0bnyrEA.js +38 -0
- package/dist/command-format-n_udBm8l.js +52 -0
- package/dist/command-options-DL1PhuUF.js +33 -0
- package/dist/commands-Dpeoos11.js +230 -0
- package/dist/completion-cli-B5nR7jt8.js +434 -0
- package/dist/completion-cli-CZ8zPqPs.js +773 -0
- package/dist/config-DSpb2aMV.js +4916 -0
- package/dist/config-IwiWafT3.js +5657 -0
- package/dist/config-dQK4rbfx.js +4916 -0
- package/dist/config-guard-DwIb5Y-v.js +5719 -0
- package/dist/configure-7M9mLC4o.js +896 -0
- package/dist/configure-CivCcvkA.js +896 -0
- package/dist/constants-C2T4hQIk.js +65 -0
- package/dist/constants-DBvu3LzZ.js +65 -0
- package/dist/control-service-BXC31sNw.js +61 -0
- package/dist/control-service-lVzEzp9f.js +61 -0
- package/dist/control-ui/apple-touch-icon.png +0 -0
- package/dist/control-ui/assets/index-DQ-7PWhX.js +7553 -0
- package/dist/control-ui/assets/index-DQ-7PWhX.js.map +1 -0
- package/dist/control-ui/assets/index-nlpH70Eh.css +1 -0
- package/dist/control-ui/favicon-32.png +0 -0
- package/dist/control-ui/favicon.ico +0 -0
- package/dist/control-ui/favicon.svg +22 -0
- package/dist/control-ui/index.html +17 -0
- package/dist/cron-cli-DS8ytfYQ.js +455 -0
- package/dist/cron-cli-Djb3HUdz.js +457 -0
- package/dist/daemon-cli-KoaJ2nJX.js +758 -0
- package/dist/daemon-cli-ZQIKLvAO.js +758 -0
- package/dist/daemon-runtime-CHWbAfKs.js +517 -0
- package/dist/daemon-runtime-DEjUQVjL.js +517 -0
- package/dist/deliver-DVRzRmNN.js +2557 -0
- package/dist/deliver-OfX6bSYR.js +2587 -0
- package/dist/deliver-sPBfRlXT.js +2587 -0
- package/dist/deps-BSdWD2wF.js +27 -0
- package/dist/deps-CZOfeWEp.js +27 -0
- package/dist/devices-cli-DHSpDnCS.js +207 -0
- package/dist/devices-cli-b9iF_uOi.js +205 -0
- package/dist/directory-cli-D0dTuAem.js +247 -0
- package/dist/directory-cli-qniSxsHo.js +245 -0
- package/dist/dispatcher-DA3u3CwV.js +160 -0
- package/dist/dns-cli-C0JUNb9O.js +201 -0
- package/dist/dns-cli-DwwMpMuN.js +199 -0
- package/dist/docs-cli-BlFHCHDz.js +161 -0
- package/dist/docs-cli-BpSPrY3Y.js +160 -0
- package/dist/doctor-Da1XgFcW.js +2584 -0
- package/dist/doctor-qrtookj-.js +2585 -0
- package/dist/entry.js +1156 -0
- package/dist/env-B2Cd_6IS.js +32 -0
- package/dist/errors--S5IAxQx.js +1952 -0
- package/dist/exec-CLQSz0CI.js +246 -0
- package/dist/exec-CW_QjkBi.js +246 -0
- package/dist/exec-D7I5LU33.js +1099 -0
- package/dist/exec-approvals-CuXem6Li.js +1043 -0
- package/dist/exec-approvals-P7vwSw4O.js +1043 -0
- package/dist/exec-approvals-cli-Csgqkksl.js +386 -0
- package/dist/exec-approvals-cli-Dk4yHE2L.js +388 -0
- package/dist/extensionAPI.js +64497 -0
- package/dist/format-B7OjpGnt.js +34 -0
- package/dist/format-Dv1wz41T.js +34 -0
- package/dist/gateway-cli-CJ7H2DgV.js +17352 -0
- package/dist/gateway-cli-CrKl-bIH.js +17352 -0
- package/dist/gateway-rpc--CH0NWWR.js +28 -0
- package/dist/gateway-rpc-BPfCU2Vi.js +28 -0
- package/dist/github-copilot-auth-CcPEEb3Q.js +1190 -0
- package/dist/github-copilot-auth-h3beCc_l.js +1190 -0
- package/dist/github-copilot-token-C1sArkX4.js +103 -0
- package/dist/github-copilot-token-DL6Pou2p.js +103 -0
- package/dist/github-copilot-token-hMl1wyZp.js +103 -0
- package/dist/gmail-setup-utils-CnVYPhaQ.js +428 -0
- package/dist/gmail-setup-utils-pZ9NnOvB.js +428 -0
- package/dist/health-format-BcsR5dtU.js +1211 -0
- package/dist/health-format-Pl8qK65t.js +1212 -0
- package/dist/help-format-BzWwbeSF.js +17 -0
- package/dist/help-format-CUnac_bT.js +17 -0
- package/dist/helpers-5yebzF4C.js +25 -0
- package/dist/helpers-CQI-5xS9.js +25 -0
- package/dist/helpers-CzQjTUbz.js +10 -0
- package/dist/helpers-OUt4hxkS.js +10 -0
- 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-BKHTdsn4.js +1058 -0
- package/dist/hooks-cli-zkLY25DX.js +1060 -0
- package/dist/hooks-status-BETsyuUR.js +443 -0
- package/dist/hooks-status-nPgxLL-x.js +443 -0
- package/dist/image-BFNcQzKp.js +629 -0
- package/dist/image-CC_YKDB-.js +1421 -0
- package/dist/image-DAsWVn7Q.js +629 -0
- package/dist/index.js +5900 -0
- package/dist/installs-Byb3s_8P.js +425 -0
- package/dist/installs-CELeuogN.js +425 -0
- package/dist/is-main-B6kCyqsv.js +25 -0
- package/dist/is-main-CBExsRNQ.js +25 -0
- package/dist/links-Brcj2Oc-.js +15 -0
- package/dist/links-cf9h8BXu.js +15 -0
- package/dist/loader-CU4bkeKe.js +61131 -0
- package/dist/logging-5MtSkLpb.js +1 -0
- package/dist/logging-BJRQDTME.js +15 -0
- package/dist/logging-CD55MXc7.js +15 -0
- package/dist/logging-kuFzZMsG.js +1 -0
- package/dist/login-qr-BCr2GKX6.js +475 -0
- package/dist/login-qr-BMbekoZW.js +478 -0
- package/dist/login-qr-HIPJAnbT.js +478 -0
- package/dist/logs-cli-CM7-XOcZ.js +230 -0
- package/dist/logs-cli-aqjT7oHu.js +228 -0
- package/dist/manager-C5m5qpB0.js +2871 -0
- package/dist/manager-CtGvmGvM.js +2872 -0
- package/dist/manager-DpZlm3gk.js +2870 -0
- package/dist/manifest-registry-BdTzIlta.js +669 -0
- package/dist/manifest-registry-DVQHMj0y.js +669 -0
- package/dist/message-channel-CfYBy4y3.js +110 -0
- package/dist/message-channel-CvHWS3C2.js +110 -0
- package/dist/model-selection-Av0fLq51.js +2940 -0
- package/dist/model-selection-DuI_Ue9Q.js +2691 -0
- package/dist/models-cli-C0JOZ5oP.js +2541 -0
- package/dist/models-cli-gmkzOpbq.js +2543 -0
- package/dist/net-D4G66Xui.js +137 -0
- package/dist/net-YrbuVTd2.js +137 -0
- package/dist/node-cli-BND9LLkM.js +1457 -0
- package/dist/node-cli-DNRB94ib.js +1459 -0
- package/dist/node-service-DTgDFo7M.js +67 -0
- package/dist/node-service-JEBcPQat.js +67 -0
- package/dist/nodes-cli-BCWlqHyR.js +1208 -0
- package/dist/nodes-cli-DWSo5dX7.js +1210 -0
- package/dist/nodes-screen-CMvShBEB.js +157 -0
- package/dist/nodes-screen-Cok3-EJw.js +157 -0
- package/dist/note-C5M2AQOP.js +73 -0
- package/dist/note-DEz9ZK7G.js +73 -0
- package/dist/onboard-channels-B75LjjVZ.js +671 -0
- package/dist/onboard-channels-DJz2TusQ.js +671 -0
- package/dist/onboard-skills-ByHkU9nx.js +3615 -0
- package/dist/onboard-skills-Wknr7pxR.js +3615 -0
- package/dist/onboarding-BejDjkx5.js +3455 -0
- package/dist/openclaw-root-YSGWCNem.js +84 -0
- package/dist/openclaw-root-_zPXSqgo.js +84 -0
- package/dist/pairing-cli-CFqD3IdI.js +122 -0
- package/dist/pairing-cli-Cn5vt4oI.js +120 -0
- package/dist/pairing-store-BHzy16_t.js +391 -0
- package/dist/pairing-store-BOhO49Bi.js +391 -0
- package/dist/parse-BZz5lHzQ.js +23 -0
- package/dist/parse-Bw0oH-rT.js +23 -0
- package/dist/parse-log-line-BxDgv4Uo.js +44 -0
- package/dist/parse-log-line-CUrpqe1w.js +44 -0
- package/dist/parse-timeout-D1XX_zN_.js +16 -0
- package/dist/parse-timeout-Du-wHHNi.js +16 -0
- package/dist/path-env-DQ-mM2ya.js +77 -0
- package/dist/path-env-eQ-HoQtS.js +77 -0
- package/dist/paths-C3yk0MGu.js +43 -0
- package/dist/paths-C90k-Dud.js +166 -0
- package/dist/paths-CGrNQEMk.js +201 -0
- package/dist/paths-D2ytuv-2.js +201 -0
- package/dist/paths-Dlp4VNXa.js +40 -0
- package/dist/paths-KUslkJRs.js +43 -0
- package/dist/pi-embedded-helpers-B7ARjDEK.js +1298 -0
- package/dist/pi-embedded-helpers-CQ9sq3Uu.js +8475 -0
- package/dist/pi-embedded-helpers-FPVRDeKf.js +1298 -0
- package/dist/pi-model-discovery-DWTTaAgY.js +20 -0
- package/dist/pi-model-discovery-EhM2JAQo.js +20 -0
- package/dist/pi-model-discovery-EwKVHlZB.js +20 -0
- package/dist/pi-tools.policy-Du4RZy9R.js +230 -0
- package/dist/plugin-auto-enable-EBxTHjFJ.js +461 -0
- package/dist/plugin-auto-enable-RwRwIUKC.js +461 -0
- package/dist/plugin-sdk/index.d.ts +8453 -0
- package/dist/plugin-sdk/index.js +23445 -0
- package/dist/plugin-sdk/pi-model-discovery-Dw3A6oXH.js +37 -0
- package/dist/plugins-BI-p2ba9.js +495 -0
- package/dist/plugins-Dk4UBZwz.js +496 -0
- package/dist/plugins-cli-CMg0G56J.js +441 -0
- package/dist/plugins-cli-CX7QeUjq.js +443 -0
- package/dist/ports-nXmd4Efh.js +96 -0
- package/dist/program-EAMJAB_2.js +191 -0
- package/dist/progress-D-Oc-KAH.js +133 -0
- package/dist/progress-DTEUicRP.js +133 -0
- package/dist/prompt-style-BBlJlXtd.js +9 -0
- package/dist/prompt-style-BntC_Eoo.js +9 -0
- package/dist/prompts-C2D9_VZC.js +10 -0
- package/dist/prompts-FbZThK8w.js +10 -0
- package/dist/pw-ai-D2jD_dho.js +1651 -0
- package/dist/pw-ai-D6JUaD41.js +1650 -0
- package/dist/pw-ai-ba2bHPGA.js +1649 -0
- package/dist/qmd-manager-B-ijyM7o.js +615 -0
- package/dist/qmd-manager-C_Jah5eo.js +618 -0
- package/dist/qmd-manager-xo4abL0u.js +618 -0
- package/dist/redact-1PNP01B_.js +97 -0
- package/dist/redact-BIMJ3ntQ.js +94 -0
- package/dist/redact-CVRUv382.js +97 -0
- package/dist/register.subclis-CJGimm3-.js +348 -0
- package/dist/reply-DfepuqG0.js +61133 -0
- package/dist/rolldown-runtime-Cbj13DAv.js +20 -0
- package/dist/routes-DkckwrRx.js +2410 -0
- package/dist/routes-Q42qtNl1.js +2410 -0
- package/dist/rpc-B4lvrGrD.js +95 -0
- package/dist/rpc-CbWcXAQK.js +95 -0
- package/dist/run-main-JFY3X4Xh.js +194 -0
- package/dist/sandbox-BGqDfFaH.js +2945 -0
- package/dist/sandbox-D_Tt3WRq.js +2945 -0
- package/dist/sandbox-cli-CaxqKiTq.js +461 -0
- package/dist/sandbox-cli-DA0Cbrzl.js +463 -0
- package/dist/security-cli-BZjA_GAD.js +508 -0
- package/dist/security-cli-Ct-pfF2h.js +506 -0
- package/dist/server-context-B9ez46MY.js +740 -0
- package/dist/server-context-C53lhEx_.js +740 -0
- package/dist/server-node-events-Cb6QOeDH.js +218 -0
- package/dist/server-node-events-DONmQvJg.js +216 -0
- package/dist/service-C0ccl5rU.js +680 -0
- package/dist/service-audit-AsnhO40e.js +542 -0
- package/dist/service-audit-BM-iyLL7.js +542 -0
- package/dist/service-mrQPgOXl.js +680 -0
- package/dist/session-cost-usage-B3HzifR9.js +692 -0
- package/dist/session-cost-usage-DH3c4xJA.js +692 -0
- package/dist/session-key-C-ig2pxJ.js +177 -0
- package/dist/session-key-CYpWeuht.js +177 -0
- package/dist/shared-CBcCIWC0.js +74 -0
- package/dist/shared-CtNMbLRE.js +150 -0
- package/dist/shared-DCh7fkR2.js +150 -0
- package/dist/shared-Na5zjEUc.js +74 -0
- package/dist/skill-scanner-AfOudYI1.js +255 -0
- package/dist/skill-scanner-BoGjHXUZ.js +255 -0
- package/dist/skills-7V483a6m.js +693 -0
- package/dist/skills-CsZRBUj0.js +694 -0
- package/dist/skills-cli-DQaq5LBX.js +290 -0
- package/dist/skills-cli-dVugbaAb.js +288 -0
- package/dist/skills-status-4_4zVBvV.js +187 -0
- package/dist/skills-status-cD4rfMR9.js +187 -0
- package/dist/sqlite-C4DljFNL.js +215 -0
- package/dist/sqlite-CvQzxS7q.js +197 -0
- package/dist/sqlite-Dnmf3LS7.js +215 -0
- package/dist/status-BakhDLuG.js +27 -0
- package/dist/status-BqtiImKF.js +21 -0
- package/dist/status-DHPz4Mg_.js +3364 -0
- package/dist/status-DSoYX3Ep.js +27 -0
- package/dist/status-Drziap9H.js +21 -0
- package/dist/subsystem-Btuh5yZj.js +834 -0
- package/dist/system-cli-CUQswQPX.js +83 -0
- package/dist/system-cli-Cz7in_Xr.js +81 -0
- package/dist/systemd-CFHiVC1D.js +438 -0
- package/dist/systemd-hints-CgQqk98i.js +19 -0
- package/dist/systemd-hints-DKVCFZS3.js +19 -0
- package/dist/systemd-kY3NnWdi.js +438 -0
- package/dist/systemd-linger-CFK5jDdq.js +75 -0
- package/dist/systemd-linger-CxBBzOjC.js +75 -0
- package/dist/table-DAOPkdc_.js +279 -0
- package/dist/table-DDQGlZSe.js +279 -0
- package/dist/tailnet-CZq_ZSNX.js +42 -0
- package/dist/tailnet-D5wOWpOX.js +42 -0
- package/dist/tailscale-BY0igR48.js +252 -0
- package/dist/tailscale-CCLcQalf.js +225 -0
- package/dist/tool-display-B2rS2o6B.js +795 -0
- package/dist/tool-display-Zbh1CRw5.js +795 -0
- package/dist/transcript-events-BOK6eOU8.js +17 -0
- package/dist/transcript-events-D2kT5WSz.js +17 -0
- package/dist/transcript-events-JLH5W4He.js +17 -0
- package/dist/tui-DFVs6pRO.js +2672 -0
- package/dist/tui-cli-CBKZVd1C.js +58 -0
- package/dist/tui-cli-DexeJOgZ.js +56 -0
- package/dist/tui-qPHLsB-x.js +2672 -0
- package/dist/update-B2q3duJD.js +317 -0
- package/dist/update-DNnej3C6.js +317 -0
- package/dist/update-cli-BPUtZjbl.js +1031 -0
- package/dist/update-cli-ehTYbpaU.js +1032 -0
- package/dist/update-runner-BfncKnU6.js +1375 -0
- package/dist/update-runner-DAeygRSU.js +1375 -0
- package/dist/usage-format-C4JfTbSp.js +36 -0
- package/dist/usage-format-DvowRSs-.js +36 -0
- package/dist/utils-7IMqr8vR.js +189 -0
- package/dist/utils-D7jskKIf.js +192 -0
- package/dist/wallet-manager-7KHKMCbT.js +264 -0
- package/dist/wallet-manager-CT1ykq2O.js +264 -0
- package/dist/webhooks-cli-C0CV-1jG.js +310 -0
- package/dist/webhooks-cli-DT16BygW.js +312 -0
- package/dist/widearea-dns-BJZTAyT3.js +127 -0
- package/dist/widearea-dns-Dk82I4Xa.js +127 -0
- package/dist/ws-6_dFpKWQ.js +13 -0
- package/dist/ws-D64QKPe6.js +13 -0
- package/dist/ws-log-BhQmGM0R.js +267 -0
- package/dist/ws-log-DsyLcTqD.js +267 -0
- package/dist/wsl-C24YfxH9.js +160 -0
- package/docs/.i18n/README.md +31 -0
- package/docs/.i18n/glossary.zh-CN.json +210 -0
- package/docs/.i18n/zh-CN.tm.jsonl +1329 -0
- package/docs/CNAME +1 -0
- package/docs/assets/macos-onboarding/01-macos-warning.jpeg +0 -0
- package/docs/assets/macos-onboarding/02-local-networks.jpeg +0 -0
- package/docs/assets/macos-onboarding/03-security-notice.png +0 -0
- package/docs/assets/macos-onboarding/04-choose-gateway.png +0 -0
- package/docs/assets/macos-onboarding/05-permissions.png +0 -0
- package/docs/assets/openclaw-logo-text-dark.png +0 -0
- package/docs/assets/openclaw-logo-text.png +0 -0
- package/docs/assets/pixel-lobster.svg +60 -0
- package/docs/assets/showcase/agents-ui.jpg +0 -0
- package/docs/assets/showcase/bambu-cli.png +0 -0
- package/docs/assets/showcase/codexmonitor.png +0 -0
- package/docs/assets/showcase/gohome-grafana.png +0 -0
- package/docs/assets/showcase/ios-testflight.jpg +0 -0
- package/docs/assets/showcase/oura-health.png +0 -0
- package/docs/assets/showcase/padel-cli.svg +11 -0
- package/docs/assets/showcase/padel-screenshot.jpg +0 -0
- package/docs/assets/showcase/papla-tts.jpg +0 -0
- package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
- package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
- package/docs/assets/showcase/roborock-status.svg +13 -0
- package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
- package/docs/assets/showcase/snag.png +0 -0
- package/docs/assets/showcase/tesco-shop.jpg +0 -0
- package/docs/assets/showcase/wienerlinien.png +0 -0
- package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
- package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
- package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
- package/docs/automation/auth-monitoring.md +44 -0
- package/docs/automation/cron-jobs.md +468 -0
- package/docs/automation/cron-vs-heartbeat.md +282 -0
- package/docs/automation/gmail-pubsub.md +256 -0
- package/docs/automation/poll.md +69 -0
- package/docs/automation/webhook.md +163 -0
- package/docs/bedrock.md +176 -0
- package/docs/brave-search.md +41 -0
- package/docs/broadcast-groups.md +442 -0
- package/docs/channels/bluebubbles.md +338 -0
- package/docs/channels/discord.md +476 -0
- package/docs/channels/feishu.md +577 -0
- package/docs/channels/googlechat.md +250 -0
- package/docs/channels/grammy.md +31 -0
- package/docs/channels/imessage.md +299 -0
- package/docs/channels/index.md +46 -0
- package/docs/channels/line.md +186 -0
- package/docs/channels/location.md +56 -0
- package/docs/channels/matrix.md +233 -0
- package/docs/channels/mattermost.md +138 -0
- package/docs/channels/msteams.md +768 -0
- package/docs/channels/nextcloud-talk.md +136 -0
- package/docs/channels/nostr.md +233 -0
- package/docs/channels/signal.md +202 -0
- package/docs/channels/slack.md +548 -0
- package/docs/channels/telegram.md +769 -0
- package/docs/channels/tlon.md +132 -0
- package/docs/channels/troubleshooting.md +29 -0
- package/docs/channels/twitch.md +379 -0
- package/docs/channels/whatsapp.md +404 -0
- package/docs/channels/zalo.md +189 -0
- package/docs/channels/zalouser.md +140 -0
- package/docs/cli/acp.md +170 -0
- package/docs/cli/agent.md +24 -0
- package/docs/cli/agents.md +75 -0
- package/docs/cli/approvals.md +50 -0
- package/docs/cli/browser.md +107 -0
- package/docs/cli/channels.md +79 -0
- package/docs/cli/config.md +50 -0
- package/docs/cli/configure.md +33 -0
- package/docs/cli/cron.md +42 -0
- package/docs/cli/dashboard.md +16 -0
- package/docs/cli/devices.md +70 -0
- package/docs/cli/directory.md +63 -0
- package/docs/cli/dns.md +23 -0
- package/docs/cli/docs.md +15 -0
- package/docs/cli/doctor.md +41 -0
- package/docs/cli/gateway.md +202 -0
- package/docs/cli/health.md +21 -0
- package/docs/cli/hooks.md +304 -0
- package/docs/cli/index.md +1031 -0
- package/docs/cli/logs.md +24 -0
- package/docs/cli/memory.md +45 -0
- package/docs/cli/message.md +239 -0
- package/docs/cli/models.md +79 -0
- package/docs/cli/node.md +112 -0
- package/docs/cli/nodes.md +73 -0
- package/docs/cli/onboard.md +43 -0
- package/docs/cli/pairing.md +21 -0
- package/docs/cli/plugins.md +62 -0
- package/docs/cli/reset.md +17 -0
- package/docs/cli/sandbox.md +152 -0
- package/docs/cli/security.md +26 -0
- package/docs/cli/sessions.md +16 -0
- package/docs/cli/setup.md +29 -0
- package/docs/cli/skills.md +26 -0
- package/docs/cli/status.md +26 -0
- package/docs/cli/system.md +60 -0
- package/docs/cli/tui.md +23 -0
- package/docs/cli/uninstall.md +17 -0
- package/docs/cli/update.md +98 -0
- package/docs/cli/voicecall.md +34 -0
- package/docs/cli/webhooks.md +25 -0
- package/docs/concepts/agent-loop.md +146 -0
- package/docs/concepts/agent-workspace.md +233 -0
- package/docs/concepts/agent.md +123 -0
- package/docs/concepts/architecture.md +129 -0
- package/docs/concepts/channel-routing.md +114 -0
- package/docs/concepts/compaction.md +61 -0
- package/docs/concepts/context.md +161 -0
- package/docs/concepts/features.md +53 -0
- package/docs/concepts/group-messages.md +84 -0
- package/docs/concepts/groups.md +373 -0
- package/docs/concepts/markdown-formatting.md +130 -0
- package/docs/concepts/memory.md +546 -0
- package/docs/concepts/messages.md +154 -0
- package/docs/concepts/model-failover.md +149 -0
- package/docs/concepts/model-providers.md +316 -0
- package/docs/concepts/models.md +208 -0
- package/docs/concepts/multi-agent.md +376 -0
- package/docs/concepts/oauth.md +145 -0
- package/docs/concepts/presence.md +102 -0
- package/docs/concepts/queue.md +89 -0
- package/docs/concepts/retry.md +69 -0
- package/docs/concepts/session-pruning.md +122 -0
- package/docs/concepts/session-tool.md +193 -0
- package/docs/concepts/session.md +204 -0
- package/docs/concepts/sessions.md +10 -0
- package/docs/concepts/streaming.md +135 -0
- package/docs/concepts/system-prompt.md +115 -0
- package/docs/concepts/timezone.md +91 -0
- package/docs/concepts/typebox.md +289 -0
- package/docs/concepts/typing-indicators.md +68 -0
- package/docs/concepts/usage-tracking.md +35 -0
- package/docs/date-time.md +128 -0
- package/docs/debug/node-issue.md +83 -0
- package/docs/debugging.md +162 -0
- package/docs/diagnostics/flags.md +91 -0
- package/docs/docs.json +1736 -0
- package/docs/environment.md +81 -0
- package/docs/experiments/onboarding-config-protocol.md +40 -0
- package/docs/experiments/plans/cron-add-hardening.md +63 -0
- package/docs/experiments/plans/group-policy-hardening.md +40 -0
- package/docs/experiments/plans/openresponses-gateway.md +123 -0
- package/docs/experiments/proposals/model-config.md +36 -0
- package/docs/experiments/research/memory.md +228 -0
- package/docs/gateway/authentication.md +145 -0
- package/docs/gateway/background-process.md +93 -0
- package/docs/gateway/bonjour.md +167 -0
- package/docs/gateway/bridge-protocol.md +89 -0
- package/docs/gateway/cli-backends.md +225 -0
- package/docs/gateway/configuration-examples.md +606 -0
- package/docs/gateway/configuration.md +3411 -0
- package/docs/gateway/discovery.md +116 -0
- package/docs/gateway/doctor.md +282 -0
- package/docs/gateway/gateway-lock.md +34 -0
- package/docs/gateway/health.md +35 -0
- package/docs/gateway/heartbeat.md +362 -0
- package/docs/gateway/index.md +328 -0
- package/docs/gateway/local-models.md +150 -0
- package/docs/gateway/logging.md +113 -0
- package/docs/gateway/multiple-gateways.md +112 -0
- package/docs/gateway/network-model.md +17 -0
- package/docs/gateway/openai-http-api.md +118 -0
- package/docs/gateway/openresponses-http-api.md +317 -0
- package/docs/gateway/pairing.md +99 -0
- package/docs/gateway/protocol.md +221 -0
- package/docs/gateway/remote-gateway-readme.md +157 -0
- package/docs/gateway/remote.md +129 -0
- package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +128 -0
- package/docs/gateway/sandboxing.md +193 -0
- package/docs/gateway/security/formal-verification.md +164 -0
- package/docs/gateway/security/index.md +825 -0
- package/docs/gateway/tailscale.md +127 -0
- package/docs/gateway/tools-invoke-http-api.md +85 -0
- package/docs/gateway/troubleshooting.md +767 -0
- package/docs/help/faq.md +2829 -0
- package/docs/help/index.md +21 -0
- package/docs/help/troubleshooting.md +98 -0
- package/docs/hooks/soul-evil.md +69 -0
- package/docs/hooks.md +913 -0
- package/docs/images/feishu-step2-create-app.png +0 -0
- package/docs/images/feishu-step3-credentials.png +0 -0
- package/docs/images/feishu-step4-permissions.png +0 -0
- package/docs/images/feishu-step5-bot-capability.png +0 -0
- package/docs/images/feishu-step6-event-subscription.png +0 -0
- package/docs/images/groups-flow.svg +52 -0
- package/docs/images/mobile-ui-screenshot.png +0 -0
- package/docs/index.md +192 -0
- package/docs/install/ansible.md +208 -0
- package/docs/install/bun.md +59 -0
- package/docs/install/development-channels.md +75 -0
- package/docs/install/docker.md +567 -0
- package/docs/install/exe-dev.md +126 -0
- package/docs/install/fly.md +486 -0
- package/docs/install/gcp.md +503 -0
- package/docs/install/hetzner.md +330 -0
- package/docs/install/index.md +187 -0
- package/docs/install/installer.md +123 -0
- package/docs/install/macos-vm.md +281 -0
- package/docs/install/migrating.md +192 -0
- package/docs/install/nix.md +96 -0
- package/docs/install/node.md +78 -0
- package/docs/install/northflank.mdx +53 -0
- package/docs/install/railway.mdx +99 -0
- package/docs/install/render.mdx +165 -0
- package/docs/install/uninstall.md +128 -0
- package/docs/install/updating.md +228 -0
- package/docs/logging.md +350 -0
- package/docs/multi-agent-sandbox-tools.md +395 -0
- package/docs/network.md +54 -0
- package/docs/nodes/audio.md +114 -0
- package/docs/nodes/camera.md +156 -0
- package/docs/nodes/images.md +72 -0
- package/docs/nodes/index.md +341 -0
- package/docs/nodes/location-command.md +113 -0
- package/docs/nodes/media-understanding.md +379 -0
- package/docs/nodes/talk.md +90 -0
- package/docs/nodes/voicewake.md +65 -0
- package/docs/perplexity.md +80 -0
- package/docs/pi-dev.md +70 -0
- package/docs/pi.md +612 -0
- package/docs/platforms/android.md +148 -0
- package/docs/platforms/digitalocean.md +262 -0
- package/docs/platforms/index.md +53 -0
- package/docs/platforms/ios.md +107 -0
- package/docs/platforms/linux.md +94 -0
- package/docs/platforms/mac/bundled-gateway.md +73 -0
- package/docs/platforms/mac/canvas.md +125 -0
- package/docs/platforms/mac/child-process.md +69 -0
- package/docs/platforms/mac/dev-setup.md +102 -0
- package/docs/platforms/mac/health.md +34 -0
- package/docs/platforms/mac/icon.md +31 -0
- package/docs/platforms/mac/logging.md +57 -0
- package/docs/platforms/mac/menu-bar.md +81 -0
- package/docs/platforms/mac/peekaboo.md +65 -0
- package/docs/platforms/mac/permissions.md +44 -0
- package/docs/platforms/mac/release.md +85 -0
- package/docs/platforms/mac/remote.md +83 -0
- package/docs/platforms/mac/signing.md +47 -0
- package/docs/platforms/mac/skills.md +33 -0
- package/docs/platforms/mac/voice-overlay.md +60 -0
- package/docs/platforms/mac/voicewake.md +67 -0
- package/docs/platforms/mac/webchat.md +41 -0
- package/docs/platforms/mac/xpc.md +61 -0
- package/docs/platforms/macos.md +203 -0
- package/docs/platforms/oracle.md +303 -0
- package/docs/platforms/raspberry-pi.md +358 -0
- package/docs/platforms/windows.md +159 -0
- package/docs/plugin.md +664 -0
- package/docs/plugins/agent-tools.md +99 -0
- package/docs/plugins/manifest.md +71 -0
- package/docs/plugins/voice-call.md +284 -0
- package/docs/plugins/zalouser.md +81 -0
- package/docs/prose.md +134 -0
- package/docs/providers/anthropic.md +152 -0
- package/docs/providers/claude-max-api-proxy.md +148 -0
- package/docs/providers/cloudflare-ai-gateway.md +71 -0
- package/docs/providers/deepgram.md +93 -0
- package/docs/providers/github-copilot.md +72 -0
- package/docs/providers/glm.md +33 -0
- package/docs/providers/index.md +63 -0
- package/docs/providers/minimax.md +208 -0
- package/docs/providers/models.md +51 -0
- package/docs/providers/moonshot.md +142 -0
- package/docs/providers/ollama.md +277 -0
- package/docs/providers/openai.md +62 -0
- package/docs/providers/opencode.md +36 -0
- package/docs/providers/openrouter.md +37 -0
- package/docs/providers/qwen.md +53 -0
- package/docs/providers/synthetic.md +99 -0
- package/docs/providers/venice.md +267 -0
- package/docs/providers/vercel-ai-gateway.md +50 -0
- package/docs/providers/xiaomi.md +64 -0
- package/docs/providers/zai.md +36 -0
- package/docs/refactor/clawnet.md +417 -0
- package/docs/refactor/exec-host.md +316 -0
- package/docs/refactor/outbound-session-mirroring.md +85 -0
- package/docs/refactor/plugin-sdk.md +214 -0
- package/docs/refactor/strict-config.md +93 -0
- package/docs/reference/AGENTS.default.md +124 -0
- package/docs/reference/RELEASING.md +120 -0
- package/docs/reference/api-usage-costs.md +137 -0
- package/docs/reference/credits.md +27 -0
- package/docs/reference/device-models.md +47 -0
- package/docs/reference/rpc.md +43 -0
- package/docs/reference/session-management-compaction.md +285 -0
- package/docs/reference/templates/AGENTS.dev.md +83 -0
- package/docs/reference/templates/AGENTS.md +218 -0
- package/docs/reference/templates/BOOT.md +10 -0
- package/docs/reference/templates/BOOTSTRAP.md +61 -0
- package/docs/reference/templates/HEARTBEAT.md +11 -0
- package/docs/reference/templates/IDENTITY.dev.md +47 -0
- package/docs/reference/templates/IDENTITY.md +27 -0
- package/docs/reference/templates/SOUL.dev.md +76 -0
- package/docs/reference/templates/SOUL.md +42 -0
- package/docs/reference/templates/TOOLS.dev.md +24 -0
- package/docs/reference/templates/TOOLS.md +46 -0
- package/docs/reference/templates/USER.dev.md +18 -0
- package/docs/reference/templates/USER.md +22 -0
- package/docs/reference/test.md +50 -0
- package/docs/reference/transcript-hygiene.md +129 -0
- package/docs/reference/wizard.md +268 -0
- package/docs/scripts.md +28 -0
- package/docs/security/formal-verification.md +164 -0
- package/docs/start/bootstrapping.md +41 -0
- package/docs/start/docs-directory.md +64 -0
- package/docs/start/getting-started.md +120 -0
- package/docs/start/hubs.md +197 -0
- package/docs/start/lore.md +219 -0
- package/docs/start/onboarding.md +80 -0
- package/docs/start/openclaw.md +224 -0
- package/docs/start/pairing.md +86 -0
- package/docs/start/quickstart.md +22 -0
- package/docs/start/setup.md +162 -0
- package/docs/start/showcase.md +416 -0
- package/docs/start/wizard-cli-automation.md +141 -0
- package/docs/start/wizard-cli-reference.md +244 -0
- package/docs/start/wizard.md +108 -0
- package/docs/style.css +3 -0
- package/docs/testing.md +368 -0
- package/docs/token-use.md +112 -0
- package/docs/tools/agent-send.md +53 -0
- package/docs/tools/apply-patch.md +50 -0
- package/docs/tools/browser-linux-troubleshooting.md +139 -0
- package/docs/tools/browser-login.md +68 -0
- package/docs/tools/browser.md +576 -0
- package/docs/tools/chrome-extension.md +178 -0
- package/docs/tools/clawhub.md +257 -0
- package/docs/tools/creating-skills.md +54 -0
- package/docs/tools/elevated.md +57 -0
- package/docs/tools/exec-approvals.md +246 -0
- package/docs/tools/exec.md +179 -0
- package/docs/tools/firecrawl.md +61 -0
- package/docs/tools/index.md +512 -0
- package/docs/tools/llm-task.md +115 -0
- package/docs/tools/lobster.md +342 -0
- package/docs/tools/reactions.md +22 -0
- package/docs/tools/skills-config.md +76 -0
- package/docs/tools/skills.md +300 -0
- package/docs/tools/slash-commands.md +198 -0
- package/docs/tools/subagents.md +151 -0
- package/docs/tools/thinking.md +74 -0
- package/docs/tools/web.md +261 -0
- package/docs/tts.md +396 -0
- package/docs/tui.md +162 -0
- package/docs/vps.md +43 -0
- package/docs/web/control-ui.md +223 -0
- package/docs/web/dashboard.md +46 -0
- package/docs/web/index.md +116 -0
- package/docs/web/webchat.md +49 -0
- package/docs/whatsapp-openclaw-ai-zh.jpg +0 -0
- package/docs/whatsapp-openclaw.jpg +0 -0
- package/docs/zh-CN/AGENTS.md +59 -0
- package/docs/zh-CN/automation/auth-monitoring.md +47 -0
- package/docs/zh-CN/automation/cron-jobs.md +424 -0
- package/docs/zh-CN/automation/cron-vs-heartbeat.md +286 -0
- package/docs/zh-CN/automation/gmail-pubsub.md +249 -0
- package/docs/zh-CN/automation/poll.md +76 -0
- package/docs/zh-CN/automation/webhook.md +163 -0
- package/docs/zh-CN/bedrock.md +170 -0
- package/docs/zh-CN/brave-search.md +48 -0
- package/docs/zh-CN/broadcast-groups.md +449 -0
- package/docs/zh-CN/channels/bluebubbles.md +271 -0
- package/docs/zh-CN/channels/discord.md +468 -0
- package/docs/zh-CN/channels/feishu.md +629 -0
- package/docs/zh-CN/channels/googlechat.md +257 -0
- package/docs/zh-CN/channels/grammy.md +38 -0
- package/docs/zh-CN/channels/imessage.md +302 -0
- package/docs/zh-CN/channels/index.md +53 -0
- package/docs/zh-CN/channels/line.md +180 -0
- package/docs/zh-CN/channels/location.md +63 -0
- package/docs/zh-CN/channels/matrix.md +221 -0
- package/docs/zh-CN/channels/mattermost.md +144 -0
- package/docs/zh-CN/channels/msteams.md +775 -0
- package/docs/zh-CN/channels/nextcloud-talk.md +142 -0
- package/docs/zh-CN/channels/nostr.md +240 -0
- package/docs/zh-CN/channels/signal.md +209 -0
- package/docs/zh-CN/channels/slack.md +531 -0
- package/docs/zh-CN/channels/telegram.md +751 -0
- package/docs/zh-CN/channels/tlon.md +136 -0
- package/docs/zh-CN/channels/troubleshooting.md +36 -0
- package/docs/zh-CN/channels/twitch.md +385 -0
- package/docs/zh-CN/channels/whatsapp.md +411 -0
- package/docs/zh-CN/channels/zalo.md +196 -0
- package/docs/zh-CN/channels/zalouser.md +147 -0
- package/docs/zh-CN/cli/acp.md +173 -0
- package/docs/zh-CN/cli/agent.md +30 -0
- package/docs/zh-CN/cli/agents.md +82 -0
- package/docs/zh-CN/cli/approvals.md +57 -0
- package/docs/zh-CN/cli/browser.md +114 -0
- package/docs/zh-CN/cli/channels.md +86 -0
- package/docs/zh-CN/cli/config.md +57 -0
- package/docs/zh-CN/cli/configure.md +38 -0
- package/docs/zh-CN/cli/cron.md +43 -0
- package/docs/zh-CN/cli/dashboard.md +23 -0
- package/docs/zh-CN/cli/devices.md +74 -0
- package/docs/zh-CN/cli/directory.md +70 -0
- package/docs/zh-CN/cli/dns.md +30 -0
- package/docs/zh-CN/cli/docs.md +22 -0
- package/docs/zh-CN/cli/doctor.md +48 -0
- package/docs/zh-CN/cli/gateway.md +206 -0
- package/docs/zh-CN/cli/health.md +28 -0
- package/docs/zh-CN/cli/hooks.md +311 -0
- package/docs/zh-CN/cli/index.md +1032 -0
- package/docs/zh-CN/cli/logs.md +31 -0
- package/docs/zh-CN/cli/memory.md +52 -0
- package/docs/zh-CN/cli/message.md +246 -0
- package/docs/zh-CN/cli/models.md +85 -0
- package/docs/zh-CN/cli/node.md +115 -0
- package/docs/zh-CN/cli/nodes.md +80 -0
- package/docs/zh-CN/cli/onboard.md +36 -0
- package/docs/zh-CN/cli/pairing.md +28 -0
- package/docs/zh-CN/cli/plugins.md +66 -0
- package/docs/zh-CN/cli/reset.md +24 -0
- package/docs/zh-CN/cli/sandbox.md +158 -0
- package/docs/zh-CN/cli/security.md +33 -0
- package/docs/zh-CN/cli/sessions.md +23 -0
- package/docs/zh-CN/cli/setup.md +36 -0
- package/docs/zh-CN/cli/skills.md +33 -0
- package/docs/zh-CN/cli/status.md +33 -0
- package/docs/zh-CN/cli/system.md +63 -0
- package/docs/zh-CN/cli/tui.md +30 -0
- package/docs/zh-CN/cli/uninstall.md +24 -0
- package/docs/zh-CN/cli/update.md +101 -0
- package/docs/zh-CN/cli/voicecall.md +41 -0
- package/docs/zh-CN/cli/webhooks.md +32 -0
- package/docs/zh-CN/concepts/agent-loop.md +146 -0
- package/docs/zh-CN/concepts/agent-workspace.md +219 -0
- package/docs/zh-CN/concepts/agent.md +115 -0
- package/docs/zh-CN/concepts/architecture.md +123 -0
- package/docs/zh-CN/concepts/channel-routing.md +117 -0
- package/docs/zh-CN/concepts/compaction.md +67 -0
- package/docs/zh-CN/concepts/context.md +168 -0
- package/docs/zh-CN/concepts/features.md +59 -0
- package/docs/zh-CN/concepts/group-messages.md +91 -0
- package/docs/zh-CN/concepts/groups.md +379 -0
- package/docs/zh-CN/concepts/markdown-formatting.md +117 -0
- package/docs/zh-CN/concepts/memory.md +412 -0
- package/docs/zh-CN/concepts/messages.md +141 -0
- package/docs/zh-CN/concepts/model-failover.md +145 -0
- package/docs/zh-CN/concepts/model-providers.md +320 -0
- package/docs/zh-CN/concepts/models.md +196 -0
- package/docs/zh-CN/concepts/multi-agent.md +372 -0
- package/docs/zh-CN/concepts/oauth.md +151 -0
- package/docs/zh-CN/concepts/presence.md +99 -0
- package/docs/zh-CN/concepts/queue.md +94 -0
- package/docs/zh-CN/concepts/retry.md +76 -0
- package/docs/zh-CN/concepts/session-pruning.md +129 -0
- package/docs/zh-CN/concepts/session-tool.md +200 -0
- package/docs/zh-CN/concepts/session.md +166 -0
- package/docs/zh-CN/concepts/sessions.md +17 -0
- package/docs/zh-CN/concepts/streaming.md +133 -0
- package/docs/zh-CN/concepts/system-prompt.md +101 -0
- package/docs/zh-CN/concepts/timezone.md +96 -0
- package/docs/zh-CN/concepts/typebox.md +284 -0
- package/docs/zh-CN/concepts/typing-indicators.md +74 -0
- package/docs/zh-CN/concepts/usage-tracking.md +42 -0
- package/docs/zh-CN/date-time.md +129 -0
- package/docs/zh-CN/debug/node-issue.md +90 -0
- package/docs/zh-CN/debugging.md +160 -0
- package/docs/zh-CN/diagnostics/flags.md +98 -0
- package/docs/zh-CN/environment.md +88 -0
- package/docs/zh-CN/experiments/onboarding-config-protocol.md +47 -0
- package/docs/zh-CN/experiments/plans/cron-add-hardening.md +70 -0
- package/docs/zh-CN/experiments/plans/group-policy-hardening.md +45 -0
- package/docs/zh-CN/experiments/plans/openresponses-gateway.md +121 -0
- package/docs/zh-CN/experiments/proposals/model-config.md +42 -0
- package/docs/zh-CN/experiments/research/memory.md +235 -0
- package/docs/zh-CN/gateway/authentication.md +142 -0
- package/docs/zh-CN/gateway/background-process.md +100 -0
- package/docs/zh-CN/gateway/bonjour.md +174 -0
- package/docs/zh-CN/gateway/bridge-protocol.md +86 -0
- package/docs/zh-CN/gateway/cli-backends.md +213 -0
- package/docs/zh-CN/gateway/configuration-examples.md +587 -0
- package/docs/zh-CN/gateway/configuration.md +3332 -0
- package/docs/zh-CN/gateway/discovery.md +123 -0
- package/docs/zh-CN/gateway/doctor.md +238 -0
- package/docs/zh-CN/gateway/gateway-lock.md +41 -0
- package/docs/zh-CN/gateway/health.md +42 -0
- package/docs/zh-CN/gateway/heartbeat.md +274 -0
- package/docs/zh-CN/gateway/index.md +335 -0
- package/docs/zh-CN/gateway/local-models.md +157 -0
- package/docs/zh-CN/gateway/logging.md +114 -0
- package/docs/zh-CN/gateway/multiple-gateways.md +119 -0
- package/docs/zh-CN/gateway/network-model.md +23 -0
- package/docs/zh-CN/gateway/openai-http-api.md +125 -0
- package/docs/zh-CN/gateway/openresponses-http-api.md +317 -0
- package/docs/zh-CN/gateway/pairing.md +99 -0
- package/docs/zh-CN/gateway/protocol.md +220 -0
- package/docs/zh-CN/gateway/remote-gateway-readme.md +164 -0
- package/docs/zh-CN/gateway/remote.md +133 -0
- package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +135 -0
- package/docs/zh-CN/gateway/sandboxing.md +188 -0
- package/docs/zh-CN/gateway/security/formal-verification.md +169 -0
- package/docs/zh-CN/gateway/security/index.md +777 -0
- package/docs/zh-CN/gateway/tailscale.md +124 -0
- package/docs/zh-CN/gateway/tools-invoke-http-api.md +92 -0
- package/docs/zh-CN/gateway/troubleshooting.md +771 -0
- package/docs/zh-CN/help/faq.md +2628 -0
- package/docs/zh-CN/help/index.md +28 -0
- package/docs/zh-CN/help/troubleshooting.md +104 -0
- package/docs/zh-CN/hooks/soul-evil.md +72 -0
- package/docs/zh-CN/hooks.md +919 -0
- package/docs/zh-CN/index.md +186 -0
- package/docs/zh-CN/install/ansible.md +215 -0
- package/docs/zh-CN/install/bun.md +65 -0
- package/docs/zh-CN/install/development-channels.md +81 -0
- package/docs/zh-CN/install/docker.md +532 -0
- package/docs/zh-CN/install/exe-dev.md +127 -0
- package/docs/zh-CN/install/fly.md +490 -0
- package/docs/zh-CN/install/gcp.md +510 -0
- package/docs/zh-CN/install/hetzner.md +337 -0
- package/docs/zh-CN/install/index.md +193 -0
- package/docs/zh-CN/install/installer.md +128 -0
- package/docs/zh-CN/install/macos-vm.md +288 -0
- package/docs/zh-CN/install/migrating.md +199 -0
- package/docs/zh-CN/install/nix.md +99 -0
- package/docs/zh-CN/install/node.md +85 -0
- package/docs/zh-CN/install/northflank.mdx +60 -0
- package/docs/zh-CN/install/railway.mdx +106 -0
- package/docs/zh-CN/install/render.mdx +169 -0
- package/docs/zh-CN/install/uninstall.md +135 -0
- package/docs/zh-CN/install/updating.md +233 -0
- package/docs/zh-CN/logging.md +329 -0
- package/docs/zh-CN/multi-agent-sandbox-tools.md +401 -0
- package/docs/zh-CN/network.md +59 -0
- package/docs/zh-CN/nodes/audio.md +120 -0
- package/docs/zh-CN/nodes/camera.md +162 -0
- package/docs/zh-CN/nodes/images.md +79 -0
- package/docs/zh-CN/nodes/index.md +348 -0
- package/docs/zh-CN/nodes/location-command.md +120 -0
- package/docs/zh-CN/nodes/media-understanding.md +380 -0
- package/docs/zh-CN/nodes/talk.md +97 -0
- package/docs/zh-CN/nodes/voicewake.md +72 -0
- package/docs/zh-CN/perplexity.md +84 -0
- package/docs/zh-CN/pi-dev.md +77 -0
- package/docs/zh-CN/pi.md +619 -0
- package/docs/zh-CN/platforms/android.md +155 -0
- package/docs/zh-CN/platforms/digitalocean.md +269 -0
- package/docs/zh-CN/platforms/index.md +60 -0
- package/docs/zh-CN/platforms/ios.md +114 -0
- package/docs/zh-CN/platforms/linux.md +101 -0
- package/docs/zh-CN/platforms/mac/bundled-gateway.md +75 -0
- package/docs/zh-CN/platforms/mac/canvas.md +128 -0
- package/docs/zh-CN/platforms/mac/child-process.md +73 -0
- package/docs/zh-CN/platforms/mac/dev-setup.md +109 -0
- package/docs/zh-CN/platforms/mac/health.md +41 -0
- package/docs/zh-CN/platforms/mac/icon.md +38 -0
- package/docs/zh-CN/platforms/mac/logging.md +64 -0
- package/docs/zh-CN/platforms/mac/menu-bar.md +88 -0
- package/docs/zh-CN/platforms/mac/peekaboo.md +62 -0
- package/docs/zh-CN/platforms/mac/permissions.md +46 -0
- package/docs/zh-CN/platforms/mac/release.md +92 -0
- package/docs/zh-CN/platforms/mac/remote.md +90 -0
- package/docs/zh-CN/platforms/mac/signing.md +54 -0
- package/docs/zh-CN/platforms/mac/skills.md +40 -0
- package/docs/zh-CN/platforms/mac/voice-overlay.md +67 -0
- package/docs/zh-CN/platforms/mac/voicewake.md +74 -0
- package/docs/zh-CN/platforms/mac/webchat.md +43 -0
- package/docs/zh-CN/platforms/mac/xpc.md +68 -0
- package/docs/zh-CN/platforms/macos.md +193 -0
- package/docs/zh-CN/platforms/oracle.md +310 -0
- package/docs/zh-CN/platforms/raspberry-pi.md +365 -0
- package/docs/zh-CN/platforms/windows.md +156 -0
- package/docs/zh-CN/plugin.md +639 -0
- package/docs/zh-CN/plugins/agent-tools.md +99 -0
- package/docs/zh-CN/plugins/manifest.md +68 -0
- package/docs/zh-CN/plugins/voice-call.md +250 -0
- package/docs/zh-CN/plugins/zalouser.md +88 -0
- package/docs/zh-CN/prose.md +141 -0
- package/docs/zh-CN/providers/anthropic.md +159 -0
- package/docs/zh-CN/providers/claude-max-api-proxy.md +155 -0
- package/docs/zh-CN/providers/deepgram.md +97 -0
- package/docs/zh-CN/providers/github-copilot.md +67 -0
- package/docs/zh-CN/providers/glm.md +39 -0
- package/docs/zh-CN/providers/index.md +68 -0
- package/docs/zh-CN/providers/minimax.md +206 -0
- package/docs/zh-CN/providers/models.md +55 -0
- package/docs/zh-CN/providers/moonshot.md +145 -0
- package/docs/zh-CN/providers/ollama.md +230 -0
- package/docs/zh-CN/providers/openai.md +68 -0
- package/docs/zh-CN/providers/opencode.md +41 -0
- package/docs/zh-CN/providers/openrouter.md +43 -0
- package/docs/zh-CN/providers/qwen.md +55 -0
- package/docs/zh-CN/providers/synthetic.md +102 -0
- package/docs/zh-CN/providers/venice.md +274 -0
- package/docs/zh-CN/providers/vercel-ai-gateway.md +57 -0
- package/docs/zh-CN/providers/xiaomi.md +68 -0
- package/docs/zh-CN/providers/zai.md +41 -0
- package/docs/zh-CN/refactor/clawnet.md +424 -0
- package/docs/zh-CN/refactor/exec-host.md +323 -0
- package/docs/zh-CN/refactor/outbound-session-mirroring.md +92 -0
- package/docs/zh-CN/refactor/plugin-sdk.md +221 -0
- package/docs/zh-CN/refactor/strict-config.md +100 -0
- package/docs/zh-CN/reference/AGENTS.default.md +131 -0
- package/docs/zh-CN/reference/RELEASING.md +123 -0
- package/docs/zh-CN/reference/api-usage-costs.md +136 -0
- package/docs/zh-CN/reference/credits.md +34 -0
- package/docs/zh-CN/reference/device-models.md +54 -0
- package/docs/zh-CN/reference/rpc.md +48 -0
- package/docs/zh-CN/reference/session-management-compaction.md +287 -0
- package/docs/zh-CN/reference/templates/AGENTS.dev.md +89 -0
- package/docs/zh-CN/reference/templates/AGENTS.md +225 -0
- package/docs/zh-CN/reference/templates/BOOT.md +17 -0
- package/docs/zh-CN/reference/templates/BOOTSTRAP.md +68 -0
- package/docs/zh-CN/reference/templates/HEARTBEAT.md +18 -0
- package/docs/zh-CN/reference/templates/IDENTITY.dev.md +54 -0
- package/docs/zh-CN/reference/templates/IDENTITY.md +35 -0
- package/docs/zh-CN/reference/templates/SOUL.dev.md +83 -0
- package/docs/zh-CN/reference/templates/SOUL.md +49 -0
- package/docs/zh-CN/reference/templates/TOOLS.dev.md +31 -0
- package/docs/zh-CN/reference/templates/TOOLS.md +53 -0
- package/docs/zh-CN/reference/templates/USER.dev.md +25 -0
- package/docs/zh-CN/reference/templates/USER.md +30 -0
- package/docs/zh-CN/reference/test.md +57 -0
- package/docs/zh-CN/reference/transcript-hygiene.md +109 -0
- package/docs/zh-CN/scripts.md +35 -0
- package/docs/zh-CN/security/formal-verification.md +171 -0
- package/docs/zh-CN/start/docs-directory.md +70 -0
- package/docs/zh-CN/start/getting-started.md +206 -0
- package/docs/zh-CN/start/hubs.md +200 -0
- package/docs/zh-CN/start/lore.md +226 -0
- package/docs/zh-CN/start/onboarding.md +105 -0
- package/docs/zh-CN/start/openclaw.md +248 -0
- package/docs/zh-CN/start/pairing.md +89 -0
- package/docs/zh-CN/start/quickstart.md +88 -0
- package/docs/zh-CN/start/setup.md +153 -0
- package/docs/zh-CN/start/showcase.md +423 -0
- package/docs/zh-CN/start/wizard.md +331 -0
- package/docs/zh-CN/testing.md +375 -0
- package/docs/zh-CN/token-use.md +119 -0
- package/docs/zh-CN/tools/agent-send.md +59 -0
- package/docs/zh-CN/tools/apply-patch.md +57 -0
- package/docs/zh-CN/tools/browser-linux-troubleshooting.md +144 -0
- package/docs/zh-CN/tools/browser-login.md +75 -0
- package/docs/zh-CN/tools/browser.md +553 -0
- package/docs/zh-CN/tools/chrome-extension.md +183 -0
- package/docs/zh-CN/tools/clawhub.md +209 -0
- package/docs/zh-CN/tools/creating-skills.md +61 -0
- package/docs/zh-CN/tools/elevated.md +64 -0
- package/docs/zh-CN/tools/exec-approvals.md +234 -0
- package/docs/zh-CN/tools/exec.md +169 -0
- package/docs/zh-CN/tools/firecrawl.md +68 -0
- package/docs/zh-CN/tools/index.md +515 -0
- package/docs/zh-CN/tools/llm-task.md +117 -0
- package/docs/zh-CN/tools/lobster.md +349 -0
- package/docs/zh-CN/tools/reactions.md +29 -0
- package/docs/zh-CN/tools/skills-config.md +78 -0
- package/docs/zh-CN/tools/skills.md +279 -0
- package/docs/zh-CN/tools/slash-commands.md +205 -0
- package/docs/zh-CN/tools/subagents.md +156 -0
- package/docs/zh-CN/tools/thinking.md +80 -0
- package/docs/zh-CN/tools/web.md +257 -0
- package/docs/zh-CN/tts.md +375 -0
- package/docs/zh-CN/tui.md +166 -0
- package/docs/zh-CN/vps.md +47 -0
- package/docs/zh-CN/web/control-ui.md +191 -0
- package/docs/zh-CN/web/dashboard.md +53 -0
- package/docs/zh-CN/web/index.md +118 -0
- package/docs/zh-CN/web/webchat.md +56 -0
- package/extensions/blockchain/cryptoclaw.plugin.json +17 -0
- package/extensions/blockchain/index.ts +284 -0
- package/extensions/blockchain/node_modules/.bin/cryptoclaw +21 -0
- package/extensions/blockchain/node_modules/.bin/tsc +21 -0
- package/extensions/blockchain/node_modules/.bin/tsserver +21 -0
- package/extensions/blockchain/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/extensions/blockchain/package.json +16 -0
- package/extensions/blockchain/src/evm/chains.ts +150 -0
- package/extensions/blockchain/src/evm/services/abi/erc1155.ts +128 -0
- package/extensions/blockchain/src/evm/services/abi/erc20.ts +96 -0
- package/extensions/blockchain/src/evm/services/abi/erc721.ts +130 -0
- package/extensions/blockchain/src/evm/services/abi/erc8004-identity.ts +158 -0
- package/extensions/blockchain/src/evm/services/abi/erc8004-reputation.ts +120 -0
- package/extensions/blockchain/src/evm/services/abi/router-v2.ts +115 -0
- package/extensions/blockchain/src/evm/services/abi/router-v3.ts +81 -0
- package/extensions/blockchain/src/evm/services/agent-identity-config.test.ts +117 -0
- package/extensions/blockchain/src/evm/services/agent-identity-config.ts +75 -0
- package/extensions/blockchain/src/evm/services/agent-identity-store.ts +37 -0
- package/extensions/blockchain/src/evm/services/agent-identity.ts +262 -0
- package/extensions/blockchain/src/evm/services/balance.ts +76 -0
- package/extensions/blockchain/src/evm/services/blocks.ts +25 -0
- package/extensions/blockchain/src/evm/services/clients.ts +48 -0
- package/extensions/blockchain/src/evm/services/contracts.ts +52 -0
- package/extensions/blockchain/src/evm/services/dex-config.test.ts +145 -0
- package/extensions/blockchain/src/evm/services/dex-config.ts +164 -0
- package/extensions/blockchain/src/evm/services/ens.ts +27 -0
- package/extensions/blockchain/src/evm/services/security.test.ts +127 -0
- package/extensions/blockchain/src/evm/services/security.ts +110 -0
- package/extensions/blockchain/src/evm/services/swap.test.ts +204 -0
- package/extensions/blockchain/src/evm/services/swap.ts +534 -0
- package/extensions/blockchain/src/evm/services/tokens.ts +118 -0
- package/extensions/blockchain/src/evm/services/transactions.ts +54 -0
- package/extensions/blockchain/src/evm/services/transfer.ts +174 -0
- package/extensions/blockchain/src/evm/services/utils.ts +18 -0
- package/extensions/blockchain/src/evm/tools/block-tools.ts +34 -0
- package/extensions/blockchain/src/evm/tools/contract-tools.ts +138 -0
- package/extensions/blockchain/src/evm/tools/identity-tools.ts +305 -0
- package/extensions/blockchain/src/evm/tools/network-tools.ts +58 -0
- package/extensions/blockchain/src/evm/tools/nft-tools.ts +103 -0
- package/extensions/blockchain/src/evm/tools/security-tools.ts +38 -0
- package/extensions/blockchain/src/evm/tools/swap-tools.ts +314 -0
- package/extensions/blockchain/src/evm/tools/token-tools.ts +167 -0
- package/extensions/blockchain/src/evm/tools/tx-tools.ts +73 -0
- package/extensions/blockchain/src/evm/tools/wallet-tools.ts +196 -0
- package/extensions/blockchain/src/tx-gate/confirmation.ts +55 -0
- package/extensions/blockchain/src/tx-gate/spending-limits.ts +94 -0
- package/extensions/blockchain/src/wallet/active-wallet.ts +27 -0
- package/extensions/blockchain/src/wallet/key-guard.test.ts +156 -0
- package/extensions/blockchain/src/wallet/key-guard.ts +80 -0
- package/extensions/blockchain/src/wallet/keystore.ts +88 -0
- package/extensions/blockchain/src/wallet/wallet-manager.test.ts +215 -0
- package/extensions/blockchain/src/wallet/wallet-manager.ts +212 -0
- package/extensions/copilot-proxy/README.md +24 -0
- package/extensions/copilot-proxy/index.ts +149 -0
- package/extensions/copilot-proxy/node_modules/.bin/cryptoclaw +21 -0
- package/extensions/copilot-proxy/openclaw.plugin.json +9 -0
- package/extensions/copilot-proxy/package.json +14 -0
- package/extensions/diagnostics-otel/index.ts +15 -0
- package/extensions/diagnostics-otel/node_modules/.bin/acorn +21 -0
- package/extensions/diagnostics-otel/node_modules/.bin/cryptoclaw +21 -0
- package/extensions/diagnostics-otel/openclaw.plugin.json +8 -0
- package/extensions/diagnostics-otel/package.json +27 -0
- package/extensions/diagnostics-otel/src/service.test.ts +227 -0
- package/extensions/diagnostics-otel/src/service.ts +635 -0
- package/extensions/discord/index.ts +17 -0
- package/extensions/discord/node_modules/.bin/cryptoclaw +21 -0
- package/extensions/discord/openclaw.plugin.json +9 -0
- package/extensions/discord/package.json +14 -0
- package/extensions/discord/src/channel.ts +422 -0
- package/extensions/discord/src/runtime.ts +14 -0
- package/extensions/imessage/index.ts +17 -0
- package/extensions/imessage/node_modules/.bin/cryptoclaw +21 -0
- package/extensions/imessage/openclaw.plugin.json +9 -0
- package/extensions/imessage/package.json +14 -0
- package/extensions/imessage/src/channel.ts +294 -0
- package/extensions/imessage/src/runtime.ts +14 -0
- package/extensions/memory-core/index.ts +38 -0
- package/extensions/memory-core/node_modules/.bin/cryptoclaw +21 -0
- package/extensions/memory-core/openclaw.plugin.json +9 -0
- package/extensions/memory-core/package.json +17 -0
- package/extensions/memory-lancedb/config.ts +139 -0
- package/extensions/memory-lancedb/index.test.ts +295 -0
- package/extensions/memory-lancedb/index.ts +608 -0
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +21 -0
- package/extensions/memory-lancedb/node_modules/.bin/cryptoclaw +21 -0
- package/extensions/memory-lancedb/node_modules/.bin/openai +21 -0
- package/extensions/memory-lancedb/openclaw.plugin.json +60 -0
- package/extensions/memory-lancedb/package.json +19 -0
- package/extensions/nostr/CHANGELOG.md +80 -0
- package/extensions/nostr/README.md +136 -0
- package/extensions/nostr/index.ts +68 -0
- package/extensions/nostr/node_modules/.bin/cryptoclaw +21 -0
- package/extensions/nostr/node_modules/.bin/tsc +21 -0
- package/extensions/nostr/node_modules/.bin/tsserver +21 -0
- package/extensions/nostr/openclaw.plugin.json +9 -0
- package/extensions/nostr/package.json +34 -0
- package/extensions/nostr/src/channel.test.ts +151 -0
- package/extensions/nostr/src/channel.ts +353 -0
- package/extensions/nostr/src/config-schema.ts +90 -0
- package/extensions/nostr/src/metrics.ts +478 -0
- package/extensions/nostr/src/nostr-bus.fuzz.test.ts +533 -0
- package/extensions/nostr/src/nostr-bus.integration.test.ts +448 -0
- package/extensions/nostr/src/nostr-bus.test.ts +199 -0
- package/extensions/nostr/src/nostr-bus.ts +715 -0
- package/extensions/nostr/src/nostr-profile-http.test.ts +378 -0
- package/extensions/nostr/src/nostr-profile-http.ts +519 -0
- package/extensions/nostr/src/nostr-profile-import.test.ts +119 -0
- package/extensions/nostr/src/nostr-profile-import.ts +262 -0
- package/extensions/nostr/src/nostr-profile.fuzz.test.ts +477 -0
- package/extensions/nostr/src/nostr-profile.test.ts +410 -0
- package/extensions/nostr/src/nostr-profile.ts +277 -0
- package/extensions/nostr/src/nostr-state-store.test.ts +131 -0
- package/extensions/nostr/src/nostr-state-store.ts +226 -0
- package/extensions/nostr/src/runtime.ts +14 -0
- package/extensions/nostr/src/seen-tracker.ts +303 -0
- package/extensions/nostr/src/types.test.ts +157 -0
- package/extensions/nostr/src/types.ts +101 -0
- package/extensions/nostr/test/setup.ts +5 -0
- package/extensions/signal/index.ts +17 -0
- package/extensions/signal/node_modules/.bin/cryptoclaw +21 -0
- package/extensions/signal/openclaw.plugin.json +9 -0
- package/extensions/signal/package.json +14 -0
- package/extensions/signal/src/channel.ts +315 -0
- package/extensions/signal/src/runtime.ts +14 -0
- package/extensions/slack/index.ts +17 -0
- package/extensions/slack/node_modules/.bin/cryptoclaw +21 -0
- package/extensions/slack/openclaw.plugin.json +9 -0
- package/extensions/slack/package.json +14 -0
- package/extensions/slack/src/channel.ts +604 -0
- package/extensions/slack/src/runtime.ts +14 -0
- package/extensions/telegram/index.ts +17 -0
- package/extensions/telegram/node_modules/.bin/cryptoclaw +21 -0
- package/extensions/telegram/openclaw.plugin.json +9 -0
- package/extensions/telegram/package.json +14 -0
- package/extensions/telegram/src/channel.ts +482 -0
- package/extensions/telegram/src/runtime.ts +14 -0
- package/extensions/voice-call/CHANGELOG.md +115 -0
- package/extensions/voice-call/README.md +139 -0
- package/extensions/voice-call/index.ts +493 -0
- package/extensions/voice-call/node_modules/.bin/cryptoclaw +21 -0
- package/extensions/voice-call/openclaw.plugin.json +559 -0
- package/extensions/voice-call/package.json +19 -0
- package/extensions/voice-call/src/allowlist.ts +19 -0
- package/extensions/voice-call/src/cli.ts +279 -0
- package/extensions/voice-call/src/config.test.ts +234 -0
- package/extensions/voice-call/src/config.ts +523 -0
- package/extensions/voice-call/src/core-bridge.ts +159 -0
- package/extensions/voice-call/src/manager/context.ts +21 -0
- package/extensions/voice-call/src/manager/events.ts +188 -0
- package/extensions/voice-call/src/manager/lookup.ts +35 -0
- package/extensions/voice-call/src/manager/outbound.ts +275 -0
- package/extensions/voice-call/src/manager/state.ts +48 -0
- package/extensions/voice-call/src/manager/store.ts +91 -0
- package/extensions/voice-call/src/manager/timers.ts +89 -0
- package/extensions/voice-call/src/manager/twiml.ts +9 -0
- package/extensions/voice-call/src/manager.test.ts +224 -0
- package/extensions/voice-call/src/manager.ts +887 -0
- package/extensions/voice-call/src/media-stream.test.ts +96 -0
- package/extensions/voice-call/src/media-stream.ts +411 -0
- package/extensions/voice-call/src/providers/base.ts +67 -0
- package/extensions/voice-call/src/providers/index.ts +10 -0
- package/extensions/voice-call/src/providers/mock.ts +165 -0
- package/extensions/voice-call/src/providers/plivo.test.ts +27 -0
- package/extensions/voice-call/src/providers/plivo.ts +515 -0
- package/extensions/voice-call/src/providers/stt-openai-realtime.ts +311 -0
- package/extensions/voice-call/src/providers/telnyx.ts +371 -0
- package/extensions/voice-call/src/providers/tts-openai.ts +259 -0
- package/extensions/voice-call/src/providers/twilio/api.ts +42 -0
- package/extensions/voice-call/src/providers/twilio/webhook.ts +32 -0
- package/extensions/voice-call/src/providers/twilio.test.ts +60 -0
- package/extensions/voice-call/src/providers/twilio.ts +626 -0
- package/extensions/voice-call/src/response-generator.ts +158 -0
- package/extensions/voice-call/src/runtime.ts +212 -0
- package/extensions/voice-call/src/telephony-audio.ts +90 -0
- package/extensions/voice-call/src/telephony-tts.ts +104 -0
- package/extensions/voice-call/src/tunnel.ts +314 -0
- package/extensions/voice-call/src/types.ts +272 -0
- package/extensions/voice-call/src/utils.ts +14 -0
- package/extensions/voice-call/src/voice-mapping.ts +67 -0
- package/extensions/voice-call/src/webhook-security.test.ts +377 -0
- package/extensions/voice-call/src/webhook-security.ts +689 -0
- package/extensions/voice-call/src/webhook.ts +491 -0
- package/extensions/whatsapp/index.ts +17 -0
- package/extensions/whatsapp/node_modules/.bin/cryptoclaw +21 -0
- package/extensions/whatsapp/openclaw.plugin.json +9 -0
- package/extensions/whatsapp/package.json +14 -0
- package/extensions/whatsapp/src/channel.ts +508 -0
- package/extensions/whatsapp/src/runtime.ts +14 -0
- package/package.json +242 -0
- package/skills/aave-bsc/SKILL.md +55 -0
- package/skills/agent-identity/SKILL.md +48 -0
- package/skills/bird/SKILL.md +224 -0
- package/skills/canvas/SKILL.md +204 -0
- package/skills/coding-agent/SKILL.md +285 -0
- package/skills/coingecko/SKILL.md +114 -0
- package/skills/contract-deployer/SKILL.md +42 -0
- package/skills/debank/SKILL.md +143 -0
- package/skills/defi-dashboard/SKILL.md +49 -0
- package/skills/defillama/SKILL.md +117 -0
- package/skills/discord/SKILL.md +578 -0
- package/skills/dune/SKILL.md +178 -0
- package/skills/etherscan/SKILL.md +117 -0
- package/skills/four-meme/SKILL.md +80 -0
- package/skills/gas-tracker/SKILL.md +43 -0
- package/skills/github/SKILL.md +77 -0
- package/skills/macro-calendar/SKILL.md +132 -0
- package/skills/market-data/SKILL.md +44 -0
- package/skills/nft-manager/SKILL.md +46 -0
- package/skills/portfolio-tracker/SKILL.md +55 -0
- package/skills/security-check/SKILL.md +153 -0
- package/skills/tmux/SKILL.md +135 -0
- package/skills/tmux/scripts/find-sessions.sh +112 -0
- package/skills/tmux/scripts/wait-for-text.sh +83 -0
- package/skills/token-swap/SKILL.md +71 -0
- package/skills/wallet-manager/SKILL.md +65 -0
- package/skills/whale-watcher/SKILL.md +43 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "SSH tunnel setup for OpenClaw.app connecting to a remote gateway"
|
|
3
|
+
read_when: "Connecting the macOS app to a remote gateway over SSH"
|
|
4
|
+
title: "Remote Gateway Setup"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Running OpenClaw.app with a Remote Gateway
|
|
8
|
+
|
|
9
|
+
OpenClaw.app uses SSH tunneling to connect to a remote gateway. This guide shows you how to set it up.
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
15
|
+
│ Client Machine │
|
|
16
|
+
│ │
|
|
17
|
+
│ OpenClaw.app ──► ws://127.0.0.1:18789 (local port) │
|
|
18
|
+
│ │ │
|
|
19
|
+
│ ▼ │
|
|
20
|
+
│ SSH Tunnel ────────────────────────────────────────────────│
|
|
21
|
+
│ │ │
|
|
22
|
+
└─────────────────────┼──────────────────────────────────────┘
|
|
23
|
+
│
|
|
24
|
+
▼
|
|
25
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
26
|
+
│ Remote Machine │
|
|
27
|
+
│ │
|
|
28
|
+
│ Gateway WebSocket ──► ws://127.0.0.1:18789 ──► │
|
|
29
|
+
│ │
|
|
30
|
+
└─────────────────────────────────────────────────────────────┘
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Quick Setup
|
|
34
|
+
|
|
35
|
+
### Step 1: Add SSH Config
|
|
36
|
+
|
|
37
|
+
Edit `~/.ssh/config` and add:
|
|
38
|
+
|
|
39
|
+
```ssh
|
|
40
|
+
Host remote-gateway
|
|
41
|
+
HostName <REMOTE_IP> # e.g., 172.27.187.184
|
|
42
|
+
User <REMOTE_USER> # e.g., jefferson
|
|
43
|
+
LocalForward 18789 127.0.0.1:18789
|
|
44
|
+
IdentityFile ~/.ssh/id_rsa
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Replace `<REMOTE_IP>` and `<REMOTE_USER>` with your values.
|
|
48
|
+
|
|
49
|
+
### Step 2: Copy SSH Key
|
|
50
|
+
|
|
51
|
+
Copy your public key to the remote machine (enter password once):
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
ssh-copy-id -i ~/.ssh/id_rsa <REMOTE_USER>@<REMOTE_IP>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Step 3: Set Gateway Token
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
launchctl setenv OPENCLAW_GATEWAY_TOKEN "<your-token>"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Step 4: Start SSH Tunnel
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
ssh -N remote-gateway &
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Step 5: Restart OpenClaw.app
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# Quit OpenClaw.app (⌘Q), then reopen:
|
|
73
|
+
open /path/to/OpenClaw.app
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
The app will now connect to the remote gateway through the SSH tunnel.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Auto-Start Tunnel on Login
|
|
81
|
+
|
|
82
|
+
To have the SSH tunnel start automatically when you log in, create a Launch Agent.
|
|
83
|
+
|
|
84
|
+
### Create the PLIST file
|
|
85
|
+
|
|
86
|
+
Save this as `~/Library/LaunchAgents/bot.molt.ssh-tunnel.plist`:
|
|
87
|
+
|
|
88
|
+
```xml
|
|
89
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
90
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
91
|
+
<plist version="1.0">
|
|
92
|
+
<dict>
|
|
93
|
+
<key>Label</key>
|
|
94
|
+
<string>bot.molt.ssh-tunnel</string>
|
|
95
|
+
<key>ProgramArguments</key>
|
|
96
|
+
<array>
|
|
97
|
+
<string>/usr/bin/ssh</string>
|
|
98
|
+
<string>-N</string>
|
|
99
|
+
<string>remote-gateway</string>
|
|
100
|
+
</array>
|
|
101
|
+
<key>KeepAlive</key>
|
|
102
|
+
<true/>
|
|
103
|
+
<key>RunAtLoad</key>
|
|
104
|
+
<true/>
|
|
105
|
+
</dict>
|
|
106
|
+
</plist>
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Load the Launch Agent
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
launchctl bootstrap gui/$UID ~/Library/LaunchAgents/bot.molt.ssh-tunnel.plist
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
The tunnel will now:
|
|
116
|
+
|
|
117
|
+
- Start automatically when you log in
|
|
118
|
+
- Restart if it crashes
|
|
119
|
+
- Keep running in the background
|
|
120
|
+
|
|
121
|
+
Legacy note: remove any leftover `com.openclaw.ssh-tunnel` LaunchAgent if present.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Troubleshooting
|
|
126
|
+
|
|
127
|
+
**Check if tunnel is running:**
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
ps aux | grep "ssh -N remote-gateway" | grep -v grep
|
|
131
|
+
lsof -i :18789
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**Restart the tunnel:**
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
launchctl kickstart -k gui/$UID/bot.molt.ssh-tunnel
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Stop the tunnel:**
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
launchctl bootout gui/$UID/bot.molt.ssh-tunnel
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## How It Works
|
|
149
|
+
|
|
150
|
+
| Component | What It Does |
|
|
151
|
+
| ------------------------------------ | ------------------------------------------------------------ |
|
|
152
|
+
| `LocalForward 18789 127.0.0.1:18789` | Forwards local port 18789 to remote port 18789 |
|
|
153
|
+
| `ssh -N` | SSH without executing remote commands (just port forwarding) |
|
|
154
|
+
| `KeepAlive` | Automatically restarts tunnel if it crashes |
|
|
155
|
+
| `RunAtLoad` | Starts tunnel when the agent loads |
|
|
156
|
+
|
|
157
|
+
OpenClaw.app connects to `ws://127.0.0.1:18789` on your client machine. The SSH tunnel forwards that connection to port 18789 on the remote machine where the Gateway is running.
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Remote access using SSH tunnels (Gateway WS) and tailnets"
|
|
3
|
+
read_when:
|
|
4
|
+
- Running or troubleshooting remote gateway setups
|
|
5
|
+
title: "Remote Access"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Remote access (SSH, tunnels, and tailnets)
|
|
9
|
+
|
|
10
|
+
This repo supports “remote over SSH” by keeping a single Gateway (the master) running on a dedicated host (desktop/server) and connecting clients to it.
|
|
11
|
+
|
|
12
|
+
- For **operators (you / the macOS app)**: SSH tunneling is the universal fallback.
|
|
13
|
+
- For **nodes (iOS/Android and future devices)**: connect to the Gateway **WebSocket** (LAN/tailnet or SSH tunnel as needed).
|
|
14
|
+
|
|
15
|
+
## The core idea
|
|
16
|
+
|
|
17
|
+
- The Gateway WebSocket binds to **loopback** on your configured port (defaults to 18789).
|
|
18
|
+
- For remote use, you forward that loopback port over SSH (or use a tailnet/VPN and tunnel less).
|
|
19
|
+
|
|
20
|
+
## Common VPN/tailnet setups (where the agent lives)
|
|
21
|
+
|
|
22
|
+
Think of the **Gateway host** as “where the agent lives.” It owns sessions, auth profiles, channels, and state.
|
|
23
|
+
Your laptop/desktop (and nodes) connect to that host.
|
|
24
|
+
|
|
25
|
+
### 1) Always-on Gateway in your tailnet (VPS or home server)
|
|
26
|
+
|
|
27
|
+
Run the Gateway on a persistent host and reach it via **Tailscale** or SSH.
|
|
28
|
+
|
|
29
|
+
- **Best UX:** keep `gateway.bind: "loopback"` and use **Tailscale Serve** for the Control UI.
|
|
30
|
+
- **Fallback:** keep loopback + SSH tunnel from any machine that needs access.
|
|
31
|
+
- **Examples:** [exe.dev](/install/exe-dev) (easy VM) or [Hetzner](/install/hetzner) (production VPS).
|
|
32
|
+
|
|
33
|
+
This is ideal when your laptop sleeps often but you want the agent always-on.
|
|
34
|
+
|
|
35
|
+
### 2) Home desktop runs the Gateway, laptop is remote control
|
|
36
|
+
|
|
37
|
+
The laptop does **not** run the agent. It connects remotely:
|
|
38
|
+
|
|
39
|
+
- Use the macOS app’s **Remote over SSH** mode (Settings → General → “OpenClaw runs”).
|
|
40
|
+
- The app opens and manages the tunnel, so WebChat + health checks “just work.”
|
|
41
|
+
|
|
42
|
+
Runbook: [macOS remote access](/platforms/mac/remote).
|
|
43
|
+
|
|
44
|
+
### 3) Laptop runs the Gateway, remote access from other machines
|
|
45
|
+
|
|
46
|
+
Keep the Gateway local but expose it safely:
|
|
47
|
+
|
|
48
|
+
- SSH tunnel to the laptop from other machines, or
|
|
49
|
+
- Tailscale Serve the Control UI and keep the Gateway loopback-only.
|
|
50
|
+
|
|
51
|
+
Guide: [Tailscale](/gateway/tailscale) and [Web overview](/web).
|
|
52
|
+
|
|
53
|
+
## Command flow (what runs where)
|
|
54
|
+
|
|
55
|
+
One gateway service owns state + channels. Nodes are peripherals.
|
|
56
|
+
|
|
57
|
+
Flow example (Telegram → node):
|
|
58
|
+
|
|
59
|
+
- Telegram message arrives at the **Gateway**.
|
|
60
|
+
- Gateway runs the **agent** and decides whether to call a node tool.
|
|
61
|
+
- Gateway calls the **node** over the Gateway WebSocket (`node.*` RPC).
|
|
62
|
+
- Node returns the result; Gateway replies back out to Telegram.
|
|
63
|
+
|
|
64
|
+
Notes:
|
|
65
|
+
|
|
66
|
+
- **Nodes do not run the gateway service.** Only one gateway should run per host unless you intentionally run isolated profiles (see [Multiple gateways](/gateway/multiple-gateways)).
|
|
67
|
+
- macOS app “node mode” is just a node client over the Gateway WebSocket.
|
|
68
|
+
|
|
69
|
+
## SSH tunnel (CLI + tools)
|
|
70
|
+
|
|
71
|
+
Create a local tunnel to the remote Gateway WS:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
ssh -N -L 18789:127.0.0.1:18789 user@host
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
With the tunnel up:
|
|
78
|
+
|
|
79
|
+
- `openclaw health` and `openclaw status --deep` now reach the remote gateway via `ws://127.0.0.1:18789`.
|
|
80
|
+
- `openclaw gateway {status,health,send,agent,call}` can also target the forwarded URL via `--url` when needed.
|
|
81
|
+
|
|
82
|
+
Note: replace `18789` with your configured `gateway.port` (or `--port`/`OPENCLAW_GATEWAY_PORT`).
|
|
83
|
+
Note: when you pass `--url`, the CLI does not fall back to config or environment credentials.
|
|
84
|
+
Include `--token` or `--password` explicitly. Missing explicit credentials is an error.
|
|
85
|
+
|
|
86
|
+
## CLI remote defaults
|
|
87
|
+
|
|
88
|
+
You can persist a remote target so CLI commands use it by default:
|
|
89
|
+
|
|
90
|
+
```json5
|
|
91
|
+
{
|
|
92
|
+
gateway: {
|
|
93
|
+
mode: "remote",
|
|
94
|
+
remote: {
|
|
95
|
+
url: "ws://127.0.0.1:18789",
|
|
96
|
+
token: "your-token",
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
When the gateway is loopback-only, keep the URL at `ws://127.0.0.1:18789` and open the SSH tunnel first.
|
|
103
|
+
|
|
104
|
+
## Chat UI over SSH
|
|
105
|
+
|
|
106
|
+
WebChat no longer uses a separate HTTP port. The SwiftUI chat UI connects directly to the Gateway WebSocket.
|
|
107
|
+
|
|
108
|
+
- Forward `18789` over SSH (see above), then connect clients to `ws://127.0.0.1:18789`.
|
|
109
|
+
- On macOS, prefer the app’s “Remote over SSH” mode, which manages the tunnel automatically.
|
|
110
|
+
|
|
111
|
+
## macOS app “Remote over SSH”
|
|
112
|
+
|
|
113
|
+
The macOS menu bar app can drive the same setup end-to-end (remote status checks, WebChat, and Voice Wake forwarding).
|
|
114
|
+
|
|
115
|
+
Runbook: [macOS remote access](/platforms/mac/remote).
|
|
116
|
+
|
|
117
|
+
## Security rules (remote/VPN)
|
|
118
|
+
|
|
119
|
+
Short version: **keep the Gateway loopback-only** unless you’re sure you need a bind.
|
|
120
|
+
|
|
121
|
+
- **Loopback + SSH/Tailscale Serve** is the safest default (no public exposure).
|
|
122
|
+
- **Non-loopback binds** (`lan`/`tailnet`/`custom`, or `auto` when loopback is unavailable) must use auth tokens/passwords.
|
|
123
|
+
- `gateway.remote.token` is **only** for remote CLI calls — it does **not** enable local auth.
|
|
124
|
+
- `gateway.remote.tlsFingerprint` pins the remote TLS cert when using `wss://`.
|
|
125
|
+
- **Tailscale Serve** can authenticate via identity headers when `gateway.auth.allowTailscale: true`.
|
|
126
|
+
Set it to `false` if you want tokens/passwords instead.
|
|
127
|
+
- Treat browser control like operator access: tailnet-only + deliberate node pairing.
|
|
128
|
+
|
|
129
|
+
Deep dive: [Security](/gateway/security).
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Sandbox vs Tool Policy vs Elevated
|
|
3
|
+
summary: "Why a tool is blocked: sandbox runtime, tool allow/deny policy, and elevated exec gates"
|
|
4
|
+
read_when: "You hit 'sandbox jail' or see a tool/elevated refusal and want the exact config key to change."
|
|
5
|
+
status: active
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Sandbox vs Tool Policy vs Elevated
|
|
9
|
+
|
|
10
|
+
OpenClaw has three related (but different) controls:
|
|
11
|
+
|
|
12
|
+
1. **Sandbox** (`agents.defaults.sandbox.*` / `agents.list[].sandbox.*`) decides **where tools run** (Docker vs host).
|
|
13
|
+
2. **Tool policy** (`tools.*`, `tools.sandbox.tools.*`, `agents.list[].tools.*`) decides **which tools are available/allowed**.
|
|
14
|
+
3. **Elevated** (`tools.elevated.*`, `agents.list[].tools.elevated.*`) is an **exec-only escape hatch** to run on the host when you’re sandboxed.
|
|
15
|
+
|
|
16
|
+
## Quick debug
|
|
17
|
+
|
|
18
|
+
Use the inspector to see what OpenClaw is _actually_ doing:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
openclaw sandbox explain
|
|
22
|
+
openclaw sandbox explain --session agent:main:main
|
|
23
|
+
openclaw sandbox explain --agent work
|
|
24
|
+
openclaw sandbox explain --json
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
It prints:
|
|
28
|
+
|
|
29
|
+
- effective sandbox mode/scope/workspace access
|
|
30
|
+
- whether the session is currently sandboxed (main vs non-main)
|
|
31
|
+
- effective sandbox tool allow/deny (and whether it came from agent/global/default)
|
|
32
|
+
- elevated gates and fix-it key paths
|
|
33
|
+
|
|
34
|
+
## Sandbox: where tools run
|
|
35
|
+
|
|
36
|
+
Sandboxing is controlled by `agents.defaults.sandbox.mode`:
|
|
37
|
+
|
|
38
|
+
- `"off"`: everything runs on the host.
|
|
39
|
+
- `"non-main"`: only non-main sessions are sandboxed (common “surprise” for groups/channels).
|
|
40
|
+
- `"all"`: everything is sandboxed.
|
|
41
|
+
|
|
42
|
+
See [Sandboxing](/gateway/sandboxing) for the full matrix (scope, workspace mounts, images).
|
|
43
|
+
|
|
44
|
+
### Bind mounts (security quick check)
|
|
45
|
+
|
|
46
|
+
- `docker.binds` _pierces_ the sandbox filesystem: whatever you mount is visible inside the container with the mode you set (`:ro` or `:rw`).
|
|
47
|
+
- Default is read-write if you omit the mode; prefer `:ro` for source/secrets.
|
|
48
|
+
- `scope: "shared"` ignores per-agent binds (only global binds apply).
|
|
49
|
+
- Binding `/var/run/docker.sock` effectively hands host control to the sandbox; only do this intentionally.
|
|
50
|
+
- Workspace access (`workspaceAccess: "ro"`/`"rw"`) is independent of bind modes.
|
|
51
|
+
|
|
52
|
+
## Tool policy: which tools exist/are callable
|
|
53
|
+
|
|
54
|
+
Two layers matter:
|
|
55
|
+
|
|
56
|
+
- **Tool profile**: `tools.profile` and `agents.list[].tools.profile` (base allowlist)
|
|
57
|
+
- **Provider tool profile**: `tools.byProvider[provider].profile` and `agents.list[].tools.byProvider[provider].profile`
|
|
58
|
+
- **Global/per-agent tool policy**: `tools.allow`/`tools.deny` and `agents.list[].tools.allow`/`agents.list[].tools.deny`
|
|
59
|
+
- **Provider tool policy**: `tools.byProvider[provider].allow/deny` and `agents.list[].tools.byProvider[provider].allow/deny`
|
|
60
|
+
- **Sandbox tool policy** (only applies when sandboxed): `tools.sandbox.tools.allow`/`tools.sandbox.tools.deny` and `agents.list[].tools.sandbox.tools.*`
|
|
61
|
+
|
|
62
|
+
Rules of thumb:
|
|
63
|
+
|
|
64
|
+
- `deny` always wins.
|
|
65
|
+
- If `allow` is non-empty, everything else is treated as blocked.
|
|
66
|
+
- Tool policy is the hard stop: `/exec` cannot override a denied `exec` tool.
|
|
67
|
+
- `/exec` only changes session defaults for authorized senders; it does not grant tool access.
|
|
68
|
+
Provider tool keys accept either `provider` (e.g. `google-antigravity`) or `provider/model` (e.g. `openai/gpt-5.2`).
|
|
69
|
+
|
|
70
|
+
### Tool groups (shorthands)
|
|
71
|
+
|
|
72
|
+
Tool policies (global, agent, sandbox) support `group:*` entries that expand to multiple tools:
|
|
73
|
+
|
|
74
|
+
```json5
|
|
75
|
+
{
|
|
76
|
+
tools: {
|
|
77
|
+
sandbox: {
|
|
78
|
+
tools: {
|
|
79
|
+
allow: ["group:runtime", "group:fs", "group:sessions", "group:memory"],
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Available groups:
|
|
87
|
+
|
|
88
|
+
- `group:runtime`: `exec`, `bash`, `process`
|
|
89
|
+
- `group:fs`: `read`, `write`, `edit`, `apply_patch`
|
|
90
|
+
- `group:sessions`: `sessions_list`, `sessions_history`, `sessions_send`, `sessions_spawn`, `session_status`
|
|
91
|
+
- `group:memory`: `memory_search`, `memory_get`
|
|
92
|
+
- `group:ui`: `browser`, `canvas`
|
|
93
|
+
- `group:automation`: `cron`, `gateway`
|
|
94
|
+
- `group:messaging`: `message`
|
|
95
|
+
- `group:nodes`: `nodes`
|
|
96
|
+
- `group:openclaw`: all built-in OpenClaw tools (excludes provider plugins)
|
|
97
|
+
|
|
98
|
+
## Elevated: exec-only “run on host”
|
|
99
|
+
|
|
100
|
+
Elevated does **not** grant extra tools; it only affects `exec`.
|
|
101
|
+
|
|
102
|
+
- If you’re sandboxed, `/elevated on` (or `exec` with `elevated: true`) runs on the host (approvals may still apply).
|
|
103
|
+
- Use `/elevated full` to skip exec approvals for the session.
|
|
104
|
+
- If you’re already running direct, elevated is effectively a no-op (still gated).
|
|
105
|
+
- Elevated is **not** skill-scoped and does **not** override tool allow/deny.
|
|
106
|
+
- `/exec` is separate from elevated. It only adjusts per-session exec defaults for authorized senders.
|
|
107
|
+
|
|
108
|
+
Gates:
|
|
109
|
+
|
|
110
|
+
- Enablement: `tools.elevated.enabled` (and optionally `agents.list[].tools.elevated.enabled`)
|
|
111
|
+
- Sender allowlists: `tools.elevated.allowFrom.<provider>` (and optionally `agents.list[].tools.elevated.allowFrom.<provider>`)
|
|
112
|
+
|
|
113
|
+
See [Elevated Mode](/tools/elevated).
|
|
114
|
+
|
|
115
|
+
## Common “sandbox jail” fixes
|
|
116
|
+
|
|
117
|
+
### “Tool X blocked by sandbox tool policy”
|
|
118
|
+
|
|
119
|
+
Fix-it keys (pick one):
|
|
120
|
+
|
|
121
|
+
- Disable sandbox: `agents.defaults.sandbox.mode=off` (or per-agent `agents.list[].sandbox.mode=off`)
|
|
122
|
+
- Allow the tool inside sandbox:
|
|
123
|
+
- remove it from `tools.sandbox.tools.deny` (or per-agent `agents.list[].tools.sandbox.tools.deny`)
|
|
124
|
+
- or add it to `tools.sandbox.tools.allow` (or per-agent allow)
|
|
125
|
+
|
|
126
|
+
### “I thought this was main, why is it sandboxed?”
|
|
127
|
+
|
|
128
|
+
In `"non-main"` mode, group/channel keys are _not_ main. Use the main session key (shown by `sandbox explain`) or switch mode to `"off"`.
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "How OpenClaw sandboxing works: modes, scopes, workspace access, and images"
|
|
3
|
+
title: Sandboxing
|
|
4
|
+
read_when: "You want a dedicated explanation of sandboxing or need to tune agents.defaults.sandbox."
|
|
5
|
+
status: active
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Sandboxing
|
|
9
|
+
|
|
10
|
+
OpenClaw can run **tools inside Docker containers** to reduce blast radius.
|
|
11
|
+
This is **optional** and controlled by configuration (`agents.defaults.sandbox` or
|
|
12
|
+
`agents.list[].sandbox`). If sandboxing is off, tools run on the host.
|
|
13
|
+
The Gateway stays on the host; tool execution runs in an isolated sandbox
|
|
14
|
+
when enabled.
|
|
15
|
+
|
|
16
|
+
This is not a perfect security boundary, but it materially limits filesystem
|
|
17
|
+
and process access when the model does something dumb.
|
|
18
|
+
|
|
19
|
+
## What gets sandboxed
|
|
20
|
+
|
|
21
|
+
- Tool execution (`exec`, `read`, `write`, `edit`, `apply_patch`, `process`, etc.).
|
|
22
|
+
- Optional sandboxed browser (`agents.defaults.sandbox.browser`).
|
|
23
|
+
- By default, the sandbox browser auto-starts (ensures CDP is reachable) when the browser tool needs it.
|
|
24
|
+
Configure via `agents.defaults.sandbox.browser.autoStart` and `agents.defaults.sandbox.browser.autoStartTimeoutMs`.
|
|
25
|
+
- `agents.defaults.sandbox.browser.allowHostControl` lets sandboxed sessions target the host browser explicitly.
|
|
26
|
+
- Optional allowlists gate `target: "custom"`: `allowedControlUrls`, `allowedControlHosts`, `allowedControlPorts`.
|
|
27
|
+
|
|
28
|
+
Not sandboxed:
|
|
29
|
+
|
|
30
|
+
- The Gateway process itself.
|
|
31
|
+
- Any tool explicitly allowed to run on the host (e.g. `tools.elevated`).
|
|
32
|
+
- **Elevated exec runs on the host and bypasses sandboxing.**
|
|
33
|
+
- If sandboxing is off, `tools.elevated` does not change execution (already on host). See [Elevated Mode](/tools/elevated).
|
|
34
|
+
|
|
35
|
+
## Modes
|
|
36
|
+
|
|
37
|
+
`agents.defaults.sandbox.mode` controls **when** sandboxing is used:
|
|
38
|
+
|
|
39
|
+
- `"off"`: no sandboxing.
|
|
40
|
+
- `"non-main"`: sandbox only **non-main** sessions (default if you want normal chats on host).
|
|
41
|
+
- `"all"`: every session runs in a sandbox.
|
|
42
|
+
Note: `"non-main"` is based on `session.mainKey` (default `"main"`), not agent id.
|
|
43
|
+
Group/channel sessions use their own keys, so they count as non-main and will be sandboxed.
|
|
44
|
+
|
|
45
|
+
## Scope
|
|
46
|
+
|
|
47
|
+
`agents.defaults.sandbox.scope` controls **how many containers** are created:
|
|
48
|
+
|
|
49
|
+
- `"session"` (default): one container per session.
|
|
50
|
+
- `"agent"`: one container per agent.
|
|
51
|
+
- `"shared"`: one container shared by all sandboxed sessions.
|
|
52
|
+
|
|
53
|
+
## Workspace access
|
|
54
|
+
|
|
55
|
+
`agents.defaults.sandbox.workspaceAccess` controls **what the sandbox can see**:
|
|
56
|
+
|
|
57
|
+
- `"none"` (default): tools see a sandbox workspace under `~/.openclaw/sandboxes`.
|
|
58
|
+
- `"ro"`: mounts the agent workspace read-only at `/agent` (disables `write`/`edit`/`apply_patch`).
|
|
59
|
+
- `"rw"`: mounts the agent workspace read/write at `/workspace`.
|
|
60
|
+
|
|
61
|
+
Inbound media is copied into the active sandbox workspace (`media/inbound/*`).
|
|
62
|
+
Skills note: the `read` tool is sandbox-rooted. With `workspaceAccess: "none"`,
|
|
63
|
+
OpenClaw mirrors eligible skills into the sandbox workspace (`.../skills`) so
|
|
64
|
+
they can be read. With `"rw"`, workspace skills are readable from
|
|
65
|
+
`/workspace/skills`.
|
|
66
|
+
|
|
67
|
+
## Custom bind mounts
|
|
68
|
+
|
|
69
|
+
`agents.defaults.sandbox.docker.binds` mounts additional host directories into the container.
|
|
70
|
+
Format: `host:container:mode` (e.g., `"/home/user/source:/source:rw"`).
|
|
71
|
+
|
|
72
|
+
Global and per-agent binds are **merged** (not replaced). Under `scope: "shared"`, per-agent binds are ignored.
|
|
73
|
+
|
|
74
|
+
Example (read-only source + docker socket):
|
|
75
|
+
|
|
76
|
+
```json5
|
|
77
|
+
{
|
|
78
|
+
agents: {
|
|
79
|
+
defaults: {
|
|
80
|
+
sandbox: {
|
|
81
|
+
docker: {
|
|
82
|
+
binds: ["/home/user/source:/source:ro", "/var/run/docker.sock:/var/run/docker.sock"],
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
list: [
|
|
87
|
+
{
|
|
88
|
+
id: "build",
|
|
89
|
+
sandbox: {
|
|
90
|
+
docker: {
|
|
91
|
+
binds: ["/mnt/cache:/cache:rw"],
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
],
|
|
96
|
+
},
|
|
97
|
+
}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Security notes:
|
|
101
|
+
|
|
102
|
+
- Binds bypass the sandbox filesystem: they expose host paths with whatever mode you set (`:ro` or `:rw`).
|
|
103
|
+
- Sensitive mounts (e.g., `docker.sock`, secrets, SSH keys) should be `:ro` unless absolutely required.
|
|
104
|
+
- Combine with `workspaceAccess: "ro"` if you only need read access to the workspace; bind modes stay independent.
|
|
105
|
+
- See [Sandbox vs Tool Policy vs Elevated](/gateway/sandbox-vs-tool-policy-vs-elevated) for how binds interact with tool policy and elevated exec.
|
|
106
|
+
|
|
107
|
+
## Images + setup
|
|
108
|
+
|
|
109
|
+
Default image: `openclaw-sandbox:bookworm-slim`
|
|
110
|
+
|
|
111
|
+
Build it once:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
scripts/sandbox-setup.sh
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Note: the default image does **not** include Node. If a skill needs Node (or
|
|
118
|
+
other runtimes), either bake a custom image or install via
|
|
119
|
+
`sandbox.docker.setupCommand` (requires network egress + writable root +
|
|
120
|
+
root user).
|
|
121
|
+
|
|
122
|
+
Sandboxed browser image:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
scripts/sandbox-browser-setup.sh
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
By default, sandbox containers run with **no network**.
|
|
129
|
+
Override with `agents.defaults.sandbox.docker.network`.
|
|
130
|
+
|
|
131
|
+
Docker installs and the containerized gateway live here:
|
|
132
|
+
[Docker](/install/docker)
|
|
133
|
+
|
|
134
|
+
## setupCommand (one-time container setup)
|
|
135
|
+
|
|
136
|
+
`setupCommand` runs **once** after the sandbox container is created (not on every run).
|
|
137
|
+
It executes inside the container via `sh -lc`.
|
|
138
|
+
|
|
139
|
+
Paths:
|
|
140
|
+
|
|
141
|
+
- Global: `agents.defaults.sandbox.docker.setupCommand`
|
|
142
|
+
- Per-agent: `agents.list[].sandbox.docker.setupCommand`
|
|
143
|
+
|
|
144
|
+
Common pitfalls:
|
|
145
|
+
|
|
146
|
+
- Default `docker.network` is `"none"` (no egress), so package installs will fail.
|
|
147
|
+
- `readOnlyRoot: true` prevents writes; set `readOnlyRoot: false` or bake a custom image.
|
|
148
|
+
- `user` must be root for package installs (omit `user` or set `user: "0:0"`).
|
|
149
|
+
- Sandbox exec does **not** inherit host `process.env`. Use
|
|
150
|
+
`agents.defaults.sandbox.docker.env` (or a custom image) for skill API keys.
|
|
151
|
+
|
|
152
|
+
## Tool policy + escape hatches
|
|
153
|
+
|
|
154
|
+
Tool allow/deny policies still apply before sandbox rules. If a tool is denied
|
|
155
|
+
globally or per-agent, sandboxing doesn’t bring it back.
|
|
156
|
+
|
|
157
|
+
`tools.elevated` is an explicit escape hatch that runs `exec` on the host.
|
|
158
|
+
`/exec` directives only apply for authorized senders and persist per session; to hard-disable
|
|
159
|
+
`exec`, use tool policy deny (see [Sandbox vs Tool Policy vs Elevated](/gateway/sandbox-vs-tool-policy-vs-elevated)).
|
|
160
|
+
|
|
161
|
+
Debugging:
|
|
162
|
+
|
|
163
|
+
- Use `openclaw sandbox explain` to inspect effective sandbox mode, tool policy, and fix-it config keys.
|
|
164
|
+
- See [Sandbox vs Tool Policy vs Elevated](/gateway/sandbox-vs-tool-policy-vs-elevated) for the “why is this blocked?” mental model.
|
|
165
|
+
Keep it locked down.
|
|
166
|
+
|
|
167
|
+
## Multi-agent overrides
|
|
168
|
+
|
|
169
|
+
Each agent can override sandbox + tools:
|
|
170
|
+
`agents.list[].sandbox` and `agents.list[].tools` (plus `agents.list[].tools.sandbox.tools` for sandbox tool policy).
|
|
171
|
+
See [Multi-Agent Sandbox & Tools](/multi-agent-sandbox-tools) for precedence.
|
|
172
|
+
|
|
173
|
+
## Minimal enable example
|
|
174
|
+
|
|
175
|
+
```json5
|
|
176
|
+
{
|
|
177
|
+
agents: {
|
|
178
|
+
defaults: {
|
|
179
|
+
sandbox: {
|
|
180
|
+
mode: "non-main",
|
|
181
|
+
scope: "session",
|
|
182
|
+
workspaceAccess: "none",
|
|
183
|
+
},
|
|
184
|
+
},
|
|
185
|
+
},
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## Related docs
|
|
190
|
+
|
|
191
|
+
- [Sandbox Configuration](/gateway/configuration#agentsdefaults-sandbox)
|
|
192
|
+
- [Multi-Agent Sandbox & Tools](/multi-agent-sandbox-tools)
|
|
193
|
+
- [Security](/gateway/security)
|