[📑 目录](/openclaw-tutorial/) · [📋 大纲](/openclaw-tutorial/OUTLINE.html) · [第 02 章 →](/openclaw-tutorial/02-%E9%83%A8%E7%BD%B2%E4%B8%8E%E7%8E%AF%E5%A2%83%E5%88%9D%E5%A7%8B%E5%8C%96.html)

第 1 章:OpenClaw 基础介绍与安装

difficulty time chapter

难度: ⭐ 入门 预计阅读: 15 分钟 前置章节: 无

📑 本章目录

本章适合初学者,从零开始了解 OpenClaw 基本概念和安装流程。阅读完本章后,你将能够在本地完成 OpenClaw 的安装、初始化,并理解其核心目录结构和配置方式。


1.1 OpenClaw 简介

OpenClaw 是一套开源的多智能体自动化平台,具备 AI 执行、技能扩展和多通道连接能力。用户可通过指令、代码或技能扩展来定制自己的数字助手。它的设计理念是 “让 AI 真正替你干活”——不只是对话问答,而是能主动执行文件操作、调用 API、调度定时任务、管理多智能体协作等复杂工作流。

核心特点

OpenClaw 与传统自动化工具对比

特性 OpenClaw Zapier / n8n 传统 Cron 脚本
AI 原生 ✅ LLM 驱动决策 ❌ 规则驱动 ❌ 纯脚本
多智能体协作 ✅ 内置 Agent 编排
Skills 插件体系 ✅ 社区共享 ⚠️ 有限集成 ❌ 手动编写
消息通道集成 ✅ 飞书/Slack/Discord
本地部署 ✅ 完全自主 ⚠️ 部分支持
长期记忆
学习门槛 中等

1.2 环境准备

在安装 OpenClaw 之前,请确保你的操作系统及基础依赖满足以下要求。OpenClaw 运行在 Node.js 之上,依赖 npm 进行包管理;同时需要 git 来处理版本控制和技能安装,curl 用于网络请求,jq 用于 JSON 配置文件的读写操作。如果在国内网络环境下安装,建议提前配置好 npm 镜像或代理。

系统要求

项目 最低要求 推荐配置
操作系统 Ubuntu 20.04 / macOS 12 / Windows 10 (WSL2) Ubuntu 22.04+ / macOS 14+
Node.js v20 v22+
内存 2 GB 4 GB+
磁盘空间 500 MB 2 GB+(含 Skills 缓存)
网络 必须能访问 npm registry 建议配置代理(国内用户)
其他依赖 git, curl git, curl, jq

依赖安装示例(以 Ubuntu/Linux 为例)

sudo apt update
sudo apt install -y curl git jq

# 推荐使用 nvm 管理 node 版本
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "$XDG_CONFIG_HOME/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
nvm install 22
nvm use 22

macOS 用户快速安装依赖

# 使用 Homebrew 安装
brew install node@22 git curl jq

# Apple Silicon (M1/M2/M3) 用户需确认 Homebrew 路径已加载
eval "$(/opt/homebrew/bin/brew shellenv)"

# 确保 node@22 已链接到 PATH
brew link node@22 --force --overwrite

[!TIP] 如果你之前通过其他方式(如官网 .pkg 安装包)安装过 Node.js,建议先卸载旧版本再使用 Homebrew 安装,避免版本冲突。Apple Silicon Mac 的 Homebrew 默认安装路径为 /opt/homebrew/,与 Intel Mac 的 /usr/local/ 不同,确保你的 Shell 配置文件(~/.zshrc)中已加载 Homebrew 环境变量。如果 brew link 报冲突,可加 --overwrite 强制覆盖。

验证依赖版本

安装完成后,运行以下命令确认环境就绪:

node -v   # 应输出 v22.x.x
npm -v    # 应输出 10.x.x+
git --version
curl --version
jq --version

如果某项版本不符合要求,按以下方式处理:

