核心用法
Session Cleanup 采用「扫描-确认-执行」三段式安全流程,专治 OpenClaw 会话存储膨胀问题。用户先执行 ./scripts/scan_sessions.sh scan 生成只读扫描报告,系统识别三类对象:孤儿文件(磁盘存在但 sessions.json 未登记)、过期会话(超72小时非保护状态)、受保护会话(当前会话+72小时内活跃会话)。确认预计释放空间后,用户授权方可执行删除,全程 agent:main:main 主会话免疫删除。
显著优点
- 强制审计路径:扫描结果必须展示、用户必须显式确认,杜绝误删
- 智能保护机制:72小时滑动窗口自动识别近期活跃会话,防止清理正在使用的上下文
- 精准孤儿治理:针对
.jsonl与索引不一致场景,解决磁盘空间泄漏 - 可扩展架构:扫描脚本与清理策略分离(
policy.md),便于自定义保留规则
潜在局限
- 依赖 Node.js 环境做 JSON 校验,轻量环境需额外安装
- 72小时阈值为硬编码,高频用户可能需要更细粒度保留策略
- 跨 agent 会话清理需手动扩展脚本(当前聚焦 main agent)
适合人群
- 长期运行 OpenClaw 后会话列表杂乱、检索困难的深度用户
- 共享环境/容器部署需定期释放磁盘空间的管理员
- 对数据安全敏感、要求操作可回查的合规场景用户
常规风险
- 误删风险:低(人工确认+受保护清单双重拦截)
- JSON 损坏风险:中低(Node 预校验,但异常断电仍可能损坏 sessions.json)
- 权限风险:脚本需对
~/.openclaw/agents/main/sessions/有写权限,多用户环境需注意 ACL
使用建议
首次使用前务必执行「发布前自检」双命令,验证脚本可执行性与 JSON 输出有效性。建议配合定时任务(如 weekly cron)做扫描监控,而非自动清理。