检查技能包¶
校验并预览待导入的技能 ZIP 包,不创建技能或保存文件。通过检查只表示包符合导入格式,仍需调用导入接口创建技能。
POST https://moi.matrixorigin.cn/newmoi/workspaces/{workspace_id}/skills/import/inspect
调用前准备¶
准备有目标工作区访问权限的个人访问令牌、目标工作区 ID 和本地技能包文件。
下方示例使用:
$AI_STUDIO_API_KEY:实际个人访问令牌,通过X-API-KeyHeader 传递。$WORKSPACE_ID:目标工作区 ID,通过X-Workspace-IDHeader 传递。
该接口的请求类型为 multipart/form-data;示例使用 curl -F 提交文件,不要添加 Content-Type: application/json。
压缩包必须包含且仅包含一个 SKILL.md。该文件可位于压缩包根目录,或唯一的顶层目录中;其 YAML frontmatter 必须包含 name 和 description,正文必须为非空指令内容。
路径参数¶
参数 |
类型 |
是否必填 |
说明 |
|---|---|---|---|
|
string |
是 |
当前工作区 ID。 |
表单字段¶
字段 |
类型 |
是否必填 |
说明 |
|---|---|---|---|
|
file |
是 |
|
请求示例¶
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 字段。
字段 |
类型 |
说明 |
|---|---|---|
|
integer |
成功时为 |
|
string |
从技能包清单读取的技能元数据。 |
|
string |
从技能包清单读取的技能元数据。 |
|
string |
从技能包清单读取的技能元数据。 |
|
string(字符串数组) |
从技能包清单读取的技能元数据。 |
|
string |
|
|
array |
包内文件元数据。 |
|
string |
相对路径、文件类别和媒体类型。 |
|
string |
相对路径、文件类别和媒体类型。 |
|
string |
相对路径、文件类别和媒体类型。 |
|
string |
文件内容摘要和大小。 |
|
integer |
文件内容摘要和大小。 |
|
string(字符串数组) |
非阻塞警告。 |
|
string |
上传压缩包的 SHA-256 摘要。 |
错误响应¶
{
"code": 2,
"message": "<错误信息>",
"details": {
"reason": "SKILL_PACKAGE_INVALID_ZIP"
}
}
常见 HTTP 错误¶
HTTP 状态码 |
错误代码 |
常见原因 |
建议操作 |
|---|---|---|---|
|
|
ZIP 格式、目录结构、 |
根据 |
|
|
压缩包超过 50 MiB,或解压后总大小超过 100 MiB。 |
缩小包体或移除不需要的文件。 |
|
|
缺少有效身份凭据。 |
检查 API Key。 |
|
|
当前身份没有检查技能包的权限。 |
检查工作区授权。 |
|
|
技能服务或授权依赖暂不可用。 |
稍后重试。 |
后续操作¶
完成后查询技能详情确认当前状态。