掘金首发 | 后端/AI 实战
前言
上一篇文章我们聊了 OpenClaw 是什么以及它为什么火。这篇我们直接上手,从零开始搭建一个属于你自己的 OpenClaw AI 助手,并教你如何编写自定义 Skill,让这只龙虾真正为你干活。
一、环境准备
| 依赖 | 版本要求 |
|---|---|
| Node.js | ≥ 22 |
| 操作系统 | macOS / Linux / Windows (WSL2) |
| LLM API Key | Claude / GPT / 其他兼容模型 |
Windows 用户强烈建议使用 WSL2,原生 Windows 支持还不够稳定。
二、安装与初始化
2.1 通过 npm 安装(推荐)
bash
# 全局安装
npm install -g openclaw@latest
# 验证安装
openclaw --version
# 运行引导向导
openclaw onboard --install-daemon
引导向导会依次帮你完成:
- Gateway 守护进程安装(launchd/systemd)
- 工作空间目录创建
- 聊天通道配置(选择你要接入的平台)
- LLM API Key 配置
- 基础 Skills 安装
2.2 从源码构建(开发者)
bash
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm ui:build # 首次运行会自动安装 UI 依赖
pnpm build
pnpm openclaw onboard --install-daemon
# 开发模式(TS 文件变更自动重载)
pnpm gateway:watch
三、核心配置文件详解
安装完成后,你的工作空间大致长这样:
bash
~/openclaw/
├── SOUL.md # Agent 的"灵魂",定义人格和行为准则
├── IDENTITY.md # 身份信息
├── USER.md # 你的个人偏好
├── HEARTBEAT.md # 定时任务配置
├── memory/ # 持久化记忆目录
│ └── MEMORY.md # 记忆索引
└── skills/ # 技能插件目录
3.1 SOUL.md ------ 给龙虾定规矩
这是 OpenClaw 最有意思的设计之一。你可以用自然语言定义 Agent 的行为:
markdown
# Soul
## 基本原则
- 你是我的私人技术助手,专注于后端开发和 DevOps
- 回复使用中文,技术术语保留英文
- 简洁直接,不要废话
## 行为边界
- 未经确认不要执行危险的 Shell 命令(rm -rf、drop table 等)
- 涉及金钱操作时必须二次确认
- 不要主动访问我未授权的目录
## 风格
- 像一个靠谱的同事,不是客服
- 可以适当幽默
3.2 HEARTBEAT.md ------ 定时任务
markdown
# Heartbeat
## 每日晨报 (07:30)
- 汇总昨天的 Git commit
- 列出今天的日历事件
- 检查服务器监控面板是否有异常
## 每周五下午 (17:00)
- 生成本周工作周报草稿
四、接入聊天平台
以 Telegram 为例:
4.1 创建 Telegram Bot
- 在 Telegram 中找到 @BotFather
- 发送
/newbot,按提示创建 - 获取 Bot Token
4.2 配置 OpenClaw
在引导向导中选择 Telegram,或手动编辑配置:
bash
openclaw channel add telegram --token YOUR_BOT_TOKEN
配置完成后,给你的 Bot 发消息就能和 OpenClaw 对话了。
其他平台(Slack、Discord、飞书等)流程类似,向导都有引导。
五、编写自定义 Skill(重点)
Skills 是 OpenClaw 的灵魂。一个 Skill 本质上就是一个 Markdown 文件,告诉 Agent 如何完成某类任务。
5.1 基础 Skill 示例:Git 日报生成器
在 skills/ 目录下创建 git-daily-report.md:
markdown
# Skill: Git 日报生成器
## 触发条件
当用户说"生成日报"或"今天做了什么"时触发。
## 执行步骤
1. 执行以下命令获取今天的 commit 记录:
```bash
git log --since="today 00:00" --pretty=format:"%h - %s (%an)" --all
-
按以下格式整理输出:
- 按仓库分组
- 每个 commit 一行,包含简短描述
- 底部统计总 commit 数
-
输出格式:
yaml📋 今日工作日报 (YYYY-MM-DD) ## 项目A - abc1234 - 修复登录页面样式问题 - def5678 - 添加用户权限校验 ## 项目B - ghi9012 - 优化数据库查询性能 --- 总计:3 个提交
bash
### 5.2 进阶 Skill 示例:服务器健康检查
```markdown
# Skill: 服务器健康检查
## 触发条件
当用户说"检查服务器"或由 HEARTBEAT 定时触发。
## 执行步骤
1. 检查目标服务器列表(从 USER.md 中读取 server_list)
2. 对每台服务器执行:
```bash
curl -s -o /dev/null -w "%{http_code}" https://{server_url}/health
-
汇总结果:
- ✅ 正常(HTTP 200)
- ⚠️ 响应慢(> 2s)
- ❌ 异常(非 200 或超时)
-
如果有异常服务器,主动通过当前聊天通道告警,格式:
yaml🚨 服务器异常告警 ❌ api-server-03: HTTP 502 (响应时间: 5.2s) ❌ db-replica-02: 连接超时 其余 8 台服务器运行正常 ✅
bash
### 5.3 使用 ClawHub 社区技能
除了自己写,你也可以从社区技能市场安装现成的 Skill:
```bash
# 浏览热门技能
openclaw skills search "email"
# 安装技能
openclaw skills install @community/email-manager
六、记忆系统详解
OpenClaw 的记忆系统是它区别于普通聊天机器人的关键。
bash
memory/
├── MEMORY.md # 记忆索引和摘要
├── conversations/ # 对话历史
├── facts/ # 提取的事实(如:用户偏好 Python 3.12)
└── diary/ # Agent 的"日记"
记忆基于 SQLite 做语义搜索,Agent 会自动:
- 从对话中提取关键事实
- 在后续对话中检索相关记忆
- 定期整理和压缩过期记忆
你也可以手动管理:
bash
# 查看记忆
openclaw memory list
# 删除特定记忆
openclaw memory forget "某条不需要的记忆"
# 导出记忆
openclaw memory export --format json
七、安全最佳实践
本地运行 = 你的机器暴露给了 Agent,务必注意:
bash
# 1. 配置 DM 配对模式,防止陌生人访问
# 默认已开启,确认一下:
openclaw config get dmPolicy
# 应该返回 "pairing"
# 2. 审查已安装的 Skills
openclaw skills list --verbose
# 3. 运行安全检查
openclaw doctor
# 4. 保持更新
openclaw update --channel stable
八、实用技巧
-
多模型切换:可以配置多个 LLM,按任务类型自动选择
bashopenclaw models add claude-sonnet --provider anthropic openclaw models add gpt-4o --provider openai openclaw models set-default claude-sonnet -
调试模式:排查问题时开启 verbose
bashopenclaw gateway --verbose -
Canvas 功能:OpenClaw 支持渲染实时 Canvas,适合可视化展示
bashopenclaw agent --message "画一个系统架构图" --canvas
九、总结
OpenClaw 的上手门槛其实不高,核心就三步:
- 安装 + 配置 API Key
- 接入你常用的聊天平台
- 编写或安装 Skills
真正的价值在于 Skills + Memory 的组合。随着你使用时间越长,这只龙虾就越了解你,越能帮你干活。
建议从简单的 Skill 开始写起,比如日报生成、提醒事项,慢慢扩展到更复杂的自动化工作流。
📎 相关链接:
- GitHub:github.com/openclaw/op...
- Skills 市场:clawhub.dev
- 安全指南:docs.openclaws.io/security
- 上一篇:[OpenClaw:一只"龙虾"凭什么拿下20万+ Star?](#OpenClaw:一只"龙虾"凭什么拿下20万+ Star? "#")
如果觉得有帮助,欢迎点赞 👍 收藏 ⭐ 关注,有问题评论区见。