OpenClaw使用教程:从安装到上手
OpenClaw是一个开源的自托管AI助手框架。它在你自己的设备上运行,通过你日常用的消息软件(WhatsApp、Telegram、Slack、Discord、飞书、微信等20多个平台)提供AI服务。它不是简单的聊天机器人,而是一个有记忆、能定时干活、能自己执行任务的数字员工。
一、环境准备
| 项目 | 要求 |
|---|---|
| Node.js | 推荐24,最低22.14以上 |
| 操作系统 | macOS / Linux / Windows(WSL2更稳) |
| API密钥 | Anthropic、OpenAI、Google等提供商的密钥 |
| 可选 | Docker(沙箱模式)、Tailscale(远程访问) |
检查Node版本:
node --version
# 输出应该是 v24.x.x 或 v22.14+二、安装与初始化
命令行安装(推荐)
macOS / Linux:
curl -fsSL https://openclaw.ai/install.sh | bashWindows(PowerShell):
iwr -useb https://openclaw.ai/install.ps1 | iex或者用npm/pnpm安装:
npm install -g openclaw@latest
# 或
pnpm add -g openclaw@latest从源码构建
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm ui:build
pnpm build初始化向导
openclaw onboard --install-daemon向导会一步步带你完成:
选模型提供商(Anthropic、OpenAI、Google等)
输API密钥
配Gateway网关
装守护进程(开机自启)
验证安装
# 看网关状态,默认端口18789
openclaw gateway status
# 打开控制面板
openclaw dashboard
# 发条测试消息
openclaw agent --message "你好,OpenClaw!" --thinking high三、核心架构
OpenClaw分四层:
通信层(Gateway):前台接待,统一处理所有消息渠道
调度层(Cron/Heartbeat):日程表,决定什么时候干什么
执行层(Agent Loop):顾问本人,思考→行动→观察→判断
记忆层(Memory/Workspace):工作笔记本,SOUL.md、MEMORY.md这些文件
Agent Loop的工作流程:
用户消息进来 → 思考(分析任务)→ 行动(调工具)→ 观察(看结果)→ 判断(要不要继续)→ 循环
四、基础配置
主配置文件在~/.openclaw/openclaw.json。关键配置:
{
"gateway": {
"port": 18789,
"controlUi": {
"enabled": true
}
},
"providers": {
"anthropic": {
"apiKey": "sk-ant-xxxxx"
},
"openai": {
"apiKey": "sk-xxxxx"
}
},
"agents": {
"defaults": {
"model": "claude-sonnet-4-20250514",
"sandbox": {
"mode": "non-main"
}
}
},
"security": {
"dmPolicy": "pair"
}
}配置说明:
providers:放模型提供商和密钥
agents.defaults.model:默认用的模型
agents.defaults.sandbox.mode:non-main表示群消息在Docker沙箱跑
security.dmPolicy:pair表示陌生人私信要配对验证
环境变量
| 变量 | 用途 |
|---|---|
| OPENCLAW_HOME | 主目录路径 |
| OPENCLAW_STATE_DIR | 状态数据目录 |
| OPENCLAW_CONFIG_PATH | 配置文件路径 |
五、接入消息渠道
Telegram(最快上手)
在Telegram找@BotFather,建个Bot,拿到Token
配渠道:
openclaw channels add telegram
# 按提示输Bot Token或者手改配置文件:
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "123456:ABC-DEF..."
}
}
}Slack
openclaw channels add slackDiscord
openclaw channels add discord飞书
openclaw channels add feishu控制谁能用
用allowFrom限制谁可以跟助手说话:
{
"channels": {
"telegram": {
"allowFrom": ["你的telegram_id"]
}
}
}六、记忆系统
记忆文件结构:
~/.openclaw/
├── SOUL.md # AI的性格设定
├── USER.md # 用户偏好、背景
├── MEMORY.md # 长期记忆
├── AGENTS.md # 行为规范
├── HEARTBEAT.md # 心跳任务配置
└── memory/
├── 2026-04-01.md
└── ...写SOUL.md的例子
# AI助手性格设定
## 基本性格
- 你是一个经验丰富的全栈工程师助手
- 回答简洁、专业、有条理
- 优先用中文交流
## 工作风格
- 先理解需求,再动手实现
- 提供代码时带关键注释
## 技术偏好
- Python: FastAPI + SQLAlchemy
- 前端: Vue 3 + TypeScript
- 数据库: PostgreSQL写USER.md的例子
# 用户档案
## 基本信息
- 姓名:张工
- 角色:后端开发工程师
- 技术栈:Python, FastAPI, PostgreSQL
## 沟通偏好
- 用中文
- 喜欢简洁的回答七、定时任务(Cron)
通过聊天就能建定时任务:
用户:帮我每天早上9点整理昨天的Git提交记录
或者手写配置:
{
"cron": [
{
"name": "daily-git-review",
"schedule": "0 9 * * *",
"sessionTarget": "isolated",
"payload": {
"message": "请执行:1.用git log拿昨天所有提交;2.按模块分类整理;3.生成变更摘要;4.发给我"
},
"delivery": {
"channel": "telegram"
},
"timeout": 600
}
]
}参数说明:
schedule:Cron表达式,0 9 * * *就是每天9点
sessionTarget:推荐isolated,不受主对话干扰
payload.message:具体任务指令
delivery.channel:结果发到哪
Cron表达式速查
* * * * *
│ │ │ │ │
│ │ │ │ └─ 星期几 (0-7)
│ │ │ └─── 月份 (1-12)
│ │ └───── 日 (1-31)
│ └─────── 小时 (0-23)
└───────── 分钟 (0-59)常用:
0 9 * * *:每天9点
0 9 * * 1-5:周一到周五9点
*/30 * * * *:每30分钟
八、心跳机制
心跳就是保安巡逻。系统每30分钟发一次心跳,Agent读HEARTBEAT.md看要不要干活。
HEARTBEAT.md例子
# 心跳任务清单
## 检查项
1. 检查有没有新邮件
2. 检查监控有没有告警
3. 整理今天的对话,存到MEMORY.md
## 执行规则
- 没事做就回HEARTBEAT_OK
- 有急事主动通知用户九、技能系统
Skill是可复用的能力包。
# 查看已装技能
openclaw skills list
# 从市场安装
openclaw skills install <技能名>常用内置技能:
浏览器控制:网页浏览、截图
Web搜索:实时搜信息
文件操作:读写文件
代码执行:沙箱里跑代码
十、实战场景
场景一:每日代码Review
每天早上自动Review代码变更,推团队群。
{
"name": "daily-code-review",
"schedule": "30 9 * * 1-5",
"sessionTarget": "isolated",
"payload": {
"message": "对~/projects/my-app做Review:看昨日提交和变更,检查内存泄露、空指针、异常处理,输出结构化报告"
},
"delivery": {
"channel": "slack",
"target": "#code-review"
}
}场景二:个人知识库
用户:我刚读完这篇文章,帮我整理要点存知识库
AI自动把摘要存到memory/tech-notes/日期.md
场景三:服务器监控
在HEARTBEAT.md里写检查项:CPU、内存、磁盘、服务状态、错误日志。超过阈值就主动通知。
场景四:会议纪要
群里说/new开始记录,讨论完说/end-meeting,AI自动生成会议纪要和待办事项。
场景五:自动日报
{
"name": "daily-work-report",
"schedule": "0 18 * * 1-5",
"payload": {
"message": "生成今日日报:看今天的对话记录和Git提交,汇总完成的任务,列明日计划"
}
}十一、常用命令速查
# 安装与启动
openclaw onboard --install-daemon
openclaw gateway status
openclaw dashboard
# 渠道管理
openclaw channels add <渠道名>
openclaw channels list
openclaw channels remove <渠道名>
# 技能管理
openclaw skills list
openclaw skills install <技能名>
# 直接交互
openclaw agent --message "你好"
openclaw agent --message "..." --thinking high
# 配置
openclaw configure聊天命令
| 命令 | 功能 |
|---|---|
| /status | 看Agent状态 |
| /new | 开始新对话 |
| /think | 切换深度思考模式 |
十二、几个建议
拆任务:别一下子说要做个完整网站,一步一步来
多轮改:不满意就提具体修改意见,别只说重写
用好记忆:认真维护MEMORY.md,记技术栈、常用路径、踩过的坑
三次就自动化:一件事手动做了三次以上,就该做成定时任务
让AI修自己:报错了直接贴错误信息让它分析
安全提醒
生产环境一定要把dmPolicy设成pair
群消息用sandbox.mode: non-main
定期看allowFrom白名单
快速上手清单
装Node.js 24
准备API密钥
装OpenClaw
运行openclaw onboard --install-daemon
看Gateway状态
开Dashboard发第一条消息
写SOUL.md
写USER.md
接一个消息渠道(先试Telegram)
建第一个定时任务
开始积累MEMORY.md
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!