导入技能包

导入技能 ZIP 包及其中的静态文件,并创建版本 1 的活动技能。可以用表单字段覆盖包内清单的名称、描述、分类和标签。

POST https://moi.matrixorigin.cn/newmoi/workspaces/{workspace_id}/skills/import

调用前准备

检查技能包确认包格式通过校验。准备有目标工作区访问权限的个人访问令牌、目标工作区 ID 和本地技能包文件。

下方示例使用:

  • $AI_STUDIO_API_KEY:实际个人访问令牌,通过 X-API-Key Header 传递。

  • $WORKSPACE_ID:要导入技能的工作区 ID,通过 X-Workspace-ID Header 传递。

该接口的请求类型为 multipart/form-data;示例使用 curl -F 提交文件,不要添加 Content-Type: application/json

路径参数

参数

类型

是否必填

说明

workspace_id

string

当前工作区 ID。

表单字段

字段

类型

是否必填

说明

file

file

.zip 格式的技能包,必须通过检查技能包所述格式校验。

name

string

覆盖 SKILL.md 中的对应元数据;未提供时使用包内值。

description

string

覆盖 SKILL.md 中的对应元数据;未提供时使用包内值。

category

string

覆盖 SKILL.md 中的对应元数据;未提供时使用包内值。

tags

string

JSON 字符串数组,例如 ["摘要","文本处理"];提供后替换包内标签。

请求示例

curl -X POST "https://moi.matrixorigin.cn/newmoi/workspaces/$WORKSPACE_ID/skills/import" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -F "file=@./skill-package.zip" \
  -F 'tags=["摘要","文本处理"]'

成功响应

成功时返回 201。静态文件随导入结果保存;后续技能版本更新不会使这些文件自动回到历史版本。

{
  "code": 0,
  "data": {
    "skill": {
      "id": "skill_01",
      "workspace_id": "ws_01",
      "name": "摘要技能",
      "description": "总结输入内容。",
      "status": "active",
      "source_type": "custom",
      "source_ref": "skill_package:sha256:abc123",
      "version": 1
    },
    "files": [
      {
        "file_path": "SKILL.md",
        "file_kind": "manifest",
        "media_type": "text/markdown",
        "sha256": "abc123",
        "size_bytes": 512
      }
    ],
    "warnings": []
  }
}

响应字段如下。

字段

类型

说明

code

integer

成功时为 0

data.skill

object

新建的技能;statusactiveversion1

data.skill.source_ref

string

指向导入压缩包摘要的技能包来源引用。

data.files

array

已保存的静态文件元数据。

data.warnings

string(字符串数组)

非阻塞导入警告。

错误响应

{
  "code": 2,
  "message": "<错误信息>",
  "details": {
    "reason": "SKILL_PACKAGE_INVALID_ZIP"
  }
}

常见 HTTP 错误

HTTP 状态码

错误代码

常见原因

建议操作

400

2INVALID_ARGUMENT

包格式、清单、表单 tags 或导入后技能定义无效。

根据 details.reason 修正包或表单字段。

413

14RESOURCE_EXHAUSTED

压缩包或解压后的内容超出大小限制。

缩小包体或移除不需要的文件。

401

6UNAUTHENTICATED

缺少有效身份凭据。

检查 API Key。

403

5PERMISSION_DENIED

当前身份没有导入技能包的权限。

检查工作区授权。

503

15UNAVAILABLE

技能包存储或授权依赖暂不可用。

稍后重试。

后续操作

使用返回的技能 ID 查询技能文件下载技能文件

最后更新于