# llm-metadata **Repository Path**: libn/llm-metadata ## Basic Information - **Project Name**: llm-metadata - **Description**: 镜像导入 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-12 - **Last Updated**: 2026-01-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LLM Metadata > 轻量级的 LLM 元数据“静态 API”。线上地址: > [GitHub Pages](https://basellm.github.io/llm-metadata/) · [Cloudflare Pages](https://llm-metadata.pages.dev/) [中文文档](README.zh-CN.md) | [English](README.md) | [日本語](README.ja.md) 面向高并发的静态接口:仅在源数据或配置变化时重建,其余时间通过 GitHub Pages 提供静态 JSON。 数据来源:[models.dev/api.json](https://models.dev/api.json) + basellm 社区贡献。 ## 快速开始 要求:Node.js 18+(内置 `fetch`) ```bash npm install npm run build ``` 产物位置:`dist/api/` 常用脚本: - `npm run build`:编译 TypeScript 并构建 API(如无变化则不改写文件) - `npm run build:force`:强制重建所有文件 - `npm run check`:仅检查是否会产生输出变更(CI 可用) - `npm run clean`:清理 `.cache` 与 `dist` - `npm run compile`:仅编译 TypeScript - `npm run dev`:监听模式编译 ## 国际化(文档与 API) 文档 i18n 由 `i18n/docs/*.json` 与 `i18n/locales.json` 驱动,并通过 mkdocs-static-i18n 发布;API i18n 由 `i18n/api/*.json` 与 `data/overrides/**` 驱动。 ### 目录与配置 ``` i18n/ locales.json # 语言清单(唯一真相来源) docs/ en.json # 文档 UI 词条(兜底) zh.json ja.json api/ en.json # 能力标签 + 默认描述模板 zh.json ja.json docs/ en/ index.md data.md zh/ index.md data.md ja/ index.md data.md ``` ### 新增语言(以 `fr` 为例) 1)在 `i18n/locales.json` 增加: ```json { "locales": [ { "locale": "en", "default": true }, { "locale": "zh" }, { "locale": "ja" }, { "locale": "fr" } ] } ``` 2)复制 `i18n/docs/en.json` 为 `i18n/docs/fr.json` 并翻译 3)复制 `i18n/api/en.json` 为 `i18n/api/fr.json` 并翻译(包含 capability labels 与默认描述模板) 4)添加 `docs/fr/index.md` 与空白 `docs/fr/data.md`(构建时自动生成) 5)可选:在 `mkdocs.yml` 为 `fr` 添加 `nav_translations` 6)构建:`npm run build` ### API i18n 细节 - 能力标签来自 `i18n/api/.json`,应用于: - 显式 `model.tags` - 布尔能力:tools/files/reasoning/temperature/open_weights - 模态衍生标签:vision/audio - 本地化 API 数据输出: - `dist/api/i18n//all.json` - `dist/api/i18n//providers.json`、`index.json` - 拆分文件:`dist/api/i18n//{providers,models}/...` - NewAPI 载荷: - 英文(稳定):`dist/api/newapi/{vendors.json,models.json}` - 本地化:`dist/api/i18n//newapi/{vendors.json,models.json}` - 默认描述模板(支持占位符): - `i18n/api/.json` → `defaults.model_description`,占位 `${modelName}`、`${providerId}` - 若某模型描述等于英文默认描述,本地化构建将自动替换为对应语言模板 ### 文档 i18n(mkdocs) - 词条来自 `i18n/docs/.json`;缺失键自动回退英文 - `npm run build` 自动输出 `docs//data.md` - 预览文档:`pip install -r requirements.txt` 后执行 `mkdocs serve` ## 更新模式 - 手动模式:直接编辑 `data/**`,推送到主分支后 CI 自动构建与发布 - 自动模式:按计划抓取上游,检测变化后仅对允许自动更新的模型增量写入 触发策略(GitHub Actions 已配置): - push 到 `scripts/**`、`data/**` 等路径 - `workflow_dispatch` 手动触发 - `schedule` 每 6 小时定时 ## 自动更新策略(模型级开关) 配置文件:`data/policy.json`(默认 `auto=true`)。示例: ```json { "providers": { "deepseek": { "auto": true }, "xai": { "auto": true } }, "models": { "deepseek/deepseek-reasoner": { "auto": false }, "xai/grok-4": { "auto": true } } } ``` 当某模型 `auto=false` 时,自动模式不会覆盖其现有静态文件(首次构建仍会生成)。 ## 覆写(Overrides,目录化) 已从单一 `data/overrides.json` 迁移为目录化结构,避免多人同时修改时的冲突。将小型 JSON 片段放入如下目录,构建时会深度合并: ``` data/ overrides/ providers/ .json # 提供商级覆写(如 lobeIcon、iconURL、name、api、doc) models/ /.json # 模型级覆写(description、limit、modalities、cost、能力标记等) i18n/ providers/.json # 可选:提供商名称/描述本地化 models//.json # 可选:模型名称/描述本地化 ``` 示例: 提供商图标(`data/overrides/providers/openai.json`): ```json { "lobeIcon": "OpenAI.Color" } ``` 模型覆写(`data/overrides/models/openai/gpt-4o.json`): ```json { "description": "面向多模态、具备较强推理能力的优化模型。", "limit": { "context": 131072, "output": 8192 }, "modalities": { "input": ["text", "image"], "output": ["text"] }, "reasoning": true, "tool_call": true, "attachment": false } ``` 说明: - 使用深度合并;未声明字段会保持原值。 - 模型覆写字段白名单(会进行清洗):`id`、`name`、`description`、`reasoning`、`tool_call`、`attachment`、`temperature`、`knowledge`、`release_date`、`last_updated`、`open_weights`、`modalities`、`limit`、`cost`。 - 仅从 `data/overrides/**` 读取。