执行后沙箱清理

一套受控的清理流程,可在任务结束后重置开发沙箱,同时保留已批准的产物,并记录环境是否已准备好运行下一项任务。

jsmartinez99
2026年10月11日
0 收藏
72 下载

安装与下载

1 ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install sop-dev-002-cleanup-post-sandbox

2 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/
工作区 {'/skills/'}

优先级:工作区 › 全局 › 内置

3 提示词安装

将此提示词复制到 Openclaw 即可自动安装。

请帮我使用 Clawhub 安装 skill-sop-dev-002-cleanup-post-sandbox。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

更倾向于下载?

获取包含原生技能文件的ZIP压缩包。

下载技能 (.zip)

基本信息

名称 执行后沙箱清理
Slug sop-dev-002-cleanup-post-sandbox
创建者 jsmartinez99
创建时间 2026-10-11 05:34:44
更新时间 2026-10-11 05:34:44
收藏数 0
使用量 72
浏览量 9

安装指南

  1. ClawHub CLI 从源直接安装技能的最快方式。
    npx clawhub@latest install sop-dev-002-cleanup-post-sandbox
  2. 手动安装 将技能文件夹复制到以下位置之一
    全局模式
    ~/.openclaw/skills/
    工作区
    /skills/
    优先级:工作区 > 本地 > 内置
  3. 提示词安装 将此提示词复制到 OpenClaw 即可自动安装。
    请帮我使用 Clawhub 安装 sop-dev-002-cleanup-post-sandbox。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
    更倾向于下载?
    获取包含原生技能文件的ZIP压缩包。
    下载技能 (.zip)

什么是

此 Openclaw Skills 流程规定了开发代理在验证完成后,或任务取消、终止时如何清理沙箱。它有助于防止临时文件、运行中的服务和未提交的更改污染后续任务,同时明确保护必须保留或晋升的产物。
此工作流程涵盖临时文件清除、服务和卷停止、Git 重置、清理验证,以及在 COMMS 中进行必要的状态更新。如果清理失败或沙箱无法恢复,本流程要求升级处理,而不是悄然继续。

应用场景

按照前置沙箱验证流程,任务已达到
SANDBOX_VALIDATED
,在晋升到主机之前需要进行清理。
在沙箱中运行的任务被取消或终止。
在开始另一项任务之前,需要删除临时文件、缓存、日志或未声明的构建输出。
需要停止数据库、Redis 或模拟服务等沙箱服务,并清除临时卷。
必须将仓库更改和未跟踪文件重置为文档记录的基础状态,同时不删除保留的产物。
清理因权限、僵尸进程、持久卷或沙箱损坏而受阻,必须升级处理。

工作原理

查看 SANDBOX_VALIDATED COMMS 块中记录的 ARTIFACTS,并确定必须保留或晋升的内容。
删除临时文件和未声明的验证输出,包括临时备份、缓存和执行日志。不要删除已声明的产物。
停止沙箱服务和容器,在适用时移除临时卷,并确认服务端口已释放。
如果使用了 Git,则丢弃未提交的更改,移除未跟踪文件(保留的产物除外),并返回到前置标准作业程序记录的基础提交或分支。
使用 ls -la 检查沙箱根目录,并查看 git status。确认只剩下预期的产物和基础结构。
记录一个 TASK_PROGRESS COMMS 块,其中包含 STATUS: SANDBOX_CLEANED、已清理的文件或状态,以及确认沙箱已准备好执行另一项任务。
如果清理失败、产物未能保留或沙箱无法恢复,则设置适当的受阻或决策状态,并通知主代理,而不是继续操作。

配置指南

未指定安装软件包或独立 CLI 设置。任务达到 SANDBOX_VALIDATED 或被取消、终止时,请在 Openclaw Skills 工作流程中应用此标准作业程序。使用前置验证流程中记录的沙箱根目录和基础提交或分支。
运行具有破坏性的 Git 清理命令之前,请确认产物保留清单和仓库位置。如果在错误目录中运行这些命令,或未保护必需的产物,可能会丢弃工作或删除未跟踪文件。

清理前检查沙箱

ls -la
git status

适用时,停止沙箱服务

如果项目未使用 Docker Compose,请使用项目对应的命令

docker compose down

适用时,保留必需产物后重置仓库

git checkout -- .
git clean -fd

验证最终沙箱状态

ls -la
git status

数据架构

