1. OpenClaw 概述与核心价值
1.1 什么是 OpenClaw
OpenClaw(原名 Clawdbot,过渡名 Moltbot)是 2026 年 1 月突然爆火的开源个人 AI 助手项目,由 Peter Steinberger(PSPDFKit 创始人)开发。它是一个可执行任务的智能体,不仅能回答问题,还能主动操作系统、访问网页、处理邮件、整理文件、发起提醒甚至自动编写代码。
1.2 核心价值主张
🔒 隐私优先
- 运行在你自己的设备上
- 数据本地存储,不上传第三方
- 支持纯本地模型(Ollama 等)
- 完全开源,代码可审计
🔄 真实任务执行
- 文件系统操作(读/写/搜索)
- 浏览器自动化控制
- 系统命令执行
- API 调用与 Webhook
💬 多渠道交互
- WhatsApp/Telegram/Slack
- Discord/Signal/iMessage
- WebChat 控制台
- 命令行 TUI 界面
🧠 模型无关
- 支持 Anthropic Claude
- 支持 OpenAI GPT/Codex
- 支持本地模型(Ollama)
- 支持 MiniMax/GLM 等国产模型
1.3 关键统计数据
| 指标 | 数值 | 说明 |
|---|---|---|
| GitHub Stars | 191,000+ | 3 天内突破 100K,创开源记录 |
| 安装方式 | npm / pnpm / git | 支持 Node.js ≥22 环境 |
| 运行时资源 | 512MB-1GB RAM | Gateway 网关轻量级设计 |
| API Token 成本 | $10-150/月 | 根据使用强度分级 |
| 支持平台 | macOS / Linux / Windows(WSL2) | 跨平台兼容 |
1.4 与传统 Chatbot 的区别
2. 系统架构设计
2.1 网关架构全景
OpenClaw 采用中心化的 Gateway(网关)架构设计,所有渠道通信、AI 交互、任务调度都通过 Gateway 统一管理。
┌─────────────────────────────────────────────────────────────────────────┐
│ OpenClaw 系统架构全景图 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ WhatsApp │ │ Telegram │ │ Slack │ │
│ │ Channel │ │ Channel │ │ Channel │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │
│ └────────────────────┼────────────────────┘ │
│ │ │
│ ┌────────────────────▼────────────────────┐ │
│ │ │ │
│ │ Gateway (网关层) │ │
│ │ ┌───────────────────────────────────┐ │ │
│ │ │ Message Router (消息路由) │ │ │
│ │ ├───────────────────────────────────┤ │ │
│ │ │ Session Manager (会话管理) │ │ │
│ │ ├───────────────────────────────────┤ │ │
│ │ │ Auth Handler (认证处理) │ │ │
│ │ ├───────────────────────────────────┤ │ │
│ │ │ Tool Executor (工具执行器) │ │ │
│ │ └───────────────────────────────────┘ │ │
│ │ │ │
│ └────────────────────┬────────────────────┘ │
│ │ │
│ ┌────────────────────▼────────────────────┐ │
│ │ │ │
│ │ Agent Core (智能体核心) │ │
│ │ ┌───────────────────────────────────┐ │ │
│ │ │ LLM Client (模型客户端) │ │ │
│ │ ├───────────────────────────────────┤ │ │
│ │ │ Context Manager (上下文管理) │ │ │
│ │ ├───────────────────────────────────┤ │ │
│ │ │ Memory System (记忆系统) │ │ │
│ │ ├───────────────────────────────────┤ │ │
│ │ │ Skill Loader (技能加载器) │ │ │
│ │ └───────────────────────────────────┘ │ │
│ │ │ │
│ └────────────────────┬────────────────────┘ │
│ │ │
│ ┌────────────────────┼────────────────────┐ │
│ │ │ │ │
│ ┌──────▼───────┐ ┌───────▼───────┐ ┌───────▼───────┐ │
│ │ Claude API │ │ OpenAI API │ │ Local Model │ │
│ │ (Anthropic) │ │ (OpenAI) │ │ (Ollama) │ │
│ └──────────────┘ └───────────────┘ └───────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 本地资源访问层 │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ 文件系统 │ │ 浏览器 │ │ 系统命令 │ │ 网络工具 │ │ │
│ │ │ Tools │ │ Tools │ │ Tools │ │ Tools │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
2.2 核心分层设计
| 层级 | 组件 | 职责 | 技术实现 |
|---|---|---|---|
| 渠道层 (Channels) |
WhatsApp, Telegram, Slack, Discord, etc. |
消息收发、格式转换、用户认证 | 各平台官方 SDK / API |
| 网关层 (Gateway) |
Message Router, Session Manager, Auth Handler |
消息路由、会话管理、认证鉴权、工具调度 | Node.js + WebSocket RPC |
| 智能体层 (Agent Core) |
LLM Client, Context Manager, Memory System |
模型调用、上下文维护、记忆存储、技能执行 | Provider SDK + 自定义逻辑 |
| 工具层 (Tools) |
File System, Browser, System Commands |
实际任务执行、系统资源访问 | Node.js 原生模块 + Puppeteer |
| 存储层 (Storage) |
Session Store, Memory Files, Config DB |
状态持久化、配置管理、历史记录 | JSONL + Markdown + JSON5 |
2.3 工作模式
本地模式 (Local Mode)
# 典型本地部署场景
- Gateway 运行在用户笔记本电脑上
- 直接访问本地文件系统和浏览器
- 适合开发和临时使用
- 缺点:设备休眠/重启会中断服务
远程模式 (Remote Mode)
# 典型远程部署场景
- Gateway 运行在 VPS/云服务器上 (24/7 在线)
- 用户通过 Tailscale/SSH 隧道连接
- 可配对多个节点 (Node) 访问本地资源
- 适合生产环境和持续自动化任务
多智能体模式 (Multi-Agent Mode)
# 多智能体路由配置
{
"agents": {
"list": [
{
"id": "ceo_agent",
"workspace": "~/.openclaw/workspace/ceo",
"model": { "primary": "anthropic/claude-opus-4-5" },
"routes": [
{ "channel": "telegram", "peer": "+1234567890" }
]
},
{
"id": "dev_agent",
"workspace": "~/.openclaw/workspace/dev",
"model": { "primary": "openai-codex/gpt-5.2-codex" },
"routes": [
{ "channel": "slack", "workspace": "T123456" }
]
}
]
}
}
3. 核心组件详解
3.1 Gateway 网关
Gateway 是 OpenClaw 的核心控制平面,负责所有入站消息的处理和出站响应的发送。
核心功能
- WebSocket RPC 服务器
- 渠道连接管理
- 会话状态维护
- 工具调用代理
- 认证与授权
运行模式
- local: 仅监听 localhost
- lan: 监听局域网 IP
- tailnet: 通过 Tailscale 暴露
- any: 监听所有接口
端口配置
- 默认端口:18789
- 可配置:gateway.port
- 支持 TLS/SSL
- Tailscale Serve 模式
健康检查
- openclaw gateway status
- openclaw health --json
- 自动重启机制
- 日志追踪
3.2 Agent 智能体
Agent 是 AI 助手的核心大脑,通过工作区文件定义能力、记忆和交互方式。
工作区文件结构
~/.openclaw/workspace/
├── AGENTS.md # Agent 角色定义与行为准则
├── SOUL.md # 个性与风格配置
├── IDENTITY.md # 身份标识信息
├── USER.md # 用户偏好与背景
├── MEMORY.md # 长期记忆 (精选笔记)
├── HEARTBEAT.md # 心跳任务定义
├── memory/
│ ├── 2026-03-10.md # 每日笔记
│ ├── 2026-03-11.md
│ └── 2026-03-12.md
└── skills/
├── custom_skill_1/
│ └── SKILL.md
└── custom_skill_2/
└── SKILL.md
AGENTS.md 示例
# Agent 角色定义
## 你是谁
你是一名资深软件架构师,拥有 15 年全栈开发经验。擅长系统设计、代码审查和技术方案评审。
## 工作原则
1. 先理解需求再动手
2. 优先考虑可扩展性和可维护性
3. 遵循最佳实践和设计模式
4. 主动识别风险并提出缓解措施
## 输出规范
- 技术方案必须包含架构图
- 代码必须包含单元测试
- API 设计遵循 RESTful 规范
- 数据库变更需要迁移脚本
## 工具使用
- 使用 browser 工具访问在线文档
- 使用 file_system 工具读写项目文件
- 使用 system.run 执行构建和测试命令
3.3 记忆系统 (Memory System)
OpenClaw 的记忆系统基于 Markdown 文件实现,支持长期记忆和短期上下文的分离管理。
| 记忆类型 | 存储位置 | 用途 | 更新机制 |
|---|---|---|---|
| 长期记忆 | MEMORY.md | 用户偏好、重要事实、项目背景 | Agent 主动写入 |
| 短期记忆 | memory/YYYY-MM-DD.md | 每日对话摘要、临时笔记 | 自动压缩归档 |
| 会话上下文 | sessions/*.jsonl | 当前对话历史、工具调用记录 | 自动追加 |
| 语义索引 | memory_index/ | 向量嵌入、相似度检索 | 定期重建 |
3.4 工具系统 (Tools)
工具是 Agent 执行具体任务的能力单元,分为内置工具和自定义技能。
内置工具清单
📁 文件系统工具
- file_read: 读取文件内容
- file_write: 写入/创建文件
- file_search: 搜索文件
- dir_list: 列出目录内容
🌐 浏览器工具
- browser_navigate: 打开网页
- browser_click: 点击元素
- browser_fill: 填写表单
- browser_screenshot: 截图
💻 系统工具
- system.run: 执行 shell 命令
- system.info: 获取系统信息
- canvas: 画布交互
- camera: 摄像头访问
🔍 网络工具
- web_search: 网络搜索 (Brave)
- web_fetch: 网页抓取
- http_request: HTTP 请求
- webhook_send: 发送 Webhook
4. API 接口与集成方案
4.1 CLI 命令行接口
OpenClaw 提供丰富的 CLI 命令用于系统管理和自动化集成。
# 核心命令分类
## 状态诊断
openclaw status # 快速状态检查
openclaw status --all # 完整诊断报告
openclaw gateway status # Gateway 运行状态
openclaw models status # 模型配置状态
openclaw channels status # 渠道连接状态
openclaw nodes status # 节点连接状态
## 配置管理
openclaw config get # 读取配置
openclaw config set # 修改配置
openclaw configure # 交互式配置向导
openclaw doctor # 自动修复问题
## 模型管理
openclaw models list # 列出可用模型
openclaw models set # 设置默认模型
openclaw models auth login # OAuth 认证
openclaw models auth paste-token # 粘贴 API Token
## 会话管理
openclaw agent --message "..." --deliver # 发送消息
openclaw sessions list # 列出会话
openclaw sessions reset # 重置会话
## 定时任务
openclaw cron list # 列出定时任务
openclaw cron run # 手动触发任务
openclaw cron runs --id # 查看执行历史
## 节点管理
openclaw nodes list # 列出已连接节点
openclaw nodes approve # 批准节点请求
openclaw nodes pending # 查看待批准节点
## 系统维护
openclaw logs --follow # 实时日志追踪
openclaw reset --scope full # 完全重置
openclaw update # 系统更新
openclaw uninstall # 卸载
4.2 WebSocket RPC API
Gateway 提供 WebSocket RPC 接口供客户端和控制 UI 调用。
// WebSocket 连接示例
const ws = new WebSocket('ws://localhost:18789');
// 认证握手
ws.onopen = () => {
ws.send(JSON.stringify({
type: 'auth',
token: 'your-gateway-token'
}));
};
// 发送消息给 Agent
ws.send(JSON.stringify({
type: 'message',
channel: 'telegram',
peer: '+1234567890',
content: '请帮我创建一个 React 登录组件',
context: {
sessionId: 'session-123'
}
}));
// 接收响应
ws.onmessage = (event) => {
const response = JSON.parse(event.data);
console.log('Agent 响应:', response.content);
};
// 调用工具
ws.send(JSON.stringify({
type: 'tool_call',
tool: 'file_read',
params: { path: '/path/to/file.txt' }
}));
4.3 配置文件格式 (JSON5)
OpenClaw 使用 JSON5 格式的配置文件,支持注释和灵活语法。
// ~/.openclaw/openclaw.json
{
// Gateway 配置
"gateway": {
"port": 18789,
"bind": "lan", // local | lan | tailnet | any
"auth": {
"mode": "token",
"token": "${OPENCLAW_GATEWAY_TOKEN}",
"allowTailscale": true
},
"reload": {
"mode": "hybrid" // hot | restart | off
}
},
// Agent 默认配置
"agents": {
"defaults": {
"workspace": "~/.openclaw/workspace",
"model": {
"primary": "anthropic/claude-opus-4-5",
"fallbacks": [
"openai/gpt-5.2",
"zai/glm-4.7"
]
},
"sandbox": {
"mode": "non-main",
"docker": {
"binds": ["/home/user/src:/src:ro"]
}
},
"contextPruning": {
"enabled": true,
"maxToolOutputLines": 100
}
}
},
// 渠道配置
"channels": {
"telegram": {
"enabled": true,
"botToken": "${TELEGRAM_BOT_TOKEN}",
"allowFrom": ["+1234567890"],
"groupPolicy": "allowlist",
"groupAllowFrom": ["+1234567890"]
},
"whatsapp": {
"enabled": true,
"dmPolicy": "allowlist",
"allowFrom": ["+1234567890"]
}
},
// 环境变量
"env": {
"ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}",
"BRAVE_API_KEY": "${BRAVE_API_KEY}",
"shellEnv": {
"enabled": true,
"timeoutMs": 15000
}
},
// 工具配置
"tools": {
"web": {
"search": {
"enabled": true,
"apiKey": "${BRAVE_API_KEY}",
"maxResults": 5
},
"fetch": {
"enabled": true
}
},
"sandbox": {
"tools": ["file_*", "web_*"]
}
},
// 定时任务
"cron": {
"enabled": true,
"jobs": [
{
"id": "daily_standup",
"schedule": "0 9 * * 1-5",
"prompt": "生成今日站会报告,包括昨日完成、今日计划、风险阻塞",
"deliver": {
"channel": "telegram",
"peer": "+1234567890"
}
}
]
}
}
4.4 与外部系统集成
Jenkins 集成
# Jenkins Pipeline 中调用 OpenClaw
pipeline {
agent any
stages {
stage('AI Code Review') {
steps {
sh '''
openclaw agent \\
--message "请审查以下代码变更:$(git diff HEAD~1)" \\
--deliver \\
--channel telegram \\
--reply-to "+1234567890"
'''
}
}
stage('AI Test Generation') {
steps {
sh '''
openclaw agent \\
--message "为 src/ 目录生成单元测试用例" \\
--deliver \\
--agent dev_agent
'''
}
}
}
}
Git Hooks 集成
#!/bin/bash
# .git/hooks/pre-commit
echo "Running AI pre-commit checks..."
# 调用 OpenClaw 进行代码质量检查
openclaw agent \
--message "检查以下代码是否有明显问题:$(git diff --cached)" \
--deliver \
--agent review_agent > /tmp/ai_review.txt
if grep -q "BLOCKER\|CRITICAL" /tmp/ai_review.txt; then
echo "❌ AI 发现严重问题,提交被拒绝"
cat /tmp/ai_review.txt
exit 1
fi
echo "✅ AI 审查通过"
exit 0
5. Agent 技能系统 (Skills)
5.1 Skills 架构
Skills 是 OpenClaw 的可扩展能力单元,允许开发者自定义 Agent 的专用技能。
<workspace>/skills → ~/.openclaw/skills → 内置 Skills → skills.load.extraDirs
5.2 SKILL.md 文件结构
---
name: prd_generator
description: 产品需求文档 (PRD) 自动生成技能
version: 1.0.0
author: Your Team
metadata:
openclaw:
os: ["darwin", "linux", "windows"]
requires:
bins: ["node", "npm"]
tools: ["file_write", "browser_navigate"]
triggers:
keywords: ["PRD", "产品需求", "需求文档"]
patterns: ["生成.*PRD", "写.*需求文档"]
---
# 技能定义
## 角色
你是一名资深产品经理,擅长将模糊的业务想法转化为结构化的产品需求文档。
## 输入
- 业务想法或问题描述
- 目标用户群体
- 预期功能和价值
## 输出格式
生成符合以下结构的 PRD 文档:
```markdown
# 产品需求文档
## 1. 背景与目标
[描述业务背景和要解决的问题]
## 2. 用户画像
[定义目标用户特征和使用场景]
## 3. 功能需求
### 3.1 核心功能
- [功能 1]: [描述]
- [功能 2]: [描述]
### 3.2 辅助功能
- [功能列表]
## 4. 非功能需求
- 性能要求
- 安全要求
- 兼容性要求
## 5. 成功指标
[定义可量化的成功标准]
## 6. 风险与依赖
[识别潜在风险和外部依赖]
```
## 工作流程
1. 询问澄清问题以理解业务背景
2. 确认目标用户和核心价值
3. 生成 PRD 初稿
4. 根据反馈迭代优化
5. 将最终版本保存到 workspace/prd_v1.md
## 示例对话
**用户**: 我想做一个在线协作文档工具
**你**: 好的,我来帮您梳理 PRD。首先确认几个关键点:
1. 目标用户是谁?(个人/团队/企业)
2. 核心差异化是什么?(相比 Notion/语雀)
3. 首批上线的核心功能有哪些?
[等待用户回答后生成 PRD]
## 工具使用
- 使用 `file_write` 保存 PRD 文档
- 使用 `browser_navigate` 参考竞品文档
- 使用 `web_search` 调研行业最佳实践
5.3 内置 Skills 清单
| Skill 名称 | 用途 | 触发关键词 |
|---|---|---|
web_search |
网络搜索与信息收集 | 搜索、查找、调研 |
code_review |
代码审查与建议 | 审查、review、代码质量 |
test_generator |
单元测试自动生成 | 测试、unit test、覆盖率 |
api_designer |
RESTful API 设计 | API、接口、OpenAPI |
docker_builder |
Dockerfile 生成 | Docker、容器化、镜像 |
k8s_deployer |
K8S 部署配置生成 | Kubernetes、部署、YAML |
5.4 ClawHub 技能市场
ClawHub 是 OpenClaw 的技能市场,提供社区贡献的预制 Skills。
# 安装 ClawHub CLI
npm install -g clawhub
# 浏览可用 Skills
clawhub browse
# 安装 Skill
clawhub install prd-generator
clawhub install api-designer
clawhub install ci-cd-expert
# 更新所有 Skills
clawhub update --all
# 查看已安装 Skills
clawhub list
6. 与 Claude Code 集成方案
6.1 集成架构
OpenClaw 与 Claude Code 可以形成强大的协作组合:OpenClaw 负责任务编排和人机交互,Claude Code 负责深度代码生成。
┌─────────────────────────────────────────────────────────────┐
│ OpenClaw + Claude Code 协作架构 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 用户 │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ OpenClaw (项目经理 / 协调员) │ │
│ │ • 需求理解与拆解 │ │
│ │ • 任务分配与进度跟踪 │ │
│ │ • 质量审查与验收 │ │
│ │ • 人机交互与审批 │ │
│ └────────────────────┬─────────────────────────────────┘ │
│ │ │
│ │ 子任务委托 │
│ ▼ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Claude Code (高级工程师) │ │
│ │ • 深度代码生成 │ │
│ │ • 复杂算法实现 │ │
│ │ • 代码重构优化 │ │
│ │ • 技术问题解答 │ │
│ └────────────────────┬─────────────────────────────────┘ │
│ │ │
│ │ 代码交付 │
│ ▼ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Git 仓库 / 文件系统 │ │
│ │ • 源代码 │ │
│ │ • 测试用例 │ │
│ │ • 配置文件 │ │
│ └──────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
6.2 认证配置
Claude Code 使用 setup-token 进行认证,而非传统的 API Key。
# 步骤 1: 生成 Claude Code setup-token
claude setup-token
# 步骤 2: 在 OpenClaw 中配置
openclaw models auth paste-token --provider anthropic
# 或者编辑配置文件
{
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-code-latest"
}
}
},
"env": {
"ANTHROPIC_SETUP_TOKEN": "你的 setup-token"
}
}
# 步骤 3: 验证配置
openclaw models status
6.3 协作工作流示例
场景:开发一个用户管理系统
# 工作流步骤
## 1. 用户在飞书发送需求
"我需要一个用户管理系统,包含注册、登录、权限管理功能"
## 2. OpenClaw (PM Agent) 响应
- 生成 PRD 文档
- 拆分为以下任务:
* 数据库 Schema 设计
* 后端 API 开发
* 前端页面实现
* 单元测试编写
## 3. OpenClaw 调用 Claude Code 执行任务
openclaw agent \
--message "请实现用户注册 API,包括:
1. 创建 users 表 (id, email, password_hash, created_at)
2. 实现 POST /api/register 接口
3. 密码使用 bcrypt 加密
4. 添加邮箱格式验证
5. 编写单元测试" \
--deliver \
--agent claude-code-agent
## 4. Claude Code 执行
- 读取现有项目结构
- 生成数据库迁移脚本
- 实现 API 代码
- 编写测试用例
- 提交到 Git
## 5. OpenClaw 验收
- 运行测试验证
- 代码质量检查
- 向用户汇报进度
## 6. 循环直到所有任务完成
6.4 性能对比
| 指标 | 纯 OpenClaw | OpenClaw + Claude Code | 提升 |
|---|---|---|---|
| 代码生成速度 | 中等 | 极快 | 3-5x |
| 复杂任务处理 | 有限 | 强大 | 显著提升 |
| 代码质量 | 良好 | 优秀 | 20-30% |
| 上下文理解 | 100K tokens | 200K tokens | 2x |
7. 消息渠道集成
7.1 支持的渠道
| 渠道 | 状态 | 配置复杂度 | 适用场景 |
|---|---|---|---|
| Telegram | ✅ 稳定 | 低 | 个人使用、小团队 |
| ✅ 稳定 | 中 | 企业沟通、客户支持 | |
| Slack | ✅ 稳定 | 低 | 企业内部协作 |
| Discord | ✅ 稳定 | 低 | 社区运营、开发者社群 |
| Signal | ✅ 稳定 | 中 | 隐私敏感场景 |
| iMessage | ⚠️ 需 macOS | 高 | Apple 生态用户 |
| WebChat | ✅ 内置 | 极低 | Web 控制台 |
7.2 Telegram 配置示例
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "${TELEGRAM_BOT_TOKEN}",
"allowFrom": ["+1234567890"], // 允许的用户 ID
"groupPolicy": "allowlist", // 群组策略
"groupAllowFrom": ["+1234567890"],
"mentionRequired": true, // 需要@提及
"mentionPatterns": ["@bot", "/bot"]
}
}
}
# 获取 Telegram Bot Token
# 1. 联系 @BotFather 创建机器人
# 2. 获取 Token 字符串
# 3. 添加到配置文件或环境变量
7.3 WhatsApp 配置示例
{
"channels": {
"whatsapp": {
"enabled": true,
"dmPolicy": "allowlist",
"allowFrom": ["+1234567890"],
"groupPolicy": "block", // 默认阻止群组
"pairing": {
"method": "qr", // qr | code
"timeout": 120
}
}
}
}
# WhatsApp 配对流程
# 1. 启动 OpenClaw
# 2. 在 WhatsApp 中扫描 QR 码
# 3. 完成配对
# 4. 开始接收消息
8. 安全与权限控制
8.1 安全架构
8.2 沙箱机制
{
"agents": {
"defaults": {
"sandbox": {
"mode": "non-main", // always | non-main | never
"docker": {
"image": "openclaw/sandbox:latest",
"binds": [
"/home/user/project:/src:ro" // 只读绑定
],
"network": "bridge"
},
"tools": {
"allow": ["file_read", "web_search"],
"deny": ["system.run", "file_write"]
}
}
}
}
}
8.3 访问控制
| 控制层级 | 配置项 | 说明 |
|---|---|---|
| 渠道级 | channels.*.allowFrom | 允许的用户/群组白名单 |
| 工具级 | tools.sandbox.tools | 工具使用白名单/黑名单 |
| 命令级 | nodes.system.allowCommands | 允许执行的系统命令 |
| 文件级 | sandbox.docker.binds | 文件系统访问范围 |
8.4 认证配置
{
"gateway": {
"auth": {
"mode": "token",
"token": "${OPENCLAW_GATEWAY_TOKEN}",
"allowTailscale": true
}
},
"agents": {
"defaults": {
"authProfiles": {
"anthropic": {
"type": "setup-token",
"token": "${ANTHROPIC_SETUP_TOKEN}"
},
"openai": {
"type": "oauth",
"clientId": "${OPENAI_CLIENT_ID}"
}
}
}
}
}
9. 部署与运维指南
9.1 部署选项
| 部署方式 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| 本地笔记本 | 开发测试 | 零成本、易调试 | 不稳定、受休眠影响 |
| Mac mini | 家庭/小办公室 | 24/7 在线、静音 | 硬件成本 ~¥3000 |
| 云 VPS | 生产环境 | 高可用、弹性扩展 | 月费 ¥50-500 |
| Raspberry Pi | 低成本场景 | 低功耗、便宜 | 性能有限 |
9.2 VPS 部署步骤
# 1. 准备 VPS (推荐 Ubuntu 22.04+)
ssh user@your-vps-ip
# 2. 安装 Node.js 22+
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
# 3. 安装 OpenClaw
npm install -g openclaw@latest
# 4. 运行新手引导
openclaw onboard --install-daemon
# 5. 配置 Tailscale (可选但推荐)
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
# 6. 验证安装
openclaw status
openclaw gateway status
# 7. 设置开机自启
openclaw gateway enable
9.3 监控与告警
# Prometheus 监控指标
# 通过 openclaw health --json 导出
{
"gateway": {
"uptime_seconds": 86400,
"active_sessions": 5,
"messages_processed": 1234,
"avg_response_time_ms": 2500
},
"models": {
"anthropic": {
"requests_total": 500,
"errors_total": 2,
"rate_limit_remaining": 98
}
},
"channels": {
"telegram": {
"connected": true,
"last_message_at": "2026-03-12T10:30:00Z"
}
}
}
# 告警规则示例
# Gateway 宕机告警
- alert: GatewayDown
expr: up{job="openclaw"} == 0
for: 5m
labels:
severity: critical
annotations:
summary: "OpenClaw Gateway 宕机"
# 错误率过高告警
- alert: HighErrorRate
expr: rate(model_errors_total[5m]) > 0.1
for: 10m
labels:
severity: warning
annotations:
summary: "模型错误率超过 10%"
9.4 备份策略
- 工作区目录 (
~/.openclaw/workspace) - 纳入 Git 版本控制 - 配置文件 (
~/.openclaw/openclaw.json) - 定期备份 - 记忆文件 (
memory/*.md) - 重要知识资产 - 会话历史 (
agents/*/sessions/) - 可选备份 - 不要备份: 认证 Token、API Keys、凭据文件
10. 在研发自动化系统中的应用
10.1 整体架构
基于 OpenClaw + Claude Code 构建端到端研发自动化系统,通过多 Agent 协作实现全流程覆盖。
┌─────────────────────────────────────────────────────────────────────────┐
│ 端到端研发自动化系统架构 (基于 OpenClaw) │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ 用户交互层 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 飞书 │ │ 钉钉 │ │ Web 控制台│ │ CLI │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │ │
│ └─────────────┴─────────────┴─────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ OpenClaw Gateway (中央编排) │ │
│ │ ┌──────────────────────────────────────────────────────────┐ │ │
│ │ │ 八大核心 Agent │ │ │
│ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │
│ │ │ │ 产品 │ │ 架构 │ │ API │ │ 开发 │ │ │ │
│ │ │ │ Agent │ │ Agent │ │ Agent │ │ Agent │ │ │ │
│ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │ │
│ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │
│ │ │ │ 测试 │ │ 集成 │ │ 部署 │ │ UI │ │ │ │
│ │ │ │ Agent │ │ Agent │ │ Agent │ │ Agent │ │ │ │
│ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │ │
│ │ └──────────────────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌───────────────────┼───────────────────┐ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Claude Code │ │ Jenkins │ │ K8S 集群 │ │
│ │ (代码生成) │ │ (CI/CD) │ │ (部署) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Git 仓库 │ │ SonarQube │ │ Playwright │ │
│ │ (代码存储) │ │ (代码质量) │ │ (UI 测试) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
10.2 八大 Agent 职责
| Agent | 职责 | 输入 | 输出 | 质量标准 |
|---|---|---|---|---|
| 产品 Agent | 需求分析、PRD 生成 | 原始需求 | PRD 文档 | INVEST 原则 |
| 架构 Agent | 技术方案设计 | PRD | 技术规格书 | SOLID 原则 |
| API Agent | API 协议定义 | 技术规格 | OpenAPI 规范 | RESTful 规范 |
| 开发 Agent | 代码生成 | API 定义 | 源代码 | 编码规范 |
| 测试 Agent | 测试用例生成 | 源代码 | 测试报告 | 覆盖率≥80% |
| 集成 Agent | CI/CD 配置 | 测试报告 | 构建产物 | 构建成功率≥95% |
| 部署 Agent | K8S 部署 | 构建产物 | 运行中的应用 | 零停机部署 |
| UI Agent | UI 自动化验收 | 运行中的应用 | 验收报告 | 核心旅程 100% 通过 |
10.3 端到端工作流
# 完整研发流程示例
## 步骤 1: 需求输入 (用户 → 产品 Agent)
用户:"我需要一个在线商城系统,支持商品展示、购物车、订单管理"
产品 Agent 响应:
- 生成 PRD 文档
- 定义用户故事
- 确定优先级 (MoSCoW)
- 等待人工审批 ✓
## 步骤 2: 架构设计 (产品 Agent → 架构 Agent)
架构 Agent 响应:
- 选择技术栈 (React + Spring Boot + MySQL)
- 设计微服务架构
- 定义数据模型
- 生成架构图
- 等待人工审批 ✓
## 步骤 3: API 定义 (架构 Agent → API Agent)
API Agent 响应:
- 生成 OpenAPI 3.0 规范
- 定义所有 RESTful 接口
- 启动 Mock 服务
- 前后端并行开发基础 ✓
## 步骤 4: 代码生成 (API Agent → 开发 Agent)
开发 Agent (调用 Claude Code):
- 后端 API 实现 (Spring Boot)
- 前端页面实现 (React)
- 数据库迁移脚本
- 代码审查与优化 ✓
## 步骤 5: 测试 (开发 Agent → 测试 Agent)
测试 Agent 响应:
- 生成单元测试 (JUnit + Jest)
- 执行集成测试
- 生成覆盖率报告
- 覆盖率达标 (≥80%) ✓
## 步骤 6: CI/CD (测试 Agent → 集成 Agent)
集成 Agent 响应:
- 触发 Jenkins Pipeline
- 代码质量扫描 (SonarQube)
- 构建 Docker 镜像
- 推送镜像仓库 ✓
## 步骤 7: 部署 (集成 Agent → 部署 Agent)
部署 Agent 响应:
- 更新 K8S Deployment
- 滚动更新策略
- 健康检查验证
- 等待人工审批 ✓
## 步骤 8: 验收 (部署 Agent → UI Agent)
UI Agent 响应:
- 执行 E2E 测试 (Playwright)
- 视觉回归测试
- 生成验收报告
- 用户最终确认 ✓
## 完成!系统上线 🎉
10.4 人机协同机制
| 审批节点 | 审批人 | 审批内容 | 超时策略 |
|---|---|---|---|
| PRD 评审 | 产品总监 | 需求准确性、业务价值 | 48 小时升级 |
| 架构评审 | 首席架构师 | 技术选型、扩展性 | 24 小时升级 |
| 代码审查 | 技术负责人 | 关键模块代码质量 | 12 小时自动合并 |
| 上线审批 | 运维经理 + 业务方 | 部署时机、风险评估 | 需显式批准 |