@captain-app/openclaw 2026.2.4

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.
Files changed (1686) hide show
  1. package/CHANGELOG.md +1528 -0
  2. package/LICENSE +21 -0
  3. package/README-header.png +0 -0
  4. package/README.md +539 -0
  5. package/assets/avatar-placeholder.svg +19 -0
  6. package/assets/chrome-extension/README.md +22 -0
  7. package/assets/chrome-extension/background.js +438 -0
  8. package/assets/chrome-extension/icons/icon128.png +0 -0
  9. package/assets/chrome-extension/icons/icon16.png +0 -0
  10. package/assets/chrome-extension/icons/icon32.png +0 -0
  11. package/assets/chrome-extension/icons/icon48.png +0 -0
  12. package/assets/chrome-extension/manifest.json +25 -0
  13. package/assets/chrome-extension/options.html +196 -0
  14. package/assets/chrome-extension/options.js +59 -0
  15. package/assets/dmg-background-small.png +0 -0
  16. package/assets/dmg-background.png +0 -0
  17. package/dist/accounts-ClnuDahN.js +250 -0
  18. package/dist/accounts-DzBgAM3C.js +251 -0
  19. package/dist/acp-cli-BEDDkzXH.js +926 -0
  20. package/dist/acp-cli-CwV4mdnW.js +923 -0
  21. package/dist/agent-CArjbSeE.js +695 -0
  22. package/dist/agent-CB7x5HLT.js +695 -0
  23. package/dist/agent-scope-BbT4OG2N.js +545 -0
  24. package/dist/agent-scope-C_O6Vpl0.js +545 -0
  25. package/dist/agent-scope-Csu2B6AM.js +606 -0
  26. package/dist/archive-CWrnG1CH.js +85 -0
  27. package/dist/archive-ccN9aDgq.js +85 -0
  28. package/dist/audit-DXPkQ275.js +1686 -0
  29. package/dist/audit-eH7nwgsM.js +1686 -0
  30. package/dist/auth-health-Bj7Gjbv0.js +149 -0
  31. package/dist/auth-health-CjjJhHey.js +149 -0
  32. package/dist/auth-nnRYiqpH.js +192 -0
  33. package/dist/auth-profiles-DVLfuixr.js +2954 -0
  34. package/dist/auth-y1BLPUhX.js +192 -0
  35. package/dist/boolean-Wzu0-e0P.js +30 -0
  36. package/dist/brew-Cqi8b49_.js +46 -0
  37. package/dist/brew-DyBGNK8A.js +46 -0
  38. package/dist/build-info.json +5 -0
  39. package/dist/call-B7EveN4V.js +252 -0
  40. package/dist/call-vuUQIjOj.js +252 -0
  41. package/dist/canvas-host/a2ui/.bundle.hash +1 -0
  42. package/dist/canvas-host/a2ui/a2ui.bundle.js +17780 -0
  43. package/dist/canvas-host/a2ui/index.html +307 -0
  44. package/dist/channel-options-CJfmOkol.js +32 -0
  45. package/dist/channel-options-lFguMTz1.js +62 -0
  46. package/dist/channel-selection-BmND9mWj.js +51 -0
  47. package/dist/channel-selection-cGhL9G0c.js +51 -0
  48. package/dist/channel-summary-B4G513Eb.js +1154 -0
  49. package/dist/channel-summary-MCwBCa5y.js +1154 -0
  50. package/dist/channels-cli-C2Of1mZG.js +1411 -0
  51. package/dist/channels-cli-DFynrP1H.js +1413 -0
  52. package/dist/channels-status-issues-YohTjZ-I.js +18 -0
  53. package/dist/channels-status-issues-ZcR1U-m5.js +18 -0
  54. package/dist/chrome-B3IuUad-.js +1953 -0
  55. package/dist/chrome-BZ9K48w9.js +1973 -0
  56. package/dist/clack-prompter-B9yLhyOm.js +92 -0
  57. package/dist/clack-prompter-BybM9xdL.js +92 -0
  58. package/dist/cli/daemon-cli.js +2 -0
  59. package/dist/cli-BJZdJwug.js +89 -0
  60. package/dist/cli-BQSoKu3d.js +86 -0
  61. package/dist/cli-utils-CO4jEMn0.js +43 -0
  62. package/dist/cli-utils-gtE-0a0D.js +43 -0
  63. package/dist/client-DPqNOpK3.js +1609 -0
  64. package/dist/client-DySXIFCA.js +1609 -0
  65. package/dist/command-format-CFzL448l.js +52 -0
  66. package/dist/command-format-DELazozB.js +52 -0
  67. package/dist/command-format-ayFsmwwz.js +38 -0
  68. package/dist/command-options-CsjxK4cZ.js +33 -0
  69. package/dist/commands-BRe9VTyU.js +229 -0
  70. package/dist/completion-cli-DlkjK0iC.js +390 -0
  71. package/dist/completion-cli-E6Pt41AL.js +387 -0
  72. package/dist/config-BtSTwPcH.js +4882 -0
  73. package/dist/config-DfMIMT-f.js +4881 -0
  74. package/dist/config-_d7_WcRv.js +5623 -0
  75. package/dist/config-guard-wSnm-U8a.js +5628 -0
  76. package/dist/configure-CPHAFKlg.js +895 -0
  77. package/dist/configure-DK1XgXYx.js +894 -0
  78. package/dist/constants-CNTiY-ZN.js +65 -0
  79. package/dist/constants-hpmbslG7.js +65 -0
  80. package/dist/control-service-CqX5g_ko.js +61 -0
  81. package/dist/control-service-o6xe3hEb.js +61 -0
  82. package/dist/control-ui/apple-touch-icon.png +0 -0
  83. package/dist/control-ui/assets/index-RwcW4Xl0.css +1 -0
  84. package/dist/control-ui/assets/index-ryaCcbyp.js +4584 -0
  85. package/dist/control-ui/assets/index-ryaCcbyp.js.map +1 -0
  86. package/dist/control-ui/favicon-32.png +0 -0
  87. package/dist/control-ui/favicon.ico +0 -0
  88. package/dist/control-ui/favicon.svg +22 -0
  89. package/dist/control-ui/index.html +17 -0
  90. package/dist/cron-cli-BoSaDgvH.js +453 -0
  91. package/dist/cron-cli-qVandvsD.js +456 -0
  92. package/dist/daemon-cli-C4gGWa15.js +760 -0
  93. package/dist/daemon-cli-DV_X0Krf.js +761 -0
  94. package/dist/daemon-runtime-D5hbSrdO.js +460 -0
  95. package/dist/daemon-runtime-DXUfrXBC.js +460 -0
  96. package/dist/deliver-BxK5nI2P.js +2587 -0
  97. package/dist/deliver-Dwzg9LUd.js +2557 -0
  98. package/dist/deliver-qpYZp20m.js +2587 -0
  99. package/dist/deps-CUXtMV9d.js +27 -0
  100. package/dist/deps-WBvZpFV_.js +27 -0
  101. package/dist/devices-cli-B2s18Qrh.js +207 -0
  102. package/dist/devices-cli-D1UEtMUJ.js +204 -0
  103. package/dist/directory-cli-BXQbrkfM.js +247 -0
  104. package/dist/directory-cli-CqA7tRbq.js +244 -0
  105. package/dist/dispatcher-Dyv7T-1r.js +160 -0
  106. package/dist/dns-cli-CWxKD22D.js +198 -0
  107. package/dist/dns-cli-CzKr_Fxj.js +201 -0
  108. package/dist/docs-cli-BNyxUbWr.js +159 -0
  109. package/dist/docs-cli-DYpTbo3i.js +161 -0
  110. package/dist/doctor-C8fDYZLq.js +2583 -0
  111. package/dist/doctor-hYcqp7c0.js +2585 -0
  112. package/dist/entry.js +1326 -0
  113. package/dist/env-l7QVNj6j.js +32 -0
  114. package/dist/errors-CMCg46fK.js +1952 -0
  115. package/dist/exec-B8JKbXKW.js +246 -0
  116. package/dist/exec-BMnoMcZW.js +1099 -0
  117. package/dist/exec-HEWTMJ7j.js +246 -0
  118. package/dist/exec-approvals-DtrnHx6M.js +1026 -0
  119. package/dist/exec-approvals-Y42bE8ud.js +1026 -0
  120. package/dist/exec-approvals-cli-CIedYxP3.js +385 -0
  121. package/dist/exec-approvals-cli-xpbxnj4O.js +388 -0
  122. package/dist/extensionAPI.js +66572 -0
  123. package/dist/format-Dzy9uRLE.js +34 -0
  124. package/dist/format-sj0fELBK.js +34 -0
  125. package/dist/gateway-cli-5A-KNLEC.js +16635 -0
  126. package/dist/gateway-cli-B8kS4chb.js +16637 -0
  127. package/dist/gateway-rpc-15n38Ize.js +28 -0
  128. package/dist/gateway-rpc-TMVRgGfj.js +28 -0
  129. package/dist/github-copilot-auth-DVZj4Zgh.js +1104 -0
  130. package/dist/github-copilot-auth-DeGYyLY9.js +1104 -0
  131. package/dist/github-copilot-token-B3SA95yo.js +103 -0
  132. package/dist/github-copilot-token-C8XFYz0i.js +103 -0
  133. package/dist/github-copilot-token-CnxakiSC.js +103 -0
  134. package/dist/gmail-setup-utils-CWPC386a.js +428 -0
  135. package/dist/gmail-setup-utils-eJVB5Ewp.js +428 -0
  136. package/dist/health-format-B0tMTk3C.js +1189 -0
  137. package/dist/health-format-DaURVaUn.js +1188 -0
  138. package/dist/help-format-CEsRHU2f.js +17 -0
  139. package/dist/help-format-GuCWws6r.js +17 -0
  140. package/dist/helpers-BEJ-phFf.js +25 -0
  141. package/dist/helpers-BtbBZVKZ.js +10 -0
  142. package/dist/helpers-C12w9zxf.js +10 -0
  143. package/dist/helpers-CzjGJZmJ.js +25 -0
  144. package/dist/hooks/bundled/boot-md/HOOK.md +19 -0
  145. package/dist/hooks/bundled/command-logger/HOOK.md +122 -0
  146. package/dist/hooks/bundled/session-memory/HOOK.md +109 -0
  147. package/dist/hooks/bundled/soul-evil/HOOK.md +71 -0
  148. package/dist/hooks-cli-BZCMAnW2.js +1058 -0
  149. package/dist/hooks-cli-D0CEFg3P.js +1061 -0
  150. package/dist/hooks-status-Bn7_O8PM.js +443 -0
  151. package/dist/hooks-status-BrWVfIn0.js +443 -0
  152. package/dist/image-BS022pvv.js +1421 -0
  153. package/dist/image-BzJtY34J.js +629 -0
  154. package/dist/image-CBqmIbQQ.js +629 -0
  155. package/dist/index.js +5809 -0
  156. package/dist/installs-BP4K5L33.js +388 -0
  157. package/dist/installs-DOpTt7VZ.js +388 -0
  158. package/dist/is-main-B4o72sqg.js +25 -0
  159. package/dist/is-main-PYGa3tDA.js +25 -0
  160. package/dist/links-B4nk2iDf.js +15 -0
  161. package/dist/links-DwjRqxgR.js +15 -0
  162. package/dist/loader-Cn4EV_pf.js +63690 -0
  163. package/dist/logging-CS3tbYDj.js +15 -0
  164. package/dist/logging-CY-Q5cwf.js +1 -0
  165. package/dist/logging-DhiLkhLw.js +15 -0
  166. package/dist/logging-pqyrk15z.js +1 -0
  167. package/dist/login-qr-CD164Aw1.js +478 -0
  168. package/dist/login-qr-D7Zdgji2.js +478 -0
  169. package/dist/login-qr-YgILJ4VC.js +475 -0
  170. package/dist/logs-cli-BdS0Uv0I.js +227 -0
  171. package/dist/logs-cli-CqSN1GzB.js +230 -0
  172. package/dist/manager-CfGY5zND.js +2870 -0
  173. package/dist/manager-CjuBqFRL.js +2870 -0
  174. package/dist/manager-CoBEAQKm.js +2872 -0
  175. package/dist/manifest-registry-Bwjq9Iev.js +668 -0
  176. package/dist/manifest-registry-D2Yntqcb.js +668 -0
  177. package/dist/message-channel-Cjsiqxok.js +105 -0
  178. package/dist/message-channel-D6v_oPAg.js +105 -0
  179. package/dist/model-selection-Cv5Ox_tY.js +2956 -0
  180. package/dist/model-selection-Dr-5U5-l.js +2708 -0
  181. package/dist/models-cli-B39ckynD.js +2541 -0
  182. package/dist/models-cli-DoiYsBYw.js +2544 -0
  183. package/dist/net-CFCxaipF.js +137 -0
  184. package/dist/net-DKJPqXuW.js +137 -0
  185. package/dist/node-cli-C_FYF-RA.js +1456 -0
  186. package/dist/node-cli-DWPoNsQS.js +1459 -0
  187. package/dist/node-service-DcJREOww.js +67 -0
  188. package/dist/node-service-DuZ9Us9h.js +67 -0
  189. package/dist/nodes-cli-Elo6tlen.js +1210 -0
  190. package/dist/nodes-cli-zqryRUWB.js +1207 -0
  191. package/dist/nodes-screen-C4aCrxie.js +157 -0
  192. package/dist/nodes-screen-D4PSynkR.js +157 -0
  193. package/dist/note-CQhSvgQv.js +73 -0
  194. package/dist/note-_C44YfAQ.js +73 -0
  195. package/dist/onboard-channels-CHBDi-ZA.js +670 -0
  196. package/dist/onboard-channels-DOEKyxaL.js +670 -0
  197. package/dist/onboard-skills-BUTXREDZ.js +3327 -0
  198. package/dist/onboard-skills-CSLYZmZA.js +3327 -0
  199. package/dist/onboarding-CgKb8b39.js +3232 -0
  200. package/dist/openclaw-root-9ILYSmJ9.js +84 -0
  201. package/dist/openclaw-root-Cvotktkd.js +84 -0
  202. package/dist/pairing-cli-B4UGR2at.js +114 -0
  203. package/dist/pairing-cli-BWDDl8cf.js +117 -0
  204. package/dist/pairing-labels-ClZ-fTWT.js +9 -0
  205. package/dist/pairing-labels-Ds7BPOkj.js +9 -0
  206. package/dist/pairing-store-DDLNuzmx.js +391 -0
  207. package/dist/pairing-store-DRn08lZD.js +391 -0
  208. package/dist/parse-87ybtYW1.js +23 -0
  209. package/dist/parse-OCFfznr3.js +23 -0
  210. package/dist/parse-log-line-C9aL5PUL.js +44 -0
  211. package/dist/parse-log-line-DxRaGzQb.js +44 -0
  212. package/dist/parse-timeout-CFqNj7No.js +16 -0
  213. package/dist/parse-timeout-DV8NQQWk.js +16 -0
  214. package/dist/path-env-C7kiJUgG.js +77 -0
  215. package/dist/path-env-DEj4CiFN.js +77 -0
  216. package/dist/paths-B-q1nXdY.js +43 -0
  217. package/dist/paths-B1kfl4h5.js +164 -0
  218. package/dist/paths-B4kigINg.js +40 -0
  219. package/dist/paths-CHGbP1-A.js +43 -0
  220. package/dist/paths-scjhy7N2.js +180 -0
  221. package/dist/pi-embedded-helpers-C19wUpMB.js +8451 -0
  222. package/dist/pi-embedded-helpers-CT5VuLCb.js +1293 -0
  223. package/dist/pi-embedded-helpers-Dl8e5Rf8.js +1293 -0
  224. package/dist/pi-model-discovery-B6CsmK6Y.js +20 -0
  225. package/dist/pi-model-discovery-DsRqYJLy.js +20 -0
  226. package/dist/pi-model-discovery-EhM2JAQo.js +20 -0
  227. package/dist/pi-tools.policy-BvkSDFDN.js +229 -0
  228. package/dist/plugin-auto-enable-Bd_StZzz.js +461 -0
  229. package/dist/plugin-auto-enable-DBhXb_0x.js +461 -0
  230. package/dist/plugin-sdk/agent-scope-DdwUKIOe.js +606 -0
  231. package/dist/plugin-sdk/chrome-G8apFa5p.js +1953 -0
  232. package/dist/plugin-sdk/command-format-qUVxzqYm.js +52 -0
  233. package/dist/plugin-sdk/config-Cm1M7tgH.js +5623 -0
  234. package/dist/plugin-sdk/deliver-Cl8uowiO.js +2557 -0
  235. package/dist/plugin-sdk/exec-Cm9b2r9Q.js +1107 -0
  236. package/dist/plugin-sdk/github-copilot-token-BHNcM4_B.js +103 -0
  237. package/dist/plugin-sdk/image-7PgoS2VD.js +1421 -0
  238. package/dist/plugin-sdk/index.d.ts +8908 -0
  239. package/dist/plugin-sdk/index.js +70888 -0
  240. package/dist/plugin-sdk/login-qr-qTALvWi2.js +475 -0
  241. package/dist/plugin-sdk/manager-Cs3EQZCb.js +2870 -0
  242. package/dist/plugin-sdk/model-selection-BgC1E1a7.js +2708 -0
  243. package/dist/plugin-sdk/paths-BYpoyRv5.js +164 -0
  244. package/dist/plugin-sdk/paths-DNQE-bvr.js +40 -0
  245. package/dist/plugin-sdk/pi-embedded-helpers-5jNqW_dE.js +8755 -0
  246. package/dist/plugin-sdk/pi-model-discovery-BUGEht9A.js +20 -0
  247. package/dist/plugin-sdk/pw-ai-COTtei4a.js +1649 -0
  248. package/dist/plugin-sdk/qmd-manager-ClSwiAJl.js +615 -0
  249. package/dist/plugin-sdk/redact-2AzjOfk2.js +94 -0
  250. package/dist/plugin-sdk/rolldown-runtime-Cbj13DAv.js +20 -0
  251. package/dist/plugin-sdk/sqlite-gCW7MlLs.js +215 -0
  252. package/dist/plugin-sdk/transcript-events-DGF257vD.js +17 -0
  253. package/dist/plugins-C3Bm-HQV.js +494 -0
  254. package/dist/plugins-QJjTXliB.js +495 -0
  255. package/dist/plugins-cli-DTci0JQb.js +443 -0
  256. package/dist/plugins-cli-wJsN1HHK.js +440 -0
  257. package/dist/ports-CiW9dmMq.js +96 -0
  258. package/dist/program-BWpTHh1I.js +188 -0
  259. package/dist/progress-Bcjniu7m.js +133 -0
  260. package/dist/progress-CvaSPjS9.js +133 -0
  261. package/dist/prompt-style-CFsleyxV.js +9 -0
  262. package/dist/prompt-style-DYJdrXyV.js +9 -0
  263. package/dist/prompts-Bt9fwsg2.js +10 -0
  264. package/dist/prompts-CudpZgTI.js +10 -0
  265. package/dist/pw-ai-08F3GD-3.js +1649 -0
  266. package/dist/pw-ai-ZmHxHQnx.js +1651 -0
  267. package/dist/pw-ai-tNPuRNn3.js +1649 -0
  268. package/dist/qmd-manager-2r-4n3sP.js +617 -0
  269. package/dist/qmd-manager-CF52nuBg.js +615 -0
  270. package/dist/qmd-manager-HEm5H2mk.js +616 -0
  271. package/dist/redact-BICFkpn7.js +97 -0
  272. package/dist/redact-BIMJ3ntQ.js +94 -0
  273. package/dist/redact-KzWHRS5J.js +97 -0
  274. package/dist/register.subclis-D2K25c84.js +348 -0
  275. package/dist/register.subclis-Dd8LbOLi.js +342 -0
  276. package/dist/reply-5UNWRwMn.js +63693 -0
  277. package/dist/restart-sentinel-Cr0vUxB8.js +65 -0
  278. package/dist/restart-sentinel-DUemCjgU.js +65 -0
  279. package/dist/rolldown-runtime-Cbj13DAv.js +20 -0
  280. package/dist/routes-C6UpTPas.js +2410 -0
  281. package/dist/routes-ClNyEvlm.js +2410 -0
  282. package/dist/rpc-D0mf7DIw.js +95 -0
  283. package/dist/rpc-DYdOrgd9.js +95 -0
  284. package/dist/run-main-CojI7gWx.js +194 -0
  285. package/dist/runtime-guard-68M_evhb.js +60 -0
  286. package/dist/runtime-guard-DkjmhnBD.js +60 -0
  287. package/dist/sandbox-Ca81z3Tw.js +2924 -0
  288. package/dist/sandbox-cli-D75GApgp.js +459 -0
  289. package/dist/sandbox-cli-E4SJsC1C.js +462 -0
  290. package/dist/sandbox-knontqD9.js +2925 -0
  291. package/dist/security-cli-BLihvXO-.js +503 -0
  292. package/dist/security-cli-IGQCsK4g.js +506 -0
  293. package/dist/server-context-B9GX5GOI.js +740 -0
  294. package/dist/server-context-BFH7HB_M.js +740 -0
  295. package/dist/server-node-events-CTdHBiEA.js +218 -0
  296. package/dist/server-node-events-DAV14qPr.js +215 -0
  297. package/dist/service-BZNBq9hq.js +680 -0
  298. package/dist/service-C-BLXx9U.js +680 -0
  299. package/dist/service-audit-BfJv4NqZ.js +542 -0
  300. package/dist/service-audit-Bw3M2OEI.js +542 -0
  301. package/dist/shared-5SH-45AX.js +74 -0
  302. package/dist/shared-BxRm5uLU.js +74 -0
  303. package/dist/shared-C80Rmxsd.js +150 -0
  304. package/dist/shared-fGK6_D2v.js +150 -0
  305. package/dist/skills-Bhp0l6UK.js +693 -0
  306. package/dist/skills-Tky2kCMO.js +694 -0
  307. package/dist/skills-cli-6rCClAE4.js +287 -0
  308. package/dist/skills-cli-C4nLCrLw.js +290 -0
  309. package/dist/skills-status-CENcKr3I.js +187 -0
  310. package/dist/skills-status-DX1eUYvk.js +187 -0
  311. package/dist/sqlite-CmdZSZRx.js +197 -0
  312. package/dist/sqlite-Dnmf3LS7.js +215 -0
  313. package/dist/sqlite-QDf0yuU0.js +215 -0
  314. package/dist/status-BSfGAp2D.js +27 -0
  315. package/dist/status-Bp_2NMjt.js +27 -0
  316. package/dist/status-C0ANDr0T.js +3140 -0
  317. package/dist/status-CCHBIZnm.js +21 -0
  318. package/dist/status-Vuqbw2Bb.js +21 -0
  319. package/dist/status.update-BZW5r8Su.js +79 -0
  320. package/dist/status.update-BnD93_O8.js +79 -0
  321. package/dist/subsystem-CAq3uyo7.js +834 -0
  322. package/dist/system-cli-Bb9zmCO1.js +83 -0
  323. package/dist/system-cli-TIIQ04ls.js +80 -0
  324. package/dist/systemd-0Qa_nGqe.js +438 -0
  325. package/dist/systemd-Czb0Xsm7.js +438 -0
  326. package/dist/systemd-hints-CWoEOQRb.js +19 -0
  327. package/dist/systemd-hints-Cv3RN_mZ.js +19 -0
  328. package/dist/systemd-linger-CsdvcIoS.js +75 -0
  329. package/dist/systemd-linger-DKUFHcLn.js +75 -0
  330. package/dist/table-DNPESyNj.js +279 -0
  331. package/dist/table-DS4-gmkV.js +279 -0
  332. package/dist/tailnet-Bg_vE5qi.js +42 -0
  333. package/dist/tailnet-CrNWlQRJ.js +42 -0
  334. package/dist/tailscale-CBv58toW.js +252 -0
  335. package/dist/tailscale-DCnMs7_q.js +225 -0
  336. package/dist/tool-display-BEACy9rK.js +795 -0
  337. package/dist/tool-display-NYQnSpdo.js +795 -0
  338. package/dist/transcript-events-CsB1Saa6.js +17 -0
  339. package/dist/transcript-events-DDYvbmRV.js +17 -0
  340. package/dist/transcript-events-JLH5W4He.js +17 -0
  341. package/dist/tui--NY0rnjr.js +2542 -0
  342. package/dist/tui-DqJfGtvM.js +2543 -0
  343. package/dist/tui-cli-BuHNY6wF.js +54 -0
  344. package/dist/tui-cli-LMFV982e.js +57 -0
  345. package/dist/update-CRpHtCgz.js +317 -0
  346. package/dist/update-D3qruxhj.js +317 -0
  347. package/dist/update-cli-CFF-pslM.js +948 -0
  348. package/dist/update-cli-cn9pEMX7.js +951 -0
  349. package/dist/update-runner-CxGU142L.js +1221 -0
  350. package/dist/update-runner-DNobz_ft.js +1221 -0
  351. package/dist/utils-CKSrBNwq.js +192 -0
  352. package/dist/utils-DX85MiPR.js +188 -0
  353. package/dist/webhooks-cli-BGtt2HAR.js +312 -0
  354. package/dist/webhooks-cli-DHLZrEO_.js +309 -0
  355. package/dist/widearea-dns-BpG7ATO8.js +127 -0
  356. package/dist/widearea-dns-D4wkCJly.js +127 -0
  357. package/dist/ws-3zr8WUwL.js +13 -0
  358. package/dist/ws-log-BXcT2xQk.js +267 -0
  359. package/dist/ws-log-DbDIUsgz.js +267 -0
  360. package/dist/ws-lzrgabja.js +13 -0
  361. package/dist/wsl-D2O2qOrl.js +160 -0
  362. package/docs/.i18n/README.md +31 -0
  363. package/docs/.i18n/glossary.zh-CN.json +190 -0
  364. package/docs/.i18n/zh-CN.tm.jsonl +1329 -0
  365. package/docs/CNAME +1 -0
  366. package/docs/_config.yml +53 -0
  367. package/docs/_layouts/default.html +145 -0
  368. package/docs/assets/markdown.css +179 -0
  369. package/docs/assets/openclaw-logo-text-dark.png +0 -0
  370. package/docs/assets/openclaw-logo-text.png +0 -0
  371. package/docs/assets/pixel-lobster.svg +60 -0
  372. package/docs/assets/showcase/agents-ui.jpg +0 -0
  373. package/docs/assets/showcase/bambu-cli.png +0 -0
  374. package/docs/assets/showcase/codexmonitor.png +0 -0
  375. package/docs/assets/showcase/gohome-grafana.png +0 -0
  376. package/docs/assets/showcase/ios-testflight.jpg +0 -0
  377. package/docs/assets/showcase/oura-health.png +0 -0
  378. package/docs/assets/showcase/padel-cli.svg +11 -0
  379. package/docs/assets/showcase/padel-screenshot.jpg +0 -0
  380. package/docs/assets/showcase/papla-tts.jpg +0 -0
  381. package/docs/assets/showcase/pr-review-telegram.jpg +0 -0
  382. package/docs/assets/showcase/roborock-screenshot.jpg +0 -0
  383. package/docs/assets/showcase/roborock-status.svg +13 -0
  384. package/docs/assets/showcase/roof-camera-sky.jpg +0 -0
  385. package/docs/assets/showcase/snag.png +0 -0
  386. package/docs/assets/showcase/tesco-shop.jpg +0 -0
  387. package/docs/assets/showcase/wienerlinien.png +0 -0
  388. package/docs/assets/showcase/wine-cellar-skill.jpg +0 -0
  389. package/docs/assets/showcase/winix-air-purifier.jpg +0 -0
  390. package/docs/assets/showcase/xuezh-pronunciation.jpeg +0 -0
  391. package/docs/assets/terminal.css +473 -0
  392. package/docs/assets/theme.js +55 -0
  393. package/docs/automation/auth-monitoring.md +44 -0
  394. package/docs/automation/cron-jobs.md +468 -0
  395. package/docs/automation/cron-vs-heartbeat.md +282 -0
  396. package/docs/automation/gmail-pubsub.md +256 -0
  397. package/docs/automation/poll.md +69 -0
  398. package/docs/automation/webhook.md +163 -0
  399. package/docs/bedrock.md +176 -0
  400. package/docs/brave-search.md +41 -0
  401. package/docs/broadcast-groups.md +442 -0
  402. package/docs/channels/bluebubbles.md +338 -0
  403. package/docs/channels/discord.md +475 -0
  404. package/docs/channels/feishu.md +507 -0
  405. package/docs/channels/googlechat.md +250 -0
  406. package/docs/channels/grammy.md +31 -0
  407. package/docs/channels/imessage.md +299 -0
  408. package/docs/channels/index.md +46 -0
  409. package/docs/channels/line.md +186 -0
  410. package/docs/channels/location.md +56 -0
  411. package/docs/channels/matrix.md +233 -0
  412. package/docs/channels/mattermost.md +138 -0
  413. package/docs/channels/msteams.md +768 -0
  414. package/docs/channels/nextcloud-talk.md +136 -0
  415. package/docs/channels/nostr.md +233 -0
  416. package/docs/channels/signal.md +202 -0
  417. package/docs/channels/slack.md +548 -0
  418. package/docs/channels/telegram.md +750 -0
  419. package/docs/channels/tlon.md +132 -0
  420. package/docs/channels/troubleshooting.md +29 -0
  421. package/docs/channels/twitch.md +379 -0
  422. package/docs/channels/whatsapp.md +404 -0
  423. package/docs/channels/zalo.md +189 -0
  424. package/docs/channels/zalouser.md +140 -0
  425. package/docs/cli/acp.md +170 -0
  426. package/docs/cli/agent.md +24 -0
  427. package/docs/cli/agents.md +75 -0
  428. package/docs/cli/approvals.md +50 -0
  429. package/docs/cli/browser.md +107 -0
  430. package/docs/cli/channels.md +79 -0
  431. package/docs/cli/config.md +50 -0
  432. package/docs/cli/configure.md +33 -0
  433. package/docs/cli/cron.md +42 -0
  434. package/docs/cli/dashboard.md +16 -0
  435. package/docs/cli/devices.md +67 -0
  436. package/docs/cli/directory.md +63 -0
  437. package/docs/cli/dns.md +23 -0
  438. package/docs/cli/docs.md +15 -0
  439. package/docs/cli/doctor.md +41 -0
  440. package/docs/cli/gateway.md +199 -0
  441. package/docs/cli/health.md +21 -0
  442. package/docs/cli/hooks.md +304 -0
  443. package/docs/cli/index.md +1029 -0
  444. package/docs/cli/logs.md +24 -0
  445. package/docs/cli/memory.md +45 -0
  446. package/docs/cli/message.md +239 -0
  447. package/docs/cli/models.md +79 -0
  448. package/docs/cli/node.md +112 -0
  449. package/docs/cli/nodes.md +73 -0
  450. package/docs/cli/onboard.md +29 -0
  451. package/docs/cli/pairing.md +21 -0
  452. package/docs/cli/plugins.md +62 -0
  453. package/docs/cli/reset.md +17 -0
  454. package/docs/cli/sandbox.md +152 -0
  455. package/docs/cli/security.md +26 -0
  456. package/docs/cli/sessions.md +16 -0
  457. package/docs/cli/setup.md +29 -0
  458. package/docs/cli/skills.md +26 -0
  459. package/docs/cli/status.md +26 -0
  460. package/docs/cli/system.md +60 -0
  461. package/docs/cli/tui.md +23 -0
  462. package/docs/cli/uninstall.md +17 -0
  463. package/docs/cli/update.md +98 -0
  464. package/docs/cli/voicecall.md +34 -0
  465. package/docs/cli/webhooks.md +25 -0
  466. package/docs/concepts/agent-loop.md +146 -0
  467. package/docs/concepts/agent-workspace.md +233 -0
  468. package/docs/concepts/agent.md +123 -0
  469. package/docs/concepts/architecture.md +129 -0
  470. package/docs/concepts/channel-routing.md +114 -0
  471. package/docs/concepts/compaction.md +61 -0
  472. package/docs/concepts/context.md +161 -0
  473. package/docs/concepts/group-messages.md +84 -0
  474. package/docs/concepts/groups.md +373 -0
  475. package/docs/concepts/markdown-formatting.md +130 -0
  476. package/docs/concepts/memory.md +546 -0
  477. package/docs/concepts/messages.md +154 -0
  478. package/docs/concepts/model-failover.md +149 -0
  479. package/docs/concepts/model-providers.md +316 -0
  480. package/docs/concepts/models.md +208 -0
  481. package/docs/concepts/multi-agent.md +376 -0
  482. package/docs/concepts/oauth.md +145 -0
  483. package/docs/concepts/presence.md +102 -0
  484. package/docs/concepts/queue.md +89 -0
  485. package/docs/concepts/retry.md +69 -0
  486. package/docs/concepts/session-pruning.md +122 -0
  487. package/docs/concepts/session-tool.md +193 -0
  488. package/docs/concepts/session.md +188 -0
  489. package/docs/concepts/sessions.md +10 -0
  490. package/docs/concepts/streaming.md +135 -0
  491. package/docs/concepts/system-prompt.md +115 -0
  492. package/docs/concepts/timezone.md +91 -0
  493. package/docs/concepts/typebox.md +289 -0
  494. package/docs/concepts/typing-indicators.md +68 -0
  495. package/docs/concepts/usage-tracking.md +35 -0
  496. package/docs/date-time.md +128 -0
  497. package/docs/debug/node-issue.md +83 -0
  498. package/docs/debugging.md +162 -0
  499. package/docs/diagnostics/flags.md +91 -0
  500. package/docs/docs.json +1587 -0
  501. package/docs/environment.md +81 -0
  502. package/docs/experiments/onboarding-config-protocol.md +40 -0
  503. package/docs/experiments/plans/cron-add-hardening.md +63 -0
  504. package/docs/experiments/plans/group-policy-hardening.md +40 -0
  505. package/docs/experiments/plans/openresponses-gateway.md +123 -0
  506. package/docs/experiments/proposals/model-config.md +36 -0
  507. package/docs/experiments/research/memory.md +228 -0
  508. package/docs/gateway/authentication.md +145 -0
  509. package/docs/gateway/background-process.md +93 -0
  510. package/docs/gateway/bonjour.md +167 -0
  511. package/docs/gateway/bridge-protocol.md +89 -0
  512. package/docs/gateway/cli-backends.md +223 -0
  513. package/docs/gateway/configuration-examples.md +606 -0
  514. package/docs/gateway/configuration.md +3393 -0
  515. package/docs/gateway/discovery.md +116 -0
  516. package/docs/gateway/doctor.md +282 -0
  517. package/docs/gateway/gateway-lock.md +34 -0
  518. package/docs/gateway/health.md +35 -0
  519. package/docs/gateway/heartbeat.md +302 -0
  520. package/docs/gateway/index.md +328 -0
  521. package/docs/gateway/local-models.md +150 -0
  522. package/docs/gateway/logging.md +113 -0
  523. package/docs/gateway/multiple-gateways.md +112 -0
  524. package/docs/gateway/openai-http-api.md +118 -0
  525. package/docs/gateway/openresponses-http-api.md +317 -0
  526. package/docs/gateway/pairing.md +99 -0
  527. package/docs/gateway/protocol.md +221 -0
  528. package/docs/gateway/remote-gateway-readme.md +157 -0
  529. package/docs/gateway/remote.md +127 -0
  530. package/docs/gateway/sandbox-vs-tool-policy-vs-elevated.md +128 -0
  531. package/docs/gateway/sandboxing.md +193 -0
  532. package/docs/gateway/security/formal-verification.md +164 -0
  533. package/docs/gateway/security/index.md +825 -0
  534. package/docs/gateway/tailscale.md +127 -0
  535. package/docs/gateway/tools-invoke-http-api.md +85 -0
  536. package/docs/gateway/troubleshooting.md +767 -0
  537. package/docs/help/faq.md +2830 -0
  538. package/docs/help/index.md +21 -0
  539. package/docs/help/troubleshooting.md +98 -0
  540. package/docs/hooks/soul-evil.md +69 -0
  541. package/docs/hooks.md +913 -0
  542. package/docs/images/feishu-step2-create-app.png +0 -0
  543. package/docs/images/feishu-step3-credentials.png +0 -0
  544. package/docs/images/feishu-step4-permissions.png +0 -0
  545. package/docs/images/feishu-step5-bot-capability.png +0 -0
  546. package/docs/images/feishu-step6-event-subscription.png +0 -0
  547. package/docs/images/groups-flow.svg +52 -0
  548. package/docs/images/mobile-ui-screenshot.png +0 -0
  549. package/docs/index.md +258 -0
  550. package/docs/install/ansible.md +208 -0
  551. package/docs/install/bun.md +59 -0
  552. package/docs/install/development-channels.md +75 -0
  553. package/docs/install/docker.md +567 -0
  554. package/docs/install/index.md +185 -0
  555. package/docs/install/installer.md +123 -0
  556. package/docs/install/migrating.md +192 -0
  557. package/docs/install/nix.md +96 -0
  558. package/docs/install/node.md +78 -0
  559. package/docs/install/uninstall.md +128 -0
  560. package/docs/install/updating.md +228 -0
  561. package/docs/logging.md +350 -0
  562. package/docs/multi-agent-sandbox-tools.md +395 -0
  563. package/docs/network.md +54 -0
  564. package/docs/nodes/audio.md +114 -0
  565. package/docs/nodes/camera.md +156 -0
  566. package/docs/nodes/images.md +72 -0
  567. package/docs/nodes/index.md +341 -0
  568. package/docs/nodes/location-command.md +113 -0
  569. package/docs/nodes/media-understanding.md +379 -0
  570. package/docs/nodes/talk.md +90 -0
  571. package/docs/nodes/voicewake.md +65 -0
  572. package/docs/northflank.mdx +53 -0
  573. package/docs/perplexity.md +80 -0
  574. package/docs/pi-dev.md +70 -0
  575. package/docs/pi.md +612 -0
  576. package/docs/platforms/android.md +148 -0
  577. package/docs/platforms/digitalocean.md +262 -0
  578. package/docs/platforms/exe-dev.md +125 -0
  579. package/docs/platforms/fly.md +486 -0
  580. package/docs/platforms/gcp.md +503 -0
  581. package/docs/platforms/hetzner.md +330 -0
  582. package/docs/platforms/index.md +53 -0
  583. package/docs/platforms/ios.md +107 -0
  584. package/docs/platforms/linux.md +94 -0
  585. package/docs/platforms/mac/bundled-gateway.md +73 -0
  586. package/docs/platforms/mac/canvas.md +125 -0
  587. package/docs/platforms/mac/child-process.md +69 -0
  588. package/docs/platforms/mac/dev-setup.md +102 -0
  589. package/docs/platforms/mac/health.md +34 -0
  590. package/docs/platforms/mac/icon.md +31 -0
  591. package/docs/platforms/mac/logging.md +57 -0
  592. package/docs/platforms/mac/menu-bar.md +81 -0
  593. package/docs/platforms/mac/peekaboo.md +65 -0
  594. package/docs/platforms/mac/permissions.md +44 -0
  595. package/docs/platforms/mac/release.md +85 -0
  596. package/docs/platforms/mac/remote.md +83 -0
  597. package/docs/platforms/mac/signing.md +47 -0
  598. package/docs/platforms/mac/skills.md +33 -0
  599. package/docs/platforms/mac/voice-overlay.md +60 -0
  600. package/docs/platforms/mac/voicewake.md +67 -0
  601. package/docs/platforms/mac/webchat.md +41 -0
  602. package/docs/platforms/mac/xpc.md +61 -0
  603. package/docs/platforms/macos-vm.md +281 -0
  604. package/docs/platforms/macos.md +203 -0
  605. package/docs/platforms/oracle.md +303 -0
  606. package/docs/platforms/raspberry-pi.md +358 -0
  607. package/docs/platforms/windows.md +159 -0
  608. package/docs/plugin.md +664 -0
  609. package/docs/plugins/agent-tools.md +99 -0
  610. package/docs/plugins/manifest.md +71 -0
  611. package/docs/plugins/voice-call.md +284 -0
  612. package/docs/plugins/zalouser.md +81 -0
  613. package/docs/prose.md +134 -0
  614. package/docs/providers/anthropic.md +152 -0
  615. package/docs/providers/claude-max-api-proxy.md +148 -0
  616. package/docs/providers/cloudflare-ai-gateway.md +71 -0
  617. package/docs/providers/deepgram.md +93 -0
  618. package/docs/providers/github-copilot.md +72 -0
  619. package/docs/providers/glm.md +33 -0
  620. package/docs/providers/index.md +63 -0
  621. package/docs/providers/minimax.md +208 -0
  622. package/docs/providers/models.md +51 -0
  623. package/docs/providers/moonshot.md +142 -0
  624. package/docs/providers/ollama.md +223 -0
  625. package/docs/providers/openai.md +62 -0
  626. package/docs/providers/opencode.md +36 -0
  627. package/docs/providers/openrouter.md +37 -0
  628. package/docs/providers/qwen.md +53 -0
  629. package/docs/providers/synthetic.md +99 -0
  630. package/docs/providers/venice.md +267 -0
  631. package/docs/providers/vercel-ai-gateway.md +50 -0
  632. package/docs/providers/xiaomi.md +64 -0
  633. package/docs/providers/zai.md +36 -0
  634. package/docs/railway.mdx +99 -0
  635. package/docs/refactor/clawnet.md +417 -0
  636. package/docs/refactor/exec-host.md +316 -0
  637. package/docs/refactor/outbound-session-mirroring.md +85 -0
  638. package/docs/refactor/plugin-sdk.md +214 -0
  639. package/docs/refactor/strict-config.md +93 -0
  640. package/docs/reference/AGENTS.default.md +124 -0
  641. package/docs/reference/RELEASING.md +120 -0
  642. package/docs/reference/api-usage-costs.md +137 -0
  643. package/docs/reference/device-models.md +47 -0
  644. package/docs/reference/rpc.md +43 -0
  645. package/docs/reference/session-management-compaction.md +285 -0
  646. package/docs/reference/templates/AGENTS.dev.md +83 -0
  647. package/docs/reference/templates/AGENTS.md +218 -0
  648. package/docs/reference/templates/BOOT.md +10 -0
  649. package/docs/reference/templates/BOOTSTRAP.md +61 -0
  650. package/docs/reference/templates/HEARTBEAT.md +11 -0
  651. package/docs/reference/templates/IDENTITY.dev.md +47 -0
  652. package/docs/reference/templates/IDENTITY.md +27 -0
  653. package/docs/reference/templates/SOUL.dev.md +76 -0
  654. package/docs/reference/templates/SOUL.md +42 -0
  655. package/docs/reference/templates/TOOLS.dev.md +24 -0
  656. package/docs/reference/templates/TOOLS.md +46 -0
  657. package/docs/reference/templates/USER.dev.md +18 -0
  658. package/docs/reference/templates/USER.md +22 -0
  659. package/docs/reference/test.md +50 -0
  660. package/docs/reference/transcript-hygiene.md +129 -0
  661. package/docs/render.mdx +165 -0
  662. package/docs/scripts.md +28 -0
  663. package/docs/security/formal-verification.md +164 -0
  664. package/docs/start/getting-started.md +208 -0
  665. package/docs/start/hubs.md +185 -0
  666. package/docs/start/lore.md +219 -0
  667. package/docs/start/onboarding.md +110 -0
  668. package/docs/start/openclaw.md +241 -0
  669. package/docs/start/pairing.md +86 -0
  670. package/docs/start/setup.md +149 -0
  671. package/docs/start/showcase.md +416 -0
  672. package/docs/start/wizard.md +349 -0
  673. package/docs/testing.md +368 -0
  674. package/docs/token-use.md +112 -0
  675. package/docs/tools/agent-send.md +53 -0
  676. package/docs/tools/apply-patch.md +50 -0
  677. package/docs/tools/browser-linux-troubleshooting.md +139 -0
  678. package/docs/tools/browser-login.md +68 -0
  679. package/docs/tools/browser.md +576 -0
  680. package/docs/tools/chrome-extension.md +178 -0
  681. package/docs/tools/clawhub.md +257 -0
  682. package/docs/tools/creating-skills.md +54 -0
  683. package/docs/tools/elevated.md +57 -0
  684. package/docs/tools/exec-approvals.md +246 -0
  685. package/docs/tools/exec.md +179 -0
  686. package/docs/tools/firecrawl.md +61 -0
  687. package/docs/tools/index.md +509 -0
  688. package/docs/tools/llm-task.md +115 -0
  689. package/docs/tools/lobster.md +342 -0
  690. package/docs/tools/reactions.md +22 -0
  691. package/docs/tools/skills-config.md +76 -0
  692. package/docs/tools/skills.md +300 -0
  693. package/docs/tools/slash-commands.md +198 -0
  694. package/docs/tools/subagents.md +151 -0
  695. package/docs/tools/thinking.md +73 -0
  696. package/docs/tools/web.md +261 -0
  697. package/docs/tts.md +396 -0
  698. package/docs/tui.md +159 -0
  699. package/docs/vps.md +43 -0
  700. package/docs/web/control-ui.md +221 -0
  701. package/docs/web/dashboard.md +46 -0
  702. package/docs/web/index.md +116 -0
  703. package/docs/web/webchat.md +49 -0
  704. package/docs/whatsapp-openclaw-ai-zh.jpg +0 -0
  705. package/docs/whatsapp-openclaw.jpg +0 -0
  706. package/docs/zh-CN/AGENTS.md +59 -0
  707. package/docs/zh-CN/automation/auth-monitoring.md +47 -0
  708. package/docs/zh-CN/automation/cron-jobs.md +424 -0
  709. package/docs/zh-CN/automation/cron-vs-heartbeat.md +286 -0
  710. package/docs/zh-CN/automation/gmail-pubsub.md +249 -0
  711. package/docs/zh-CN/automation/poll.md +76 -0
  712. package/docs/zh-CN/automation/webhook.md +163 -0
  713. package/docs/zh-CN/bedrock.md +170 -0
  714. package/docs/zh-CN/brave-search.md +48 -0
  715. package/docs/zh-CN/broadcast-groups.md +449 -0
  716. package/docs/zh-CN/channels/bluebubbles.md +271 -0
  717. package/docs/zh-CN/channels/discord.md +468 -0
  718. package/docs/zh-CN/channels/feishu.md +513 -0
  719. package/docs/zh-CN/channels/googlechat.md +257 -0
  720. package/docs/zh-CN/channels/grammy.md +38 -0
  721. package/docs/zh-CN/channels/imessage.md +302 -0
  722. package/docs/zh-CN/channels/index.md +53 -0
  723. package/docs/zh-CN/channels/line.md +180 -0
  724. package/docs/zh-CN/channels/location.md +63 -0
  725. package/docs/zh-CN/channels/matrix.md +221 -0
  726. package/docs/zh-CN/channels/mattermost.md +144 -0
  727. package/docs/zh-CN/channels/msteams.md +775 -0
  728. package/docs/zh-CN/channels/nextcloud-talk.md +142 -0
  729. package/docs/zh-CN/channels/nostr.md +240 -0
  730. package/docs/zh-CN/channels/signal.md +209 -0
  731. package/docs/zh-CN/channels/slack.md +531 -0
  732. package/docs/zh-CN/channels/telegram.md +751 -0
  733. package/docs/zh-CN/channels/tlon.md +136 -0
  734. package/docs/zh-CN/channels/troubleshooting.md +36 -0
  735. package/docs/zh-CN/channels/twitch.md +385 -0
  736. package/docs/zh-CN/channels/whatsapp.md +411 -0
  737. package/docs/zh-CN/channels/zalo.md +196 -0
  738. package/docs/zh-CN/channels/zalouser.md +147 -0
  739. package/docs/zh-CN/cli/acp.md +173 -0
  740. package/docs/zh-CN/cli/agent.md +30 -0
  741. package/docs/zh-CN/cli/agents.md +82 -0
  742. package/docs/zh-CN/cli/approvals.md +57 -0
  743. package/docs/zh-CN/cli/browser.md +114 -0
  744. package/docs/zh-CN/cli/channels.md +86 -0
  745. package/docs/zh-CN/cli/config.md +57 -0
  746. package/docs/zh-CN/cli/configure.md +38 -0
  747. package/docs/zh-CN/cli/cron.md +43 -0
  748. package/docs/zh-CN/cli/dashboard.md +23 -0
  749. package/docs/zh-CN/cli/devices.md +74 -0
  750. package/docs/zh-CN/cli/directory.md +70 -0
  751. package/docs/zh-CN/cli/dns.md +30 -0
  752. package/docs/zh-CN/cli/docs.md +22 -0
  753. package/docs/zh-CN/cli/doctor.md +48 -0
  754. package/docs/zh-CN/cli/gateway.md +206 -0
  755. package/docs/zh-CN/cli/health.md +28 -0
  756. package/docs/zh-CN/cli/hooks.md +311 -0
  757. package/docs/zh-CN/cli/index.md +1032 -0
  758. package/docs/zh-CN/cli/logs.md +31 -0
  759. package/docs/zh-CN/cli/memory.md +52 -0
  760. package/docs/zh-CN/cli/message.md +246 -0
  761. package/docs/zh-CN/cli/models.md +85 -0
  762. package/docs/zh-CN/cli/node.md +115 -0
  763. package/docs/zh-CN/cli/nodes.md +80 -0
  764. package/docs/zh-CN/cli/onboard.md +36 -0
  765. package/docs/zh-CN/cli/pairing.md +28 -0
  766. package/docs/zh-CN/cli/plugins.md +66 -0
  767. package/docs/zh-CN/cli/reset.md +24 -0
  768. package/docs/zh-CN/cli/sandbox.md +158 -0
  769. package/docs/zh-CN/cli/security.md +33 -0
  770. package/docs/zh-CN/cli/sessions.md +23 -0
  771. package/docs/zh-CN/cli/setup.md +36 -0
  772. package/docs/zh-CN/cli/skills.md +33 -0
  773. package/docs/zh-CN/cli/status.md +33 -0
  774. package/docs/zh-CN/cli/system.md +63 -0
  775. package/docs/zh-CN/cli/tui.md +30 -0
  776. package/docs/zh-CN/cli/uninstall.md +24 -0
  777. package/docs/zh-CN/cli/update.md +101 -0
  778. package/docs/zh-CN/cli/voicecall.md +41 -0
  779. package/docs/zh-CN/cli/webhooks.md +32 -0
  780. package/docs/zh-CN/concepts/agent-loop.md +146 -0
  781. package/docs/zh-CN/concepts/agent-workspace.md +219 -0
  782. package/docs/zh-CN/concepts/agent.md +115 -0
  783. package/docs/zh-CN/concepts/architecture.md +123 -0
  784. package/docs/zh-CN/concepts/channel-routing.md +117 -0
  785. package/docs/zh-CN/concepts/compaction.md +67 -0
  786. package/docs/zh-CN/concepts/context.md +168 -0
  787. package/docs/zh-CN/concepts/group-messages.md +91 -0
  788. package/docs/zh-CN/concepts/groups.md +379 -0
  789. package/docs/zh-CN/concepts/markdown-formatting.md +117 -0
  790. package/docs/zh-CN/concepts/memory.md +412 -0
  791. package/docs/zh-CN/concepts/messages.md +141 -0
  792. package/docs/zh-CN/concepts/model-failover.md +145 -0
  793. package/docs/zh-CN/concepts/model-providers.md +320 -0
  794. package/docs/zh-CN/concepts/models.md +196 -0
  795. package/docs/zh-CN/concepts/multi-agent.md +372 -0
  796. package/docs/zh-CN/concepts/oauth.md +151 -0
  797. package/docs/zh-CN/concepts/presence.md +99 -0
  798. package/docs/zh-CN/concepts/queue.md +94 -0
  799. package/docs/zh-CN/concepts/retry.md +76 -0
  800. package/docs/zh-CN/concepts/session-pruning.md +129 -0
  801. package/docs/zh-CN/concepts/session-tool.md +200 -0
  802. package/docs/zh-CN/concepts/session.md +166 -0
  803. package/docs/zh-CN/concepts/sessions.md +17 -0
  804. package/docs/zh-CN/concepts/streaming.md +133 -0
  805. package/docs/zh-CN/concepts/system-prompt.md +101 -0
  806. package/docs/zh-CN/concepts/timezone.md +96 -0
  807. package/docs/zh-CN/concepts/typebox.md +284 -0
  808. package/docs/zh-CN/concepts/typing-indicators.md +74 -0
  809. package/docs/zh-CN/concepts/usage-tracking.md +42 -0
  810. package/docs/zh-CN/date-time.md +129 -0
  811. package/docs/zh-CN/debug/node-issue.md +90 -0
  812. package/docs/zh-CN/debugging.md +160 -0
  813. package/docs/zh-CN/diagnostics/flags.md +98 -0
  814. package/docs/zh-CN/environment.md +88 -0
  815. package/docs/zh-CN/experiments/onboarding-config-protocol.md +47 -0
  816. package/docs/zh-CN/experiments/plans/cron-add-hardening.md +70 -0
  817. package/docs/zh-CN/experiments/plans/group-policy-hardening.md +45 -0
  818. package/docs/zh-CN/experiments/plans/openresponses-gateway.md +121 -0
  819. package/docs/zh-CN/experiments/proposals/model-config.md +42 -0
  820. package/docs/zh-CN/experiments/research/memory.md +235 -0
  821. package/docs/zh-CN/gateway/authentication.md +142 -0
  822. package/docs/zh-CN/gateway/background-process.md +100 -0
  823. package/docs/zh-CN/gateway/bonjour.md +174 -0
  824. package/docs/zh-CN/gateway/bridge-protocol.md +86 -0
  825. package/docs/zh-CN/gateway/cli-backends.md +213 -0
  826. package/docs/zh-CN/gateway/configuration-examples.md +587 -0
  827. package/docs/zh-CN/gateway/configuration.md +3332 -0
  828. package/docs/zh-CN/gateway/discovery.md +123 -0
  829. package/docs/zh-CN/gateway/doctor.md +238 -0
  830. package/docs/zh-CN/gateway/gateway-lock.md +41 -0
  831. package/docs/zh-CN/gateway/health.md +42 -0
  832. package/docs/zh-CN/gateway/heartbeat.md +274 -0
  833. package/docs/zh-CN/gateway/index.md +335 -0
  834. package/docs/zh-CN/gateway/local-models.md +157 -0
  835. package/docs/zh-CN/gateway/logging.md +114 -0
  836. package/docs/zh-CN/gateway/multiple-gateways.md +119 -0
  837. package/docs/zh-CN/gateway/openai-http-api.md +125 -0
  838. package/docs/zh-CN/gateway/openresponses-http-api.md +317 -0
  839. package/docs/zh-CN/gateway/pairing.md +99 -0
  840. package/docs/zh-CN/gateway/protocol.md +220 -0
  841. package/docs/zh-CN/gateway/remote-gateway-readme.md +164 -0
  842. package/docs/zh-CN/gateway/remote.md +133 -0
  843. package/docs/zh-CN/gateway/sandbox-vs-tool-policy-vs-elevated.md +135 -0
  844. package/docs/zh-CN/gateway/sandboxing.md +188 -0
  845. package/docs/zh-CN/gateway/security/formal-verification.md +169 -0
  846. package/docs/zh-CN/gateway/security/index.md +777 -0
  847. package/docs/zh-CN/gateway/tailscale.md +124 -0
  848. package/docs/zh-CN/gateway/tools-invoke-http-api.md +92 -0
  849. package/docs/zh-CN/gateway/troubleshooting.md +771 -0
  850. package/docs/zh-CN/help/faq.md +2628 -0
  851. package/docs/zh-CN/help/index.md +28 -0
  852. package/docs/zh-CN/help/troubleshooting.md +104 -0
  853. package/docs/zh-CN/hooks/soul-evil.md +72 -0
  854. package/docs/zh-CN/hooks.md +919 -0
  855. package/docs/zh-CN/index.md +264 -0
  856. package/docs/zh-CN/install/ansible.md +215 -0
  857. package/docs/zh-CN/install/bun.md +65 -0
  858. package/docs/zh-CN/install/development-channels.md +81 -0
  859. package/docs/zh-CN/install/docker.md +532 -0
  860. package/docs/zh-CN/install/index.md +193 -0
  861. package/docs/zh-CN/install/installer.md +128 -0
  862. package/docs/zh-CN/install/migrating.md +199 -0
  863. package/docs/zh-CN/install/nix.md +99 -0
  864. package/docs/zh-CN/install/node.md +85 -0
  865. package/docs/zh-CN/install/uninstall.md +135 -0
  866. package/docs/zh-CN/install/updating.md +233 -0
  867. package/docs/zh-CN/logging.md +329 -0
  868. package/docs/zh-CN/multi-agent-sandbox-tools.md +401 -0
  869. package/docs/zh-CN/network.md +59 -0
  870. package/docs/zh-CN/nodes/audio.md +120 -0
  871. package/docs/zh-CN/nodes/camera.md +162 -0
  872. package/docs/zh-CN/nodes/images.md +79 -0
  873. package/docs/zh-CN/nodes/index.md +348 -0
  874. package/docs/zh-CN/nodes/location-command.md +120 -0
  875. package/docs/zh-CN/nodes/media-understanding.md +380 -0
  876. package/docs/zh-CN/nodes/talk.md +97 -0
  877. package/docs/zh-CN/nodes/voicewake.md +72 -0
  878. package/docs/zh-CN/northflank.mdx +60 -0
  879. package/docs/zh-CN/perplexity.md +84 -0
  880. package/docs/zh-CN/pi-dev.md +77 -0
  881. package/docs/zh-CN/pi.md +619 -0
  882. package/docs/zh-CN/platforms/android.md +155 -0
  883. package/docs/zh-CN/platforms/digitalocean.md +269 -0
  884. package/docs/zh-CN/platforms/exe-dev.md +127 -0
  885. package/docs/zh-CN/platforms/fly.md +490 -0
  886. package/docs/zh-CN/platforms/gcp.md +510 -0
  887. package/docs/zh-CN/platforms/hetzner.md +337 -0
  888. package/docs/zh-CN/platforms/index.md +60 -0
  889. package/docs/zh-CN/platforms/ios.md +114 -0
  890. package/docs/zh-CN/platforms/linux.md +101 -0
  891. package/docs/zh-CN/platforms/mac/bundled-gateway.md +75 -0
  892. package/docs/zh-CN/platforms/mac/canvas.md +128 -0
  893. package/docs/zh-CN/platforms/mac/child-process.md +73 -0
  894. package/docs/zh-CN/platforms/mac/dev-setup.md +109 -0
  895. package/docs/zh-CN/platforms/mac/health.md +41 -0
  896. package/docs/zh-CN/platforms/mac/icon.md +38 -0
  897. package/docs/zh-CN/platforms/mac/logging.md +64 -0
  898. package/docs/zh-CN/platforms/mac/menu-bar.md +88 -0
  899. package/docs/zh-CN/platforms/mac/peekaboo.md +62 -0
  900. package/docs/zh-CN/platforms/mac/permissions.md +46 -0
  901. package/docs/zh-CN/platforms/mac/release.md +92 -0
  902. package/docs/zh-CN/platforms/mac/remote.md +90 -0
  903. package/docs/zh-CN/platforms/mac/signing.md +54 -0
  904. package/docs/zh-CN/platforms/mac/skills.md +40 -0
  905. package/docs/zh-CN/platforms/mac/voice-overlay.md +67 -0
  906. package/docs/zh-CN/platforms/mac/voicewake.md +74 -0
  907. package/docs/zh-CN/platforms/mac/webchat.md +43 -0
  908. package/docs/zh-CN/platforms/mac/xpc.md +68 -0
  909. package/docs/zh-CN/platforms/macos-vm.md +288 -0
  910. package/docs/zh-CN/platforms/macos.md +193 -0
  911. package/docs/zh-CN/platforms/oracle.md +310 -0
  912. package/docs/zh-CN/platforms/raspberry-pi.md +365 -0
  913. package/docs/zh-CN/platforms/windows.md +156 -0
  914. package/docs/zh-CN/plugin.md +639 -0
  915. package/docs/zh-CN/plugins/agent-tools.md +99 -0
  916. package/docs/zh-CN/plugins/manifest.md +68 -0
  917. package/docs/zh-CN/plugins/voice-call.md +250 -0
  918. package/docs/zh-CN/plugins/zalouser.md +88 -0
  919. package/docs/zh-CN/prose.md +141 -0
  920. package/docs/zh-CN/providers/anthropic.md +159 -0
  921. package/docs/zh-CN/providers/claude-max-api-proxy.md +155 -0
  922. package/docs/zh-CN/providers/deepgram.md +97 -0
  923. package/docs/zh-CN/providers/github-copilot.md +67 -0
  924. package/docs/zh-CN/providers/glm.md +39 -0
  925. package/docs/zh-CN/providers/index.md +68 -0
  926. package/docs/zh-CN/providers/minimax.md +206 -0
  927. package/docs/zh-CN/providers/models.md +55 -0
  928. package/docs/zh-CN/providers/moonshot.md +145 -0
  929. package/docs/zh-CN/providers/ollama.md +230 -0
  930. package/docs/zh-CN/providers/openai.md +68 -0
  931. package/docs/zh-CN/providers/opencode.md +41 -0
  932. package/docs/zh-CN/providers/openrouter.md +43 -0
  933. package/docs/zh-CN/providers/qwen.md +55 -0
  934. package/docs/zh-CN/providers/synthetic.md +102 -0
  935. package/docs/zh-CN/providers/venice.md +274 -0
  936. package/docs/zh-CN/providers/vercel-ai-gateway.md +57 -0
  937. package/docs/zh-CN/providers/xiaomi.md +68 -0
  938. package/docs/zh-CN/providers/zai.md +41 -0
  939. package/docs/zh-CN/railway.mdx +106 -0
  940. package/docs/zh-CN/refactor/clawnet.md +424 -0
  941. package/docs/zh-CN/refactor/exec-host.md +323 -0
  942. package/docs/zh-CN/refactor/outbound-session-mirroring.md +92 -0
  943. package/docs/zh-CN/refactor/plugin-sdk.md +221 -0
  944. package/docs/zh-CN/refactor/strict-config.md +100 -0
  945. package/docs/zh-CN/reference/AGENTS.default.md +131 -0
  946. package/docs/zh-CN/reference/RELEASING.md +123 -0
  947. package/docs/zh-CN/reference/api-usage-costs.md +136 -0
  948. package/docs/zh-CN/reference/device-models.md +54 -0
  949. package/docs/zh-CN/reference/rpc.md +48 -0
  950. package/docs/zh-CN/reference/session-management-compaction.md +287 -0
  951. package/docs/zh-CN/reference/templates/AGENTS.dev.md +89 -0
  952. package/docs/zh-CN/reference/templates/AGENTS.md +225 -0
  953. package/docs/zh-CN/reference/templates/BOOT.md +17 -0
  954. package/docs/zh-CN/reference/templates/BOOTSTRAP.md +68 -0
  955. package/docs/zh-CN/reference/templates/HEARTBEAT.md +18 -0
  956. package/docs/zh-CN/reference/templates/IDENTITY.dev.md +54 -0
  957. package/docs/zh-CN/reference/templates/IDENTITY.md +35 -0
  958. package/docs/zh-CN/reference/templates/SOUL.dev.md +83 -0
  959. package/docs/zh-CN/reference/templates/SOUL.md +49 -0
  960. package/docs/zh-CN/reference/templates/TOOLS.dev.md +31 -0
  961. package/docs/zh-CN/reference/templates/TOOLS.md +53 -0
  962. package/docs/zh-CN/reference/templates/USER.dev.md +25 -0
  963. package/docs/zh-CN/reference/templates/USER.md +30 -0
  964. package/docs/zh-CN/reference/test.md +57 -0
  965. package/docs/zh-CN/reference/transcript-hygiene.md +109 -0
  966. package/docs/zh-CN/render.mdx +169 -0
  967. package/docs/zh-CN/scripts.md +35 -0
  968. package/docs/zh-CN/security/formal-verification.md +171 -0
  969. package/docs/zh-CN/start/getting-started.md +206 -0
  970. package/docs/zh-CN/start/hubs.md +191 -0
  971. package/docs/zh-CN/start/lore.md +226 -0
  972. package/docs/zh-CN/start/onboarding.md +105 -0
  973. package/docs/zh-CN/start/openclaw.md +248 -0
  974. package/docs/zh-CN/start/pairing.md +89 -0
  975. package/docs/zh-CN/start/setup.md +153 -0
  976. package/docs/zh-CN/start/showcase.md +423 -0
  977. package/docs/zh-CN/start/wizard.md +331 -0
  978. package/docs/zh-CN/testing.md +375 -0
  979. package/docs/zh-CN/token-use.md +119 -0
  980. package/docs/zh-CN/tools/agent-send.md +59 -0
  981. package/docs/zh-CN/tools/apply-patch.md +57 -0
  982. package/docs/zh-CN/tools/browser-linux-troubleshooting.md +144 -0
  983. package/docs/zh-CN/tools/browser-login.md +75 -0
  984. package/docs/zh-CN/tools/browser.md +553 -0
  985. package/docs/zh-CN/tools/chrome-extension.md +183 -0
  986. package/docs/zh-CN/tools/clawhub.md +209 -0
  987. package/docs/zh-CN/tools/creating-skills.md +61 -0
  988. package/docs/zh-CN/tools/elevated.md +64 -0
  989. package/docs/zh-CN/tools/exec-approvals.md +234 -0
  990. package/docs/zh-CN/tools/exec.md +169 -0
  991. package/docs/zh-CN/tools/firecrawl.md +68 -0
  992. package/docs/zh-CN/tools/index.md +515 -0
  993. package/docs/zh-CN/tools/llm-task.md +117 -0
  994. package/docs/zh-CN/tools/lobster.md +349 -0
  995. package/docs/zh-CN/tools/reactions.md +29 -0
  996. package/docs/zh-CN/tools/skills-config.md +78 -0
  997. package/docs/zh-CN/tools/skills.md +279 -0
  998. package/docs/zh-CN/tools/slash-commands.md +205 -0
  999. package/docs/zh-CN/tools/subagents.md +156 -0
  1000. package/docs/zh-CN/tools/thinking.md +80 -0
  1001. package/docs/zh-CN/tools/web.md +257 -0
  1002. package/docs/zh-CN/tts.md +375 -0
  1003. package/docs/zh-CN/tui.md +166 -0
  1004. package/docs/zh-CN/vps.md +47 -0
  1005. package/docs/zh-CN/web/control-ui.md +191 -0
  1006. package/docs/zh-CN/web/dashboard.md +53 -0
  1007. package/docs/zh-CN/web/index.md +118 -0
  1008. package/docs/zh-CN/web/webchat.md +56 -0
  1009. package/extensions/bluebubbles/README.md +45 -0
  1010. package/extensions/bluebubbles/index.ts +19 -0
  1011. package/extensions/bluebubbles/node_modules/.bin/openclaw +21 -0
  1012. package/extensions/bluebubbles/openclaw.plugin.json +9 -0
  1013. package/extensions/bluebubbles/package.json +36 -0
  1014. package/extensions/bluebubbles/src/accounts.ts +88 -0
  1015. package/extensions/bluebubbles/src/actions.test.ts +650 -0
  1016. package/extensions/bluebubbles/src/actions.ts +438 -0
  1017. package/extensions/bluebubbles/src/attachments.test.ts +345 -0
  1018. package/extensions/bluebubbles/src/attachments.ts +300 -0
  1019. package/extensions/bluebubbles/src/channel.ts +414 -0
  1020. package/extensions/bluebubbles/src/chat.test.ts +461 -0
  1021. package/extensions/bluebubbles/src/chat.ts +378 -0
  1022. package/extensions/bluebubbles/src/config-schema.ts +51 -0
  1023. package/extensions/bluebubbles/src/media-send.ts +174 -0
  1024. package/extensions/bluebubbles/src/monitor.test.ts +2342 -0
  1025. package/extensions/bluebubbles/src/monitor.ts +2490 -0
  1026. package/extensions/bluebubbles/src/onboarding.ts +352 -0
  1027. package/extensions/bluebubbles/src/probe.ts +135 -0
  1028. package/extensions/bluebubbles/src/reactions.test.ts +392 -0
  1029. package/extensions/bluebubbles/src/reactions.ts +188 -0
  1030. package/extensions/bluebubbles/src/runtime.ts +14 -0
  1031. package/extensions/bluebubbles/src/send.test.ts +808 -0
  1032. package/extensions/bluebubbles/src/send.ts +467 -0
  1033. package/extensions/bluebubbles/src/targets.test.ts +183 -0
  1034. package/extensions/bluebubbles/src/targets.ts +422 -0
  1035. package/extensions/bluebubbles/src/types.ts +127 -0
  1036. package/extensions/copilot-proxy/README.md +24 -0
  1037. package/extensions/copilot-proxy/index.ts +148 -0
  1038. package/extensions/copilot-proxy/node_modules/.bin/openclaw +21 -0
  1039. package/extensions/copilot-proxy/openclaw.plugin.json +9 -0
  1040. package/extensions/copilot-proxy/package.json +14 -0
  1041. package/extensions/diagnostics-otel/index.ts +15 -0
  1042. package/extensions/diagnostics-otel/node_modules/.bin/openclaw +21 -0
  1043. package/extensions/diagnostics-otel/openclaw.plugin.json +8 -0
  1044. package/extensions/diagnostics-otel/package.json +27 -0
  1045. package/extensions/diagnostics-otel/src/service.test.ts +226 -0
  1046. package/extensions/diagnostics-otel/src/service.ts +635 -0
  1047. package/extensions/discord/index.ts +17 -0
  1048. package/extensions/discord/node_modules/.bin/openclaw +21 -0
  1049. package/extensions/discord/openclaw.plugin.json +9 -0
  1050. package/extensions/discord/package.json +14 -0
  1051. package/extensions/discord/src/channel.ts +422 -0
  1052. package/extensions/discord/src/runtime.ts +14 -0
  1053. package/extensions/feishu/README.md +47 -0
  1054. package/extensions/feishu/index.ts +15 -0
  1055. package/extensions/feishu/node_modules/.bin/openclaw +21 -0
  1056. package/extensions/feishu/openclaw.plugin.json +9 -0
  1057. package/extensions/feishu/package.json +33 -0
  1058. package/extensions/feishu/src/channel.ts +276 -0
  1059. package/extensions/feishu/src/config-schema.ts +46 -0
  1060. package/extensions/feishu/src/onboarding.ts +278 -0
  1061. package/extensions/google-antigravity-auth/README.md +24 -0
  1062. package/extensions/google-antigravity-auth/index.ts +461 -0
  1063. package/extensions/google-antigravity-auth/node_modules/.bin/openclaw +21 -0
  1064. package/extensions/google-antigravity-auth/openclaw.plugin.json +9 -0
  1065. package/extensions/google-antigravity-auth/package.json +14 -0
  1066. package/extensions/google-gemini-cli-auth/README.md +35 -0
  1067. package/extensions/google-gemini-cli-auth/index.ts +88 -0
  1068. package/extensions/google-gemini-cli-auth/node_modules/.bin/openclaw +21 -0
  1069. package/extensions/google-gemini-cli-auth/oauth.test.ts +240 -0
  1070. package/extensions/google-gemini-cli-auth/oauth.ts +662 -0
  1071. package/extensions/google-gemini-cli-auth/openclaw.plugin.json +9 -0
  1072. package/extensions/google-gemini-cli-auth/package.json +14 -0
  1073. package/extensions/googlechat/index.ts +19 -0
  1074. package/extensions/googlechat/node_modules/.bin/openclaw +21 -0
  1075. package/extensions/googlechat/openclaw.plugin.json +9 -0
  1076. package/extensions/googlechat/package.json +39 -0
  1077. package/extensions/googlechat/src/accounts.ts +147 -0
  1078. package/extensions/googlechat/src/actions.ts +181 -0
  1079. package/extensions/googlechat/src/api.test.ts +61 -0
  1080. package/extensions/googlechat/src/api.ts +282 -0
  1081. package/extensions/googlechat/src/auth.ts +123 -0
  1082. package/extensions/googlechat/src/channel.ts +583 -0
  1083. package/extensions/googlechat/src/monitor.test.ts +22 -0
  1084. package/extensions/googlechat/src/monitor.ts +949 -0
  1085. package/extensions/googlechat/src/onboarding.ts +269 -0
  1086. package/extensions/googlechat/src/runtime.ts +14 -0
  1087. package/extensions/googlechat/src/targets.test.ts +32 -0
  1088. package/extensions/googlechat/src/targets.ts +65 -0
  1089. package/extensions/googlechat/src/types.config.ts +3 -0
  1090. package/extensions/googlechat/src/types.ts +73 -0
  1091. package/extensions/imessage/index.ts +17 -0
  1092. package/extensions/imessage/node_modules/.bin/openclaw +21 -0
  1093. package/extensions/imessage/openclaw.plugin.json +9 -0
  1094. package/extensions/imessage/package.json +14 -0
  1095. package/extensions/imessage/src/channel.ts +294 -0
  1096. package/extensions/imessage/src/runtime.ts +14 -0
  1097. package/extensions/line/index.ts +19 -0
  1098. package/extensions/line/node_modules/.bin/openclaw +21 -0
  1099. package/extensions/line/openclaw.plugin.json +9 -0
  1100. package/extensions/line/package.json +29 -0
  1101. package/extensions/line/src/card-command.ts +344 -0
  1102. package/extensions/line/src/channel.logout.test.ts +99 -0
  1103. package/extensions/line/src/channel.sendPayload.test.ts +306 -0
  1104. package/extensions/line/src/channel.ts +780 -0
  1105. package/extensions/line/src/runtime.ts +14 -0
  1106. package/extensions/llm-task/README.md +97 -0
  1107. package/extensions/llm-task/index.ts +6 -0
  1108. package/extensions/llm-task/node_modules/.bin/openclaw +21 -0
  1109. package/extensions/llm-task/openclaw.plugin.json +21 -0
  1110. package/extensions/llm-task/package.json +14 -0
  1111. package/extensions/llm-task/src/llm-task-tool.test.ts +138 -0
  1112. package/extensions/llm-task/src/llm-task-tool.ts +245 -0
  1113. package/extensions/lobster/README.md +75 -0
  1114. package/extensions/lobster/SKILL.md +97 -0
  1115. package/extensions/lobster/index.ts +14 -0
  1116. package/extensions/lobster/node_modules/.bin/openclaw +21 -0
  1117. package/extensions/lobster/openclaw.plugin.json +10 -0
  1118. package/extensions/lobster/package.json +14 -0
  1119. package/extensions/lobster/src/lobster-tool.test.ts +247 -0
  1120. package/extensions/lobster/src/lobster-tool.ts +328 -0
  1121. package/extensions/matrix/CHANGELOG.md +87 -0
  1122. package/extensions/matrix/index.ts +17 -0
  1123. package/extensions/matrix/node_modules/.bin/markdown-it +21 -0
  1124. package/extensions/matrix/node_modules/.bin/openclaw +21 -0
  1125. package/extensions/matrix/openclaw.plugin.json +9 -0
  1126. package/extensions/matrix/package.json +36 -0
  1127. package/extensions/matrix/src/actions.ts +195 -0
  1128. package/extensions/matrix/src/channel.directory.test.ts +64 -0
  1129. package/extensions/matrix/src/channel.ts +439 -0
  1130. package/extensions/matrix/src/config-schema.ts +62 -0
  1131. package/extensions/matrix/src/directory-live.ts +188 -0
  1132. package/extensions/matrix/src/group-mentions.ts +66 -0
  1133. package/extensions/matrix/src/matrix/accounts.test.ts +82 -0
  1134. package/extensions/matrix/src/matrix/accounts.ts +65 -0
  1135. package/extensions/matrix/src/matrix/actions/client.ts +57 -0
  1136. package/extensions/matrix/src/matrix/actions/messages.ts +128 -0
  1137. package/extensions/matrix/src/matrix/actions/pins.ts +76 -0
  1138. package/extensions/matrix/src/matrix/actions/reactions.ts +96 -0
  1139. package/extensions/matrix/src/matrix/actions/room.ts +85 -0
  1140. package/extensions/matrix/src/matrix/actions/summary.ts +75 -0
  1141. package/extensions/matrix/src/matrix/actions/types.ts +84 -0
  1142. package/extensions/matrix/src/matrix/actions.ts +15 -0
  1143. package/extensions/matrix/src/matrix/active-client.ts +11 -0
  1144. package/extensions/matrix/src/matrix/client/config.ts +160 -0
  1145. package/extensions/matrix/src/matrix/client/create-client.ts +123 -0
  1146. package/extensions/matrix/src/matrix/client/logging.ts +36 -0
  1147. package/extensions/matrix/src/matrix/client/runtime.ts +4 -0
  1148. package/extensions/matrix/src/matrix/client/shared.ts +170 -0
  1149. package/extensions/matrix/src/matrix/client/storage.ts +131 -0
  1150. package/extensions/matrix/src/matrix/client/types.ts +34 -0
  1151. package/extensions/matrix/src/matrix/client.test.ts +56 -0
  1152. package/extensions/matrix/src/matrix/client.ts +5 -0
  1153. package/extensions/matrix/src/matrix/credentials.ts +105 -0
  1154. package/extensions/matrix/src/matrix/deps.ts +60 -0
  1155. package/extensions/matrix/src/matrix/format.test.ts +33 -0
  1156. package/extensions/matrix/src/matrix/format.ts +22 -0
  1157. package/extensions/matrix/src/matrix/index.ts +11 -0
  1158. package/extensions/matrix/src/matrix/monitor/allowlist.test.ts +45 -0
  1159. package/extensions/matrix/src/matrix/monitor/allowlist.ts +103 -0
  1160. package/extensions/matrix/src/matrix/monitor/auto-join.ts +71 -0
  1161. package/extensions/matrix/src/matrix/monitor/direct.ts +104 -0
  1162. package/extensions/matrix/src/matrix/monitor/events.ts +101 -0
  1163. package/extensions/matrix/src/matrix/monitor/handler.ts +661 -0
  1164. package/extensions/matrix/src/matrix/monitor/index.ts +338 -0
  1165. package/extensions/matrix/src/matrix/monitor/location.ts +100 -0
  1166. package/extensions/matrix/src/matrix/monitor/media.test.ts +102 -0
  1167. package/extensions/matrix/src/matrix/monitor/media.ts +113 -0
  1168. package/extensions/matrix/src/matrix/monitor/mentions.ts +31 -0
  1169. package/extensions/matrix/src/matrix/monitor/replies.ts +97 -0
  1170. package/extensions/matrix/src/matrix/monitor/room-info.ts +55 -0
  1171. package/extensions/matrix/src/matrix/monitor/rooms.test.ts +39 -0
  1172. package/extensions/matrix/src/matrix/monitor/rooms.ts +47 -0
  1173. package/extensions/matrix/src/matrix/monitor/threads.ts +68 -0
  1174. package/extensions/matrix/src/matrix/monitor/types.ts +39 -0
  1175. package/extensions/matrix/src/matrix/poll-types.test.ts +21 -0
  1176. package/extensions/matrix/src/matrix/poll-types.ts +166 -0
  1177. package/extensions/matrix/src/matrix/probe.ts +70 -0
  1178. package/extensions/matrix/src/matrix/send/client.ts +66 -0
  1179. package/extensions/matrix/src/matrix/send/formatting.ts +89 -0
  1180. package/extensions/matrix/src/matrix/send/media.ts +229 -0
  1181. package/extensions/matrix/src/matrix/send/targets.test.ts +98 -0
  1182. package/extensions/matrix/src/matrix/send/targets.ts +136 -0
  1183. package/extensions/matrix/src/matrix/send/types.ts +109 -0
  1184. package/extensions/matrix/src/matrix/send.test.ts +171 -0
  1185. package/extensions/matrix/src/matrix/send.ts +260 -0
  1186. package/extensions/matrix/src/onboarding.ts +449 -0
  1187. package/extensions/matrix/src/outbound.ts +52 -0
  1188. package/extensions/matrix/src/resolve-targets.test.ts +48 -0
  1189. package/extensions/matrix/src/resolve-targets.ts +135 -0
  1190. package/extensions/matrix/src/runtime.ts +14 -0
  1191. package/extensions/matrix/src/tool-actions.ts +164 -0
  1192. package/extensions/matrix/src/types.ts +95 -0
  1193. package/extensions/mattermost/index.ts +17 -0
  1194. package/extensions/mattermost/node_modules/.bin/openclaw +21 -0
  1195. package/extensions/mattermost/openclaw.plugin.json +9 -0
  1196. package/extensions/mattermost/package.json +28 -0
  1197. package/extensions/mattermost/src/channel.test.ts +48 -0
  1198. package/extensions/mattermost/src/channel.ts +337 -0
  1199. package/extensions/mattermost/src/config-schema.ts +55 -0
  1200. package/extensions/mattermost/src/group-mentions.ts +15 -0
  1201. package/extensions/mattermost/src/mattermost/accounts.ts +128 -0
  1202. package/extensions/mattermost/src/mattermost/client.ts +220 -0
  1203. package/extensions/mattermost/src/mattermost/index.ts +9 -0
  1204. package/extensions/mattermost/src/mattermost/monitor-helpers.ts +166 -0
  1205. package/extensions/mattermost/src/mattermost/monitor.ts +987 -0
  1206. package/extensions/mattermost/src/mattermost/probe.ts +74 -0
  1207. package/extensions/mattermost/src/mattermost/send.ts +231 -0
  1208. package/extensions/mattermost/src/normalize.ts +46 -0
  1209. package/extensions/mattermost/src/onboarding-helpers.ts +44 -0
  1210. package/extensions/mattermost/src/onboarding.ts +186 -0
  1211. package/extensions/mattermost/src/runtime.ts +14 -0
  1212. package/extensions/mattermost/src/types.ts +50 -0
  1213. package/extensions/memory-core/index.ts +38 -0
  1214. package/extensions/memory-core/node_modules/.bin/openclaw +21 -0
  1215. package/extensions/memory-core/openclaw.plugin.json +9 -0
  1216. package/extensions/memory-core/package.json +17 -0
  1217. package/extensions/memory-lancedb/config.ts +139 -0
  1218. package/extensions/memory-lancedb/index.test.ts +295 -0
  1219. package/extensions/memory-lancedb/index.ts +608 -0
  1220. package/extensions/memory-lancedb/node_modules/.bin/openai +21 -0
  1221. package/extensions/memory-lancedb/node_modules/.bin/openclaw +21 -0
  1222. package/extensions/memory-lancedb/openclaw.plugin.json +60 -0
  1223. package/extensions/memory-lancedb/package.json +19 -0
  1224. package/extensions/minimax-portal-auth/README.md +33 -0
  1225. package/extensions/minimax-portal-auth/index.ts +155 -0
  1226. package/extensions/minimax-portal-auth/node_modules/.bin/openclaw +21 -0
  1227. package/extensions/minimax-portal-auth/oauth.ts +247 -0
  1228. package/extensions/minimax-portal-auth/openclaw.plugin.json +9 -0
  1229. package/extensions/minimax-portal-auth/package.json +14 -0
  1230. package/extensions/msteams/CHANGELOG.md +83 -0
  1231. package/extensions/msteams/index.ts +17 -0
  1232. package/extensions/msteams/node_modules/.bin/openclaw +21 -0
  1233. package/extensions/msteams/openclaw.plugin.json +9 -0
  1234. package/extensions/msteams/package.json +39 -0
  1235. package/extensions/msteams/src/attachments/download.ts +283 -0
  1236. package/extensions/msteams/src/attachments/graph.ts +353 -0
  1237. package/extensions/msteams/src/attachments/html.ts +90 -0
  1238. package/extensions/msteams/src/attachments/payload.ts +22 -0
  1239. package/extensions/msteams/src/attachments/shared.ts +291 -0
  1240. package/extensions/msteams/src/attachments/types.ts +37 -0
  1241. package/extensions/msteams/src/attachments.test.ts +459 -0
  1242. package/extensions/msteams/src/attachments.ts +18 -0
  1243. package/extensions/msteams/src/channel.directory.test.ts +48 -0
  1244. package/extensions/msteams/src/channel.ts +459 -0
  1245. package/extensions/msteams/src/conversation-store-fs.test.ts +88 -0
  1246. package/extensions/msteams/src/conversation-store-fs.ts +165 -0
  1247. package/extensions/msteams/src/conversation-store-memory.ts +47 -0
  1248. package/extensions/msteams/src/conversation-store.ts +41 -0
  1249. package/extensions/msteams/src/directory-live.ts +205 -0
  1250. package/extensions/msteams/src/errors.test.ts +45 -0
  1251. package/extensions/msteams/src/errors.ts +190 -0
  1252. package/extensions/msteams/src/file-consent-helpers.test.ts +243 -0
  1253. package/extensions/msteams/src/file-consent-helpers.ts +73 -0
  1254. package/extensions/msteams/src/file-consent.ts +126 -0
  1255. package/extensions/msteams/src/graph-chat.ts +53 -0
  1256. package/extensions/msteams/src/graph-upload.ts +453 -0
  1257. package/extensions/msteams/src/inbound.test.ts +66 -0
  1258. package/extensions/msteams/src/inbound.ts +48 -0
  1259. package/extensions/msteams/src/index.ts +4 -0
  1260. package/extensions/msteams/src/media-helpers.test.ts +189 -0
  1261. package/extensions/msteams/src/media-helpers.ts +86 -0
  1262. package/extensions/msteams/src/messenger.test.ts +248 -0
  1263. package/extensions/msteams/src/messenger.ts +495 -0
  1264. package/extensions/msteams/src/monitor-handler/inbound-media.ts +128 -0
  1265. package/extensions/msteams/src/monitor-handler/message-handler.ts +640 -0
  1266. package/extensions/msteams/src/monitor-handler.ts +162 -0
  1267. package/extensions/msteams/src/monitor-types.ts +5 -0
  1268. package/extensions/msteams/src/monitor.ts +295 -0
  1269. package/extensions/msteams/src/onboarding.ts +431 -0
  1270. package/extensions/msteams/src/outbound.ts +46 -0
  1271. package/extensions/msteams/src/pending-uploads.ts +89 -0
  1272. package/extensions/msteams/src/policy.test.ts +209 -0
  1273. package/extensions/msteams/src/policy.ts +273 -0
  1274. package/extensions/msteams/src/polls-store-memory.ts +32 -0
  1275. package/extensions/msteams/src/polls-store.test.ts +38 -0
  1276. package/extensions/msteams/src/polls.test.ts +72 -0
  1277. package/extensions/msteams/src/polls.ts +315 -0
  1278. package/extensions/msteams/src/probe.test.ts +58 -0
  1279. package/extensions/msteams/src/probe.ts +107 -0
  1280. package/extensions/msteams/src/reply-dispatcher.ts +130 -0
  1281. package/extensions/msteams/src/resolve-allowlist.ts +297 -0
  1282. package/extensions/msteams/src/runtime.ts +14 -0
  1283. package/extensions/msteams/src/sdk-types.ts +19 -0
  1284. package/extensions/msteams/src/sdk.ts +33 -0
  1285. package/extensions/msteams/src/send-context.ts +164 -0
  1286. package/extensions/msteams/src/send.ts +519 -0
  1287. package/extensions/msteams/src/sent-message-cache.test.ts +15 -0
  1288. package/extensions/msteams/src/sent-message-cache.ts +47 -0
  1289. package/extensions/msteams/src/storage.ts +25 -0
  1290. package/extensions/msteams/src/store-fs.ts +83 -0
  1291. package/extensions/msteams/src/token.ts +19 -0
  1292. package/extensions/nextcloud-talk/index.ts +17 -0
  1293. package/extensions/nextcloud-talk/node_modules/.bin/openclaw +21 -0
  1294. package/extensions/nextcloud-talk/openclaw.plugin.json +9 -0
  1295. package/extensions/nextcloud-talk/package.json +33 -0
  1296. package/extensions/nextcloud-talk/src/accounts.ts +174 -0
  1297. package/extensions/nextcloud-talk/src/channel.ts +409 -0
  1298. package/extensions/nextcloud-talk/src/config-schema.ts +78 -0
  1299. package/extensions/nextcloud-talk/src/format.ts +79 -0
  1300. package/extensions/nextcloud-talk/src/inbound.ts +317 -0
  1301. package/extensions/nextcloud-talk/src/monitor.ts +246 -0
  1302. package/extensions/nextcloud-talk/src/normalize.ts +39 -0
  1303. package/extensions/nextcloud-talk/src/onboarding.ts +343 -0
  1304. package/extensions/nextcloud-talk/src/policy.test.ts +33 -0
  1305. package/extensions/nextcloud-talk/src/policy.ts +180 -0
  1306. package/extensions/nextcloud-talk/src/room-info.ts +125 -0
  1307. package/extensions/nextcloud-talk/src/runtime.ts +14 -0
  1308. package/extensions/nextcloud-talk/src/send.ts +210 -0
  1309. package/extensions/nextcloud-talk/src/signature.ts +72 -0
  1310. package/extensions/nextcloud-talk/src/types.ts +179 -0
  1311. package/extensions/nostr/CHANGELOG.md +74 -0
  1312. package/extensions/nostr/README.md +136 -0
  1313. package/extensions/nostr/index.ts +68 -0
  1314. package/extensions/nostr/node_modules/.bin/openclaw +21 -0
  1315. package/extensions/nostr/openclaw.plugin.json +9 -0
  1316. package/extensions/nostr/package.json +34 -0
  1317. package/extensions/nostr/src/channel.test.ts +151 -0
  1318. package/extensions/nostr/src/channel.ts +353 -0
  1319. package/extensions/nostr/src/config-schema.ts +90 -0
  1320. package/extensions/nostr/src/metrics.ts +478 -0
  1321. package/extensions/nostr/src/nostr-bus.fuzz.test.ts +533 -0
  1322. package/extensions/nostr/src/nostr-bus.integration.test.ts +448 -0
  1323. package/extensions/nostr/src/nostr-bus.test.ts +199 -0
  1324. package/extensions/nostr/src/nostr-bus.ts +715 -0
  1325. package/extensions/nostr/src/nostr-profile-http.test.ts +378 -0
  1326. package/extensions/nostr/src/nostr-profile-http.ts +519 -0
  1327. package/extensions/nostr/src/nostr-profile-import.test.ts +119 -0
  1328. package/extensions/nostr/src/nostr-profile-import.ts +262 -0
  1329. package/extensions/nostr/src/nostr-profile.fuzz.test.ts +477 -0
  1330. package/extensions/nostr/src/nostr-profile.test.ts +410 -0
  1331. package/extensions/nostr/src/nostr-profile.ts +277 -0
  1332. package/extensions/nostr/src/nostr-state-store.test.ts +131 -0
  1333. package/extensions/nostr/src/nostr-state-store.ts +226 -0
  1334. package/extensions/nostr/src/runtime.ts +14 -0
  1335. package/extensions/nostr/src/seen-tracker.ts +303 -0
  1336. package/extensions/nostr/src/types.test.ts +157 -0
  1337. package/extensions/nostr/src/types.ts +101 -0
  1338. package/extensions/nostr/test/setup.ts +5 -0
  1339. package/extensions/open-prose/README.md +25 -0
  1340. package/extensions/open-prose/index.ts +5 -0
  1341. package/extensions/open-prose/node_modules/.bin/openclaw +21 -0
  1342. package/extensions/open-prose/openclaw.plugin.json +11 -0
  1343. package/extensions/open-prose/package.json +14 -0
  1344. package/extensions/open-prose/skills/prose/LICENSE +21 -0
  1345. package/extensions/open-prose/skills/prose/SKILL.md +323 -0
  1346. package/extensions/open-prose/skills/prose/alt-borges.md +141 -0
  1347. package/extensions/open-prose/skills/prose/alts/arabian-nights.md +358 -0
  1348. package/extensions/open-prose/skills/prose/alts/borges.md +360 -0
  1349. package/extensions/open-prose/skills/prose/alts/folk.md +322 -0
  1350. package/extensions/open-prose/skills/prose/alts/homer.md +346 -0
  1351. package/extensions/open-prose/skills/prose/alts/kafka.md +373 -0
  1352. package/extensions/open-prose/skills/prose/compiler.md +2971 -0
  1353. package/extensions/open-prose/skills/prose/examples/01-hello-world.prose +4 -0
  1354. package/extensions/open-prose/skills/prose/examples/02-research-and-summarize.prose +6 -0
  1355. package/extensions/open-prose/skills/prose/examples/03-code-review.prose +17 -0
  1356. package/extensions/open-prose/skills/prose/examples/04-write-and-refine.prose +14 -0
  1357. package/extensions/open-prose/skills/prose/examples/05-debug-issue.prose +20 -0
  1358. package/extensions/open-prose/skills/prose/examples/06-explain-codebase.prose +17 -0
  1359. package/extensions/open-prose/skills/prose/examples/07-refactor.prose +20 -0
  1360. package/extensions/open-prose/skills/prose/examples/08-blog-post.prose +20 -0
  1361. package/extensions/open-prose/skills/prose/examples/09-research-with-agents.prose +25 -0
  1362. package/extensions/open-prose/skills/prose/examples/10-code-review-agents.prose +32 -0
  1363. package/extensions/open-prose/skills/prose/examples/11-skills-and-imports.prose +27 -0
  1364. package/extensions/open-prose/skills/prose/examples/12-secure-agent-permissions.prose +43 -0
  1365. package/extensions/open-prose/skills/prose/examples/13-variables-and-context.prose +51 -0
  1366. package/extensions/open-prose/skills/prose/examples/14-composition-blocks.prose +48 -0
  1367. package/extensions/open-prose/skills/prose/examples/15-inline-sequences.prose +23 -0
  1368. package/extensions/open-prose/skills/prose/examples/16-parallel-reviews.prose +19 -0
  1369. package/extensions/open-prose/skills/prose/examples/17-parallel-research.prose +19 -0
  1370. package/extensions/open-prose/skills/prose/examples/18-mixed-parallel-sequential.prose +36 -0
  1371. package/extensions/open-prose/skills/prose/examples/19-advanced-parallel.prose +71 -0
  1372. package/extensions/open-prose/skills/prose/examples/20-fixed-loops.prose +20 -0
  1373. package/extensions/open-prose/skills/prose/examples/21-pipeline-operations.prose +35 -0
  1374. package/extensions/open-prose/skills/prose/examples/22-error-handling.prose +51 -0
  1375. package/extensions/open-prose/skills/prose/examples/23-retry-with-backoff.prose +63 -0
  1376. package/extensions/open-prose/skills/prose/examples/24-choice-blocks.prose +86 -0
  1377. package/extensions/open-prose/skills/prose/examples/25-conditionals.prose +114 -0
  1378. package/extensions/open-prose/skills/prose/examples/26-parameterized-blocks.prose +100 -0
  1379. package/extensions/open-prose/skills/prose/examples/27-string-interpolation.prose +105 -0
  1380. package/extensions/open-prose/skills/prose/examples/28-automated-pr-review.prose +37 -0
  1381. package/extensions/open-prose/skills/prose/examples/28-gas-town.prose +1572 -0
  1382. package/extensions/open-prose/skills/prose/examples/29-captains-chair.prose +218 -0
  1383. package/extensions/open-prose/skills/prose/examples/30-captains-chair-simple.prose +42 -0
  1384. package/extensions/open-prose/skills/prose/examples/31-captains-chair-with-memory.prose +145 -0
  1385. package/extensions/open-prose/skills/prose/examples/33-pr-review-autofix.prose +168 -0
  1386. package/extensions/open-prose/skills/prose/examples/34-content-pipeline.prose +204 -0
  1387. package/extensions/open-prose/skills/prose/examples/35-feature-factory.prose +296 -0
  1388. package/extensions/open-prose/skills/prose/examples/36-bug-hunter.prose +237 -0
  1389. package/extensions/open-prose/skills/prose/examples/37-the-forge.prose +1474 -0
  1390. package/extensions/open-prose/skills/prose/examples/38-skill-scan.prose +455 -0
  1391. package/extensions/open-prose/skills/prose/examples/39-architect-by-simulation.prose +277 -0
  1392. package/extensions/open-prose/skills/prose/examples/40-rlm-self-refine.prose +32 -0
  1393. package/extensions/open-prose/skills/prose/examples/41-rlm-divide-conquer.prose +38 -0
  1394. package/extensions/open-prose/skills/prose/examples/42-rlm-filter-recurse.prose +46 -0
  1395. package/extensions/open-prose/skills/prose/examples/43-rlm-pairwise.prose +50 -0
  1396. package/extensions/open-prose/skills/prose/examples/44-run-endpoint-ux-test.prose +261 -0
  1397. package/extensions/open-prose/skills/prose/examples/45-plugin-release.prose +159 -0
  1398. package/extensions/open-prose/skills/prose/examples/45-run-endpoint-ux-test-with-remediation.prose +637 -0
  1399. package/extensions/open-prose/skills/prose/examples/46-run-endpoint-ux-test-fast.prose +148 -0
  1400. package/extensions/open-prose/skills/prose/examples/46-workflow-crystallizer.prose +225 -0
  1401. package/extensions/open-prose/skills/prose/examples/47-language-self-improvement.prose +356 -0
  1402. package/extensions/open-prose/skills/prose/examples/48-habit-miner.prose +445 -0
  1403. package/extensions/open-prose/skills/prose/examples/49-prose-run-retrospective.prose +210 -0
  1404. package/extensions/open-prose/skills/prose/examples/README.md +391 -0
  1405. package/extensions/open-prose/skills/prose/examples/roadmap/README.md +22 -0
  1406. package/extensions/open-prose/skills/prose/examples/roadmap/iterative-refinement.prose +20 -0
  1407. package/extensions/open-prose/skills/prose/examples/roadmap/parallel-review.prose +18 -0
  1408. package/extensions/open-prose/skills/prose/examples/roadmap/simple-pipeline.prose +17 -0
  1409. package/extensions/open-prose/skills/prose/examples/roadmap/syntax/open-prose-syntax.prose +223 -0
  1410. package/extensions/open-prose/skills/prose/guidance/antipatterns.md +951 -0
  1411. package/extensions/open-prose/skills/prose/guidance/patterns.md +700 -0
  1412. package/extensions/open-prose/skills/prose/guidance/system-prompt.md +180 -0
  1413. package/extensions/open-prose/skills/prose/help.md +144 -0
  1414. package/extensions/open-prose/skills/prose/lib/README.md +108 -0
  1415. package/extensions/open-prose/skills/prose/lib/calibrator.prose +215 -0
  1416. package/extensions/open-prose/skills/prose/lib/cost-analyzer.prose +174 -0
  1417. package/extensions/open-prose/skills/prose/lib/error-forensics.prose +250 -0
  1418. package/extensions/open-prose/skills/prose/lib/inspector.prose +196 -0
  1419. package/extensions/open-prose/skills/prose/lib/profiler.prose +460 -0
  1420. package/extensions/open-prose/skills/prose/lib/program-improver.prose +275 -0
  1421. package/extensions/open-prose/skills/prose/lib/project-memory.prose +118 -0
  1422. package/extensions/open-prose/skills/prose/lib/user-memory.prose +93 -0
  1423. package/extensions/open-prose/skills/prose/lib/vm-improver.prose +243 -0
  1424. package/extensions/open-prose/skills/prose/primitives/session.md +593 -0
  1425. package/extensions/open-prose/skills/prose/prose.md +1237 -0
  1426. package/extensions/open-prose/skills/prose/state/filesystem.md +498 -0
  1427. package/extensions/open-prose/skills/prose/state/in-context.md +384 -0
  1428. package/extensions/open-prose/skills/prose/state/postgres.md +880 -0
  1429. package/extensions/open-prose/skills/prose/state/sqlite.md +574 -0
  1430. package/extensions/qwen-portal-auth/README.md +24 -0
  1431. package/extensions/qwen-portal-auth/index.ts +130 -0
  1432. package/extensions/qwen-portal-auth/oauth.ts +190 -0
  1433. package/extensions/qwen-portal-auth/openclaw.plugin.json +9 -0
  1434. package/extensions/signal/index.ts +17 -0
  1435. package/extensions/signal/node_modules/.bin/openclaw +21 -0
  1436. package/extensions/signal/openclaw.plugin.json +9 -0
  1437. package/extensions/signal/package.json +14 -0
  1438. package/extensions/signal/src/channel.ts +315 -0
  1439. package/extensions/signal/src/runtime.ts +14 -0
  1440. package/extensions/slack/index.ts +17 -0
  1441. package/extensions/slack/node_modules/.bin/openclaw +21 -0
  1442. package/extensions/slack/openclaw.plugin.json +9 -0
  1443. package/extensions/slack/package.json +14 -0
  1444. package/extensions/slack/src/channel.ts +604 -0
  1445. package/extensions/slack/src/runtime.ts +14 -0
  1446. package/extensions/telegram/index.ts +17 -0
  1447. package/extensions/telegram/node_modules/.bin/openclaw +21 -0
  1448. package/extensions/telegram/openclaw.plugin.json +9 -0
  1449. package/extensions/telegram/package.json +14 -0
  1450. package/extensions/telegram/src/channel.ts +482 -0
  1451. package/extensions/telegram/src/runtime.ts +14 -0
  1452. package/extensions/tlon/README.md +5 -0
  1453. package/extensions/tlon/index.ts +17 -0
  1454. package/extensions/tlon/node_modules/.bin/openclaw +21 -0
  1455. package/extensions/tlon/openclaw.plugin.json +9 -0
  1456. package/extensions/tlon/package.json +33 -0
  1457. package/extensions/tlon/src/channel.ts +392 -0
  1458. package/extensions/tlon/src/config-schema.test.ts +31 -0
  1459. package/extensions/tlon/src/config-schema.ts +43 -0
  1460. package/extensions/tlon/src/monitor/discovery.ts +76 -0
  1461. package/extensions/tlon/src/monitor/history.ts +90 -0
  1462. package/extensions/tlon/src/monitor/index.ts +553 -0
  1463. package/extensions/tlon/src/monitor/processed-messages.test.ts +23 -0
  1464. package/extensions/tlon/src/monitor/processed-messages.ts +46 -0
  1465. package/extensions/tlon/src/monitor/utils.ts +105 -0
  1466. package/extensions/tlon/src/onboarding.ts +214 -0
  1467. package/extensions/tlon/src/runtime.ts +14 -0
  1468. package/extensions/tlon/src/targets.ts +89 -0
  1469. package/extensions/tlon/src/types.ts +92 -0
  1470. package/extensions/tlon/src/urbit/auth.ts +18 -0
  1471. package/extensions/tlon/src/urbit/http-api.ts +38 -0
  1472. package/extensions/tlon/src/urbit/send.test.ts +38 -0
  1473. package/extensions/tlon/src/urbit/send.ts +131 -0
  1474. package/extensions/tlon/src/urbit/sse-client.test.ts +40 -0
  1475. package/extensions/tlon/src/urbit/sse-client.ts +395 -0
  1476. package/extensions/twitch/CHANGELOG.md +45 -0
  1477. package/extensions/twitch/README.md +89 -0
  1478. package/extensions/twitch/index.ts +20 -0
  1479. package/extensions/twitch/node_modules/.bin/openclaw +21 -0
  1480. package/extensions/twitch/openclaw.plugin.json +9 -0
  1481. package/extensions/twitch/package.json +20 -0
  1482. package/extensions/twitch/src/access-control.test.ts +489 -0
  1483. package/extensions/twitch/src/access-control.ts +166 -0
  1484. package/extensions/twitch/src/actions.ts +173 -0
  1485. package/extensions/twitch/src/client-manager-registry.ts +115 -0
  1486. package/extensions/twitch/src/config-schema.ts +82 -0
  1487. package/extensions/twitch/src/config.test.ts +87 -0
  1488. package/extensions/twitch/src/config.ts +116 -0
  1489. package/extensions/twitch/src/monitor.ts +261 -0
  1490. package/extensions/twitch/src/onboarding.test.ts +311 -0
  1491. package/extensions/twitch/src/onboarding.ts +417 -0
  1492. package/extensions/twitch/src/outbound.test.ts +373 -0
  1493. package/extensions/twitch/src/outbound.ts +184 -0
  1494. package/extensions/twitch/src/plugin.test.ts +39 -0
  1495. package/extensions/twitch/src/plugin.ts +274 -0
  1496. package/extensions/twitch/src/probe.test.ts +195 -0
  1497. package/extensions/twitch/src/probe.ts +120 -0
  1498. package/extensions/twitch/src/resolver.ts +137 -0
  1499. package/extensions/twitch/src/runtime.ts +14 -0
  1500. package/extensions/twitch/src/send.test.ts +289 -0
  1501. package/extensions/twitch/src/send.ts +136 -0
  1502. package/extensions/twitch/src/status.test.ts +270 -0
  1503. package/extensions/twitch/src/status.ts +178 -0
  1504. package/extensions/twitch/src/token.test.ts +171 -0
  1505. package/extensions/twitch/src/token.ts +91 -0
  1506. package/extensions/twitch/src/twitch-client.test.ts +589 -0
  1507. package/extensions/twitch/src/twitch-client.ts +277 -0
  1508. package/extensions/twitch/src/types.ts +141 -0
  1509. package/extensions/twitch/src/utils/markdown.ts +98 -0
  1510. package/extensions/twitch/src/utils/twitch.ts +78 -0
  1511. package/extensions/twitch/test/setup.ts +7 -0
  1512. package/extensions/voice-call/CHANGELOG.md +109 -0
  1513. package/extensions/voice-call/README.md +139 -0
  1514. package/extensions/voice-call/index.ts +493 -0
  1515. package/extensions/voice-call/node_modules/.bin/openclaw +21 -0
  1516. package/extensions/voice-call/openclaw.plugin.json +559 -0
  1517. package/extensions/voice-call/package.json +19 -0
  1518. package/extensions/voice-call/src/allowlist.ts +19 -0
  1519. package/extensions/voice-call/src/cli.ts +279 -0
  1520. package/extensions/voice-call/src/config.test.ts +234 -0
  1521. package/extensions/voice-call/src/config.ts +523 -0
  1522. package/extensions/voice-call/src/core-bridge.ts +159 -0
  1523. package/extensions/voice-call/src/manager/context.ts +21 -0
  1524. package/extensions/voice-call/src/manager/events.ts +188 -0
  1525. package/extensions/voice-call/src/manager/lookup.ts +35 -0
  1526. package/extensions/voice-call/src/manager/outbound.ts +275 -0
  1527. package/extensions/voice-call/src/manager/state.ts +48 -0
  1528. package/extensions/voice-call/src/manager/store.ts +91 -0
  1529. package/extensions/voice-call/src/manager/timers.ts +89 -0
  1530. package/extensions/voice-call/src/manager/twiml.ts +9 -0
  1531. package/extensions/voice-call/src/manager.test.ts +194 -0
  1532. package/extensions/voice-call/src/manager.ts +887 -0
  1533. package/extensions/voice-call/src/media-stream.test.ts +96 -0
  1534. package/extensions/voice-call/src/media-stream.ts +411 -0
  1535. package/extensions/voice-call/src/providers/base.ts +67 -0
  1536. package/extensions/voice-call/src/providers/index.ts +10 -0
  1537. package/extensions/voice-call/src/providers/mock.ts +165 -0
  1538. package/extensions/voice-call/src/providers/plivo.test.ts +27 -0
  1539. package/extensions/voice-call/src/providers/plivo.ts +515 -0
  1540. package/extensions/voice-call/src/providers/stt-openai-realtime.ts +311 -0
  1541. package/extensions/voice-call/src/providers/telnyx.ts +371 -0
  1542. package/extensions/voice-call/src/providers/tts-openai.ts +259 -0
  1543. package/extensions/voice-call/src/providers/twilio/api.ts +42 -0
  1544. package/extensions/voice-call/src/providers/twilio/webhook.ts +32 -0
  1545. package/extensions/voice-call/src/providers/twilio.test.ts +60 -0
  1546. package/extensions/voice-call/src/providers/twilio.ts +626 -0
  1547. package/extensions/voice-call/src/response-generator.ts +158 -0
  1548. package/extensions/voice-call/src/runtime.ts +212 -0
  1549. package/extensions/voice-call/src/telephony-audio.ts +90 -0
  1550. package/extensions/voice-call/src/telephony-tts.ts +104 -0
  1551. package/extensions/voice-call/src/tunnel.ts +314 -0
  1552. package/extensions/voice-call/src/types.ts +272 -0
  1553. package/extensions/voice-call/src/utils.ts +14 -0
  1554. package/extensions/voice-call/src/voice-mapping.ts +67 -0
  1555. package/extensions/voice-call/src/webhook-security.test.ts +377 -0
  1556. package/extensions/voice-call/src/webhook-security.ts +689 -0
  1557. package/extensions/voice-call/src/webhook.ts +491 -0
  1558. package/extensions/whatsapp/index.ts +17 -0
  1559. package/extensions/whatsapp/node_modules/.bin/openclaw +21 -0
  1560. package/extensions/whatsapp/openclaw.plugin.json +9 -0
  1561. package/extensions/whatsapp/package.json +14 -0
  1562. package/extensions/whatsapp/src/channel.ts +508 -0
  1563. package/extensions/whatsapp/src/runtime.ts +14 -0
  1564. package/extensions/zalo/CHANGELOG.md +89 -0
  1565. package/extensions/zalo/README.md +50 -0
  1566. package/extensions/zalo/index.ts +19 -0
  1567. package/extensions/zalo/node_modules/.bin/openclaw +21 -0
  1568. package/extensions/zalo/openclaw.plugin.json +9 -0
  1569. package/extensions/zalo/package.json +36 -0
  1570. package/extensions/zalo/src/accounts.ts +80 -0
  1571. package/extensions/zalo/src/actions.ts +67 -0
  1572. package/extensions/zalo/src/api.ts +208 -0
  1573. package/extensions/zalo/src/channel.directory.test.ts +43 -0
  1574. package/extensions/zalo/src/channel.ts +414 -0
  1575. package/extensions/zalo/src/config-schema.ts +24 -0
  1576. package/extensions/zalo/src/monitor.ts +753 -0
  1577. package/extensions/zalo/src/monitor.webhook.test.ts +73 -0
  1578. package/extensions/zalo/src/onboarding.ts +401 -0
  1579. package/extensions/zalo/src/probe.ts +46 -0
  1580. package/extensions/zalo/src/proxy.ts +21 -0
  1581. package/extensions/zalo/src/runtime.ts +14 -0
  1582. package/extensions/zalo/src/send.ts +124 -0
  1583. package/extensions/zalo/src/status-issues.ts +53 -0
  1584. package/extensions/zalo/src/token.ts +63 -0
  1585. package/extensions/zalo/src/types.ts +42 -0
  1586. package/extensions/zalouser/CHANGELOG.md +61 -0
  1587. package/extensions/zalouser/README.md +225 -0
  1588. package/extensions/zalouser/index.ts +31 -0
  1589. package/extensions/zalouser/node_modules/.bin/openclaw +21 -0
  1590. package/extensions/zalouser/openclaw.plugin.json +9 -0
  1591. package/extensions/zalouser/package.json +36 -0
  1592. package/extensions/zalouser/src/accounts.ts +135 -0
  1593. package/extensions/zalouser/src/channel.test.ts +18 -0
  1594. package/extensions/zalouser/src/channel.ts +686 -0
  1595. package/extensions/zalouser/src/config-schema.ts +27 -0
  1596. package/extensions/zalouser/src/monitor.ts +590 -0
  1597. package/extensions/zalouser/src/onboarding.ts +504 -0
  1598. package/extensions/zalouser/src/probe.ts +28 -0
  1599. package/extensions/zalouser/src/runtime.ts +14 -0
  1600. package/extensions/zalouser/src/send.ts +160 -0
  1601. package/extensions/zalouser/src/status-issues.test.ts +57 -0
  1602. package/extensions/zalouser/src/status-issues.ts +89 -0
  1603. package/extensions/zalouser/src/tool.ts +164 -0
  1604. package/extensions/zalouser/src/types.ts +108 -0
  1605. package/extensions/zalouser/src/zca.ts +202 -0
  1606. package/openclaw.mjs +14 -0
  1607. package/package.json +245 -0
  1608. package/skills/1password/SKILL.md +70 -0
  1609. package/skills/1password/references/cli-examples.md +29 -0
  1610. package/skills/1password/references/get-started.md +17 -0
  1611. package/skills/apple-notes/SKILL.md +77 -0
  1612. package/skills/apple-reminders/SKILL.md +96 -0
  1613. package/skills/bear-notes/SKILL.md +107 -0
  1614. package/skills/bird/SKILL.md +224 -0
  1615. package/skills/blogwatcher/SKILL.md +69 -0
  1616. package/skills/blucli/SKILL.md +47 -0
  1617. package/skills/bluebubbles/SKILL.md +131 -0
  1618. package/skills/camsnap/SKILL.md +45 -0
  1619. package/skills/canvas/SKILL.md +198 -0
  1620. package/skills/clawhub/SKILL.md +77 -0
  1621. package/skills/coding-agent/SKILL.md +284 -0
  1622. package/skills/discord/SKILL.md +578 -0
  1623. package/skills/eightctl/SKILL.md +50 -0
  1624. package/skills/food-order/SKILL.md +48 -0
  1625. package/skills/gemini/SKILL.md +43 -0
  1626. package/skills/ghostly-projects/SKILL.md +160 -0
  1627. package/skills/gifgrep/SKILL.md +79 -0
  1628. package/skills/github/SKILL.md +77 -0
  1629. package/skills/gog/SKILL.md +116 -0
  1630. package/skills/goplaces/SKILL.md +52 -0
  1631. package/skills/healthcheck/SKILL.md +245 -0
  1632. package/skills/himalaya/SKILL.md +257 -0
  1633. package/skills/himalaya/references/configuration.md +184 -0
  1634. package/skills/himalaya/references/message-composition.md +199 -0
  1635. package/skills/imsg/SKILL.md +74 -0
  1636. package/skills/linear/SKILL.md +111 -0
  1637. package/skills/linear/linear.sh +204 -0
  1638. package/skills/local-places/SERVER_README.md +101 -0
  1639. package/skills/local-places/SKILL.md +102 -0
  1640. package/skills/local-places/pyproject.toml +21 -0
  1641. package/skills/local-places/src/local_places/__init__.py +2 -0
  1642. package/skills/local-places/src/local_places/google_places.py +314 -0
  1643. package/skills/local-places/src/local_places/main.py +65 -0
  1644. package/skills/local-places/src/local_places/schemas.py +107 -0
  1645. package/skills/mcporter/SKILL.md +61 -0
  1646. package/skills/model-usage/SKILL.md +69 -0
  1647. package/skills/model-usage/references/codexbar-cli.md +33 -0
  1648. package/skills/model-usage/scripts/model_usage.py +310 -0
  1649. package/skills/nano-banana-pro/SKILL.md +58 -0
  1650. package/skills/nano-banana-pro/scripts/generate_image.py +184 -0
  1651. package/skills/nano-pdf/SKILL.md +38 -0
  1652. package/skills/notion/SKILL.md +172 -0
  1653. package/skills/obsidian/SKILL.md +81 -0
  1654. package/skills/openai-image-gen/SKILL.md +89 -0
  1655. package/skills/openai-image-gen/scripts/gen.py +240 -0
  1656. package/skills/openai-whisper/SKILL.md +38 -0
  1657. package/skills/openai-whisper-api/SKILL.md +52 -0
  1658. package/skills/openai-whisper-api/scripts/transcribe.sh +85 -0
  1659. package/skills/openhue/SKILL.md +51 -0
  1660. package/skills/oracle/SKILL.md +125 -0
  1661. package/skills/ordercli/SKILL.md +78 -0
  1662. package/skills/peekaboo/SKILL.md +190 -0
  1663. package/skills/sag/SKILL.md +87 -0
  1664. package/skills/session-logs/SKILL.md +115 -0
  1665. package/skills/sherpa-onnx-tts/SKILL.md +103 -0
  1666. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
  1667. package/skills/skill-creator/SKILL.md +370 -0
  1668. package/skills/skill-creator/license.txt +202 -0
  1669. package/skills/skill-creator/scripts/init_skill.py +378 -0
  1670. package/skills/skill-creator/scripts/package_skill.py +111 -0
  1671. package/skills/skill-creator/scripts/quick_validate.py +101 -0
  1672. package/skills/slack/SKILL.md +144 -0
  1673. package/skills/songsee/SKILL.md +49 -0
  1674. package/skills/sonoscli/SKILL.md +46 -0
  1675. package/skills/spotify-player/SKILL.md +64 -0
  1676. package/skills/summarize/SKILL.md +87 -0
  1677. package/skills/things-mac/SKILL.md +86 -0
  1678. package/skills/tmux/SKILL.md +135 -0
  1679. package/skills/tmux/scripts/find-sessions.sh +112 -0
  1680. package/skills/tmux/scripts/wait-for-text.sh +83 -0
  1681. package/skills/trello/SKILL.md +95 -0
  1682. package/skills/video-frames/SKILL.md +46 -0
  1683. package/skills/video-frames/scripts/frame.sh +81 -0
  1684. package/skills/voice-call/SKILL.md +45 -0
  1685. package/skills/wacli/SKILL.md +72 -0
  1686. package/skills/weather/SKILL.md +54 -0
