技能标识:session-hygiene
Prevent sessions.json bloat from accumulating isolated sessions (hooks, crons, subagents). Sets up a cron to archive stale sessions to daily JSONL files and keep sessions.json lean. Use when sessions.json grows large, the gateway becomes slow or unresponsive, or as preventive maintenance on any OpenClaw instance with hooks or crons. Related to openclaw/openclaw#15225.
OpenClaw的会话存储文件(sessions.json)会无限制增长——每次钩子、定时任务和子代理调用都会创建一条永不清除的会话记录。在复杂配置(网络钩子+定时任务)下,数周内可能达到200MB以上和7000多条会话,导致网关响应缓慢甚至无响应。
本技能设置自动归档轮换机制,在保持会话历史记录的同时精简sessions.json文件。
创建每6小时运行一次的定时任务:
javascript
cron(action: add, job: {
name: 会话归档与清理,
schedule: { kind: cron, expr: 0 /6 , tz: America/Los_Angeles },
sessionTarget: isolated,
payload: {
kind: agentTurn,
message: 归档并清理过期会话。运行脚本:python3
timeoutSeconds: 60
},
delivery: { mode: announce, channel: slack }
})
根据实际情况调整时区和通知渠道。
如需立即清理(例如sessions.json已过度膨胀):
bash
python3
或一次性强制清除超过N小时的会话:
bash
python3
| 参数 | 默认值 | 说明 |
|---|---|---|
| --max-age-hours | 48 | 会话归档的过期时间阈值 |
| --archive-retention-days |
| 日会话量 | 48小时保留量 | sessions.json大小 |
|---|---|---|
| 50 | ~100条会话 | ~3MB |
| 100 |
未使用本技能时,相同配置下一个月内将增长至200MB以上。
以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:
帮我安装 SkillHub 和 session-hygiene-1776280533 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 session-hygiene-1776280533 技能
skillhub install session-hygiene-1776280533
文件大小: 3.68 KB | 发布时间: 2026-4-16 17:28