back
loading skill details...
OpenClaw双重清理系统,专门解决OpenClaw的惰性删除缺陷和文件堆积问题
---
name: openclaw-dual-cleanup
description: OpenClaw双重清理系统,专门解决OpenClaw的惰性删除缺陷和文件堆积问题
version: 2.0.0
---
# OpenClaw双重清理技能 v2.0.0
## 🎯 技能简介
**OpenClaw双重清理系统 v2.0.0** 按照杜的要求完全重构,专门解决OpenClaw的惰性删除缺陷和文件堆积问题。系统采用**全新清理策略**,更智能、更安静、更高效。
### ✨ **核心改进**
- **OpenClaw惰性删除修复**:双重清理机制(索引 + 物理文件)
- **低阈值触发**:文件数量 > 10个立即触发清理(杜要求)
- **简化自动清理**:只在每周一9:00深度清理一次
- **网关补偿机制**:周一网关未开,启动后自动执行
- **专注保护**:取消周度、月度自动清理,避免干扰研究
## 🚀 触发条件
- **关键词**:清理旧会话、清理会话、清理会话缓存、清理旧会话和缓存、双重清理、openclaw dual cleanup
- **智能心跳**:HEARTBEAT.md中集成了自动化检测和智能清理触发器
- **定时任务**:自动配置的月度深度清理和周度轻度清理
## 🔧 **三层保障架构**
### 🟢 **第1层:智能心跳检测(最频繁)**
- **频率**:每次心跳检查时(约每小时)
- **目标**:检测会话文件堆积,判断是否需要清理
- **特点**:智能判断,不影响专注工作时段
- **触发条件**:
- **会话文件数 > 10个**(杜要求的低阈值立即触发)
- 备份文件(reset/deleted) > 5个
- 磁盘空间触发(清理后可释放 > 100MB)
### 🟡 **第2层:周一深度清理(核心保障层)**
- **频率**:每周一9:00(唯一自动深度清理)
- **目标**:深度清理7天前的文件
- **网关补偿**:如果网关未开,当天首次启动后自动执行
- **范围**:
- 删除超过7天的`.jsonl`会话物理文件
- 清理`.openclaw/cache/`缓存目录
- 清理工作空间临时文件
- **重大更新**:取消周度和月度自动清理,专注周一单次深度清理
### 🔴 **第3层:手动命令清理(按需执行)**
- **频率**:用户按需执行
- **目标**:灵活的按需清理,完全由用户控制
- **特点**:
- 不设置自动清理,避免打扰
- 提供完整的双重清理功能
- 保持用户完全控制权
## ⚙️ **执行方式**
### 1️⃣ **基本使用方法**
```powershell
清理会话 # 交互式清理(默认7天)
清理会话 -Force # 强制执行,不询问确认
清理会话 -DryRun # 预览模式,不实际删除
清理会话 -Days 30 # 清理30天前文件(月度深度)
清理会话 -Hours 24 # 清理24小时前文件
```
### 2️⃣ **脚本直接调用**
```powershell
# 使用Python脚本
python ~/.openclaw/workspace/skills/openclaw-dual-cleanup/scripts/clean-sessions-dual.ps1
# 使用PowerShell脚本
~/.openclaw/workspace/skills/openclaw-dual-cleanup/scripts/clean-sessions-dual.ps1
```
## 📊 **完整系统方案**
### **核心问题发现**
在2026-03-26测试中确认:OpenClaw的`cleanup --enforce`命令**只更新索引,并不删除物理文件**。这是一个重要的**惰性删除问题**。
### **技术解决方案**
**双重清理机制**:
1. **索引清理**:使用OpenClaw API(`openclaw sessions cleanup --enforce`)
2. **物理文件清理**:手动清理`.openclaw/sessions/`目录中所有超过12小时的`.jsonl`会话物理文件
→ **这是对OpenClaw惰性删除问题的最关键修复**
### **清理内容**
- **会话物理文件**:`.jsonl`文件(修复OpenClaw惰性删除问题)
- **缓存目录**:`~/.openclaw/cache/`中的过期文件
- **临时文件**:工作空间中的临时文件
- **会话备份**:系统生成的reset和deleted文件
### **详细反馈系统**
```
📂 **双重清理完成报告**
├── 🗄️ 索引清理:清理了 3 个过期会话索引
├── 🗑️ 物理文件清理:删除了 5 个 .jsonl 文件
│ ├── fa1ac0c1.jsonl (7天前)
│ ├── daa1f0be.jsonl (12天前)
│ └── tui-8...bd70d8.jsonl (15天前)
├── 💾 缓存清理:清理了 150MB 缓存
└── 🎯 总计:节省磁盘空间 200MB
```
## 🤖 **全新自动化部署方案**
### **核心策略更新**
```bash
# 杜的要求:
# 1. 文件数量触发改为>10个立即触发清理
# 2. 只在每周一9:00自动进行一次深度清理
# 3. 如果当时网关未开,即在当天首次开启网关后,自动进行深度清理
# 4. 不做每月、每日的自动清理!
```
### **智能心跳配置**
```bash
# HEARTBEAT.md 中已包含智能检测逻辑
# 触发阈值:>10个文件立即清理
# 备份文件:>5个文件触发清理
# 磁盘空间:可释放>100MB空间触发清理
```
### **周一深度清理定时任务**
```bash
# 只在每周一9:00自动执行一次深度清理
0 9 * * 1 # 每周一上午9点
# 网关启动后检查(如果周一9:00网关未开)
# 自动检测并执行等待中的清理任务
# 无需配置,脚本自动处理
```
### **Crontab示例(杜优化版)**
```bash
# 编辑Crontab示例
# crontab -e
# 根据杜的要求:只在每周一9:00自动进行一次深度清理
# 取消月度、周度自动清理,专注单次周一清理
0 9 * * 1 ~/.openclaw/workspace/skills/openclaw-dual-cleanup/scripts/monday-deep-clean.ps1
# 网关启动钩子(可选)
# 如果希望网关启动后检查并执行等待的周一清理任务:
# @reboot ~/.openclaw/workspace/skills/openclaw-dual-cleanup/scripts/gateway-start-hook.ps1
```
## 🎨 **用户体验特性**
### **专注保护机制**
- **智能时段判断**:不打扰专注工作时段(09:00-22:00)
- **免打扰模式**:清理执行时无通知,专注研究不受干扰
- **安全边界**:确保永远不会误删最近的重要文件
### **透明反馈系统**
- **清理前预览**:显示即将清理的文件清单
- **执行后报告**:详尽的清理内容和效果报告
- **进度可视化**:清晰的步骤进度显示
## ⚠️ **安全特性**
### **多重安全保障**
1. **预览模式**:提供-`DryRun`参数预览所有清理操作
2. **交互确认**:默认需要用户确认关键删除操作
3. **时间窗口保护**:不清理最近活跃的会话文件
4. **备份保留**:重要备份文件额外保留3天安全期
### **用户数据保护**
- **永不删除**:最近24小时内的会话文件
- **智能保留**:识别活跃研究项目相关文件
- **可配置保护**:用户可通过参数自定义保护规则
## 🔄 **工作流程**
### **正常使用流程**
```
用户:清理会话
系统:检测->预览->确认->执行->报告
```
### **自动化流程**
```
1. 心跳检测触发条件
2. 智能判断是否需要清理
3. 执行双重清理(索引+物理)
4. 生成清理报告(内部记录)
```
## 📱 **使用示例**
### **示例1:简单清理**
```
用户:清理会话
罗汉:👀 检测到需要清理的旧会话文件...
找到12个超过7天的会话文件(总计150MB)
是否执行清理?[Y/n]
用户:Y
罗汉:✅ 清理完成!
🗑️ 删除了12个会话文件
💾 释放了150MB磁盘空间
🎯 系统性能恢复正常
```
### **示例2:强制执行**
```
用户:清理会话 -Force
罗汉:🔧 正在执行双重清理(强制执行)...
🗄️ 清理索引:完成
🗑️ 物理文件清理:删除8个文件
💾 缓存清理:完成
🎉 清理完成,总计节省220MB空间
```
### **示例3:预览模式**
```
用户:清理会话 -DryRun
罗汉:👁️ 预览模式(不实际删除)
检测到以下可清理文件:
├── Session1.jsonl (15天前, 20MB)
├── Session2.jsonl (12天前, 15MB)
└── Session3.jsonl (9天前, 25MB)
总计:5个文件,160MB空间
```
## 📖 **版本历史**
### **v2.0.0** (2026-03-29) **完整发布**
- **编码修复**:解决UTF-8编码问题,确保跨平台兼容性
- **完整中文文档**:统一的README.md和SKILL.md文档结构
- **ClawHub发布**:正式发布到clawhub.com公开平台
- **版本一致性**:统一所有文档版本标记为v2.0.0
### **v1.3.0** (2026-03-28) **重大升级**
- **三层保障架构**:集成月度深度、周度轻度和智能心跳检测
- **专注保护机制**:智能判断不打扰工作时段
- **完整自动化方案**:提供免打扰的全自动维护体验
- **简化接口**:创建simple-clean.ps1一键清理工具
### **v1.2.0** (2026-03-26)
- **双重清理机制**:添加索引清理 + 物理文件清理
- **修复惰性删除**:解决OpenClaw的物理文件不删除问题
- **详细反馈系统**:显示清理的物理文件列表
- **多模式支持**:预览、强制、交互式确认模式
### **v1.1.0** (2026-03-26)
- **初期版本**:基础会话清理功能
- **缓存清理**:清理缓存目录中的旧文件
- **参数配置**:支持自定义清理时长
### **v1.0.0** (2026-03-25)
- **初始版本**:基于OpenClaw cleanup API的简单版本
- **基础功能**:清理过期会话索引
- **发现问题**:识别出OpenClaw惰性删除缺陷
## 🎯 **承诺**
### **对杜的保障**
1. **零维护负担**:全自动智能运行,无需人工干预
2. **专注保护**:智能判断研究时段,保证工作不被打扰
3. **高性能保证**:确保OpenClaw始终保持最佳响应速度
4. **安全无忧**:多重安全保障,绝不误删重要文件
### **服务理念**
- "您的系统,我来守护"
- "专注研究,维护无忧"
- "智能判断,精准清理"
---
**版权声明**:本技能遵循MIT开源协议,专为OpenClaw系统优化而设计。
**维护承诺**:罗汉将持续维护和优化此技能,确保OpenClaw系统始终保持最佳性能。
**最后更新**:2026-03-29
**版本**:v2.0.0 [完整中文文档+编码修复的重大升级]
**发布状态**:✅ 已发布至ClawHub (ltap266/openclaw-dual-cleanup@2.0.0)don't have the plugin yet? install it then click "run inline in claude" again.