@@ -0,0 +1,2628 @@
1
+ ---
2
+ summary: 关于 OpenClaw 安装、配置和使用的常见问题
3
+ title: 常见问题
4
+ x-i18n:
5
+ generated_at: "2026-02-01T21:32:04Z"
6
+ model: claude-opus-4-5
7
+ provider: pi
8
+ source_hash: 5a611f2fda3325b1c7a9ec518616d87c78be41e2bfbe86244ae4f48af3815a26
9
+ source_path: help/faq.md
10
+ workflow: 15
11
+ ---
12
+
13
+ # 常见问题
14
+
15
+ 快速解答及针对实际部署场景(本地开发、VPS、多智能体、OAuth/API 密钥、模型故障转移)的深入故障排除。运行时诊断请参阅[故障排除](/gateway/troubleshooting)。完整配置参考请参阅[配置](/gateway/configuration)。
16
+
17
+ ## 目录
18
+
19
+ - [快速开始与首次运行设置](#quick-start-and-firstrun-setup)
20
+ - [我卡住了,最快的排障方法是什么?](#im-stuck-whats-the-fastest-way-to-get-unstuck)
21
+ - [安装和设置 OpenClaw 的推荐方式是什么?](#whats-the-recommended-way-to-install-and-set-up-openclaw)
22
+ - [新手引导后如何打开仪表板?](#how-do-i-open-the-dashboard-after-onboarding)
23
+ - [如何在本地和远程环境中验证仪表板(令牌)?](#how-do-i-authenticate-the-dashboard-token-on-localhost-vs-remote)
24
+ - [我需要什么运行时?](#what-runtime-do-i-need)
25
+ - [能在 Raspberry Pi 上运行吗?](#does-it-run-on-raspberry-pi)
26
+ - [Raspberry Pi 安装有什么建议?](#any-tips-for-raspberry-pi-installs)
27
+ - [卡在 "wake up my friend" / 新手引导无法启动,怎么办?](#it-is-stuck-on-wake-up-my-friend-onboarding-will-not-hatch-what-now)
28
+ - [能否将我的设置迁移到新机器(Mac mini)而不重新进行新手引导?](#can-i-migrate-my-setup-to-a-new-machine-mac-mini-without-redoing-onboarding)
29
+ - [在哪里查看最新版本的更新内容?](#where-do-i-see-whats-new-in-the-latest-version)
30
+ - [无法访问 docs.openclaw.ai(SSL 错误),怎么办?](#i-cant-access-docsopenclawai-ssl-error-what-now)
31
+ - [stable 和 beta 有什么区别?](#whats-the-difference-between-stable-and-beta)
32
+ - [如何安装 beta 版本,beta 和 dev 有什么区别?](#how-do-i-install-the-beta-version-and-whats-the-difference-between-beta-and-dev)
33
+ - [如何试用最新代码?](#how-do-i-try-the-latest-bits)
34
+ - [安装和新手引导通常需要多长时间?](#how-long-does-install-and-onboarding-usually-take)
35
+ - [安装程序卡住了?如何获取更多反馈?](#installer-stuck-how-do-i-get-more-feedback)
36
+ - [Windows 安装提示找不到 git 或无法识别 openclaw](#windows-install-says-git-not-found-or-openclaw-not-recognized)
37
+ - [文档没有解答我的问题——如何获得更好的答案?](#the-docs-didnt-answer-my-question-how-do-i-get-a-better-answer)
38
+ - [如何在 Linux 上安装 OpenClaw?](#how-do-i-install-openclaw-on-linux)
39
+ - [如何在 VPS 上安装 OpenClaw?](#how-do-i-install-openclaw-on-a-vps)
40
+ - [云/VPS 安装指南在哪里?](#where-are-the-cloudvps-install-guides)
41
+ - [可以让 OpenClaw 自行更新吗?](#can-i-ask-openclaw-to-update-itself)
42
+ - [新手引导向导具体做了什么?](#what-does-the-onboarding-wizard-actually-do)
43
+ - [运行 OpenClaw 需要 Claude 或 OpenAI 订阅吗?](#do-i-need-a-claude-or-openai-subscription-to-run-this)
44
+ - [能否使用 Claude Max 订阅而不需要 API 密钥?](#can-i-use-claude-max-subscription-without-an-api-key)
45
+ - [Anthropic "setup-token" 认证如何工作?](#how-does-anthropic-setuptoken-auth-work)
46
+ - [在哪里获取 Anthropic setup-token?](#where-do-i-find-an-anthropic-setuptoken)
47
+ - [是否支持 Claude 订阅认证(Claude Code OAuth)?](#do-you-support-claude-subscription-auth-claude-code-oauth)
48
+ - [为什么我看到 `HTTP 429: rate_limit_error`(来自 Anthropic)?](#why-am-i-seeing-http-429-ratelimiterror-from-anthropic)
49
+ - [支持 AWS Bedrock 吗?](#is-aws-bedrock-supported)
50
+ - [Codex 认证如何工作?](#how-does-codex-auth-work)
51
+ - [是否支持 OpenAI 订阅认证(Codex OAuth)?](#do-you-support-openai-subscription-auth-codex-oauth)
52
+ - [如何设置 Gemini CLI OAuth?](#how-do-i-set-up-gemini-cli-oauth)
53
+ - [本地模型适合日常聊天吗?](#is-a-local-model-ok-for-casual-chats)
54
+ - [如何将托管模型流量限制在特定区域?](#how-do-i-keep-hosted-model-traffic-in-a-specific-region)
55
+ - [我必须购买 Mac Mini 才能安装吗?](#do-i-have-to-buy-a-mac-mini-to-install-this)
56
+ - [iMessage 支持需要 Mac mini 吗?](#do-i-need-a-mac-mini-for-imessage-support)
57
+ - [如果我买了 Mac mini 运行 OpenClaw,能连接到我的 MacBook Pro 吗?](#if-i-buy-a-mac-mini-to-run-openclaw-can-i-connect-it-to-my-macbook-pro)
58
+ - [可以使用 Bun 吗?](#can-i-use-bun)
59
+ - [Telegram:`allowFrom` 填什么?](#telegram-what-goes-in-allowfrom)
60
+ - [多人能否使用同一个 WhatsApp 号码配合不同的 OpenClaw 实例?](#can-multiple-people-use-one-whatsapp-number-with-different-openclaw-instances)
61
+ - [能否同时运行一个“快速聊天”智能体和一个“用 Opus 编程”的智能体?](#can-i-run-a-fast-chat-agent-and-an-opus-for-coding-agent)
62
+ - [Homebrew 在 Linux 上可用吗?](#does-homebrew-work-on-linux)
63
+ - [可编辑(git)安装和 npm 安装有什么区别?](#whats-the-difference-between-the-hackable-git-install-and-npm-install)
64
+ - [之后可以在 npm 和 git 安装之间切换吗?](#can-i-switch-between-npm-and-git-installs-later)
65
+ - [应该在笔记本电脑还是 VPS 上运行 Gateway 网关?](#should-i-run-the-gateway-on-my-laptop-or-a-vps)
66
+ - [在专用机器上运行 OpenClaw 有多重要?](#how-important-is-it-to-run-openclaw-on-a-dedicated-machine)
67
+ - [VPS 的最低要求和推荐操作系统是什么?](#what-are-the-minimum-vps-requirements-and-recommended-os)
68
+ - [可以在虚拟机中运行 OpenClaw 吗?有什么要求?](#can-i-run-openclaw-in-a-vm-and-what-are-the-requirements)
69
+ - [什么是 OpenClaw?](#what-is-openclaw)
70
+ - [用一段话描述 OpenClaw?](#what-is-openclaw-in-one-paragraph)
71
+ - [价值主张是什么?](#whats-the-value-proposition)
72
+ - [刚设置好,应该先做什么?](#i-just-set-it-up-what-should-i-do-first)
73
+ - [OpenClaw 日常最常用的五个场景是什么?](#what-are-the-top-five-everyday-use-cases-for-openclaw)
74
+ - [OpenClaw 能否帮助 SaaS 进行获客、外联、广告和博客?](#can-openclaw-help-with-lead-gen-outreach-ads-and-blogs-for-a-saas)
75
+ - [相比 Claude Code,在 Web 开发方面有什么优势?](#what-are-the-advantages-vs-claude-code-for-web-development)
76
+ - [Skills 与自动化](#skills-and-automation)
77
+ - [如何自定义 Skills 而不弄脏仓库?](#how-do-i-customize-skills-without-keeping-the-repo-dirty)
78
+ - [可以从自定义文件夹加载 Skills 吗?](#can-i-load-skills-from-a-custom-folder)
79
+ - [如何为不同任务使用不同模型?](#how-can-i-use-different-models-for-different-tasks)
80
+ - [机器人在执行繁重工作时卡住了,如何卸载任务?](#the-bot-freezes-while-doing-heavy-work-how-do-i-offload-that)
81
+ - [定时任务或提醒没有触发,应该检查什么?](#cron-or-reminders-do-not-fire-what-should-i-check)
82
+ - [如何在 Linux 上安装 Skills?](#how-do-i-install-skills-on-linux)
83
+ - [OpenClaw 能否按计划或在后台持续运行任务?](#can-openclaw-run-tasks-on-a-schedule-or-continuously-in-the-background)
84
+ - [能否从 Linux 运行仅限 Apple/macOS 的 Skills?](#can-i-run-applemacosonly-skills-from-linux)
85
+ - [有 Notion 或 HeyGen 集成吗?](#do-you-have-a-notion-or-heygen-integration)
86
+ - [如何安装用于浏览器接管的 Chrome 扩展?](#how-do-i-install-the-chrome-extension-for-browser-takeover)
87
+ - [沙箱与记忆](#sandboxing-and-memory)
88
+ - [有专门的沙箱文档吗?](#is-there-a-dedicated-sandboxing-doc)
89
+ - [如何将主机文件夹绑定到沙箱中?](#how-do-i-bind-a-host-folder-into-the-sandbox)
90
+ - [记忆是如何工作的?](#how-does-memory-work)
91
+ - [记忆总是遗忘,如何让它持久保存?](#memory-keeps-forgetting-things-how-do-i-make-it-stick)
92
+ - [记忆是否永久保留?有什么限制?](#does-memory-persist-forever-what-are-the-limits)
93
+ - [语义记忆搜索需要 OpenAI API 密钥吗?](#does-semantic-memory-search-require-an-openai-api-key)
94
+ - [磁盘上的文件位置](#where-things-live-on-disk)
95
+ - [OpenClaw 使用的所有数据都保存在本地吗?](#is-all-data-used-with-openclaw-saved-locally)
96
+ - [OpenClaw 将数据存储在哪里?](#where-does-openclaw-store-its-data)
97
+ - [AGENTS.md / SOUL.md / USER.md / MEMORY.md 应该放在哪里?](#where-should-agentsmd-soulmd-usermd-memorymd-live)
98
+ - [推荐的备份策略是什么?](#whats-the-recommended-backup-strategy)
99
+ - [如何完全卸载 OpenClaw?](#how-do-i-completely-uninstall-openclaw)
100
+ - [智能体可以在工作区外工作吗?](#can-agents-work-outside-the-workspace)
101
+ - [我处于远程模式——会话存储在哪里?](#im-in-remote-mode-where-is-the-session-store)
102
+ - [配置基础](#config-basics)
103
+ - [配置文件是什么格式?在哪里?](#what-format-is-the-config-where-is-it)
104
+ - [我设置了 `gateway.bind: "lan"`(或 `"tailnet"`),现在什么都监听不了 / UI 显示未授权](#i-set-gatewaybind-lan-or-tailnet-and-now-nothing-listens-the-ui-says-unauthorized)
105
+ - [为什么现在在 localhost 也需要令牌?](#why-do-i-need-a-token-on-localhost-now)
106
+ - [更改配置后需要重启吗?](#do-i-have-to-restart-after-changing-config)
107
+ - [如何启用网络搜索(和网页抓取)?](#how-do-i-enable-web-search-and-web-fetch)
108
+ - [config.apply 清空了我的配置,如何恢复和避免?](#configapply-wiped-my-config-how-do-i-recover-and-avoid-this)
109
+ - [如何运行一个中心 Gateway 网关配合跨设备的专用工作节点?](#how-do-i-run-a-central-gateway-with-specialized-workers-across-devices)
110
+ - [OpenClaw 浏览器可以无头运行吗?](#can-the-openclaw-browser-run-headless)
111
+ - [如何使用 Brave 进行浏览器控制?](#how-do-i-use-brave-for-browser-control)
112
+ - [远程 Gateway 网关与节点](#remote-gateways-nodes)
113
+ - [命令如何在 Telegram、Gateway 网关和节点之间传播?](#how-do-commands-propagate-between-telegram-the-gateway-and-nodes)
114
+ - [如果 Gateway 网关托管在远程,我的智能体如何访问我的电脑?](#how-can-my-agent-access-my-computer-if-the-gateway-is-hosted-remotely)
115
+ - [Tailscale 已连接但收不到回复,怎么办?](#tailscale-is-connected-but-i-get-no-replies-what-now)
116
+ - [两个 OpenClaw 实例(本地 + VPS)可以互相通信吗?](#can-two-openclaw-instances-talk-to-each-other-local-vps)
117
+ - [多个智能体需要独立的 VPS 吗?](#do-i-need-separate-vpses-for-multiple-agents)
118
+ - [在个人笔记本电脑上使用节点而不是从 VPS SSH 有什么好处?](#is-there-a-benefit-to-using-a-node-on-my-personal-laptop-instead-of-ssh-from-a-vps)
119
+ - [节点会运行 Gateway 网关服务吗?](#do-nodes-run-a-gateway-service)
120
+ - [有 API / RPC 方式来应用配置吗?](#is-there-an-api-rpc-way-to-apply-config)
121
+ - [首次安装的最小“合理”配置是什么?](#whats-a-minimal-sane-config-for-a-first-install)
122
+ - [如何在 VPS 上设置 Tailscale 并从 Mac 连接?](#how-do-i-set-up-tailscale-on-a-vps-and-connect-from-my-mac)
123
+ - [如何将 Mac 节点连接到远程 Gateway 网关(Tailscale Serve)?](#how-do-i-connect-a-mac-node-to-a-remote-gateway-tailscale-serve)
124
+ - [应该在第二台笔记本上安装还是只添加一个节点?](#should-i-install-on-a-second-laptop-or-just-add-a-node)
125
+ - [环境变量和 .env 加载](#env-vars-and-env-loading)
126
+ - [OpenClaw 如何加载环境变量?](#how-does-openclaw-load-environment-variables)
127
+ - [“我通过服务启动了 Gateway 网关,但环境变量消失了。”怎么办?](#i-started-the-gateway-via-the-service-and-my-env-vars-disappeared-what-now)
128
+ - [我设置了 `COPILOT_GITHUB_TOKEN`,但 models status 显示"Shell env: off",为什么?](#i-set-copilotgithubtoken-but-models-status-shows-shell-env-off-why)
129
+ - [会话与多聊天](#sessions-multiple-chats)
130
+ - [如何开始一个新对话?](#how-do-i-start-a-fresh-conversation)
131
+ - [如果我从不发送 `/new`,会话会自动重置吗?](#do-sessions-reset-automatically-if-i-never-send-new)
132
+ - [能否创建一个 OpenClaw 实例团队——一个 CEO 和多个智能体?](#is-there-a-way-to-make-a-team-of-openclaw-instances-one-ceo-and-many-agents)
133
+ - [为什么上下文在任务中途被截断了?如何防止?](#why-did-context-get-truncated-midtask-how-do-i-prevent-it)
134
+ - [如何完全重置 OpenClaw 但保留安装?](#how-do-i-completely-reset-openclaw-but-keep-it-installed)
135
+ - [我遇到了"context too large"错误——如何重置或压缩?](#im-getting-context-too-large-errors-how-do-i-reset-or-compact)
136
+ - [为什么我看到"LLM request rejected: messages.N.content.X.tool_use.input: Field required"?](#why-am-i-seeing-llm-request-rejected-messagesncontentxtooluseinput-field-required)
137
+ - [为什么每 30 分钟收到一次心跳消息?](#why-am-i-getting-heartbeat-messages-every-30-minutes)
138
+ - [需要在 WhatsApp 群组中添加“机器人账号”吗?](#do-i-need-to-add-a-bot-account-to-a-whatsapp-group)
139
+ - [如何获取 WhatsApp 群组的 JID?](#how-do-i-get-the-jid-of-a-whatsapp-group)
140
+ - [为什么 OpenClaw 不在群组中回复?](#why-doesnt-openclaw-reply-in-a-group)
141
+ - [群组/线程与私聊共享上下文吗?](#do-groupsthreads-share-context-with-dms)
142
+ - [可以创建多少个工作区和智能体?](#how-many-workspaces-and-agents-can-i-create)
143
+ - [可以同时运行多个机器人或聊天(Slack)吗?应该如何设置?](#can-i-run-multiple-bots-or-chats-at-the-same-time-slack-and-how-should-i-set-that-up)
144
+ - [模型:默认值、选择、别名、切换](#models-defaults-selection-aliases-switching)
145
+ - [什么是“默认模型”?](#what-is-the-default-model)
146
+ - [推荐什么模型?](#what-model-do-you-recommend)
147
+ - [如何在不清空配置的情况下切换模型?](#how-do-i-switch-models-without-wiping-my-config)
148
+ - [可以使用自托管模型(llama.cpp、vLLM、Ollama)吗?](#can-i-use-selfhosted-models-llamacpp-vllm-ollama)
149
+ - [OpenClaw、Flawd 和 Krill 使用什么模型?](#what-do-openclaw-flawd-and-krill-use-for-models)
150
+ - [如何在运行中切换模型(无需重启)?](#how-do-i-switch-models-on-the-fly-without-restarting)
151
+ - [能否日常任务用 GPT 5.2,编程用 Codex 5.2?](#can-i-use-gpt-52-for-daily-tasks-and-codex-52-for-coding)
152
+ - [为什么我看到"Model … is not allowed"然后没有回复?](#why-do-i-see-model-is-not-allowed-and-then-no-reply)
153
+ - [为什么我看到"Unknown model: minimax/MiniMax-M2.1"?](#why-do-i-see-unknown-model-minimaxminimaxm21)
154
+ - [能否将 MiniMax 设为默认,复杂任务用 OpenAI?](#can-i-use-minimax-as-my-default-and-openai-for-complex-tasks)
155
+ - [opus / sonnet / gpt 是内置快捷方式吗?](#are-opus-sonnet-gpt-builtin-shortcuts)
156
+ - [如何定义/覆盖模型快捷方式(别名)?](#how-do-i-defineoverride-model-shortcuts-aliases)
157
+ - [如何添加其他提供商(如 OpenRouter 或 Z.AI)的模型?](#how-do-i-add-models-from-other-providers-like-openrouter-or-zai)
158
+ - [模型故障转移与"All models failed"](#model-failover-and-all-models-failed)
159
+ - [故障转移是如何工作的?](#how-does-failover-work)
160
+ - [这个错误是什么意思?](#what-does-this-error-mean)
161
+ - [`No credentials found for profile "anthropic:default"` 的修复清单](#fix-checklist-for-no-credentials-found-for-profile-anthropicdefault)
162
+ - [为什么还尝试了 Google Gemini 并且失败了?](#why-did-it-also-try-google-gemini-and-fail)
163
+ - [认证配置文件:概念和管理方式](#auth-profiles-what-they-are-and-how-to-manage-them)
164
+ - [什么是认证配置文件?](#what-is-an-auth-profile)
165
+ - [典型的配置文件 ID 有哪些?](#what-are-typical-profile-ids)
166
+ - [可以控制首先尝试哪个认证配置文件吗?](#can-i-control-which-auth-profile-is-tried-first)
167
+ - [OAuth 与 API 密钥:有什么区别?](#oauth-vs-api-key-whats-the-difference)
168
+ - [Gateway 网关:端口、“已在运行”和远程模式](#gateway-ports-already-running-and-remote-mode)
169
+ - [Gateway 网关使用什么端口?](#what-port-does-the-gateway-use)
170
+ - [为什么 `openclaw gateway status` 显示 `Runtime: running` 但 `RPC probe: failed`?](#why-does-openclaw-gateway-status-say-runtime-running-but-rpc-probe-failed)
171
+ - [为什么 `openclaw gateway status` 显示 `Config (cli)` 和 `Config (service)` 不同?](#why-does-openclaw-gateway-status-show-config-cli-and-config-service-different)
172
+ - ["another gateway instance is already listening"是什么意思?](#what-does-another-gateway-instance-is-already-listening-mean)
173
+ - [如何以远程模式运行 OpenClaw(客户端连接到其他位置的 Gateway 网关)?](#how-do-i-run-openclaw-in-remote-mode-client-connects-to-a-gateway-elsewhere)
174
+ - [控制 UI 显示"unauthorized"(或持续重连),怎么办?](#the-control-ui-says-unauthorized-or-keeps-reconnecting-what-now)
175
+ - [我设置了 `gateway.bind: "tailnet"` 但无法绑定 / 什么都没监听](#i-set-gatewaybind-tailnet-but-it-cant-bind-nothing-listens)
176
+ - [可以在同一主机上运行多个 Gateway 网关吗?](#can-i-run-multiple-gateways-on-the-same-host)
177
+ - ["invalid handshake" / code 1008 是什么意思?](#what-does-invalid-handshake-code-1008-mean)
178
+ - [日志与调试](#logging-and-debugging)
179
+ - [日志在哪里?](#where-are-logs)
180
+ - [如何启动/停止/重启 Gateway 网关服务?](#how-do-i-startstoprestart-the-gateway-service)
181
+ - [我在 Windows 上关闭了终端——如何重启 OpenClaw?](#i-closed-my-terminal-on-windows-how-do-i-restart-openclaw)
182
+ - [Gateway 网关已启动但回复始终不到达,应该检查什么?](#the-gateway-is-up-but-replies-never-arrive-what-should-i-check)
183
+ - ["Disconnected from gateway: no reason"——怎么办?](#disconnected-from-gateway-no-reason-what-now)
184
+ - [Telegram setMyCommands 因网络错误失败,应该检查什么?](#telegram-setmycommands-fails-with-network-errors-what-should-i-check)
185
+ - [TUI 没有输出,应该检查什么?](#tui-shows-no-output-what-should-i-check)
186
+ - [如何完全停止然后启动 Gateway 网关?](#how-do-i-completely-stop-then-start-the-gateway)
187
+ - [通俗解释:`openclaw gateway restart` 与 `openclaw gateway`](#eli5-openclaw-gateway-restart-vs-openclaw-gateway)
188
+ - [出现故障时获取更多详情的最快方法是什么?](#whats-the-fastest-way-to-get-more-details-when-something-fails)
189
+ - [媒体与附件](#media-attachments)
190
+ - [我的 Skills 生成了图片/PDF,但什么都没发送](#my-skill-generated-an-imagepdf-but-nothing-was-sent)
191
+ - [安全与访问控制](#security-and-access-control)
192
+ - [将 OpenClaw 暴露给入站私信安全吗?](#is-it-safe-to-expose-openclaw-to-inbound-dms)
193
+ - [提示注入只对公开机器人有影响吗?](#is-prompt-injection-only-a-concern-for-public-bots)
194
+ - [我的机器人应该有自己的邮箱、GitHub 账户或电话号码吗?](#should-my-bot-have-its-own-email-github-account-or-phone-number)
195
+ - [我能让它自主管理我的短信吗?这安全吗?](#can-i-give-it-autonomy-over-my-text-messages-and-is-that-safe)
196
+ - [个人助理任务可以使用更便宜的模型吗?](#can-i-use-cheaper-models-for-personal-assistant-tasks)
197
+ - [我在 Telegram 中运行了 `/start` 但没收到配对码](#i-ran-start-in-telegram-but-didnt-get-a-pairing-code)
198
+ - [WhatsApp:会给我的联系人发消息吗?配对如何工作?](#whatsapp-will-it-message-my-contacts-how-does-pairing-work)
199
+ - [聊天命令、中止任务和“停不下来”](#chat-commands-aborting-tasks-and-it-wont-stop)
200
+ - [如何阻止内部系统消息显示在聊天中?](#how-do-i-stop-internal-system-messages-from-showing-in-chat)
201
+ - [如何停止/取消正在运行的任务?](#how-do-i-stopcancel-a-running-task)
202
+ - [如何从 Telegram 发送 Discord 消息?("Cross-context messaging denied")](#how-do-i-send-a-discord-message-from-telegram-crosscontext-messaging-denied)
203
+ - [为什么感觉机器人“忽略”了快速连发的消息?](#why-does-it-feel-like-the-bot-ignores-rapidfire-messages)
204
+
205
+ ## 出问题后的最初六十秒
206
+
207
+ 1. **快速状态(首先检查)**
208
+
209
+ ```bash
210
+ openclaw status
211
+ ```
212
+
213
+ 快速本地摘要:操作系统 + 更新、Gateway 网关/服务可达性、智能体/会话、提供商配置 + 运行时问题(Gateway 网关可达时)。
214
+
215
+ 2. **可粘贴的报告(可安全分享)**
216
+
217
+ ```bash
218
+ openclaw status --all
219
+ ```
220
+
221
+ 只读诊断,附带日志尾部(令牌已脱敏)。
222
+
223
+ 3. **守护进程 + 端口状态**
224
+
225
+ ```bash
226
+ openclaw gateway status
227
+ ```
228
+
229
+ 显示 supervisor 运行状态与 RPC 可达性、探测目标 URL,以及服务可能使用的配置。
230
+
231
+ 4. **深度探测**
232
+
233
+ ```bash
234
+ openclaw status --deep
235
+ ```
236
+
237
+ 运行 Gateway 网关健康检查 + 提供商探测(需要可达的 Gateway 网关)。参阅[健康检查](/gateway/health)。
238
+
239
+ 5. **跟踪最新日志**
240
+
241
+ ```bash
242
+ openclaw logs --follow
243
+ ```
244
+
245
+ 如果 RPC 不可用,回退到:
246
+
247
+ ```bash
248
+ tail -f "$(ls -t /tmp/openclaw/openclaw-*.log | head -1)"
249
+ ```
250
+
251
+ 文件日志与服务日志是分开的;参阅[日志](/logging)和[故障排除](/gateway/troubleshooting)。
252
+
253
+ 6. **运行 doctor(修复)**
254
+
255
+ ```bash
256
+ openclaw doctor
257
+ ```
258
+
259
+ 修复/迁移配置/状态 + 运行健康检查。参阅 [Doctor](/gateway/doctor)。
260
+
261
+ 7. **Gateway 网关快照**
262
+ ```bash
263
+ openclaw health --json
264
+ openclaw health --verbose # 出错时显示目标 URL + 配置路径
265
+ ```
266
+ 向运行中的 Gateway 网关请求完整快照(仅 WS)。参阅[健康检查](/gateway/health)。
267
+
268
+ ## 快速开始与首次运行设置
269
+
270
+ ### 我卡住了,最快的排障方法是什么
271
+
272
+ 使用能**看到你机器**的本地 AI 智能体。这比在 Discord 上提问有效得多,因为大多数“卡住了”的情况都是**本地配置或环境问题**,远程帮助者无法检查。
273
+
274
+ - **Claude Code**:https://www.anthropic.com/claude-code/
275
+ - **OpenAI Codex**:https://openai.com/codex/
276
+
277
+ 这些工具可以读取仓库、运行命令、检查日志,并帮助修复你的机器级别设置(PATH、服务、权限、认证文件)。通过可编辑(git)安装提供**完整源代码**:
278
+
279
+ ```bash
280
+ curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git
281
+ ```
282
+
283
+ 这会从 **git checkout** 安装 OpenClaw,这样智能体可以读取代码 + 文档,并推理你正在运行的确切版本。你可以随时通过不带 `--install-method git` 重新运行安装程序切回稳定版。
284
+
285
+ 提示:要求智能体**计划并监督**修复(逐步进行),然后只执行必要的命令。这样改动较小,更容易审查。
286
+
287
+ 如果你发现了真正的 bug 或修复方案,请提交 GitHub issue 或发送 PR:
288
+ https://github.com/openclaw/openclaw/issues
289
+ https://github.com/openclaw/openclaw/pulls
290
+
291
+ 从以下命令开始(在寻求帮助时分享输出):
292
+
293
+ ```bash
294
+ openclaw status
295
+ openclaw models status
296
+ openclaw doctor
297
+ ```
298
+
299
+ 它们的作用:
300
+
301
+ - `openclaw status`:Gateway 网关/智能体健康状况 + 基本配置的快速快照。
302
+ - `openclaw models status`:检查提供商认证 + 模型可用性。
303
+ - `openclaw doctor`:验证并修复常见的配置/状态问题。
304
+
305
+ 其他有用的 CLI 检查:`openclaw status --all`、`openclaw logs --follow`、
306
+ `openclaw gateway status`、`openclaw health --verbose`。
307
+
308
+ 快速调试流程:[出问题后的最初六十秒](#first-60-seconds-if-somethings-broken)。
309
+ 安装文档:[安装](/install)、[安装程序标志](/install/installer)、[更新](/install/updating)。
310
+
311
+ ### 安装和设置 OpenClaw 的推荐方式是什么
312
+
313
+ 仓库推荐从源码运行并使用新手引导向导:
314
+
315
+ ```bash
316
+ curl -fsSL https://openclaw.ai/install.sh | bash
317
+ openclaw onboard --install-daemon
318
+ ```
319
+
320
+ 向导还可以自动构建 UI 资源。新手引导后,通常在端口 **18789** 上运行 Gateway 网关。
321
+
322
+ 从源码安装(贡献者/开发者):
323
+
324
+ ```bash
325
+ git clone https://github.com/openclaw/openclaw.git
326
+ cd openclaw
327
+ pnpm install
328
+ pnpm build
329
+ pnpm ui:build # 首次运行时自动安装 UI 依赖
330
+ openclaw onboard
331
+ ```
332
+
333
+ 如果你还没有全局安装,通过 `pnpm openclaw onboard` 运行。
334
+
335
+ ### 新手引导后如何打开仪表板
336
+
337
+ 向导现在会在新手引导完成后立即使用带令牌的仪表板 URL 打开浏览器,并在摘要中打印完整链接(带令牌)。保持该标签页打开;如果没有自动启动,请在同一台机器上复制/粘贴打印的 URL。令牌保持在本地主机上——不会从浏览器获取任何内容。
338
+
339
+ ### 如何在本地和远程环境中验证仪表板令牌
340
+
341
+ **本地(同一台机器):**
342
+
343
+ - 打开 `http://127.0.0.1:18789/`。
344
+ - 如果要求认证,运行 `openclaw dashboard` 并使用带令牌的链接(`?token=...`)。
345
+ - 令牌与 `gateway.auth.token`(或 `OPENCLAW_GATEWAY_TOKEN`)的值相同,UI 在首次加载后会存储它。
346
+
347
+ **非本地环境:**
348
+
349
+ - **Tailscale Serve**(推荐):保持绑定 loopback,运行 `openclaw gateway --tailscale serve`,打开 `https://<magicdns>/`。如果 `gateway.auth.allowTailscale` 为 `true`,身份标头满足认证要求(无需令牌)。
350
+ - **Tailnet 绑定**:运行 `openclaw gateway --bind tailnet --token "<token>"`,打开 `http://<tailscale-ip>:18789/`,在仪表板设置中粘贴令牌。
351
+ - **SSH 隧道**:`ssh -N -L 18789:127.0.0.1:18789 user@host`,然后从 `openclaw dashboard` 打开 `http://127.0.0.1:18789/?token=...`。
352
+
353
+ 参阅[仪表板](/web/dashboard)和 [Web 界面](/web)了解绑定模式和认证详情。
354
+
355
+ ### 我需要什么运行时
356
+
357
+ Node **>= 22** 是必需的。推荐使用 `pnpm`。**不推荐**使用 Bun 运行 Gateway 网关。
358
+
359
+ ### 能在 Raspberry Pi 上运行吗
360
+
361
+ 可以。Gateway 网关是轻量级的——文档列出 **512MB-1GB RAM**、**1 核**和约 **500MB** 磁盘空间足够个人使用,并指出 **Raspberry Pi 4 可以运行**。
362
+
363
+ 如果你需要额外的余量(日志、媒体、其他服务),**推荐 2GB**,但这不是硬性最低要求。
364
+
365
+ 提示:小型 Pi/VPS 可以托管 Gateway 网关,你可以在笔记本/手机上配对**节点**以获取本地屏幕/摄像头/画布或命令执行能力。参阅[节点](/nodes)。
366
+
367
+ ### Raspberry Pi 安装有什么建议
368
+
369
+ 简短回答:可以运行,但预期会有一些粗糙之处。
370
+
371
+ - 使用 **64 位**操作系统并保持 Node >= 22。
372
+ - 优先选择**可编辑(git)安装**,以便查看日志和快速更新。
373
+ - 先不启用渠道/Skills,然后逐个添加。
374
+ - 如果遇到奇怪的二进制问题,通常是 **ARM 兼容性**问题。
375
+
376
+ 文档:[Linux](/platforms/linux)、[安装](/install)。
377
+
378
+ ### 卡在 wake up my friend / 新手引导无法启动,怎么办
379
+
380
+ 该界面依赖于 Gateway 网关可达且已认证。TUI 也会在首次启动时自动发送"Wake up, my friend!"。如果你看到该行但**没有回复**且令牌保持为 0,说明智能体从未运行。
381
+
382
+ 1. 重启 Gateway 网关:
383
+
384
+ ```bash
385
+ openclaw gateway restart
386
+ ```
387
+
388
+ 2. 检查状态和认证:
389
+
390
+ ```bash
391
+ openclaw status
392
+ openclaw models status
393
+ openclaw logs --follow
394
+ ```
395
+
396
+ 3. 如果仍然挂起,运行:
397
+
398
+ ```bash
399
+ openclaw doctor
400
+ ```
401
+
402
+ 如果 Gateway 网关在远程,确保隧道/Tailscale 连接正常,且 UI 指向正确的 Gateway 网关。参阅[远程访问](/gateway/remote)。
403
+
404
+ ### 能否将我的设置迁移到新机器(Mac mini)而不重新进行新手引导
405
+
406
+ 可以。复制**状态目录**和**工作区**,然后运行一次 Doctor。只要你同时复制**两个**位置,就能保持你的机器人“完全一样”(记忆、会话历史、认证和渠道状态):
407
+
408
+ 1. 在新机器上安装 OpenClaw。
409
+ 2. 从旧机器复制 `$OPENCLAW_STATE_DIR`(默认:`~/.openclaw`)。
410
+ 3. 复制你的工作区(默认:`~/.openclaw/workspace`)。
411
+ 4. 运行 `openclaw doctor` 并重启 Gateway 网关服务。
412
+
413
+ 这会保留配置、认证配置文件、WhatsApp 凭据、会话和记忆。如果你处于远程模式,请记住 Gateway 网关主机拥有会话存储和工作区。
414
+
415
+ **重要:** 如果你只将工作区提交/推送到 GitHub,你只备份了**记忆 + 引导文件**,但**不包括**会话历史或认证。它们位于 `~/.openclaw/` 下(例如 `~/.openclaw/agents/<agentId>/sessions/`)。
416
+
417
+ 相关:[迁移](/install/migrating)、[磁盘上的文件位置](/help/faq#where-does-openclaw-store-its-data)、
418
+ [智能体工作区](/concepts/agent-workspace)、[Doctor](/gateway/doctor)、
419
+ [远程模式](/gateway/remote)。
420
+
421
+ ### 在哪里查看最新版本的更新内容
422
+
423
+ 查看 GitHub 变更日志:
424
+ https://github.com/openclaw/openclaw/blob/main/CHANGELOG.md
425
+
426
+ 最新条目在顶部。如果顶部部分标记为 **Unreleased**,则下一个带日期的部分是最新发布版本。条目按**亮点**、**变更**和**修复**分组(需要时还有文档/其他部分)。
427
+
428
+ ### 无法访问 docs.openclaw.ai(SSL 错误),怎么办
429
+
430
+ 一些 Comcast/Xfinity 连接通过 Xfinity Advanced Security 错误地拦截了 `docs.openclaw.ai`。禁用该功能或将 `docs.openclaw.ai` 加入白名单,然后重试。更多详情:[故障排除](/help/troubleshooting#docsopenclawai-shows-an-ssl-error-comcastxfinity)。
431
+ 请帮助我们在此处报告以解除封锁:https://spa.xfinity.com/check_url_status。
432
+
433
+ 如果仍然无法访问该网站,文档在 GitHub 上有镜像:
434
+ https://github.com/openclaw/openclaw/tree/main/docs
435
+
436
+ ### stable 和 beta 有什么区别
437
+
438
+ **Stable** 和 **beta** 是 **npm dist-tags**,不是独立的代码分支:
439
+
440
+ - `latest` = stable
441
+ - `beta` = 用于测试的早期构建
442
+
443
+ 我们将构建发布到 **beta**,测试后,一旦构建稳定,就会**将同一版本提升为 `latest`**。这就是为什么 beta 和 stable 可以指向**相同版本**。
444
+
445
+ 查看变更:
446
+ https://github.com/openclaw/openclaw/blob/main/CHANGELOG.md
447
+
448
+ ### 如何安装 beta 版本,beta 和 dev 有什么区别
449
+
450
+ **Beta** 是 npm dist-tag `beta`(可能与 `latest` 相同)。
451
+ **Dev** 是 `main` 的滚动头部(git);发布时使用 npm dist-tag `dev`。
452
+
453
+ 一行命令(macOS/Linux):
454
+
455
+ ```bash
456
+ curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --beta
457
+ ```
458
+
459
+ ```bash
460
+ curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git
461
+ ```
462
+
463
+ Windows 安装程序(PowerShell):
464
+ https://openclaw.ai/install.ps1
465
+
466
+ 更多详情:[开发渠道](/install/development-channels)和[安装程序标志](/install/installer)。
467
+
468
+ ### 安装和新手引导通常需要多长时间
469
+
470
+ 大致指南:
471
+
472
+ - **安装:** 2-5 分钟
473
+ - **新手引导:** 5-15 分钟,取决于配置多少渠道/模型
474
+
475
+ 如果挂起,请参阅[安装程序卡住](/help/faq#installer-stuck-how-do-i-get-more-feedback)和[我卡住了](/help/faq#im-stuck--whats-the-fastest-way-to-get-unstuck)中的快速调试流程。
476
+
477
+ ### 如何试用最新代码
478
+
479
+ 两个选项:
480
+
481
+ 1. **Dev 渠道(git checkout):**
482
+
483
+ ```bash
484
+ openclaw update --channel dev
485
+ ```
486
+
487
+ 这会切换到 `main` 分支并从源码更新。
488
+
489
+ 2. **可编辑安装(从安装程序网站):**
490
+
491
+ ```bash
492
+ curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git
493
+ ```
494
+
495
+ 这会给你一个可编辑的本地仓库,然后通过 git 更新。
496
+
497
+ 如果你更喜欢手动克隆,使用:
498
+
499
+ ```bash
500
+ git clone https://github.com/openclaw/openclaw.git
501
+ cd openclaw
502
+ pnpm install
503
+ pnpm build
504
+ ```
505
+
506
+ 文档:[更新](/cli/update)、[开发渠道](/install/development-channels)、
507
+ [安装](/install)。
508
+
509
+ ### 安装程序卡住了?如何获取更多反馈
510
+
511
+ 使用**详细输出**重新运行安装程序:
512
+
513
+ ```bash
514
+ curl -fsSL https://openclaw.ai/install.sh | bash -s -- --verbose
515
+ ```
516
+
517
+ 带详细输出的 Beta 安装:
518
+
519
+ ```bash
520
+ curl -fsSL https://openclaw.ai/install.sh | bash -s -- --beta --verbose
521
+ ```
522
+
523
+ 可编辑(git)安装:
524
+
525
+ ```bash
526
+ curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git --verbose
527
+ ```
528
+
529
+ 更多选项:[安装程序标志](/install/installer)。
530
+
531
+ ### Windows 安装提示找不到 git 或无法识别 openclaw
532
+
533
+ 两个常见的 Windows 问题:
534
+
535
+ **1) npm error spawn git / git not found**
536
+
537
+ - 安装 **Git for Windows** 并确保 `git` 在你的 PATH 中。
538
+ - 关闭并重新打开 PowerShell,然后重新运行安装程序。
539
+
540
+ **2) openclaw is not recognized(安装后)**
541
+
542
+ - 你的 npm 全局 bin 文件夹不在 PATH 中。
543
+ - 检查路径:
544
+ ```powershell
545
+ npm config get prefix
546
+ ```
547
+ - 确保 `<prefix>\\bin` 在 PATH 中(在大多数系统上是 `%AppData%\\npm`)。
548
+ - 更新 PATH 后关闭并重新打开 PowerShell。
549
+
550
+ 如果你想要最顺畅的 Windows 设置,请使用 **WSL2** 而不是原生 Windows。
551
+ 文档:[Windows](/platforms/windows)。
552
+
553
+ ### 文档没有解答我的问题——如何获得更好的答案
554
+
555
+ 使用**可编辑(git)安装**,这样你在本地拥有完整的源码和文档,然后从该文件夹向你的机器人(或 Claude/Codex)提问,这样它可以读取仓库并精确回答。
556
+
557
+ ```bash
558
+ curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git
559
+ ```
560
+
561
+ 更多详情:[安装](/install)和[安装程序标志](/install/installer)。
562
+
563
+ ### 如何在 Linux 上安装 OpenClaw
564
+
565
+ 简短回答:按照 Linux 指南操作,然后运行新手引导向导。
566
+
567
+ - Linux 快速路径 + 服务安装:[Linux](/platforms/linux)。
568
+ - 完整指南:[入门](/start/getting-started)。
569
+ - 安装和更新:[安装与更新](/install/updating)。
570
+
571
+ ### 如何在 VPS 上安装 OpenClaw
572
+
573
+ 任何 Linux VPS 都可以。在服务器上安装,然后使用 SSH/Tailscale 访问 Gateway 网关。
574
+
575
+ 指南:[exe.dev](/platforms/exe-dev)、[Hetzner](/platforms/hetzner)、[Fly.io](/platforms/fly)。
576
+ 远程访问:[Gateway 网关远程](/gateway/remote)。
577
+
578
+ ### 云/VPS 安装指南在哪里
579
+
580
+ 我们维护了一个**托管中心**,涵盖常见提供商。选择一个并按指南操作:
581
+
582
+ - [VPS 托管](/vps)(所有提供商汇总)
583
+ - [Fly.io](/platforms/fly)
584
+ - [Hetzner](/platforms/hetzner)
585
+ - [exe.dev](/platforms/exe-dev)
586
+
587
+ 在云端的工作方式:**Gateway 网关运行在服务器上**,你通过控制 UI(或 Tailscale/SSH)从笔记本/手机访问。你的状态 + 工作区位于服务器上,因此将主机视为数据来源并做好备份。
588
+
589
+ 你可以将**节点**(Mac/iOS/Android/无头)配对到云端 Gateway 网关,以访问本地屏幕/摄像头/画布或在笔记本上执行命令,同时 Gateway 网关保持在云端。
590
+
591
+ 中心:[平台](/platforms)。远程访问:[Gateway 网关远程](/gateway/remote)。
592
+ 节点:[节点](/nodes)、[节点 CLI](/cli/nodes)。
593
+
594
+ ### 可以让 OpenClaw 自行更新吗
595
+
596
+ 简短回答:**可以,但不推荐**。更新流程可能重启 Gateway 网关(这会中断活跃会话),可能需要干净的 git checkout,并且可能提示确认。更安全的做法:作为运维人员从 shell 运行更新。
597
+
598
+ 使用 CLI:
599
+
600
+ ```bash
601
+ openclaw update
602
+ openclaw update status
603
+ openclaw update --channel stable|beta|dev
604
+ openclaw update --tag <dist-tag|version>
605
+ openclaw update --no-restart
606
+ ```
607
+
608
+ 如果必须从智能体自动化:
609
+
610
+ ```bash
611
+ openclaw update --yes --no-restart
612
+ openclaw gateway restart
613
+ ```
614
+
615
+ 文档:[更新](/cli/update)、[更新指南](/install/updating)。
616
+
617
+ ### 新手引导向导具体做了什么
618
+
619
+ `openclaw onboard` 是推荐的设置路径。在**本地模式**下,它引导你完成:
620
+
621
+ - **模型/认证设置**(推荐使用 Anthropic **setup-token** 进行 Claude 订阅,支持 OpenAI Codex OAuth,API 密钥可选,支持 LM Studio 本地模型)
622
+ - **工作区**位置 + 引导文件
623
+ - **Gateway 网关设置**(绑定/端口/认证/tailscale)
624
+ - **渠道**(WhatsApp、Telegram、Discord、Mattermost(插件)、Signal、iMessage)
625
+ - **守护进程安装**(macOS 上的 LaunchAgent;Linux/WSL2 上的 systemd 用户单元)
626
+ - **健康检查**和**Skills**选择
627
+
628
+ 如果你配置的模型未知或缺少认证,它还会发出警告。
629
+
630
+ ### 运行 OpenClaw 需要 Claude 或 OpenAI 订阅吗
631
+
632
+ 不需要。你可以使用 **API 密钥**(Anthropic/OpenAI/其他)或**纯本地模型**运行 OpenClaw,这样你的数据留在你的设备上。订阅(Claude Pro/Max 或 OpenAI Codex)是这些提供商的可选认证方式。
633
+
634
+ 文档:[Anthropic](/providers/anthropic)、[OpenAI](/providers/openai)、
635
+ [本地模型](/gateway/local-models)、[模型](/concepts/models)。
636
+
637
+ ### 能否使用 Claude Max 订阅而不需要 API 密钥
638
+
639
+ 可以。你可以使用 **setup-token** 代替 API 密钥进行认证。这是订阅路径。
640
+
641
+ Claude Pro/Max 订阅**不包含 API 密钥**,因此这是订阅账户的正确方式。重要提示:你必须向 Anthropic 确认此用法是否符合其订阅政策和条款。如果你想要最明确、受支持的方式,请使用 Anthropic API 密钥。
642
+
643
+ ### Anthropic setup-token 认证如何工作
644
+
645
+ `claude setup-token` 通过 Claude Code CLI 生成一个**令牌字符串**(在 Web 控制台中不可用)。你可以在**任何机器**上运行它。在向导中选择 **Anthropic token (paste setup-token)** 或使用 `openclaw models auth paste-token --provider anthropic` 粘贴。令牌作为 **anthropic** 提供商的认证配置文件存储,像 API 密钥一样使用(无自动刷新)。更多详情:[OAuth](/concepts/oauth)。
646
+
647
+ ### 在哪里获取 Anthropic setup-token
648
+
649
+ 它**不在** Anthropic Console 中。setup-token 由 **Claude Code CLI** 在**任何机器**上生成:
650
+
651
+ ```bash
652
+ claude setup-token
653
+ ```
654
+
655
+ 复制它打印的令牌,然后在向导中选择 **Anthropic token (paste setup-token)**。如果你想在 Gateway 网关主机上运行,使用 `openclaw models auth setup-token --provider anthropic`。如果你在其他地方运行了 `claude setup-token`,在 Gateway 网关主机上使用 `openclaw models auth paste-token --provider anthropic` 粘贴。参阅 [Anthropic](/providers/anthropic)。
656
+
657
+ ### 是否支持 Claude 订阅认证(Claude Pro/Max)
658
+
659
+ 是的——通过 **setup-token**。OpenClaw 不再复用 Claude Code CLI OAuth 令牌;请使用 setup-token 或 Anthropic API 密钥。在任何地方生成令牌并在 Gateway 网关主机上粘贴。参阅 [Anthropic](/providers/anthropic) 和 [OAuth](/concepts/oauth)。
660
+
661
+ 注意:Claude 订阅访问受 Anthropic 条款约束。对于生产或多用户工作负载,API 密钥通常是更安全的选择。
662
+
663
+ ### 为什么我看到 HTTP 429 rate_limit_error(来自 Anthropic)
664
+
665
+ 这意味着你当前窗口的 **Anthropic 配额/速率限制**已耗尽。如果你使用 **Claude 订阅**(setup-token 或 Claude Code OAuth),请等待窗口重置或升级你的计划。如果你使用 **Anthropic API 密钥**,请在 Anthropic Console 中检查使用量/计费并根据需要提高限制。
666
+
667
+ 提示:设置一个**备用模型**,这样 OpenClaw 在某个提供商被限速时仍能继续回复。
668
+ 参阅[模型](/cli/models)和 [OAuth](/concepts/oauth)。
669
+
670
+ ### 支持 AWS Bedrock 吗
671
+
672
+ 是的——通过 pi-ai 的 **Amazon Bedrock (Converse)** 提供商进行**手动配置**。你必须在 Gateway 网关主机上提供 AWS 凭据/区域,并在模型配置中添加 Bedrock 提供商条目。参阅 [Amazon Bedrock](/bedrock) 和[模型提供商](/providers/models)。如果你更喜欢托管密钥流程,在 Bedrock 前面使用兼容 OpenAI 的代理仍然是有效选项。
673
+
674
+ ### Codex 认证如何工作
675
+
676
+ OpenClaw 通过 OAuth(ChatGPT 登录)支持 **OpenAI Code (Codex)**。向导可以运行 OAuth 流程,并在适当时将默认模型设置为 `openai-codex/gpt-5.2`。参阅[模型提供商](/concepts/model-providers)和[向导](/start/wizard)。
677
+
678
+ ### 是否支持 OpenAI 订阅认证(Codex OAuth)
679
+
680
+ 是的。OpenClaw 完全支持 **OpenAI Code (Codex) 订阅 OAuth**。新手引导向导可以为你运行 OAuth 流程。
681
+
682
+ 参阅 [OAuth](/concepts/oauth)、[模型提供商](/concepts/model-providers)和[向导](/start/wizard)。
683
+
684
+ ### 如何设置 Gemini CLI OAuth
685
+
686
+ Gemini CLI 使用**插件认证流程**,而不是 `openclaw.json` 中的 client id 或 secret。
687
+
688
+ 步骤:
689
+
690
+ 1. 启用插件:`openclaw plugins enable google-gemini-cli-auth`
691
+ 2. 登录:`openclaw models auth login --provider google-gemini-cli --set-default`
692
+
693
+ 这会在 Gateway 网关主机上将 OAuth 令牌存储为认证配置文件。详情:[模型提供商](/concepts/model-providers)。
694
+
695
+ ### 本地模型适合日常聊天吗
696
+
697
+ 通常不适合。OpenClaw 需要大上下文 + 强安全性;小显卡会截断且泄漏。如果必须使用,请在本地运行你能运行的**最大** MiniMax M2.1 版本(LM Studio),参阅 [/gateway/local-models](/gateway/local-models)。较小/量化的模型会增加提示注入风险——参阅[安全](/gateway/security)。
698
+
699
+ ### 如何将托管模型流量限制在特定区域
700
+
701
+ 选择区域固定的端点。OpenRouter 为 MiniMax、Kimi 和 GLM 提供美国托管选项;选择美国托管变体以保持数据在区域内。你仍然可以通过使用 `models.mode: "merge"` 在这些旁边列出 Anthropic/OpenAI,这样故障转移保持可用,同时尊重你选择的区域提供商。
702
+
703
+ ### 我必须购买 Mac Mini 才能安装吗
704
+
705
+ 不需要。OpenClaw 运行在 macOS 或 Linux 上(Windows 通过 WSL2)。Mac mini 是可选的——有些人买一台作为常开主机,但小型 VPS、家庭服务器或 Raspberry Pi 级别的设备也可以。
706
+
707
+ 你只有在使用 **macOS 专用工具**时才需要 Mac。对于 iMessage,你可以将 Gateway 网关保持在 Linux 上,通过将 `channels.imessage.cliPath` 指向 SSH 包装器在任何 Mac 上运行 `imsg`。如果你需要其他 macOS 专用工具,在 Mac 上运行 Gateway 网关或配对一个 macOS 节点。
708
+
709
+ 文档:[iMessage](/channels/imessage)、[节点](/nodes)、[Mac 远程模式](/platforms/mac/remote)。
710
+
711
+ ### iMessage 支持需要 Mac mini 吗
712
+
713
+ 你需要**某台登录了 Messages 的 macOS 设备**。它**不一定**是 Mac mini——任何 Mac 都可以。OpenClaw 的 iMessage 集成在 macOS 上运行(BlueBubbles 或 `imsg`),而 Gateway 网关可以在其他地方运行。
714
+
715
+ 常见设置:
716
+
717
+ - 在 Linux/VPS 上运行 Gateway 网关,将 `channels.imessage.cliPath` 指向在 Mac 上运行 `imsg` 的 SSH 包装器。
718
+ - 如果你想要最简单的单机设置,在 Mac 上运行所有组件。
719
+
720
+ 文档:[iMessage](/channels/imessage)、[BlueBubbles](/channels/bluebubbles)、
721
+ [Mac 远程模式](/platforms/mac/remote)。
722
+
723
+ ### 如果我买了 Mac mini 运行 OpenClaw,能连接到我的 MacBook Pro 吗
724
+
725
+ 可以。**Mac mini 可以运行 Gateway 网关**,你的 MacBook Pro 可以作为**节点**(伴随设备)连接。节点不运行 Gateway 网关——它们提供额外功能,如该设备上的屏幕/摄像头/画布和 `system.run`。
726
+
727
+ 常见模式:
728
+
729
+ - Gateway 网关在 Mac mini 上(常开)。
730
+ - MacBook Pro 运行 macOS 应用或节点主机并配对到 Gateway 网关。
731
+ - 使用 `openclaw nodes status` / `openclaw nodes list` 查看它。
732
+
733
+ 文档:[节点](/nodes)、[节点 CLI](/cli/nodes)。
734
+
735
+ ### 可以使用 Bun 吗
736
+
737
+ Bun **不推荐**。我们观察到运行时 bug,特别是在 WhatsApp 和 Telegram 方面。
738
+ 使用 **Node** 以获得稳定的 Gateway 网关。
739
+
740
+ 如果你仍想尝试 Bun,请在没有 WhatsApp/Telegram 的非生产 Gateway 网关上进行。
741
+
742
+ ### Telegram:allowFrom 填什么
743
+
744
+ `channels.telegram.allowFrom` 是**人类发送者的 Telegram 用户 ID**(数字,推荐)或 `@username`。它不是机器人用户名。
745
+
746
+ 更安全的方式(无需第三方机器人):
747
+
748
+ - 给你的机器人发私信,然后运行 `openclaw logs --follow` 并读取 `from.id`。
749
+
750
+ 官方 Bot API:
751
+
752
+ - 给你的机器人发私信,然后调用 `https://api.telegram.org/bot<bot_token>/getUpdates` 并读取 `message.from.id`。
753
+
754
+ 第三方(隐私性较低):
755
+
756
+ - 给 `@userinfobot` 或 `@getidsbot` 发私信。
757
+
758
+ 参阅 [/channels/telegram](/channels/telegram#access-control-dms--groups)。
759
+
760
+ ### 多人能否使用同一个 WhatsApp 号码配合不同的 OpenClaw 实例
761
+
762
+ 可以,通过**多智能体路由**。将每个发送者的 WhatsApp **私信**(peer `kind: "dm"`,发送者 E.164 格式如 `+15551234567`)绑定到不同的 `agentId`,这样每个人获得自己的工作区和会话存储。回复仍然来自**同一个 WhatsApp 账户**,且私信访问控制(`channels.whatsapp.dmPolicy` / `channels.whatsapp.allowFrom`)对每个 WhatsApp 账户是全局的。参阅[多智能体路由](/concepts/multi-agent)和 [WhatsApp](/channels/whatsapp)。
763
+
764
+ ### 能否同时运行一个“快速聊天”智能体和一个“用 Opus 编程”的智能体
765
+
766
+ 可以。使用多智能体路由:为每个智能体设置自己的默认模型,然后将入站路由(提供商账户或特定对等方)绑定到每个智能体。示例配置位于[多智能体路由](/concepts/multi-agent)。另参阅[模型](/concepts/models)和[配置](/gateway/configuration)。
767
+
768
+ ### Homebrew 在 Linux 上可用吗
769
+
770
+ 可以。Homebrew 支持 Linux(Linuxbrew)。快速设置:
771
+
772
+ ```bash
773
+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
774
+ echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.profile
775
+ eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
776
+ brew install <formula>
777
+ ```
778
+
779
+ 如果你通过 systemd 运行 OpenClaw,确保服务 PATH 包含 `/home/linuxbrew/.linuxbrew/bin`(或你的 brew 前缀),以便 `brew` 安装的工具在非登录 shell 中可解析。
780
+ 最近的构建还会在 Linux systemd 服务上自动添加常见的用户 bin 目录(例如 `~/.local/bin`、`~/.npm-global/bin`、`~/.local/share/pnpm`、`~/.bun/bin`),并在设置时尊重 `PNPM_HOME`、`NPM_CONFIG_PREFIX`、`BUN_INSTALL`、`VOLTA_HOME`、`ASDF_DATA_DIR`、`NVM_DIR` 和 `FNM_DIR`。
781
+
782
+ ### 可编辑(git)安装和 npm 安装有什么区别
783
+
784
+ - **可编辑(git)安装:** 完整源码 checkout,可编辑,最适合贡献者。你在本地运行构建并可以修补代码/文档。
785
+ - **npm 安装:** 全局 CLI 安装,无仓库,最适合“直接运行”。更新来自 npm dist-tags。
786
+
787
+ 文档:[入门](/start/getting-started)、[更新](/install/updating)。
788
+
789
+ ### 之后可以在 npm 和 git 安装之间切换吗
790
+
791
+ 可以。安装另一种方式,然后运行 Doctor 使 Gateway 网关服务指向新的入口点。
792
+ 这**不会删除你的数据**——它只改变 OpenClaw 代码的安装位置。你的状态
793
+ (`~/.openclaw`)和工作区(`~/.openclaw/workspace`)保持不变。
794
+
795
+ 从 npm → git:
796
+
797
+ ```bash
798
+ git clone https://github.com/openclaw/openclaw.git
799
+ cd openclaw
800
+ pnpm install
801
+ pnpm build
802
+ openclaw doctor
803
+ openclaw gateway restart
804
+ ```
805
+
806
+ 从 git → npm:
807
+
808
+ ```bash
809
+ npm install -g openclaw@latest
810
+ openclaw doctor
811
+ openclaw gateway restart
812
+ ```
813
+
814
+ Doctor 会检测 Gateway 网关服务入口点不匹配,并提供重写服务配置以匹配当前安装的选项(在自动化中使用 `--repair`)。
815
+
816
+ 备份提示:参阅[备份策略](/help/faq#whats-the-recommended-backup-strategy)。
817
+
818
+ ### 应该在笔记本电脑还是 VPS 上运行 Gateway 网关简短回答:**如果你想要 24/7 可靠性,使用 VPS**。如果你想要最低摩擦且能接受休眠/重启,在本地运行。
819
+
820
+ **笔记本(本地 Gateway 网关)**
821
+
822
+ - **优点:** 无服务器成本,直接访问本地文件,实时浏览器窗口。
823
+ - **缺点:** 休眠/网络中断 = 断连,操作系统更新/重启会中断,必须保持唤醒。
824
+
825
+ **VPS / 云**
826
+
827
+ - **优点:** 常开,网络稳定,无笔记本休眠问题,更容易保持运行。
828
+ - **缺点:** 通常无头运行(使用截图),仅远程文件访问,更新需要 SSH。
829
+
830
+ **OpenClaw 特定说明:** WhatsApp/Telegram/Slack/Mattermost(插件)/Discord 在 VPS 上都能正常工作。唯一的真正权衡是**无头浏览器**与可见窗口。参阅[浏览器](/tools/browser)。
831
+
832
+ **推荐默认值:** 如果之前遇到过 Gateway 网关断连,使用 VPS。当你正在积极使用 Mac 并且需要本地文件访问或可见浏览器的 UI 自动化时,本地运行很好。
833
+
834
+ ### 在专用机器上运行 OpenClaw 有多重要
835
+
836
+ 不是必需的,但**推荐用于可靠性和隔离**。
837
+
838
+ - **专用主机(VPS/Mac mini/Pi):** 常开,更少的休眠/重启中断,更干净的权限,更容易保持运行。
839
+ - **共享的笔记本/台式机:** 完全适合测试和活跃使用,但当机器休眠或更新时预期会有暂停。
840
+
841
+ 如果你想要两全其美,将 Gateway 网关保持在专用主机上,并将笔记本配对为**节点**以获取本地屏幕/摄像头/执行工具。参阅[节点](/nodes)。
842
+ 安全指南请阅读[安全](/gateway/security)。
843
+
844
+ ### VPS 的最低要求和推荐操作系统是什么
845
+
846
+ OpenClaw 是轻量级的。对于基本的 Gateway 网关 + 一个聊天渠道:
847
+
848
+ - **绝对最低:** 1 vCPU,1GB RAM,约 500MB 磁盘。
849
+ - **推荐:** 1-2 vCPU,2GB RAM 或更多以留有余量(日志、媒体、多渠道)。节点工具和浏览器自动化可能消耗较多资源。
850
+
851
+ 操作系统:使用 **Ubuntu LTS**(或任何现代 Debian/Ubuntu)。Linux 安装路径在那里测试得最充分。
852
+
853
+ 文档:[Linux](/platforms/linux)、[VPS 托管](/vps)。
854
+
855
+ ### 可以在虚拟机中运行 OpenClaw 吗?有什么要求
856
+
857
+ 可以。将虚拟机视为与 VPS 相同:它需要常开、可达,并有足够的 RAM 用于 Gateway 网关和你启用的任何渠道。
858
+
859
+ 基准指南:
860
+
861
+ - **绝对最低:** 1 vCPU,1GB RAM。
862
+ - **推荐:** 2GB RAM 或更多,如果你运行多个渠道、浏览器自动化或媒体工具。
863
+ - **操作系统:** Ubuntu LTS 或其他现代 Debian/Ubuntu。
864
+
865
+ 如果你使用 Windows,**WSL2 是最简单的虚拟机式设置**,具有最佳的工具兼容性。参阅 [Windows](/platforms/windows)、[VPS 托管](/vps)。
866
+ 如果你在虚拟机中运行 macOS,参阅 [macOS VM](/platforms/macos-vm)。
867
+
868
+ ## 什么是 OpenClaw?
869
+
870
+ ### 用一段话描述 OpenClaw
871
+
872
+ OpenClaw 是一个运行在你自己设备上的个人 AI 助手。它在你已经使用的消息平台上回复(WhatsApp、Telegram、Slack、Mattermost(插件)、Discord、Google Chat、Signal、iMessage、WebChat),还可以在支持的平台上进行语音和实时 Canvas。**Gateway 网关** 是常开的控制平面;助手是产品。
873
+
874
+ ### 价值主张是什么
875
+
876
+ OpenClaw 不是“只是一个 Claude 包装器”。它是一个**本地优先的控制平面**,让你在**自己的硬件**上运行强大的助手,可从你已经使用的聊天应用访问,具有有状态会话、记忆和工具——无需将工作流程的控制权交给托管 SaaS。
877
+
878
+ 亮点:
879
+
880
+ - **你的设备,你的数据:** 在任何你想要的地方运行 Gateway 网关(Mac、Linux、VPS),并将工作区 + 会话历史保持在本地。
881
+ - **真实渠道,而非 Web 沙箱:** WhatsApp/Telegram/Slack/Discord/Signal/iMessage/等,加上支持平台上的移动语音和 Canvas。
882
+ - **模型无关:** 使用 Anthropic、OpenAI、MiniMax、OpenRouter 等,支持按智能体路由和故障转移。
883
+ - **纯本地选项:** 运行本地模型,让**所有数据都保留在你的设备上**。
884
+ - **多智能体路由:** 按渠道、账户或任务分配不同的智能体,每个都有自己的工作区和默认值。
885
+ - **开源且可编辑:** 无供应商锁定地检查、扩展和自托管。
886
+
887
+ 文档:[Gateway 网关](/gateway)、[渠道](/channels)、[多智能体](/concepts/multi-agent)、
888
+ [记忆](/concepts/memory)。
889
+
890
+ ### 刚设置好,应该先做什么
891
+
892
+ 好的入门项目:
893
+
894
+ - 建一个网站(WordPress、Shopify 或简单的静态站点)。
895
+ - 做一个移动应用原型(大纲、界面、API 计划)。
896
+ - 整理文件和文件夹(清理、命名、打标签)。
897
+ - 连接 Gmail 并自动化摘要或跟进。
898
+
899
+ 它可以处理大型任务,但最好将其拆分为多个阶段,并使用子智能体进行并行工作。
900
+
901
+ ### OpenClaw 日常最常用的五个场景是什么
902
+
903
+ 日常收益通常包括:
904
+
905
+ - **个人简报:** 收件箱、日历和你关心的新闻摘要。
906
+ - **研究和起草:** 快速研究、摘要以及邮件或文档的初稿。
907
+ - **提醒和跟进:** 定时任务或心跳驱动的提醒和检查清单。
908
+ - **浏览器自动化:** 填写表单、收集数据和重复性网页任务。
909
+ - **跨设备协调:** 从手机发送任务,让 Gateway 网关在服务器上运行,然后在聊天中获取结果。
910
+
911
+ ### OpenClaw 能否帮助 SaaS 进行获客、外联、广告和博客
912
+
913
+ 可以用于**调研、筛选和起草**。它可以扫描网站、建立候选名单、总结潜在客户,并撰写外联或广告文案草稿。
914
+
915
+ 对于**外联或广告投放**,请保持人工审核。避免垃圾邮件,遵守当地法律和平台政策,在发送之前审查所有内容。最安全的模式是让 OpenClaw 起草,由你批准。
916
+
917
+ 文档:[安全](/gateway/security)。
918
+
919
+ ### 相比 Claude Code,在 Web 开发方面有什么优势
920
+
921
+ OpenClaw 是一个**个人助手**和协调层,不是 IDE 替代品。使用 Claude Code 或 Codex 在仓库中进行最快的直接编码循环。当你需要持久记忆、跨设备访问和工具编排时,使用 OpenClaw。
922
+
923
+ 优势:
924
+
925
+ - 跨会话的**持久记忆 + 工作区**
926
+ - **多平台访问**(WhatsApp、Telegram、TUI、WebChat)
927
+ - **工具编排**(浏览器、文件、调度、钩子)
928
+ - **常开 Gateway 网关**(在 VPS 上运行,从任何地方交互)
929
+ - 用于本地浏览器/屏幕/摄像头/执行的**节点**
930
+
931
+ 展示:https://openclaw.ai/showcase
932
+
933
+ ## Skills 与自动化
934
+
935
+ ### 如何自定义 Skills 而不弄脏仓库
936
+
937
+ 使用托管覆盖而不是编辑仓库副本。将你的更改放在 `~/.openclaw/skills/<name>/SKILL.md`(或通过 `~/.openclaw/openclaw.json` 中的 `skills.load.extraDirs` 添加文件夹)。优先级是 `<workspace>/skills` > `~/.openclaw/skills` > 内置,所以托管覆盖优先生效而不会修改 git。只有值得上游合并的编辑才应该放在仓库中并作为 PR 提交。
938
+
939
+ ### 可以从自定义文件夹加载 Skills 吗
940
+
941
+ 可以。通过 `~/.openclaw/openclaw.json` 中的 `skills.load.extraDirs` 添加额外目录(最低优先级)。默认优先级保持不变:`<workspace>/skills` → `~/.openclaw/skills` → 内置 → `skills.load.extraDirs`。`clawhub` 默认安装到 `./skills`,OpenClaw 将其视为 `<workspace>/skills`。
942
+
943
+ ### 如何为不同任务使用不同模型
944
+
945
+ 目前支持的模式有:
946
+
947
+ - **定时任务**:隔离的任务可以为每个任务设置 `model` 覆盖。
948
+ - **子智能体**:将任务路由到具有不同默认模型的独立智能体。
949
+ - **按需切换**:使用 `/model` 随时切换当前会话模型。
950
+
951
+ 参阅[定时任务](/automation/cron-jobs)、[多智能体路由](/concepts/multi-agent)和[斜杠命令](/tools/slash-commands)。
952
+
953
+ ### 机器人在执行繁重工作时卡住了,如何卸载任务
954
+
955
+ 使用**子智能体**处理长时间或并行任务。子智能体在自己的会话中运行,返回摘要,并保持你的主聊天响应。
956
+
957
+ 要求你的机器人“为这个任务生成一个子智能体”或使用 `/subagents`。
958
+ 在聊天中使用 `/status` 查看 Gateway 网关当前正在做什么(以及是否忙碌)。
959
+
960
+ 令牌提示:长任务和子智能体都消耗令牌。如果关注成本,通过 `agents.defaults.subagents.model` 为子智能体设置更便宜的模型。
961
+
962
+ 文档:[子智能体](/tools/subagents)。
963
+
964
+ ### 定时任务或提醒没有触发,应该检查什么
965
+
966
+ 定时任务在 Gateway 网关进程内运行。如果 Gateway 网关没有持续运行,计划任务将不会运行。
967
+
968
+ 检查清单:
969
+
970
+ - 确认 cron 已启用(`cron.enabled`)且未设置 `OPENCLAW_SKIP_CRON`。
971
+ - 检查 Gateway 网关是否 24/7 运行(无休眠/重启)。
972
+ - 验证任务的时区设置(`--tz` 与主机时区)。
973
+
974
+ 调试:
975
+
976
+ ```bash
977
+ openclaw cron run <jobId> --force
978
+ openclaw cron runs --id <jobId> --limit 50
979
+ ```
980
+
981
+ 文档:[定时任务](/automation/cron-jobs)、[定时任务 vs 心跳](/automation/cron-vs-heartbeat)。
982
+
983
+ ### 如何在 Linux 上安装 Skills
984
+
985
+ 使用 **ClawHub**(CLI)或将 Skills 放入你的工作区。macOS Skills UI 在 Linux 上不可用。
986
+ 浏览 Skills:https://clawhub.com。
987
+
988
+ 安装 ClawHub CLI(选择一个包管理器):
989
+
990
+ ```bash
991
+ npm i -g clawhub
992
+ ```
993
+
994
+ ```bash
995
+ pnpm add -g clawhub
996
+ ```
997
+
998
+ ### OpenClaw 能否按计划或在后台持续运行任务
999
+
1000
+ 可以。使用 Gateway 网关调度器:
1001
+
1002
+ - **定时任务**用于计划或重复任务(跨重启持久化)。
1003
+ - **心跳**用于“主会话”定期检查。
1004
+ - **隔离任务**用于自主智能体发布摘要或投递到聊天。
1005
+
1006
+ 文档:[定时任务](/automation/cron-jobs)、[定时任务 vs 心跳](/automation/cron-vs-heartbeat)、
1007
+ [心跳](/gateway/heartbeat)。
1008
+
1009
+ **能否从 Linux 运行仅限 Apple/macOS 的 Skills**
1010
+
1011
+ 不能直接运行。macOS Skills 受 `metadata.openclaw.os` 和所需二进制文件限制,Skills 只有在 **Gateway 网关主机**上符合条件时才会出现在系统提示中。在 Linux 上,`darwin` 专用 Skills(如 `apple-notes`、`apple-reminders`、`things-mac`)不会加载,除非你覆盖限制。
1012
+
1013
+ 你有三种支持的模式:
1014
+
1015
+ **方案 A - 在 Mac 上运行 Gateway 网关(最简单)。**
1016
+ 在 macOS 二进制文件所在的地方运行 Gateway 网关,然后从 Linux 通过[远程模式](#how-do-i-run-openclaw-in-remote-mode-client-connects-to-a-gateway-elsewhere)或 Tailscale 连接。Skills 正常加载,因为 Gateway 网关主机是 macOS。
1017
+
1018
+ **方案 B - 使用 macOS 节点(无需 SSH)。**
1019
+ 在 Linux 上运行 Gateway 网关,配对一个 macOS 节点(菜单栏应用),并在 Mac 上将**节点运行命令**设置为“始终询问”或“始终允许”。当所需二进制文件存在于节点上时,OpenClaw 可以将 macOS 专用 Skills 视为符合条件。智能体通过 `nodes` 工具运行这些 Skills。如果你选择“始终询问”,在提示中批准“始终允许”会将该命令添加到允许列表。
1020
+
1021
+ **方案 C - 通过 SSH 代理 macOS 二进制文件(高级)。**
1022
+ 保持 Gateway 网关在 Linux 上,但使所需的 CLI 二进制文件解析为在 Mac 上运行的 SSH 包装器。然后覆盖 Skills 以允许 Linux 使其保持符合条件。
1023
+
1024
+ 1. 为二进制文件创建 SSH 包装器(示例:`imsg`):
1025
+ ```bash
1026
+ #!/usr/bin/env bash
1027
+ set -euo pipefail
1028
+ exec ssh -T user@mac-host /opt/homebrew/bin/imsg "$@"
1029
+ ```
1030
+ 2. 将包装器放在 Linux 主机的 `PATH` 上(例如 `~/bin/imsg`)。
1031
+ 3. 覆盖 Skills 元数据(工作区或 `~/.openclaw/skills`)以允许 Linux:
1032
+ ```markdown
1033
+ ---
1034
+ name: imsg
1035
+ description: iMessage/SMS CLI for listing chats, history, watch, and sending.
1036
+ metadata: { "openclaw": { "os": ["darwin", "linux"], "requires": { "bins": ["imsg"] } } }
1037
+ ---
1038
+ ```
1039
+ 4. 开始新会话以刷新 Skills 快照。
1040
+
1041
+ 对于 iMessage,你也可以将 `channels.imessage.cliPath` 指向 SSH 包装器(OpenClaw 只需要 stdio)。参阅 [iMessage](/channels/imessage)。
1042
+
1043
+ ### 有 Notion 或 HeyGen 集成吗
1044
+
1045
+ 目前没有内置集成。
1046
+
1047
+ 选项:
1048
+
1049
+ - **自定义 Skills / 插件:** 最适合可靠的 API 访问(Notion/HeyGen 都有 API)。
1050
+ - **浏览器自动化:** 无需编码但更慢且更脆弱。
1051
+
1052
+ 如果你想按客户保留上下文(代理工作流),一个简单的模式是:
1053
+
1054
+ - 每个客户一个 Notion 页面(上下文 + 偏好 + 当前工作)。
1055
+ - 在会话开始时要求智能体获取该页面。
1056
+
1057
+ 如果你想要原生集成,请提交功能请求或构建一个针对这些 API 的 Skills。
1058
+
1059
+ 安装 Skills:
1060
+
1061
+ ```bash
1062
+ clawhub install <skill-slug>
1063
+ clawhub update --all
1064
+ ```
1065
+
1066
+ ClawHub 安装到当前目录下的 `./skills`(或回退到你配置的 OpenClaw 工作区);OpenClaw 在下一个会话中将其视为 `<workspace>/skills`。对于跨智能体共享的 Skills,将它们放在 `~/.openclaw/skills/<name>/SKILL.md`。某些 Skills 期望通过 Homebrew 安装二进制文件;在 Linux 上意味着 Linuxbrew(参阅上面的 Homebrew Linux 常见问题条目)。参阅[Skills](/tools/skills)和 [ClawHub](/tools/clawhub)。
1067
+
1068
+ ### 如何安装用于浏览器接管的 Chrome 扩展
1069
+
1070
+ 使用内置安装程序,然后在 Chrome 中加载未打包的扩展:
1071
+
1072
+ ```bash
1073
+ openclaw browser extension install
1074
+ openclaw browser extension path
1075
+ ```
1076
+
1077
+ 然后 Chrome → `chrome://extensions` → 启用“开发者模式” → “加载已解压的扩展程序” → 选择该文件夹。
1078
+
1079
+ 完整指南(包括远程 Gateway 网关 + 安全注意事项):[Chrome 扩展](/tools/chrome-extension)
1080
+
1081
+ 如果 Gateway 网关运行在与 Chrome 同一台机器上(默认设置),你通常**不需要**额外配置。
1082
+ 如果 Gateway 网关运行在其他地方,在运行浏览器的机器上运行一个节点主机,以便 Gateway 网关可以代理浏览器操作。
1083
+ 你仍然需要在要控制的标签页上点击扩展按钮(它不会自动附加)。
1084
+
1085
+ ## 沙箱与记忆
1086
+
1087
+ ### 有专门的沙箱文档吗
1088
+
1089
+ 有。参阅[沙箱](/gateway/sandboxing)。对于 Docker 特定设置(完整 Gateway 网关在 Docker 中或沙箱镜像),参阅 [Docker](/install/docker)。
1090
+
1091
+ **能否让私信保持私密,但群组用一个智能体公开沙箱隔离**
1092
+
1093
+ 可以——如果你的私密流量是**私信**而公开流量是**群组**。
1094
+
1095
+ 使用 `agents.defaults.sandbox.mode: "non-main"`,这样群组/频道会话(非主键)在 Docker 中运行,而主私信会话保持在主机上。然后通过 `tools.sandbox.tools` 限制沙箱会话中可用的工具。
1096
+
1097
+ 设置指南 + 示例配置:[群组:个人私信 + 公开群组](/concepts/groups#pattern-personal-dms-public-groups-single-agent)
1098
+
1099
+ 关键配置参考:[Gateway 网关配置](/gateway/configuration#agentsdefaultssandbox)
1100
+
1101
+ ### 如何将主机文件夹绑定到沙箱中
1102
+
1103
+ 将 `agents.defaults.sandbox.docker.binds` 设置为 `["host:path:mode"]`(例如 `"/home/user/src:/src:ro"`)。全局 + 按智能体的绑定会合并;当 `scope: "shared"` 时按智能体的绑定会被忽略。对于敏感内容使用 `:ro`,并记住绑定会绕过沙箱文件系统隔离。参阅[沙箱](/gateway/sandboxing#custom-bind-mounts)和[沙箱 vs 工具策略 vs 提权](/gateway/sandbox-vs-tool-policy-vs-elevated#bind-mounts-security-quick-check)了解示例和安全注意事项。
1104
+
1105
+ ### 记忆是如何工作的
1106
+
1107
+ OpenClaw 记忆就是智能体工作区中的 Markdown 文件:
1108
+
1109
+ - 每日笔记在 `memory/YYYY-MM-DD.md`
1110
+ - 精选的长期笔记在 `MEMORY.md`(仅限主/私密会话)
1111
+
1112
+ OpenClaw 还会运行**静默的预压缩记忆刷新**,以提醒模型在自动压缩之前写入持久笔记。这只在工作区可写时运行(只读沙箱会跳过)。参阅[记忆](/concepts/memory)。
1113
+
1114
+ ### 记忆总是遗忘,如何让它持久保存
1115
+
1116
+ 要求机器人**将事实写入记忆**。长期笔记属于 `MEMORY.md`,短期上下文放入 `memory/YYYY-MM-DD.md`。
1117
+
1118
+ 这仍然是我们正在改进的领域。提醒模型存储记忆会有帮助;它会知道如何操作。如果它持续遗忘,验证 Gateway 网关每次运行时是否使用相同的工作区。
1119
+
1120
+ 文档:[记忆](/concepts/memory)、[智能体工作区](/concepts/agent-workspace)。
1121
+
1122
+ ### 语义记忆搜索需要 OpenAI API 密钥吗
1123
+
1124
+ 只有在使用 **OpenAI embeddings** 时才需要。Codex OAuth 覆盖 chat/completions 但**不**授予 embeddings 访问权限,因此**使用 Codex 登录(OAuth 或 Codex CLI 登录)**对语义记忆搜索没有帮助。OpenAI embeddings 仍然需要真正的 API 密钥(`OPENAI_API_KEY` 或 `models.providers.openai.apiKey`)。
1125
+
1126
+ 如果你没有明确设置提供商,OpenClaw 会在能解析 API 密钥(认证配置文件、`models.providers.*.apiKey` 或环境变量)时自动选择提供商。如果 OpenAI 密钥可解析则优先使用 OpenAI,否则如果 Gemini 密钥可解析则使用 Gemini。如果两个密钥都不可用,记忆搜索保持禁用直到你配置它。如果你配置了本地模型路径且存在,OpenClaw 优先使用 `local`。
1127
+
1128
+ 如果你更想保持本地运行,设置 `memorySearch.provider = "local"`(可选 `memorySearch.fallback = "none"`)。如果你想使用 Gemini embeddings,设置 `memorySearch.provider = "gemini"` 并提供 `GEMINI_API_KEY`(或 `memorySearch.remote.apiKey`)。我们支持 **OpenAI、Gemini 或本地** embedding 模型——参阅[记忆](/concepts/memory)了解设置详情。
1129
+
1130
+ ### 记忆是否永久保留?有什么限制
1131
+
1132
+ 记忆文件保存在磁盘上,持久存在直到你删除它们。限制是你的存储空间,而不是模型。**会话上下文**仍然受模型上下文窗口限制,所以长对话可能会压缩或截断。这就是记忆搜索存在的原因——它只将相关部分拉回上下文。
1133
+
1134
+ 文档:[记忆](/concepts/memory)、[上下文](/concepts/context)。
1135
+
1136
+ ## 磁盘上的文件位置
1137
+
1138
+ ### OpenClaw 使用的所有数据都保存在本地吗
1139
+
1140
+ 不是——**OpenClaw 的状态是本地的**,但**外部服务仍然会看到你发送给它们的内容**。
1141
+
1142
+ - **默认本地:** 会话、记忆文件、配置和工作区位于 Gateway 网关主机上(`~/.openclaw` + 你的工作区目录)。
1143
+ - **必然远程:** 你发送给模型提供商(Anthropic/OpenAI/等)的消息会发送到它们的 API,聊天平台(WhatsApp/Telegram/Slack/等)在它们的服务器上存储消息数据。
1144
+ - **你控制范围:** 使用本地模型可以将提示保留在你的机器上,但渠道流量仍然通过渠道的服务器。
1145
+
1146
+ 相关:[智能体工作区](/concepts/agent-workspace)、[记忆](/concepts/memory)。
1147
+
1148
+ ### OpenClaw 将数据存储在哪里
1149
+
1150
+ 所有内容位于 `$OPENCLAW_STATE_DIR`(默认:`~/.openclaw`)下:
1151
+
1152
+ | 路径 | 用途 |
1153
+ | --------------------------------------------------------------- | ---------------------------------------------------- |
1154
+ | `$OPENCLAW_STATE_DIR/openclaw.json` | 主配置(JSON5) |
1155
+ | `$OPENCLAW_STATE_DIR/credentials/oauth.json` | 旧版 OAuth 导入(首次使用时复制到认证配置文件) |
1156
+ | `$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth-profiles.json` | 认证配置文件(OAuth + API 密钥) |
1157
+ | `$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth.json` | 运行时认证缓存(自动管理) |
1158
+ | `$OPENCLAW_STATE_DIR/credentials/` | 提供商状态(例如 `whatsapp/<accountId>/creds.json`) |
1159
+ | `$OPENCLAW_STATE_DIR/agents/` | 按智能体的状态(agentDir + 会话) |
1160
+ | `$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/` | 对话历史和状态(按智能体) |
1161
+ | `$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/sessions.json` | 会话元数据(按智能体) |
1162
+
1163
+ 旧版单智能体路径:`~/.openclaw/agent/*`(通过 `openclaw doctor` 迁移)。
1164
+
1165
+ 你的**工作区**(AGENTS.md、记忆文件、Skills 等)是独立的,通过 `agents.defaults.workspace` 配置(默认:`~/.openclaw/workspace`)。
1166
+
1167
+ ### AGENTS.md / SOUL.md / USER.md / MEMORY.md 应该放在哪里
1168
+
1169
+ 这些文件位于**智能体工作区**中,而不是 `~/.openclaw`。
1170
+
1171
+ - **工作区(按智能体)**:`AGENTS.md`、`SOUL.md`、`IDENTITY.md`、`USER.md`、
1172
+ `MEMORY.md`(或 `memory.md`)、`memory/YYYY-MM-DD.md`、可选的 `HEARTBEAT.md`。
1173
+ - **状态目录(`~/.openclaw`)**:配置、凭据、认证配置文件、会话、日志和共享 Skills(`~/.openclaw/skills`)。
1174
+
1175
+ 默认工作区是 `~/.openclaw/workspace`,可通过以下方式配置:
1176
+
1177
+ ```json5
1178
+ {
1179
+ agents: { defaults: { workspace: "~/.openclaw/workspace" } },
1180
+ }
1181
+ ```
1182
+
1183
+ 如果机器人在重启后“忘记”了内容,确认 Gateway 网关每次启动时都使用相同的工作区(记住:远程模式使用 **Gateway 网关主机的**工作区,而不是你本地笔记本的)。
1184
+
1185
+ 提示:如果你想要一个持久的行为或偏好,要求机器人**将其写入 AGENTS.md 或 MEMORY.md**,而不是依赖聊天历史。
1186
+
1187
+ 参阅[智能体工作区](/concepts/agent-workspace)和[记忆](/concepts/memory)。
1188
+
1189
+ ### 推荐的备份策略是什么
1190
+
1191
+ 将你的**智能体工作区**放入一个**私有** git 仓库,并备份到某个私有位置(例如 GitHub 私有仓库)。这会捕获记忆 + AGENTS/SOUL/USER 文件,让你以后可以恢复助手的“思维”。
1192
+
1193
+ **不要**提交 `~/.openclaw` 下的任何内容(凭据、会话、令牌)。如果你需要完整恢复,将工作区和状态目录分别备份(参阅上面的迁移问题)。
1194
+
1195
+ 文档:[智能体工作区](/concepts/agent-workspace)。
1196
+
1197
+ ### 如何完全卸载 OpenClaw
1198
+
1199
+ 参阅专门指南:[卸载](/install/uninstall)。
1200
+
1201
+ ### 智能体可以在工作区外工作吗
1202
+
1203
+ 可以。工作区是**默认 cwd** 和记忆锚点,不是硬沙箱。相对路径在工作区内解析,但绝对路径可以访问其他主机位置,除非启用了沙箱。如果你需要隔离,使用 [`agents.defaults.sandbox`](/gateway/sandboxing) 或按智能体的沙箱设置。如果你希望某个仓库作为默认工作目录,将该智能体的 `workspace` 指向仓库根目录。OpenClaw 仓库只是源代码;除非你有意要让智能体在其中工作,否则保持工作区独立。
1204
+
1205
+ 示例(仓库作为默认 cwd):
1206
+
1207
+ ```json5
1208
+ {
1209
+ agents: {
1210
+ defaults: {
1211
+ workspace: "~/Projects/my-repo",
1212
+ },
1213
+ },
1214
+ }
1215
+ ```
1216
+
1217
+ ### 我处于远程模式——会话存储在哪里
1218
+
1219
+ 会话状态归 **Gateway 网关主机**所有。如果你处于远程模式,你关心的会话存储在远程机器上,而不是你的本地笔记本上。参阅[会话管理](/concepts/session)。
1220
+
1221
+ ## 配置基础
1222
+
1223
+ ### 配置文件是什么格式?在哪里
1224
+
1225
+ OpenClaw 从 `$OPENCLAW_CONFIG_PATH`(默认:`~/.openclaw/openclaw.json`)读取可选的 **JSON5** 配置:
1226
+
1227
+ ```
1228
+ $OPENCLAW_CONFIG_PATH
1229
+ ```
1230
+
1231
+ 如果文件不存在,使用安全的默认值(包括默认工作区 `~/.openclaw/workspace`)。
1232
+
1233
+ ### 我设置了 gateway.bind: "lan"(或 "tailnet"),现在什么都监听不了 / UI 显示未授权
1234
+
1235
+ 非 local loopback 绑定**需要认证**。配置 `gateway.auth.mode` + `gateway.auth.token`(或使用 `OPENCLAW_GATEWAY_TOKEN`)。
1236
+
1237
+ ```json5
1238
+ {
1239
+ gateway: {
1240
+ bind: "lan",
1241
+ auth: {
1242
+ mode: "token",
1243
+ token: "replace-me",
1244
+ },
1245
+ },
1246
+ }
1247
+ ```
1248
+
1249
+ 注意:
1250
+
1251
+ - `gateway.remote.token` 仅用于**远程 CLI 调用**;它不启用本地 Gateway 网关认证。
1252
+ - 控制 UI 通过 `connect.params.auth.token`(存储在应用/UI 设置中)进行认证。避免将令牌放在 URL 中。
1253
+
1254
+ ### 为什么现在在 localhost 也需要令牌
1255
+
1256
+ 向导默认生成 Gateway 网关令牌(即使在 local loopback 上),因此**本地 WS 客户端必须认证**。这阻止了其他本地进程调用 Gateway 网关。在控制 UI 设置(或你的客户端配置)中粘贴令牌以连接。
1257
+
1258
+ 如果你**确实**想要开放 local loopback,从配置中移除 `gateway.auth`。Doctor 可以随时为你生成令牌:`openclaw doctor --generate-gateway-token`。
1259
+
1260
+ ### 更改配置后需要重启吗
1261
+
1262
+ Gateway 网关监视配置文件并支持热重载:
1263
+
1264
+ - `gateway.reload.mode: "hybrid"`(默认):安全更改热应用,关键更改重启
1265
+ - 也支持 `hot`、`restart`、`off`
1266
+
1267
+ ### 如何启用网络搜索(和网页抓取)
1268
+
1269
+ `web_fetch` 无需 API 密钥即可工作。`web_search` 需要 Brave Search API 密钥。**推荐:** 运行 `openclaw configure --section web` 将其存储在 `tools.web.search.apiKey` 中。环境变量替代方案:为 Gateway 网关进程设置 `BRAVE_API_KEY`。
1270
+
1271
+ ```json5
1272
+ {
1273
+ tools: {
1274
+ web: {
1275
+ search: {
1276
+ enabled: true,
1277
+ apiKey: "BRAVE_API_KEY_HERE",
1278
+ maxResults: 5,
1279
+ },
1280
+ fetch: {
1281
+ enabled: true,
1282
+ },
1283
+ },
1284
+ },
1285
+ }
1286
+ ```
1287
+
1288
+ 注意:
1289
+
1290
+ - 如果你使用允许列表,添加 `web_search`/`web_fetch` 或 `group:web`。
1291
+ - `web_fetch` 默认启用(除非明确禁用)。
1292
+ - 守护进程从 `~/.openclaw/.env`(或服务环境)读取环境变量。
1293
+
1294
+ 文档:[Web 工具](/tools/web)。
1295
+
1296
+ ### config.apply 清空了我的配置,如何恢复和避免
1297
+
1298
+ `config.apply` 替换**整个配置**。如果你发送部分对象,其他所有内容都会被移除。
1299
+
1300
+ 恢复:
1301
+
1302
+ - 从备份恢复(git 或复制的 `~/.openclaw/openclaw.json`)。
1303
+ - 如果没有备份,重新运行 `openclaw doctor` 并重新配置渠道/模型。
1304
+ - 如果这是意外情况,提交 bug 并附上你最后已知的配置或任何备份。
1305
+ - 本地编码智能体通常可以从日志或历史中重建工作配置。
1306
+
1307
+ 避免方法:
1308
+
1309
+ - 对小更改使用 `openclaw config set`。
1310
+ - 对交互式编辑使用 `openclaw configure`。
1311
+
1312
+ 文档:[Config](/cli/config)、[Configure](/cli/configure)、[Doctor](/gateway/doctor)。
1313
+
1314
+ ### 如何运行一个中心 Gateway 网关配合跨设备的专用工作节点
1315
+
1316
+ 常见模式是**一个 Gateway 网关**(例如 Raspberry Pi)加上**节点**和**智能体**:
1317
+
1318
+ - **Gateway 网关(中心):** 拥有渠道(Signal/WhatsApp)、路由和会话。
1319
+ - **节点(设备):** Mac/iOS/Android 作为外围设备连接,暴露本地工具(`system.run`、`canvas`、`camera`)。
1320
+ - **智能体(工作者):** 用于特殊角色的独立大脑/工作区(例如“Hetzner 运维”、“个人数据”)。
1321
+ - **子智能体:** 需要并行处理时从主智能体生成后台工作。
1322
+ - **TUI:** 连接到 Gateway 网关并切换智能体/会话。
1323
+
1324
+ 文档:[节点](/nodes)、[远程访问](/gateway/remote)、[多智能体路由](/concepts/multi-agent)、[子智能体](/tools/subagents)、[TUI](/tui)。
1325
+
1326
+ ### OpenClaw 浏览器可以无头运行吗
1327
+
1328
+ 可以。这是一个配置选项:
1329
+
1330
+ ```json5
1331
+ {
1332
+ browser: { headless: true },
1333
+ agents: {
1334
+ defaults: {
1335
+ sandbox: { browser: { headless: true } },
1336
+ },
1337
+ },
1338
+ }
1339
+ ```
1340
+
1341
+ 默认为 `false`(有头)。无头模式在某些网站上更容易触发反机器人检测。参阅[浏览器](/tools/browser)。
1342
+
1343
+ 无头模式使用**相同的 Chromium 引擎**,适用于大多数自动化(表单、点击、抓取、登录)。主要区别:
1344
+
1345
+ - 没有可见的浏览器窗口(如果需要视觉效果使用截图)。
1346
+ - 某些网站在无头模式下对自动化更严格(验证码、反机器人)。例如,X/Twitter 经常阻止无头会话。
1347
+
1348
+ ### 如何使用 Brave 进行浏览器控制
1349
+
1350
+ 将 `browser.executablePath` 设置为你的 Brave 二进制文件(或任何基于 Chromium 的浏览器)并重启 Gateway 网关。
1351
+ 参阅[浏览器](/tools/browser#use-brave-or-another-chromium-based-browser)中的完整配置示例。
1352
+
1353
+ ## 远程 Gateway 网关与节点
1354
+
1355
+ ### 命令如何在 Telegram、Gateway 网关和节点之间传播
1356
+
1357
+ Telegram 消息由 **Gateway 网关** 处理。Gateway 网关运行智能体,只有在需要节点工具时才通过 **Gateway 网关 WebSocket** 调用节点:
1358
+
1359
+ Telegram → Gateway 网关 → 智能体 → `node.*` → 节点 → Gateway 网关 → Telegram
1360
+
1361
+ 节点不会看到入站提供商流量;它们只接收节点 RPC 调用。
1362
+
1363
+ ### 如果 Gateway 网关托管在远程,我的智能体如何访问我的电脑
1364
+
1365
+ 简短回答:**将你的电脑配对为节点**。Gateway 网关运行在其他地方,但它可以通过 Gateway 网关 WebSocket 在你的本地机器上调用 `node.*` 工具(屏幕、摄像头、系统)。
1366
+
1367
+ 典型设置:
1368
+
1369
+ 1. 在常开主机(VPS/家庭服务器)上运行 Gateway 网关。
1370
+ 2. 将 Gateway 网关主机和你的电脑放在同一个 tailnet 上。
1371
+ 3. 确保 Gateway 网关 WS 可达(tailnet 绑定或 SSH 隧道)。
1372
+ 4. 在本地打开 macOS 应用并以**远程 over SSH** 模式连接(或直接 tailnet),使其可以注册为节点。
1373
+ 5. 在 Gateway 网关上批准节点:
1374
+ ```bash
1375
+ openclaw nodes pending
1376
+ openclaw nodes approve <requestId>
1377
+ ```
1378
+
1379
+ 不需要单独的 TCP 桥接;节点通过 Gateway 网关 WebSocket 连接。
1380
+
1381
+ 安全提醒:配对 macOS 节点允许在该机器上执行 `system.run`。只配对你信任的设备,并查阅[安全](/gateway/security)。
1382
+
1383
+ 文档:[节点](/nodes)、[Gateway 网关协议](/gateway/protocol)、[macOS 远程模式](/platforms/mac/remote)、[安全](/gateway/security)。
1384
+
1385
+ ### Tailscale 已连接但收不到回复,怎么办
1386
+
1387
+ 检查基础项:
1388
+
1389
+ - Gateway 网关正在运行:`openclaw gateway status`
1390
+ - Gateway 网关健康:`openclaw status`
1391
+ - 渠道健康:`openclaw channels status`
1392
+
1393
+ 然后验证认证和路由:
1394
+
1395
+ - 如果你使用 Tailscale Serve,确保 `gateway.auth.allowTailscale` 设置正确。
1396
+ - 如果你通过 SSH 隧道连接,确认本地隧道已启动并指向正确端口。
1397
+ - 确认你的允许列表(私信或群组)包含你的账户。
1398
+
1399
+ 文档:[Tailscale](/gateway/tailscale)、[远程访问](/gateway/remote)、[渠道](/channels)。
1400
+
1401
+ ### 两个 OpenClaw 实例(本地 + VPS)可以互相通信吗
1402
+
1403
+ 可以。没有内置的“机器人对机器人”桥接,但你可以通过几种可靠的方式实现:
1404
+
1405
+ **最简单:** 使用两个机器人都能访问的普通聊天渠道(Telegram/Slack/WhatsApp)。让机器人 A 给机器人 B 发消息,然后让机器人 B 正常回复。
1406
+
1407
+ **CLI 桥接(通用):** 运行一个脚本调用另一个 Gateway 网关,使用 `openclaw agent --message ... --deliver`,定向到另一个机器人监听的聊天。如果一个机器人在远程 VPS 上,通过 SSH/Tailscale 将你的 CLI 指向该远程 Gateway 网关(参阅[远程访问](/gateway/remote))。
1408
+
1409
+ 示例模式(从能到达目标 Gateway 网关的机器上运行):
1410
+
1411
+ ```bash
1412
+ openclaw agent --message "Hello from local bot" --deliver --channel telegram --reply-to <chat-id>
1413
+ ```
1414
+
1415
+ 提示:添加护栏防止两个机器人无限循环(仅提及、渠道允许列表或“不回复机器人消息”规则)。
1416
+
1417
+ 文档:[远程访问](/gateway/remote)、[Agent CLI](/cli/agent)、[Agent send](/tools/agent-send)。
1418
+
1419
+ ### 多个智能体需要独立的 VPS 吗
1420
+
1421
+ 不需要。一个 Gateway 网关可以托管多个智能体,每个都有自己的工作区、模型默认值和路由。这是正常设置,比每个智能体一个 VPS 便宜且简单得多。
1422
+
1423
+ 只有在需要硬隔离(安全边界)或非常不同的配置(你不想共享)时才使用独立的 VPS。否则保持一个 Gateway 网关并使用多个智能体或子智能体。
1424
+
1425
+ ### 在个人笔记本电脑上使用节点而不是从 VPS SSH 有什么好处
1426
+
1427
+ 有——节点是从远程 Gateway 网关到达你笔记本的首选方式,它们解锁的不仅仅是 shell 访问。Gateway 网关运行在 macOS/Linux(Windows 通过 WSL2)上且是轻量级的(小型 VPS 或 Raspberry Pi 级别的设备就够用;4 GB RAM 足够),所以常见设置是一个常开主机加上你的笔记本作为节点。
1428
+
1429
+ - **无需入站 SSH。** 节点向 Gateway 网关 WebSocket 发起出站连接并使用设备配对。
1430
+ - **更安全的执行控制。** `system.run` 受该笔记本上节点允许列表/审批的限制。
1431
+ - **更多设备工具。** 节点除了 `system.run` 还暴露 `canvas`、`camera` 和 `screen`。
1432
+ - **本地浏览器自动化。** 将 Gateway 网关保持在 VPS 上,但在本地运行 Chrome 并通过 Chrome 扩展 + 笔记本上的节点主机中继控制。
1433
+
1434
+ SSH 对临时 shell 访问很好,但节点对于持续的智能体工作流和设备自动化更简单。
1435
+
1436
+ 文档:[节点](/nodes)、[节点 CLI](/cli/nodes)、[Chrome 扩展](/tools/chrome-extension)。
1437
+
1438
+ ### 应该在第二台笔记本上安装还是只添加一个节点
1439
+
1440
+ 如果你只需要第二台笔记本上的**本地工具**(屏幕/摄像头/执行),将其添加为**节点**。这保持单一 Gateway 网关并避免重复配置。本地节点工具目前仅限 macOS,但我们计划扩展到其他操作系统。
1441
+
1442
+ 只有在需要**硬隔离**或两个完全独立的机器人时才安装第二个 Gateway 网关。
1443
+
1444
+ 文档:[节点](/nodes)、[节点 CLI](/cli/nodes)、[多 Gateway 网关](/gateway/multiple-gateways)。
1445
+
1446
+ ### 节点会运行 Gateway 网关服务吗
1447
+
1448
+ 不会。每台主机上应该只运行**一个 Gateway 网关**,除非你有意运行隔离的配置文件(参阅[多 Gateway 网关](/gateway/multiple-gateways))。节点是连接到 Gateway 网关的外围设备(iOS/Android 节点,或 macOS 菜单栏应用的“节点模式”)。对于无头节点主机和 CLI 控制,参阅[节点主机 CLI](/cli/node)。
1449
+
1450
+ `gateway`、`discovery` 和 `canvasHost` 的更改需要完全重启。
1451
+
1452
+ ### 有 API / RPC 方式来应用配置吗
1453
+
1454
+ 有。`config.apply` 验证 + 写入完整配置,并在操作过程中重启 Gateway 网关。
1455
+
1456
+ ### 首次安装的最小“合理”配置是什么
1457
+
1458
+ ```json5
1459
+ {
1460
+ agents: { defaults: { workspace: "~/.openclaw/workspace" } },
1461
+ channels: { whatsapp: { allowFrom: ["+15555550123"] } },
1462
+ }
1463
+ ```
1464
+
1465
+ 这设置了你的工作区并限制谁可以触发机器人。
1466
+
1467
+ ### 如何在 VPS 上设置 Tailscale 并从 Mac 连接
1468
+
1469
+ 最简步骤:
1470
+
1471
+ 1. **在 VPS 上安装并登录**
1472
+ ```bash
1473
+ curl -fsSL https://tailscale.com/install.sh | sh
1474
+ sudo tailscale up
1475
+ ```
1476
+ 2. **在 Mac 上安装并登录**
1477
+ - 使用 Tailscale 应用并登录到同一个 tailnet。
1478
+ 3. **启用 MagicDNS(推荐)**
1479
+ - 在 Tailscale 管理控制台中启用 MagicDNS,这样 VPS 有一个稳定的名称。
1480
+ 4. **使用 tailnet 主机名**
1481
+ - SSH:`ssh user@your-vps.tailnet-xxxx.ts.net`
1482
+ - Gateway 网关 WS:`ws://your-vps.tailnet-xxxx.ts.net:18789`
1483
+
1484
+ 如果你想要无 SSH 的控制 UI,在 VPS 上使用 Tailscale Serve:
1485
+
1486
+ ```bash
1487
+ openclaw gateway --tailscale serve
1488
+ ```
1489
+
1490
+ 这保持 Gateway 网关绑定到 local loopback 并通过 Tailscale 暴露 HTTPS。参阅 [Tailscale](/gateway/tailscale)。
1491
+
1492
+ ### 如何将 Mac 节点连接到远程 Gateway 网关(Tailscale Serve)
1493
+
1494
+ Serve 暴露 **Gateway 网关控制 UI + WS**。节点通过同一个 Gateway 网关 WS 端点连接。
1495
+
1496
+ 推荐设置:
1497
+
1498
+ 1. **确保 VPS + Mac 在同一个 tailnet 上**。
1499
+ 2. **使用 macOS 应用的远程模式**(SSH 目标可以是 tailnet 主机名)。应用会隧道 Gateway 网关端口并作为节点连接。
1500
+ 3. **在 Gateway 网关上批准节点**:
1501
+ ```bash
1502
+ openclaw nodes pending
1503
+ openclaw nodes approve <requestId>
1504
+ ```
1505
+
1506
+ 文档:[Gateway 网关协议](/gateway/protocol)、[发现](/gateway/discovery)、[macOS 远程模式](/platforms/mac/remote)。
1507
+
1508
+ ## 环境变量和 .env 加载
1509
+
1510
+ ### OpenClaw 如何加载环境变量
1511
+
1512
+ OpenClaw 从父进程(shell、launchd/systemd、CI 等)读取环境变量,并额外加载:
1513
+
1514
+ - 当前工作目录下的 `.env`
1515
+ - `~/.openclaw/.env`(即 `$OPENCLAW_STATE_DIR/.env`)的全局回退 `.env`
1516
+
1517
+ 两个 `.env` 文件都不会覆盖已有的环境变量。
1518
+
1519
+ 你也可以在配置中定义内联环境变量(仅在进程环境中缺失时应用):
1520
+
1521
+ ```json5
1522
+ {
1523
+ env: {
1524
+ OPENROUTER_API_KEY: "sk-or-...",
1525
+ vars: { GROQ_API_KEY: "gsk-..." },
1526
+ },
1527
+ }
1528
+ ```
1529
+
1530
+ 参阅 [/environment](/environment) 了解优先级和来源详情。
1531
+
1532
+ ### 我通过服务启动了 Gateway 网关,但环境变量消失了,怎么办
1533
+
1534
+ 两个常见修复方法:
1535
+
1536
+ 1. 将缺失的密钥放在 `~/.openclaw/.env` 中,这样即使服务不继承你的 shell 环境也能被获取。
1537
+ 2. 启用 shell 导入(可选的便利功能):
1538
+
1539
+ ```json5
1540
+ {
1541
+ env: {
1542
+ shellEnv: {
1543
+ enabled: true,
1544
+ timeoutMs: 15000,
1545
+ },
1546
+ },
1547
+ }
1548
+ ```
1549
+
1550
+ 这会运行你的登录 shell 并仅导入缺失的预期键名(从不覆盖)。环境变量等效项:
1551
+ `OPENCLAW_LOAD_SHELL_ENV=1`、`OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000`。
1552
+
1553
+ ### 我设置了 COPILOT_GITHUB_TOKEN,但 models status 显示"Shell env: off",为什么
1554
+
1555
+ `openclaw models status` 报告的是 **shell 环境导入**是否启用。"Shell env: off"**不**意味着你的环境变量缺失——它只意味着 OpenClaw 不会自动加载你的登录 shell。
1556
+
1557
+ 如果 Gateway 网关作为服务(launchd/systemd)运行,它不会继承你的 shell 环境。通过以下方式之一修复:
1558
+
1559
+ 1. 将令牌放在 `~/.openclaw/.env` 中:
1560
+ ```
1561
+ COPILOT_GITHUB_TOKEN=...
1562
+ ```
1563
+ 2. 或启用 shell 导入(`env.shellEnv.enabled: true`)。
1564
+ 3. 或将其添加到配置的 `env` 块中(仅在缺失时应用)。
1565
+
1566
+ 然后重启 Gateway 网关并重新检查:
1567
+
1568
+ ```bash
1569
+ openclaw models status
1570
+ ```
1571
+
1572
+ Copilot 令牌从 `COPILOT_GITHUB_TOKEN` 读取(也支持 `GH_TOKEN` / `GITHUB_TOKEN`)。
1573
+ 参阅 [/concepts/model-providers](/concepts/model-providers) 和 [/environment](/environment)。
1574
+
1575
+ ## 会话与多聊天
1576
+
1577
+ ### 如何开始一个新对话
1578
+
1579
+ 发送 `/new` 或 `/reset` 作为独立消息。参阅[会话管理](/concepts/session)。
1580
+
1581
+ ### 如果我从不发送 /new,会话会自动重置吗
1582
+
1583
+ 会。会话在 `session.idleMinutes`(默认 **60**)后过期。**下一条**消息会为该聊天键开始一个新的会话 ID。这不会删除记录——只是开始一个新会话。
1584
+
1585
+ ```json5
1586
+ {
1587
+ session: {
1588
+ idleMinutes: 240,
1589
+ },
1590
+ }
1591
+ ```
1592
+
1593
+ ### 能否创建一个 OpenClaw 实例团队——一个 CEO 和多个智能体
1594
+
1595
+ 可以,通过**多智能体路由**和**子智能体**。你可以创建一个协调器智能体和多个工作者智能体,每个都有自己的工作区和模型。
1596
+
1597
+ 话虽如此,最好将其视为一个**有趣的实验**。它消耗大量令牌,通常不如使用一个机器人配合不同会话的效率高。我们设想的典型模型是一个你与之对话的机器人,用不同的会话进行并行工作。该机器人也可以在需要时生成子智能体。
1598
+
1599
+ 文档:[多智能体路由](/concepts/multi-agent)、[子智能体](/tools/subagents)、[智能体 CLI](/cli/agents)。
1600
+
1601
+ ### 为什么上下文在任务中途被截断了?如何防止
1602
+
1603
+ 会话上下文受模型窗口限制。长对话、大量工具输出或许多文件可能触发压缩或截断。
1604
+
1605
+ 有帮助的做法:
1606
+
1607
+ - 要求机器人总结当前状态并写入文件。
1608
+ - 在长任务之前使用 `/compact`,切换话题时使用 `/new`。
1609
+ - 将重要上下文保存在工作区中,要求机器人读取。
1610
+ - 对长时间或并行工作使用子智能体,这样主聊天保持较小。
1611
+ - 如果这种情况经常发生,选择具有更大上下文窗口的模型。
1612
+
1613
+ ### 如何完全重置 OpenClaw 但保留安装
1614
+
1615
+ 使用重置命令:
1616
+
1617
+ ```bash
1618
+ openclaw reset
1619
+ ```
1620
+
1621
+ 非交互式完整重置:
1622
+
1623
+ ```bash
1624
+ openclaw reset --scope full --yes --non-interactive
1625
+ ```
1626
+
1627
+ 然后重新运行新手引导:
1628
+
1629
+ ```bash
1630
+ openclaw onboard --install-daemon
1631
+ ```
1632
+
1633
+ 注意:
1634
+
1635
+ - 新手引导向导在看到现有配置时也提供**重置**选项。参阅[向导](/start/wizard)。
1636
+ - 如果你使用了配置文件(`--profile` / `OPENCLAW_PROFILE`),重置每个状态目录(默认为 `~/.openclaw-<profile>`)。
1637
+ - 开发重置:`openclaw gateway --dev --reset`(仅限开发;清除开发配置 + 凭据 + 会话 + 工作区)。
1638
+
1639
+ ### 我遇到了 context too large 错误——如何重置或压缩
1640
+
1641
+ 使用以下方式之一:
1642
+
1643
+ - **压缩**(保留对话但总结较早的轮次):
1644
+
1645
+ ```
1646
+ /compact
1647
+ ```
1648
+
1649
+ 或 `/compact <instructions>` 来引导总结。
1650
+
1651
+ - **重置**(为同一聊天键开始新的会话 ID):
1652
+ ```
1653
+ /new
1654
+ /reset
1655
+ ```
1656
+
1657
+ 如果持续出现:
1658
+
1659
+ - 启用或调整**会话修剪**(`agents.defaults.contextPruning`)以裁剪旧的工具输出。
1660
+ - 使用具有更大上下文窗口的模型。
1661
+
1662
+ 文档:[压缩](/concepts/compaction)、[会话修剪](/concepts/session-pruning)、[会话管理](/concepts/session)。
1663
+
1664
+ ### 为什么我看到 LLM request rejected: messages.N.content.X.tool_use.input: Field required
1665
+
1666
+ 这是一个提供商验证错误:模型发出了一个没有必需 `input` 的 `tool_use` 块。通常意味着会话历史已过时或损坏(通常在长线程或工具/模式变更后发生)。
1667
+
1668
+ 修复:使用 `/new`(独立消息)开始新会话。
1669
+
1670
+ ### 为什么每 30 分钟收到一次心跳消息
1671
+
1672
+ 心跳默认每 **30 分钟**运行一次。调整或禁用:
1673
+
1674
+ ```json5
1675
+ {
1676
+ agents: {
1677
+ defaults: {
1678
+ heartbeat: {
1679
+ every: "2h", // 或 "0m" 禁用
1680
+ },
1681
+ },
1682
+ },
1683
+ }
1684
+ ```
1685
+
1686
+ 如果 `HEARTBEAT.md` 存在但实际上为空(只有空行和 markdown 标题如 `# Heading`),OpenClaw 会跳过心跳运行以节省 API 调用。如果文件不存在,心跳仍然运行,由模型决定做什么。
1687
+
1688
+ 按智能体覆盖使用 `agents.list[].heartbeat`。文档:[心跳](/gateway/heartbeat)。
1689
+
1690
+ ### 需要在 WhatsApp 群组中添加“机器人账号”吗
1691
+
1692
+ 不需要。OpenClaw 运行在**你自己的账户**上,所以如果你在群组中,OpenClaw 就能看到它。
1693
+ 默认情况下,群组回复被阻止,直到你允许发送者(`groupPolicy: "allowlist"`)。
1694
+
1695
+ 如果你只想**你自己**能触发群组回复:
1696
+
1697
+ ```json5
1698
+ {
1699
+ channels: {
1700
+ whatsapp: {
1701
+ groupPolicy: "allowlist",
1702
+ groupAllowFrom: ["+15551234567"],
1703
+ },
1704
+ },
1705
+ }
1706
+ ```
1707
+
1708
+ ### 如何获取 WhatsApp 群组的 JID
1709
+
1710
+ 方法 1(最快):跟踪日志并在群组中发送测试消息:
1711
+
1712
+ ```bash
1713
+ openclaw logs --follow --json
1714
+ ```
1715
+
1716
+ 查找以 `@g.us` 结尾的 `chatId`(或 `from`),如:
1717
+ `1234567890-1234567890@g.us`。
1718
+
1719
+ 方法 2(如果已配置/加入允许列表):从配置中列出群组:
1720
+
1721
+ ```bash
1722
+ openclaw directory groups list --channel whatsapp
1723
+ ```
1724
+
1725
+ 文档:[WhatsApp](/channels/whatsapp)、[目录](/cli/directory)、[日志](/cli/logs)。
1726
+
1727
+ ### 为什么 OpenClaw 不在群组中回复
1728
+
1729
+ 两个常见原因:
1730
+
1731
+ - 提及限制已开启(默认)。你必须 @提及机器人(或匹配 `mentionPatterns`)。
1732
+ - 你配置了 `channels.whatsapp.groups` 但没有 `"*"` 且该群组未加入允许列表。
1733
+
1734
+ 参阅[群组](/concepts/groups)和[群组消息](/concepts/group-messages)。
1735
+
1736
+ ### 群组/线程与私聊共享上下文吗
1737
+
1738
+ 直接聊天默认折叠到主会话。群组/频道有自己的会话键,Telegram 话题 / Discord 线程是独立的会话。参阅[群组](/concepts/groups)和[群组消息](/concepts/group-messages)。
1739
+
1740
+ ### 可以创建多少个工作区和智能体
1741
+
1742
+ 没有硬性限制。几十个(甚至几百个)都没问题,但请注意:
1743
+
1744
+ - **磁盘增长:** 会话 + 记录位于 `~/.openclaw/agents/<agentId>/sessions/` 下。
1745
+ - **令牌成本:** 更多智能体意味着更多并发模型使用。
1746
+ - **运维开销:** 按智能体的认证配置文件、工作区和渠道路由。
1747
+
1748
+ 提示:
1749
+
1750
+ - 每个智能体保持一个**活跃**工作区(`agents.defaults.workspace`)。
1751
+ - 如果磁盘增长,修剪旧会话(删除 JSONL 或存储条目)。
1752
+ - 使用 `openclaw doctor` 发现无用的工作区和配置文件不匹配。
1753
+
1754
+ ### 可以同时运行多个机器人或聊天(Slack)吗?应该如何设置
1755
+
1756
+ 可以。使用**多智能体路由**运行多个隔离的智能体,并按渠道/账户/对等方路由入站消息。Slack 作为渠道受支持,可以绑定到特定智能体。
1757
+
1758
+ 浏览器访问功能强大,但不是“能做人类能做的一切”——反机器人、验证码和 MFA 仍然可以阻止自动化。为了最可靠的浏览器控制,在运行浏览器的机器上使用 Chrome 扩展中继(Gateway 网关可以在任何地方)。
1759
+
1760
+ 最佳实践设置:
1761
+
1762
+ - 常开 Gateway 网关主机(VPS/Mac mini)。
1763
+ - 每个角色一个智能体(绑定)。
1764
+ - Slack 渠道绑定到这些智能体。
1765
+ - 需要时通过扩展中继(或节点)使用本地浏览器。
1766
+
1767
+ 文档:[多智能体路由](/concepts/multi-agent)、[Slack](/channels/slack)、
1768
+ [浏览器](/tools/browser)、[Chrome 扩展](/tools/chrome-extension)、[节点](/nodes)。
1769
+
1770
+ ## 模型:默认值、选择、别名、切换
1771
+
1772
+ ### 什么是“默认模型”
1773
+
1774
+ OpenClaw 的默认模型是你设置的:
1775
+
1776
+ ```
1777
+ agents.defaults.model.primary
1778
+ ```
1779
+
1780
+ 模型以 `provider/model` 引用(示例:`anthropic/claude-opus-4-5`)。如果你省略提供商,OpenClaw 目前假设 `anthropic` 作为临时弃用回退——但你仍然应该**明确**设置 `provider/model`。
1781
+
1782
+ ### 推荐什么模型
1783
+
1784
+ **推荐默认:** `anthropic/claude-opus-4-5`。
1785
+ **好的替代:** `anthropic/claude-sonnet-4-5`。
1786
+ **可靠(个性较少):** `openai/gpt-5.2`——几乎和 Opus 一样好,只是个性较少。
1787
+ **经济:** `zai/glm-4.7`。
1788
+
1789
+ MiniMax M2.1 有自己的文档:[MiniMax](/providers/minimax) 和
1790
+ [本地模型](/gateway/local-models)。
1791
+
1792
+ 经验法则:高风险工作使用你能负担的**最好的模型**,日常聊天或摘要使用更便宜的模型。你可以按智能体路由模型并使用子智能体并行处理长任务(每个子智能体消耗令牌)。参阅[模型](/concepts/models)和[子智能体](/tools/subagents)。
1793
+
1794
+ 重要警告:较弱/过度量化的模型更容易受到提示注入和不安全行为的影响。参阅[安全](/gateway/security)。
1795
+
1796
+ 更多上下文:[模型](/concepts/models)。
1797
+
1798
+ ### 可以使用自托管模型(llama.cpp、vLLM、Ollama)吗
1799
+
1800
+ 可以。如果你的本地服务器暴露了兼容 OpenAI 的 API,你可以将自定义提供商指向它。Ollama 直接支持,是最简单的路径。
1801
+
1802
+ 安全说明:较小或大幅量化的模型更容易受到提示注入的影响。我们强烈建议对任何可以使用工具的机器人使用**大型模型**。如果你仍然想使用小模型,启用沙箱和严格的工具允许列表。
1803
+
1804
+ 文档:[Ollama](/providers/ollama)、[本地模型](/gateway/local-models)、
1805
+ [模型提供商](/concepts/model-providers)、[安全](/gateway/security)、
1806
+ [沙箱](/gateway/sandboxing)。
1807
+
1808
+ ### 如何在不清空配置的情况下切换模型
1809
+
1810
+ 使用**模型命令**或只编辑**模型**字段。避免完整配置替换。
1811
+
1812
+ 安全选项:
1813
+
1814
+ - 聊天中的 `/model`(快速,按会话)
1815
+ - `openclaw models set ...`(只更新模型配置)
1816
+ - `openclaw configure --section models`(交互式)
1817
+ - 编辑 `~/.openclaw/openclaw.json` 中的 `agents.defaults.model`
1818
+
1819
+ 避免使用部分对象执行 `config.apply`,除非你打算替换整个配置。如果你确实覆盖了配置,从备份恢复或重新运行 `openclaw doctor` 来修复。
1820
+
1821
+ 文档:[模型](/concepts/models)、[Configure](/cli/configure)、[Config](/cli/config)、[Doctor](/gateway/doctor)。
1822
+
1823
+ ### OpenClaw、Flawd 和 Krill 使用什么模型
1824
+
1825
+ - **OpenClaw + Flawd:** Anthropic Opus(`anthropic/claude-opus-4-5`)——参阅 [Anthropic](/providers/anthropic)。
1826
+ - **Krill:** MiniMax M2.1(`minimax/MiniMax-M2.1`)——参阅 [MiniMax](/providers/minimax)。
1827
+
1828
+ ### 如何在运行中切换模型(无需重启)
1829
+
1830
+ 使用 `/model` 命令作为独立消息:
1831
+
1832
+ ```
1833
+ /model sonnet
1834
+ /model haiku
1835
+ /model opus
1836
+ /model gpt
1837
+ /model gpt-mini
1838
+ /model gemini
1839
+ /model gemini-flash
1840
+ ```
1841
+
1842
+ 你可以使用 `/model`、`/model list` 或 `/model status` 列出可用模型。
1843
+
1844
+ `/model`(和 `/model list`)显示紧凑的编号选择器。按编号选择:
1845
+
1846
+ ```
1847
+ /model 3
1848
+ ```
1849
+
1850
+ 你也可以为提供商强制指定特定的认证配置文件(按会话):
1851
+
1852
+ ```
1853
+ /model opus@anthropic:default
1854
+ /model opus@anthropic:work
1855
+ ```
1856
+
1857
+ 提示:`/model status` 显示哪个智能体是活跃的、正在使用哪个 `auth-profiles.json` 文件,以及接下来将尝试哪个认证配置文件。
1858
+ 它还显示配置的提供商端点(`baseUrl`)和 API 模式(`api`)(如果可用)。
1859
+
1860
+ **如何取消用 @profile 设置的配置文件固定**
1861
+
1862
+ 重新运行 `/model` 但**不带** `@profile` 后缀:
1863
+
1864
+ ```
1865
+ /model anthropic/claude-opus-4-5
1866
+ ```
1867
+
1868
+ 如果你想返回默认值,从 `/model` 中选择(或发送 `/model <default provider/model>`)。
1869
+ 使用 `/model status` 确认哪个认证配置文件是活跃的。
1870
+
1871
+ ### 能否日常任务用 GPT 5.2,编程用 Codex 5.2
1872
+
1873
+ 可以。设置一个为默认并按需切换:
1874
+
1875
+ - **快速切换(按会话):** 日常任务用 `/model gpt-5.2`,编程用 `/model gpt-5.2-codex`。
1876
+ - **默认 + 切换:** 将 `agents.defaults.model.primary` 设置为 `openai-codex/gpt-5.2`,然后编程时切换到 `openai-codex/gpt-5.2-codex`(或反过来)。
1877
+ - **子智能体:** 将编程任务路由到具有不同默认模型的子智能体。
1878
+
1879
+ 参阅[模型](/concepts/models)和[斜杠命令](/tools/slash-commands)。
1880
+
1881
+ ### 为什么我看到"Model … is not allowed"然后没有回复
1882
+
1883
+ 如果设置了 `agents.defaults.models`,它成为 `/model` 和任何会话覆盖的**允许列表**。选择不在该列表中的模型会返回:
1884
+
1885
+ ```
1886
+ Model "provider/model" is not allowed. Use /model to list available models.
1887
+ ```
1888
+
1889
+ 该错误**代替**正常回复返回。修复:将模型添加到 `agents.defaults.models`,移除允许列表,或从 `/model list` 中选择一个模型。
1890
+
1891
+ ### 为什么我看到"Unknown model: minimax/MiniMax-M2.1"
1892
+
1893
+ 这意味着**提供商未配置**(未找到 MiniMax 提供商配置或认证配置文件),因此模型无法解析。此检测的修复在 **2026.1.12**(撰写本文时尚未发布)中。
1894
+
1895
+ 修复清单:
1896
+
1897
+ 1. 升级到 **2026.1.12**(或从源码 `main` 运行),然后重启 Gateway 网关。
1898
+ 2. 确保 MiniMax 已配置(向导或 JSON),或者 MiniMax API 密钥存在于环境/认证配置文件中以便提供商可以被注入。
1899
+ 3. 使用精确的模型 ID(区分大小写):`minimax/MiniMax-M2.1` 或 `minimax/MiniMax-M2.1-lightning`。
1900
+ 4. 运行:
1901
+ ```bash
1902
+ openclaw models list
1903
+ ```
1904
+ 并从列表中选择(或在聊天中使用 `/model list`)。
1905
+
1906
+ 参阅 [MiniMax](/providers/minimax) 和[模型](/concepts/models)。
1907
+
1908
+ ### 能否将 MiniMax 设为默认,复杂任务用 OpenAI
1909
+
1910
+ 可以。使用 **MiniMax 作为默认**,需要时**按会话**切换模型。故障转移用于**错误**,而非“困难任务”,所以使用 `/model` 或单独的智能体。
1911
+
1912
+ **方案 A:按会话切换**
1913
+
1914
+ ```json5
1915
+ {
1916
+ env: { MINIMAX_API_KEY: "sk-...", OPENAI_API_KEY: "sk-..." },
1917
+ agents: {
1918
+ defaults: {
1919
+ model: { primary: "minimax/MiniMax-M2.1" },
1920
+ models: {
1921
+ "minimax/MiniMax-M2.1": { alias: "minimax" },
1922
+ "openai/gpt-5.2": { alias: "gpt" },
1923
+ },
1924
+ },
1925
+ },
1926
+ }
1927
+ ```
1928
+
1929
+ 然后:
1930
+
1931
+ ```
1932
+ /model gpt
1933
+ ```
1934
+
1935
+ **方案 B:分离智能体**
1936
+
1937
+ - 智能体 A 默认:MiniMax
1938
+ - 智能体 B 默认:OpenAI
1939
+ - 按智能体路由或使用 `/agent` 切换
1940
+
1941
+ 文档:[模型](/concepts/models)、[多智能体路由](/concepts/multi-agent)、[MiniMax](/providers/minimax)、[OpenAI](/providers/openai)。
1942
+
1943
+ ### opus / sonnet / gpt 是内置快捷方式吗
1944
+
1945
+ 是的。OpenClaw 内置了一些默认简写(仅在模型存在于 `agents.defaults.models` 中时应用):
1946
+
1947
+ - `opus` → `anthropic/claude-opus-4-5`
1948
+ - `sonnet` → `anthropic/claude-sonnet-4-5`
1949
+ - `gpt` → `openai/gpt-5.2`
1950
+ - `gpt-mini` → `openai/gpt-5-mini`
1951
+ - `gemini` → `google/gemini-3-pro-preview`
1952
+ - `gemini-flash` → `google/gemini-3-flash-preview`
1953
+
1954
+ 如果你设置了同名的自定义别名,你的值优先。
1955
+
1956
+ ### 如何定义/覆盖模型快捷方式(别名)
1957
+
1958
+ 别名来自 `agents.defaults.models.<modelId>.alias`。示例:
1959
+
1960
+ ```json5
1961
+ {
1962
+ agents: {
1963
+ defaults: {
1964
+ model: { primary: "anthropic/claude-opus-4-5" },
1965
+ models: {
1966
+ "anthropic/claude-opus-4-5": { alias: "opus" },
1967
+ "anthropic/claude-sonnet-4-5": { alias: "sonnet" },
1968
+ "anthropic/claude-haiku-4-5": { alias: "haiku" },
1969
+ },
1970
+ },
1971
+ },
1972
+ }
1973
+ ```
1974
+
1975
+ 然后 `/model sonnet`(或支持时的 `/<alias>`)解析为该模型 ID。
1976
+
1977
+ ### 如何添加其他提供商(如 OpenRouter 或 Z.AI)的模型
1978
+
1979
+ OpenRouter(按令牌付费;多种模型):
1980
+
1981
+ ```json5
1982
+ {
1983
+ agents: {
1984
+ defaults: {
1985
+ model: { primary: "openrouter/anthropic/claude-sonnet-4-5" },
1986
+ models: { "openrouter/anthropic/claude-sonnet-4-5": {} },
1987
+ },
1988
+ },
1989
+ env: { OPENROUTER_API_KEY: "sk-or-..." },
1990
+ }
1991
+ ```
1992
+
1993
+ Z.AI(GLM 模型):
1994
+
1995
+ ```json5
1996
+ {
1997
+ agents: {
1998
+ defaults: {
1999
+ model: { primary: "zai/glm-4.7" },
2000
+ models: { "zai/glm-4.7": {} },
2001
+ },
2002
+ },
2003
+ env: { ZAI_API_KEY: "..." },
2004
+ }
2005
+ ```
2006
+
2007
+ 如果你引用了 provider/model 但缺少所需的提供商密钥,你会收到运行时认证错误(例如 `No API key found for provider "zai"`)。
2008
+
2009
+ **添加新智能体后提示 No API key found for provider**
2010
+
2011
+ 这通常意味着**新智能体**的认证存储为空。认证是按智能体的,存储在:
2012
+
2013
+ ```
2014
+ ~/.openclaw/agents/<agentId>/agent/auth-profiles.json
2015
+ ```
2016
+
2017
+ 修复选项:
2018
+
2019
+ - 运行 `openclaw agents add <id>` 并在向导中配置认证。
2020
+ - 或从主智能体的 `agentDir` 复制 `auth-profiles.json` 到新智能体的 `agentDir`。
2021
+
2022
+ **不要**在智能体之间重用 `agentDir`;这会导致认证/会话冲突。
2023
+
2024
+ ## 模型故障转移与"All models failed"
2025
+
2026
+ ### 故障转移是如何工作的
2027
+
2028
+ 故障转移分两个阶段:
2029
+
2030
+ 1. 同一提供商内的**认证配置文件轮换**。
2031
+ 2. **模型回退**到 `agents.defaults.model.fallbacks` 中的下一个模型。
2032
+
2033
+ 冷却期适用于失败的配置文件(指数退避),因此 OpenClaw 即使在提供商被限速或临时失败时也能继续响应。
2034
+
2035
+ ### 这个错误是什么意思
2036
+
2037
+ ```
2038
+ No credentials found for profile "anthropic:default"
2039
+ ```
2040
+
2041
+ 这意味着系统尝试使用认证配置文件 ID `anthropic:default`,但在预期的认证存储中找不到它的凭据。
2042
+
2043
+ ### No credentials found for profile "anthropic:default" 的修复清单
2044
+
2045
+ - **确认认证配置文件的位置**(新路径 vs 旧路径)
2046
+ - 当前:`~/.openclaw/agents/<agentId>/agent/auth-profiles.json`
2047
+ - 旧版:`~/.openclaw/agent/*`(通过 `openclaw doctor` 迁移)
2048
+ - **确认环境变量被 Gateway 网关加载**
2049
+ - 如果你在 shell 中设置了 `ANTHROPIC_API_KEY` 但通过 systemd/launchd 运行 Gateway 网关,它可能不会继承。将其放在 `~/.openclaw/.env` 中或启用 `env.shellEnv`。
2050
+ - **确保你编辑的是正确的智能体**
2051
+ - 多智能体设置意味着可能有多个 `auth-profiles.json` 文件。
2052
+ - **完整性检查模型/认证状态**
2053
+ - 使用 `openclaw models status` 查看已配置的模型以及提供商是否已认证。
2054
+
2055
+ **No credentials found for profile "anthropic" 的修复清单**
2056
+
2057
+ 这意味着运行固定到 Anthropic 认证配置文件,但 Gateway 网关在其认证存储中找不到它。
2058
+
2059
+ - **使用 setup-token**
2060
+ - 运行 `claude setup-token`,然后用 `openclaw models auth setup-token --provider anthropic` 粘贴。
2061
+ - 如果令牌在另一台机器上创建,使用 `openclaw models auth paste-token --provider anthropic`。
2062
+ - **如果你想使用 API 密钥**
2063
+ - 在 **Gateway 网关主机**上将 `ANTHROPIC_API_KEY` 放入 `~/.openclaw/.env`。
2064
+ - 清除任何强制缺失配置文件的固定顺序:
2065
+ ```bash
2066
+ openclaw models auth order clear --provider anthropic
2067
+ ```
2068
+ - **确认你在 Gateway 网关主机上运行命令**
2069
+ - 在远程模式下,认证配置文件位于 Gateway 网关机器上,而不是你的笔记本上。
2070
+
2071
+ ### 为什么还尝试了 Google Gemini 并且失败了
2072
+
2073
+ 如果你的模型配置包含 Google Gemini 作为回退(或你切换到了 Gemini 简写),OpenClaw 会在模型回退期间尝试它。如果你没有配置 Google 凭据,你会看到 `No API key found for provider "google"`。
2074
+
2075
+ 修复:提供 Google 认证,或从 `agents.defaults.model.fallbacks` / 别名中移除/避免 Google 模型,这样回退不会路由到那里。
2076
+
2077
+ **LLM request rejected message thinking signature required google antigravity**
2078
+
2079
+ 原因:会话历史包含**没有签名的 thinking 块**(通常来自中止/部分流)。Google Antigravity 要求 thinking 块有签名。
2080
+
2081
+ 修复:OpenClaw 现在为 Google Antigravity Claude 剥离未签名的 thinking 块。如果仍然出现,开始**新会话**或为该智能体设置 `/thinking off`。
2082
+
2083
+ ## 认证配置文件:概念和管理方式
2084
+
2085
+ 相关:[/concepts/oauth](/concepts/oauth)(OAuth 流程、令牌存储、多账户模式)
2086
+
2087
+ ### 什么是认证配置文件
2088
+
2089
+ 认证配置文件是绑定到提供商的命名凭据记录(OAuth 或 API 密钥)。配置文件位于:
2090
+
2091
+ ```
2092
+ ~/.openclaw/agents/<agentId>/agent/auth-profiles.json
2093
+ ```
2094
+
2095
+ ### 典型的配置文件 ID 有哪些
2096
+
2097
+ OpenClaw 使用提供商前缀的 ID,如:
2098
+
2099
+ - `anthropic:default`(没有邮箱身份时常见)
2100
+ - `anthropic:<email>`(用于 OAuth 身份)
2101
+ - 你自定义的 ID(例如 `anthropic:work`)
2102
+
2103
+ ### 可以控制首先尝试哪个认证配置文件吗
2104
+
2105
+ 可以。配置支持配置文件的可选元数据和按提供商的排序(`auth.order.<provider>`)。这**不**存储密钥;它将 ID 映射到 provider/mode 并设置轮换顺序。
2106
+
2107
+ 如果某个配置文件处于短期**冷却**(速率限制/超时/认证失败)或较长的**禁用**状态(计费/额度不足),OpenClaw 可能会临时跳过它。要检查这一点,运行 `openclaw models status --json` 并查看 `auth.unusableProfiles`。调优:`auth.cooldowns.billingBackoffHours*`。
2108
+
2109
+ 你也可以通过 CLI 设置**按智能体**的顺序覆盖(存储在该智能体的 `auth-profiles.json` 中):
2110
+
2111
+ ```bash
2112
+ # 默认为配置的默认智能体(省略 --agent)
2113
+ openclaw models auth order get --provider anthropic
2114
+
2115
+ # 将轮换锁定到单个配置文件(只尝试这一个)
2116
+ openclaw models auth order set --provider anthropic anthropic:default
2117
+
2118
+ # 或设置明确的顺序(提供商内回退)
2119
+ openclaw models auth order set --provider anthropic anthropic:work anthropic:default
2120
+
2121
+ # 清除覆盖(回退到配置 auth.order / 轮换)
2122
+ openclaw models auth order clear --provider anthropic
2123
+ ```
2124
+
2125
+ 要针对特定智能体:
2126
+
2127
+ ```bash
2128
+ openclaw models auth order set --provider anthropic --agent main anthropic:default
2129
+ ```
2130
+
2131
+ ### OAuth 与 API 密钥:有什么区别
2132
+
2133
+ OpenClaw 两者都支持:
2134
+
2135
+ - **OAuth** 通常利用订阅访问(如适用)。
2136
+ - **API 密钥** 使用按令牌付费的计费。
2137
+
2138
+ 向导明确支持 Anthropic setup-token 和 OpenAI Codex OAuth,也可以为你存储 API 密钥。
2139
+
2140
+ ## Gateway 网关:端口、“已在运行”和远程模式
2141
+
2142
+ ### Gateway 网关使用什么端口
2143
+
2144
+ `gateway.port` 控制用于 WebSocket + HTTP(控制 UI、钩子等)的单个复用端口。
2145
+
2146
+ 优先级:
2147
+
2148
+ ```
2149
+ --port > OPENCLAW_GATEWAY_PORT > gateway.port > 默认 18789
2150
+ ```
2151
+
2152
+ ### 为什么 openclaw gateway status 显示 Runtime: running 但 RPC probe: failed
2153
+
2154
+ 因为"running"是 **supervisor** 的视角(launchd/systemd/schtasks)。RPC 探测是 CLI 实际连接到 Gateway 网关 WebSocket 并调用 `status`。
2155
+
2156
+ 使用 `openclaw gateway status` 并关注这些行:
2157
+
2158
+ - `Probe target:`(探测实际使用的 URL)
2159
+ - `Listening:`(端口上实际绑定的内容)
2160
+ - `Last gateway error:`(进程存活但端口未监听时的常见根因)
2161
+
2162
+ ### 为什么 openclaw gateway status 显示 Config (cli) 和 Config (service) 不同
2163
+
2164
+ 你正在编辑一个配置文件,而服务运行的是另一个(通常是 `--profile` / `OPENCLAW_STATE_DIR` 不匹配)。
2165
+
2166
+ 修复:
2167
+
2168
+ ```bash
2169
+ openclaw gateway install --force
2170
+ ```
2171
+
2172
+ 从你希望服务使用的相同 `--profile` / 环境运行该命令。
2173
+
2174
+ ### "another gateway instance is already listening"是什么意思
2175
+
2176
+ OpenClaw 通过在启动时立即绑定 WebSocket 监听器来强制运行时锁(默认 `ws://127.0.0.1:18789`)。如果绑定因 `EADDRINUSE` 失败,它会抛出 `GatewayLockError` 表示另一个实例已在监听。
2177
+
2178
+ 修复:停止另一个实例,释放端口,或使用 `openclaw gateway --port <port>` 运行。
2179
+
2180
+ ### 如何以远程模式运行 OpenClaw(客户端连接到其他位置的 Gateway 网关)
2181
+
2182
+ 设置 `gateway.mode: "remote"` 并指向远程 WebSocket URL,可选带令牌/密码:
2183
+
2184
+ ```json5
2185
+ {
2186
+ gateway: {
2187
+ mode: "remote",
2188
+ remote: {
2189
+ url: "ws://gateway.tailnet:18789",
2190
+ token: "your-token",
2191
+ password: "your-password",
2192
+ },
2193
+ },
2194
+ }
2195
+ ```
2196
+
2197
+ 注意:
2198
+
2199
+ - `openclaw gateway` 仅在 `gateway.mode` 为 `local` 时启动(或你传递覆盖标志)。
2200
+ - macOS 应用监视配置文件,当这些值更改时实时切换模式。
2201
+
2202
+ ### 控制 UI 显示"unauthorized"或持续重连,怎么办
2203
+
2204
+ 你的 Gateway 网关运行时启用了认证(`gateway.auth.*`),但 UI 没有发送匹配的令牌/密码。
2205
+
2206
+ 事实(来自代码):
2207
+
2208
+ - 控制 UI 将令牌存储在浏览器 localStorage 键 `openclaw.control.settings.v1` 中。
2209
+ - UI 可以导入一次 `?token=...`(和/或 `?password=...`),然后从 URL 中剥离。
2210
+
2211
+ 修复:
2212
+
2213
+ - 最快:`openclaw dashboard`(打印 + 复制带令牌的链接,尝试打开;如果无头则显示 SSH 提示)。
2214
+ - 如果你还没有令牌:`openclaw doctor --generate-gateway-token`。
2215
+ - 如果是远程,先建隧道:`ssh -N -L 18789:127.0.0.1:18789 user@host` 然后打开 `http://127.0.0.1:18789/?token=...`。
2216
+ - 在 Gateway 网关主机上设置 `gateway.auth.token`(或 `OPENCLAW_GATEWAY_TOKEN`)。
2217
+ - 在控制 UI 设置中粘贴相同的令牌(或使用一次性 `?token=...` 链接刷新)。
2218
+ - 仍然卡住?运行 `openclaw status --all` 并按[故障排除](/gateway/troubleshooting)操作。参阅[仪表板](/web/dashboard)了解认证详情。
2219
+
2220
+ ### 我设置了 gateway.bind: "tailnet" 但无法绑定 / 什么都没监听
2221
+
2222
+ `tailnet` 绑定从你的网络接口中选择 Tailscale IP(100.64.0.0/10)。如果机器没有在 Tailscale 上(或接口已关闭),就没有可绑定的地址。
2223
+
2224
+ 修复:
2225
+
2226
+ - 在该主机上启动 Tailscale(使其拥有 100.x 地址),或
2227
+ - 切换到 `gateway.bind: "loopback"` / `"lan"`。
2228
+
2229
+ 注意:`tailnet` 是明确的。`auto` 优先 local loopback;当你想要仅 tailnet 绑定时使用 `gateway.bind: "tailnet"`。
2230
+
2231
+ ### 可以在同一主机上运行多个 Gateway 网关吗
2232
+
2233
+ 通常不需要——一个 Gateway 网关可以运行多个消息渠道和智能体。仅在需要冗余(例如救援机器人)或硬隔离时使用多个 Gateway 网关。
2234
+
2235
+ 可以,但你必须隔离:
2236
+
2237
+ - `OPENCLAW_CONFIG_PATH`(每实例配置)
2238
+ - `OPENCLAW_STATE_DIR`(每实例状态)
2239
+ - `agents.defaults.workspace`(工作区隔离)
2240
+ - `gateway.port`(唯一端口)
2241
+
2242
+ 快速设置(推荐):
2243
+
2244
+ - 每实例使用 `openclaw --profile <name> …`(自动创建 `~/.openclaw-<name>`)。
2245
+ - 在每个配置文件配置中设置唯一的 `gateway.port`(或手动运行时传 `--port`)。
2246
+ - 安装每配置文件的服务:`openclaw --profile <name> gateway install`。
2247
+
2248
+ 配置文件还会为服务名称添加后缀(`bot.molt.<profile>`;旧版 `com.openclaw.*`、`openclaw-gateway-<profile>.service`、`OpenClaw Gateway 网关 (<profile>)`)。
2249
+ 完整指南:[多 Gateway 网关](/gateway/multiple-gateways)。
2250
+
2251
+ ### "invalid handshake" / code 1008 是什么意思
2252
+
2253
+ Gateway 网关是一个 **WebSocket 服务器**,它期望第一条消息是 `connect` 帧。如果收到其他内容,它会以 **code 1008**(策略违规)关闭连接。
2254
+
2255
+ 常见原因:
2256
+
2257
+ - 你在浏览器中打开了 **HTTP** URL(`http://...`)而不是 WS 客户端。
2258
+ - 你使用了错误的端口或路径。
2259
+ - 代理或隧道剥离了认证头或发送了非 Gateway 网关请求。
2260
+
2261
+ 快速修复:
2262
+
2263
+ 1. 使用 WS URL:`ws://<host>:18789`(或 `wss://...` 如果 HTTPS)。
2264
+ 2. 不要在普通浏览器标签页中打开 WS 端口。
2265
+ 3. 如果认证已启用,在 `connect` 帧中包含令牌/密码。
2266
+
2267
+ 如果你使用 CLI 或 TUI,URL 应该类似:
2268
+
2269
+ ```
2270
+ openclaw tui --url ws://<host>:18789 --token <token>
2271
+ ```
2272
+
2273
+ 协议详情:[Gateway 网关协议](/gateway/protocol)。
2274
+
2275
+ ## 日志与调试
2276
+
2277
+ ### 日志在哪里
2278
+
2279
+ 文件日志(结构化):
2280
+
2281
+ ```
2282
+ /tmp/openclaw/openclaw-YYYY-MM-DD.log
2283
+ ```
2284
+
2285
+ 你可以通过 `logging.file` 设置稳定路径。文件日志级别由 `logging.level` 控制。控制台详细度由 `--verbose` 和 `logging.consoleLevel` 控制。
2286
+
2287
+ 最快的日志跟踪:
2288
+
2289
+ ```bash
2290
+ openclaw logs --follow
2291
+ ```
2292
+
2293
+ 服务/supervisor 日志(当 Gateway 网关通过 launchd/systemd 运行时):
2294
+
2295
+ - macOS:`$OPENCLAW_STATE_DIR/logs/gateway.log` 和 `gateway.err.log`(默认:`~/.openclaw/logs/...`;配置文件使用 `~/.openclaw-<profile>/logs/...`)
2296
+ - Linux:`journalctl --user -u openclaw-gateway[-<profile>].service -n 200 --no-pager`
2297
+ - Windows:`schtasks /Query /TN "OpenClaw Gateway 网关 (<profile>)" /V /FO LIST`
2298
+
2299
+ 参阅[故障排除](/gateway/troubleshooting#log-locations)了解更多。
2300
+
2301
+ ### 如何启动/停止/重启 Gateway 网关服务
2302
+
2303
+ 使用 Gateway 网关辅助命令:
2304
+
2305
+ ```bash
2306
+ openclaw gateway status
2307
+ openclaw gateway restart
2308
+ ```
2309
+
2310
+ 如果你手动运行 Gateway 网关,`openclaw gateway --force` 可以回收端口。参阅 [Gateway 网关](/gateway)。
2311
+
2312
+ ### 我在 Windows 上关闭了终端——如何重启 OpenClaw
2313
+
2314
+ 有**两种 Windows 安装模式**:
2315
+
2316
+ **1) WSL2(推荐):** Gateway 网关运行在 Linux 内部。
2317
+
2318
+ 打开 PowerShell,进入 WSL,然后重启:
2319
+
2320
+ ```powershell
2321
+ wsl
2322
+ openclaw gateway status
2323
+ openclaw gateway restart
2324
+ ```
2325
+
2326
+ 如果你从未安装服务,在前台启动:
2327
+
2328
+ ```bash
2329
+ openclaw gateway run
2330
+ ```
2331
+
2332
+ **2) 原生 Windows(不推荐):** Gateway 网关直接在 Windows 中运行。
2333
+
2334
+ 打开 PowerShell 并运行:
2335
+
2336
+ ```powershell
2337
+ openclaw gateway status
2338
+ openclaw gateway restart
2339
+ ```
2340
+
2341
+ 如果你手动运行(无服务),使用:
2342
+
2343
+ ```powershell
2344
+ openclaw gateway run
2345
+ ```
2346
+
2347
+ 文档:[Windows (WSL2)](/platforms/windows)、[Gateway 网关服务运维手册](/gateway)。
2348
+
2349
+ ### Gateway 网关已启动但回复始终不到达,应该检查什么
2350
+
2351
+ 从快速健康扫描开始:
2352
+
2353
+ ```bash
2354
+ openclaw status
2355
+ openclaw models status
2356
+ openclaw channels status
2357
+ openclaw logs --follow
2358
+ ```
2359
+
2360
+ 常见原因:
2361
+
2362
+ - 模型认证未在 **Gateway 网关主机**上加载(检查 `models status`)。
2363
+ - 渠道配对/允许列表阻止回复(检查渠道配置 + 日志)。
2364
+ - WebChat/仪表板打开但没有正确的令牌。
2365
+
2366
+ 如果你在远程,确认隧道/Tailscale 连接正常且 Gateway 网关 WebSocket 可达。
2367
+
2368
+ 文档:[渠道](/channels)、[故障排除](/gateway/troubleshooting)、[远程访问](/gateway/remote)。
2369
+
2370
+ ### "Disconnected from gateway: no reason"——怎么办
2371
+
2372
+ 这通常意味着 UI 丢失了 WebSocket 连接。检查:
2373
+
2374
+ 1. Gateway 网关在运行吗?`openclaw gateway status`
2375
+ 2. Gateway 网关健康吗?`openclaw status`
2376
+ 3. UI 有正确的令牌吗?`openclaw dashboard`
2377
+ 4. 如果是远程,隧道/Tailscale 链接正常吗?
2378
+
2379
+ 然后跟踪日志:
2380
+
2381
+ ```bash
2382
+ openclaw logs --follow
2383
+ ```
2384
+
2385
+ 文档:[仪表板](/web/dashboard)、[远程访问](/gateway/remote)、[故障排除](/gateway/troubleshooting)。
2386
+
2387
+ ### Telegram setMyCommands 因网络错误失败,应该检查什么
2388
+
2389
+ 从日志和渠道状态开始:
2390
+
2391
+ ```bash
2392
+ openclaw channels status
2393
+ openclaw channels logs --channel telegram
2394
+ ```
2395
+
2396
+ 如果你在 VPS 上或代理后面,确认出站 HTTPS 被允许且 DNS 正常工作。
2397
+ 如果 Gateway 网关在远程,确保你在 Gateway 网关主机上查看日志。
2398
+
2399
+ 文档:[Telegram](/channels/telegram)、[渠道故障排除](/channels/troubleshooting)。
2400
+
2401
+ ### TUI 没有输出,应该检查什么
2402
+
2403
+ 首先确认 Gateway 网关可达且智能体可以运行:
2404
+
2405
+ ```bash
2406
+ openclaw status
2407
+ openclaw models status
2408
+ openclaw logs --follow
2409
+ ```
2410
+
2411
+ 在 TUI 中,使用 `/status` 查看当前状态。如果你期望在聊天渠道中收到回复,确保投递已启用(`/deliver on`)。
2412
+
2413
+ 文档:[TUI](/tui)、[斜杠命令](/tools/slash-commands)。
2414
+
2415
+ ### 如何完全停止然后启动 Gateway 网关如果你安装了服务:
2416
+
2417
+ ```bash
2418
+ openclaw gateway stop
2419
+ openclaw gateway start
2420
+ ```
2421
+
2422
+ 这会停止/启动**受监管的服务**(macOS 上的 launchd,Linux 上的 systemd)。
2423
+ 当 Gateway 网关作为守护进程在后台运行时使用此命令。
2424
+
2425
+ 如果你在前台运行,用 Ctrl‑C 停止,然后:
2426
+
2427
+ ```bash
2428
+ openclaw gateway run
2429
+ ```
2430
+
2431
+ 文档:[Gateway 网关服务运维手册](/gateway)。
2432
+
2433
+ ### 通俗解释:openclaw gateway restart 与 openclaw gateway
2434
+
2435
+ - `openclaw gateway restart`:重启**后台服务**(launchd/systemd)。
2436
+ - `openclaw gateway`:在这个终端会话中**前台**运行 Gateway 网关。
2437
+
2438
+ 如果你安装了服务,使用 Gateway 网关命令。想要一次性前台运行时使用 `openclaw gateway`。
2439
+
2440
+ ### 出现故障时获取更多详情的最快方法是什么
2441
+
2442
+ 使用 `--verbose` 启动 Gateway 网关以获取更多控制台详情。然后检查日志文件中的渠道认证、模型路由和 RPC 错误。
2443
+
2444
+ ## 媒体与附件
2445
+
2446
+ ### 我的 Skills 生成了图片/PDF,但什么都没发送
2447
+
2448
+ 智能体的出站附件必须包含 `MEDIA:<path-or-url>` 行(独占一行)。参阅 [OpenClaw 助手设置](/start/openclaw)和 [Agent send](/tools/agent-send)。
2449
+
2450
+ CLI 发送:
2451
+
2452
+ ```bash
2453
+ openclaw message send --target +15555550123 --message "Here you go" --media /path/to/file.png
2454
+ ```
2455
+
2456
+ 还要检查:
2457
+
2458
+ - 目标渠道支持出站媒体且未被允许列表阻止。
2459
+ - 文件在提供商的大小限制内(图片会调整到最大 2048px)。
2460
+
2461
+ 参阅[图片](/nodes/images)。
2462
+
2463
+ ## 安全与访问控制
2464
+
2465
+ ### 将 OpenClaw 暴露给入站私信安全吗
2466
+
2467
+ 将入站私信视为不可信输入。默认设计旨在降低风险:
2468
+
2469
+ - 支持私信的渠道上的默认行为是**配对**:
2470
+ - 未知发送者会收到配对码;机器人不处理他们的消息。
2471
+ - 批准方式:`openclaw pairing approve <channel> <code>`
2472
+ - 每个渠道的待处理请求上限为 **3 个**;如果没收到代码,检查 `openclaw pairing list <channel>`。
2473
+ - 公开开放私信需要明确选择加入(`dmPolicy: "open"` 且允许列表 `"*"`)。
2474
+
2475
+ 运行 `openclaw doctor` 以发现有风险的私信策略。
2476
+
2477
+ ### 提示注入只对公开机器人有影响吗
2478
+
2479
+ 不是。提示注入是关于**不可信内容**,不仅仅是谁能给机器人发私信。如果你的助手读取外部内容(网络搜索/抓取、浏览器页面、邮件、文档、附件、粘贴的日志),这些内容可能包含试图劫持模型的指令。即使**你是唯一的发送者**,这也可能发生。
2480
+
2481
+ 最大的风险是在启用工具时:模型可能被诱导泄露上下文或代表你调用工具。通过以下方式减少影响范围:
2482
+
2483
+ - 使用只读或禁用工具的“阅读器”智能体来总结不可信内容
2484
+ - 对启用工具的智能体关闭 `web_search` / `web_fetch` / `browser`
2485
+ - 沙箱隔离和严格的工具允许列表
2486
+
2487
+ 详情:[安全](/gateway/security)。
2488
+
2489
+ ### 我的机器人应该有自己的邮箱、GitHub 账户或电话号码吗
2490
+
2491
+ 是的,对于大多数设置来说。用独立的账户和电话号码隔离机器人可以在出问题时减少影响范围。这也使得轮换凭据或撤销访问更容易,而不影响你的个人账户。
2492
+
2493
+ 从小处开始。只授予你实际需要的工具和账户的访问权限,以后需要时再扩展。
2494
+
2495
+ 文档:[安全](/gateway/security)、[配对](/start/pairing)。
2496
+
2497
+ ### 我能让它自主管理我的短信吗?这安全吗
2498
+
2499
+ 我们**不建议**完全自主管理你的个人消息。最安全的模式是:
2500
+
2501
+ - 将私信保持在**配对模式**或严格的允许列表中。
2502
+ - 如果你希望它代表你发消息,使用**独立的号码或账户**。
2503
+ - 让它起草,然后**发送前批准**。
2504
+
2505
+ 如果你想实验,在专用账户上进行并保持隔离。参阅[安全](/gateway/security)。
2506
+
2507
+ ### 个人助理任务可以使用更便宜的模型吗
2508
+
2509
+ 可以,**如果**智能体仅用于聊天且输入是可信的。较小的模型更容易受到指令劫持,因此避免将它们用于启用工具的智能体或读取不可信内容时。如果你必须使用较小的模型,锁定工具并在沙箱中运行。参阅[安全](/gateway/security)。
2510
+
2511
+ ### 我在 Telegram 中运行了 /start 但没收到配对码
2512
+
2513
+ 配对码**仅在**未知发送者向机器人发消息且 `dmPolicy: "pairing"` 启用时发送。`/start` 本身不会生成代码。
2514
+
2515
+ 检查待处理请求:
2516
+
2517
+ ```bash
2518
+ openclaw pairing list telegram
2519
+ ```
2520
+
2521
+ 如果你想立即获得访问权限,将你的发送者 ID 加入允许列表或为该账户设置 `dmPolicy: "open"`。
2522
+
2523
+ ### WhatsApp:会给我的联系人发消息吗?配对如何工作
2524
+
2525
+ 不会。WhatsApp 的默认私信策略是**配对**。未知发送者只会收到配对码,他们的消息**不会被处理**。OpenClaw 只回复它收到的聊天或你明确触发的发送。
2526
+
2527
+ 批准配对:
2528
+
2529
+ ```bash
2530
+ openclaw pairing approve whatsapp <code>
2531
+ ```
2532
+
2533
+ 列出待处理请求:
2534
+
2535
+ ```bash
2536
+ openclaw pairing list whatsapp
2537
+ ```
2538
+
2539
+ 向导电话号码提示:它用于设置你的**允许列表/所有者**,以便你自己的私信被允许。它不用于自动发送。如果你在个人 WhatsApp 号码上运行,使用该号码并启用 `channels.whatsapp.selfChatMode`。
2540
+
2541
+ ## 聊天命令、中止任务和“停不下来”
2542
+
2543
+ ### 如何阻止内部系统消息显示在聊天中
2544
+
2545
+ 大多数内部或工具消息只在该会话启用了 **verbose** 或 **reasoning** 时才出现。
2546
+
2547
+ 在你看到它的聊天中修复:
2548
+
2549
+ ```
2550
+ /verbose off
2551
+ /reasoning off
2552
+ ```
2553
+
2554
+ 如果仍然嘈杂,检查控制 UI 中的会话设置并将 verbose 设为**继承**。同时确认你没有使用在配置中将 `verboseDefault` 设为 `on` 的机器人配置文件。
2555
+
2556
+ 文档:[思考和详细输出](/tools/thinking)、[安全](/gateway/security#reasoning--verbose-output-in-groups)。
2557
+
2558
+ ### 如何停止/取消正在运行的任务
2559
+
2560
+ 发送以下任一内容作为**独立消息**(不带斜杠):
2561
+
2562
+ ```
2563
+ stop
2564
+ abort
2565
+ esc
2566
+ wait
2567
+ exit
2568
+ interrupt
2569
+ ```
2570
+
2571
+ 这些是中止触发器(不是斜杠命令)。
2572
+
2573
+ 对于后台进程(来自 exec 工具),你可以要求智能体运行:
2574
+
2575
+ ```
2576
+ process action:kill sessionId:XXX
2577
+ ```
2578
+
2579
+ 斜杠命令概览:参阅[斜杠命令](/tools/slash-commands)。
2580
+
2581
+ 大多数命令必须作为以 `/` 开头的**独立**消息发送,但一些快捷方式(如 `/status`)对允许列表中的发送者也支持内联使用。
2582
+
2583
+ ### 如何从 Telegram 发送 Discord 消息?("Cross-context messaging denied")
2584
+
2585
+ OpenClaw 默认阻止**跨提供商**消息。如果工具调用绑定到 Telegram,除非你明确允许,否则不会发送到 Discord。
2586
+
2587
+ 为智能体启用跨提供商消息:
2588
+
2589
+ ```json5
2590
+ {
2591
+ agents: {
2592
+ defaults: {
2593
+ tools: {
2594
+ message: {
2595
+ crossContext: {
2596
+ allowAcrossProviders: true,
2597
+ marker: { enabled: true, prefix: "[from {channel}] " },
2598
+ },
2599
+ },
2600
+ },
2601
+ },
2602
+ },
2603
+ }
2604
+ ```
2605
+
2606
+ 编辑配置后重启 Gateway 网关。如果你只想为单个智能体设置,将其放在 `agents.list[].tools.message` 下。
2607
+
2608
+ ### 为什么感觉机器人“忽略”了快速连发的消息
2609
+
2610
+ 队列模式控制新消息如何与正在进行的运行交互。使用 `/queue` 更改模式:
2611
+
2612
+ - `steer` - 新消息重定向当前任务
2613
+ - `followup` - 逐条处理消息
2614
+ - `collect` - 批量消息并回复一次(默认)
2615
+ - `steer-backlog` - 立即转向,然后处理积压
2616
+ - `interrupt` - 中止当前运行并重新开始
2617
+
2618
+ 你可以为 followup 模式添加选项如 `debounce:2s cap:25 drop:summarize`。
2619
+
2620
+ ## 从截图/聊天记录中准确回答问题
2621
+
2622
+ **问:“使用 API 密钥时 Anthropic 的默认模型是什么?”**
2623
+
2624
+ **答:** 在 OpenClaw 中,凭据和模型选择是分开的。设置 `ANTHROPIC_API_KEY`(或在认证配置文件中存储 Anthropic API 密钥)启用认证,但实际的默认模型是你在 `agents.defaults.model.primary` 中配置的(例如 `anthropic/claude-sonnet-4-5` 或 `anthropic/claude-opus-4-5`)。如果你看到 `No credentials found for profile "anthropic:default"`,意味着 Gateway 网关在正在运行的智能体的预期 `auth-profiles.json` 中找不到 Anthropic 凭据。
2625
+
2626
+ ---
2627
+
2628
+ 仍然卡住?在 [Discord](https://discord.com/invite/clawd) 中提问或发起 [GitHub 讨论](https://github.com/openclaw/openclaw/discussions)。