Agent Del

Other

按照 OpenClaw 官方规范删除一个或多个 agent(代理),自动完成列表展示、确认、执行删除、移到回收站及历史记录。

Install

openclaw skills install agent-del

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. 对每个 agent 执行 openclaw agents delete <id> --force
  3. 移到回收站(已知 bug workaround):
    • 将 workspace 目录 mv{skillDir}/.trash/agent-{id}-{timestamp}-workspace/
    • 将 agent 目录 mv{skillDir}/.trash/agent-{id}-{timestamp}-agentdir/
  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/ 作为 workaround,避免 ~/.Trash/ 可能的权限问题。

注意事项

  • main agent 可以出现在列表中,但通常保留不删
  • 删除后数据在回收站中,不是永久删除,可恢复
  • 如果 agent 绑定了 channel,需手动清理 bindings 配置