乐于分享
好东西不私藏

OpenClaw 部署全攻略:方法、技巧与注意事项

OpenClaw 部署全攻略:方法、技巧与注意事项

📌 核心定位
OpenClaw 是一个本地运行的多渠道 AI 助手网关,作为用户与 AI 模型之间的智能控制平面。它不是 AI 模型本身,而是连接用户(通过 14+ 种通信渠道)和 AI 模型(通过 API)的网关。
核心优势:
本地优先:消息处理在本地完成,仅模型调用需云端
多渠道统一:一个网关接入 WhatsApp、Telegram、Slack、Discord 等 14+ 渠道
灵活部署:支持 CLI、Docker、源码三种方式
工具调用:25+ 内置工具(Browser、Canvas、Cron、Sessions 等)
安全可控:DM 配对机制、访问控制、白名单管理
🚀 一、三种部署方法
方法 1:CLI 部署(推荐个人用户)
适用场景:个人使用、快速测试、学习体验
前置要求:
Node.js ≥ 22
npm/pnpm/bun 已安装
稳定的网络连接
部署步骤:
# 1. 全局安装
npm install -g openclaw@latest
# 或使用 pnpm
pnpm add -g openclaw@latest

# 2. 运行配置向导(交互式配置)
openclaw onboard --install-daemon

# 3. 启动网关
openclaw gateway --port 18789 --verbose

# 4. 测试消息发送
openclaw message send --to +1234567890 --message "Hello from OpenClaw"

# 5. AI 对话
openclaw agent --message "Ship checklist" --thinking high
优点:
✅ 最简单快速,几分钟即可上手
✅ 适合个人学习和实验
✅ 无需额外容器环境
缺点:
❌ 不适合生产环境
❌ 进程管理依赖系统 daemon
方法 2:Docker 部署(推荐企业生产)
适用场景:企业部署、生产环境、隔离需求
前置要求:
Docker ≥ 20.10
Docker Compose ≥ 2.0
足够的系统资源(建议 4 核 CPU、8GB 内存)
部署步骤:
# 创建 docker-compose.yml
version: '3.8'

services:
openclaw:
image: openclaw/openclaw:latest
container_name: openclaw
ports:
- "18789:18789"
volumes:
- ./data:/app/.openclaw # 数据持久化
environment:
# Gateway 认证
- OPENCLAW_GATEWAY_TOKEN=your-long-random-token-32chars+

# AI 模型 API 密钥(Anthropic 推荐)
- ANTHROPIC_API_KEY=sk-ant-...
# 备用 API 密钥
- ANTHROPIC_API_KEY_1=sk-ant-backup-...

# OpenAI API(可选备用)
- OPENAI_API_KEY=sk-...

# 渠道配置
- TELEGRAM_BOT_TOKEN=123456:ABC-DEF1234...
- SLACK_BOT_TOKEN=xoxb-...
- SLACK_APP_TOKEN=xapp-...
- DISCORD_BOT_TOKEN=...
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:18789/health"]
interval: 30s
timeout: 10s
retries: 3
# 1. 拉取镜像
docker pull openclaw/openclaw:latest

# 2. 创建配置文件
cp .env.example .env
# 编辑 .env 文件,填入所有必需的 API 密钥

# 3. 启动容器
docker-compose up -d

# 4. 查看日志
docker-compose logs -f openclaw

# 5. 进入容器运行配置向导
docker exec -it openclaw openclaw onboard

# 6. 诊断检查
docker exec -it openclaw openclaw doctor
优点:
✅ 环境隔离,依赖管理简单
✅ 易于迁移和备份
✅ 支持容器编排和扩展
✅ 适合生产环境
缺点:
❌ 需要 Docker 知识
❌ 资源开销略大
方法 3:源码部署(推荐开发者)
适用场景:定制开发、深度调试、学习源码
前置要求:
Node.js ≥ 22
pnpm(推荐)
Git
部署步骤:
# 1. 克隆仓库
git clone https://github.com/openclaw/openclaw.git
cd openclaw

# 2. 安装依赖
pnpm install

# 3. 构建 UI
pnpm ui:build

