OpenClaw全平台部署教程

本教程将指导你在 Windows、macOS 和 Linux 系统上完整部署 OpenClaw,包括基础环境安装、飞书机器人配置以及 AI 模型 API 中转站配置。

1.环境准备
服务器电脑硬件配置要求:
内存:≥2GiB(官方硬性要求,低于此配置会导
CPU:≥2核(推荐2vCPU或更高)
存储:≥40GiB(建议使用SSD存储提升性能)
网络:需确保公网可访问,支持SSH连接
安卓手机配置要求:仅需一部Android 10以上、运存4G、存储64G的旧手机。
1.1 安装 Node.js 22+
OpenClaw 基于 Node.js 运行,需要 22 或更高版本。
1.1.1Windows
-
访问 Node.js 官网 下载并安装 LTS 版本(22.x 或更高)。
-
安装完成后,打开 PowerShell 验证:
node -vnpm -v
1.1.2macOS
-
使用 Homebrew(推荐)
brew install node@22 -
使用 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bashsource ~/.zshrc # 或 ~/.bashrcnvm install 22nvm use 22
1.1.3Linux(Ubuntu/Debian)
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs其他发行版请参考 NodeSource 文档。
1.2 安装构建工具(可选,部分模块需要编译)
1.2.1Windows
OpenClaw 依赖一些需要编译的 Node.js 模块,需要安装 Visual Studio 构建工具。
-
安装 Visual Studio Build Tools。
-
在安装程序中勾选:
-
Desktop development with C++MSVC v143Windows 10/11 SDK
1.2.2macOS
xcode-select --install1.2.3Linux(Ubuntu/Debian)
sudo apt-get update
sudo apt-get install -y build-essential python31.2.4 使用 Docker
1.docker环境安装
# 以CentOS 9.x为例
ssh root@你的服务器公网IP
yum update -y
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker
# 安装Docker Compose
curl -L "https://github.com/docker/compose/releases/download/v2.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose2.docker-compose 快速启动
核心特性
-
🚀 开箱即用:预装所有中国主流 IM 平台插件
-
🔧 灵活配置:通过环境变量轻松配置各平台凭证
-
🐳 Docker 部署:一键启动,无需复杂配置
-
📦 数据持久化:支持配置和工作空间数据持久化
-
💻 OpenCode AI:内置 AI 代码助手,支持智能代码生成和分析
-
🎭 Playwright:预装浏览器自动化工具,支持网页操作和截图
-
🗣️ 中文 TTS:支持中文语音合成(Text-to-Speech)
3.下载配置文件
将下面代码编辑到 docker-compose.yml文件中
version: '3.8'
services:
openclaw-gateway:
container_name: openclaw-gateway
image: ${OPENCLAW_IMAGE}
cap_add:
- CHOWN
- SETUID
- SETGID
- DAC_OVERRIDE
# 可选:指定容器运行 UID:GID(例如 1000:1000)
# 默认保持 root 启动,以便 init.sh 自动修复挂载卷权限后再降权运行网关
user: ${OPENCLAW_RUN_USER:-0:0}
environment:
TZ: Asia/Shanghai
HOME: /home/node
TERM: xterm-256color
# 模型配置
MODEL_ID: ${MODEL_ID}
BASE_URL: ${BASE_URL}
API_KEY: ${API_KEY}
API_PROTOCOL: ${API_PROTOCOL}
CONTEXT_WINDOW: ${CONTEXT_WINDOW}
MAX_TOKENS: ${MAX_TOKENS}
# 通道配置
TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN}
FEISHU_APP_ID: ${FEISHU_APP_ID}
FEISHU_APP_SECRET: ${FEISHU_APP_SECRET}
DINGTALK_CLIENT_ID: ${DINGTALK_CLIENT_ID}
DINGTALK_CLIENT_SECRET: ${DINGTALK_CLIENT_SECRET}
DINGTALK_ROBOT_CODE: ${DINGTALK_ROBOT_CODE}
DINGTALK_CORP_ID: ${DINGTALK_CORP_ID}
DINGTALK_AGENT_ID: ${DINGTALK_AGENT_ID}
QQBOT_APP_ID: ${QQBOT_APP_ID}
QQBOT_CLIENT_SECRET: ${QQBOT_CLIENT_SECRET}
# 企业微信配置
WECOM_TOKEN: ${WECOM_TOKEN}
WECOM_ENCODING_AES_KEY: ${WECOM_ENCODING_AES_KEY}
# 工作空间配置
WORKSPACE: ${WORKSPACE}
# Gateway 配置
OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN}
OPENCLAW_GATEWAY_BIND: ${OPENCLAW_GATEWAY_BIND}
OPENCLAW_GATEWAY_PORT: ${OPENCLAW_GATEWAY_PORT}
OPENCLAW_BRIDGE_PORT: ${OPENCLAW_BRIDGE_PORT}
volumes:
- ${OPENCLAW_DATA_DIR}:/home/node/.openclaw
# 使用匿名卷排除 extensions 目录,使用镜像中预装的插件
- /home/node/.openclaw/extensions
ports:
- "${OPENCLAW_GATEWAY_PORT}:18789"
- "${OPENCLAW_BRIDGE_PORT}:18790"
init:true
restart:unless-stopped4.配置环境变量
编辑配置文件(至少配置 AI 模型相关参数)
vim .env# OpenClaw Docker 环境变量配置示例
# 复制此文件为 .env 并修改相应的值
# Docker 镜像配置
OPENCLAW_IMAGE=docker.1ms.run/justlikemaki/openclaw-docker-cn-im:latest
# 模型配置
MODEL_ID=model id
BASE_URL=http://api.wow3.top/v1
API_KEY=123456
# API 协议类型: openai-completions 或 anthropic-messages
# openai-completions: OpenAI 协议 (适用于 OpenAI、Gemini 等模型)
# anthropic-messages: Claude 协议 (适用于 Claude 模型,支持 Prompt Caching)
API_PROTOCOL=openai-completions
# 模型上下文窗口大小
CONTEXT_WINDOW=200000
# 模型最大输出 tokens
MAX_TOKENS=8192
# Telegram 配置(可选,留空则不启用)
TELEGRAM_BOT_TOKEN=
# 飞书配置(可选,留空则不启用)
FEISHU_APP_ID=
FEISHU_APP_SECRET=
# 钉钉配置(可选,留空则不启用)
DINGTALK_CLIENT_ID=
DINGTALK_CLIENT_SECRET=
DINGTALK_ROBOT_CODE=
DINGTALK_CORP_ID=
DINGTALK_AGENT_ID=
# QQ 机器人配置(可选,留空则不启用)
QQBOT_APP_ID=
QQBOT_CLIENT_SECRET=
# 企业微信配置(可选,留空则不启用)
WECOM_TOKEN=
WECOM_ENCODING_AES_KEY=
# 工作空间配置(不要更改)
WORKSPACE=/home/node/.openclaw/workspace
# 挂载目录配置(按实际更改)
# OpenClaw 数据目录(包含配置文件、工作空间等所有数据)
OPENCLAW_DATA_DIR=~/.openclaw
# 可选:容器启动用户 UID:GID
# 默认 0:0(root)用于 init.sh 自动修复挂载目录权限,再降权为 node 启动服务
# 如需与宿主机用户对齐,可设置为 1000:1000 或 Linux 上的 $(id -u):$(id -g)
OPENCLAW_RUN_USER=0:0
# Gateway 配置
## 网关 token,用于认证(按实际更改)
OPENCLAW_GATEWAY_TOKEN=123456
OPENCLAW_GATEWAY_BIND=lan
OPENCLAW_GATEWAY_PORT=18789
OPENCLAW_BRIDGE_PORT=18790最小配置示例:
环境变量 说明 示例值
MODEL_ID AI 模型名称 gpt-4
BASE_URL AI 服务 API 地址 https://api.wow3.top/v1
API_KEY AI 服务 API 密钥 sk-xxx...
5.启动服务
docker-compose up -d查看日志 docker-compose logs -f
停止服务 docker-compose down
进入容器 # 使用docker-compose 命令进入容器
docker-compose exec openclaw-gateway /bin/bash
# 或使用 docker 命令进入容器
docker exec -it openclaw-gateway /bin/bash
进入容器后,可以执行以下常用命令: # 查看 OpenClaw 版本
openclaw --version
# 查看配置文件
cat ~/.openclaw/openclaw.json
# 查看工作空间
ls -la ~/.openclaw/workspace
# 手动执行配对命令(如 Telegram)
openclaw pairing approve telegram {token}
1.2.5 旧安卓手机(Termux)
OpenClaw 也可以在 Termux 中运行
仅需一部Android 10以上、运存4G、存储64G的旧手机。安装AidLux后,无需Root即可获得类似Ubuntu的Linux环境。通过浏览器访问局域网IP,即可在电脑端操作手机内的终端,体验接近原生Linux系统的操作手感。
npm源务必切换至国内镜像,否则下载速度极慢。
1.安装Termux配置必要工具
Termux官方仓库

