定期清理 WorkBuddy 对话文件夹,释放磁盘空间,维护工作空间整洁。
/workbuddy-cleanup [options]
Options:
--scan-only : 仅扫描,不执行删除(默认)
--execute : 执行清理(移至回收站,需用户确认)
--deep : 深度清理(包括浏览器缓存)
--dry-run : 模拟执行,不实际删除(预览模式)
--cache-only : 只清理缓存
--empty-only : 只清理空文件夹
--platform : 强制指定平台(auto/windows/macos/linux)
> ⚠️ 安全说明:所有清理操作均移至系统回收站,不会直接删除文件。用户可自行在回收站中恢复或清除。
自动检测当前操作系统,使用对应路径:
| 平台 | WorkBuddy 路径 | 回收站路径 |
|------|----------------|------------|
| Windows | C:\Users\ | 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 中的受保护列表。
目标:检测操作系统,设置路径常量
步骤:
MEMORY.md 获取受保护列表
输出:平台信息、路径配置、受保护列表
目标:获取所有文件夹的详细信息
步骤:
正在扫描第 1/N 个文件夹...
进度显示格式:
[=====> ] 5/12 正在扫描:20260403133201 ...
输出:文件夹清单(名称、大小、文件数、内容类型)
目标:智能识别文件夹的内容类型,提升保护建议精准度
识别规则:
| 类型 | 判断条件 | 风险等级 |
|------|----------|----------|
| 🌐 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 | ⚪ 低 |
输出:每个文件夹的内容类型标签
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 | 项目名称(待用户补充)|
输出格式:
## 扫描结果
| 类别 | 数量 | 大小 |
|------|------|------|
| 受保护工作空间 | 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 空间。
必须操作:
确认方式:
> 📢 重要提醒:清理后的文件将移至系统回收站,不会直接删除。如需彻底清除,请自行在回收站中操作。
安全清理规则:
清理命令示例:
# 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。
>
> 💡 提示:
> - 如需恢复:请从系统回收站中还原
> - 如需彻底清除:请自行清空回收站
> ```
目标:记录每次清理的详情,可追溯、可审计
记录位置:.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。
验证内容:
输出:清理完成报告 + 清理历史链接
功能:每周自动提醒用户清理工作空间
设置方法:在 automation 中配置定时任务:
# 每周一上午 9:00 提醒
/workbuddy-cleanup --scan-only
提醒内容:
📢 工作空间清理提醒
你的 WorkBuddy 工作空间已有 X 个文件夹,占用 XX MB。
建议运行 `/workbuddy-cleanup` 进行清理。
[一键清理] [查看详情]
CRITICAL:删除前必须检查 MEMORY.md 中的受保护列表。
# 读取受保护列表(从 MEMORY.md)
$protected = Get-ProtectedWorkspaces
foreach ($f in $targets) {
if ($protected -contains $f) {
Write-Output "⚠️ 受保护,跳过: $f"
continue
}
# 执行删除...
}
当用户要求"扫描"、"检查"、"分析"时:
CRITICAL:当前对话文件夹必须保留。
删除浏览器缓存(edge_profile、chrome-debug-profile)时:
Default 文件夹(登录状态)
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 系统在后台维护对话记录
解决方案:
检查:
解决方案:
-Force 参数
Get-ChildItem -Force
解决方案:
清理完成后检查:
WorkBuddy 是腾讯云推出的全场景职场 AI 智能体。本 Skill 用于维护工作空间整洁,释放磁盘空间。
共 3 个版本