# 4. 构建项目
pnpm build

# 5. 配置环境
cp .env.example .env
# 编辑 .env 文件

# 6. 运行配置向导
pnpm openclaw onboard --install-daemon

# 7. 开发模式(支持热重载)
pnpm gateway:watch

# 8. 生产模式
pnpm gateway:start
优点:
✅ 完全可定制
✅ 支持源码调试
✅ 可提交自定义代码
缺点:
❌ 需要开发能力
❌ 维护成本高
💡 二、核心配置技巧
技巧 1:AI 模型配置与故障转移
推荐模型组合:
表格
场景 首选模型 备用模型 原因
通用对话 Claude 3.5 Sonnet GPT-4 平衡性能和成本
复杂任务 Claude Opus 4.6 Claude 3.5 Sonnet 最强能力
代码任务 GPT-4 Claude 3.5 Sonnet 代码理解强
长上下文 Claude 200k GPT-4 Turbo 支持 200k tokens
低成本场景 GPT-4o-mini Claude Haiku 性价比最高
多密钥配置(实现故障转移) :
# 方式 1:环境变量(推荐)
export ANTHROPIC_API_KEY=sk-ant-primary-...
export ANTHROPIC_API_KEY_1=sk-ant-backup-1...
export ANTHROPIC_API_KEY_2=sk-ant-backup-2...

# 方式 2:多密钥轮换
export ANTHROPIC_API_KEYS=sk-ant-1,sk-ant-2,sk-ant-3
export OPENAI_API_KEYS=sk-1,sk-2,sk-3
模型选择配置:
{
"models": {
"default": "anthropic:claude-3-5-sonnet",
"fallback": "openai:gpt-4",
"rotation": "round-robin",
"retryPolicy": {
"maxRetries": 3,
"backoffMs": 1000
}
}
}
监控模型使用:
# 查看模型使用统计
openclaw stats --models

# 查看成本报告
openclaw stats --cost
技巧 2:DM 安全策略配置
DM 策略类型:
配对模式(pairing) - 推荐
未知用户收到配对代码
管理员审批后加入白名单
最安全
开放模式(open)
配合白名单使用
需要明确 allowFrom
配对模式配置:
{
"channels": {
"telegram": {
"dmPolicy": "pairing"
},
"slack": {
"dmPolicy": "pairing"
},
"discord": {
"dmPolicy": "pairing"
}
}
}
配对流程:
# 1. 未知用户发送消息 → Gateway 返回配对码(如:ABC123)

# 2. 管理员审批配对
openclaw pairing approve telegram ABC123

# 3. 用户加入白名单,后续消息正常处理

# 4. 查看待审批配对列表
openclaw pairing list

# 5. 拒绝配对
openclaw pairing reject telegram ABC123
开放模式配置(需谨慎):
{
"channels": {
"slack": {
"dmPolicy": "open",
"allowFrom": [
"user1",
"user2",
"@team-alpha",
"@developers"
]
}
}
}
技巧 3:多渠道统一配置
支持渠道清单:
即时通讯:WhatsApp、Telegram、Signal、Google Chat、Zalo
企业协作:Slack、Discord、Microsoft Teams
扩展渠道:BlueBubbles(iMessage)、Matrix、WebChat
多渠道环境变量配置:
# Telegram
export TELEGRAM_BOT_TOKEN=123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11

# Slack
export SLACK_BOT_TOKEN=xoxb-your-bot-token
export SLACK_APP_TOKEN=xapp-your-app-token

# Discord
export DISCORD_BOT_TOKEN=your-discord-bot-token

# WhatsApp
export WHATSAPP_PHONE_NUMBER_ID=your-phone-number-id
export WHATSAPP_ACCESS_TOKEN=your-access-token

