WorkBuddy 工作空间清理
定期清理 WorkBuddy 对话文件夹,释放磁盘空间,维护工作空间整洁。
功能特性
- ✅ 智能扫描与分类
- ✅ 回收站机制(误删可恢复)
- ✅ 内容类型识别(Web/Python/文档等)
- ✅ 清理历史记录
- ✅ 跨平台路径支持(Windows/macOS/Linux)
- ✅ 进度显示
- ✅ 清理预览
- ✅ 定时提醒(每周)
Invocation
/workbuddy-cleanup [options]
Options:
- --scan-only : 仅扫描,不执行删除(默认)
- --execute : 执行清理(移至回收站,需用户确认)
- --deep : 深度清理(包括浏览器缓存)
- --dry-run : 模拟执行,不实际删除(预览模式)
- --cache-only : 只清理缓存
- --empty-only : 只清理空文件夹
- --platform <os> : 强制指定平台(auto/windows/macos/linux)
> ⚠️ 安全说明:所有清理操作均移至系统回收站,不会直接删除文件。用户可自行在回收站中恢复或清除。
平台路径配置
自动检测当前操作系统,使用对应路径:
| 平台 | WorkBuddy 路径 | 回收站路径 |
|---|---|---|
| Windows | C:\Users\<user>\WorkBuddy\ |
shell:RecycleBinFolder |
| macOS | ~/WorkBuddy/ |
~/.Trash/ |
| Linux | ~/WorkBuddy/ |
~/.local/share/Trash/ |
检测逻辑:
# Windows
$platform = "windows"
$workbuddyPath = Join-Path $env:USERPROFILE "WorkBuddy"
# macOS/Linux
$platform = if ($IsMacOS) { "macos" } elseif ($IsLinux) { "linux" } else { "windows" }
$workbuddyPath = Join-Path $HOME "WorkBuddy"
用户偏好设置
清理前必须读取 MEMORY.md 获取受保护工作空间列表。
受保护工作空间(不可删除)
用户可在 .workbuddy/memory/MEMORY.md 中标记关键项目文件夹,这些文件夹除非有明确指令否则不会删除。
示例配置:
| 工作空间 | 内容 |
|----------|------|
| `YYYYMMDDHHMMSS` | 项目名称 |
> 清理前会自动检查 MEMORY.md 中的受保护列表。
清理流程
Phase 0: 平台检测与初始化
目标:检测操作系统,设置路径常量
步骤:
1. 检测当前操作系统(Windows/macOS/Linux)
2. 设置 WorkBuddy 工作空间路径
3. 设置回收站路径
4. 读取 MEMORY.md 获取受保护列表
5. 初始化清理历史记录文件(如不存在则创建)
输出:平台信息、路径配置、受保护列表
Phase 1: 扫描工作空间
目标:获取所有文件夹的详细信息
步骤:
1. 显示进度:正在扫描第 1/N 个文件夹...
2. 扫描 WorkBuddy 工作空间目录
3. 计算每个文件夹的大小和文件数
4. 检测文件夹内容类型
5. 按创建时间排序
进度显示格式:
[=====> ] 5/12 正在扫描:20260403133201 ...
输出:文件夹清单(名称、大小、文件数、内容类型)
Phase 2: 内容类型识别
目标:智能识别文件夹的内容类型,提升保护建议精准度
识别规则:
| 类型 | 判断条件 | 风险等级 |
|---|---|---|
| 🌐 Web 项目 | 含 package.json、index.html、vite.config.* |
🔴 高 |
| 🐍 Python 项目 | 含 requirements.txt、pyproject.toml、*.py |
🔴 高 |
| ☕ Java 项目 | 含 pom.xml、build.gradle、*.java |
🔴 高 |
| 📝 文档项目 | 含 *.docx、*.pptx、*.pdf 且数量 > 5 |
🟡 中 |
| ⚙️ 配置文件 | 含 .workbuddy/、*.json、*.yaml |
🟡 中 |
| 🗑️ 临时文件 | 仅含 *.log、*.tmp、*.cache |
⚪ 低 |
| 📁 空文件夹 | 无文件或总大小 < 0.05 MB | ⚪ 低 |
输出:每个文件夹的内容类型标签
Phase 2.5: 智能保护建议
CRITICAL:扫描完成后,必须对未受保护的非空文件夹进行智能评估,主动建议哪些应该纳入保护。
评估规则:
| 级别 | 条件(满足任一即触发) | 建议 |
|---|---|---|
| 🔴 强烈建议保护 | 大小 > 50MB 且文件数 > 100 或 内容类型 = Web/Python/Java 项目 | 大型项目,误删损失大 |
| 🟡 建议保护 | 大小 > 5MB 且文件数 > 50 或 内容类型 = 文档项目 | 中型项目,可能有价值 |
| 🔵 可考虑保护 | 含 package.json、*.sln、*.csproj 等项目文件 |
有代码项目结构 |
| ⚪ 无需保护 | 空文件夹或纯临时文件 | 可安全清理 |
输出格式:
## 保护建议
以下文件夹未受保护,建议评估是否纳入保护:
| 文件夹 | 大小 | 文件数 | 内容类型 | 风险等级 | 建议操作 |
|--------|------|--------|----------|----------|----------|
| `20260403133201` | 200 MB | 1,500 | 🌐 Web 项目 | 🔴 高 | 建议纳入保护 |
| `20260410103229` | 50 MB | 800 | 🐍 Python 项目 | 🟡 中 | 可考虑保护 |
| `20260428090910` | 0.01 MB | 3 | ⚪ 临时文件 | ⚪ 低 | 可安全清理 |
快捷操作:在建议列表下方提供交互入口:
快捷操作:
- 回复「保护 文件夹名」将指定文件夹加入受保护列表
- 回复「保护建议」自动将 🔴 级别文件夹全部纳入保护
- 回复「跳过」不修改保护列表,继续清理流程
用户操作后:
- 将新保护的工作空间追加到 .workbuddy/memory/MEMORY.md 的受保护表格中
- 格式示例:| YYYYMMDDHHMMSS | 项目名称(待用户补充)|
- 追加后提示用户补充项目内容描述
- 刷新分类报告,将新保护的文件夹移入「受保护」类别
Phase 3: 生成报告
输出格式:
## 扫描结果
| 类别 | 数量 | 大小 |
|------|------|------|
| 受保护工作空间 | X | XX MB |
| 当前对话 | 1 | XX MB |
| 空文件夹 | X | 0 MB |
| 可清理缓存 | X | XX MB |
| 其他文件夹 | X | XX MB |
## 内容类型分布
| 类型 | 数量 | 总大小 |
|------|------|--------|
| 🌐 Web 项目 | X | XX MB |
| 🐍 Python 项目 | X | XX MB |
| 📝 文档项目 | X | XX MB |
| 🗑️ 临时文件 | X | XX MB |
## 待清理列表
- `文件夹A`(空,0.01 MB)
- `文件夹B`(缓存,50 MB)
- `文件夹C`(临时文件,0.5 MB)
## 清理预览
执行清理将删除以上 X 个文件夹,释放约 XX MB 空间。
Phase 4: 用户确认
必须操作:
1. 展示详细删除列表(含每个文件夹的具体内容)
2. 列出每个文件夹的用途和内容类型
3. 提醒删除后的影响(含回收站恢复方法)
4. 要求用户明确确认
确认方式:
- 输入「确认」执行清理(移至回收站)
- 输入「取消」放弃操作
- 输入「保护 XXX」将指定文件夹加入受保护列表
- 指定具体文件夹选择性清理
> 📢 重要提醒:清理后的文件将移至系统回收站,不会直接删除。如需彻底清除,请自行在回收站中操作。
Phase 5: 执行清理
安全清理规则:
- 所有文件仅移至回收站,不执行永久删除
- 分批操作(每批最多 10 个)
- 每批完成后验证结果
- 遇到错误立即停止
- 记录清理日志
- 提醒用户可从回收站恢复或自行清除
清理命令示例:
# Windows:移至回收站
[Microsoft.VisualBasic.FileIO.FileSystem]::DeleteDirectory($path, 'OnlyAllowed', 'SendToRecycleBin')
# macOS:移至废纸篓
mv $path ~/.Trash/
# Linux:移至回收站
gio trash $path # 或 mv $path ~/.local/share/Trash/
> 📢 清理完成提醒:
> > ✅ 清理完成!已将 X 个文件夹移至回收站,释放空间约 XX MB。
>
> 💡 提示:
> - 如需恢复:请从系统回收站中还原
> - 如需彻底清除:请自行清空回收站
>
Phase 5.5: 清理历史记录
目标:记录每次清理的详情,可追溯、可审计
记录位置:.workbuddy/memory/cleanup-history.md
记录格式:
# 清理历史记录
## 2026-04-28 14:30
- **操作**:清理缓存 + 空文件夹
- **删除数量**:5 个文件夹
- **释放空间**:125 MB
- **删除列表**:
- `20260428090910`(空文件夹,0.01 MB)
- `automation-claw-20260413172719`(缓存,120 MB)
- ...
- **恢复方法**:从回收站恢复(截止日期:2026-05-05)
- **操作者**:用户确认
清理完成后自动追加到 cleanup-history.md。
Phase 6: 验证结果
验证内容:
1. 确认受保护文件夹未受影响
2. 统计释放的空间
3. 列出剩余文件夹
4. 更新记忆文件
5. 更新清理历史
输出:清理完成报告 + 清理历史链接
定时提醒配置
功能:每周自动提醒用户清理工作空间
设置方法:在 automation 中配置定时任务:
# 每周一上午 9:00 提醒
/workbuddy-cleanup --scan-only
提醒内容:
📢 工作空间清理提醒
你的 WorkBuddy 工作空间已有 X 个文件夹,占用 XX MB。
建议运行 `/workbuddy-cleanup` 进行清理。
[一键清理] [查看详情]
安全规则(MANDATORY)
1. 受保护检查
CRITICAL:删除前必须检查 MEMORY.md 中的受保护列表。
# 读取受保护列表(从 MEMORY.md)
$protected = Get-ProtectedWorkspaces
foreach ($f in $targets) {
if ($protected -contains $f) {
Write-Output "⚠️ 受保护,跳过: $f"
continue
}
# 执行删除...
}
2. 扫描=只读
当用户要求"扫描"、"检查"、"分析"时:
- 仅生成报告
- 不执行任何删除操作
- 明确告知:"我不会删除任何文件,除非你明确确认"
3. 分批删除
- 每批最多 10 个文件夹
- 每批删除后验证
- 遇到错误立即停止
4. 保留当前对话
CRITICAL:当前对话文件夹必须保留。
5. 浏览器缓存处理
删除浏览器缓存(edge_profile、chrome-debug-profile)时:
- 保留 Default 文件夹(登录状态)
- 仅删除缓存部分
- 提醒用户:首次运行自动化任务会稍慢
6. 仅使用回收站
CRITICAL:所有清理操作只能移至回收站,禁止直接删除文件。
- 文件移至回收站后可恢复
- 用户可自行在回收站中恢复或清空
- 不提供永久删除选项
常见文件夹类型
对话工作空间
| 文件夹 | 内容 | 建议 |
|---|---|---|
YYYYMMDDHHMMSS |
对话记录 + 项目文件 | 检查是否有产物 |
.workbuddy/memory/ |
项目记忆 | 删除后丢失 |
自动化任务
| 文件夹 | 内容 | 建议 |
|---|---|---|
automation-* |
自动化脚本 | 检查是否还在运行 |
edge_profile/ |
浏览器配置 | 可清理缓存 |
*.png |
调试截图 | 可删除 |
项目产物
| 文件夹 | 内容 | 建议 |
|---|---|---|
node_modules/ |
Node 依赖 | 可清理 |
*.docx |
文档产物 | 用户判断 |
*.md |
Markdown 文档 | 用户判断 |
清理频率建议
| 类型 | 建议频率 |
|---|---|
| 空文件夹清理 | 每周 |
| 缓存清理 | 每月 |
| 深度清理 | 每季度 |
记忆更新
清理完成后,更新记忆文件:
# YYYY-MM-DD 工作记录
## 工作空间清理
- 删除 X 个空文件夹
- 删除 X MB 缓存
- 保留 Y 个受保护工作空间
- 剩余文件夹:Z 个
- 清理历史:.workbuddy/memory/cleanup-history.md
故障排查
问题:文件夹删除后被重建
原因:WorkBuddy 系统在后台维护对话记录
解决方案:
- 这些文件夹是系统元数据目录
- 完全为空,不占用空间
- 无需担心,这是正常行为
问题:删除操作失败
检查:
1. 文件夹是否有隐藏文件
2. 是否有文件被锁定
3. 是否有子目录无法删除
解决方案:
- 使用 -Force 参数
- 检查隐藏文件:Get-ChildItem -Force
- 手动删除残留目录
问题:回收站文件过多
解决方案:
- 用户可自行清空回收站释放空间
- 从回收站恢复误删文件后再清理
Quality Gates
清理完成后检查:
- [ ] 受保护文件夹未被删除
- [ ] 当前对话未被删除
- [ ] 删除日志已记录
- [ ] 记忆文件已更新
- [ ] 释放空间已统计
- [ ] 剩余文件夹清单已生成
- [ ] 清理历史已记录
- [ ] 回收站操作成功
WorkBuddy 是腾讯云推出的全场景职场 AI 智能体。本 Skill 用于维护工作空间整洁,释放磁盘空间。