按照 OpenClaw 官方规范删除一个或多个 agent,使用 openclaw agents delete CLI 命令,自动将数据移到技能目录下的回收站({skillDir}/.trash/),并在 history.md 中记录删除时间和回收站路径。
本技能是严格五步流程。未完成当前步的「完成标志」,禁止进入下一步。
| 规则 | 说明 |
|---|---|
| ------ | ------ |
| 一步一停 | 每步做完、等用户回复(如需),再进入下一步 |
| 第四步只 exec 一次 | 用户确认后,只执行下面「第四步」里那一条 bash 命令,不要拆成多条试探 |
| 禁止猜路径 | 不要用 ls scripts/、不要假设 {baseDir}、不要手写 workspace 下的路径 |
| 禁止抢先 delete | 第四步完成前,不要调用 openclaw agents delete |
| 禁止脚本失败后擅自手动删 | 脚本非零退出时,先把完整 stderr/stdout 给用户看,问是否重试;只有用户同意才走「手动回退」 |
| 禁止跳过确认 | 用户未明确回复「确认」类字样,不得执行删除 |
| 建议新会话 | 对话很长时,建议用户开新会话再跑本技能,避免 SKILL 被上下文淹没 |
每轮回复开头用一行标明进度,例如:
📍 agent-del 进度:第 2 步 / 共 5 步 — 等待你选择要删除的 agent
完成标志: 已向用户展示编号列表,并等待用户选择。
用 exec 只执行这一条:
openclaw agents list --json
解析 JSON,展示列表。main 也要列出,但标注不可删除:
📋 当前已配置的 Agent:
1. 📜 main(管仲)— ⭐ 默认 agent — 🔒 不可删除
- 模型: r730xd-vllm/kasimat-fp8
- Workspace: /data1/.openclaw/workspace
2. 🎓 xiaolaoshi(小老师)
- 模型: r730xd-vllm/kasimat-fp8
- Workspace: /data1/.openclaw/workspace-xiaolaoshi
回复编号来选择要删除的 agent,可多个(如 "2,3" 或 "2 3")。
展示:编号、emoji、agent ID、显示名称、模型、workspace。isDefault: true 的标注为默认且不可删。
本步禁止: 调用 delete、运行任何删除脚本、猜测要删哪个 agent。
完成标志: 已解析出 agent ID 列表,并进入第三步展示摘要。
等用户回复编号,解析为 agent ID 列表。
> 若用户选了 main:提示「main 是默认 agent,通常保留。确认要删除吗?」并等用户再次确认。
本步禁止: 执行删除或脚本。
完成标志: 用户已明确回复「确认」「是的」「删吧」等肯定语。
🗑️ 即将删除以下 Agent:
1. xiaolaoshi(小老师)🎓
- Workspace: /data1/.openclaw/workspace-xiaolaoshi
- Agent 目录: ~/.openclaw/agents/xiaolaoshi/
- 模型: r730xd-vllm/kasimat-fp8
⚠️ 删除后将:
- 从 openclaw.json 移除 agent 配置
- 将 workspace 和 agent 目录移到技能目录回收站 `{skillDir}/.trash/`
- 在 history.md 记录删除时间和回收站路径
确认删除?回复「确认」即可。
必须等用户确认后再进入第四步。
本步禁止: 任何 exec 删除操作。
完成标志: 脚本输出里出现全部阶段标记(见下方 checklist),且 exit code 为 0。
用户确认后,用 exec 只执行下面这一条(把 换成实际 ID,多个用空格分隔):
bash "$(find "$HOME/.openclaw" -maxdepth 5 -path "*/skills/agent-del/scripts/run-del.sh" -print -quit 2>/dev/null)" <agentId1> <agentId2>
> 为什么用 run-del.sh: 入口脚本与 agent-del.sh 同目录,find 到即可运行,不需要 dirname、xargs 或 ls scripts/。
ls、不要先单独 openclaw agents deleteopenclaw agents delete[1/5] 验证 agent 是否存在
[2/5] 移到回收站
[3/5] 执行删除命令
[3b/5] 清理残留目录
[4/5] 最终验证
[5/5] 删除完成
若缺少任一项 → 视为未完成,不要进入第五步,按失败流程处理。
完成标志: 已向用户汇报结果。
根据脚本输出告知:
openclaw agents list)openclaw gateway restart> history.md 已由脚本写入,Agent 不要再手动读写 history,除非走了手动回退。
# Agent 删除记录
## xiaolaoshi (🎓)
- **删除时间:** 2026-06-06 01:43:00 CST
- **Agent ID:** xiaolaoshi
- **显示名称:** 小老师
- **原 Workspace:** /data1/.openclaw/workspace-xiaolaoshi
- **原 Agent 目录:** ~/.openclaw/agents/xiaolaoshi
- **回收站 workspace:** {skillDir}/.trash/agent-xiaolaoshi-20260606-014300-workspace
- **回收站 agent dir:** {skillDir}/.trash/agent-xiaolaoshi-20260606-014300-agentdir
触发条件: run-del.sh 找不到、或 exit ≠ 0 且用户选择手动回退。
openclaw agents list --json 获取 workspace 路径```bash
SKILL_DIR=$(find "$HOME/.openclaw" -maxdepth 5 -path "*/skills/agent-del/SKILL.md" -print -quit 2>/dev/null | xargs dirname)
```
mkdir -p "$SKILL_DIR/.trash"mv "$SKILL_DIR/.trash/agent-{id}-$(date +%Y%m%d-%H%M%S)-workspace" agent/、sessions/、models.json): mv ~/.openclaw/agents/
openclaw agents delete --force $SKILL_DIR/history/history.md 追加记录test ! -d ~/.openclaw/agents/脚本兼容 Bash 3.2(macOS 默认)。执行时务必用 bash,不要用 sh。
推荐入口(与第四步相同):
bash "$(find "$HOME/.openclaw" -maxdepth 5 -path "*/skills/agent-del/scripts/run-del.sh" -print -quit 2>/dev/null)" <agentId>
openclaw agents delete 经 gateway 时有 bug:配置会从 openclaw.json 移除,但 CLI 可能提前 return,导致官方 trash 逻辑未执行。
Workaround: 脚本先 mv 到 {skillDir}/.trash/,再 openclaw agents delete,最后清理残留目录。
main 可列出,通常保留不删openclaw.json 的 bindings共 3 个版本