📦 Workspace Cleaner — 安全清理工作区
v1.0.0一键预览并清理 OpenClaw 工作区中的临时文件、日志、重复仓库及冗余数据,全部移至系统废纸篓,支持自定义过滤规则,零误删。
0· 808·6 当前·6 累计
安全扫描
OpenClaw
安全
high confidence技能代码与说明与其声明的“安全工作区清理”目的一致;无隐藏请求、远端接口或超出清理范围的行为。
评估建议
该技能功能如描述,但启用自动化前请复核:1) 先干跑(无 --execute)并检查 JSON 输出确认目标;2) 核查 config/patterns.json 与 references/safe-defaults.md,确保重要文件/目录列入 protected_files/protected_dirs;3) 脚本默认使用 $CLAWD_WORKSPACE 或 ~/clawd,若路径不同请显式设置 --workspace;4) 脚本会调用本地 git 与 trash 命令(git remote get-url、trash/trash-put),请确认已安装且行为符合预期;5) 切勿直接复制文档中的 cron/pre-commit 示例并加 --execute,务必先充分测试再定时自动删除;6) 如需更高安全性,可额外添加保护路径或强制手动确认后再执行。...详细分析 ▾
✓ 用途与能力
名称与描述与所含脚本及配置一致。脚本可查找临时文件、图片、node_modules、虚拟环境及通过本地 git 远程识别的重复仓库,并移至废纸篓。依赖工具(python、trash/trash-cli、git)与行为相符。
ℹ 指令范围
SKILL.md 指导使用自带脚本进行预览/执行并记录配置与模式。小瑕疵:脚本在未提供路径时默认使用 $CLAWD_WORKSPACE 或 ~/clawd,但 SKILL.md 未记录 CLAWD_WORKSPACE 环境变量;此外 SKILL.md 提供的 cron、pre-commit、HEARTBEAT 示例若未经审核就与 --execute 联用,可能导致自动删除——行为符合预期,但用户接入自动任务时需谨慎。
✓ 安装机制
无安装规范——本技能仅含说明及附带的 Python 脚本与配置,注册条目本身不会下载或安装任何内容。
ℹ 凭证需求
技能未声明所需凭证或环境变量,脚本亦不请求机密。仅读取 $CLAWD_WORKSPACE(文档未注明)作为默认工作区,并调用本地命令(git、trash)。未使用任何网络端点或外部凭证。
✓ 持久化与权限
always 为 false,技能不请求持久权限或修改其他技能。可由智能体自主调用(默认行为),但这属于用户可调用工具的预期行为,本身无特权提升。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.02026/2/15
Initial release
● 无害
安装命令
点击复制官方npx clawhub@latest install workspace-cleaner
镜像加速npx clawhub@latest install workspace-cleaner --registry https://cn.longxiaskill.com
技能文档
为 OpenClaw 工作空间提供安全、自动化的清理。查找临时文件、重复项与冗余数据,同时保护重要信息。
快速开始
``bash
# 预览将被删除的内容(安全,无实际改动)
python3 {{SKILL_DIR}}/scripts/cleanup.py # 真正执行清理(文件移至回收站,可恢复)
python3 {{SKILL_DIR}}/scripts/cleanup.py --execute
# 自定义工作空间路径
python3 {{SKILL_DIR}}/scripts/cleanup.py --workspace /path/to/workspace
功能特性
- 默认 dry-run — 删除前始终先预览
- 使用回收站 — 文件进入系统回收站,可恢复
- 体积感知 — 显示大小,可按阈值过滤
- 按时间过滤 — 仅处理早于 N 天的文件
- 可自定义模式 — 编辑配置以适配你的工作流
- JSON 输出 — 机器可读,便于自动化
- 安全默认值 — 绝不触碰 .git、memory/ 及核心配置
命令
预览(默认)
bash
python3 {{SKILL_DIR}}/scripts/cleanup.py
`
显示将被删除的文件及其大小,不做任何改动。 执行清理
`bash
python3 {{SKILL_DIR}}/scripts/cleanup.py --execute
`
将文件移至回收站,可通过系统回收站恢复。 按大小过滤
`bash
# 仅显示大于 100MB 的项目
python3 {{SKILL_DIR}}/scripts/cleanup.py --min-size 100
` 按时间过滤
`bash
# 仅显示早于 30 天的项目
python3 {{SKILL_DIR}}/scripts/cleanup.py --min-age 30
` JSON 输出
`bash
# 用于自动化/解析
python3 {{SKILL_DIR}}/scripts/cleanup.py --json
` 自定义配置
`bash
# 使用自定义模式文件
python3 {{SKILL_DIR}}/scripts/cleanup.py --config /path/to/patterns.json
` 清理范围
默认模式(可通过配置自定义): | 类别 | 模式 | 安全? |
|------|------|--------|
| 临时下载 | 根目录下 .skill | ✅ |
| 生成图片 | 根目录下 .png、.jpg | ✅ |
| macOS 冗余 | .DS_Store | ✅ |
| 日志 | .log | ✅ |
| 临时文件 | .tmp、.bak、~ | ✅ |
| Node 模块 | 根目录下 node_modules/ | ✅ |
| Python venv | .venv/、venv/(已知除外) | ⚠️ |
| 重复仓库 | 与 projects/ 远程地址相同 | ⚠️ |
受保护内容
无论模式如何,以下项目永不删除:
.git/目录memory/目录MEMORY.md、SOUL.md、USER.md、AGENTS.mdprojects/目录内容skills/目录内容最近 24 小时内修改的文件(除非使用--include-recent)
配置
编辑 {{SKILL_DIR}}/config/patterns.json 自定义:
`json
{
"temp_extensions": [".tmp", ".bak", ".log", ".skill"],
"temp_patterns": ["~", "#*#"],
"image_extensions": [".png", ".jpg", ".jpeg", ".gif"],
"protected_dirs": ["memory", "skills", "projects", ".git"],
"protected_files": ["MEMORY.md", "SOUL.md", "USER.md", "AGENTS.md"],
"known_venvs": [".venv-skill-scanner"]
}
` HEARTBEAT 集成
在 HEARTBEAT.md 中添加,用于定期清理检查:
`markdown
每周清理检查
- 以预览模式运行 workspace cleaner
- 若发现 >500MB 冗余则告警
- 自动清理早于 30 天且小于 10MB 的项目
` 安全提示
始终先预览 — 不带--execute运行,查看将被删除的内容- 检查回收站 — 文件进入系统回收站,而非永久删除
排除模式 — 使用--exclude指定看似冗余但实际需要的文件- 先备份 — 大规模清理前建议备份
示例
日常维护
`bash
# 每周清理明显冗余
python3 {{SKILL_DIR}}/scripts/cleanup.py --min-age 7 --execute
` 找出空间大户
`bash
# 查看占用空间的项目
python3 {{SKILL_DIR}}/scripts/cleanup.py --min-size 50 --json | jq '.items | sort_by(.size_mb) | reverse'
` 提交前清理
`bash
# 提交前清理
python3 {{SKILL_DIR}}/scripts/cleanup.py --execute && git status
` 依赖
- Python 3.8+
trash命令(macOS:brew install trash,Linux:trash-cli`)