OpenClaw 的安装与部署方案
安装与部署策略
OpenClaw 提供了多种部署方式,但在动手之前,我们需要清楚:将 AI Agent 部署在哪里最合适?
AI Agent 就像一个实习生,你赋予了它操作你电脑的权限。如果你给它最高权限并且不加限制,它可能会在执行一个 rm -rf 任务时发生幻觉,造成不可逆的损失。因此,在安装中,环境隔离是我们首要考虑的问题。
我们主要介绍两种最主流的部署方式:npm 全局安装(适合开发测试) 和 Docker 沙箱部署(适合生产长驻)。
方案一:npm 全局直接安装(开发者推荐)
这是最快、最直接的方式,适合你在本机熟悉 OpenClaw 的工作流,编写并调试自定义技能。
前提条件:
- 操作系统支持 macOS / Linux / WSL2。
- 安装
Node.js:要求版本 >= 22.0.0(强烈建议使用nvm管理版本)。
第 1 步:安装
打开终端,执行以下命令全局安装最新的 OpenClaw 核心包:
npm install -g openclaw@latest
第 2 步:初始化向导(Onboard)
安装完成后,不要急着启动,需要先运行初始化配置向导:
openclaw onboard --install-daemon
这个交互式向导会引导你完成核心参数的设定:
- 模型提供商选择:选择你打算接入的大模型背后的厂商(如 OpenAI、Anthropic、Ollama 等)。
- API 密钥配置:输入对应的 API Key。
- 通信渠道:选择你的控制端(例如基于 Web 的终端,或是 Telegram 机器人 Token)。
第 3 步:启动并访问
一切就绪后,启动 Gateway 服务:
openclaw gateway start
如果采用本地 Web 终端,在浏览器打开默认地址 http://127.0.0.1:18789,即可看到 OpenClaw 的控制台并开始对话。
[!CAUTION]安全警告 千万不要在公网环境中直接暴露 18789 端口!如果你在云服务器上使用 npm 安装,请务必绑定
127.0.0.1并通过 SSH 隧道使用,或者配置 Nginx 反向代理加权限校验。
方案二:Docker / Docker Compose 部署(强烈推荐)
如果你打算让 OpenClaw 作为长期的自动化助手,并在宿主机上执行某些脚本,将它关进 Docker 的“笼子”里是最安全的做法。即使它产生幻觉执行了极其危险的系统指令,其破坏也仅限于重置这个容器。
前提条件:
- 宿主机已安装 Docker Engine 和
docker-compose。
目录映射:隔离但保存核心数据
在跑容器之前,我们需要明白:程序可以定期重启销毁,但 AI 的配置和记忆必须留存。
OpenClaw 默认会将所有的配置材料存放在 ~/.openclaw 目录下。我们需要将这个目录映射出容器。
部署步骤
创建一个空目录作为工作空间,在其中新建一个 docker-compose.yml 文件:
version: '3.8'
services:
openclaw:
image: getopenclaw/openclaw:latest
container_name: openclaw-agent
restart: unless-stopped
ports:
- "18789:18789"
volumes:
# 将宿主机的配置目录挂载到容器内的 /root/.openclaw
- ~/.openclaw:/root/.openclaw
environment:
- TZ=Asia/Shanghai # 保证 Cron 任务的时区正确
# 限制容器能力的最佳实践:防止越权
cap_drop:
- ALL
然后,在宿主机当前目录执行一键启动:
docker compose up -d
Docker 模式下的初始化
由于此时 OpenClaw 运行在容器内,如果你需要执行初始向导,可以选择进入容器内部进行:
docker exec -it openclaw-agent bash
# 进入容器终端后执行
openclaw onboard
当然,更进阶的方式是直接编辑宿主机上 ~/.openclaw 下生成的 json 配置文件来达到向导的目的。
核心配置体系
无论你采用何种部署方案,OpenClaw 的数据中心都在 ~/.openclaw 目录下。了解这个目录结构至关重要:
~/.openclaw/
├── openclaw.json # 核心配置文件,相当于整个系统的主板参数
├── exec-approvals.json # 命令白名单与审批策略(安全核心)
├── workspace/ # 工作区目录(Agent的身份认知、工作项目)
│ ├── SOUL.md # 灵魂设定
│ ├── USER.md # 认主配置
│ └── MEMORY.md # 长期记忆
└── skills/ # 所有安装的扩展技能与插件
你可以将其比喻为一个机器人的解剖图:
openclaw.json是神经系统,决定连通哪种大脑模型。exec-approvals.json是安全阀组件。workspace目录下则是这名机器人的后天记忆与认知档案。
下一步,我们将详细拆解它的「神经系统」:如何配置并切换不同厂商的大模型的大脑。