openclaw
pnpm start(生产环境)或者pnpm openclaw(官方别名)或者pnpm dev(开发模式)若没有windows上ssh,管理员运行powershell执行如下安装openssh,并导入环境变量。继续执行ssh命令,上面提示的输出命令,用powershell或者cmd打开,注意端口号,新建一个窗口,不要关闭gateway,pnpm openclaw dashboard。若网络有问题执
1、安装nodejs
yum install -y wget gcc-c++ make cmake python3
wget https://nodejs.org/dist/v20.11.1/node-v20.11.1-linux-x64.tar.xz -O /tmp/node.tar.xz
mkdir -p /usr/local/node
tar -xf /tmp/node.tar.xz -C /usr/local/node --strip-components=1
echo 'export PATH=/usr/local/node/bin:$PATH' >> /etc/profile
source /etc/profile
[root@node0 local]# node -v
v20.11.1
[root@node0 local]# npm -v
10.2.4
2、安装openclaw脚本或者git clone仓库
[root@node0 local]# curl -fsSL https://openclaw.ai/install.sh | bash
git clone https://github.com/openclaw-ai/openclaw.git /opt/openclaw
cd /opt/openclaw
检查是否都安装
[root@node0 openclaw-2026.3.2]# node -v
v20.11.1
[root@node0 openclaw-2026.3.2]# pnpm -v
10.23.0
[root@node0 openclaw-2026.3.2]# docker -v
Docker version 26.1.3, build b72abbb
cd到源码目录,npm安装,如果出现error可能是网络问题
若网络有问题执行下面,否则跳过这步,直接pnpm install
[root@node0 openclaw-2026.3.2]# pnpm config set registry https://registry.npmmirror.com
[root@node0 openclaw-2026.3.2]# pnpm config get registry
https://registry.npmmirror.com
[root@node0 openclaw-2026.3.2]# pnpm install
3、完整安装
. prepare$ command -v git >/dev/null 2>&1 && git rev-parse --is-inside-work-tree >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0
└─ Done in 16ms
WARN Issues with peer dependencies found
extensions/googlechat
└─┬ openclaw 2026.3.2
└─┬ @buape/carbon 0.0.0-beta-20260216184201
└─┬ @discordjs/voice 0.19.0
└─┬ prism-media 1.3.5
└── ✕ unmet peer opusscript@^0.0.8: found 0.1.1extensions/matrix
└─┬ @vector-im/matrix-bot-sdk 0.8.0-element.3
└─┬ @cypress/request-promise 5.0.0
└─┬ request-promise-core 1.1.3
└── ✕ unmet peer request@^2.34: found 3.0.10dependencies:
+ @agentclientprotocol/sdk 0.14.1
+ @aws-sdk/client-bedrock 3.1002.0
+ @buape/carbon 0.0.0-beta-20260216184201 (0.14.0 is available)
+ @clack/prompts 1.1.0
+ @discordjs/voice 0.19.0
+ @grammyjs/runner 2.0.3
+ @grammyjs/transformer-throttler 1.2.1
+ @homebridge/ciao 1.3.5
+ @larksuiteoapi/node-sdk 1.59.0
+ @line/bot-sdk 10.6.0
+ @lydell/node-pty 1.2.0-beta.3
+ @mariozechner/pi-agent-core 0.55.3 (0.56.0 is available)
+ @mariozechner/pi-ai 0.55.3 (0.56.0 is available)
+ @mariozechner/pi-coding-agent 0.55.3 (0.56.0 is available)
+ @mariozechner/pi-tui 0.55.3 (0.56.0 is available)
+ @mozilla/readability 0.6.0
+ @napi-rs/canvas 0.1.95
+ @sinclair/typebox 0.34.48
+ @slack/bolt 4.6.0
+ @slack/web-api 7.14.1
+ @snazzah/davey 0.1.10
+ @whiskeysockets/baileys 7.0.0-rc.9
+ ajv 8.18.0
+ chalk 5.6.2
+ chokidar 5.0.0
+ cli-highlight 2.1.11
+ commander 14.0.3
+ croner 10.0.1
+ discord-api-types 0.38.40
+ dotenv 17.3.1
+ express 5.2.1
+ file-type 21.3.0
+ gaxios 7.1.3 (7.1.4 is available)
+ google-auth-library 10.6.1
+ grammy 1.41.1
+ https-proxy-agent 7.0.6
+ ipaddr.js 2.3.0
+ jiti 2.6.1
+ json5 2.2.3
+ jszip 3.10.1
+ linkedom 0.18.12
+ long 5.3.2
+ markdown-it 14.1.1
+ node-domexception <- @nolyfill/domexception 1.0.28
+ node-edge-tts 1.2.10
+ node-llama-cpp 3.16.2 (3.17.1 is available)
+ opusscript 0.1.1
+ osc-progress 0.3.0
+ pdfjs-dist 5.5.207
+ playwright-core 1.58.2
+ qrcode-terminal 0.12.0
+ sharp 0.34.5
+ sqlite-vec 0.1.7-alpha.2
+ strip-ansi 7.2.0
+ tar 7.5.9 (7.5.10 is available)
+ tslog 4.10.2
+ undici 7.22.0
+ ws 8.19.0
+ yaml 2.8.2
+ zod 4.3.6optionalDependencies:
+ @discordjs/opus 0.10.0devDependencies:
+ @grammyjs/types 3.25.0
+ @lit-labs/signals 0.2.0
+ @lit/context 1.1.6
+ @types/express 5.0.6
+ @types/markdown-it 14.1.2
+ @types/node 25.3.3
+ @types/qrcode-terminal 0.12.2
+ @types/ws 8.18.1
+ @typescript/native-preview 7.0.0-dev.20260301.1 (7.0.0-dev.20260304.1 is available)
+ @vitest/coverage-v8 4.0.18
+ lit 3.3.2
+ oxfmt 0.35.0 (0.36.0 is available)
+ oxlint 1.51.0
+ oxlint-tsgolint 0.15.0 (0.16.0 is available)
+ signal-utils 0.21.1
+ tsdown 0.21.0-beta.2
+ tsx 4.21.0
+ typescript 5.9.3
+ vitest 4.0.18╭ Warning ───────────────────────────────────────────────────────────────────────────────────╮
│ │
│ Ignored build scripts: @discordjs/opus, @tloncorp/tlon-skill, core-js. │
│ Run "pnpm approve-builds" to pick which dependencies should be allowed to run scripts. │
│ │
╰────────────────────────────────────────────────────────────────────────────────────────────╯Done in 14m 1.7s using pnpm v10.23.0
[root@node0 openclaw-2026.3.2]#
[root@node0 openclaw-2026.3.2]# pnpm approve-builds
? Choose which packages to build (Press <space> to select, <a> to toggle all, <i> to invert selection) …
❯ ● @discordjs/opus
● @tloncorp/tlon-skill
● core-js
[root@node0 openclaw-2026.3.2]# pnpm approve-builds
✔ Choose which packages to build (Press <space> to select, <a> to toggle all, <i> to invert selection) · @discordjs/opus, @tloncorp/tlon-skill, core-js
✔ The next packages will now be built: @discordjs/opus, @tloncorp/tlon-skill, core-js.
Do you approve? (y/N) · true
[root@node0 openclaw-2026.3.2]# pnpm install
Scope: all 37 workspace projects
Lockfile is up to date, resolution step is skipped
Already up to date╭ Warning ───────────────────────────────────────────────────────────────────────────────────╮
│ │
│ Ignored build scripts: @discordjs/opus, @tloncorp/tlon-skill, core-js. │
│ Run "pnpm approve-builds" to pick which dependencies should be allowed to run scripts. │
│ │
╰────────────────────────────────────────────────────────────────────────────────────────────╯. prepare$ command -v git >/dev/null 2>&1 && git rev-parse --is-inside-work-tree >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0
└─ Done in 9ms
Done in 2s using pnpm v10.23.0
[root@node0 openclaw-2026.3.2]#
[root@node0 openclaw-2026.3.2]# pnpm rebuild
node_modules/.pnpm/esbuild@0.27.3/node_modules/esbuild: Running postinstall script, done in 48ms
node_modules/.pnpm/protobufjs@7.5.4/node_modules/protobufjs: Running postinstall script, done in 46ms
node_modules/.pnpm/protobufjs@6.8.8/node_modules/protobufjs: Running postinstall script, done in 49ms
node_modules/.pnpm/sharp@0.34.5/node_modules/sharp: Running install script, done in 65ms
node_modules/.pnpm/@whiskeysockets+baileys@7.0.0-rc.9_sharp@0.34.5/node_modules/@whiskeysockets/baileys: Running preinstall script, done in 26ms
node_modules/.pnpm/@discordjs+opus@0.10.0/node_modules/@discordjs/opus: Running install script, failed in 11.2s (skipped as optional)
node_modules/.pnpm/node-llama-cpp@3.16.2_typescript@5.9.3/node_modules/node-llama-cpp: Running postinstall script, done in 432ms
. prepare$ command -v git >/dev/null 2>&1 && git rev-parse --is-inside-work-tree >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0
└─ Done in 9ms
[root@node0 openclaw-2026.3.2]# pnpm install
Scope: all 37 workspace projects
Lockfile is up to date, resolution step is skipped
Already up to date╭ Warning ───────────────────────────────────────────────────────────────────────────────────╮
│ │
│ Ignored build scripts: koffi. │
│ Run "pnpm approve-builds" to pick which dependencies should be allowed to run scripts. │
│ │
╰────────────────────────────────────────────────────────────────────────────────────────────╯. prepare$ command -v git >/dev/null 2>&1 && git rev-parse --is-inside-work-tree >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0
└─ Done in 8ms
Done in 1.6s using pnpm v10.23.0
[root@node0 openclaw-2026.3.2]#
✅ 所有依赖已安装
✅ workspace 构建完成
✅ native 模块已编译
✅ lockfile 正常
✅ 项目可启动
4、启动
pnpm start(生产环境)或者pnpm openclaw(官方别名)或者pnpm dev(开发模式)
启动gatway:pnpm openclaw --dev gateway
[root@node0 openclaw-2026.3.2]# pnpm openclaw --dev gateway
> openclaw@2026.3.2 openclaw /opt/openclaw/openclaw-2026.3.2
> node scripts/run-node.mjs --dev gateway
🦞 OpenClaw 2026.3.2 (unknown) — One CLI to rule them all, and one more restart because you changed the port.09:36:01 Dev config ready: ~/.openclaw-dev/openclaw.json
09:36:01 Dev workspace ready: ~/.openclaw/workspace-dev
09:36:01 Config overwrite: /root/.openclaw-dev/openclaw.json (sha256 42adc18ddbde128a72da5774468a2d72b926a555e7ae3494194a849fdbb7c6c0 -> bfa9dd308f85dec9d7c32d376bee10879b5a2f208eafb8592d02e90f33b907c3, backup=/root/.openclaw-dev/openclaw.json.bak)
01:36:01 [gateway] auth token was missing. Generated a new token and saved it to config (gateway.auth.token).
01:36:03 [gateway] Control UI assets missing; building (ui:build, auto-installs UI deps)…
01:36:05 [canvas] host mounted at http://127.0.0.1:19001/__openclaw__/canvas/ (root /root/.openclaw-dev/canvas)
01:36:05 [heartbeat] started
01:36:05 [health-monitor] started (interval: 300s, startup-grace: 60s, channel-connect-grace: 120s)
01:36:05 [gateway] agent model: anthropic/claude-opus-4-6
01:36:05 [gateway] listening on ws://127.0.0.1:19001, ws://[::1]:19001 (PID 56598)
01:36:05 [gateway] log file: /tmp/openclaw/openclaw-2026-03-05.log
01:36:05 [browser/server] Browser control listening on http://127.0.0.1:19003/ (auth=token)
端口:
[root@node0 local]# ss -anplt | grep openclaw
LISTEN 0 511 127.0.0.1:19001 0.0.0.0:* users:(("openclaw-gatewa",pid=56598,fd=18))
LISTEN 0 511 127.0.0.1:19003 0.0.0.0:* users:(("openclaw-gatewa",pid=56598,fd=21))
LISTEN 0 511 127.0.0.1:19004 0.0.0.0:* users:(("openclaw-gatewa",pid=56598,fd=27))
LISTEN 0 511 [::1]:19001 [::]:* users:(("openclaw-gatewa",pid=56598,fd=19))
5、打开dashboard
新建一个窗口,不要关闭gateway,pnpm openclaw dashboard
[root@node0 openclaw-2026.3.2]# pnpm openclaw dashboard
> openclaw@2026.3.2 openclaw /opt/openclaw/openclaw-2026.3.2
> node scripts/run-node.mjs dashboard
🦞 OpenClaw 2026.3.2 (unknown) — Your second brain, except this one actually remembers where you left things.Dashboard URL: http://127.0.0.1:18789/
Copy to clipboard unavailable.
No GUI detected. Open from your computer:
ssh -N -L 18789:127.0.0.1:18789 root@192.168.137.134
Then open:
http://localhost:18789/
Docs:
https://docs.openclaw.ai/gateway/remote
https://docs.openclaw.ai/web/control-ui
[root@node0 openclaw-2026.3.2]#
因为我linux没有gui,所以提示用ssh隧道
若没有windows上ssh,管理员运行powershell执行如下安装openssh,并导入环境变量
PS C:\WINDOWS\system32> Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
PS C:\WINDOWS\system32> Test-Path "C:\Windows\System32\OpenSSH\ssh.exe"
True
PS C:\WINDOWS\system32> $newPath = [System.Environment]::GetEnvironmentVariable("PATH", "Machine") + ";C:\Windows\System32\OpenSSH\"
PS C:\WINDOWS\system32> [System.Environment]::SetEnvironmentVariable("PATH", $newPath, "Machine")
PS C:\WINDOWS\system32> $env:PATH = [System.Environment]::GetEnvironmentVariable("PATH", "Machine")
PS C:\WINDOWS\system32>PS C:\WINDOWS\system32> ssh -V
OpenSSH_for_Windows_9.5p2, LibreSSL 3.8.2
继续执行ssh命令,上面提示的输出命令,用powershell或者cmd打开,注意端口号,--dev 模式会改端口。所以不是命令里面的18789,而且19001
PS C:\WINDOWS\system32> ssh -N -L 19001:127.0.0.1:19001 root@192.168.137.134
root@192.168.137.134's password:
本地电脑:19001 → 服务器127.0.0.1:19001
等于把服务器网页“搬”到你电脑。
执行后:
-
会要求输入服务器密码
-
窗口会卡住(正常,不要关)

去服务器拿token
[root@node0 local]# cat ~/.openclaw-dev/openclaw.json | grep token
"mode": "token",
"token": "xxx"
把这里的token复制到web上

然后连接,然后在设置或者json里配置你的api即可
更多推荐



所有评论(0)