OpenClaw 快速上手:5 分钟搭建你的第一个开发环境
为什么选择 OpenClaw
OpenClaw 是一个现代化的开源项目脚手架与运行时,集成了依赖管理、配置中心、插件加载、热更新等核心能力。无论是写 CLI 工具、做 Web 后端,还是构建分布式微服务,OpenClaw 都能帮你把"工程化样板代码"压到最少。
本文假设你是第一次接触 OpenClaw,目标是在 5 分钟内 完成本地运行环境的搭建。
方式一:源码安装(推荐)
适合需要二次开发、调试源码、贡献代码的同学。
前置条件
| 工具 | 最低版本 | 说明 |
|---|---|---|
| Go | 1.21+ | 编译 OpenClaw 主程序 |
| Node.js | 18+ | 运行 Web 控制台(可选) |
| Git | 2.30+ | 拉取源码 |
| Make | 任意 | 构建脚本依赖 |
拉取源码并编译
git clone https://github.com/opencLaw/opencLaw.git
cd opencLaw
make build
./bin/opencLaw --version
💡 第一次编译会比较慢,建议设置国内 Go 代理:
go env -w GOPROXY=https://goproxy.cn,direct
如果看到版本号输出(如 OpenClaw v0.18.2),恭喜你,环境安装成功。
方式二:Docker 一键启动(最快)
适合只想"先跑起来看看"的同学。
docker run -d \
--name openclaw-dev \
-p 8080:8080 \
-v $(pwd)/data:/app/data \
openclaw/opencLaw:latest
启动后访问 http://localhost:8080,看到欢迎页即代表成功。
Docker Compose 启动
更推荐使用 compose,便于管理依赖(数据库、Redis 等):
version: '3.8'
services:
openclaw:
image: openclaw/opencLaw:latest
ports:
- "8080:8080"
volumes:
- ./data:/app/data
- ./config.yaml:/app/config.yaml
depends_on:
- postgres
- redis
environment:
- DB_DSN=postgres://claw:claw@postgres:5432/openclaw
- REDIS_ADDR=redis:6379
postgres:
image: postgres:16-alpine
environment:
POSTGRES_USER: claw
POSTGRES_PASSWORD: claw
POSTGRES_DB: openclaw
volumes:
- pgdata:/var/lib/postgresql/data
redis:
image: redis:7-alpine
volumes:
pgdata:
运行 docker compose up -d,等待约 30 秒后访问 http://localhost:8080。
第一个 Demo
下面我们跑一个最小的 CLI Demo,演示 OpenClaw 的插件加载能力。
// main.go
package main
import (
"fmt"
"github.com/opencLaw/opencLaw/pkg/runtime"
)
func main() {
rt := runtime.New()
rt.LoadPlugin("hello", func(args []string) error {
fmt.Println("Hello from OpenClaw plugin!")
return nil
})
rt.Run([]string{"hello"})
}
编译运行:
go run main.go
# 输出: Hello from OpenClaw plugin!
常见踩坑与排错
1. 端口被占用
Error: bind: address already in use :::8080
解决:更换端口 ./bin/opencLaw --port=9090,或在 docker run 中映射其他端口。
2. Go 版本过低
opencLaw requires go 1.21+, found 1.19
解决:升级 Go 版本,推荐使用 gvm 管理多版本。
3. Docker 拉取镜像超时
解决:配置镜像加速器(以阿里云为例):
// /etc/docker/daemon.json
{
"registry-mirrors": ["https://<your-id>.mirror.aliyuncs.com"]
}
重启 Docker 后重试:sudo systemctl restart docker。
下一步
- 📘 阅读 OpenClaw 核心架构解析,理解模块边界
- 🔧 查看 OpenClaw API 文档 学会如何扩展功能
- 📦 学习 生产环境部署方案 了解如何上 K8s
如果遇到本文未覆盖的问题,欢迎通过页面底部"联系我们"反馈。