API 文档

图灵工坊对外开放 API,无需 API Key,匿名访问,返回 JSON 格式。

基础信息

Base URLhttps://aituring.com/api
请求方式GET
响应格式JSON(UTF-8,Content-Type: application/json
鉴权无(匿名访问)
默认排序download_count 倒序(下载量优先)
分页上限size 最大 10

状态码

响应体的 code 字段采用 HTTP 风格状态码:

code含义
200请求成功
400客户端错误:参数缺失、格式错误
404资源不存在(如 slug 未找到)
429请求过频:触发单 IP 下载防刷阈值(10 次/分钟)
500服务端异常(罕见,已捕获堆栈不外泄)

2. 按 Slug 查询

根据站内唯一 Slug 查询单个技能详情。

请求
GET /api/skill?slug=<slug>

参数:

参数必填说明
slug站内唯一 Slug,从搜索接口或技能详情页 URL 获取

请求示例:

curl 'https://aituring.com/api/skill?slug=skill-creator'

成功响应(code: 200):

{ "code": 200, "data": { "skill_key": "skill-creator", "slug": "skill-creator", "name": "技能创建器", "short_description": "帮助快速创建、打包和发布 AI 技能包", "latest_version": { "version": "1.2.0", "zip_url": "https://aituring.com/api/download?slug=skill-creator", "published_at": "2026-06-15 10:23:00" } } }

参数缺失(code: 400):

{ "code": 400, "msg": "slug 参数必填" }

资源不存在(code: 404):

{ "code": 404, "msg": "skill not found" }

3. 下载最新版 ZIP

搜索 / Slug 查询接口返回的 latest_version.zip_url 指向本端点。GET 此 URL 会返回 302 重定向到真实 ZIP 包,并自动计入 download_count 与下载日志。 curl / wget / 浏览器 / fetch 默认都会跟随 302,对消费方透明。

请求
GET /api/download?slug=<slug>

参数:

参数必填说明
slug站内唯一 Slug(与 /api/skill 同一枚举规则:[a-z0-9_-]

请求示例(-L 跟随重定向到 ZIP 文件):

curl -Lv 'https://aituring.com/api/download?slug=skill-creator' -o skill-creator.zip

成功响应(HTTP 302非 JSON):

HTTP/1.1 302 Found Location: https://cdn.aituring.com/skills/skill-creator-1.2.0.zip

参数无效(code: 400,JSON):

{ "code": 400, "msg": "slug 参数无效" }

资源不存在(code: 404,JSON):

{ "code": 404, "msg": "skill not found" }

触发防刷(code: 429,JSON):

{ "code": 429, "msg": "rate limit exceeded" }
说明:
  • 本端点固定下载该技能的最新已发布版本(由 skills.latest_version_id 决定)
  • 与浏览器/Web 渠道 /download/{skillId}-{versionId} 共享同一份"防刷 + 日志 + 计数"链路,区别仅在日志 download_source 字段:api vs web
  • 单 IP 防刷阈值:10 次/分钟(与 Web 同阈值)

字段说明

字段说明
skill_key技能标识(业务侧原始 ID,可重复,如 skill-creator
slug站内唯一 Slug(用于 URL 路由和 /api/skill 查询)
name技能名称(展示用)
short_description技能简短介绍
latest_version.version最新发布版本的版本号(如 1.2.0
latest_version.zip_url最新版本 ZIP 下载端点(绝对 URL,GET 返回 302 重定向到真实 ZIP,并自动计入下载次数
latest_version.created_at最新版本记录创建时间(YYYY-MM-DD HH:MM:SS
说明: latest_version 来自 skills.latest_version_id 指向的最新已发布版本。若技能尚未发布版本,latest_version 内字段为 null

使用建议

  • 客户端建议加本地缓存(10 分钟),减少对服务端的请求
  • 拉取热门列表时建议显式带上 &size=10 拉满
  • 下载 ZIP 前请校验最终字节流的 SHA-256(接口未来在响应里附 zip_sha256 字段,目前可人工核对)
  • 下载端点 /api/download 有单 IP 防刷(10 次/分钟);触发 429 时建议退避后重试