AI 资源数据库更新工具¶
概述¶
update-ai-resource.js 用于根据 AI 资源数据条目触发仓库同步,更新 AI OSS Rank 的项目元数据。
功能¶
- 从
data/zh/ai_resources.yaml或data/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/repogithub.com/owner/repoowner/repo
注意:仓库名称会自动转换为小写,以匹配 GitHub API 的标准格式。
工作原理¶
- 读取数据:从
data/*/ai_resources.yaml中定位 slug 条目 - GitHub 提取:从
github字段提取仓库的 owner/name,并转换为小写 - 触发同步:执行
npm run ai:worker:sync:repo owner/name命令 - 数据更新:同步脚本调用 Cloudflare Worker 更新项目元数据
错误处理¶
脚本会在以下情况报错并退出:
- slug 不存在:无法在 data 文件中找到目标条目
- 缺少 GitHub 字段:条目中没有
github字段 - GitHub URL 无效:无法从
github字段提取有效的仓库信息 - 同步失败:npm 命令执行失败
相关资源¶
开发者信息¶
- 文件位置:
scripts/ai/update-ai-resource.js - 相关脚本:
scripts/ai/trigger-worker-sync.sh - 依赖包:
js-yaml