此标准作业程序未定义单独的数据库,也不会生成专用输出文件。它依靠沙箱内容和任务通信作为操作记录。
记录或位置 使用或记录的信息
SANDBOX_VALIDATED COMMS 块中的 ARTIFACTS 必须保留的文件,以及在适当情况下晋升到主机的文件
沙箱根目录 临时文件、缓存、日志、服务、仓库状态和保留的产物
TASK_PROGRESS COMMS 块 清理结果、STATUS: SANDBOX_CLEANED、清理详情和就绪确认
标准作业程序元数据 标准作业程序 ID SOP-DEV-002、标题、指定代理、状态、版本、日期、审阅者、批准者和晋升后的技能名称
常见清理目标包括 .tmp、.temp、*.bak、编辑器备份文件、pycache/、.pytest_cache/、符合条件的 node_modules/、临时 *.log 文件和 nohup.out。只有未列为产物的目录和文件才可删除。Git 清理必须返回到前置标准作业程序记录的基础提交或分支。

高级特性

感知产物的清理会区分可丢弃的沙箱输出与必须保留或晋升的文件。
服务生命周期管理涵盖停止容器或同类服务、清除创建的临时卷,以及检查端口是否已释放。
Git 重置支持将工作仓库恢复到文档记录的基础状态;使用具有破坏性的清理命令之前,必须处理产物排除项。
清理后的明确检查使用
ls -la
git status
验证沙箱,而不是假定清理已成功。
COMMS 状态报告会记录
SANDBOX_CLEANED
,并确认已准备好执行下一项任务。
升级处理路径会区分清理失败(
BLOCKED
)、产物恢复或保留问题(
BLOCKED
),以及无法恢复的沙箱(
DECISION_RECORDED
,并请求提供替代沙箱)。


name: sop-dev-002-cleanup-post-sandbox description: "SOP Canónico: sop-dev-002-cleanup-post-sandbox" userFacing: true

sop_id: SOP-DEV-002 title: Cleanup post-ejecución del sandbox agent: dev status: approved version: 1.0 created: 2026-07-10 updated: 2026-08-07 reviewed_by: "skill-manager" approved_by: "change-manager" promoted_to_skill: "sop-dev-002-cleanup-sandbox"
Propósito

Define el procedimiento obligatorio de limpieza y reset del entorno sandbox después de completar una tarea. Garantiza que el sandbox quede limpio para la siguiente tarea y no queden residuos que contaminen ejecuciones futuras.

Disparador

Al completar TASK con STATUS: SANDBOX_VALIDATED (después de SOP-DEV-001) y antes de promover a host, o al cancelar/abortar una tarea en sandbox.

Procedimiento

Identificar artifacts a preservar — Revisar ARTIFACTS listados en COMMS del bloque SANDBOX_VALIDATED. Estos NO se borran (se promueven a host si procede).
Eliminar archivos temporales — Borrar del sandbox:
Archivos *.tmp, *.temp, *.bak, ~
Directorios pycache/, .pytest_cache/, node_modules/ (si no son artifacts)
Logs de ejecución temporal (
.log, nohup.out)
Cualquier archivo creado durante validación que no esté en ARTIFACTS
Reset de estado de servicios — Si se levantaron servicios en sandbox (DB, Redis, mocks):
Detener contenedores/servicios: docker compose down o equivalente
Limpiar volúmenes temporales si se crearon

Verificar que puertos quedan libres

Reset de git (si aplica) — Si se hizo git clone o trabajo en repo:

git checkout -- . para descartar cambios no committed
git clean -fd para eliminar untracked (excepto artifacts preservados)

Volver al commit/branch base documentado en SOP-DEV-001
Verificar limpieza — Ejecutar ls -la y git status en sandbox root. Confirmar que solo quedan artifacts listados y estructura base.
Registrar en COMMS — Escribir bloque TASK_PROGRESS con STATUS: SANDBOX_CLEANED, lista de archivos eliminados/limpiados, confirmación de sandbox listo para siguiente tarea.
Validación
✅ Ningún archivo temporal residual en sandbox (tmp, cache, logs, build outputs no declarados)
✅ Servicios/containers detenidos y puertos libres
✅ Git status limpio (solo artifacts preservados)
✅ COMMS block con STATUS: SANDBOX_CLEANED escrito
✅ Sandbox listo para próxima tarea sin intervención manual

Escalado

Si limpieza falla (permisos, procesos zombie, volúmenes persistentes) → STATUS: BLOCKED → notificar a main
Si artifacts no preservados correctamente → STATUS: BLOCKED → no proceder a promoción; recuperar de backup si existe
Si sandbox corrupto irrecuperable → STATUS: DECISION_RECORDED → solicitar nuevo sandbox a main

Ref: ~/.openclaw/workspace/gobierno/SOP_STANDARD.md

沙盒实施标准操作规程(SOP-DEV-001)
Capgo CLI 使用指南