feat(skills): 智能体 CRUD 四技能改经 ManageAgent 内置工具(实例鉴权适配) (#52)

## 摘要 / Summary

### 中文

主仓库 desirecore#1225 新增 `ManageAgent` 内置工具后,智能体 CRUD 四技能从"调本机 HTTP
API/curl"改写为调用该工具(实例鉴权上线后 Agent 直接访问本机 API 会 401):

- **create-agent 2.5.0**:`POST /api/agents` →
`ManageAgent(action='create', ...)`;补充保留标识(core/desirecore)拒创、config 仅允许
llm 白名单的错误处理
- **delete-agent 2.5.0**:`DELETE /api/agents/:id` →
`action='delete'`(工具层强制用户确认);错误处理改为工具拒绝语义(核心智能体/自删/活跃状态);补团队级联说明
- **discover-agent 2.6.0**:`GET /api/agents(/:id)` →
`action='list'/'get'`
- **update-agent
3.1.0**:结构化字段(name/description/llm/persona/principles)改经
`action='update'`(白名单+schema 校验+字段级合并语义),自由格式文件仍 Read/Write

四技能声明 `market.required_client_version:
10.0.90`,老客户端在市场端被门控禁装。中英双语正文同步改写,i18n source_hash 已重算(validate-i18n.py
通过);manifest 1.2.10。

### English

After desirecore#1225 shipped the `ManageAgent` builtin tool, the four
agent-CRUD skills are rewritten from local-HTTP-API/curl instructions to
tool calls (direct local API access now returns 401 under instance
auth). Each skill declares `market.required_client_version: 10.0.90` so
older clients are gated from installing. Both locales are rewritten in
sync and i18n source hashes recomputed (validate-i18n.py passes);
manifest bumped to 1.2.10.

主仓库回填:合并后将在 desirecore 主仓库执行 `npm run sync-market` 生成新的
defaults/market.zip 并单独提 PR。
This commit is contained in:
2026-07-18 23:05:18 +08:00
committed by GitHub
parent ea07d05550
commit 1c00b8e6c8
13 changed files with 524 additions and 408 deletions

View File

@@ -4,13 +4,13 @@
## L0一句话摘要
通过自然语言对话收集需求,调用 HTTP API 创建专业化的数字智能体。
通过自然语言对话收集需求,调用 ManageAgent 内置工具创建专业化的数字智能体。
## L1概述与使用场景
### 能力描述
create-agent 是一个**元技能Meta-Skill**,赋予 DesireCore 创建其他 Agent 的能力。它通过多轮对话收集用户需求,生成 persona 和 principles 内容,调用 `POST /api/agents` 完成创建。
create-agent 是一个**元技能Meta-Skill**,赋予 DesireCore 创建其他 Agent 的能力。它通过多轮对话收集用户需求,生成 persona 和 principles 内容,调用 `ManageAgent` 内置工具完成创建。
### 使用场景
@@ -35,7 +35,7 @@ create-agent 是一个**元技能Meta-Skill**,赋予 DesireCore 创建
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 回执生成 │ ←── │ API 创建 │ ←── │ 用户确认 │
│ 回执生成 │ ←── │ 工具创建 │ ←── │ 用户确认 │
└──────────────┘ └──────────────┘ └──────────────┘
```
@@ -150,14 +150,13 @@ create-agent 是一个**元技能Meta-Skill**,赋予 DesireCore 创建
4. 更新预览中的对应字段
5. 再次展示完整预览 → 重新进入确认流程
### 阶段 5调用 API 创建
### 阶段 5调用 ManageAgent 创建
**API 端点**`POST /api/agents`
**工具调用**(结构化格式):
**请求体**(结构化格式):
```json
{
```
ManageAgent({
"action": "create",
"name": "法律顾问小助手",
"description": "专注于合同审查和法律风险评估的数字智能体",
"persona": {
@@ -176,43 +175,33 @@ create-agent 是一个**元技能Meta-Skill**,赋予 DesireCore 创建
"priority": "用户安全 > 准确性 > 效率"
}
}
}
})
```
**最简创建**(只需 name其余全部自动生成
```json
{ "name": "我的助手" }
```
ManageAgent({ "action": "create", "name": "我的助手" })
```
**基础创建**name + descriptiondescription 自动填充 persona L0
```json
{ "name": "法律顾问", "description": "专注合同审查" }
```
ManageAgent({ "action": "create", "name": "法律顾问", "description": "专注合同审查" })
```
所有未提供的字段由系统自动补全为合理默认值。`persona``principles` 也支持传入原始 markdown 字符串(向后兼容)。
**可选**如需指定 slug ID可根据 name 生成合理的 kebab-case slug如 "法律顾问" → "legal-advisor"),在请求体中附带 `"id": "<slug>"`。不指定时系统会自动从 name 生成。
**可选参数**
**成功响应** (`201 Created`)
- `id`:指定 kebab-case slug ID如 "法律顾问" → "legal-advisor")。不指定时系统会自动从 name 生成。注意 `core` / `desirecore` 是核心智能体保留标识,不可使用(包括 name 自动生成命中的情况)。
- `config`agent.json 配置增量,仅允许 `llm` 字段模型、温度等mcp_servers/tool_permissions 等敏感配置会被拒绝,需在创建后经配置界面调整。
```json
{
"success": true,
"agentId": "fa-lv-gu-wen-xiao-zhu-shou",
"agent": {
"id": "fa-lv-gu-wen-xiao-zhu-shou",
"name": "法律顾问小助手",
"description": "专注于合同审查和法律风险评估的数字智能体",
"skillsCount": 0,
"toolsCount": 0,
"status": "offline"
}
}
```
**成功返回**
响应中的 `agent` 字段包含创建后的智能体完整信息,可直接用于回执展示
> 智能体「法律顾问小助手」已创建 (ID: fa-lv-gu-wen-xiao-zhu-shou),已注册可用。可直接用于 ManageTeam 组队或 Delegate 委派
创建完成后智能体立即注册在线,无需等待或刷新;返回的 ID 可直接用于后续 ManageTeam / Delegate 调用。
### 阶段 6回执生成
@@ -234,19 +223,18 @@ create-agent 是一个**元技能Meta-Skill**,赋予 DesireCore 创建
### 错误处理
| 错误码 | 场景 | 处理方式 |
| ------ | ------------------------ | ---------------- |
| 400 | 缺少 name 或 ID 格式无效 | 提示用户检查输入 |
| 409 | Agent ID 已存在 | 建议使用其他名称 |
| 500 | 服务器内部错误 | 提示用户稍后再试 |
| 错误场景 | 处理方式 |
| -------------------------------- | ------------------------------ |
| 缺少 name 或 ID 格式无效 | 提示用户检查输入 |
| Agent ID 已存在already exists| 建议使用其他名称或指定其他 id |
| ID 命中核心智能体保留标识 | 更换名称或显式提供其他 id |
| config 含白名单外字段 | 仅保留 llm 字段后重试 |
### 权限要求
- 建议优先通过 `Bash` 工具调用 curl 访问 Agent Service HTTP API 完成操作
- API 基础地址已注入到 system prompt 的「本机 API」小节直接引用即可
- 创建操作需要用户确认
- 一律通过 `ManageAgent` 内置工具完成创建,**禁止**调用本机 HTTP API、curl 或直接写 AgentFS 目录
- create 操作免系统审批,但本技能的对话流程仍要求先向用户展示预览并获得确认(阶段 4
### 依赖
- Agent Service HTTP API`POST /api/agents`
- System prompt 中的本机 API 地址声明
- `ManageAgent` 内置工具(客户端 ≥ 10.0.90