跳转至

AI 资源数据库更新工具

概述

update-ai-resource.js 用于根据 AI 资源数据条目触发仓库同步,更新 AI OSS Rank 的项目元数据。

功能

  • data/zh/ai_resources.yamldata/en/ai_resources.yaml 中读取条目
  • 提取 GitHub 仓库信息并触发 npm run ai:worker:sync:repo
  • 支持指定 slug 和语言
  • 简洁输出模式:默认只显示关键信息

使用方法

命令行使用

# 基本用法(默认优先 zh,然后 en)
node scripts/ai/update-ai-resource.js --slug autogen

# 指定语言
node scripts/ai/update-ai-resource.js --slug autogen --lang zh

# DRY RUN 模式(仅显示将执行的命令)
DRY_RUN=1 node scripts/ai/update-ai-resource.js --slug ollama

# 详细输出模式(显示完整同步日志)
VERBOSE=1 node scripts/ai/update-ai-resource.js --slug langchain

兼容旧用法:如果传入 content/zh/ai/.../index.md,脚本仍会解析 front matter。

数据要求

AI 资源条目必须包含 github 字段,例如:

- slug: autogen
  title: AutoGen
  github: https://github.com/microsoft/autogen
  # ... 其他字段

支持的 GitHub URL 格式:

  • https://github.com/owner/repo
  • github.com/owner/repo
  • owner/repo

注意:仓库名称会自动转换为小写,以匹配 GitHub API 的标准格式。

工作原理

  1. 读取数据:从 data/*/ai_resources.yaml 中定位 slug 条目
  2. GitHub 提取:从 github 字段提取仓库的 owner/name,并转换为小写
  3. 触发同步:执行 npm run ai:worker:sync:repo owner/name 命令
  4. 数据更新:同步脚本调用 Cloudflare Worker 更新项目元数据

错误处理

脚本会在以下情况报错并退出:

  1. slug 不存在:无法在 data 文件中找到目标条目
  2. 缺少 GitHub 字段:条目中没有 github 字段
  3. GitHub URL 无效:无法从 github 字段提取有效的仓库信息
  4. 同步失败:npm 命令执行失败

相关资源

开发者信息

  • 文件位置scripts/ai/update-ai-resource.js
  • 相关脚本scripts/ai/trigger-worker-sync.sh
  • 依赖包js-yaml