Summary
面向小白统计 SOIA 受管配置、状态、缓存和临时目录的空间占用,生成可清理清单并提醒删除风险;只有客户看过最新清单并明确授权后才执行删除,随后复核实际释放空间。触发:「检查 SOIA 占用」「统计缓存大小」「清理临时文件」「清理过期状态」「释放磁盘空间」;不用于未经授权的全盘清理。
soia-team/soia-open-env-skills · Archived
面向小白统计 SOIA 受管?
npx skills add soia-team/soia-open-env-skills --skill soia-env-storage-cleanup
面向小白统计 SOIA 受管配置、状态、缓存和临时目录的空间占用,生成可清理清单并提醒删除风险;只有客户看过最新清单并明确授权后才执行删除,随后复核实际释放空间。触发:「检查 SOIA 占用」「统计缓存大小」「清理临时文件」「清理过期状态」「释放磁盘空间」;不用于未经授权的全盘清理。
This repository is archived — consider an actively maintained alternative.
面向小白检查、安? Qoder CLI」「qodercli 不存在」「Qoder 登录」「检查 Qoder 更新」「更新 Qoder …
14 installs为新手安? Codex CLI」「更新 Codex CLI」「Codex 命令不存在」
13 installs为新手安? WorkBuddy」「更新 WorkBuddy」「WorkBuddy 下载」
12 installs为新手安? Python」「更新 Python」「python 命令不存在」
12 installsRelated neighbors and high-traction skills in the same topics — useful to compare before installing.
Azure Storage Services including Blob Storage, File Shares, Queue Storage, Table Storage, and D…
1.5K installs>- S3-compatible object storage that branches with your Neon project, so files and the database…
666 installsSelects, investigates, and compares AWS object, file, and block storage services, and answers c…
37 installsUse to call the VIOS REST API (sensor list, timelines, clip extraction, snapshots, add/delete s…
1.8K installsGeneral file/object storage, such as for images, videos, files, documents and other bulk data. …
196 installsQueries Huawei Cloud storage resources (EVS/OBS/SFS/CBR). Covers cloud disks (volumes/snapshots…
126 installsOther skills from soia-team/soia-open-env-skills · top by installs.
npx skills add soia-team/soia-open-env-skills
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
main
Parsed from SKILL.md frontmatter.
Files included with this skill beyond the listing page.
SKILL.md
9,765 B
SUMMARY.md
434 B
先只读统计 SOIA 受管目录,再生成有时效、带摘要的清理计划。删除属于不可逆高风险动作:必须把候选类别、大小、条件和风险展示给客户,等待客户针对这份计划明确授权后,才能执行并复核。
| 客户想要 | 技能会做 | 客户能看到 |
|---|---|---|
| 看 SOIA 数据占了多少空间 | 只读统计配置、状态、缓存和临时目录 | 各类别大小、文件数和可清理大小 |
| 判断哪些文件能清理 | 按时效、容量、安全标记和活动状态分类 | 可清理、需授权、禁止清理及原因 |
| 清理过期数据 | 先冻结计划,提醒风险,等待明确授权后按计划删除 | 删除数量、失败项和实际释放空间 |
| 复核清理结果 | 重新检查删除结果和回执摘要 | 是否删除成功、是否有文件重新出现 |
本技能只清理 SOIA 标准受管目录,不扫描或清理整个磁盘,不删除普通下载、项目、照片、文档或其他应用数据。
客户只需要用自然语言提出目标,不需要操作终端:
<plan_id> 删除”。| 依赖 | 类型 | 安装 / 配置 | 缺失时怎么处理 |
|---|---|---|---|
| Python 3.10+ | 强依赖 | 使用系统或 soia-env-python-install 提供的 Python |
停止清理,只说明如何补齐 |
soia-env-storage-cleanup |
本技能 | claude plugin install soia-env@soia(或 npx 路线 npx skills add soia-team/soia-open-env-skills -g -a '*' -s soia-env-storage-cleanup -y) |
优先装领域插件;npx 路线会落进共享真源 |
本技能不保存账号或凭据。以下变量只能覆盖受管目录位置,值必须是目录而不是秘密:
SOIA_SKILLS_CONFIG_HOME
SOIA_SKILLS_STATE_HOME
SOIA_SKILLS_CACHE_HOME
SOIA_SKILLS_TEMP_HOME
使用环境变量指定自定义根目录时,必须先向客户展示目标目录并取得配置确认,再写入类别匹配的 .soia-storage-root.json;缺少标记时执行器拒绝把任意目录认领为 SOIA 存储。
WorkBuddy 的装载单位是角色化专家而不是插件,npx skills add -a '*' 覆盖不到它,需要单独安装,见 docs/install/workbuddy.md。
扫描、计划和删除是三个独立阶段。初始“帮我清理”请求不能同时授权尚未生成的候选清单。
执行删除前必须向客户显示:
风险提醒:下面的删除不可撤销,可能导致缓存重新下载、审计历史缩短,
或使依赖这些中间文件的任务需要重新运行。配置、凭据和客户交付物不会删除。
请确认是否按计划 <plan_id> 删除 <候选文件数> 个文件,预计释放 <大小>。
只有客户在这条提醒之后明确确认当前 planid,才能生成 authorizationid 并调用执行命令。以下情况必须重新扫描并重新授权:
| 数据类别 | 默认条件 | 清理方式 | 风险 |
|---|---|---|---|
| 配置 | 无 | 永不自动清理,只统计 | 禁止清理 |
| 审计状态 | 超过 30 天、100 条或 10 MiB,且技能目录存在允许清理的受管标记 | 客户授权后按过期/最旧顺序删除普通文件 | 高 |
| 缓存 | 超过 7 天,或总量超过 512 MiB | 客户授权后按过期/最旧顺序删除 | 中 |
| 临时文件 | 超过 24 小时且没有活动标记 | 客户授权后删除 | 中 |
无论客户如何授权,以下对象仍必须拒绝:
.soia-active 标记的活动目录;.soia-active、.soia-managed-storage.json 安全标记本身;.soia-storage-root.json 根目录标记本身;详细机器合同和标记格式见 [清理安全合同](references/cleanup-contract.md)。
Agent 运行:
python3 scripts/storage_cleanup.py scan --json
扫描不得创建目录、计划或回执。把机器输出转换为下面的客户列表,不回显精确私有路径。
客户要求清理时运行:
python3 scripts/storage_cleanup.py plan --json
计划只能写入受管 state 目录,包含 30 分钟有效期、候选文件元数据和 plan_digest。生成计划仍不代表授权,也不删除文件。
向客户展示:
| 数据类别 | 当前大小 | 可清理大小 | 候选文件 | 清理条件 | 风险 |
|---|---|---|---|---|---|
| <配置/审计状态/缓存/临时文件> | <大小> | <大小> | <数量> | <条件> | <禁止/高/中> |
然后发送强制风险提醒并结束当前执行回合。没有客户新回复,不得进入第 4 步。
确认客户明确授权当前计划后,由 Agent 生成不含客户原话的随机 authorization_id,记录授权时间,并运行:
python3 scripts/storage_cleanup.py clean \
--plan <managed-plan-path> \
--plan-digest <plan-digest> \
--confirmed-plan-id <plan-id-confirmed-by-customer> \
--authorization-id <opaque-authorization-id> \
--authorized-at <RFC3339-with-timezone> \
--acknowledge-risk CUSTOMER_APPROVED_IRREVERSIBLE_DELETE \
--execute --json
不得替客户预填授权,不得把 --execute 放进扫描或计划命令。--confirmed-plan-id 必须来自客户在风险提醒后的明确回复,并与计划精确匹配。执行器只删除计划中仍未变化且仍符合条件的普通文件;不确定项进入 skipped。
清理后运行:
python3 scripts/storage_cleanup.py verify --receipt <managed-receipt-path> --json
核对实际删除数量、删除字节数、失败/跳过项、磁盘空闲空间变化和文件是否重新出现。删除命令返回 0 不能代替复核。
| 技能 | 当前状态 | 当前版本 | 最新版本 | 运行状态 | 更新时间 | 处理结果 |
|---|---|---|---|---|---|---|
| 存储清理 | <已扫描/等待授权/已清理/被阻塞> | 1.0.0 |
<版本或未取得> | <正常/预警/异常/未验证> | <RFC3339-with-timezone> | <发现候选/等待客户确认/已释放空间/被阻塞:原因> |
更新时间 是最后一次扫描或删除复核完成时间,不是技能文件修改时间。客户可见回复只报告:
plan_id、有效期和是否等待授权;本地机器回执保存 plandigest、authorizationid、authorizedat、checkedat、删除结果和 receipt_digest,权限尽量使用目录 0700、文件 0600。
至少覆盖以下 fixture:配置文件永不删除;过期 cache/temp 可进入计划;新文件和活动目录不进入计划;state 缺标记时拒绝;符号链接拒绝;错误/过期摘要和缺少授权时阻断;候选在计划后变化时跳过;授权成功后只删除计划内文件并复核回执。
真实机器验收只运行 scan。删除前向测试必须在测试临时目录内完成,不能用真实客户目录验证。