Install
openclaw skills install session-archive-manager智能管理OpenClaw会话文件 - 裁剪大session、生成智能总结、归档旧会话、清理空间。使用场景:session文件过大、需要释放磁盘空间、整理旧会话记录、自动定期归档。当用户提到"归档session"、"裁剪会话"、"清理session空间"、"整理旧会话"、"session太大"、"运行session归档"、"使用session归档skill"时,立即使用此skill。
openclaw skills install session-archive-manager智能裁剪、总结、提取和归档OpenClaw会话文件的工具集。
所有脚本位于 scripts/ 目录:
| 脚本 | 功能 |
|---|---|
trim_and_archive.sh | 主要入口 - 裁剪大文件 + 归档旧文件 |
archive_with_summary.sh | 带总结的会话归档 |
archive_sessions.sh | 基础会话归档 |
cleanup_old_sessions.sh | 清理旧会话 |
setup_cron.sh | 设置定时任务 |
# 进入skill目录
cd ~/.agents/skills/session-archive-manager
# 运行主要脚本
./scripts/trim_and_archive.sh
默认配置:
~/.openclaw/agents/main/sessions/archive/~/.openclaw/agents/main/sessions/summaries/编辑脚本中的变量:
# 在 trim_and_archive.sh 中修改:
MAX_SIZE_MB=2 # 裁剪阈值(MB)
KEEP_MESSAGES=150 # 保留消息数
cd ~/.agents/skills/session-archive-manager
./scripts/setup_cron.sh
这会设置每天凌晨2点自动运行归档任务。
功能流程:
输出示例:
=== 裁剪完成 ===
原文件大小: 2.1M → 0.33M
保留消息: 150条
归档消息: 686条
总结已保存: summaries/xxx_trim_summary.json
备份已保存: archive/xxx_full.jsonl.gz
功能:
使用:
python session_trimmer.py <session-file> [keep-count]
归档旧session的同时生成智能总结,适合清理不常用的会话。
自动添加cron任务,定期运行归档脚本。
处理后的session目录结构:
~/.openclaw/agents/main/sessions/
├── *.jsonl # 当前活动会话(裁剪后)
├── archive/ # 归档目录
│ ├── *.jsonl.gz # 压缩备份的完整会话
│ └── *.jsonl # 未压缩归档(如有)
├── summaries/ # 总结目录
│ └── *_summary.json # AI生成的会话总结
└── sessions.json # 会话索引
每周运行一次裁剪归档,保持session目录整洁:
cd ~/.agents/skills/session-archive-manager
./scripts/trim_and_archive.sh
检查session目录大小:
du -sh ~/.openclaw/agents/main/sessions/
随时查看已归档会话的总结:
cat ~/.openclaw/agents/main/sessions/summaries/*.json
如需恢复完整会话:
cd ~/.openclaw/agents/main/sessions/archive/
gunzip xxx_full_20260328_081132.jsonl.gz
cp xxx_full_20260328_081132.jsonl ../xxx.jsonl
如果看到 .lock 文件,先删除:
rm -f ~/.openclaw/agents/main/sessions/*.lock
确保脚本有执行权限:
chmod +x ~/.agents/skills/session-archive-manager/scripts/*.sh
chmod +x ~/.agents/skills/session-archive-manager/scripts/*.py
确保有Python 3和所需库:
python3 --version
pip3 install json argparse datetime collections
可在运行前设置:
export SESSION_DIR="/path/to/sessions"
export ARCHIVE_DIR="/path/to/archive"
export SUMMARY_DIR="/path/to/summaries"
各脚本中的可调参数:
trim_and_archive.sh:
MAX_SIZE_MB=2 - 触发裁剪的文件大小KEEP_MESSAGES=150 - 保留的消息数量ARCHIVE_DAYS=2 - 归档旧文件的天数阈值archive_with_summary.sh:
MAX_FILE_SIZE_MB=1 - 归档文件大小阈值MAX_FILE_AGE_DAYS=2 - 归档文件天数阈值生成的总结JSON格式:
{
"trim_time": "2026-03-28T08:11:32.050922",
"trimmed_count": 686,
"kept_count": 150,
"time_range": {
"start": "2026-03-27T06:07:44.872000+00:00",
"end": "2026-03-27T14:50:34.023000+00:00"
},
"statistics": {
"user_messages": 48,
"assistant_messages": 343,
"tool_calls": 0
},
"topics": ["创建", "配置", "session", "文件"],
"files_mentioned": ["SOUL.md", "USER.md", "sessions.json"]
}
记住: 先备份,后裁剪!这个工具会自动帮你完成备份,但小心驶得万年船。🚀