依赖项 期望版本 修复方法
Node.js v22.x nvm install 22 && nvm use 22
npm v10.x+ npm install -g npm@latest(随 Node 自动升级)
git 任意可用版本 sudo apt install gitbrew install git
curl 任意可用版本 大多数系统已预装
jq 任意可用版本 sudo apt install jqbrew install jq

[!TIP] 使用 nvm 管理 Node.js 版本时,每次打开新终端需要确保 nvm 环境已加载。如果发现 node 命令消失,执行 source ~/.bashrc(或 ~/.zshrc)重新加载即可。建议运行 nvm alias default 22 将 v22 设置为默认版本,这样新终端自动使用正确版本。


1.3 OpenClaw 安装步骤

安装方式对比

安装方式 适用场景 难度 自动更新
一键脚本 新手首选、生产环境
npm 全局安装 已有 Node.js 环境 ⭐⭐ 手动
源码部署 开发者/贡献者 ⭐⭐⭐ 手动
Docker 容器化偏好 ⭐⭐ 手动

方式一:一键安装脚本(推荐)

curl -fsSL https://openclaw.ai/install.sh | bash

脚本会自动检测系统环境、安装依赖并完成初始化。安装日志保存在 /tmp/openclaw-install.log

方式二:手动 npm 全局安装

npm install -g openclaw@latest

[!TIP] 如果遇到权限问题,不推荐使用 sudo npm install -g,而应配置 npm 全局路径:

bash npm config set prefix ~/.npm-global export PATH="$HOME/.npm-global/bin:$PATH" text

方式三:源代码部署(开发/贡献用)

适用于需要修改 OpenClaw 源码、贡献 PR 或调试内部行为的开发者。源码部署可以方便地加断点、查看运行时状态,但需要手动管理依赖更新和构建流程。

# 1. 克隆仓库(建议 fork 后克隆自己的仓库)
git clone https://github.com/openclaw/openclaw.git
cd openclaw

# 2. 安装依赖(包括开发依赖)
npm install

# 3. 编译 TypeScript 源码
npm run build

# 4. 将本地构建链接为全局命令
npm link

构建完成后可通过 openclaw --version 验证。后续修改源码后只需重新执行 npm run build,无需重复安装。如需实时编译(开发模式),可使用:

npm run dev  # 启动 TypeScript watch 模式,保存即编译

[!TIP] 源码部署时建议同时安装 typescriptts-node 作为全局工具,方便直接运行 .ts 脚本进行调试:npm install -g typescript ts-node。提交 PR 前请运行 npm run lint && npm test 确保代码规范和测试通过。

Docker 部署(可选)

# docker-compose.yml 示例
version: "3.8"
services:
  openclaw:
    image: openclaw/openclaw:latest
    container_name: openclaw
    restart: unless-stopped
    ports:
      - "3000:3000"
    volumes:
      - ~/.openclaw:/root/.openclaw
    environment:
      - NODE_ENV=production

启动容器:

docker compose up -d

验证容器是否启动成功:

docker ps | grep openclaw           # 应显示 Up 状态
docker logs openclaw --tail 20      # 查看最近 20 行日志,确认无报错
curl -s http://localhost:3000/health # 健康检查接口应返回 OK

[!TIP] Docker 部署时,如果宿主机位于中国大陆,拉取镜像可能较慢。可以配置 Docker 镜像加速器(如阿里云 ACR、DaoCloud 等),在 /etc/docker/daemon.json 中添加 "registry-mirrors": ["https://your-mirror.com"] 后执行 sudo systemctl restart docker。另外,挂载的 ~/.openclaw 目录权限需确保容器内进程可读写。

如需更多容器化配置选项,请见 官方 Docker 文档


1.4 初始化与基本配置

安装后首先执行初始化命令,该命令会创建工作区目录(~/.openclaw/workspace/)、生成默认配置文件(openclaw.json)、注册系统守护进程并自动启动 Gateway 服务。初始化是一次性操作,后续升级 OpenClaw 不需要重新执行。

