深度

OpenClaw 会话管理深度指南:多用户隔离、重置规则与磁盘清理

OpenClaw 会话管理完全指南:多用户场景 DM 隔离策略(per-channel-peer 防止信息泄露)、每日/空闲/按类型的重置规则、会话 Key 格式详解、磁盘清理配置(enforce 模式 + 容量上限),以及手动清理命令和发送策略。

2026/3/14分钟 阅读ClaudeEagle

会话(Session)是 OpenClaw Agent 与用户对话的核心单元。正确配置会话管理,对多用户场景的安全性和资源控制至关重要。

核心概念

OpenClaw 将 DM(私信)主会话视为「primary」,key 格式为 agent:<agentId>:<mainKey>(默认 main)。群组/频道聊天有各自独立的 key。

DM 会话隔离策略(多用户必读)

默认情况下,所有 DM 共享同一个会话(dmScope: main)。若你的 Agent 可以被多人私信,这会导致严重的隐私泄露:

Alice 和 Agent 聊了一个私密话题,之后 Bob 问「我们之前聊了什么?」——因为共用会话,Agent 可能用 Alice 的上下文回答 Bob。

修复方法

json
{
  "session": {
    "dmScope": "per-channel-peer"
  }
}

四种隔离级别:

级别说明适用场景
main(默认)所有 DM 共享主会话单用户
per-peer按发件人 ID 隔离多用户,跨平台同人共享
per-channel-peer按平台+发件人隔离多用户推荐
per-account-channel-peer按账号+平台+发件人多账号多用户

何时必须启用隔离

  • 配对审批了多个发件人
  • DM 白名单有多个号码
  • 设置了 dmPolicy: open
  • 多个号码或账号可以给 Agent 发消息

会话重置规则

每日重置(默认)

json
{
  "session": {
    "reset": {
      "mode": "daily",
      "atHour": 4,
      "idleMinutes": 120
    }
  }
}

每日凌晨 4 点(Gateway 主机本地时间)重置。同时设置 idleMinutes 时,两者哪个先到就用哪个。

按会话类型分别设置

json
{
  "session": {
    "resetByType": {
      "thread": { "mode": "daily", "atHour": 4 },
      "direct": { "mode": "idle", "idleMinutes": 240 },
      "group": { "mode": "idle", "idleMinutes": 120 }
    }
  }
}

按频道覆盖

json
{
  "session": {
    "resetByChannel": {
      "discord": { "mode": "idle", "idleMinutes": 10080 }
    }
  }
}

手动重置

在聊天中发送:

  • /new/reset:开始新会话
  • /new claude-sonnet-4-5:切换模型并开始新会话
  • /compact:手动压缩旧上下文

会话 Key 格式

场景Key 格式
DM(main 模式)agent:<agentId>:main
DM(per-peer)agent:<agentId>:dm:<peerId>
群组聊天agent:<agentId>:<channel>:group:<id>
Telegram Topicagent:<agentId>:telegram:group:<id>:topic:<threadId>
Cron 任务cron:<jobId>
Webhookhook:<uuid>

磁盘清理(Session Maintenance)

长时间运行后,会话文件会积累占用磁盘。默认行为(mode: warn)只报告不清理。

推荐生产配置

json
{
  "session": {
    "maintenance": {
      "mode": "enforce",
      "pruneAfter": "45d",
      "maxEntries": 800,
      "rotateBytes": "20mb",
      "resetArchiveRetention": "14d"
    }
  }
}

硬盘容量上限

json
{
  "session": {
    "maintenance": {
      "mode": "enforce",
      "maxDiskBytes": "1gb",
      "highWaterBytes": "800mb"
    }
  }
}

手动触发清理

bash
openclaw sessions cleanup --dry-run   # 预览,不实际删除
openclaw sessions cleanup --enforce   # 立即执行

查看会话状态

bash
openclaw status                   # Gateway 状态 + 最近会话
openclaw sessions --json          # 所有会话详情
openclaw sessions --active 60     # 过去 60 分钟活跃会话

在聊天中发送:

  • /status:查看上下文使用量、模型信息
  • /context list:查看系统提示内容
  • /stop:中止当前运行的任务

发送策略(Send Policy)

阻止特定类型会话发送消息:

json
{
  "session": {
    "sendPolicy": {
      "rules": [
        { "action": "deny", "match": { "channel": "discord", "chatType": "group" } },
        { "action": "deny", "match": { "keyPrefix": "cron:" } }
      ],
      "default": "allow"
    }
  }
}

运行时覆盖(聊天中发送):/send on / /send off


原文:Session Management - OpenClaw | 来源:OpenClaw 官方文档

相关文章推荐

深度OpenClaw 企业内网部署完全指南:多用户、权限隔离与安全加固OpenClaw 企业内网部署的完整方案:多用户架构设计(每人独立 Gateway vs 共享 Gateway 多 Agent)、allowedUsers 和 allowFrom 白名单配置、基于角色的权限控制、内网安全加固(沙箱隔离/exec 权限限制/网络出口控制)、与企业 SSO 集成的思路、审计日志配置、高可用部署(多实例/负载均衡/状态同步)、以及在完全内网环境(无公网)下部署本地模型(Ollama)的完整步骤。2026/3/21深度OpenClaw Session 管理深度指南:DM 隔离模式、重置策略与存储维护OpenClaw Session 管理完整指南:DM 四种隔离模式(main/per-peer/per-channel-peer/per-account-channel-peer)、多用户安全警告与修复、跨频道身份关联(identityLinks)、每日/空闲/按类型/按频道差异化重置策略、Session 维护防止存储无限增长,以及发送策略配置。2026/3/12深度OpenClaw 工具系统完全指南:工具组、权限策略与循环检测配置OpenClaw 工具系统完全指南:工具组(group:fs/runtime/sessions 等)、四种 Profile(minimal/coding/messaging/full)、全局/per-Agent/per-Provider 三层权限策略、exec/process/web_search/web_fetch 核心工具配置,以及工具循环检测(三种检测器)配置。2026/3/2深度OpenClaw Docker 沙箱安全指南:隔离 AI 工具执行、保护主机系统OpenClaw Docker 沙箱安全配置:三种沙箱模式(off/non-main/all)、三种容器粒度(session/agent/shared)、工作区访问权限控制、自定义挂载安全限制、沙箱浏览器、per-Agent 覆盖,以及 Elevated 工具逃生通道的使用注意事项。2026/3/1深度OpenClaw 多 Gateway 架构完全指南:一台机器运行多个独立 AI 助手实例OpenClaw 多 Gateway(Multi-Gateway)架构完整教程:多实例的隔离优势、同一台机器运行多个 Gateway(不同端口/配置文件/workspace)、systemd 管理多个 Gateway 服务、Nginx 虚拟主机为每个实例分配独立域名、API Key 隔离与成本拆分、单机多实例 vs 多机方案对比,以及 Docker Compose 多容器隔离部署方案。2026/3/26深度OpenClaw Hooks 自动化进阶:消息前后的智能拦截、转换与触发机制OpenClaw Hooks(钩子)自动化系统进阶教程:Hooks 的触发时机(before-send/after-receive/on-tool-call)、用 Hooks 拦截消息并修改内容(自动翻译/过滤/格式化)、基于条件的 Hook 触发(渠道过滤/关键词匹配)、Hook 中调用外部 API(Notion 记录/Bark 通知/监控告警)、exec 工具二次确认 Hook,以及 Hooks 与 SOUL.md 和 Standing Orders 的优先级关系详解。2026/3/26