检查技能包

校验并预览待导入的技能 ZIP 包,不创建技能或保存文件。通过检查只表示包符合导入格式,仍需调用导入接口创建技能。

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

调用前准备

准备有目标工作区访问权限的个人访问令牌、目标工作区 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

压缩包必须包含且仅包含一个 SKILL.md。该文件可位于压缩包根目录,或唯一的顶层目录中;其 YAML frontmatter 必须包含 namedescription,正文必须为非空指令内容。

路径参数

参数

类型

是否必填

说明

workspace_id

string

当前工作区 ID。

表单字段

字段

类型

是否必填

说明

file

file

.zip 格式的技能包。压缩包最大 50 MiB,解压后总大小最大 100 MiB;最多 500 个条目,单个文件最大 10 MiB。

请求示例

curl -X POST "https://moi.matrixorigin.cn/newmoi/workspaces/$WORKSPACE_ID/skills/import/inspect" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -F "file=@./skill-package.zip"

成功响应

成功时返回 200 和包预览。包含脚本文件时,warnings 会包含 SKILL_PACKAGE_SCRIPTS_NOT_EXECUTABLE

{
  "code": 0,
  "data": {
    "name": "摘要技能",
    "description": "总结输入内容。",
    "category": "文本处理",
    "tags": ["摘要"],
    "instruction": "总结用户提供的内容。",
    "files": [
      {
        "file_path": "SKILL.md",
        "file_kind": "manifest",
        "media_type": "text/markdown",
        "sha256": "abc123",
        "size_bytes": 512
      }
    ],
    "warnings": [],
    "archive_digest": "sha256:abc123"
  }
}

响应字段如下。

本文中,字段路径中的 [] 表示数组中的每一项。例如,items[].name 表示 items 数组中每一项的 name 字段。

字段

类型

说明

code

integer

成功时为 0

data.name

string

从技能包清单读取的技能元数据。

data.description

string

从技能包清单读取的技能元数据。

data.category

string

从技能包清单读取的技能元数据。

data.tags

string(字符串数组)

从技能包清单读取的技能元数据。

data.instruction

string

SKILL.md 的指令正文。

data.files

array

包内文件元数据。

data.files[].file_path

string

相对路径、文件类别和媒体类型。

data.files[].file_kind

string

相对路径、文件类别和媒体类型。

data.files[].media_type

string

相对路径、文件类别和媒体类型。

data.files[].sha256

string

文件内容摘要和大小。

data.files[].size_bytes

integer

文件内容摘要和大小。

data.warnings

string(字符串数组)

非阻塞警告。

data.archive_digest

string

上传压缩包的 SHA-256 摘要。

错误响应

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

常见 HTTP 错误

HTTP 状态码

错误代码

常见原因

建议操作

400

2INVALID_ARGUMENT

ZIP 格式、目录结构、SKILL.md、frontmatter 或路径不符合要求。

根据 details.reason 修正技能包后重试。

413

14RESOURCE_EXHAUSTED

压缩包超过 50 MiB,或解压后总大小超过 100 MiB。

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

401

6UNAUTHENTICATED

缺少有效身份凭据。

检查 API Key。

403

5PERMISSION_DENIED

当前身份没有检查技能包的权限。

检查工作区授权。

503

15UNAVAILABLE

技能服务或授权依赖暂不可用。

稍后重试。

后续操作

完成后查询技能详情确认当前状态。

最后更新于