【喂饭版】联通云从0到1部署OpenClaw
这里显示unknown是正常的是因为,安装采用了ZIP解压的方式,这个版本号通常来源于Git元数据,这种方式没有.git文件,也就缺失了这个版本号。大手一挥,直接发放了万份的资源包,有幸,抢到了Lite版本,以及一台2核4G的云主机,趁着这个机会,也来部署一下这个超级大热门---龙虾。libsignal-node GitHub下载失败,这个包通过官方渠道就是访问不到,但是在本地电脑,是可以拉取的,
简要
最近,联通云大手一挥,直接发放了万份的资源包,有幸,抢到了Lite版本,以及一台2核4G的云主机,趁着这个机会,也来部署一下这个超级大热门---龙虾。

前置
首先,我们在活动页面,拿下这两个订阅:


服务器选择 Ubuntu 22.04 64位(标准版),其他根据自己情况选择填写。我们选择SSH方式连接,这里我们需要开启22号端口,我们找到云服务器-网络安全-安全组-配置规则,填入下面配置:
| 项目 | 填写内容 |
|---|---|
| 规则方向 | 入方向 |
| 协议 | TCP |
| 端口 | 22 |
| 授权对象 | 0.0.0.0/0 |
| 描述 | SSH |
然后,就可以通过Xshell进行连接了。
安装
首先,需要更改一下安装源,替换为清华大学国内镜像源。
cat > /etc/apt/sources.list << 'EOF'
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
EOF
openclaw需要nodejs >= 22.12.0,下载最新的nodejs版本。
# 下载 Node.js 22 LTS
curl -O https://cdn.npmmirror.com/binaries/node/v22.14.0/node-v22.14.0-linux-x64.tar.xz
# 解压并放到系统目录
tar -xf node-v22.14.0-linux-x64.tar.xz
mv node-v22.14.0-linux-x64 /usr/local/node
# 配置 PATH
echo 'export PATH=/usr/local/node/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
# 验证 Node.js / npm
node -v
npm -v
联通云的服务器是无法通过curl来访问GitHub/openclaw.ai的,这里采用本地下来,在上传服务器的方式来解决。这里,我们本地直接下载zip文件,然后上传到服务器上面解压。
接下来安装pnpm,不要使用npm安装。
npm install -g pnpm
# 安装依赖 并运行
cd openclaw && pnpm install && pnpm run build
在安装过程中,我们大概率会遇到这个问题:
libsignal-node GitHub下载失败,这个包通过官方渠道就是访问不到,但是在本地电脑,是可以拉取的,说明网络是可达的。
解决方案【参考】
拉取 Baileys 源码,彻底移除 GitHub 依赖。
- 不依赖 overrides
- 不依赖 lockfile hack
- 直接修改 baileys 的 package.json,将其对 libsignal 的依赖从 GitHub URL 改为版本号
- 用 file: 协议本地引用 patched 包
1. 下载 Baileys
从 npm registry 镜像下载,而非 GitHub,通常不受拦截。
# 从npm拉取baileys
curl -L -o baileys-7.0.0-rc.9.tgz "https://registry.npmmirror.com/@whiskeysockets/baileys/-/baileys-7.0.0-rc.9.tgz"
# 创建一个文件夹
mkdir -p baileys
# 解压到该文件夹
tar -xzf baileys-7.0.0-rc.9.tgz -C baileys --strip-components=1
# 进行确定
ls baileys
确保
baileys/package.json存在(/openclaw/openclaw-main/baileys/package.json)
2. 下载 libsignal-node
本地下载libsignal-node,在上传服务器,因为官方给的是一个GitHub的下载地址。
# 本地直接访问这个连接
https://codeload.github.com/whiskeysockets/libsignal-node/tar.gz/1c30d7d7e76a3b0aa120b04dc6a26f5a12dccf67
# 本地scp 或者 XFTP上传到服务器(本地改名libsignal-node.tar.gz)
# 创建本地依赖文件夹
mkdir -p local_deps
# 解压libsignal-node.tar.gz
tar -xf libsignal-node.tar.gz
# 改名并移动到 local_deps
mv -f libsignal-node-1c30d7d7e76a3b0aa120b04dc6a26f5a12dccf67 libsignal-node && mv -f libsignal-node local_deps/
./local_dep/libsignal-node/package.json内容:
{
"name": "@whiskeysockets/libsignal-node",
"version": "2.0.1",
"description": "Open Whisper Systems' libsignal for Node.js",
"repository": "WhiskeySockets/libsignal-node",
"main": "index.js",
"types": "index.d.ts",
"keywords": [
"signal",
"whispersystems",
"crypto"
],
"license": "GPL-3.0",
"dependencies": {
"curve25519-js": "^0.0.4",
"protobufjs": "6.8.8"
},
"files": [
"src/*",
"index.d.ts"
],
"devDependencies": {
"eslint": "6.0.1"
}
}
3. 修改 Balieys 的 libsignal 依赖声明
编辑/balieys/package.json,找到下面这段内容:
"dependencies": {
"@cacheable/node-cache": "^1.4.0",
"@hapi/boom": "^9.1.3",
"async-mutex": "^0.5.0",
"libsignal": "git+https://github.com/whiskeysockets/libsignal-node",
"lru-cache": "^11.1.0",
"music-metadata": "^11.7.0",
"p-queue": "^9.0.0",
"pino": "^9.6",
"protobufjs": "^7.2.4",
"ws": "^8.13.0"
},
进行如下修改:
- "libsignal": "git+https://github.com/whiskeysockets/libsignal-node",
+ "libsignal": "^2.0.1"
4. 修改根package.json
vim /openclaw/openclaw-main/package.json
找到pnpm -> overrides-> 新增如下两行:
"pnpm": {
"overrides": {
"@whiskeysockets/baileys": "file:./baileys",
"@whiskeysockets/libsignal-node": "file:./local_deps/libsignal-node",
5. 清理和安装
# 清理
rm -rf node_modules pnpm-lock.yaml
#安装 启动
pnpm install && pnpm run build
新手引导
使用最后一条官方指令启动我们的大龙虾:
pnpm run openclaw onboard

接下来是安全警告⚠:
安全警告——请仔细阅读。
OpenClaw是一个业余项目,还在测试阶段。期待锋利的边缘。
默认情况下,OpenClaw是个人代理:一个受信任的运营商边界。
启动工具后,此机器人可以读取文件并运行操作。
一个糟糕的提示会诱使它做一些不安全的事情。OpenClaw默认并不是敌对的多租户边界。
如果多个用户可以向一个支持工具的代理发送消息,那么他们将共享这个代理工具权限。如果你对安全加固和访问控制不满意,请不要运行OpenClaw。
在启用工具或将工具放到网上之前,请有经验的人帮忙。推荐基线:
- 配对/允许列表+提及门控。
- 多用户/共享收件箱:分离信任边界 (独立的网关/凭据,理想情况下,独立用户/主机)。
- 沙盒+最小特权工具。
- 共享收件箱:隔离DM会话(`session.dmScope: per-channel-peer`)并保存工具访问最小。
- 对代理的可访问文件系统保密。
- 对于任何带有工具或不受信任的收件箱的机器人,使用最强的可用模型。
定期运行:
openclaw security audit——deep
openclaw security audit—fixMust read: https://docs.openclaw.ai/gateway/security
接下来是一些配置(enter确认):
-
同意风险(yes):
◆ I understand this is powerful and inherently risky. Continue?
│ ● Yes / ○ No
-
启动模式(QuickStart):
◆ Onboarding mode
│ ● QuickStart (Configure details later via openclaw configure.)
│ ○ Manual
-
模型选择(Skip for now):
先跳过,后面配置
◆ Model/auth provider
│ ○ OpenAI
│ ○ Anthropic
│ ○ Chutes
│ ○ vLLM
│ ○ MiniMax
│ ○ Moonshot AI (Kimi K2.5)
│ ○ Google
│ ○ xAI (Grok)
│ ○ Mistral AI
│ ○ Volcano Engine
│ ○ BytePlus
│ ○ OpenRouter
│ ○ Kilo Gateway
│ ○ Qwen
│ ○ Z.AI
│ ○ Qianfan
│ ○ Copilot
│ ○ Vercel AI Gateway
│ ○ OpenCode Zen
│ ○ Xiaomi
│ ○ Synthetic
│ ○ Together AI
│ ○ Hugging Face
│ ○ Venice AI
│ ○ LiteLLM
│ ○ Cloudflare AI Gateway
│ ○ Custom Provider
│ ● Skip for now
-
过滤模型供应商(All providers):
◆ Filter models by provider
│ ● All providers
│ ○ amazon-bedrock
│ ○ anthropic
│ ○ azure-openai-responses
│ ○ cerebras
│ ○ github-copilot
│ ○ google
│ ○ google-antigravity
│ ○ google-gemini-cli
│ ○ google-vertex
│ ○ groq
│ ○ huggingface
│ ○ kimi-coding
│ ○ minimax
│ ○ minimax-cn
│ ○ mistral
│ ○ openai
│ ○ openai-codex
│ ○ opencode
│ ○ openrouter
│ ○ vercel-ai-gateway
│ ○ xai
│ ○ zai
-
默认模型(keep current):
◆ Default model
│ ● Keep current (default: anthropic/claude-opus-4-6)
│ ○ Enter model manually
│ ○ amazon-bedrock/anthropic.claude-3-haiku-20240307-v1:0
│ ○ amazon-bedrock/anthropic.claude-3-5-haiku-20241022-v1:0
│ ○ amazon-bedrock/anthropic.claude-haiku-4-5-20251001-v1:0
│ ○ amazon-bedrock/eu.anthropic.claude-haiku-4-5-20251001-v1:0
│ ○ amazon-bedrock/global.anthropic.claude-haiku-4-5-20251001-v1:0
│ ○ amazon-bedrock/us.anthropic.claude-haiku-4-5-20251001-v1:0
│ ○ amazon-bedrock/anthropic.claude-3-opus-20240229-v1:0
│ ○ amazon-bedrock/anthropic.claude-opus-4-20250514-v1:0
│ ○ amazon-bedrock/us.anthropic.claude-opus-4-20250514-v1:0
│ ○ amazon-bedrock/anthropic.claude-opus-4-1-20250805-v1:0
│ ○ amazon-bedrock/us.anthropic.claude-opus-4-1-20250805-v1:0
│ ○ amazon-bedrock/anthropic.claude-opus-4-5-20251101-v1:0
│ ○ amazon-bedrock/eu.anthropic.claude-opus-4-5-20251101-v1:0
│ ○ amazon-bedrock/global.anthropic.claude-opus-4-5-20251101-v1:0
│ ○ amazon-bedrock/us.anthropic.claude-opus-4-5-20251101-v1:0
│ ○ amazon-bedrock/anthropic.claude-opus-4-6-v1
│ ○ amazon-bedrock/eu.anthropic.claude-opus-4-6-v1
│ ○ amazon-bedrock/global.anthropic.claude-opus-4-6-v1
│ ○ amazon-bedrock/us.anthropic.claude-opus-4-6-v1
│ ○ amazon-bedrock/anthropic.claude-3-sonnet-20240229-v1:0
│ ○ amazon-bedrock/anthropic.claude-3-5-sonnet-20240620-v1:0
│ ○ amazon-bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0
│ ○ amazon-bedrock/anthropic.claude-3-7-sonnet-20250219-v1:0
│ ○ amazon-bedrock/anthropic.claude-sonnet-4-20250514-v1:0
│ ○ amazon-bedrock/eu.anthropic.claude-sonnet-4-20250514-v1:0
│ ○ amazon-bedrock/global.anthropic.claude-sonnet-4-20250514-v1:0
│ ○ amazon-bedrock/us.anthropic.claude-sonnet-4-20250514-v1:0
│ ○ amazon-bedrock/anthropic.claude-sonnet-4-5-20250929-v1:0
│ ○ amazon-bedrock/eu.anthropic.claude-sonnet-4-5-20250929-v1:0
│ ○ amazon-bedrock/global.anthropic.claude-sonnet-4-5-20250929-v1:0
│ ○ amazon-bedrock/us.anthropic.claude-sonnet-4-5-20250929-v1:0
│ ○ amazon-bedrock/anthropic.claude-sonnet-4-6
│ ...
-
通道配置(Skip for now):
先跳过,后面配置,在 OpenClaw 中,通道可以连接用户与 AI 助手,通过熟悉的平台与 OpenClaw 进行交互。
◆ Select channel (QuickStart)
│ ○ Telegram (Bot API) (recommended · newcomer-friendly)
│ ○ WhatsApp (QR link)
│ ○ Discord (Bot API)
│ ○ IRC (Server + Nick)
│ ○ Google Chat (Chat API)
│ ○ Slack (Socket Mode)
│ ○ Signal (signal-cli)
│ ○ iMessage (imsg)
│ ○ Feishu/Lark (飞书)
│ ○ Nostr (NIP-04 DMs)
│ ○ Microsoft Teams (Bot Framework)
│ ○ Mattermost (plugin)
│ ○ Nextcloud Talk (self-hosted)
│ ○ Matrix (plugin)
│ ○ BlueBubbles (macOS app)
│ ○ LINE (Messaging API)
│ ○ Zalo (Bot API)
│ ○ Zalo (Personal Account)
│ ○ Synology Chat (Webhook)
│ ○ Tlon (Urbit)
│ ● Skip for now
-
Skills配置(No):
选择No跳过配置,后续通过对话让openclaw自己配置。
◇ Skills status ─────────────╮
│ │
│ Eligible: 5 │
│ Missing requirements: 39 │
│ Unsupported on this OS: 7 │
│ Blocked by allowlist: 0 │
│ │
├─────────────────────────────╯
│
◆ Configure skills now? (recommended)
│ ○ Yes / ● No
└
-
Hook配置(全选):
将所有的配置全部使用空格选中,然后回车确认:
◇ Hooks ──────────────────────────────────────────────────────────────────╮
│ │
│ Hooks let you automate actions when agent commands are issued. │
│ Example: Save session context to memory when you issue /new or /reset. │
│ │
│ Learn more: https://docs.openclaw.ai/automation/hooks │
│ │
├──────────────────────────────────────────────────────────────────────────╯
│
◆ Enable hooks?
│ ◻ Skip for now
│ ◼ 🚀 boot-md (Run BOOT.md on gateway startup)
│ ◼ 📎 bootstrap-extra-files (Inject additional workspace bootstrap files via glob/path patterns)
│ ◼ 📝 command-logger (Log all command events to a centralized audit file)
│ ◼ 💾 session-memory (Save session context to memory when /new or /reset command is issued)
└
-
孵化Bot(TUI):
TUI:就是终端,上面也给出了Web地址。
How do you want to hatch your bot?
│ ● Hatch in TUI (recommended)
│ ○ Open the Web UI
│ ○ Do this later
我们就进入到了这样一个画面:
Wake up, my friend!
⚠Agent failed before reply: No API key found for provider "anthropic". Auth store: /root/.openclaw/agents/main/agent/auth-profiles.json (agentDir: /root/.openclaw/agents/main/agent). Configure auth for
this agent (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir.
Logs: openclaw logs --follow
🦞 OpenClaw 2026.2.27 (unknown)
这里显示unknown是正常的是因为,安装采用了ZIP解压的方式,这个版本号通常来源于Git元数据,这种方式没有.git文件,也就缺失了这个版本号。
Bug解决
这时候可能会出现一个非常常见的问题:
root@coding-plan:~/openclaw/openclaw-main# openclaw --version
openclaw: command not found
解决方法:
cat package.json | grep '"bin"' -A3
# 查看有没有输出结果
"bin": {
"openclaw": "bin/openclaw.js"
}
# 在 OpenClaw 项目根目录执行
npm link
# 测试
openclaw --version
进入UI
由于,我们是采用的是云服务器配置,所以,需要对网关进行配置,才能在本地打开UI。
# 1. 设定网络访问模式为 LAN
openclaw config set gateway.bind lan
# 2. 设定HTTP访问降级为 true,允许不安全的HTTP访问(如果不设置这个参数,默认是禁止HTTP访问的)
openclaw config set gateway.controlUi.allowInsecureAuth true
openclaw config set gateway.controlUi.dangerouslyDisableDeviceAuth true
openclaw config set gateway.controlUi.allowedOrigins '["http://<服务器IP>:18789"]'
# 3. 重启 OpenClaw gateway 使配置生效
openclaw gateway restart
放开服务器安全组18789端口
| 项目 | 填写内容 |
|---|---|
| 规则方向 | 入方向 |
| 协议 | TCP |
| 端口 | 18789 |
| 授权对象 | 0.0.0.0/0 |
| 描述 | ----- |
执行下面命令:
openclaw dashboard
#会给到我们一个URL
#替换127.0.0.1 -> 服务器IP
本地浏览器 访问该地址,即可进入。

配置Coding Plan
接入联通云给我们的coding plan大礼包
1. 打开配置文件
运行以下命令打开 Web UI,然后在Web UI的左侧菜单栏中选择Config > Raw。
2. 修改配置文件
1)在 JSON 根对象中加入如下 models 配置(如果已存在则替换)。请将 <YOUR_API_KEY> 替换为您的 Coding Plan 专属API Key。
"models": {
"mode": "merge",
"providers": {
"unicom-cloud": {
"baseUrl": "https://aigw-gzgy2.cucloud.cn:8443/v1",
"apiKey": "<YOUR_API_KEY>",
"api": "openai-completions",
"models": [
{
"id": "glm-5",
"name": "glm-5",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 202752,
"maxTokens": 16384
}
]
}
}
}
2)找到 agents.defaults 对象,并替换或添加以下两个字段:
"model": {
"primary": "unicom-cloud/glm-5"
},
"models": {
"unicom-cloud/glm-5": {}
}
3. 保存配置
如果在Web UI中修改,先单击右上角 Save 保存,然后单击 Update来使配置生效。
如果在终端中修改,先保存文件并退出,然后运行以下命令来使配置生效。
openclaw gateway restart

到此为止,你的专属OpenClaw正式部署完成!!!
更多推荐





所有评论(0)