Skill 深度检测接口
更新时间:2026-09-22
上传 zip 文件检测
上传 zip 文件触发异步扫描任务。客户端通过批量任务查询接口(tasks/batch)获取最终结果。
Plain Text
1POST /v3/skill/security/upload
- 是否计费:计费(
Skillscanpro,6 元/次,一次上传一个 zip = 1 次)。 - 对同一 Skill 重复提交深度检测会重复计费(不因此前是否检测过而免除),本次调用按 6 元/次计,请自行去重。
请求参数(Request Body · multipart/form-data)
| 参数名 | 类型 | 是否必需 | 说明 |
|---|---|---|---|
| file | file | 必需 | skill zip 包,文件后缀必须为.zip,最大 200MB |
| slug | string | 可选 | skill slug,最大 255 字符 |
| version | string | 可选 | 版本号,便于结果归档查询,最大 128 字符 |
| source | string | 可选 | 市场来源标记,如openclaw-mirror,最大 64 字符;为空时按默认源 openclaw 处理 |
| submitter | string | 可选 | 提交人标识(用户名或 ID) |
source与submitter仅用于结果归档与来源标记,不参与身份识别、数据隔离与计费主体判定。这三件事一律以 AK/SK 验签得到的账号为准,请求体或 Header 中携带的任何身份类字段都会被忽略。
请求示例
Plain Text
1POST /v3/skill/security/upload
2Content-Type: multipart/form-data
3
4file=@my-skill-1.0.2.zip
5slug=my-skill
6version=1.0.2
7source=openclaw
8submitter=alice
提交响应(HTTP 202)
接口立即返回 task_id,不等待扫描完成。
JSON
1{
2 "code": "success",
3 "message": "success",
4 "ts": 1773822833794,
5 "data": {
6 "task_id": "upload-v3-550e8400-e29b-41d4-a716-446655440000",
7 "status": "pending",
8 "created_at": 1773822833000
9 }
10}
拿到 task_id 后调用 /v3/skill/security/tasks/batch 查看结果。
批量提交 URL 检测
批量传入 skill zip 包下载地址触发异步扫描任务。任务创建后异步下载并扫描,稍后通过批量查询接口(tasks/batch)获取结果。
Plain Text
1POST /v3/skill/security/scan/batch
- 是否计费:计费(
Skillscanpro,6 元/次,每个成功的 skill 计 1 次)。 - 不做同批次 URL 去重:一个请求里传 N 次同一
source_url会创建 N 条独立任务,全部成功即计 N 次。请自行去重。
请求参数(Request Body · JSON)
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| tasks | array | 必填 | 待扫描任务列表,最少 1 条,最多 100 条 |
| tasks[].source_url | string | 必填 | skill zip 包下载地址(HTTP/HTTPS),最大 2000 字符 |
| tasks[].slug | string | 可选 | skill slug,最大 255 字符 |
| tasks[].version | string | 可选 | 版本号,最大 128 字符 |
| tasks[].source | string | 可选 | 市场来源标记,最大 64 字符;为空时按默认源openclaw 处理 |
| tasks[].submitter | string | 可选 | 提交人标识(用户名或 ID) |
source/submitter仅用于归档与来源标记,不参与身份、隔离与计费判定;一律以 AK/SK 验签账号为准。
请求示例
JSON
1{
2 "tasks": [
3 {
4 "source_url": "https://cdn.openclaw.com/skills/my-skill-1.0.2.zip",
5 "slug": "my-skill",
6 "version": "1.0.2",
7 "source": "openclaw",
8 "submitter": "alice"
9 },
10 {
11 "source_url": "https://cdn.openclaw.com/skills/other-skill-2.0.0.zip",
12 "slug": "other-skill",
13 "version": "2.0.0"
14 }
15 ]
16}
提交响应(HTTP 202)
JSON
1{
2 "code": "success",
3 "message": "success",
4 "ts": 1773822833794,
5 "data": {
6 "tasks": [
7 {
8 "task_id": "url-v3-550e8400-e29b-41d4-a716-446655440000",
9 "source_url": "https://cdn.openclaw.com/skills/my-skill-1.0.2.zip",
10 "status": "pending",
11 "created_at": 1773822833000
12 },
13 {
14 "task_id": "url-v3-650e8400-e29b-41d4-a716-446655440001",
15 "source_url": "https://cdn.openclaw.com/skills/other-skill-2.0.0.zip",
16 "status": "pending",
17 "created_at": 1773822833000
18 }
19 ]
20 }
21}
data.tasks 条数恒等于请求 tasks 条数、顺序一一对应,可按下标与请求项对齐。创建后调用 /v3/skill/security/tasks/batch 批量轮询状态。
评价此篇文章
