API 文档
Rnews 把各站点 RSS 聚合成一份列表,除了网页阅读,也可以用 JSON 或标准 RSS 拉取。默认开启 CORS,可直接在浏览器或服务端调用。
速率限制
公开接口 /api/v1/* 每个 IP 每分钟最多 60 次。超出返回 HTTP 429,并带上:
X-RateLimit-LimitX-RateLimit-RemainingX-RateLimit-Reset(Unix 秒)Retry-After
站点页面使用的内部接口限制更宽;全量刷新接口限制更严。
分类
GET /api/v1/categories返回 推荐、全部、社区、AI、资讯、工程、主机。
JSON 聚合
GET /api/v1/feed?category=AI&q=&limit=40&cursor=0参数:
category分类,默认全部。推荐从今日内容里随机抽一批,刷新或下滑会换一批。q按标题、摘要或来源搜索limit每页条数,默认 40,最大 100cursor偏移,从 0 开始。推荐流不用这个分页。seed推荐流的随机种子,不传则每次现抽exclude推荐流排除的条目 id,逗号分隔since只返回这个时间之后的条目,ISO 8601 或 Unix 时间戳。适合增量拉取,比较的是pubDate,不含等于该时刻的条目。
按发布时间倒序。英文标题若已在后台译好,会附带 titleZh。响应里的 newestPubDate 可以当作下一次请求的 since。
curl -s "https://news.airgzn.top/api/v1/feed?category=社区&limit=5"curl -s "https://news.airgzn.top/api/v1/feed?since=2026-09-01T00:00:00.000Z&limit=20"RSS 输出
同一份聚合可以当普通 RSS 源订阅:
GET /api/v1/rss?category=资讯&limit=50&since=2026-09-01T00:00:00.000Zhttps://news.airgzn.top/api/v1/rss?category=全部响应类型为 application/rss+xml,条目带一句 description 摘要,可直接丢进 RSS 阅读器。
AI 搜索
页面在 /ask。接口把问题和对话历史交给模型自带搜索,浏览器不会带密钥。每个 IP 每分钟 20 次。
POST /api/search
Content-Type: application/json
{
"query": "今天有什么重要新闻",
"images": [],
"history": [
{ "role": "user", "content": "上一轮问题" },
{ "role": "assistant", "content": "上一轮回答" }
]
}query必填,最长 4000 字history可选,最近几轮,仅用于当次追问,页面不保存旧对话images可选,最多 6 张data:image/...
响应为 text/event-stream。每条 data: 后是 JSON:
{"type":"delta","text":"..."}增量正文{"type":"citations","urls":["https://..."]}搜索来源{"type":"error","message":"..."}失败
未配置模型时返回 503。超限返回 429。
curl -N -X POST https://news.airgzn.top/api/search \
-H "Content-Type: application/json" \
-d '{"query":"GPT-6 Astra 发布了什么"}'半日摘要接口
生成后缓存 12 小时,refresh=1 才重新生成。每个 IP 每分钟 30 次。
GET /api/briefGET /api/brief?refresh=1JSON 字段:
date上海时区日期generatedAt生成时间(Unix 毫秒)modellm为 AI 总结,extract为摘录回退markdown固定两段:AI 焦点 / 其他资讯,约 28–32 条短结论itemCount精选条数feedsChecked/feedsOk检查与成功的订阅源数
curl -s https://news.airgzn.top/api/brief条目字段
id稳定标识title原文标题titleZh中文标题(若已翻译)snippet一句摘要(有则返回)link原文链接pubDateISO 时间source来源名称category归一化分类