# Microsoft Teams
export MICROSOFT_APP_ID=your-app-id
export MICROSOFT_APP_PASSWORD=your-app-secret
渠道激活配置:
{
"channels": {
"telegram": {
"enabled": true,
"dmPolicy": "pairing"
},
"slack": {
"enabled": true,
"dmPolicy": "pairing"
},
"discord": {
"enabled": true,
"dmPolicy": "pairing"
},
"whatsapp": {
"enabled": false
}
}
}
技巧 4:会话管理优化
会话超时配置:
{
"gateway": {
"sessions": {
"maxAge": 86400, // 会话超时 24 小时(秒)
"cleanupInterval": 3600, // 每小时清理一次过期会话
"maxContextLength": 10000 // 最大上下文长度(tokens)
}
}
}
并发控制配置:
{
"gateway": {
"concurrency": {
"max": 10, // 最大并发请求数
"queueSize": 100, // 队列大小
"timeout": 30000 // 请求超时 30 秒
}
}
}
会话管理命令:
# 列出所有会话
openclaw sessions list

# 查看会话历史
openclaw sessions history --session-id <session-id>

# 创建子 Agent 会话
openclaw sessions spawn --parent-session-id <parent-id>

# 跨会话发送消息
openclaw sessions send --to <session-id> --message "Hello"
技巧 5:成本控制与优化
成本计算方法:
输入成本 = 输入 tokens × 输入价格(每 1M tokens)
输出成本 = 输出 tokens × 输出价格(每 1M tokens)
总成本 = 输入成本 + 输出成本
成本预估示例(假设每天 1000 条消息):
假设参数:
- 每条消息平均:1000 输入 tokens + 500 输出 tokens
- 使用模型:Claude 3.5 Sonnet($3/1M 输入,$15/1M 输出)
- 每月 30 天

计算:
输入成本 = 1000 条 × 1000 tokens × 30 天 × $3 / 1,000,000 = $90
输出成本 = 1000 条 × 500 tokens × 30 天 × $15 / 1,000,000 = $225
月度总成本 = $90 + $225 = $315
成本优化策略:
模型分层使用
{
"models": {
"routes": [
{
"condition": "simple",
"model": "gpt-4o-mini" // 简单任务用低成本模型
},
{
"condition": "complex",
"model": "claude-3-5-sonnet" // 复杂任务用中成本模型
},
{
"condition": "critical",
"model": "claude-opus-4.6" // 关键任务用高成本模型
}
]
}
}
缓存常见问题
{
"gateway": {
"cache": {
"enabled": true,
"ttl": 3600, // 缓存 1 小时
"maxSize": 1000 // 最多缓存 1000 个答案
}
}
}
监控和告警
# 查看成本统计
openclaw stats --cost

# 设置成本告警(需外部脚本)
# 当月成本超过预算时发送通知
⚠️ 三、关键注意事项
注意事项 1:安全配置(至关重要)
1. Gateway 认证(必须配置)
# 方式 1:Token 认证(推荐)
export OPENCLAW_GATEWAY_TOKEN=your-long-random-token-32chars-min

# 方式 2:密码认证(可选)
export OPENCLAW_GATEWAY_PASSWORD=your-strong-password

# Token 生成建议
# - 长度 ≥ 32 字符
# - 包含大小写字母、数字、特殊字符
# - 使用密码管理器生成
2. API 密钥保护
# ✅ 正确做法:使用 .env 文件(不提交到版本控制)
echo ".env" >> .gitignore

# ❌ 错误做法:硬编码在代码或配置文件中
# ✅ 正确做法:使用环境变量或密钥管理服务
3. 网络安全
{
"gateway": {
"network": {
"bindAddress": "127.0.0.1", // 仅监听本地(推荐)
// "bindAddress": "0.0.0.0", // 监听所有接口(谨慎使用)
"cors": {
"enabled": false // 默认禁用 CORS
}
}
}
}
4. 定期安全审计
# 运行安全诊断
openclaw doctor --security

# 检查项包括:
# - DM 策略配置
# - Gateway 认证状态
# - API 密钥安全性
# - 网络访问限制
# - 白名单配置
注意事项 2:部署前检查清单
环境检查:
# 1. Node.js 版本(CLI 部署)
node --version # 应显示 v22.x.x 或更高

# 2. Docker 版本(Docker 部署)
docker --version # 应显示 20.10+
docker-compose --version # 应显示 2.0+

