天工开物KAIWU AI
接口与 Skill › 天工开物 Skill

天工开物 Skill

天工开物 Skill 告诉 AI 助手如何通过开放接口查询比赛、福利、模型、工具和会员套餐,并在回答中注明数据来源和核实时间。

本页目录

概述

Skill 是一个文件夹,其中的 SKILL.md 用文字说明:在什么情况下查询天工开物,调用哪个接口,拿到数据后如何回答。

安装后,助手遇到「最近有什么 AI 比赛」「某个会员每月多少钱」这类问题时,会调用天工开物的开放接口,而不是凭已有知识作答。所有接口只读,无需登录,也无需 Key。

适用范围

问题类型使用的数据
最近有哪些 AI 比赛,何时截止,奖金多少比赛、赛道
有哪些模型,发布时间,是否开放权重,榜单名次模型
某个工具国内能否使用,有哪些会员可用,有什么福利工具、会员套餐、当前福利
某个会员的价格,包含哪些工具和模型会员套餐
新手做某类任务应该用什么 AI新手选型
最近一周有什么变化本周情报摘要
AI 学习案例、产品案例共创案例

与 AI 比赛、模型、工具、会员无关的问题不在范围内。海外比赛也不在范围内,天工开物只收录国内比赛。

安装

先下载天工开物 Skill 压缩包,解压后把 qiyuan-ai 文件夹复制到助手的 Skill 目录。压缩包包含说明和脚本,无需构建。

Claude Code

按生效范围选择目录:

  • 仅当前项目:项目根目录下的 .claude/skills/qiyuan-ai/

  • 本机所有项目:用户目录下的 .claude/skills/qiyuan-ai/,Windows 上为 C:\Users\用户名\.claude\skills\qiyuan-ai\

项目级安装时,先把压缩包解压到项目根目录,并在该目录打开终端;用户级安装时,在解压后的文件夹旁打开终端:

bash
# 项目级
mkdir -p .claude/skills && cp -r qiyuan-ai .claude/skills/
# 用户级(macOS / Linux)
mkdir -p ~/.claude/skills && cp -r qiyuan-ai ~/.claude/skills/

复制完成后新开一个会话,提问「最近有什么 AI 比赛」。如果助手开始调用接口,说明 Skill 已生效。

其他助手

其他支持 Skill 的助手,请按各自官方文档确认目录。不支持 Skill 的助手,可以把 SKILL.md 的内容直接发给它,让它按说明查询。

基础地址

Skill 通过环境变量 QIYUAN_BASE_URL 确定请求地址:

bash
BASE="${QIYUAN_BASE_URL:-https://tiangongkaiwuai.cn}"

默认使用正式域名;备案期间该入口可能无法访问。本地调试时先启动本机站点,再设置变量:

bash
export QIYUAN_BASE_URL=http://localhost:3000

通用约定

  • 所有接口只读,匿名可用。请求头带上 X-API-Key(Key 须在服务端白名单内)可以提高请求额度。

  • 只返回公开内容。草稿、待审、已过期和已归档的内容不会出现。

  • 列表接口的响应分为 data、meta、source 三部分:

json
{
  "data": [],
  "meta": { "total": 12, "page": 1, "pageSize": 20, "generatedAt": "2026-10-05T08:00:00Z" },
  "source": { "name": "天工开物", "site": "https://tiangongkaiwuai.cn", "note": "数据经人工审核,请以 sourceUrls 原始公告为准" }
}
  • 每条数据都包含 slug、url(站内页面地址)、updatedAt、verifiedAt(最后一次人工核实的时间)和 sourceUrls(官方来源)。赛道没有核实时间和来源,这两项固定为空。

  • 分页使用 page 和 pageSize。pageSize 默认 20,最大 100。

  • 日期按北京时间(Asia/Shanghai)计算。daysLeft 表示剩余天数,已过期时为负数。

  • 金额按接口返回的原币种表述,人民币写人民币,美元写美元。天工开物不做汇率换算,也不把年付总价除以 12。

  • 模型、工具、比赛的 slug 须先从对应的列表接口获取,再查询详情,不要自行拼写。

  • 参数和字段的权威说明是 /api/v1/openapi.json。本页与它不一致时,以它为准。

