{"id":2145,"date":"2026-03-11T17:01:41","date_gmt":"2026-03-11T09:01:41","guid":{"rendered":"https:\/\/iqotom.com\/?p=2145"},"modified":"2026-04-08T17:33:45","modified_gmt":"2026-04-08T09:33:45","slug":"ubuntu-install-openclaw","status":"publish","type":"post","link":"http:\/\/iqotom.com\/?p=2145","title":{"rendered":"Ubuntu install Openclaw"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u51c6\u5907\u5de5\u4f5c<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">#\u66f4\u65b0\u7cfb\u7edf\u5305\u5217\u8868\n<code>sudo apt update<\/code>\n#\u5b89\u88c5\u57fa\u7840\u4e0b\u8f7d\u5de5\u5177\nsudo apt install -y curl\n\n#\u5b89\u88c5\u6587\u672c\u7f16\u8f91\u5668\nsudo apt install -y vim\n\n#\u5b89\u88c5\u5e76\u542f\u52a8 OpenSSH \u670d\u52a1\uff08\u65b9\u4fbf\u901a\u8fc7 PC \u8fdc\u7a0b\u7ba1\u7406\uff09\nsudo apt install -y openssh-server<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u4f7f\u7528\u5b98\u65b9\u63d0\u4f9b\u7684\u4e00\u952e\u5b89\u88c5\u811a\u672c\u8fdb\u884c\u90e8\u7f72<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">curl -fsSL https:\/\/molt.bot\/install.sh | bash<\/code><\/pre>\n\n\n\n<p><strong>\u5b89\u88c5\u8fc7\u7a0b<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">oem@oem-NUC7JYB:~$ sudo apt install curl\n[sudo] password for oem:\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following NEW packages will be installed:\n  curl\n0 upgraded, 1 newly installed, 0 to remove and 281 not upgraded.\nNeed to get 227 kB of archives.\nAfter this operation, 534 kB of additional disk space will be used.\nGet:1 http:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu noble-updates\/main amd64 curl amd64 8.5.0-2ubuntu10.7 [227 kB]\nFetched 227 kB in 1s (165 kB\/s)\nSelecting previously unselected package curl.\n(Reading database ... 156255 files and directories currently installed.)\nPreparing to unpack ...\/curl_8.5.0-2ubuntu10.7_amd64.deb ...\nUnpacking curl (8.5.0-2ubuntu10.7) ...\nSetting up curl (8.5.0-2ubuntu10.7) ...\nProcessing triggers for man-db (2.12.0-4build2) ...\noem@oem-NUC7JYB:~$ curl -fsSL https:\/\/openclaw.ai\/install.sh | bash\n\n  \ud83e\udd9e OpenClaw Installer\n  Your terminal just grew claws\u2014type something and let the bot pinch the busywork.\n\n\u2713 Detected: linux\n\nInstall plan\nOS: linux\nInstall method: npm\nRequested version: latest\n\n[1\/3] Preparing environment\n\u00b7 Node.js not found, installing it now\n\u00b7 Installing Node.js via NodeSource\n\u00b7 Installing Linux build tools (make\/g++\/cmake\/python3)\n\u2713 Build tools installed\n\u2713 Node.js v22 installed\n\u00b7 Active Node.js: v22.22.1 (\/usr\/bin\/node)\n\u00b7 Active npm: 10.9.4 (\/usr\/bin\/npm)\n\n[2\/3] Installing OpenClaw\n\u00b7 Git not found, installing it now\n\u2713 Git installed\n\u00b7 Configuring npm for user-local installs\n\u2713 npm configured for user installs\n\u00b7 Installing OpenClaw v2026.3.8\n\u2713 OpenClaw npm package installed\n\u2713 OpenClaw installed\n\n[3\/3] Finalizing setup\n\n! PATH missing npm global bin dir: \/home\/oem\/.npm-global\/bin\n  This can make openclaw show as \"command not found\" in new terminals.\n  Fix (zsh: ~\/.zshrc, bash: ~\/.bashrc):\n    export PATH=\"\/home\/oem\/.npm-global\/bin:$PATH\"\n\n\ud83e\udd9e OpenClaw installed successfully (OpenClaw 2026.3.8 (3caab92))!\nCozy. I've already read your calendar. We need to talk.\n\n\u00b7 Starting setup\n\n\n\ud83e\udd9e OpenClaw 2026.3.8 (3caab92) \u2014 Somewhere between 'hello world' and 'oh god what have I built.'\n\n\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\n\u2588\u2588\u2591\u2584\u2584\u2584\u2591\u2588\u2588\u2591\u2584\u2584\u2591\u2588\u2588\u2591\u2584\u2584\u2584\u2588\u2588\u2591\u2580\u2588\u2588\u2591\u2588\u2588\u2591\u2584\u2584\u2580\u2588\u2588\u2591\u2588\u2588\u2588\u2588\u2591\u2584\u2584\u2580\u2588\u2588\u2591\u2588\u2588\u2588\u2591\u2588\u2588\n\u2588\u2588\u2591\u2588\u2588\u2588\u2591\u2588\u2588\u2591\u2580\u2580\u2591\u2588\u2588\u2591\u2584\u2584\u2584\u2588\u2588\u2591\u2588\u2591\u2588\u2591\u2588\u2588\u2591\u2588\u2588\u2588\u2588\u2588\u2591\u2588\u2588\u2588\u2588\u2591\u2580\u2580\u2591\u2588\u2588\u2591\u2588\u2591\u2588\u2591\u2588\u2588\n\u2588\u2588\u2591\u2580\u2580\u2580\u2591\u2588\u2588\u2591\u2588\u2588\u2588\u2588\u2588\u2591\u2580\u2580\u2580\u2588\u2588\u2591\u2588\u2588\u2584\u2591\u2588\u2588\u2591\u2580\u2580\u2584\u2588\u2588\u2591\u2580\u2580\u2591\u2588\u2591\u2588\u2588\u2591\u2588\u2588\u2584\u2580\u2584\u2580\u2584\u2588\u2588\n\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\n                  \ud83e\udd9e OPENCLAW \ud83e\udd9e\n\n\u250c  OpenClaw onboarding\n\u2502\n\u25c7  Security \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                                                                            \u2502\n\u2502  Security warning \u2014 please read.                                                           \u2502\n\u2502                                                                                            \u2502\n\u2502  OpenClaw is a hobby project and still in beta. Expect sharp edges.                        \u2502\n\u2502  By default, OpenClaw is a personal agent: one trusted operator boundary.                  \u2502\n\u2502  This bot can read files and run actions if tools are enabled.                             \u2502\n\u2502  A bad prompt can trick it into doing unsafe things.                                       \u2502\n\u2502                                                                                            \u2502\n\u2502  OpenClaw is not a hostile multi-tenant boundary by default.                               \u2502\n\u2502  If multiple users can message one tool-enabled agent, they share that delegated tool      \u2502\n\u2502  authority.                                                                                \u2502\n\u2502                                                                                            \u2502\n\u2502  If you\u2019re not comfortable with security hardening and access control, don\u2019t run           \u2502\n\u2502  OpenClaw.                                                                                 \u2502\n\u2502  Ask someone experienced to help before enabling tools or exposing it to the internet.     \u2502\n\u2502                                                                                            \u2502\n\u2502  Recommended baseline:                                                                     \u2502\n\u2502  - Pairing\/allowlists + mention gating.                                                    \u2502\n\u2502  - Multi-user\/shared inbox: split trust boundaries (separate gateway\/credentials, ideally  \u2502\n\u2502    separate OS users\/hosts).                                                               \u2502\n\u2502  - Sandbox + least-privilege tools.                                                        \u2502\n\u2502  - Shared inboxes: isolate DM sessions (`session.dmScope: per-channel-peer`) and keep      \u2502\n\u2502    tool access minimal.                                                                    \u2502\n\u2502  - Keep secrets out of the agent\u2019s reachable filesystem.                                   \u2502\n\u2502  - Use the strongest available model for any bot with tools or untrusted inboxes.          \u2502\n\u2502                                                                                            \u2502\n\u2502  Run regularly:                                                                            \u2502\n\u2502  openclaw security audit --deep                                                            \u2502\n\u2502  openclaw security audit --fix                                                             \u2502\n\u2502                                                                                            \u2502\n\u2502  Must read: https:\/\/docs.openclaw.ai\/gateway\/security                                      \u2502\n\u2502                                                                                            \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u25c7  I understand this is personal-by-default and shared\/multi-user use requires lock-down. Continue?\n\u2502  Yes\n\u2502\n\u25c7  Onboarding mode\n\u2502  QuickStart\n\u2502\n\u25c7  QuickStart \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                      \u2502\n\u2502  Gateway port: 18789                 \u2502\n\u2502  Gateway bind: Loopback (127.0.0.1)  \u2502\n\u2502  Gateway auth: Token (default)       \u2502\n\u2502  Tailscale exposure: Off             \u2502\n\u2502  Direct to chat channels.            \u2502\n\u2502                                      \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u25c7  Model\/auth provider\n\u2502  Skip for now\n\u2502\n\u25c7  Filter models by provider\n\u2502  All providers\n\u2502\n\u25c7  Default model\n\u2502  Keep current (default: anthropic\/claude-opus-4-6)\n\u2502\n\u25c7  Model check \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                                                                         \u2502\n\u2502  No auth configured for provider \"anthropic\". The agent may fail until credentials are  \u2502\n\u2502  added.                                                                                 \u2502\n\u2502                                                                                         \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u25c7  Channel status \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                             \u2502\n\u2502  Telegram: needs token                      \u2502\n\u2502  WhatsApp (default): not linked             \u2502\n\u2502  Discord: needs token                       \u2502\n\u2502  Slack: needs tokens                        \u2502\n\u2502  Signal: needs setup                        \u2502\n\u2502  signal-cli: missing (signal-cli)           \u2502\n\u2502  iMessage: needs setup                      \u2502\n\u2502  imsg: missing (imsg)                       \u2502\n\u2502  IRC: not configured                        \u2502\n\u2502  Google Chat: not configured                \u2502\n\u2502  LINE: not configured                       \u2502\n\u2502  Feishu: install plugin to enable           \u2502\n\u2502  Google Chat: install plugin to enable      \u2502\n\u2502  Nostr: install plugin to enable            \u2502\n\u2502  Microsoft Teams: install plugin to enable  \u2502\n\u2502  Mattermost: install plugin to enable       \u2502\n\u2502  Nextcloud Talk: install plugin to enable   \u2502\n\u2502  Matrix: install plugin to enable           \u2502\n\u2502  BlueBubbles: install plugin to enable      \u2502\n\u2502  LINE: install plugin to enable             \u2502\n\u2502  Zalo: install plugin to enable             \u2502\n\u2502  Zalo Personal: install plugin to enable    \u2502\n\u2502  Synology Chat: install plugin to enable    \u2502\n\u2502  Tlon: install plugin to enable             \u2502\n\u2502                                             \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u25c7  How channels work \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                                                                           \u2502\n\u2502  DM security: default is pairing; unknown DMs get a pairing code.                         \u2502\n\u2502  Approve with: openclaw pairing approve &lt;channel&gt; &lt;code&gt;                                  \u2502\n\u2502  Public DMs require dmPolicy=\"open\" + allowFrom=[\"*\"].                                    \u2502\n\u2502  Multi-user DMs: run: openclaw config set session.dmScope \"per-channel-peer\" (or          \u2502\n\u2502  \"per-account-channel-peer\" for multi-account channels) to isolate sessions.              \u2502\n\u2502  Docs: channels\/pairing              \u2502\n\u2502                                                                                           \u2502\n\u2502  Telegram: simplest way to get started \u2014 register a bot with @BotFather and get going.    \u2502\n\u2502  WhatsApp: works with your own number; recommend a separate phone + eSIM.                 \u2502\n\u2502  Discord: very well supported right now.                                                  \u2502\n\u2502  IRC: classic IRC networks with DM\/channel routing and pairing controls.                  \u2502\n\u2502  Google Chat: Google Workspace Chat app with HTTP webhook.                                \u2502\n\u2502  Slack: supported (Socket Mode).                                                          \u2502\n\u2502  Signal: signal-cli linked device; more setup (David Reagans: \"Hop on Discord.\").         \u2502\n\u2502  iMessage: this is still a work in progress.                                              \u2502\n\u2502  LINE: LINE Messaging API webhook bot.                                                    \u2502\n\u2502  Feishu: \u98de\u4e66\/Lark enterprise messaging with doc\/wiki\/drive tools.                        \u2502\n\u2502  Nostr: Decentralized protocol; encrypted DMs via NIP-04.                                 \u2502\n\u2502  Microsoft Teams: Bot Framework; enterprise support.                                      \u2502\n\u2502  Mattermost: self-hosted Slack-style chat; install the plugin to enable.                  \u2502\n\u2502  Nextcloud Talk: Self-hosted chat via Nextcloud Talk webhook bots.                        \u2502\n\u2502  Matrix: open protocol; install the plugin to enable.                                     \u2502\n\u2502  BlueBubbles: iMessage via the BlueBubbles mac app + REST API.                            \u2502\n\u2502  Zalo: Vietnam-focused messaging platform with Bot API.                                   \u2502\n\u2502  Zalo Personal: Zalo personal account via QR code login.                                  \u2502\n\u2502  Synology Chat: Connect your Synology NAS Chat to OpenClaw with full agent capabilities.  \u2502\n\u2502  Tlon: decentralized messaging on Urbit; install the plugin to enable.                    \u2502\n\u2502                                                                                           \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u25c7  Select channel (QuickStart)\n\u2502  Skip for now\nUpdated ~\/.openclaw\/openclaw.json\nWorkspace OK: ~\/.openclaw\/workspace\nSessions OK: ~\/.openclaw\/agents\/main\/sessions\n\u2502\n\u25c7  Web search \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                                     \u2502\n\u2502  Web search lets your agent look things up online.  \u2502\n\u2502  Choose a provider and paste your API key.          \u2502\n\u2502  Docs: https:\/\/docs.openclaw.ai\/tools\/web           \u2502\n\u2502                                                     \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u25c7  Search provider\n\u2502  Skip for now\n\u2502\n\u25c7  Skills status \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                             \u2502\n\u2502  Eligible: 3                \u2502\n\u2502  Missing requirements: 41   \u2502\n\u2502  Unsupported on this OS: 7  \u2502\n\u2502  Blocked by allowlist: 0    \u2502\n\u2502                             \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u25c7  Configure skills now? (recommended)\n\u2502  Yes\n\u2502\n\u25c7  Install missing skill dependencies\n\u2502  Skip for now\n\u2502\n\u25c7  Set GOOGLE_PLACES_API_KEY for goplaces?\n\u2502  No\n\u2502\n\u25c7  Set GEMINI_API_KEY for nano-banana-pro?\n\u2502  No\n\u2502\n\u25c7  Set NOTION_API_KEY for notion?\n\u2502  No\n\u2502\n\u25c7  Set OPENAI_API_KEY for openai-image-gen?\n\u2502  No\n\u2502\n\u25c7  Set OPENAI_API_KEY for openai-whisper-api?\n\u2502  No\n\u2502\n\u25c7  Set ELEVENLABS_API_KEY for sag?\n\u2502  No\n\u2502\n\u25c7  Hooks \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                                                          \u2502\n\u2502  Hooks let you automate actions when agent commands are issued.          \u2502\n\u2502  Example: Save session context to memory when you issue \/new or \/reset.  \u2502\n\u2502                                                                          \u2502\n\u2502  Learn more: https:\/\/docs.openclaw.ai\/automation\/hooks                   \u2502\n\u2502                                                                          \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u25c7  Enable hooks?\n\u2502  Skip for now\nConfig overwrite: \/home\/oem\/.openclaw\/openclaw.json (sha256 a13f4309c085bbad8fdc1bf4b3146f5c528ca93602c2336ce3f6ed99ef5f80a2 -&gt; 4a60cb87d5a5809d3200d2d4e0da493387036de202b8485ec78463c6e19d1a60, backup=\/home\/oem\/.openclaw\/openclaw.json.bak)\n\u2502\n\u25c7  Systemd \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                                                                          \u2502\n\u2502  Linux installs use a systemd user service by default. Without lingering, systemd stops  \u2502\n\u2502  the user session on logout\/idle and kills the Gateway.                                  \u2502\n\u2502  Enabling lingering now (may require sudo; writes \/var\/lib\/systemd\/linger).              \u2502\n\u2502                                                                                          \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u25c7  Systemd \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                      \u2502\n\u2502  Enabled systemd lingering for oem.  \u2502\n\u2502                                      \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u25c7  Gateway service runtime \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                                                      \u2502\n\u2502  QuickStart uses Node for the Gateway service (stable + supported).  \u2502\n\u2502                                                                      \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u25d1  Installing Gateway service\u2026.\nInstalled systemd service: \/home\/oem\/.config\/systemd\/user\/openclaw-gateway.service\n\u25c7  Gateway service installed.\n^[[B^[[B^[[B^[[B^[[B\u2502\n\u25c7\nAgents: main (default)\nHeartbeat interval: 30m (main)\nSession store (main): \/home\/oem\/.openclaw\/agents\/main\/sessions\/sessions.json (0 entries)\n\u2502\n\u25c7  Optional apps \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                        \u2502\n\u2502  Add nodes for extra features:         \u2502\n\u2502  - macOS app (system + notifications)  \u2502\n\u2502  - iOS app (camera\/canvas)             \u2502\n\u2502  - Android app (camera\/canvas)         \u2502\n\u2502                                        \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u25c7  Control UI \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                                                                  \u2502\n\u2502  Web UI: http:\/\/127.0.0.1:18789\/                                                 \u2502\n\u2502  Web UI (with token):                                                            \u2502\n\u2502  http:\/\/127.0.0.1:18789\/#token=0850e685a9c1174324f70ebfe040a7978f71b98810a0cdbd  \u2502\n\u2502  Gateway WS: ws:\/\/127.0.0.1:18789                                                \u2502\n\u2502  Gateway: reachable                                                              \u2502\n\u2502  Docs: https:\/\/docs.openclaw.ai\/web\/control-ui                                   \u2502\n\u2502                                                                                  \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u25c7  Start TUI (best option!) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                                            \u2502\n\u2502  This is the defining action that makes your agent you.    \u2502\n\u2502  Please take your time.                                    \u2502\n\u2502  The more you tell it, the better the experience will be.  \u2502\n\u2502  We will send: \"Wake up, my friend!\"                       \u2502\n\u2502                                                            \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u25c7  Token \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                                                                            \u2502\n\u2502  Gateway token: shared auth for the Gateway + Control UI.                                  \u2502\n\u2502  Stored in: ~\/.openclaw\/openclaw.json (gateway.auth.token) or OPENCLAW_GATEWAY_TOKEN.      \u2502\n\u2502  View token: openclaw config get gateway.auth.token                                        \u2502\n\u2502  Generate token: openclaw doctor --generate-gateway-token                                  \u2502\n\u2502  Web UI keeps dashboard URL tokens in memory for the current tab and strips them from the  \u2502\n\u2502  URL after load.                                                                           \u2502\n\u2502  Open the dashboard anytime: openclaw dashboard --no-open                                  \u2502\n\u2502  If prompted: paste the token into Control UI settings (or use the tokenized dashboard     \u2502\n\u2502  URL).                                                                                     \u2502\n\u2502                                                                                            \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u25c7  How do you want to hatch your bot?\n\u2502  Open the Web UI\n\u2502\n\u25c7  Dashboard ready \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                                                                  \u2502\n\u2502  Dashboard link (with token):                                                    \u2502\n\u2502  http:\/\/127.0.0.1:18789\/#token=0850e685a9c1174324f70ebfe040a7978f71b98810a0cdbd  \u2502\n\u2502  Copy\/paste this URL in a browser on this machine to control OpenClaw.           \u2502\n\u2502  No GUI detected. Open from your computer:                                       \u2502\n\u2502  ssh -N -L 18789:127.0.0.1:18789 oem@192.168.8.112                               \u2502\n\u2502  Then open:                                                                      \u2502\n\u2502  http:\/\/localhost:18789\/                                                         \u2502\n\u2502  http:\/\/localhost:18789\/#token=0850e685a9c1174324f70ebfe040a7978f71b98810a0cdbd  \u2502\n\u2502  Docs:                                                                           \u2502\n\u2502  https:\/\/docs.openclaw.ai\/gateway\/remote                                         \u2502\n\u2502  https:\/\/docs.openclaw.ai\/web\/control-ui                                         \u2502\n\u2502                                                                                  \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u25c7  Workspace backup \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                                           \u2502\n\u2502  Back up your agent workspace.                            \u2502\n\u2502  Docs: https:\/\/docs.openclaw.ai\/concepts\/agent-workspace  \u2502\n\u2502                                                           \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u25c7  Security \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                                                 \u2502\n\u2502  Running agents on your computer is risky \u2014 harden your setup:  \u2502\n\u2502  https:\/\/docs.openclaw.ai\/security                              \u2502\n\u2502                                                                 \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u25c7  Shell completion \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                                                           \u2502\n\u2502  Shell completion installed. Restart your shell or run: source ~\/.bashrc  \u2502\n\u2502                                                                           \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u25c7  Web search \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                                    \u2502\n\u2502  Web search was skipped. You can enable it later:  \u2502\n\u2502    openclaw configure --section web                \u2502\n\u2502                                                    \u2502\n\u2502  Docs: https:\/\/docs.openclaw.ai\/tools\/web          \u2502\n\u2502                                                    \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u25c7  What now \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                                                        \u2502\n\u2502  What now: https:\/\/openclaw.ai\/showcase (\"What People Are Building\").  \u2502\n\u2502                                                                        \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u2502\n\u2514  Onboarding complete. Use the dashboard link above to control OpenClaw.\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u6dfb\u52a0\u6a21\u578b<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">#\u4f7f\u7528Claude Code\ncurl -fsSL https:\/\/claude.ai\/install.sh | bash\n#\u83b7\u53d6Claude Token\nclaude setup-token\n#\u5728OpenClaw\u4e2d\u914d\u7f6eModel\nopenclaw configure\n1.\u9009\u62e9Model\n2.\u9009\u62e9Anthropic\n3.\u7c98\u8d34\u751f\u6210\u7684token\n4.\u9009\u62e9\u6a21\u578banthropic\/claude-opus-4-x\n5.Continue\n\n#\u4f7f\u7528GPT Plus\u8ba2\u9605\nnpm i -g @openai\/codex\n#\u5728OpenClaw\u4e2d\u914d\u7f6eModel\nopenclaw configure\n1.\u9009\u62e9Model\n2.\u9009\u62e9OpenAI\n3.\u9009\u62e9OpenAI Codex\uff08ChatGPT OAuth\uff09\n4.\u9009\u62e9\u6a21\u578bopenai-codex\/gpt-xx-codex\n5.Continue\n\n#\u4f7f\u7528gemini Pro\u8ba2\u9605\nnpm install -g @google\/gemini-cli\n#\u5728OpenClaw\u4e2d\u914d\u7f6eModel\nopenclaw configure\n1.\u9009\u62e9Model\n2.\u9009\u62e9Google\n3.\u9009\u62e9Google Gemini CLI OAuth\n4.\u9009\u62e9google-gemini-cli\/gemini-3-pro-preview\n5.Continue<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u5c40\u57df\u7f51\u8bbf\u95ee\uff08\u6d4b\u8bd5\u73af\u5883\u7528\uff09<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"># \u4fee\u6539\u7ed1\u5b9a\u6a21\u5f0f\u4e3a LAN\noem@oem-NUC7JYB:~$ openclaw config set gateway.bind \"lan\"\n\n\ud83e\udd9e OpenClaw 2026.3.8 (3caab92) \u2014 Less clicking, more shipping, fewer \"where did that file go\" moments.\n\nConfig overwrite: \/home\/oem\/.openclaw\/openclaw.json (sha256 1207077e97f104bf987fd25dcdd33abcf3358e8bbb960996cce40e7ac0ae07ed -> 358d1dac3ec36229c0769138e511c49ba4f0c3db3c99ea5857f4e2f425291aa3, backup=\/home\/oem\/.openclaw\/openclaw.json.bak)\nUpdated gateway.bind. Restart the gateway to apply.\n\n#controlUi\u4e2d\u6dfb\u52a0\n\n\"allowInsecureAuth\": true,\n\"dangerouslyDisableDeviceAuth\": true,\n\"dangerouslyAllowHostHeaderOriginFallback\": true\n\n# \u91cd\u542f Gateway\noem@oem-NUC7JYB:~$ openclaw gateway restart\n\ud83e\udd9e OpenClaw 2026.3.8 (3caab92) \u2014 I'm like tmux: confusing at first, then suddenly you can't live without me.\n\nRestarted systemd service: openclaw-gateway.service\n<\/code><\/pre>\n\n\n\n<p><strong>\u5b89\u5168\u63d0\u9192<\/strong>\uff1a\u5982\u679c\u5bf9\u5916\u5f00\u653e\uff0c\u5efa\u8bae\u542f\u7528\u8ba4\u8bc1\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"># \u4f7f\u7528 Token \u8ba4\u8bc1\nopenclaw gateway run --auth token --token \"your-secret-token\"<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u76f8\u5173\u547d\u4ee4<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">#\u8fd0\u884c\u914d\u7f6e\u5411\u5bfc\nopenclaw onboard\n\n#\u524d\u53f0\u8fd0\u884c\uff08\u63a8\u8350\u9996\u6b21\u4f7f\u7528\uff09\nopenclaw gateway run\n# \u542f\u52a8\u540e\u53f0\u670d\u52a1\nopenclaw gateway start\n# \u67e5\u770b\u8fd0\u884c\u72b6\u6001\nopenclaw gateway status\n# \u67e5\u770b\u5b9e\u65f6\u65e5\u5fd7\nopenclaw logs --follow\n#\u67e5\u770b\u5f53\u524d\u8ba4\u8bc1\u914d\u7f6e\uff1a\ncat ~\/.openclaw\/openclaw.json | grep -A 5 '\"auth\"'\n# \u67e5\u770b gateway token\ncat ~\/.openclaw\/openclaw.json | grep -A 5 '\"gateway\"' | grep '\"token\"'\n#\u5982\u679c\u9700\u8981\u7981\u7528\u8ba4\u8bc1\uff08\u4e0d\u63a8\u8350\uff09\uff0c\u53ef\u4ee5\u4f7f\u7528\uff1a\nopenclaw gateway run --auth none\n\n#\u8bbf\u95eeweb\u63a7\u5236\u53f0\nopenclaw dashboard\n# \u4ec5\u6253\u5370 URL\uff0c\u4e0d\u6253\u5f00\u6d4f\u89c8\u5668\nopenclaw dashboard --no-open\n\n#\u914d\u7f6eAI\u6a21\u578b\n#OpenClaw \u9700\u8981\u914d\u7f6e\u81f3\u5c11\u4e00\u4e2a AI \u6a21\u578b\u7684 API \u5bc6\u94a5\u624d\u80fd\u6b63\u5e38\u5de5\u4f5c\n#\u914d\u7f6e Anthropic Claude\n# \u65b9\u5f0f 1\uff1a\u4f7f\u7528 config \u547d\u4ee4\uff08\u63a8\u8350\uff09\nopenclaw config set ANTHROPIC_API_KEY \"your-api-key-here\"\n # \u65b9\u5f0f 2\uff1a\u4f7f\u7528\u73af\u5883\u53d8\u91cf\nexport ANTHROPIC_API_KEY \"your-api-key-here\"\n\n#\u914d\u7f6e\u5176\u4ed6\u6a21\u578b\n# OpenAI\nopenclaw config set OPENAI_API_KEY \"your-key\"\n # DeepSeek\nopenclaw config set DEEPSEEK_API_KEY \"your-key\"\n # \u901a\u4e49\u5343\u95ee\nopenclaw config set DASHSCOPE_API_KEY \"your-key\"\n\n#\u67e5\u770b\u5df2\u914d\u7f6e\u7684\u6a21\u578b\nopenclaw models list\n\n#\u5b89\u88c5\u6280\u80fd\n\u5148\u6ce8\u518c\u4e00\u4e2aclawhub\u8d26\u53f7,\u70b9\u51fb\u8d26\u53f7Settings,\u4e0b\u62c9\u5230API tokens,\u521b\u5efa\u4e00\u4e2atoken\nclawhub login --token your token\n\u7136\u540e\u5c31\u53ef\u4ee5\u5b89\u88c5\u4e86\uff0c\u4f8b\u5982\uff1a\nnpx clawhub@latest install sonoscli<\/code><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u51c6\u5907\u5de5\u4f5c \u4f7f\u7528\u5b98\u65b9\u63d0\u4f9b\u7684\u4e00\u952e\u5b89\u88c5\u811a\u672c\u8fdb\u884c\u90e8\u7f72 \u5b89\u88c5\u8fc7\u7a0b \u6dfb\u52a0\u6a21\u578b \u5c40\u57df\u7f51\u8bbf\u95ee\uff08\u6d4b\u8bd5\u73af\u5883\u7528\uff09 \u5b89\u5168\u63d0\u9192\uff1a\u5982\u679c\u5bf9\u5916\u2026 <span class=\"read-more\"><a href=\"http:\/\/iqotom.com\/?p=2145\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":2155,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[139,7,138],"_links":{"self":[{"href":"http:\/\/iqotom.com\/index.php?rest_route=\/wp\/v2\/posts\/2145"}],"collection":[{"href":"http:\/\/iqotom.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/iqotom.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/iqotom.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/iqotom.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2145"}],"version-history":[{"count":12,"href":"http:\/\/iqotom.com\/index.php?rest_route=\/wp\/v2\/posts\/2145\/revisions"}],"predecessor-version":[{"id":2160,"href":"http:\/\/iqotom.com\/index.php?rest_route=\/wp\/v2\/posts\/2145\/revisions\/2160"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/iqotom.com\/index.php?rest_route=\/wp\/v2\/media\/2155"}],"wp:attachment":[{"href":"http:\/\/iqotom.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/iqotom.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2145"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/iqotom.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}