# 3. 网络连接
ping api.anthropic.com
ping api.openai.com

# 4. 磁盘空间
df -h # 确保有 ≥ 5GB 可用空间
API 密钥验证:
# 验证 Anthropic API
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-3-5-sonnet-20241022","max_tokens":10,"messages":[{"role":"user","content":"Hi"}]}'

# 验证 OpenAI API
curl https://api.openai.com/v1/chat/completions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-4","messages":[{"role":"user","content":"Hi"}],"max_tokens":10}'
配置文件验证:
# 验证 JSON 格式
cat openclaw.json | jq .

# 验证环境变量
source .env
echo $ANTHROPIC_API_KEY
注意事项 3:常见陷阱与规避
陷阱 1:Node.js 版本不匹配
# ❌ 错误:使用旧版本 Node.js
# Node.js 16 或 20 会导致兼容性问题

# ✅ 正确:确保使用 Node.js ≥ 22
# 使用 nvm 管理 Node 版本
nvm install 22
nvm use 22
陷阱 2:API 密钥未生效
# ❌ 错误:配置 .env 后未重启服务
# 环境变量只在进程启动时加载

# ✅ 正确:配置后重启服务
# CLI 部署
openclaw gateway --restart

# Docker 部署
docker-compose restart
陷阱 3:端口被占用
# ❌ 错误:默认端口 18789 被其他服务占用

# ✅ 正确:修改端口或释放端口
# 方式 1:修改端口
openclaw gateway --port 18889

# 方式 2:查找并释放占用端口的进程
lsof -i :18789
kill -9 <PID>
陷阱 4:权限问题
# ❌ 错误:以普通用户运行但需要 root 权限

# ✅ 正确:确保文件权限正确
chown -R $USER:$USER ~/.openclaw
chmod 600 ~/.openclaw/.env
注意事项 4:生产环境部署建议
1. 使用进程管理器
# 使用 PM2(CLI 部署)
npm install -g pm2
pm2 start "openclaw gateway" --name openclaw
pm2 startup
pm2 save
2. 配置日志管理
{
"gateway": {
"logging": {
"level": "info", // 日志级别:error, warn, info, debug
"file": "/var/log/openclaw/gateway.log",
"maxSize": "100M",
"maxFiles": 10
}
}
}
3. 配置监控告警
# 使用健康检查端点
curl http://localhost:18789/health

# 外部监控方案:
# - Prometheus + Grafana
# - Datadog
# - New Relic
4. 数据备份策略
# 备份配置和数据
tar -czf openclaw-backup-$(date +%Y%m%d).tar.gz ~/.openclaw

# 定期备份(使用 cron)
0 2 * * * /path/to/backup-script.sh
注意事项 5:性能优化建议
1. 选择合适的模型
简单任务 → GPT-4o-mini(最快、最便宜)
通用任务 → Claude 3.5 Sonnet(平衡)
复杂任务 → Claude Opus 4.6(最强能力)
2. 优化网络连接
# 使用 CDN 或代理(如果 API 访问慢)
# 配置 DNS 优化
# 检查防火墙规则
3. 会话清理
{
"gateway": {
"sessions": {
"maxAge": 43200, // 减少会话保留时间到 12 小时
"cleanupInterval": 1800, // 增加清理频率到每 30 分钟
"maxContextLength": 5000 // 限制上下文长度
}
}
}
🔧 四、常用命令速查
部署命令
# CLI 安装
npm install -g openclaw@latest

# 配置向导
openclaw onboard --install-daemon

# 启动网关
openclaw gateway --port 18789 --verbose

# Docker 部署
docker pull openclaw/openclaw:latest
docker-compose up -d

# 源码部署
git clone https://github.com/openclaw/openclaw.git
cd openclaw && pnpm install && pnpm build
管理命令
# 诊断检查
openclaw doctor
openclaw doctor --security
openclaw doctor --channels
openclaw doctor --models

# 查看统计
openclaw stats --models
openclaw stats --cost

# 配对管理
openclaw pairing list
openclaw pairing approve <channel> <code>
openclaw pairing reject <channel> <code>

