---
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)