打开Termux,执行以下命令安装必要工具链:
pkg update && pkg upgrade -y
pkg install nodejs git openssh tmux -y说明:
-
pkg update/upgrade:同步并升级包索引
-
nodejs:OpenClaw运行时
-
git:版本管理工具
-
openssh:远程连接服务
-
tmux:会话管理器,用于后台运行服务
2.安装openclaw
npm的默认全局安装路径在安卓中可能无权限访问,需要重定向到用户目录:
npm config set prefix ~/.npm-global
echo 'export PATH=$HOME/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
npm i -g openclaw@latest配置详解:
-
设定npm全局包安装到~/.npm-global(用户目录)
-
在.bashrc中扩展PATH,使全局命令可直接调用
-
source即时加载配置
3.注入安卓适配补丁(关键)
Android环境与标准Linux的差异会导致多个模块报错,需要依次应用三个补丁。
补丁A:修复剪贴板兼容性
运行以下命令:
node -e "const fs = require('fs');const file = process.env.HOME + '/.npm-global/lib/node_modules/clawdbot/node_modules/@mariozechner/clipboard/index.js';let c = fs.readFileSync(file, 'utf8');if(!c.includes('isAndroidTermux')) {c = c.replace(/if $$ !nativeBinding $$ \{/, 'const isAndroidTermux = platform===\"android\"||(platform===\"linux\"&&process.env.TERMUX_VERSION);if(!nativeBinding&&isAndroidTermux){nativeBinding={availableFormats:()=>[],getText:()=>\"\",setText:()=>false,hasText:()=>false,getImageBinary:()=>null,getImageBase64:()=>null,setImageBinary:()=>false,setImageBase64:()=>false,hasImage:()=>false,getHtml:()=>\"\",setHtml:()=>false,hasHtml:()=>false,getRtf:()=>\"\",setRtf:()=>false,hasRtf:()=>false,clear:()=>{},watch:()=>({stop:()=>{}}),callThreadsafeFunction:()=>{}}}else if(!nativeBinding){');fs.writeFileSync(file, c);console.log('✅ Clipboard patched!');}"说明:该补丁检测运行环境是否为Android,若是则模拟剪贴板接口返回安全的空值,避免原生模块调用失败。
补丁B:修复日志路径
OpenClaw默认将日志写入/tmp目录,需重定向到可访问的路径:
node -e "const fs = require('fs');const file = process.env.HOME + '/.npm-global/lib/node_modules/clawdbot/dist/logging/logger.js';let c = fs.readFileSync(file, 'utf8');c = c.replace('const DEFAULT_LOG_DIR = \"/tmp/clawdbot\";', 'const DEFAULT_LOG_DIR = (process.env.TMPDIR||process.env.HOME)+\"/clawdbot-logs\";');fs.writeFileSync(file, c);console.log('✅ Logger patched!');"补丁C:设置环境变量
echo 'export TERMUX_VERSION=1' >> ~/.bashrc
echo 'export TMPDIR=$HOME/tmp' >> ~/.bashrc
mkdir -p ~/tmp ~/clawdbot-logs
source ~/.bashrc作用:
-
TERMUX_VERSION:标记运行环境为Termux,触发兼容逻辑
-
TMPDIR:重定向临时文件路径
-
创建必要的目录结构
4.启动与防杀机制
手机端配置(防止后台被杀):
-
系统设置→电池→电池优化或省电模式,将Termux加入白名单或设为"无限制"
-
在Termux中运行termux-wake-lock保持CPU唤醒
后台启动OpenClaw网关:
tmux new -s claw
openclaw gateway --port 18789看到输出"Gateway started"后,按Ctrl+b松手,再按d键挂起会话(tmux快捷键)。此时OpenClaw在后台运行。
会话管理:
# 重新进入会话
tmux attach -t claw
# 查看所有会话
tmux list-sessions
# 后台运行时查看日志
tail -f ~/clawdbot-logs/*.log5.电脑远程连接
无需再操作手机屏幕,直接通过SSH在电脑终端管理:
# 手机端Termux中执行,查看用户名和IP
whoami
ifconfig | grep "inet "
# 电脑端终端连接
ssh -p 8022 u0_aXXX@192.168.1.XX连接成功后,可以:
-
监控OpenClaw进程状态
-
实时查看日志
-
动态调整配置参数
-
完全脱离手机屏幕操作
2.安装 OpenClaw
运行官方安装脚本,脚本会自动安装 OpenClaw CLI 并启动配置向导。
安装脚本会自动:
• 检测并安装 Node.js(如果缺失)
• 全局安装 OpenClaw CLI
• 启动配置向导
2.1.1Windows(PowerShell 管理员模式)
⚠️ 推荐使用 WSL2(Windows Subsystem for Linux)运行 OpenClaw,体验更好。
iwr -useb https://openclaw.ai/install.ps1 | iex2.1.2macOS / Linux
curl -fsSL https://openclaw.ai/install.sh | bash安装完成后,验证:
openclaw --version如果提示命令未找到,请将 npm 全局 bin 目录加入 PATH:
-
macOS/Linux:export PATH="$(npm prefix -g)/bin:$PATH"(可加入 shell 配置文件)
-
Windows:将 npm prefix -g 输出的路径添加到系统环境变量 PATH。
3.配置飞书机器人
3.1 创建飞书应用
-
登录 飞书开放平台(国际版 Lark 用户访问 Lark 开放平台)。
-
点击「创建企业自建应用」,填写名称和描述,上传图标。
-
在「凭证与基础信息」中,复制 App ID 和 App Secret(妥善保管)。

- 添加机器人能力。

-
配置权限:进入「权限管理」,点击「批量导入」,粘贴以下权限 JSON:
{"scopes": {"tenant": ["application:application.contacts_range:write","contact:contact","contact:contact.base:readonly","contact:department.organize:readonly","contact:user.base:readonly","contact:user.employee_id:readonly","docx:document","docx:document.block:convert","docx:document:create","docx:document:readonly","docx:document:write_only","drive:drive","drive:drive:readonly","drive:drive:version","drive:drive:version:readonly","im:chat","im:chat.access_event.bot_p2p_chat:read","im:chat.announcement:read","im:chat.announcement:write_only","im:chat.chat_pins:read","im:chat.chat_pins:write_only","im:chat.collab_plugins:read", -
启用机器人:进入「应用能力」>「机器人」,启用机器人能力,设置机器人名称。
-
配置事件订阅:
-
选择「使用长连接接收事件」(WebSocket)。添加事件:im.message.receive_v1。注意:Gateway 必须处于运行状态才能保存此配置,请先完成下面的 3.2 和 3.3 步骤,再回来保存事件订阅。



- 发布应用:进入「版本管理与发布」,创建版本并提交审核(企业自建应用通常自动通过)。

3.2 在 OpenClaw 中添加飞书频道
方法一:使用向导(推荐)
openclaw channels add选择 Feishu,然后输入 App ID 和 App Secret。如果是 Lark 国际版,在提示时选择 lark。
方法二:手动编辑配置文件
编辑 ~/.openclaw/openclaw.json,添加以下内容:
{
"channels": {
"feishu": {
"enabled": true,
"dmPolicy": "pairing",
"accounts": {
"main": {
"appId": "cli_xxx",
"appSecret": "你的 App Secret",
"botName": "我的 AI 助手"
}
}
}
}
}国际版需额外指定 "domain": "lark"。
3.3 启动 Gateway 并测试
-
启动 Gateway(前台运行):
openclaw gateway或安装为系统服务(推荐):openclaw gateway install # 之后可用 systemctl 管理 -
在飞书中测试:
-
找到刚才创建的机器人,发送任意消息。机器人会回复一个配对码。批准配对:
openclaw pairing list feishuopenclaw pairing approve feishu <配对码>批准后,机器人即可正常对话。 -
查看日志:
openclaw logs --follow
4.配置 AI 模型(API 中转站)
每t 4.6,实验性的用便宜模型。
顺便推荐一个便宜大碗的 Claude API:https://api.wow3.top/register?aff=Q16f(点击阅读原文可跳转注册)
稳定,只有官方的1/35-1/70价格,春节期间还有更多优惠,支持最新的 Claude Sonnet 4.6 模型。我现在把这个作为主力 API,性价比很高。
OpenClaw 需要接入 AI 模型才能回答问题。这里以 https://api.wow3.top 为例(兼容 OpenAI 格式,Anthropic,支持Claude Code, Codex)。
4.1 获取 API Key
-
在控制台获取你的 API Key。
4.2 在 OpenClaw 中添加模型提供者
编辑 ~/.openclaw/openclaw.json,在 models 部分添加一个自定义提供者,并配置一个模型(如 claude-sonnet-4-6):
{
"models": {
"mode": "merge",
"providers": {
"custom-proxy": {
"baseUrl": "https://api.wow3.top/v1",
"apiKey": "你的 API Key",
"api": "openai-completions",
"models": [
{
"id": "claude-sonnet-4-6",
"name": "claude-sonnet-4-6",
"reasoning": false,
"input": ["text", "image"],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 128000,
"maxTokens": 32000
}
]
}
},
"bedrockDiscovery": {
"defaultContextWindow": 1
}
},
"agents": {
"defaults": {
"model": {
"primary": "custom-proxy/claude-sonnet-4-6"
},
"models": {
"custom-proxy/claude-sonnet-4-5-20250929": {}
},
"workspace": "/home/你的用户名/.openclaw/workspace", // 替换为实际路径
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
}
}说明:
-
baseUrl 和 apiKey 根据你的中转服务填写。
-
models 数组中可以定义多个模型,每个模型需指定 id(供 OpenClaw 引用)。
-
agents.defaults.model.primary 指定默认使用的模型。
-
workspace 路径请根据你的系统修改(Windows 示例:C:\Users\用户名\.openclaw\workspace)。
4.3 验证模型配置
重启 Gateway:
openclaw gateway restart在飞书中向机器人发送 /model 命令,机器人应列出可用模型,其中包括你刚添加的 custom-proxy/claude-sonnet-4-6。
5.常用命令
命令 说明
openclaw gateway status 查看 Gateway 运行状态
openclaw gateway install 安装 Gateway 为系统服务
openclaw gateway stop 停止 Gateway
openclaw gateway restart 重启 Gateway
openclaw logs --follow 实时查看日志
openclaw pairing list feishu 列出飞书的配对请求
openclaw pairing approve feishu <码> 批准配对
openclaw pairing reject feishu <码> 拒绝配对
openclaw doctor 检查配置问题
openclaw status 查看系统整体状态
openclaw dashboard 打开浏览器管理界面
6.故障排查
6.1机器人不响应
-
检查应用状态:应用是否已发布并审批通过?
-
事件订阅:是否启用了长连接?是否添加了 im.message.receive_v1 事件?
-
权限:权限 JSON 是否完整导入?
-
Gateway 是否运行:openclaw gateway status
-
查看日志:openclaw logs --follow,看是否有错误输出。
6.2群聊中机器人不响应
-
确保机器人已加入群聊。
-
默认需要 @提及机器人。如需免 @,可设置 requireMention: false(见进阶配置)。
-
检查群聊策略:groupPolicy 是否误设为 disabled?
6.3openclaw 命令找不到
-
确认 Node.js 和 npm 已正确安装。
-
找到 npm 全局 bin 目录:npm prefix -g,然后将其 bin 子目录加入 PATH。
-
macOS/Linux:export PATH="$(npm prefix -g)/bin:$PATH"Windows:在系统环境变量 PATH 中添加 npm prefix -g 输出的路径。
6.4API 调用失败
-
检查 API Key 和 baseURL 是否正确。
-
确认账户余额充足。
-
查看日志中是否有具体的错误信息(如 401、429 等)。
7.进阶配置
7.1 群聊策略
在 channels.feishu 中配置:
{
"channels": {
"feishu": {
"groupPolicy": "open", // 允许所有群聊(默认 requireMention: true)
"groups": {
"oc_xxx": { // 针对特定群聊覆盖设置
"requireMention": false // 该群聊无需 @ 即可响应
}
},
"groupAllowFrom": ["ou_xxx", "ou_yyy"] // 仅允许指定用户所在的群聊(需配合 groupPolicy: "allowlist")
}
}
}7.1.1允许所有群聊,需要 @提及(默认):
{
"channels": {
"feishu": {
"groupPolicy": "open"
}
}
}7.1.2允许所有群聊,无需 @提及:
{
"channels": {
"feishu": {
"groups": {
"oc_xxx": {
"requireMention": false
}
}
}
}
}7.1.3仅允许特定用户在群聊中使用:
{
"channels": {
"feishu": {
"groupPolicy": "allowlist",
"groupAllowFrom": ["ou_xxx", "ou_yyy"]
}
}
}7.2 流式输出
飞书支持通过卡片流式输出,可提升响应体验:
{
"channels": {
"feishu": {
"streaming": true,
"blockStreaming": true // 使用卡片块流式
}
}
}设置为 false 则等待完整回复后一次性发送。
7.3 更多自定义
-
多账号支持:可在 accounts 中添加多个机器人账号。
-
模型切换:用户可通过命令 /model <模型ID> 临时切换模型。
-
技能市场:访问 ClawHub 获取更多技能插件。
8.获取帮助
-
Discord 社区:https://discord.com/invite/clawd
-
技能市场:https://clawhub.com
🎉 恭喜!你已经完成了 OpenClaw 的完整部署。现在可以开始使用你的 AI 助手了!如果遇到任何问题,欢迎通过上述渠道寻求帮助。
AI交流,欢迎加我本人微信/小红书:flytoagi



两万star开源大模型工作流神器——Flowise安装和介绍