# 会话管理
openclaw sessions list
openclaw sessions history --session-id <id>
openclaw sessions send --to <id> --message "text"

# 消息发送
openclaw message send --to <channel> --message "text"

# AI 对话
openclaw agent --message "query" --thinking high
更新命令
# CLI 更新
npm update -g openclaw@latest

# Docker 更新
docker pull openclaw/openclaw:latest
docker-compose down && docker-compose up -d

# 源码更新
git pull origin main
pnpm install && pnpm build
📊 五、环境变量完整参考
# ========== Gateway 认证 ==========
OPENCLAW_GATEWAY_TOKEN=your-long-random-token-32chars-min
OPENCLAW_GATEWAY_PASSWORD=your-strong-password

# ========== AI 模型 API 密钥 ==========
# Anthropic(推荐)
ANTHROPIC_API_KEY=sk-ant-primary-...
ANTHROPIC_API_KEY_1=sk-ant-backup-1...
ANTHROPIC_API_KEY_2=sk-ant-backup-2...
ANTHROPIC_API_KEYS=sk-ant-1,sk-ant-2,sk-ant-3

# OpenAI
OPENAI_API_KEY=sk-...
OPENAI_API_KEY_1=sk-...
OPENAI_API_KEYS=sk-1,sk-2,sk-3

# Gemini
GEMINI_API_KEY=...

# OpenRouter
OPENROUTER_API_KEY=...

# ========== 渠道配置 ==========
# Telegram
TELEGRAM_BOT_TOKEN=123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11

# Slack
SLACK_BOT_TOKEN=xoxb-your-bot-token
SLACK_APP_TOKEN=xapp-your-app-token

# Discord
DISCORD_BOT_TOKEN=your-discord-bot-token

# WhatsApp
WHATSAPP_PHONE_NUMBER_ID=your-phone-number-id
WHATSAPP_ACCESS_TOKEN=your-access-token

# Microsoft Teams
MICROSOFT_APP_ID=your-app-id
MICROSOFT_APP_PASSWORD=your-app-secret

# Signal
SIGNAL_SERVICE_URL=https://signal-server.example.com

# Google Chat
GOOGLE_CHAT_CREDENTIALS=/path/to/credentials.json

# Zalo
ZALO_APP_ID=your-app-id
ZALO_ACCESS_TOKEN=your-access-token

# BlueBubbles(iMessage)
BLUEBUBBLES_URL=https://bluebubbles-server.example.com
BLUEBUBBLES_API_KEY=your-api-key

# Matrix
MATRIX_HOMESERVER=https://matrix-server.example.com
MATRIX_ACCESS_TOKEN=your-access-token

# ========== 工具 API 密钥(可选) ==========
# Brave Search
BRAVE_API_KEY=...

# Perplexity
PERPLEXITY_API_KEY=...

# ElevenLabs(TTS)
ELEVENLABS_API_KEY=...

# ========== 网关配置 ==========
GATEWAY_PORT=18789
GATEWAY_LOG_LEVEL=info
GATEWAY_MAX_SESSIONS=100
🎯 六、部署决策指南
个人用户
推荐部署方式:CLI 部署
最小配置要求:
Node.js ≥ 22
Anthropic API 密钥
一个渠道(推荐 Telegram)
预期成本:$50-200/月(取决于使用量)
小团队(10-50 人)
推荐部署方式:Docker 部署
推荐渠道:Slack + Telegram
配置建议:
使用 Claude 3.5 Sonnet 作为主要模型
配置 GPT-4 作为备用
启用 DM 配对模式
配置成本监控
预期成本:$200-800/月
中型企业(50-200 人)
推荐部署方式:Docker 集群部署
推荐渠道:Microsoft Teams + Slack + WhatsApp
配置建议:
多模型策略(分层使用)
严格的访问控制
审计日志
定期备份
成本告警
预期成本:$800-3000/月
大型企业(200+ 人)
推荐部署方式:Kubernetes + 源码定制
推荐渠道:Microsoft Teams + 自定义渠道
配置建议:
多租户架构
SSO 集成
高可用部署
灾难恢复
合规审计
预期成本:$3000+/月 + 基础设施成本
📚 七、故障排查指南
问题 1:Gateway 启动失败
检查步骤:
# 1. 检查 Node.js 版本
node --version

