AI 项目清单自动生成流程¶
本文档说明 AI 项目清单(manifest)的自动生成机制,确保在添加新的 AI 资源时能够自动更新并同步到 Worker。
概述¶
ai-projects-manifest.json 是一个关键文件,包含了所有 AI 开源项目的元数据。这个文件:
- 生成位置:
static/data/ai-projects-manifest.json - 发布位置:
https://jimmysong.io/data/ai-projects-manifest.json - 消费者: AI OSS Rank Worker 使用此文件获取项目列表并收集 GitHub 指标
自动生成流程¶
触发时机¶
Manifest 会在以下情况自动生成:
-
本地开发构建 - 运行以下命令:
npm run build -
预览构建 - 运行以下命令:
npm run site:build:preview -
Cloudflare Pages 部署 - 自动触发流程:
- 当推送到 GitHub 时
- Cloudflare Pages 执行构建命令
- Manifest 自动生成并部署
构建流程¶
npm run build
↓
1. npm run ai:manifest:generate # 生成 AI 项目清单
↓
2. npm run analytics:generate # 生成内容分析数据
↓
3. node scripts/site/run-hugo.js # Hugo 构建
↓
4. npm run search:index:compress # 压缩 JSON 文件
生成脚本详解¶
脚本位置¶
scripts/ai/generate-ai-project-manifest.js
工作原理¶
- 扫描数据文件
-
读取
data/zh/ai_resources.yaml和data/en/ai_resources.yaml -
提取元数据
- GitHub 仓库 URL
- 项目标题(多语言)
- Slug 和页面路径
-
标签、特色标记、开源日期
-
数据聚合
- 按仓库 slug 聚合多语言数据
- 去重并排序
添加新项目的工作流¶
- 在
data/zh/ai_resources.yaml与data/en/ai_resources.yaml添加条目 - 运行:
npm run ai:manifest:generate
- 构建或部署站点