Agent Del — 删除 OpenClaw Agent
按照 OpenClaw 官方规范删除一个或多个 agent,使用 openclaw agents delete CLI 命令,自动将数据移到技能目录下的回收站({skillDir}/.trash/),并在 history.md 中记录删除详情和回收站路径。
流程
第一步:列出当前所有 agent
用 exec 执行:
openclaw agents list --json
解析 JSON 输出,给用户展示列表。main agent 也要列出,但标注为不可删除:
📋 当前已配置的 Agent:
1. 📜 main(管仲)— ⭐ 默认 agent — 🔒 不可删除
- 模型: r740-llama/qwen-aggr-nothink-normal
- Workspace: /data1/.openclaw/workspace
2. 🎓 xiaolaoshi(小老师)
- 模型: r740-llama/qwen-aggr-nothink-normal
- Workspace: /data1/.openclaw/workspace-xiaolaoshi
回复编号来选择要删除的 agent,可多个(如 "2,3" 或 "2 3")。
展示信息包括:编号、emoji、agent ID、显示名称(如有)、模型、workspace 路径。isDefault: true 的标注为默认 agent 且不可删除。
第二步:用户选择要删除的 agent
等用户回复编号,解析出对应的 agent ID 列表。
> 注意: 如果用户选了 main,提示 "main 是默认 agent,通常保留。确认要删除吗?"
第三步:展示待删除 agent 的基本信息并确认
根据用户选择的编号,从 JSON 数据中提取这些 agent 的关键信息,展示给用户:
🗑️ 即将删除以下 Agent:
1. xiaolaoshi(小老师)🎓
- Workspace: /data1/.openclaw/workspace-xiaolaoshi
- Agent 目录: ~/.openclaw/agents/xiaolaoshi/
- 模型: r740-llama/qwen-aggr-nothink-normal
⚠️ 删除后将:
- 从 openclaw.json 移除 agent 配置
- 将 workspace 和 agent 目录移到技能目录下的回收站 `{skillDir}/.trash/`
- 在 history.md 中记录删除时间和回收站路径
确认删除?回复"确认"即可。
等用户回复确认后,再进入下一步。
第四步:执行删除脚本
用户确认后,执行脚本:
{baseDir}/scripts/agent-del.sh <agentId1> <agentId2> ...
脚本会自动完成:
1. 再次用 openclaw agents list --json 确认这些 agent 是否存在,并获取 workspace/agentDir 路径
2. 先移到回收站(关键:先 mv 再 delete,保证数据完整):
- 将 workspace 目录 mv 到 {skillDir}/.trash/agent-{id}-{timestamp}-workspace/
- 将 agent 目录 mv 到 {skillDir}/.trash/agent-{id}-{timestamp}-agentdir/
3. 再执行 openclaw agents delete <id> --force(此时数据已在回收站)
4. 记录到 {baseDir}/history/history.md:
- 删除时间(精确到秒)
- agent ID、显示名称
- 原 workspace 和 agent 目录路径
- 回收站中的实际路径
5. 最终用 openclaw agents list 验证删除结果
第五步:完成提示
脚本执行完成后,告诉用户:
> ✅ 以下 Agent 已删除:
>
> - {agentId1}({name1})→ 回收站: {skillDir}/.trash/agent-{id}-{timestamp}-
> - {agentId2}({name2})→ 回收站: {skillDir}/.trash/agent-{id}-{timestamp}-
>
> 注意事项:
> - 原数据已移到回收站,如需恢复可手动从 {skillDir}/.trash/ 移回
> - 如果这些 agent 之前绑定了 channel,请检查 openclaw.json 中的 bindings 配置
> - 如需立即生效,运行 openclaw gateway restart
history.md 记录格式
# 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
已知 Bug
openclaw agents delete 通过 gateway 执行时有一个 bug:gateway 删除了 openclaw.json 中的 agent 配置,但 CLI 提前 return,导致 moveToTrash(workspaceDir)、moveToTrash(agentDir)、moveToTrash(sessionsDir) 未执行。
脚本中先 mv 把数据移到 {skillDir}/.trash/(保证数据完整),再执行 openclaw agents delete,作为 workaround。回收站放在技能目录下,避免 ~/.Trash/ 可能的权限问题。
注意事项
mainagent 可以出现在列表中,但通常保留不删- 删除后数据在回收站中,不是永久删除,可恢复
- 如果 agent 绑定了 channel,需手动清理 bindings 配置