公开文件读取

August 24, 2026 · View on GitHub

读取 Skill 某个版本内的文件列表和单个文件内容,适合做文件树浏览、代码查看器、文档预览。

通用约定见 README.md


文件列表

GET /api/v1/skills/{slug}/files

返回某版本的全部文件,含路径、大小和 SHA256。

参数

位置参数类型必填默认值说明
pathslugstringSkill 唯一标识
queryversionstring最新版本版本号,不传取最新版本

示例

# 最新版本
curl "$SKILLHUB_BASE_URL/api/v1/skills/find-skill-skillhub/files"

# 指定版本
curl "$SKILLHUB_BASE_URL/api/v1/skills/find-skill-skillhub/files?version=1.0.2"

响应

{
  "files": [
    { "path": "SKILL.md", "size": 2048, "sha256": "a1b2c3d4e5f6..." },
    { "path": "references/api.md", "size": 512, "sha256": "d4e5f6a7b8c9..." }
  ],
  "count": 2,
  "version": "1.0.2"
}
字段类型说明
files[].pathstring文件相对路径
files[].sizeint文件大小(字节)
files[].sha256string文件内容的 SHA256
countint文件总数
versionstring实际返回的版本号

错误码

状态码error说明
400missing slug未提供 slug
404skill not foundSkill 不存在或不公开可见
404version not found or no files版本不存在或该版本无文件

单文件内容

GET /api/v1/skills/{slug}/file

返回 302 重定向 到对象存储地址,由客户端直接拉取内容。

参数

位置参数类型必填默认值说明
pathslugstringSkill 唯一标识
querypathstring文件相对路径,如 SKILL.md
queryversionstring最新版本版本号

示例

# 跟随重定向拿到文件内容
curl -L "$SKILLHUB_BASE_URL/api/v1/skills/find-skill-skillhub/file?path=SKILL.md"

# 指定版本
curl -L "$SKILLHUB_BASE_URL/api/v1/skills/find-skill-skillhub/file?path=references/api.md&version=1.0.2"

# 只看重定向响应头
curl -i "$SKILLHUB_BASE_URL/api/v1/skills/find-skill-skillhub/file?path=SKILL.md"

响应

302 Found,响应头带文件元信息:

Header说明
Location文件直链地址
Cache-Control版本发布后文件不可变,可长期缓存
X-Content-SHA256文件内容的 SHA256
X-Content-Size文件大小(字节)

限制

单文件预览上限 1MB,超过返回 413。需要完整内容请用 下载接口 取 zip 包。

错误码

状态码error说明
400missing slug未提供 slug
400missing path parameter未提供 path
404skill not foundSkill 不存在或不公开可见
404version not found or no files版本不存在或该版本无文件
404file not found文件不存在
413file too large for preview (max 1MB)文件超过 1MB

典型场景:文件浏览器

# 1. 取版本列表,做版本选择器
curl "$SKILLHUB_BASE_URL/api/v1/skills/find-skill-skillhub/versions"

# 2. 取该版本文件列表,渲染文件树
curl "$SKILLHUB_BASE_URL/api/v1/skills/find-skill-skillhub/files?version=1.0.2"

# 3. 用户点开某个文件,拉取内容
curl -L "$SKILLHUB_BASE_URL/api/v1/skills/find-skill-skillhub/file?path=SKILL.md&version=1.0.2"

文件列表里的 sha256 可用作前端缓存 key:版本发布后文件不可变,sha256 不变即内容不变。