From a0c72faa271831b7d41c05d43a96d50cd497919a Mon Sep 17 00:00:00 2001 From: Linghong Date: Tue, 1 Sep 2026 07:47:50 +0000 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3DirectProject=E6=89=A9?= =?UTF-8?q?=E5=B1=95=E5=AF=BC=E5=85=A5DTO=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新导入结果为实际 camelCase 字段与完整扩展项结构 明确未知内容通过 imported 中的 extensionType=unknown 项返回 --- ...roject客户端Skill与MCP扩展导入方案-2026-08-31.md | 35 +++++++++++++++---- 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/docs/technical/【技术方案】DirectProject客户端Skill与MCP扩展导入方案-2026-08-31.md b/docs/technical/【技术方案】DirectProject客户端Skill与MCP扩展导入方案-2026-08-31.md index 9fad4995c..e20af1252 100644 --- a/docs/technical/【技术方案】DirectProject客户端Skill与MCP扩展导入方案-2026-08-31.md +++ b/docs/technical/【技术方案】DirectProject客户端Skill与MCP扩展导入方案-2026-08-31.md @@ -367,17 +367,40 @@ remove_client_extension(id) 不新增按类型分开的安装接口。导入接口返回拆分后的多个独立项: -```text +```json { - imported: [ - { id, type: "skill", name: "art-skill" }, - { id, type: "skill", name: "code-skill" }, - { id, type: "mcp", name: "search" } + "imported": [ + { + "id": "extension-...", + "name": "art-skill", + "originalName": "art-skill", + "extensionType": "skill", + "sourceName": "bundle.zip", + "sourceRelativePath": "skills/art/SKILL.md", + "enabled": true, + "status": "enabled", + "lastError": null + }, + { + "id": "extension-...", + "name": "search", + "originalName": "search", + "extensionType": "mcp", + "sourceName": "bundle.zip", + "sourceRelativePath": "mcp.json", + "enabled": true, + "status": "enabled", + "lastError": null + } ], - unknown: false + "sourceName": "bundle.zip", + "renamed": false, + "duplicate": false } ``` +以上是 Tauri command 对外返回的 camelCase DTO。未识别内容不会生成顶层 `unknown` 字段,而是作为 `imported` 中的一项返回,其 `extensionType` 为 `"unknown"`、`enabled` 为 `false`、`status` 为 `"unknown"`。 + 前端不直接处理 Skill root 路径、MCP command 或 zip staging 路径;这些属于客户端后端和 DirectProject 启动适配层。 ## 10. 分阶段实施与验收