Sessions = OpenClaw 的"记忆系统"你不会把这三个对话搞混,因为你的大脑会自动分开管理。Sessions 做的就是这件事!┌─────────────────────────────────────────┐
│ 你的大脑(Sessions 系统) │
│ │
│ 📁 文件夹 1:跟张三的对话 │
│ - "项目进度怎么样了?" │
│ - "已完成 80%,明天交付" │
│ │
│ 📁 文件夹 2:跟李四的对话 │
│ - "中午吃什么?" │
│ - "楼下新开的面馆" │
│ │
│ 📁 文件夹 3:跟王五的对话 │
│ - "周末去爬山吗?" │
│ - "好啊,周六早上 8 点" │
└─────────────────────────────────────────┘
为什么要学这个? 因为 Sessions 决定了 AI 能否:
用户发消息 → Gateway 接收 → 查找 Session → 不存在则创建 → 加载历史记录
↓
AI 回复 → 更新 Session → 保存新消息 → 返回给用户
Session ID = channel + user_id- 同一个用户在飞书和 Telegram 上是两个独立会话
{
"session_id": "feishu:ou_da3169244c6565ce3293f985201c1804",
"channel": "feishu",
"user_id": "ou_da3169244c6565ce3293f985201c1804",
"chat_type": "direct",
"created_at": "2026-03-18T10:00:00+08:00",
"updated_at": "2026-03-23T09:30:00+08:00",
"message_count": 156,
"messages": [
{
"role": "user",
"content": "你好",
"timestamp": "2026-03-23T09:00:00+08:00",
"message_id": "om_xxx"
},
{
"role": "assistant",
"content": "你好!我是二狗子,有什么可以帮你的?",
"timestamp": "2026-03-23T09:00:01+08:00"
},
{
"role": "user",
"content": "帮我看看今天的股票行情",
"timestamp": "2026-03-23T09:30:00+08:00",
"message_id": "om_yyy"
}
],
"metadata": {
"model": "qwen3.5-plus",
"tools_enabled": ["browser", "web_search", "feishu"],
"temperature": 0.7
}
}
System: 你是 OpenClaw 助手,运行在用户的飞书上...
User (09:00): 你好
Assistant (09:00): 你好!我是二狗子,有什么可以帮你的?
User (09:15): 今天天气怎么样?
Assistant (09:15): 今天上海晴,气温 15-22 度...
User (09:30): 那适合出门吗? ← AI 知道"那"指的是天气
Assistant (09:30): 适合的,天气不错,建议...
User: 那适合出门吗?
AI: ❓ "那"是什么?我没有上下文...
创建 → 活跃 → 空闲 → 归档 → 清理
↓ ↓ ↓ ↓ ↓
首次 持续 30 天 超过 超过
发送 对话 无活动 90 天 180 天
消息 自动归档 自动删除
{
"session_id": "feishu:oc_chat123",
"channel": "feishu",
"chat_type": "group",
"group_name": "技术交流群",
"member_count": 156,
"mention_mode": true, // 只有@才回复
"messages": [
{
"role": "user",
"content": "@二狗子 今天天气怎么样?",
"sender_id": "ou_xxx",
"sender_name": "张三"
}
]
}
# 列出所有会话
openclaw sessions list
# 查看指定会话详情
openclaw sessions get feishu:ou_xxx
# 查看会话消息数量
openclaw sessions stats
# 导出会话到文件
openclaw sessions export feishu:ou_xxx --output backup.json
# 从文件导入会话
openclaw sessions import backup.json
# 导出所有会话(批量备份)
openclaw sessions export-all --output-dir ./backups
# 清理 30 天以上未活动的会话
openclaw sessions cleanup --older-than 30d
# 清理指定会话
openclaw sessions delete feishu:ou_xxx
# 清空所有会话(慎用!)
openclaw sessions delete-all --confirm
# 查看当前会话状态
curl http://localhost:18789/sessions
# 获取指定会话
curl http://localhost:18789/sessions/feishu:ou_xxx
# 删除会话
curl -X DELETE http://localhost:18789/sessions/feishu:ou_xxx
A:不会。每个 Session 平均约 10-50KB(取决于对话长度)。1000 个会话约 50MB。Q2:删除 Session 后聊天记录还能恢复吗?# 导出会话
openclaw sessions export feishu:ou_xxx --output chat-history.json
# 用文本编辑器打开查看
cat chat-history.json
A:~/.openclaw/sessions/ 目录下,按渠道分文件夹:~/.openclaw/sessions/
├── feishu/
│ └── ou_xxx.json
├── telegram/
│ └── 123456.json
└── discord/
└── user_789.json
# 在终端执行
openclaw sessions list
# 你应该看到类似输出:
# feishu:ou_da3169244c6565ce3293f985201c1804 (active, 156 messages)
第 1 条:我叫亚博,记住我的名字
第 2 条:我刚才说的名字是什么?
AI 应该回答:亚博
# 导出当前飞书会话
openclaw sessions export feishu:ou_da3169244c6565ce3293f985201c1804 --output my-chat.json
# 查看文件大小
ls -lh my-chat.json
┌─────────────────────────────────────┐
│ Sessions 档案室 │
│ │
│ 🗄️ 文件柜 1:飞书用户 │
│ 🗄️ 文件柜 2:Telegram 用户 │
│ 🗄️ 文件柜 3:Discord 用户 │
│ │
│ 每个文件夹 = 一个用户的完整对话历史 │
└─────────────────────────────────────┘