概述

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 隔离配置

相关页面