如果你需要在无交互环境(如 CI/CD)中运行初始化,可以加 --yes 标志跳过所有确认提示:

openclaw onboard --install-daemon --yes

常见检查与启动命令

openclaw status        # 查看主服务状态
openclaw doctor        # 系统依赖和配置检测
openclaw dashboard     # 打开本地仪表盘(Web UI)
openclaw gateway start # 手动启动主服务

如因全局 npm 路径未加入 PATH,需额外设置:

export PATH="$(npm prefix -g)/bin:$PATH"
# 建议写入 ~/.bashrc 或 ~/.zshrc 使其持久生效
echo 'export PATH="$(npm prefix -g)/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

主配置文件详解

配置文件位于 ~/.openclaw/openclaw.json,采用标准 JSON 格式,可自定义 AI 提供商及模型、网关端口、网络代理和消息通道等参数。每次修改配置后需重启 Gateway 服务(openclaw gateway restart)才能生效。以下是一份包含常见字段的典型配置示例及字段说明:

{
  "ai": {
    "provider": "openai",
    "model": "gpt-4o",
    "apiKey": "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  },
  "gateway": {
    "port": 3000,
    "autoStart": true
  },
  "proxy": {
    "http": "http://127.0.0.1:7890",
    "https": "http://127.0.0.1:7890"
  },
  "channels": {
    "feishu": {
      "enabled": true,
      "appId": "cli_xxxxxx",
      "appSecret": "xxxxxxxx"

    }
  },
  "memory": {
    "autoSync": true,
    "retentionDays": 90
  }
}

[!WARNING] openclaw.json 包含 API 密钥等敏感信息,务必确保文件权限设置为仅当前用户可读:

bash chmod 600 ~/.OpenClaw/OpenClaw.json text


1.5 目录结构简介

OpenClaw 安装后核心目录结构:

~/.openclaw/
├── workspace/                # 工作区目录
│   ├── AGENTS.md             # 多智能体协作模式
│   ├── SOUL.md               # 行为规范与人格设定
│   ├── TOOLS.md              # 工具配置
│   ├── MEMORY.md             # 长期记忆规则
│   ├── USER.md               # 用户个人信息
│   ├── IDENTITY.md           # 身份与认证配置
│   ├── config/               # 额外配置目录
│   │   └── mcporter.json
│   ├── memory/               # 日志记忆文件
│   │   └── YYYY-MM-DD-*.md
│   └── skills/               # 工作区级技能
│       └── <skill-name>/
│           └── SKILL.md
├── skills/                   # 全局已安装技能
│   └── <skill-name>/
│       └── SKILL.md
├── hooks/                    # 自定义钩子

│   └── <hook-name>/
│       └── HOOK.md
├── cron/                     # 定时任务配置
│   ├── jobs.json
│   └── runs/                 # 执行记录
├── credentials/              # 凭证存储
├── openclaw.json             # 主配置文件
└── logs/                     # 运行日志
    └── config-audit.jsonl

关键文件说明

文件 / 目录 用途 编辑频率
openclaw.json 全局配置(AI、代理、通道) 初始化后偶尔修改
workspace/SOUL.md AI 人格与行为规范 按需定制
workspace/MEMORY.md 记忆管理规则 较少修改
workspace/memory/ 自动生成的记忆日志 自动维护
workspace/skills/ 已安装的技能插件 安装技能时自动
cron/jobs.json 定时任务定义 按需配置
credentials/ 飞书/GitHub 等凭证 配对时自动生成

进阶:OpenClaw 架构原理

深入理解 OpenClaw 的整体架构有助于后续章节的学习和高级场景的应用:


注意事项与常见错误

初次安装和配置 OpenClaw 时,以下是最容易遇到的问题和需要特别注意的事项:

常见错误 原因 解决方法
EACCES: permission denied 全局安装权限不足 使用 sudo 或配置 npm prefix
openclaw: command not found 未正确添加到 PATH 检查 ~/.bashrc~/.zshrc 中的 PATH 配置
Gateway 启动后无响应 端口被占用或配置文件语法错误 openclaw doctor 诊断,检查 JSON 格式
Node.js 版本不兼容 使用了过低版本 升级到 v18+ 或使用 nvm 管理版本

⚠️ 特别提醒:不要在 root 用户下直接运行 npm install -g,建议使用 nvm 管理 Node.js 版本以避免权限问题。安装完成后务必运行 openclaw doctor 确认所有检查项通过。


1.6 实操练习

完成以下步骤,验证你的 OpenClaw 环境已正确安装并可正常运行。

步骤一:环境检查

运行 doctor 命令,确认所有依赖项通过检测:

openclaw doctor

期望输出应包含类似内容:

✔ Node.js v22.x detected
✔ npm v10.x detected
✔ git available
✔ openclaw.json found
✔ Gateway reachable
All checks passed!

如有红色 ✘ 项,请根据提示修复后重新运行。

步骤二:查看并修改主配置

用以下命令查看当前配置,并尝试通过 jq 格式化输出:

cat ~/.openclaw/openclaw.json | jq .

尝试修改一个非敏感字段(如 gateway 端口),然后重启服务验证:

# 备份配置
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak

# 使用 jq 修改端口(示例)
jq '.gateway.port = 3001' ~/.openclaw/openclaw.json > /tmp/oc-tmp.json \
  && mv /tmp/oc-tmp.json ~/.openclaw/openclaw.json

# 重启 gateway 使配置生效
openclaw gateway restart
openclaw status

步骤三:体验首次对话

启动 OpenClaw 交互式终端,发送一条测试消息来验证 AI 连接正常。openclaw chat 会建立一个本地会话,连接你在配置文件中指定的 AI 模型进行对话。会话中 OpenClaw 可以调用已安装的 Skills 来执行实际操作:

openclaw chat

在交互界面中输入:

你好,请告诉我当前的系统状态。

OpenClaw 会调用内置工具返回状态信息。输入 exit 或按 Ctrl+C 退出对话。

步骤四(可选):查看记忆目录

对话结束后,检查是否自动生成了记忆文件:

ls -la ~/.openclaw/workspace/memory/

你应该能看到以当天日期命名的 .md 文件,这是 OpenClaw 的长期记忆机制在工作。


进阶:OpenClaw 架构原理

理解其通信机制有助于诊断问题。OpenClaw 采用 Gateway + Agent 分层架构:

组件 职责 通信方式
Gateway 接收请求、路由分发、协议转换 HTTP/WebSocket 18789 端口
Agent 执行任务、调用工具、管理上下文 内部消息队列
Skills 提供扩展能力 按需懒加载
Memory 持久化经验知识 Markdown 文件索引

注意事项与常见错误

初学者常见错误:

常见错误 后果 正确做法
跳过 openclaw doctor 排查困难 安装后先运行诊断
root 用户下安装 权限问题频发 使用普通用户安装
忽略版本兼容性 功能异常 查看 Release Notes

1.7 常见问题 (FAQ)

以下是安装和初始化阶段最常见的问题。如果你的问题不在此列,可运行 openclaw doctor 获取自动诊断建议,或查看 官方 FAQ 页面

Q1:安装后执行 openclaw 提示 “command not found”

原因:npm 全局 bin 目录未加入系统 PATH。

解决方法

# 查看 npm 全局 bin 路径
npm prefix -g

# 将路径加入 PATH(以 bash 为例)
echo 'export PATH="$(npm prefix -g)/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

# 验证
which openclaw

Q2:Node.js 版本过低,如何升级?

原因:OpenClaw 依赖 Node.js v20 及以上版本的 ES Module 和 Fetch API 支持。低版本(如 v16、v18)可能导致启动失败或运行异常。

解决方法:推荐使用 nvm(Node Version Manager)管理版本,这样可以在多个 Node 版本间一键切换而不影响系统全局环境:

nvm install 22
nvm alias default 22
node -v  # 确认输出 v22.x.x

Q3:openclaw gateway start 启动失败,端口被占用

解决方法

# 检查端口占用情况
lsof -i :3000

# 方法 A:杀掉占用进程
kill -9 <PID>

# 方法 B:修改 openclaw 端口配置
jq '.gateway.port = 3001' ~/.openclaw/openclaw.json > /tmp/oc.json \
  && mv /tmp/oc.json ~/.openclaw/openclaw.json
openclaw gateway start

Q4:国内网络安装 npm 包很慢,怎么办?

解决方法:国内网络环境下 npm 默认源(registry.npmjs.org)速度较慢甚至超时,推荐以下几种加速方案:

方案一:永久切换 npm 镜像源(推荐)

# 设置淘宝镜像为默认源
npm config set registry https://registry.npmmirror.com

# 验证镜像是否生效
npm config get registry
# 应输出:https://registry.npmmirror.com

# 测试连通性
npm ping

方案二:使用 cnpm 替代

# 安装 cnpm 客户端
npm install -g cnpm --registry=https://registry.npmmirror.com

# 之后用 cnpm 替代 npm
cnpm install -g openclaw@latest

方案三:使用 yarn 或 pnpm 替代

# yarn 方式
npm install -g yarn
yarn config set registry https://registry.npmmirror.com
yarn global add openclaw@latest

# pnpm 方式(性能更优,节省磁盘空间)
npm install -g pnpm
pnpm config set registry https://registry.npmmirror.com
pnpm add -g openclaw@latest

💡 提示:如果只需临时使用镜像而不想修改全局配置,可在安装命令后附加 --registry=https://registry.npmmirror.com 参数。切换回官方源使用 npm config set registry https://registry.npmjs.org

Q5:如何完全卸载 OpenClaw?

完全卸载需要依次清理全局包、配置数据、systemd 服务以及残留缓存。请按以下步骤操作:

# 步骤 1:停止运行中的服务
openclaw daemon stop

# 步骤 2:如果配置了 systemd 服务,先禁用并删除
systemctl --user stop openclaw-gateway 2>/dev/null
systemctl --user disable openclaw-gateway 2>/dev/null
rm -f ~/.config/systemd/user/openclaw-gateway.service
systemctl --user daemon-reload

# 步骤 3:卸载全局 npm 包
npm uninstall -g openclaw

# 步骤 4:删除配置与数据目录(⚠️ 谨慎操作,会清除所有数据和日志)
rm -rf ~/.openclaw

# 步骤 5:清理 npm 缓存中的残留
npm cache clean --force

# 步骤 6:验证卸载是否完成
which openclaw        # 应提示 command not found
ls ~/.openclaw 2>&1   # 应提示 No such file or directory
systemctl --user status openclaw-gateway 2>&1  # 应提示 Unit not found

⚠️ 注意:如果你在 ~/.bashrc~/.zshrc 中添加过 OpenClaw 相关的环境变量或 PATH 配置,也需要手动移除相关行并执行 source ~/.bashrc 使更改生效。

快速排查参考表

安装或启动过程中遇到常见问题时,可按照此表快速定位原因并执行对应的修复命令。更复杂的故障排查流程请参考 第 9 章:故障排查与日志分析

问题 排查命令 解决方法
命令未找到 which openclaw 修复 PATH 配置
Node 版本过低 node -v nvm install 22
Gateway 无法启动 openclaw doctor 检查端口占用或配置错误
权限问题 ls -la ~/.openclaw/ chmod 修复或避免 sudo 安装
网络超时 npm ping 配置镜像或代理

参考链接


本章小结


[📑 返回目录](/openclaw-tutorial/) · [下一章:部署与环境初始化 →](/openclaw-tutorial/02-%E9%83%A8%E7%BD%B2%E4%B8%8E%E7%8E%AF%E5%A2%83%E5%88%9D%E5%A7%8B%E5%8C%96.html)