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…
567.1K installs>- S3-compatible object storage that branches with your Neon project, so files and the database…
4.3K installsUse to call the VIOS REST API (sensor list, timelines, clip extraction, snapshots, add/delete s…
1.8K installsSelects, investigates, and compares AWS object, file, and block storage services, and answers c…
42 installsGeneral file/object storage, such as for images, videos, files, documents and other bulk data. …
18.5K installsWork with the data inside a Cargo workspace — models (Companies, Contacts, Deals…), datasets, c…
6.5K 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。删除前向测试必须在测试临时目录内完成,不能用真实客户目录验证。