跳转至

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 会在以下情况自动生成:

  1. 本地开发构建 - 运行以下命令:

    npm run build
    
  2. 预览构建 - 运行以下命令:

    npm run site:build:preview
    
  3. 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

工作原理

  1. 扫描数据文件
  2. 读取 data/zh/ai_resources.yamldata/en/ai_resources.yaml

  3. 提取元数据

  4. GitHub 仓库 URL
  5. 项目标题(多语言)
  6. Slug 和页面路径
  7. 标签、特色标记、开源日期

  8. 数据聚合

  9. 按仓库 slug 聚合多语言数据
  10. 去重并排序

添加新项目的工作流

  1. data/zh/ai_resources.yamldata/en/ai_resources.yaml 添加条目
  2. 运行:
npm run ai:manifest:generate
  1. 构建或部署站点