本教程是《OpenClaw 从新手到精通》系列第 5 篇
了解 OpenClaw 的内部架构,能帮助你更好地使用、调试和扩展它。
┌─────────────────────────────────────────────────────────────┐
│ 用户聊天软件 │
│ WhatsApp │ Telegram │ Discord │ 微信 │ iMessage │
└────────┬────────────┬─────────────┬───────────┬─────────────┘
│ │ │ │
└────────────┴──────┬──────┴───────────┘
│
┌────────▼────────┐
│ Channel API │
│ (渠道适配层) │
└────────┬────────┘
│
┌────────▼────────┐
│ Gateway │
│ (核心网关服务) │
└────────┬────────┘
│
┌───────────────────┼───────────────────┐
│ │ │
┌────────▼────────┐ ┌────────▼────────┐ ┌────────▼────────┐
│Session Manager │ │ Agent Router │ │ Tool Executor │
│(会话管理器) │ │(Agent 路由) │ │(工具执行器) │
└────────┬────────┘ └────────┬────────┘ └────────┬────────┘
│ │ │
│ ┌────────▼────────┐ │
│ │ AI Agent (Pi) │ │
│ │ (AI 智能体) │ │
│ └────────┬────────┘ │
│ │ │
└───────────────────┼───────────────────┘
│
┌────────▼────────┐
│ Model Provider │
│ (模型提供商) │
└────────┬────────┘
│
┌──────────────┼──────────────┐
│ │ │
┌────────▼────┐ ┌──────▼──────┐ ┌─────▼─────┐
│ Anthropic │ │ 阿里云 │ │ OpenAI │
│ Claude │ │ Qwen │ │ GPT-4 │
└─────────────┘ └─────────────┘ └───────────┘
职责: 消息路由、会话管理、配置加载
关键文件:
~/.openclaw/
├── config.json # 主配置文件
├── gateway/
│ ├── state.json # 运行状态
│ └── logs/ # 日志文件
└── workspace/
├── skills/ # 技能目录
└── memory/ # 记忆文件
职责: 统一不同聊天平台的接口
支持的渠道:
渠道 | 适配器 | 状态 |
|---|---|---|
微信 | qqbot | ✅ |
Telegram | telegram | ✅ |
Discord | discord | ✅ |
iMessage | imessage | ✅ |
✅ |
职责: 创建、维护、清理会话
会话数据结构:
{
"sessionId": "session-20260318-abc123",
"channel": "telegram",
"userId": "123456789",
"createdAt": "2026-03-18T10:00:00Z",
"lastActivity": "2026-03-18T12:30:00Z",
"messages": [...],
"context": {...}
}
职责: 将消息路由到正确的 Agent
路由策略:
策略 | 说明 | 适用场景 |
|---|---|---|
默认路由 | 发送到默认 Agent | 普通对话 |
会话绑定 | 同一会话固定 Agent | 持续任务 |
技能路由 | 根据技能选择 Agent | 专业任务 |
职责: 执行 AI 调用的工具
内置工具:
read / write / edit - 文件操作exec - 命令执行web_search - 联网搜索browser - 浏览器自动化memory_search - 记忆检索
1. 用户发送消息
↓
2. Channel 接收并标准化
↓
3. Gateway 路由到 Session
↓
4. Session 加载上下文
↓
5. Agent 处理消息
↓
6. Agent 可能调用工具
↓
7. 工具执行并返回结果
↓
8. Agent 生成回复
↓
9. Gateway 通过 Channel 发送回复
↓
10. 用户收到回复
1. 全局配置 (~/.openclaw/config.json)
└── 模型、渠道、Gateway 设置
2. 会话配置 (每会话独立)
└── 上下文、记忆、偏好
3. 技能配置 (每技能独立)
└── SKILL.md 中的配置
4. 环境变量
└── API Key、敏感信息
环境变量 > 命令行参数 > 用户配置 > 默认配置
# 实时日志
openclaw logs -f
# 按级别过滤
openclaw logs --level error
# 按组件过滤
openclaw logs --component gateway
# 查看 Gateway 状态
openclaw gateway status
# 查看资源使用
openclaw system health
# 查看会话统计
openclaw sessions stats
# 完整诊断
openclaw doctor
# 渠道检查
openclaw channels check
# 模型连接测试
openclaw models test
✅ 你已了解:
⏭️ 下一步: 掌握 CLI 命令!
本文是《OpenClaw 从新手到精通》系列教程第 5 篇,共 25 篇。第 6 篇预告:CLI 命令大全