OpenClaw(原 Clawdbot/Moltbot)是一款开源的 AI 自动化框架,支持多种 AI 模型(Claude、ChatGPT、Gemini 等),可通过插件扩展支持多种消息平台。
macOS 用户推荐: 在 macOS 系统上,推荐使用 OrbStack 作为 Docker 运行环境,相比 Docker Desktop 具有更快的启动速度、更低的资源占用和更好的文件系统性能。
# 1. 克隆 OpenClaw 仓库
git clone https://github.com/openclaw/openclaw.git
cd openclaw
# 2. 执行 Docker 设置脚本
./docker-setup.sh
# 3. 脚本会自动复制 docker-compose.yml 到当前目录,然后启动
docker-compose up -d
# 4. 进入容器初始化(关键步骤!)
docker exec -it openclaw sh
openclaw onboard
# 5. 设置远程访问 Token(如需远程访问)
docker exec openclaw openclaw config set gateway.auth.token your-secure-token
docker restart openclaw访问 http://服务器IP:18789 即可使用。
| 环境变量 | 说明 | 必需 |
|---|---|---|
OPENCLAW_GATEWAY_TOKEN |
Web UI 访问认证令牌 | 是 |
ANTHROPIC_API_KEY |
Claude API 密钥 | 至少一个 |
OPENAI_API_KEY |
OpenAI API 密钥 | 至少一个 |
GEMINI_API_KEY |
Google Gemini API 密钥 | 可选 |
MOONSHOT_API_KEY |
Kimi/Moonshot API 密钥 | 可选 |
OPENAI_BASE_URL |
第三方 API 代理地址 | 可选 |
NODE_ENV |
运行环境(production) | 推荐 |
如需自定义配置,可手动修改 docker-compose.yml:
version: '3.8'
services:
openclaw:
image: openclaw/openclaw:latest
container_name: openclaw
ports:
- "18789:18789"
volumes:
- openclaw-data:/home/node/.openclaw
- openclaw-workspace:/home/node/.openclaw/workspace
environment:
- OPENCLAW_GATEWAY_TOKEN=your-secure-token
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
- MOONSHOT_API_KEY=${MOONSHOT_API_KEY:-}
restart: unless-stopped
volumes:
openclaw-data:
openclaw-workspace:Moonshot/Kimi 分为两个版本:
- 国际版:
https://api.moonshot.ai/v1 - 国内版:
https://api.moonshot.cn/v1(中国境内使用,无需代理)
OpenClaw 默认使用国际版接口,国内用户需要修改为 .cn 域名。
- 普通模型:访问 https://platform.moonshot.cn/console/api-keys
- Kimi Code:访问 https://www.kimi.com/code/console
编辑配置文件(在容器内路径为 /home/node/.openclaw/openclaw.json 或 /root/.openclaw/openclaw.json):
{
"models": {
"mode": "merge",
"providers": {
"moonshot": {
"baseUrl": "https://api.moonshot.cn/v1",
"apiKey": "${MOONSHOT_API_KEY}",
"api": "openai-completions",
"headers": {
"User-Agent": "KimiCLI/0.77"
},
"compat": {
"supportsDeveloperRole": false
},
"models": [
{
"id": "kimi-k2.5",
"name": "Kimi K2.5",
"contextWindow": 256000,
"maxTokens": 8192
}
]
}
}
}
}关键配置说明:
| 参数 | 值 | 说明 |
|---|---|---|
headers.User-Agent |
KimiCLI/0.77 |
必需,标识客户端类型,不配置可能导致 API 拒绝请求 |
compat.supportsDeveloperRole |
false |
必需,国内版 Kimi 不支持 developer role,必须设为 false 使用 system role |
方法一:通过 CLI 命令配置
# 进入容器
docker exec -it openclaw sh
# 设置默认模型为 Kimi
openclaw models set moonshot/kimi-k2.5
# 设置 API Key
openclaw config set models.providers.moonshot.apiKey "你的API密钥"
openclaw config set models.providers.moonshot.baseUrl "https://api.moonshot.cn/v1"
# 重启服务
docker restart openclaw方法二:使用环境变量(推荐)
在 docker-compose.yml 中添加:
environment:
- MOONSHOT_API_KEY=sk-你的API密钥或使用 .env 文件:
# 创建 .env 文件
echo "MOONSHOT_API_KEY=sk-你的API密钥" > .env
# 启动时加载
docker-compose --env-file .env up -d| 模型引用 | 说明 |
|---|---|
moonshot/kimi-k2.5 |
Kimi K2.5 标准版 |
moonshot/kimi-k2-0905-preview |
Kimi K2 预览版 |
moonshot/kimi-k2-turbo-preview |
Kimi K2 Turbo |
moonshot/kimi-k2-thinking |
支持深度思考模式 |
kimi-code/kimi-for-coding |
Kimi Code 编程专用 |
注意:Moonshot/Kimi 是国内服务,通常无需代理即可直接访问。
如需同时访问国际服务,可在容器内设置:
# 进入容器
docker exec -it openclaw sh
# 设置代理(将 Moonshot 域名排除在代理外)
export https_proxy=http://代理地址:端口
export no_proxy=api.moonshot.cn,api.kimi.com,localhost,127.0.0.1
# 如需永久生效,添加到容器启动脚本方法一:CLI 安装(推荐)
# 进入容器执行
docker exec -it openclaw sh
# 安装插件
openclaw plugins install @m1heng-clawd/feishu方法二:使用中国版插件集合
openclaw plugins install @openclaw-china/feishu- 访问 飞书开放平台 → 开发者控制台
- 点击 创建企业自建应用
- 填写应用名称和描述
- 添加 机器人 能力(应用能力 → 添加应用能力 → 机器人)
进入 凭证与基础信息:
- 复制 App ID(如
cli_xxxxxx) - 复制 App Secret
在 权限管理 中开启以下权限:
| 权限 | 用途 |
|---|---|
contact:user.base:readonly |
获取用户基本信息 |
im:message |
收发消息 |
im:message.p2p_msg:readonly |
读取单聊消息 |
im:message.group_at_msg:readonly |
接收群聊@消息 |
im:message:send_as_bot |
以机器人身份发送消息 |
im:resource |
上传下载文件 |
在 事件与回调 中:
- 连接方式:选择 长连接(WebSocket) - 无需公网服务器!
- 订阅事件:添加以下事件
im.message.receive_v1(接收消息)im.message.message_read_v1(消息已读)im.chat.member.bot.added_v1(机器人入群)im.chat.member.bot.deleted_v1(机器人退群)
# 设置飞书配置
docker exec openclaw openclaw config set channels.feishu.appId "cli_xxxxxx"
docker exec openclaw openclaw config set channels.feishu.appSecret "your_app_secret"
docker exec openclaw openclaw config set channels.feishu.enabled true
docker exec openclaw openclaw config set channels.feishu.connectionMode websocket
# 可选:访问控制
docker exec openclaw openclaw config set channels.feishu.dmPolicy pairing
docker exec openclaw openclaw config set channels.feishu.groupPolicy allowlist
docker exec openclaw openclaw config set channels.feishu.requireMention true
# 重启 Gateway
docker restart openclaw在飞书平台:创建版本 → 申请发布
# 查看日志
docker logs -f openclaw
# 进入容器
docker exec -it openclaw sh
# 停止/重启
docker stop openclaw
docker restart openclaw
# 查看配置
docker exec openclaw openclaw config get
# 查看已安装插件
docker exec openclaw openclaw plugins list
# 备份数据
docker cp openclaw:/home/node/.openclaw ./backup| 版本 | 容器内路径 | 说明 |
|---|---|---|
| 官方原版 | /home/node/.openclaw |
node 用户运行 |
| 汉化版 | /root/.openclaw |
root 用户运行 |
数据目录包含:
- 配置、会话、设备和凭证
- 工作区和记忆文件
| 问题 | 解决方案 |
|---|---|
提示 Missing config. Run openclaw setup |
执行 docker exec -it openclaw openclaw onboard |
远程访问报错 control ui requires HTTPS or localhost |
设置 gateway.auth.token |
| 机器人能发消息但收不到 | 检查事件订阅是否配置 im.message.receive_v1 |
| WebSocket 连接失败 | 确认应用已发布并激活 |