- OpenClaw 版本管理: 安装/升级/降级/切换版本, 汉化版/原版选择 - 新增 list_openclaw_versions API (Rust + Web) - upgrade_openclaw 支持指定版本号 - 版本选择器弹窗 (about.js) - macOS Gatekeeper 提示优化: 强调拖入应用程序, No such file 备选 - 部署文档统一使用 npm run serve 替代 npx vite - showUpgradeModal 支持自定义标题 + onClose 回调 - serve.js 路径分隔符跨平台修复 - 扩展工具页面优化 + AI助手危险工具确认
8.8 KiB
ClawPanel Linux 部署指南
本文介绍如何在 Linux 服务器上部署 ClawPanel Web 版,通过浏览器远程管理 OpenClaw。
适用场景:云服务器、NAS、家庭 HomeLab、无 GUI 的 Linux 主机。
ClawPanel 有 Win/Mac 桌面客户端,但 Linux 没有桌面版。Web 版通过 Vite + Node.js 后端运行,功能与桌面版一致。
目录
架构说明
浏览器 ──HTTP──▶ ClawPanel Web (Vite + dev-api 后端, :1420)
│
├── /__api/* 读写 ~/.openclaw/ 配置文件
├── /ws WebSocket 代理 → Gateway
└── 管理 Gateway 进程 (启动/停止/重启)
│
▼
OpenClaw Gateway (:18789)
ClawPanel Web 版 = Vite 开发服务器 + dev-api.js 后端中间件,提供:
- 配置读写(
openclaw.json、mcp.json) - Gateway 服务管理(启动/停止/重启/状态检测)
- 设备配对、模型测试、日志查看、备份管理
- WebSocket 代理到 Gateway
前提条件
| 依赖 | 最低版本 | 说明 |
|---|---|---|
| Node.js | 18+ | 推荐 22 LTS |
| npm | 随 Node.js | 包管理器 |
| Git | 任意 | 克隆仓库 |
| OpenClaw | 最新 | ClawPanel 管理的对象 |
方式一:一键部署
curl -fsSL https://raw.githubusercontent.com/qingchencloud/clawpanel/main/scripts/linux-deploy.sh | bash
脚本自动完成:
- 检测系统、安装 Node.js(如果缺少)
- 安装 OpenClaw 汉化版(如果缺少)
- 克隆 ClawPanel 仓库、安装依赖
- 创建 systemd 服务、开机自启
- 启动 ClawPanel Web,输出访问地址
部署完成后访问 http://服务器IP:1420。
方式二:手动部署
1. 安装 Node.js
Ubuntu / Debian:
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
CentOS / RHEL / Fedora:
curl -fsSL https://rpm.nodesource.com/setup_22.x | sudo bash -
sudo yum install -y nodejs
Alpine:
apk add nodejs npm git
验证安装:
node -v # v22.x.x
npm -v # 10.x.x
2. 安装 OpenClaw
ClawPanel 是 OpenClaw 的管理工具,需要先安装 OpenClaw:
npm install -g @qingchencloud/openclaw-zh --registry https://registry.npmmirror.com
初始化配置(首次):
openclaw init
3. 克隆 ClawPanel
cd /opt
sudo git clone https://github.com/qingchencloud/clawpanel.git
sudo chown -R $(whoami) clawpanel
cd clawpanel
npm install
4. 构建并启动 ClawPanel Web
npm run build # 构建生产版前端
npm run serve # 启动 Web 服务器 (默认 0.0.0.0:1420)
自定义端口:
npm run serve -- --port 8080
看到以下输出即为成功:
┌─────────────────────────────────────────┐
│ 🦀 ClawPanel Web Server (Headless) │
│ http://localhost:1420/ │
└─────────────────────────────────────────┘
[api] API 已启动,配置目录: /root/.openclaw
打开浏览器访问 http://服务器IP:1420 即可使用 ClawPanel。
方式三:Docker 部署
📖 Docker 完整教程(Compose、自定义镜像、数据持久化等)见 Docker 部署指南
快速启动:
docker run -d \
--name clawpanel \
--restart unless-stopped \
-p 1420:1420 \
-v clawpanel-data:/root/.openclaw \
node:22-slim \
sh -c "apt-get update && apt-get install -y git && \
npm install -g @qingchencloud/openclaw-zh --registry https://registry.npmmirror.com && \
git clone https://github.com/qingchencloud/clawpanel.git /app && \
cd /app && npm install && npm run build && npm run serve"
访问 ClawPanel
部署完成后,用浏览器打开:
http://服务器IP:1420
ClawPanel 会自动检测本机的 OpenClaw 安装,你可以:
- 管理模型配置(添加/删除/测试 Provider)
- 启动/停止/重启 Gateway
- 查看 Gateway 日志
- 管理 Agent 记忆文件
- 配置备份与恢复
进程守护
前台运行会在终端关闭后退出,推荐用 systemd 或 PM2 保持常驻。
方式一:systemd(推荐)
创建服务文件:
sudo tee /etc/systemd/system/clawpanel.service << 'EOF'
[Unit]
Description=ClawPanel Web - OpenClaw Management Panel
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/clawpanel
ExecStart=/usr/bin/node scripts/serve.js
Restart=on-failure
RestartSec=5
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
EOF
启用并启动:
sudo systemctl daemon-reload
sudo systemctl enable clawpanel
sudo systemctl start clawpanel
常用命令:
sudo systemctl status clawpanel # 查看状态
sudo systemctl restart clawpanel # 重启
sudo journalctl -u clawpanel -f # 查看日志
方式二:PM2
npm install -g pm2
cd /opt/clawpanel
npm run build
pm2 start "npm run serve" --name clawpanel
pm2 save
pm2 startup # 开机自启
Nginx 反向代理
如果希望用域名 + HTTPS 访问 ClawPanel:
server {
listen 80;
server_name panel.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:1420;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
重要: 必须配置 WebSocket 升级(
Upgrade+Connection),否则 ClawPanel 无法连接 Gateway。
配合 Let's Encrypt 启用 HTTPS:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d panel.yourdomain.com
防火墙配置
UFW (Ubuntu/Debian)
sudo ufw allow 1420/tcp # ClawPanel Web
sudo ufw allow 18789/tcp # OpenClaw Gateway(如需外部直连)
firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=1420/tcp
sudo firewall-cmd --reload
更新升级
更新 ClawPanel
cd /opt/clawpanel
git pull origin main
npm install
sudo systemctl restart clawpanel # 或 pm2 restart clawpanel
更新 OpenClaw
npm install -g @qingchencloud/openclaw-zh@latest --registry https://registry.npmmirror.com
或在 ClawPanel 面板中点击「检查更新」按钮。
常见问题
Q: 端口 1420 被占用?
# 查看占用
lsof -i :1420
# 使用其他端口
npm run serve -- --port 3000
systemd 服务也需要改 ExecStart 中的端口。
Q: 打开面板显示 "openclaw.json 不存在"?
需要先安装 OpenClaw 并初始化:
npm install -g @qingchencloud/openclaw-zh --registry https://registry.npmmirror.com
openclaw init
Q: Gateway 启动/停止按钮不工作?
ClawPanel Web 版在 Linux 上通过 child_process 管理进程。确保:
openclaw命令在 PATH 中- 运行 ClawPanel 的用户有权限操作进程
which openclaw # 应输出路径
openclaw --version
Q: 从外网无法访问?
- 检查防火墙是否放行端口 1420
- 云服务器需在安全组/防火墙规则中开放端口
- 推荐使用 Nginx 反向代理 + HTTPS,避免直接暴露端口
Q: 如何同时启动 Gateway 和 ClawPanel?
Gateway 和 ClawPanel 是独立进程,需要分别启动:
# 启动 Gateway(后台)
openclaw gateway start &
# 启动 ClawPanel Web
cd /opt/clawpanel
npm run serve
或者用 systemd 分别创建两个服务。也可以在 ClawPanel 面板中直接点击「启动」按钮管理 Gateway。
Q: 与桌面版有什么区别?
| 功能 | 桌面版 (Win/Mac) | Web 版 (Linux) |
|---|---|---|
| 配置管理 | ✅ | ✅ |
| Gateway 管理 | ✅ | ✅ |
| 模型测试 | ✅ | ✅ |
| 日志查看 | ✅ | ✅ |
| 备份管理 | ✅ | ✅ |
| Agent 记忆 | ✅ | ✅ |
| ZIP 导出 | ✅ | ❌ |
| 系统托盘 | ✅ | ❌ |
| 自动更新 | ✅ | 手动 git pull |