概述
OpenClaw 将对话组织为 Session(会话)。每条消息根据来源路由到对应的 Session,Session 决定了上下文的隔离边界。
核心要点
消息路由规则:
| 来源 | 行为 |
|---|---|
| 私信(DM) | 默认共享同一 Session |
| 群聊 | 每个群独立 Session |
| 频道/房间 | 每个房间独立 Session |
| Cron 任务 | 每次运行新建 Session |
| Webhook | 每个 Hook 独立 Session |
DM 隔离(多用户场景必须开启):
{
session: {
dmScope: "per-channel-peer" // 推荐:按渠道+发送者隔离
}
}可选值:main(默认)、per-peer、per-channel-peer、per-account-channel-peer
Session 生命周期:
- 每日重置:默认凌晨 4:00(基于
sessionStartedAt,不是updatedAt) - 空闲重置:
session.reset.idleMinutes(基于lastInteractionAt,心跳/cron 不延长) - 手动重置:
/new或/reset
存储位置:
- Session 元数据:
~/.openclaw/agents/<agentId>/sessions/sessions.json - 对话记录:
~/.openclaw/agents/<agentId>/sessions/<sessionId>.jsonl
Session 维护(自动清理):
{
session: {
maintenance: {
mode: "enforce",
pruneAfter: "30d",
maxEntries: 500
}
}
}配置/使用
常用诊断命令:
openclaw status— Session 存储路径与近期活动openclaw sessions --json— 所有 Session 列表/status— 上下文用量、模型、开关状态openclaw security audit— 验证 DM 隔离配置
相关页面
- agent — Agent 运行时概述
- queue — 命令队列与并发控制
- context — 上下文组装
- agent-workspace — 工作区与存储路径