mirror of
https://git.openapi.site/https://github.com/desirecore/market.git
synced 2026-04-21 14:50:49 +08:00
按照 desirecore-format.md 规范,为以下 skill 添加标准分层结构: - docx (1.0.0→1.0.1), pdf (1.0.0→1.0.1), pptx (1.0.0→1.0.1), xlsx (1.0.0→1.0.1) - frontend-design (1.0.0→1.0.1), mail-operations (1.0.0→1.0.1) - environment-setup (1.1.0→1.1.1), web-access (1.1.0→1.1.1) - manage-teams (1.2.0→1.2.1) 每个文件增加 L0(一句话摘要)、L1(概述与使用场景)、L2(详细规范)三层, 原有技术内容保持不变,metadata.updated_at 更新为 2026-04-13。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
9.0 KiB
9.0 KiB
name, description, version, type, risk_level, status, disable-model-invocation, tags, metadata, market
| name | description | version | type | risk_level | status | disable-model-invocation | tags | metadata | market | |||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 删除智能体 | 安全删除指定的智能体及其关联数据。删除前会验证智能体状态,支持可选地删除所有会话历史。Use when 用户需要删除不再使用的智能体。 | 2.4.1 | meta | high | enabled | false |
|
|
|
delete-agent 技能
L0:一句话摘要
安全删除指定的智能体及其关联数据,包括文件系统、内存状态和可选的会话历史。
L1:概述与使用场景
能力描述
delete-agent 是一个元技能(Meta-Skill),赋予 DesireCore 安全删除其他智能体的能力。它会执行完整的前置检查、状态验证,并清理所有关联数据。
使用场景
- 用户想要清理不再使用的智能体
- 删除测试或实验性质的临时智能体
- 释放存储空间,删除旧智能体及其历史记录
- 用户明确要求"删除"、"移除"某个智能体
核心价值
- 安全性:多重检查确保不会误删活跃智能体
- 完整性:清理文件系统、内存状态、消息订阅等所有关联数据
- 可恢复性:默认保留会话历史,可选择是否删除
L2:详细规范
执行流程
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 列出可选 │ ──→ │ 确认意图 │ ──→ │ 询问选项 │
│ 智能体 │ │ 与目标 │ │ (删除历史?) │
└──────────────┘ └──────────────┘ └──────────────┘
│
↓
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 返回结果 │ ←── │ 执行删除 │ ←── │ 最终确认 │
│ 与回执 │ │ API 调用 │ │ │
└──────────────┘ └──────────────┘ └──────────────┘
阶段 1:列出可删除的智能体
触发条件:用户表达删除意图但未指定具体智能体
操作:
- 调用
GET /api/agents获取所有智能体列表 - 筛选出状态为
offline或error的智能体(可安全删除) - 标注出
online/busy/recovery状态的智能体(需先停止)
输出示例:
可删除的智能体:
1. 法律顾问助手 (legal-assistant) - 状态: offline
2. 测试机器人 (test-bot) - 状态: offline
当前活跃的智能体(需先停止才能删除):
- 数据分析师 (data-analyst) - 状态: online
阶段 2:确认用户意图与目标
确认要点:
- 用户指定的智能体名称/ID
- 明确告知删除操作不可恢复
- 展示智能体基本信息供用户确认
对话示例:
您要删除智能体 "法律顾问助手" (legal-assistant)。
⚠️ 警告:此操作不可恢复,该智能体的所有配置、技能、工具将被永久删除。
确认删除?(是/否)
阶段 3:询问删除选项
询问内容:
是否同时删除该智能体的所有会话历史?
- 是:删除智能体及其所有对话记录
- 否:保留会话历史,仅删除智能体本身
默认选项:否(保留历史)
参数映射:
- 用户选择"是" →
deleteRuns=true - 用户选择"否" →
deleteRuns=false(默认)
阶段 4:最终确认
确认摘要:
请确认删除操作:
- 目标智能体:法律顾问助手 (legal-assistant)
- 删除范围:智能体 + 会话历史(如用户选择)
- 风险等级:高(不可恢复)
确认执行删除?(是/否)
阶段 5:执行删除 API 调用
API 端点:DELETE /api/agents/{agentId}
查询参数:
deleteRuns:'true'或'false'
请求示例:
curl -X DELETE "{agentServiceUrl}/api/agents/legal-assistant?deleteRuns=true"
{agentServiceUrl}取自 system prompt「本机 API」小节中的 Agent Service 地址。
阶段 6:返回操作结果
成功响应处理:
{
"deleted": true,
"cleanedPaths": [
"/Users/xxx/.desirecore/agents/legal-assistant",
"/Users/xxx/.desirecore/users/xxx/agents/legal-assistant"
],
"deletedRunsCount": 5,
"memoryCleaned": {
"scheduler": true,
"queue": 0,
"messaging": 3,
"mcp": true
}
}
结果报告模板:
✅ 智能体 "法律顾问助手" 已成功删除
清理详情:
- 文件系统:已删除 2 个目录
- 调度器:已停止所有定时任务
- 消息订阅:已取消 3 个订阅
- MCP 连接:已关闭
- 会话历史:已删除 5 条记录
状态验证与错误处理
删除前状态检查
在阶段 1 列出智能体时,通过 GET /api/agents 筛选状态:
| 状态 | 可否删除 | 阶段 1 展示方式 |
|---|---|---|
offline / error |
✅ 可删除 | 列入"可删除"列表 |
online / busy / recovery |
❌ 需先停止 | 标注"需先停止",不进入后续流程 |
停止活跃智能体的方式:通过 Socket.IO 发送 agent:shutdown 事件:
事件: agent:shutdown
数据: { 'agentId': '<agent_id>' }
效果: 中止所有活跃会话 → 停止调度任务 → 状态转为 offline
Agent 无法直接发送 Socket.IO 事件。如果目标智能体处于活跃状态,应提示用户在 UI 中手动停止,或等待其完成当前任务后再删除。
API 错误码
| 错误码 | 场景 | 处理方式 |
|---|---|---|
| 400 | Agent ID 格式无效 | 提示用户检查智能体名称 |
| 404 | 智能体不存在 | 告知用户智能体已被删除或 ID 错误 |
| 409 | 智能体处于活跃状态(API 返回 Cannot delete agent "xxx": currently online) |
提示用户先在 UI 中停止智能体 |
| 500 | 服务器内部错误 | 提示用户稍后再试 |
删除范围说明
| 类别 | 删除内容 | 条件 |
|---|---|---|
| 始终删除 | AgentFS 目录(配置、人格、规则、技能、工具、记忆)、用户偏好数据、内存状态(调度器、队列、消息订阅、MCP 连接)、注册表条目 | 无条件 |
| 可选删除 | 会话历史、话题索引 | deleteRuns=true |
| 保留不删 | 其他智能体数据、用户配置、全局设置、市场缓存 | — |
权限要求
- 建议优先通过
Bash工具调用 curl 访问 Agent Service HTTP API 完成操作 - API 基础地址已注入到 system prompt 的「本机 API」小节,直接引用即可
- 删除操作需要用户显式确认(高风险操作)
依赖
- Agent Service HTTP API(
DELETE /api/agents/{agentId}) - System prompt 中的本机 API 地址声明