典型问题对照

用户提问先调用再调用
最近有什么 AI 比赛/api/v1/contests按方向查找时,先用 /api/v1/tracks 取得赛道 slug
下周截止的硬件比赛/api/v1/tracks/api/v1/contests?track=<赛道slug>&deadlineBefore=<日期>
杭州有哪些线下比赛/api/v1/contests?city=杭州&online=false无
奖金 10 万元以上的比赛/api/v1/contests?minPrize=100000无
某个比赛的赛程/api/v1/contests/{slug}无
有哪些模型/api/v1/models查看单个模型时用 /api/v1/models/{slug}
哪些会员可以使用某个模型/api/v1/models/{slug}查看返回结果中的 plans
国内可用的工具/api/v1/products?cn=true无
某个工具有哪些会员和福利/api/v1/products/{slug}/api/v1/plans?product=<工具slug>
某个会员的价格/api/v1/plans?product=<工具slug>/api/v1/plan-families,按套餐家族查看
当前有哪些福利/api/v1/deals每条福利的 landing.url 指向它所在的工具页或套餐页
新手应该用什么 AI/api/v1/picker/api/v1/products/{slug}
最近一周有什么变化/api/v1/digest?days=7无
AI 学习案例、产品案例/api/v1/cases/api/v1/cases/{slug} 获取正文
海外比赛不调用接口说明天工开物目前只收录国内比赛

模型和工具的 slug 来自不同的接口。/api/v1/products/opencode 查询的是 opencode 这个工具,/api/v1/models/{slug} 查询的是某个模型,两者不能互换。

回答要求

Skill 要求助手按下面的规则回答:

  1. 回答末尾注明「数据来自天工开物,核实于某月某日」,并附上 sourceUrls 中的官方链接。没有核实时间的数据,写「未注明核实时间」,不补写日期。

  2. 接口返回空列表时,回答「目前没有符合条件的记录」,不用已有知识补充。

  3. 模型的榜单分来自第三方榜单,引用时写明榜单名称和链接。模型的五项能力分目前为空,不用于比较。工具和会员套餐没有分数。

  4. 比较套餐价格时,只在同一币种、同一种购买方式之间比较。官方只给出折合每月价格的,使用官方数字。

  5. 涉及报名时间、优惠力度和价格时,提示用户回到来源页面确认。

  6. 福利的有效期有四种:长期有效、某天截止、自领取起算若干天、官方未标注截止日期。没有截止日期的福利不能描述为「即将结束」。

限流与错误

匿名请求按 IP 限流,每分钟最多 60 次。超出后返回 HTTP 429,响应头带有 Retry-After,单位为秒。助手应等待相应时间后重试一次,不要连续重试。

状态码含义处理方式
400参数不合法,例如 status 取值不在允许范围内根据 error.details 修正参数
404slug 不存在用列表接口确认 slug
429超出限流按 Retry-After 等待后重试一次

错误响应的结构如下:

json
{ "error": { "code": "...", "message": "...", "details": [] } }

常见问题

助手没有调用接口

现象提问后,助手直接根据已有知识回答,没有查询接口。
原因Skill 没有放在助手能读取的目录,或复制后没有新开会话。
怎么办确认 SKILL.md 的路径为 .claude/skills/qiyuan-ai/SKILL.md,然后新开一个会话再提问。

请求地址里出现占位符

现象助手提示连接失败,请求地址中包含 <天工开物正式域名>。
原因站点尚未开放,或者 QIYUAN_BASE_URL 指向了不可访问的地址。
怎么办检查正式站点是否可以访问;本地调试时设置 QIYUAN_BASE_URL 指向本机站点。

福利没有截止日期

现象某条福利的 endsAt 和 daysLeft 为空。
原因这条福利的有效期是长期有效、自领取起算,或官方没有标注,并非数据缺失。
怎么办查看 validity 字段,按它的取值转述。自领取起算的福利,官方原话在 validityNote 中。
更新于 2026-10-20来源:仓库 skills/qiyuan-ai/SKILL.md;/api/v1/openapi.json