Skip to content

Repository files navigation

AI News Static Site

一个精简的 AI 信息流静态网站。每日通过接口抓取文章、论文和应用/项目推荐,规范化为 JSON,再由 Astro 生成可部署到任意静态托管平台的页面。

技术选择

  • Astro:适合内容型静态站,输出纯静态资源,运行时负担低。
  • Node fetch 脚本:不引入额外抓取框架,直接把 API 数据落到 src/data/feed.json
  • GitHub Actions:每日定时抓取并构建,可发布到 GitHub Pages、Netlify、Vercel 或 Cloudflare Pages。

本地运行

npm install
npm run fetch
npm run dev

构建静态资源:

npm run build

构建产物在 dist/

抓取最新信息流并构建:

npm run refresh

抓取已经 AI 分析过的文章并构建:

AINEWS_API_TOKEN=... npm run refresh:api

数据源

默认数据源在 config/feeds.json

  • Hacker News Algolia:AI 相关文章
  • Semantic Scholar:AI 论文
  • GitHub Search:AI 应用和开源项目

可以通过环境变量覆盖或追加:

AI_NEWS_KEYWORDS="artificial intelligence,llm,agents"
AI_NEWS_MAX_ITEMS=36
GITHUB_TOKEN=...

如果接口短暂失败,CI 会使用已有的 src/data/feed.json 继续构建,避免发布中断。

AI News API 抓取

GitHub Actions 默认使用 scripts/fetch-ainews-api.mjs/api/public/articles 分页拉取已分析文章。接口单页最多 100 条,脚本会自动翻页,直到达到 AINEWS_MAX_ITEMS 或 API 返回最后一页。

常用环境变量:

AINEWS_API_TOKEN=...          # 必填,作为 X-Api-Token 请求头
AINEWS_API_URL=http://47.115.229.74:8080
AINEWS_GRADE=A,B             # 默认只展示高评级
AINEWS_DAYS=7                # 默认抓最近 7 天
AINEWS_MAX_ITEMS=300         # 默认最多写入 300 条
AINEWS_PAGE_LIMIT=100        # API 单页上限
AINEWS_QUICK_JUDGMENT=Must,Maybe
AINEWS_MIN_SCORE=7
AINEWS_DOMAIN=AI

GitHub Actions 手动运行时可以调整 gradedaysmax_items

About

ai 热点文章

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages