📋 Sessions 配置节点的所有参数


Sessions 配置参数表

基础配置

参数路径 类型 默认值 说明 必需
session.scope string "per-sender" 会话作用域(遗留字段)
session.dmScope string "main" DM 会话分组模式。可选值:main(所有 DM 共享主会话)、per-peer(按发送者隔离)、per-channel-peer(按渠道+发送者隔离,推荐)、per-account-channel-peer(按账户+渠道+发送者隔离,多账户推荐)
session.mainKey string "main" 主直接聊天会话的键名(遗留字段,运行时始终使用 "main"
session.store string "~/.openclaw/agents/{agentId}/sessions/sessions.json" 会话存储文件路径

会话管理

参数路径 类型 默认值 说明 必需
session.identityLinks object {} 将规范 ID 映射到提供者前缀的对等 ID,用于跨渠道会话共享。格式:{ alice: ["telegram:123456789", "discord:987654321012345678"] }
session.parentForkMaxTokens number 100000 创建分叉线程会话时允许的最大父会话 totalTokens。超过此值则启动新会话而非继承父会话历史。设为 0 禁用此限制
session.agentToAgent.maxPingPongTurns number 5 智能体间对话的最大来回轮数

重置策略配置

参数路径 类型 默认值 说明 必需
session.reset.mode string "daily" 重置模式。可选值:daily(每日重置)、idle(空闲重置)
session.reset.atHour number 4 每日重置的小时(本地时间,0-23)
session.reset.idleMinutes number - 空闲重置的分钟数。当同时配置 dailyidle 时,先到期的生效
session.resetByType object - 按会话类型覆盖重置策略。支持 directgroupthread 三种类型
session.resetByType.direct object - 直接消息会话的重置策略覆盖
session.resetByType.group object - 群组会话的重置策略覆盖
session.resetByType.thread object - 线程会话的重置策略覆盖(Slack/Discord 线程、Telegram 主题等)
session.resetByChannel object - 按渠道覆盖重置策略。优先级高于 reset/resetByType
session.resetTriggers string[] ["/new", "/reset"] 触发会话重置的命令列表

维护与清理配置

参数路径 类型 默认值 说明 必需
session.maintenance.mode string "warn" 维护模式。warn:仅报告警告;enforce:执行清理
session.maintenance.pruneAfter string "30d" 过期条目的年龄截止时间(支持 d/h/m/s 后缀)
session.maintenance.maxEntries number 500 sessions.json 中最大条目数
session.maintenance.rotateBytes string "10mb" sessions.json 超过此大小时进行轮转
session.maintenance.resetArchiveRetention string "30d" *.reset.<timestamp> 归档文件的保留时间。默认使用 pruneAfter 值;设为 false 禁用
session.maintenance.maxDiskBytes string - 可选的会话目录磁盘预算上限。warn 模式下仅警告;enforce 模式下删除最旧的文件/会话
session.maintenance.highWaterBytes string - 磁盘预算清理的目标值。默认为 maxDiskBytes80%

线程绑定配置

参数路径 类型 默认值 说明 必需
session.threadBindings.enabled boolean true 线程绑定会话功能的主开关。提供者可覆盖(Discord 使用 channels.discord.threadBindings.enabled
session.threadBindings.idleHours number 24 不活动自动取消聚焦的小时数。0 禁用
session.threadBindings.maxAgeHours number 0 硬性最大存活时间(小时)。0 禁用

发送策略配置

参数路径 类型 默认值 说明 必需
session.sendPolicy.rules array [] 发送策略规则列表。按 channelchatTypekeyPrefixrawKeyPrefix 匹配,首个 deny 规则生效
session.sendPolicy.default string "allow" 默认发送策略。可选值:allowdeny

配置示例

{
  session: {
    scope: "per-sender",
    dmScope: "main",  // main | per-peer | per-channel-peer | per-account-channel-peer
    identityLinks: {
      alice: ["telegram:123456789", "discord:987654321012345678"],
    },
    reset: {
      mode: "daily",      // daily | idle
      atHour: 4,
      idleMinutes: 60,
    },
    resetByType: {
      thread: { mode: "daily", atHour: 4 },
      direct: { mode: "idle", idleMinutes: 240 },
      group: { mode: "idle", idleMinutes: 120 },
    },
    resetByChannel: {
      discord: { mode: "idle", idleMinutes: 10080 },
    },
    resetTriggers: ["/new", "/reset"],
    store: "~/.openclaw/agents/{agentId}/sessions/sessions.json",
    parentForkMaxTokens: 100000,
    maintenance: {
      mode: "warn",       // warn | enforce
      pruneAfter: "30d",
      maxEntries: 500,
      rotateBytes: "10mb",
      resetArchiveRetention: "30d",
      maxDiskBytes: "500mb",
      highWaterBytes: "400mb",
    },
    threadBindings: {
      enabled: true,
      idleHours: 24,
      maxAgeHours: 0,
    },
    mainKey: "main",
    agentToAgent: { maxPingPongTurns: 5 },
    sendPolicy: {
      rules: [
        { action: "deny", match: { channel: "discord", chatType: "group" } },
        { action: "deny", match: { keyPrefix: "cron:" } },
      ],
      default: "allow",
    },
  },
}

相关参数(位于其他配置节点)

以下参数与会话相关,但位于 agents.defaults 配置节点:

参数路径 类型 默认值 说明 必需
agents.defaults.contextPruning object - 会话上下文修剪配置(修剪旧工具结果以减少 LLM 上下文膨胀)
agents.defaults.contextPruning.mode string "off" 修剪模式。可选值:offcache-ttl
agents.defaults.contextPruning.ttl string "5m" 缓存 TTL,控制修剪频率
agents.defaults.contextPruning.keepLastAssistants number 3 保护的最后助手消息数量
agents.defaults.contextPruning.softTrimRatio number 0.3 软修剪比例(字符基准)
agents.defaults.contextPruning.hardClearRatio number 0.5 硬清除比例

CLI 命令

  • openclaw sessions — 列出存储的会话
  • openclaw sessions --agent <id> — 指定智能体
  • openclaw sessions --all-agents — 所有智能体
  • openclaw sessions --active <minutes> — 筛选最近活跃的会话
  • openclaw sessions --json — JSON 格式输出
  • openclaw sessions cleanup --dry-run — 预览清理操作
  • openclaw sessions cleanup --enforce — 强制执行清理

sessions 配置节点包含 28+ 个配置参数,涵盖基础配置、会话管理、重置策略、维护清理、线程绑定和发送策略六大类。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