Session Reset
安全地管理 OpenClaw agent sessions,支持一键重置、自动备份和恢复功能。
Overview
此 skill 提供安全的 session 重置功能,适用于以下场景:
- 批量清理 agents 的过期会话上下文
- 重置特定 agents 以应用新的 SOUL.md 配置
- 定期维护,释放磁盘空间
- 从备份恢复误删的 sessions
快速开始
首次使用(初始化)
# 运行初始化,交互式选择默认 agents
openclaw session-reset --init
初始化流程:
- 自动发现所有 agents
- 选择导入方式:[1]全部导入 / [2]多选 / [3]取消
- 保存配置到
~/.openclaw/session-reset-config.json
日常使用
# 预览将要重置的内容
openclaw session-reset --scope default --dry-run
# 确认无误后执行重置
openclaw session-reset --scope default
# 重置配置的默认 agents
openclaw session-reset --scope agents
工作流程
首次使用:
reset-session --init
→ 发现 agents
→ 选择导入方式
→ 保存配置
日常使用:
1. 选择 scope → 确定重置范围 (default/all/agents/cron/subagent/agent1,agent2)
2. 预览/确认 → 使用 --dry-run 预览,或直接执行
3. 自动备份 → 创建带时间戳的备份到 ~/.openclaw/session-backups/
4. 执行重置 → 删除 session JSONL 文件
5. 自动重建 → 下次消息触发时 OpenClaw 自动创建新 session
命令参考
初始化命令
# 首次使用 - 初始化配置
openclaw session-reset --init
基本命令
# 重置所有 Discord 频道 sessions(默认,不含 Cron/Subagent)
openclaw session-reset --scope default
# 预览模式(不执行实际重置)
openclaw session-reset --scope default --dry-run
# 重置配置的默认 agents(需先初始化)
openclaw session-reset --scope agents
# 重置指定 agents
openclaw session-reset --scope main,hubu,libu
# 重置所有 sessions(含 Cron + Subagent)
openclaw session-reset --scope all
# 仅重置 Cron 任务
openclaw session-reset --scope cron
# 仅重置 Subagent
openclaw session-reset --scope subagent
备份管理
# 查看所有备份
openclaw session-reset --list-backups
# 从指定备份恢复
openclaw session-reset --restore 20250305_143022
# 清理旧备份(默认:30天前,最多保留10个)
openclaw session-reset --cleanup
# 自定义清理策略
openclaw session-reset --cleanup --cleanup-days 7 --cleanup-max 5
高级选项
# 强制执行,跳过确认提示
openclaw session-reset --scope default --force
Scope 参数详解
| Scope 值 | 说明 | 适用场景 | 是否需要初始化 |
|---|---|---|---|
default | 所有 Discord 频道 sessions | 日常清理,最常用的选项 | 否 |
all | 全部 sessions | 彻底重置,包含所有类型 | 否 |
agents | 配置的默认 agents | 批量重置常用 agents | ✅ 需要 --init |
cron | 仅 Cron 任务 sessions | 重置定时任务状态 | 否 |
subagent | 仅 Subagent sessions | 清理子代理会话 | 否 |
agent1,agent2 | 指定 agents(逗号分隔) | 精确控制重置范围 | 否 |
注意: --scope agents 需要事先运行 --init 配置默认 agents。
安全机制
-
强制备份
- 任何重置操作前自动创建备份
- 备份位置:
~/.openclaw/session-backups/YYYYMMDD_HHMMSS/ - 包含完整的 session JSONL 文件和清单
-
二次确认
- 显示统计信息(agents数量、文件数、预估大小)
- 需输入
yes确认后执行
-
预览模式
--dry-run仅显示将要重置的内容- 不产生任何实际影响
-
可恢复性
- 支持
--restore <timestamp>恢复到任意备份 - 备份永久保留,直到手动清理
- 支持
备份策略
- 默认保留: 30 天内 + 最多 10 个备份
- 清理命令:
openclaw session-reset --cleanup - 自定义:
--cleanup-days N --cleanup-max M
注意事项
- 重置后 agents 会丢失当前会话上下文
- 下次收到消息时会自动创建新的 session
- 建议在低峰期执行批量重置
- 重要操作前使用
--dry-run预览 - 无法重置当前正在运行的 session(需从外部终端执行)
使用示例
示例 1:首次使用(初始化)
# 运行初始化,选择默认 agents
openclaw session-reset --init
# 输出示例:
# ✓ 发现 7 个 agents:
# 1. main (5 sessions)
# 2. hubu (3 sessions)
# ...
#
# 选择导入方式:
# 1. 导入全部 agents
# 2. 多选 agents
# 3. 取消初始化
示例 2:日常维护
# 预览将要清理的内容
openclaw session-reset --scope default --dry-run
# 确认无误后执行
openclaw session-reset --scope default
示例 3:批量重置配置的 agents
# 重置初始化时配置的默认 agents
openclaw session-reset --scope agents --dry-run
openclaw session-reset --scope agents
示例 4:恢复备份
# 查看可用备份
openclaw session-reset --list-backups
# 恢复到指定时间点
openclaw session-reset --restore 20250305_143022
Resources
scripts/
reset-session.py- 核心脚本,实现 session 重置、备份、恢复功能