OpenClaw 从入门到实战 - 开源 AI 智能体部署指南-上
🎯 学习目标:理解 OpenClaw 智能体概念,掌握阿里云部署方法,对比主流 AI 产品选型
📚 目录
- 1. OpenClaw 是什么?
- 2. OpenClaw vs 豆包 vs 千问对比
- 3. 本地安装教程
- 4. 阿里云部署实战
- 5. Docker 手动部署
- 6. 安全配置与优化
- 7. 实战案例
- 8. 本章总结
1. OpenClaw 是什么?
🎯 生活中的类比
举个例子:
- 传统 AI(ChatGPT/豆包):就像一个智能客服,你问什么它答什么,但它不能帮你操作电脑、发邮件、整理文件。
- OpenClaw 智能体:就像一个真正的私人助理,你说"帮我整理桌面文件",它真的会去操作你的电脑,把文件分类整理好。
📊 OpenClaw 核心特点

🆚 OpenClaw 的独特之处
| 维度 | 传统 AI | OpenClaw |
|---|---|---|
| 定位 | 聊天机器人 | 智能体框架 |
| 能力 | 对话、生成内容 | 操作系统、执行任务 |
| 权限 | 无系统权限 | 最高系统权限 |
| 运行 | 云端 | 本地部署 |
| 记忆 | 会话级 | 跨会话持久化 |
| 开源 | 闭源 | 完全开源 |
| 费用 | 订阅制 | 免费(仅 API 费用) |
🚀 应用场景
2. OpenClaw vs 豆包 vs 千问对比
🎯 三大 AI 产品定位
📊 核心架构对比
| 维度 | OpenClaw | 豆包(字节) | 千问(阿里) |
|---|---|---|---|
| 架构 | Computer Use 协议 | 插件生态 | VLM 视觉模型 |
| 工作原理 | 截图 → 模型分析 → 操作系统 API | 调用内部服务插件 | 视觉理解 UI → 预测动作 |
| 权限级别 | 最高权限(系统级) | 沙盒/浏览器限制 | 沙盒/浏览器限制 |
| 操作范围 | 整个操作系统 | 特定服务和应用 | 浏览器/特定应用 |
| 部署方式 | 本地部署 | 云端 SaaS | 云端 SaaS |
| 开源 | ✅ 完全开源 | ❌ 闭源 | ❌ 闭源 |
| 费用 | 免费(仅 API) | 订阅制 | 订阅制 |
🎨 工作原理可视化
OpenClaw 工作流程
豆包工作流程
千问工作流程
💡 能力对比表
| 能力 | OpenClaw | 豆包 | 千问 |
|---|---|---|---|
| 对话能力 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 内容生成 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 浏览器操作 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| 系统级操作 | ⭐⭐⭐⭐⭐ | ❌ | ❌ |
| 文件管理 | ⭐⭐⭐⭐⭐ | ❌ | ❌ |
| 代码执行 | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ |
| 多模态理解 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 工具调用 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| 隐私保护 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
| 易用性 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
🎯 选择建议
实际案例:
| 需求 | 推荐方案 | 原因 |
|---|---|---|
| 写文章、翻译 | 豆包/千问 | 对话能力强,易用 |
| 自动整理文件 | OpenClaw | 需要系统级权限 |
| 数据抓取 | OpenClaw | 可操作浏览器和脚本 |
| 客服机器人 | 豆包/千问 | 稳定、云端部署 |
| 自动化测试 | OpenClaw | 可执行代码和操作 UI |
| 办公助手 | 豆包/千问 | 集成办公软件 |
3. 本地安装教程
🎯 本地 vs 云端部署对比
| 对比维度 | 本地部署(Mac) | 云端部署(阿里云) |
|---|---|---|
| 成本 | 免费(仅 API 费用) | 24 元/月起 |
| 稳定性 | 需要电脑开机 | 7x24 小时运行 |
| 性能 | 取决于本机配置 | 可按需升级 |
| 适用场景 | 个人使用、测试 | 生产环境、团队 |
| 网络要求 | 本地网络 | 公网访问 |
| 维护成本 | 低 | 需要运维 |
| 电脑依赖 | 必须开机 | 无需开机 |
| 外网访问 | 需要内网穿透 | 直接访问 |
💡 为什么 Mac 本地可以用,还要云端部署?
生活类比
举个例子:
-
本地 Mac 部署:就像你的手机在身边,想用就用,但是:
- ❌ 你关机了,OpenClaw 就停了
- ❌ 你出门了,家里的 Mac 关机了,OpenClaw 也停了
- ❌ 你睡觉了,定时任务无法执行
-
云端阿里云部署:就像把手机放在家里一直充电,24 小时待机:
- ✅ 你出门了,OpenClaw 还在运行
- ✅ 你睡觉了,定时任务照常执行
- ✅ 你关机了,OpenClaw 不受影响
🎯 实际使用场景对比
场景1:个人临时使用(推荐本地 Mac)
需求: 你想试试 OpenClaw,偶尔用一下整理文件、下载图片
推荐方案: ✅ 本地 Mac 部署
原因:
- 免费,不需要额外成本
- 使用频率低,开机时用就行
- 不需要 7x24 运行
实际操作:
# 早上开机
openclaw gateway start
# 使用 OpenClaw
"帮我整理桌面文件"
# 晚上关机
openclaw gateway stop
场景2:定时任务(必须云端部署)⭐
需求: 每天早上 9 点自动发送昨日数据报告
推荐方案: ✅ 阿里云部署
原因:
- Mac 可能关机,任务无法执行
- 云端 7x24 运行,定时任务稳定
- 不依赖你的电脑状态
实际案例:
// 每天早上 9 点发送报告
schedule.every().day.at("09:00").do(send_daily_report)
// 本地 Mac:如果你 9 点还没开机,任务失败 ❌
// 阿里云:无论你在哪,任务准时执行 ✅
真实场景:
- 📊 每天早上 9 点发送销售数据报告
- 📧 每晚 11 点自动清理垃圾邮件
- 🔔 每小时监控服务器状态并告警
- 📈 每周一早上发送周报
场景3:团队协作(必须云端部署)⭐
需求: 你和同事都要用 OpenClaw,共享一个智能助手
推荐方案: ✅ 阿里云部署
原因:
- 本地 Mac 只有你能访问
- 云端可以给团队成员分配账号
- 公网 IP,随时随地访问
实际案例:
本地 Mac 部署:
你:http://127.0.0.1:18789 ✅ 可以访问
同事A:http://你的Mac IP:18789 ❌ 无法访问(内网)
同事B:http://你的Mac IP:18789 ❌ 无法访问(内网)
阿里云部署:
你:http://47.98.xxx.xxx:18789 ✅ 可以访问
同事A:http://47.98.xxx.xxx:18789 ✅ 可以访问
同事B:http://47.98.xxx.xxx:18789 ✅ 可以访问
真实场景:
- 👥 团队共享一个 AI 助手
- 📱 手机、电脑、平板都能访问
- 🌍 出差在外也能使用
- 👨💼 给客户演示项目
场景4:长时间任务(必须云端部署)⭐
需求: 批量处理 10000 张图片,需要运行 8 小时
推荐方案: ✅ 阿里云部署
原因:
- 本地 Mac 关机任务就停了
- 云端可以持续运行,不受影响
- 不占用你的电脑资源
实际案例:
# 批量下载 10000 张图片
for i in range(10000):
download_image(f"https://example.com/image_{i}.jpg")
time.sleep(1) # 每张间隔 1 秒
# 预计耗时:10000 秒 ≈ 2.8 小时
# 本地 Mac:你必须开机 2.8 小时 ❌
# 阿里云:你可以关机睡觉,第二天早上看结果 ✅
真实场景:
- 📥 批量下载大量文件
- 🎬 视频批量转码
- 📊 大数据分析处理
- 🤖 AI 模型训练
场景5:外网访问(必须云端部署)⭐
需求: 你在外面,想用手机访问 OpenClaw
推荐方案: ✅ 阿里云部署
原因:
- 本地 Mac 没有公网 IP,外网无法访问
- 需要配置内网穿透(frp/ngrok),复杂且不稳定
- 云端有公网 IP,直接访问
实际案例:
场景: 你在咖啡厅,想用 OpenClaw 处理工作
本地 Mac 部署:
1. 家里 Mac 必须开机 ❌
2. 配置内网穿透工具(frp/ngrok)❌
3. 网络不稳定,经常断开 ❌
4. 速度慢 ❌
阿里云部署:
1. 打开手机浏览器 ✅
2. 输入:http://47.98.xxx.xxx:18789 ✅
3. 直接使用,速度快 ✅
真实场景:
- 📱 出差在外,手机访问
- ☕ 咖啡厅办公
- 🚄 高铁上处理紧急任务
- 🏠 在家用平板访问
场景6:稳定性要求高(必须云端部署)⭐
需求: 监控服务器,出问题立即告警
推荐方案: ✅ 阿里云部署
原因:
- 本地 Mac 可能关机,错过告警
- 云端 7x24 运行,不会错过任何告警
- 稳定性高,适合生产环境
实际案例:
# 每 5 分钟检查服务器状态
while True:
if check_server_health() == False:
send_alert("服务器故障!")
time.sleep(300)
# 本地 Mac:你睡觉关机了,凌晨 3 点服务器故障你不知道 ❌
# 阿里云:凌晨 3 点服务器故障,立即发送告警短信 ✅
真实场景:
- 🚨 服务器监控告警
- 📉 股票价格监控
- 🔔 重要邮件提醒
- 💰 订单异常监控
📊 场景总结对比表
| 使用场景 | 本地 Mac | 阿里云 | 推荐方案 |
|---|---|---|---|
| 个人临时使用 | ✅ 免费够用 | ⚠️ 成本浪费 | 本地 Mac |
| 定时任务 | ❌ 关机失败 | ✅ 稳定执行 | 阿里云 ⭐ |
| 团队协作 | ❌ 无法共享 | ✅ 公网访问 | 阿里云 ⭐ |
| 长时间任务 | ❌ 占用电脑 | ✅ 后台运行 | 阿里云 ⭐ |
| 外网访问 | ❌ 需要穿透 | ✅ 直接访问 | 阿里云 ⭐ |
| 高稳定性 | ❌ 依赖开机 | ✅ 7x24 运行 | 阿里云 ⭐ |
| 测试学习 | ✅ 免费方便 | ⚠️ 成本浪费 | 本地 Mac |
| 开发调试 | ✅ 快速迭代 | ⚠️ 部署麻烦 | 本地 Mac |
🎯 决策树:我应该选哪种部署方式?
💡 实际建议
推荐方案1:新手入门
步骤:
-
第 1 周:本地 Mac 部署,学习基础功能
- 免费试用
- 熟悉操作
- 测试各种功能
-
第 2 周:如果觉得好用,阿里云部署
- 部署到云端
- 设置定时任务
- 团队共享使用
推荐方案2:双部署
场景:
- 本地 Mac:开发新功能、测试脚本
- 阿里云:运行稳定的定时任务、团队使用
优势:
- 本地快速迭代,不影响生产环境
- 云端稳定运行,不依赖本地电脑
- 成本可控(只需一台阿里云服务器)
🎯 真实用户案例
案例1:个人用户 - 小明
需求: 偶尔用 OpenClaw 整理文件、下载图片
方案: ✅ 本地 Mac 部署
原因:
- 使用频率低,每周用 1-2 次
- 不需要 7x24 运行
- 免费,不需要额外成本
成本: 0 元/月(仅 API 费用)
案例2:自由职业者 - 小红
需求:
- 每天早上 9 点自动发送客户报告
- 经常出差,需要手机访问
- 监控网站状态,出问题立即告警
方案: ✅ 阿里云部署
原因:
- 需要定时任务
- 需要外网访问
- 需要 7x24 稳定运行
成本: 24 元/月(轻量服务器)
案例3:创业团队 - 小张
需求:
- 5 个人的团队共享使用
- 自动化处理客户数据
- 集成到企业微信
方案: ✅ 阿里云部署
原因:
- 团队协作需要公网访问
- 需要稳定运行
- 集成企业工具
成本: 48 元/月(2核4G 服务器)
💰 成本对比
| 方案 | 硬件成本 | 电费 | 云服务器 | API 费用 | 总成本 |
|---|---|---|---|---|---|
| 本地 Mac | 已有 | ~10元/月 | 0 | ~50元/月 | ~60元/月 |
| 阿里云 | 0 | 0 | 24元/月 | ~50元/月 | ~74元/月 |
差价: 仅 14 元/月
但你获得:
- ✅ 7x24 稳定运行
- ✅ 公网访问
- ✅ 不占用本地电脑
- ✅ 不依赖开机状态
3.1 macOS 安装
🎯 系统要求
📝 安装步骤
方法一:一键安装(推荐)⭐
# 官方一键安装脚本
curl -fsSL https://openclaw.ai/install.sh | bash
安装过程:
方法二:手动安装(进阶)
步骤1:安装 Homebrew
# 检查是否已安装
brew --version
# 如未安装,执行
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
步骤2:安装 Node.js 22+
# 通过 Homebrew 安装
brew install node@22
# 验证版本
node -v
# 输出:v22.x.x
npm -v
# 输出:10.x.x
步骤3:安装 OpenClaw CLI
# 全局安装
npm install -g openclaw@latest
# 验证安装
openclaw --version
步骤4:初始化配置
# 运行配置向导
openclaw onboard --install-daemon
配置向导会询问:
配置示例:
? 选择配置模式: QuickStart
? 选择 AI 提供商: Claude (推荐)
? 输入 Claude API Key: sk-ant-xxx...
? 启用基础技能: Yes
? 选择包管理器: npm
? 选择消息渠道: Telegram
? 输入 Telegram Bot Token: 123456:ABC-DEF...
✅ 配置完成!
步骤5:启动 OpenClaw
# 启动网关服务
openclaw gateway --bind loopback --port 18789 --verbose
# 输出:
# OpenClaw Gateway v2.0.0
# Listening on http://127.0.0.1:18789
# Press Ctrl+C to stop
步骤6:访问 Web 界面
浏览器打开:http://127.0.0.1:18789
🎨 macOS 安装流程图
🔧 macOS 特殊说明
Apple Silicon (M1/M2/M3/M4) 注意事项
# 1. 检查芯片类型
uname -m
# arm64 = Apple Silicon
# x86_64 = Intel
# 2. Homebrew 路径
# Apple Silicon: /opt/homebrew
# Intel: /usr/local
# 3. 可能需要安装 Rosetta 2
softwareupdate --install-rosetta --agree-to-license
权限问题
# ❌ 不要使用 sudo
sudo openclaw gateway start # 错误!
# ✅ 正确方式
openclaw gateway start
原因: 使用 sudo 会导致配置文件写入 /var/root,且无法正常使用 macOS 权限。
📝 后台运行(可选)
# 安装为系统服务
openclaw gateway install
# 启动服务
openclaw gateway start
# 停止服务
openclaw gateway stop
# 查看状态
openclaw gateway status
# 卸载服务
openclaw gateway uninstall
📂 配置文件位置
# 配置文件
~/.openclaw/openclaw.json
# 日志文件
~/.openclaw/logs/
# 查看配置
cat ~/.openclaw/openclaw.json
🐛 常见问题
问题1:Node.js 版本过低
# 错误提示
Error: OpenClaw requires Node.js >= 22.0.0
# 解决方案
brew uninstall node
brew install node@22
问题2:权限被拒绝
# 错误提示
Error: EACCES: permission denied
# 解决方案(不要用 sudo)
npm config set prefix ~/.npm-global
export PATH=~/.npm-global/bin:$PATH
npm install -g openclaw@latest
问题3:端口被占用
# 错误提示
Error: Port 18789 is already in use
# 查看占用进程
lsof -i :18789
# 杀死进程
kill -9 <PID>
# 或使用其他端口
openclaw gateway --port 18790
3.2 Windows 安装
🎯 系统要求
📝 安装步骤
方法一:一键安装(推荐)⭐
步骤1:解锁 PowerShell 权限
# 以管理员身份运行 PowerShell
# 右键点击"开始" → "Windows PowerShell (管理员)"
# 解锁执行策略
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# 输入 Y 确认
步骤2:运行一键安装脚本
# 执行官方安装脚本
iwr -useb https://clawd.bot/install.ps1 | iex
安装过程:
方法二:手动安装(进阶)
步骤1:安装 Node.js
- 访问 Node.js 官网
- 下载 Windows 64 位安装包 (.msi)
- 运行安装程序
- ✅ 确保勾选 “Add Node.js to PATH”
- 完成安装
验证安装:
# 打开 PowerShell(普通权限)
node -v
# 输出:v22.x.x
npm -v
# 输出:10.x.x
步骤2:配置 npm 镜像(可选,加速下载)
# 使用淘宝镜像
npm config set registry https://registry.npmmirror.com
# 验证配置
npm config get registry
步骤3:安装 OpenClaw CLI
# 方式1:直接安装
npm install -g openclaw@latest
# 方式2:使用代理(如需翻墙)
$env:HTTP_PROXY="http://127.0.0.1:7890"
$env:HTTPS_PROXY="http://127.0.0.1:7890"
npm install -g openclaw@latest
# 方式3:安装汉化版
npm install -g @qingchencloud/openclaw-zh@latest
验证安装:
openclaw --version
# 输出:OpenClaw v2.0.0
步骤4:初始化配置
# 运行配置向导
openclaw onboard --install-daemon
配置向导(Windows 版):
推荐配置(国内用户):
? 选择配置模式: QuickStart
? 选择 AI 提供商: Qwen (阿里千问)
? 输入 Qwen API Key: sk-xxx...
? 启用基础技能: Yes
? 选择包管理器: npm
? 选择消息渠道: 飞书 (Lark)
? 输入飞书 App ID: cli_xxx...
? 输入飞书 App Secret: xxx...
✅ 配置完成!
步骤5:启动 OpenClaw
# 启动网关服务
openclaw gateway start
# 输出:
# OpenClaw Gateway v2.0.0
# Listening on http://127.0.0.1:18789
# Press Ctrl+C to stop
步骤6:访问 Web 界面
浏览器打开:http://127.0.0.1:18789
🎨 Windows 安装流程图
🔧 Windows 特殊说明
防火墙配置
# Windows 防火墙可能会拦截,需要允许
# 首次启动时会弹出防火墙提示,点击"允许访问"
# 或手动添加规则
netsh advfirewall firewall add rule name="OpenClaw" dir=in action=allow protocol=TCP localport=18789
后台运行(Windows 服务)
# 安装为 Windows 服务
openclaw gateway install
# 启动服务
openclaw gateway start
# 停止服务
openclaw gateway stop
# 查看状态
openclaw gateway status
# 卸载服务
openclaw gateway uninstall
开机自启动
# 方式1:使用 Windows 服务(推荐)
openclaw gateway install
# 方式2:添加到启动文件夹
# 1. Win+R 输入 shell:startup
# 2. 创建快捷方式指向:
# C:\Users\你的用户名\AppData\Roaming\npm\openclaw.cmd gateway start
📂 配置文件位置
# 配置文件
C:\Users\你的用户名\.openclaw\openclaw.json
# 日志文件
C:\Users\你的用户名\.openclaw\logs\
# 查看配置
type C:\Users\你的用户名\.openclaw\openclaw.json
🐛 常见问题
问题1:Node.js 版本过低
# 错误提示
Error: OpenClaw requires Node.js >= 22.0.0
Current version: v18.x.x
# 解决方案
# 1. 卸载旧版本
# 控制面板 → 程序 → 卸载 Node.js
# 2. 安装新版本
# 从官网下载 v22.x.x 安装包
问题2:npm 安装失败
# 错误提示
npm ERR! network timeout
# 解决方案1:使用国内镜像
npm config set registry https://registry.npmmirror.com
npm install -g openclaw@latest
# 解决方案2:使用代理
$env:HTTP_PROXY="http://127.0.0.1:7890"
$env:HTTPS_PROXY="http://127.0.0.1:7890"
npm install -g openclaw@latest
# 解决方案3:清除缓存
npm cache clean --force
npm install -g openclaw@latest
问题3:PowerShell 执行策略限制
# 错误提示
无法加载文件,因为在此系统上禁止运行脚本
# 解决方案
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
问题4:端口被占用
# 错误提示
Error: Port 18789 is already in use
# 查看占用进程
netstat -ano | findstr :18789
# 杀死进程(替换 <PID> 为实际进程 ID)
taskkill /PID <PID> /F
# 或使用其他端口
openclaw gateway --port 18790
问题5:中文乱码
# 设置 PowerShell 编码为 UTF-8
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
# 或安装汉化版
npm uninstall -g openclaw
npm install -g @qingchencloud/openclaw-zh@latest
💡 Windows 推荐配置
推荐 AI 模型(国内用户)
| 模型 | 优势 | API 获取 |
|---|---|---|
| Moonshot Kimi K2.5 | 中文理解优秀、200K 长上下文、性价比高 | Moonshot AI |
| 阿里千问 Qwen | 国内访问快、稳定、免费额度 | 阿里云百炼 |
| 智谱 GLM-4 | 代码能力强、支持工具调用 | 智谱 AI |
推荐消息渠道(国内用户)
| 渠道 | 优势 | 获取方式 |
|---|---|---|
| 飞书 | 国内稳定、企业级、功能全 | 飞书开放平台 |
| 企业微信 | 办公集成、易用 | 企业微信开发者中心 |
| 钉钉 | 企业常用、集成方便 | 钉钉开放平台 |
4. 阿里云部署实战
🎯 部署前准备
服务器配置要求
获取百炼 API-Key
- 访问 阿里云百炼控制台
- 创建应用 → 获取 API-Key
- 记录 API-Key(后续配置使用)
📝 方案一:一键部署(推荐新手)⭐
步骤1:购买服务器
- 访问阿里云 OpenClaw 部署专题页面
- 点击"一键购买并部署"
- 选择配置:
- 镜像:OpenClaw(Moltbot)
- 地域:美国(弗吉尼亚)或中国香港
- 套餐:2核4GB(约 24 元/月)
步骤2:配置安全组
# 在阿里云控制台
1. 进入 ECS 实例详情
2. 点击"安全组" → "配置规则"
3. 添加入方向规则:
- 端口:18789
- 协议:TCP
- 授权对象:0.0.0.0/0
4. 点击"一键放通"
步骤3:配置 API-Key
# 在控制台"执行命令"中粘贴
openclaw config set model.aliyun_bailian.api_key "你的API-Key"
步骤4:生成访问 Token
openclaw token generate --admin
记录生成的 Token,用于首次登录。
步骤5:访问 Web 界面
浏览器打开:http://你的服务器IP:18789
输入 Token 登录即可使用。
🎨 一键部署流程图
5. Docker 手动部署
🎯 为什么选择 Docker?
📝 完整部署步骤
步骤1:登录服务器
# SSH 登录
ssh root@你的服务器公网IP
# 输入密码
步骤2:安装 Docker
# 一键安装 Docker
curl -fsSL https://get.docker.com | bash
# 启动 Docker
systemctl start docker
# 设置开机自启
systemctl enable docker
# 验证安装
docker --version
# 输出:Docker version 24.0.7, build afdd53b
步骤3:创建目录
# 创建配置和日志目录
mkdir -p /opt/openclaw/{config,logs}
# 查看目录结构
tree /opt/openclaw
# /opt/openclaw
# ├── config
# └── logs
步骤4:拉取镜像
# 拉取最新镜像
docker pull openclaw/openclaw:2026-latest
# 查看镜像
docker images | grep openclaw
步骤5:启动容器
docker run -d \
--name openclaw \
--restart always \
-p 18789:18789 \
-v /opt/openclaw/config:/app/config \
-v /opt/openclaw/logs:/app/logs \
openclaw/openclaw:2026-latest
参数说明:
| 参数 | 说明 |
|---|---|
-d |
后台运行 |
--name openclaw |
容器名称 |
--restart always |
自动重启 |
-p 18789:18789 |
端口映射 |
-v /opt/openclaw/config:/app/config |
配置目录挂载 |
-v /opt/openclaw/logs:/app/logs |
日志目录挂载 |
步骤6:配置 API-Key
# 进入容器
docker exec -it openclaw bash
# 配置百炼 API-Key
openclaw config set model.aliyun_bailian.api_key "你的API-Key"
# 查看配置
openclaw config list
# 退出容器
exit
步骤7:生成 Token
# 生成管理员 Token
docker exec -it openclaw openclaw token generate --admin
# 输出示例:
# Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
# 有效期:永久
步骤8:验证部署
# 查看容器状态
docker ps | grep openclaw
# 查看日志
docker logs openclaw
# 查看资源占用
docker stats openclaw
🎨 Docker 部署流程图
📝 常用 Docker 命令
# 查看容器状态
docker ps
# 停止容器
docker stop openclaw
# 启动容器
docker start openclaw
# 重启容器
docker restart openclaw
# 查看日志(实时)
docker logs -f openclaw
# 查看最近 100 行日志
docker logs --tail 100 openclaw
# 进入容器
docker exec -it openclaw bash
# 删除容器
docker rm -f openclaw
# 更新镜像
docker pull openclaw/openclaw:2026-latest
docker rm -f openclaw
# 重新运行 docker run 命令
6. 安全配置与优化
🔐 安全组配置
阿里云安全组规则
配置步骤
- 登录阿里云控制台
- 进入 云服务器 ECS → 安全组
- 点击 配置规则 → 入方向 → 手动添加
| 端口范围 | 授权对象 | 协议 | 说明 |
|---|---|---|---|
| 22/22 | 你的IP/32 | TCP | SSH(限制IP) |
| 18789/18789 | 0.0.0.0/0 | TCP | OpenClaw Web |
| 80/80 | 0.0.0.0/0 | TCP | HTTP(可选) |
| 443/443 | 0.0.0.0/0 | TCP | HTTPS(可选) |
🔧 服务器防火墙
# 查看防火墙状态
systemctl status firewalld
# 开放 18789 端口
firewall-cmd --permanent --add-port=18789/tcp
# 重载防火墙
firewall-cmd --reload
# 查看已开放端口
firewall-cmd --list-ports
# 限制 SSH 访问(仅允许指定 IP)
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="你的IP" port port="22" protocol="tcp" accept'
firewall-cmd --reload
🔒 HTTPS 配置(推荐)
使用 Nginx 反向代理
# 1. 安装 Nginx
yum install -y nginx
# 2. 配置 Nginx
cat > /etc/nginx/conf.d/openclaw.conf <<'EOF'
server {
listen 80;
server_name your-domain.com;
# 重定向到 HTTPS
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name your-domain.com;
# SSL 证书(使用 Let's Encrypt)
ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
# 反向代理到 OpenClaw
location / {
proxy_pass http://127.0.0.1:18789;
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 支持
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
# 3. 安装 Certbot(Let's Encrypt)
yum install -y certbot python3-certbot-nginx
# 4. 申请证书
certbot --nginx -d your-domain.com
# 5. 启动 Nginx
systemctl start nginx
systemctl enable nginx
📊 性能优化
Docker 资源限制
# 限制 CPU 和内存
docker run -d \
--name openclaw \
--restart always \
--cpus="2" \
--memory="4g" \
-p 18789:18789 \
-v /opt/openclaw/config:/app/config \
-v /opt/openclaw/logs:/app/logs \
openclaw/openclaw:2026-latest
日志轮转配置
# 创建日志轮转配置
cat > /etc/logrotate.d/openclaw <<'EOF'
/opt/openclaw/logs/*.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 0644 root root
}
EOF
# 手动执行日志轮转
logrotate -f /etc/logrotate.d/openclaw
7. 实战案例
案例1:自动整理桌面文件
需求描述
桌面文件太乱,需要按文件类型自动分类到不同文件夹。
实现步骤
操作示例
用户: “帮我整理桌面文件,按类型分类”
OpenClaw 执行:
# 1. 扫描桌面
cd ~/Desktop
# 2. 创建分类文件夹
mkdir -p 文档 图片 视频 压缩包 其他
# 3. 移动文件
mv *.pdf *.doc *.docx *.txt 文档/
mv *.jpg *.png *.gif *.jpeg 图片/
mv *.mp4 *.avi *.mov 视频/
mv *.zip *.rar *.tar.gz 压缩包/
mv * 其他/
# 4. 报告结果
echo "整理完成:
- 文档:15 个文件
- 图片:32 个文件
- 视频:5 个文件
- 压缩包:3 个文件
- 其他:8 个文件"
案例2:批量下载网页图片
需求描述
从指定网页批量下载所有图片到本地。
实现步骤
操作示例
用户: “帮我下载 https://example.com 这个网页的所有图片”
OpenClaw 执行:
import requests
from bs4 import BeautifulSoup
import os
# 1. 打开网页
url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 2. 提取图片链接
images = soup.find_all('img')
img_urls = [img.get('src') for img in images]
# 3. 创建下载目录
os.makedirs('downloaded_images', exist_ok=True)
# 4. 批量下载
for i, img_url in enumerate(img_urls):
img_data = requests.get(img_url).content
with open(f'downloaded_images/image_{i+1}.jpg', 'wb') as f:
f.write(img_data)
print(f"下载完成:共 {len(img_urls)} 张图片")
案例3:自动发送邮件报告
需求描述
每天早上 9 点自动生成昨日数据报告并发送邮件。
实现步骤
操作示例
用户: “每天早上 9 点给我发送昨日数据报告”
OpenClaw 配置:
import schedule
import time
from email.mime.text import MIMEText
import smtplib
def send_daily_report():
# 1. 查询数据
data = query_database()
# 2. 生成报告
report = f"""
<h2>昨日数据报告</h2>
<p>新增用户:{data['new_users']}</p>
<p>活跃用户:{data['active_users']}</p>
<p>订单数量:{data['orders']}</p>
<p>营收:¥{data['revenue']}</p>
"""
# 3. 发送邮件
msg = MIMEText(report, 'html', 'utf-8')
msg['Subject'] = '昨日数据报告'
msg['From'] = 'bot@example.com'
msg['To'] = 'admin@example.com'
smtp = smtplib.SMTP('smtp.example.com', 587)
smtp.starttls()
smtp.login('bot@example.com', 'password')
smtp.send_message(msg)
smtp.quit()
print("报告已发送")
# 定时任务
schedule.every().day.at("09:00").do(send_daily_report)
while True:
schedule.run_pending()
time.sleep(60)
8. 本章总结
✅ 你学到了什么?
- ✔️ OpenClaw 的核心概念和工作原理
- ✔️ OpenClaw vs 豆包 vs 千问的详细对比
- ✔️ 阿里云一键部署 OpenClaw
- ✔️ Docker 手动部署的完整流程
- ✔️ 安全组配置和 HTTPS 部署
- ✔️ 性能优化和日志管理
- ✔️ 3 个实战案例(文件整理、图片下载、邮件报告)
🎯 核心知识点
📊 OpenClaw vs 豆包 vs 千问决策树
💡 最佳实践
- 生产环境必须配置 HTTPS:使用 Nginx + Let’s Encrypt
- 限制 SSH 访问:仅允许指定 IP
- 定期更新镜像:
docker pull openclaw/openclaw:2026-latest - 配置日志轮转:避免磁盘占满
- 监控资源占用:
docker stats openclaw - 备份配置文件:定期备份
/opt/openclaw/config
OpenClaw 安装问题记录与解决方案
记录 OpenClaw 在 macOS 上的安装过程中遇到的问题及最终解决方案
📋 安装环境
- 系统:macOS(Apple Silicon - arm64)
- Node.js:v22.16.0
- OpenClaw 版本:2026.3.2
- 最终选择的消息渠道:Discord ✅
🐛 遇到的问题
问题 1:Node.js 版本过低
现象
node -v
# v18.20.8
OpenClaw 要求 Node.js >= 22,初始版本为 v18。
解决方案
使用 nvm 或 Homebrew 升级到 Node.js 22:
# 方式 1:使用 nvm
nvm install 22
nvm use 22
# 方式 2:使用 Homebrew
brew install node@22
echo 'export PATH="/opt/homebrew/opt/node@22/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
结果
node -v
# v22.16.0 ✅
问题 2:Telegram 登录卡在「Invalid Country Code」
现象
在 Telegram 桌面版登录时,一直提示:
Invalid Country Code
+18458195149
无法点击国家代码选择框,无法继续登录。
尝试的解决方案
- ❌ 点击「Invalid Country Code」右侧箭头 → 无响应
- ❌ 长按整行 → 无反应
- ❌ 双击 → 无反应
- ❌ 尝试修改手机号格式 → 仍然提示 Invalid
根本原因
- 界面可能存在 Bug 或交互问题
- 国家代码选择器无法正常触发
放弃原因
Telegram 登录流程过于复杂,且需要:
- 在 iPhone 上安装 Telegram 官方 App
- 但 Telegram 在中国大陆 App Store 已下架
- 需要换区或使用其他 Apple ID
- 流程繁琐,决定改用 Discord
问题 3:Telegram 在 iPhone 上无法下载
现象
在 iPhone 的 App Store 搜索 Telegram Messenger,找不到应用。
原因分析
Telegram 在中国大陆区 App Store 已被下架,无法直接下载。
可能的解决方案(未采用)
-
换区到香港/美国:
- 设置 → Apple ID → 媒体与购买项目 → 更改国家或地区
- 需要取消订阅、填写当地地址
-
使用其他 Apple ID:
- 用非大陆区账号在 App Store 登录下载
- 下载完后可切回自己账号
-
使用 TestFlight 测试版:
- 下载 TestFlight
- 访问:https://testflight.apple.com/join/ZVJWe4KO
- 安装 Telegram Beta
决定
考虑到流程复杂,最终放弃 Telegram,改用 Discord。
问题 4:不清楚 WhatsApp 是否收费
疑问
OpenClaw 配置时看到 WhatsApp 选项,不确定是否需要付费。
解答
| 用途 | 是否收费 |
|---|---|
| 个人日常使用 WhatsApp | ✅ 免费 |
| 接入 OpenClaw(WhatsApp Business API) | ❌ 收费(按消息条数) |
结论: WhatsApp Business API 按消息计费,不如 Telegram/Discord 免费,放弃。
✅ 最终解决方案:使用 Discord
为什么选择 Discord?
Discord 优势:
- ✅ 完全免费
- ✅ 中国区 App Store 可下载
- ✅ 创建 Bot 简单
- ✅ 功能强大(语音、频道、权限管理)
Discord Bot 创建步骤
1. 访问 Discord 开发者门户
https://discord.com/developers/applications
2. 创建应用
- 点 「New Application」
- 应用名称:
OpenClaw Bot - 点 「Create」
3. 创建 Bot
- 左侧菜单 → 「Bot」
- 点 「Add Bot」 → 「Yes, do it!」
4. 获取 Token
- 在 TOKEN 部分点 「Reset Token」 或 「Copy」
- 复制 Token(格式:
MTIzNDU2...)
5. 启用权限
在 Bot 页面勾选:
- ✅ MESSAGE CONTENT INTENT
- 点 「Save Changes」

6. 生成邀请链接
- 左侧 「OAuth2」 → 「URL Generator」
- SCOPES 勾选:
- ✅ bot
- ✅ applications.commands
- BOT PERMISSIONS 勾选:
- ✅ Send Messages
- ✅ Read Messages/View Channels
- ✅ Read Message History
- 复制底部生成的 URL


更多推荐

所有评论(0)