跳转到内容

SRA 公共 API

StarRailAssistant(SRA)提供了一套免费、无需注册、无需 API 密钥的公开 REST API,以 JSON 格式返回各游戏的当前版本号、版本名称与活动时间等数据,支持中英双语。

目前支持崩坏:星穹铁道、原神、绝区零、鸣潮、异环、蔚蓝档案(国服 / 日服 / 国际服)、明日方舟、明日方舟:终末地、星塔旅人,适合用于活动日历、QQ / Discord 机器人、每日提醒工具等场景。

所有 API 的基础地址为:

https://starrailassistant.top/api/v1
GET /activity/{game}.json
GET /activity/{game}-{locale}.json
参数 类型 说明
game string 游戏标识
locale string 可选,语言标签(如 en-US);省略时为默认语言数据
GET https://starrailassistant.top/api/v1/activity/sr.json
试一试:获取 崩坏:星穹铁道 活动数据(zh-CN)
{
"version": "4.4",
"versionName": "鸣笛于归寂之时",
"startTime": "2026-07-15T06:00:00",
"endTime": "2026-08-26T06:00:00",
"cover": "https://...",
"activities": [
{
"name": "反贪「砖」家",
"kind": "其他活动",
"description": "世上没有不落灰的角落...",
"startTime": "2026-07-15T06:00:00",
"endTime": "2026-08-26T03:59:59",
"cover": "https://..."
}
]
}
字段 类型 说明
version string 当前游戏版本号
versionName string 版本名称
startTime string 版本开始时间(ISO 8601)
endTime string 版本结束时间(ISO 8601)
cover? string? 版本封面图 URL
activities array 活动列表
activities[].name string 活动名称
activities[].kind? string? 活动分类
activities[].description string 活动描述
activities[].startTime string 活动开始时间(ISO 8601)
activities[].endTime string 活动结束时间(ISO 8601)
activities[].cover? string? 活动封面图 URL

这个 API 收费吗?需要 API Key 吗?

Section titled “这个 API 收费吗?需要 API Key 吗?”

完全免费,无需注册账号,也无需申请任何密钥,直接向 API 端点发起 GET 请求即可。

目前支持崩坏:星穹铁道(sr)、原神(ys)、绝区零(zzz)、鸣潮(ww)、异环(nte)、蔚蓝档案(ba-cn / ba-jp / ba-global)、明日方舟(ak)、明日方舟:终末地(end)、星塔旅人(xtlr),具体见支持的游戏。

版本公告发布后由社区维护者更新,通常在版本开启前完成。数据提取自各游戏官方公告并经人工核对。

标准 JSON,包含当前版本号、版本名称、版本起止时间及活动列表(名称、分类、描述、起止时间、封面图),时间均为 ISO 8601 格式,详见响应字段说明。

欢迎通过 GitHub Issues 反馈,或参照下方贡献指南直接提交 PR。

我们欢迎社区贡献活动数据!如果你想为更多游戏提供支持或发现活动信息有误或缺失,可以通过以下方式参与贡献。

  1. Fork 仓库:访问 StarRailAssistant 文档站仓库 并 Fork
  2. 新增游戏条目:在 src/data/games.ts 的 games 数组中新增游戏条目,填写游戏标识、名称、语言列表和数据源(格式见下)
  3. 生成活动数据(或等待PR合并后,由维护者生成):按数据源生成 public/api/v1/activity/ 下的活动 JSON(AI 提取流程参见仓库内 .agents/skills/game-activity-extractor/SKILL.md)
  4. 提交 PR:创建 Pull Request 并说明新增游戏支持
{
id: "sr", // 游戏标识,输出文件名的基准
name: { "zh-CN": "可读游戏名称", en: "English Name" },
locales: [
"zh-CN", // 支持的语言列表
"en-US",
],
defaultLocale: "zh-CN", // 默认语言,生成文件时省略语言后缀
dataSources: {
// 数据源,键为语言;"all" 键对所有语言生效
// 每个语言可配置多个数据源,按顺序尝试
"zh-CN": [{ type: "html", url: "https://..." }],
},
}

dataSources 描述游戏活动数据的获取方式,主要面向 AI 提取流程。每个数据源按 type 区分:

type 适用字段 说明
html url 公告列表页(HTML),AI 从列表页定位版本公告并解析活动信息
script script 生成脚本路径(相对仓库根目录,node scripts/... 运行),脚本自行抓取并转换数据
pageData url、articleUrl? 分页 JSON 接口;articleUrl 为文章路径模板,{field} 占位符替换为数据条目的同名字段

所有类型均支持可选字段 userAgent: "none":标记该源拒绝浏览器 User-Agent,抓取时不要携带浏览器 UA。

  • 数据输出到 tmp/ 目录的临时文件,不直接覆盖 public/api/v1/activity/ 下的正式数据
  • 脚本运行结束后在 stdout 打印输出位置与使用方法,便于人工或 AI 核对后再更新正式 JSON
  • 脚本内的联表、过滤、格式转换逻辑写在脚本头部注释中

以下方式适用于简单的内容修改(如修正个别活动时间、名称或描述、添加活动封面图等):

  1. Fork 仓库:访问 StarRailAssistant 文档站仓库 并 Fork
  2. 修改数据:编辑 public/api/v1/activity/ 目录下对应的 JSON 文件。默认语言数据位于 /{game}.json(中文);其他语言的数据位于 /{game}-{locale}.json(如 sr-en-US.json)。
  3. 提交 PR:创建 Pull Request 并说明修改内容

添加新的游戏数据/更新活动数据时,请按照以下格式:

{
"version": "当前游戏版本号",
"versionName": "当前游戏版本名称",
"startTime": "2026-07-15T06:00:00", // 版本开始时间
"endTime": "2026-08-26T06:00:00", // 版本结束时间
"cover": "https://...", // 版本封面图 URL
"activities": [
{
"name": "活动名称",
"description": "活动描述",
"startTime": "2026-07-15T06:00:00", // 活动开始时间
"endTime": "2026-08-26T03:59:59", // 活动结束时间
"cover": "https://..." // 活动封面图 URL
}
// 其他活动...
]
}