# 2. 检查端口占用
lsof -i :18789

# 3. 检查 API 密钥
echo $ANTHROPIC_API_KEY

# 4. 查看详细日志
openclaw gateway --verbose

# 5. 运行诊断
openclaw doctor
问题 2:渠道连接失败
检查步骤:
# 1. 验证 Token 有效性
# Telegram:向 Bot 发送 /start
# Slack:检查 App 安装状态
# Discord:检查 Bot 状态

# 2. 检查网络连接
ping api.telegram.org
ping slack.com

# 3. 查看渠道状态
openclaw doctor --channels
问题 3:API 调用失败
检查步骤:
# 1. 验证 API 密钥
# 手动测试 API(见上文"API 密钥验证")

# 2. 检查账户余额
# 访问对应 AI 模型提供商的控制台

# 3. 检查 API 限额
# 查看账户的使用配额

# 4. 查看错误日志
# 检查网关日志中的错误信息
问题 4:响应速度慢
优化方案:
# 1. 切换到更快的模型
# Claude 3.5 Sonnet 比 Opus 快
# GPT-4o-mini 比 GPT-4 快

# 2. 检查网络延迟
ping api.anthropic.com

# 3. 减少上下文长度
# 清理旧会话

# 4. 启用缓存
# 在配置中启用常见问题缓存
🆘 八、获取帮助
官方资源
📖 官方文档:https://docs.openclaw.ai
💬 Discord 社区:https://discord.gg/clawd
🐛 GitHub Issues:https://github.com/openclaw/openclaw/issues
🌐 官方网站:https://openclaw.ai
常用诊断命令
# 全面诊断
openclaw doctor

# 特定诊断
openclaw doctor --security
openclaw doctor --channels
openclaw doctor --models
openclaw doctor --gateway

# 查看版本
openclaw --version

# 查看帮助
openclaw --help
openclaw gateway --help
✅ 九、部署后验证清单
首次运行验证
Gateway 成功启动
openclaw gateway
# 应显示:Gateway listening on port 18789
所有渠道连接正常
openclaw doctor --channels
API 调用成功
openclaw agent --message "Hello"
DM 配对机制正常工作
openclaw pairing list
安全配置生效
openclaw doctor --security
持续监控
定期运行诊断(每日/每周)
监控 API 使用量和成本
监控性能指标
检查安全日志
定期备份配置和数据
🎓 十、最佳实践总结
安全第一
始终启用 Gateway 认证
使用 DM 配对模式(开放模式需谨慎)
定期运行安全诊断
API 密钥加密存储
限制网络访问
成本控制
选择合适的模型(简单任务用低成本模型)
启用缓存(减少重复 API 调用)
监控使用量(设置成本告警)
定期清理会话(减少上下文长度)
性能优化
使用更快的模型(平衡性能和成本)
优化网络(降低延迟)
并发控制(避免过载)
定期清理(维护系统健康)
运维管理
自动化部署(使用 Docker/PM2)
配置日志管理(便于排查问题)
定期备份(防止数据丢失)
监控告警(及时发现问题)
📌 附录:快速参考
三种部署方式对比
表格
特性 CLI Docker 源码
难度 ⭐ 简单 ⭐⭐ 中等 ⭐⭐⭐ 困难
适用场景 个人/测试 生产环境 定制开发
环境隔离 ❌ ✅ ❌
可定制性 ⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐⭐
模型选择快速参考
表格
场景 推荐模型 成本 速度 能力
简单任务 GPT-4o-mini $ ⚡⚡⚡ ⭐⭐
通用对话 Claude 3.5 Sonnet $$ ⚡⚡ ⭐⭐⭐⭐
复杂任务 Claude Opus 4.6 $$$$ ⚡ ⭐⭐⭐⭐⭐
代码任务 GPT-4 $$$ ⚡⚡ ⭐⭐⭐⭐
祝您部署顺利!如有问题,请查阅官方文档或加入社区寻求帮助。