目 录
-
- [一、OpenClaw 架构概览](#一、OpenClaw 架构概览)
-
- [1.1 整体架构设计](#1.1 整体架构设计)
- [1.2 三大核心概念](#1.2 三大核心概念)
- [二、Session 会话管理](#二、Session 会话管理)
-
- [2.1 什么是 Session?](#2.1 什么是 Session?)
- [2.2 Session 生命周期](#2.2 Session 生命周期)
- [2.3 Session 类型](#2.3 Session 类型)
- [2.4 Session 配置](#2.4 Session 配置)
- [2.5 Session 常用操作](#2.5 Session 常用操作)
- [三、Agent 智能体](#三、Agent 智能体)
-
- [3.1 什么是 Agent?](#3.1 什么是 Agent?)
- [3.2 Agent 架构](#3.2 Agent 架构)
- [3.3 Agent 类型](#3.3 Agent 类型)
- [3.4 Agent 配置](#3.4 Agent 配置)
- [3.5 Thinking 模式](#3.5 Thinking 模式)
- [四、Skill 技能系统](#四、Skill 技能系统)
-
- [4.1 什么是 Skill?](#4.1 什么是 Skill?)
- [4.2 Skill 目录结构](#4.2 Skill 目录结构)
- [4.3 Skill 触发机制](#4.3 Skill 触发机制)
- [4.4 Skill 类型](#4.4 Skill 类型)
- [4.5 安装和管理技能](#4.5 安装和管理技能)
- 五、三者关系
-
- [5.1 协作流程](#5.1 协作流程)
- [5.2 数据流向](#5.2 数据流向)
- 六、实战案例
-
- [6.1 创建自定义 Skill](#6.1 创建自定义 Skill)
- [6.2 配置 Session 记忆](#6.2 配置 Session 记忆)
- 七、常见问题
-
- [Q1: Session 和 Agent 有什么区别?](#Q1: Session 和 Agent 有什么区别?)
- [Q2: 如何选择 Thinking 模式?](#Q2: 如何选择 Thinking 模式?)
- [Q3: Skill 和 Tool 有什么区别?](#Q3: Skill 和 Tool 有什么区别?)
- 八、总结
摘要:深入理解 OpenClaw 的三大核心概念,掌握 Session 会话管理、Agent 智能体架构、Skill 技能系统,为高级开发打下坚实基础。
一、OpenClaw 架构概览
1.1 整体架构设计
OpenClaw 采用分层架构设计,从用户交互到 AI 模型调用,每一层都有明确的职责边界。理解这个架构是掌握 OpenClaw 的关键第一步。

图1:OpenClaw 四大核心概念 - Session、Agent、Skill、Memory
Skill 技能
Agent 智能体
Gateway 网关
用户层
消息平台
CLI 命令行
HTTP API
Session Manager
Channel Router
Tool Registry
Memory Store
主代理
子代理
ACP 代理
内置技能
自定义技能
ClawHub 技能
1.2 三大核心概念
| 概念 | 定义 | 职责 | 生命周期 |
|---|---|---|---|
| Session | 会话 | 管理用户与 AI 的对话上下文 | 对话期间 |
| Agent | 智能体 | 执行任务、调用工具、做出决策 | 持续运行 |
| Skill | 技能 | 封装特定能力的可复用模块 | 按需加载 |
二、Session 会话管理
2.1 什么是 Session?
Session(会话) 是 OpenClaw 中管理对话上下文的核心单元。每个 Session 包含对话历史、用户信息、会话状态和记忆数据。
2.2 Session 生命周期
用户发起对话
首次响应
持续交互
长时间无活动
用户回复
超时未激活
用户结束
创建
活跃
休眠
归档
2.3 Session 类型
| 类型 | 说明 | 示例 |
|---|---|---|
| DM(直接消息) | 一对一私聊 | 用户与 AI 的私人对话 |
| Group(群聊) | 多人群组对话 | Discord 频道、Telegram 群组 |
| Thread(线程) | 独立对话线程 | Discord 帖子频道 |
2.4 Session 配置
json
{
"sessions": {
"maxContextTokens": 4000,
"autoResetThreshold": 0.8,
"timeout": 3600,
"memory": {
"enabled": true,
"type": "semantic"
}
}
}
2.5 Session 常用操作
bash
# 查看所有会话
openclaw sessions list
# 查看特定会话详情
openclaw sessions show <session-id>
# 重置会话(清除上下文)
openclaw sessions reset <session-id>
# 删除会话
openclaw sessions delete <session-id>
三、Agent 智能体
3.1 什么是 Agent?
Agent(智能体) 是 OpenClaw 的"大脑",负责理解用户意图、规划执行步骤、调用工具、生成响应。
3.2 Agent 架构
是
否
用户消息
意图识别
需要工具?
工具选择
工具执行
结果整合
响应生成
返回用户
3.3 Agent 类型
| 类型 | 说明 | 使用场景 |
|---|---|---|
| Main Agent | 主代理 | 处理用户直接对话 |
| Subagent | 子代理 | 执行特定子任务 |
| ACP Agent | 代码代理 | 代码编写、文件操作 |
3.4 Agent 配置
json
{
"agents": {
"main": {
"model": "gpt-4o-mini",
"thinking": "medium",
"maxTokens": 4000
}
}
}
3.5 Thinking 模式
| 模式 | 说明 | 适用场景 |
|---|---|---|
off |
无思考过程 | 简单问答 |
low |
低深度思考 | 常规任务 |
medium |
中等深度 | 复杂任务 |
high |
深度思考 | 困难问题 |
四、Skill 技能系统
4.1 什么是 Skill?
Skill(技能) 是 OpenClaw 的能力扩展单元,封装了特定领域的知识和工具。
4.2 Skill 目录结构
skills/
└── my-skill/
├── SKILL.md # 技能说明(必需)
├── scripts/ # 脚本文件
└── references/ # 参考文档
4.3 Skill 触发机制
是
否
用户消息
语义匹配
匹配成功?
加载技能
执行技能
默认处理
返回结果
4.4 Skill 类型
| 类型 | 说明 | 示例 |
|---|---|---|
| 内置技能 | OpenClaw 自带 | 文件操作、网络请求 |
| 自定义技能 | 用户开发 | 业务特定功能 |
| ClawHub 技能 | 社区共享 | csdn-article、weather |
4.5 安装和管理技能
bash
# 从 ClawHub 安装技能
npx clawhub@latest install <skill-name>
# 查看已安装技能
openclaw skills list
五、三者关系
5.1 协作流程
Skill Agent Session 用户 Skill Agent Session 用户 发送消息 转发请求 意图识别 调用技能 返回结果 生成响应 返回回复 展示结果
5.2 数据流向
| 数据 | 流向 |
|---|---|
| 用户消息 | Session → Agent |
| 工具调用 | Agent → Skill |
| 执行结果 | Skill → Agent |
| AI 响应 | Agent → Session |
六、实战案例
6.1 创建自定义 Skill
bash
# 创建技能目录
mkdir -p ~/.openclaw/workspace/skills/hello-world
# 创建技能说明文件
cat > ~/.openclaw/workspace/skills/hello-world/SKILL.md << 'EOF'
---
name: hello-world
description: "简单的问候技能。触发词:你好、hello"
---
# Hello World 技能
当用户打招呼时,友好地回应。
## 功能
- 识别问候语
- 返回友好回复
EOF
6.2 配置 Session 记忆
json
{
"sessions": {
"memory": {
"enabled": true,
"longTerm": {
"file": "MEMORY.md"
},
"daily": {
"dir": "memory"
}
}
}
}
七、常见问题
Q1: Session 和 Agent 有什么区别?
Session 管理对话上下文,Agent 处理业务逻辑。Session 是"容器",Agent 是"处理器"。
Q2: 如何选择 Thinking 模式?
| 场景 | 推荐模式 |
|---|---|
| 简单问答 | off |
| 日常任务 | low |
| 复杂分析 | medium |
| 困难问题 | high |
Q3: Skill 和 Tool 有什么区别?
Skill 是完整的技能包,包含说明、脚本、参考文档。Tool 是单个工具函数,是 Skill 的组成部分。
八、总结
核心要点
| 概念 | 核心职责 | 关键配置 |
|---|---|---|
| Session | 对话上下文管理 | maxContextTokens, timeout |
| Agent | 任务执行与决策 | model, thinking |
| Skill | 能力扩展 | SKILL.md, scripts/ |
学习路径
OpenClaw 核心
Session
会话管理
记忆系统
上下文控制
Agent
意图识别
工具调用
响应生成
Skill
技能开发
ClawHub 使用
自定义扩展
参考资料:
- OpenClaw 官方文档:https://docs.openclaw.ai
- ClawHub 技能市场:https://clawhub.com
- GitHub 仓库:https://github.com/openclaw/openclaw