# llm-metadata：轻量级LLM元数据静态API，让模型发现变得简单

> 一个高吞吐友好的静态API项目，通过GitHub Pages提供LLM元数据查询服务，支持多语言本地化、NewAPI格式输出，无需服务器即可部署。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-03-29T07:14:42.000Z
- 最近活动: 2026-03-29T07:22:54.756Z
- 热度: 159.9
- 关键词: LLM元数据, 静态API, GitHub Pages, 多语言, 模型发现, NewAPI, CDN, 零运维
- 页面链接: https://www.zingnex.cn/forum/thread/llm-metadata-llmapi
- Canonical: https://www.zingnex.cn/forum/thread/llm-metadata-llmapi
- Markdown 来源: ingested_event

---

# llm-metadata：轻量级LLM元数据静态API，让模型发现变得简单

在AI应用开发中，一个常见但容易被忽视的问题是：如何获取准确的LLM元数据？模型名称、上下文长度、支持的功能、定价信息——这些看似简单的数据，分散在各个提供商的文档中，格式不一，更新频繁。llm-metadata项目提供了一个优雅的解决方案：一个完全静态的API服务，让LLM元数据的获取变得简单可靠。

## 项目理念：静态优先，高吞吐友好

llm-metadata的核心理念是"静态优先"。与需要运行服务器的动态API不同，它通过预构建的静态JSON文件提供服务，可以直接部署在GitHub Pages或Cloudflare Pages上。

这种设计带来了几个显著优势：

- **零运维成本**：没有服务器需要维护，没有数据库需要管理
- **极高性能**：静态文件可以被CDN全球缓存，响应时间以毫秒计
- **无限扩展**：不受服务器并发限制，可以轻松应对高流量
- **免费托管**：GitHub Pages和Cloudflare Pages都提供免费额度

数据变更时，通过简单的构建流程重新生成静态文件即可，无需担心服务中断。

## 数据来源与覆盖范围

项目整合了多个数据源：

- **models.dev/api.json**：主要的模型元数据源
- **社区贡献**：通过data/overrides目录接受社区修正和补充

API提供的信息包括：

- 模型基本信息（名称、描述、发布日期）
- 能力标签（工具调用、文件处理、推理能力、温度支持、开源权重等）
- 模态支持（文本、图像、音频输入/输出）
- 上下文和输出限制
- 定价信息
- 提供商配置

## 多语言本地化支持

llm-metadata的一个亮点是完整的多语言支持。项目采用结构化方式管理翻译：

```
i18n/
  locales.json          # 语言列表（单一事实来源）
  docs/
    en.json            # 文档UI字符串
    zh.json            # 中文翻译
    ja.json            # 日文翻译
  api/
    en.json            # 能力标签和默认描述模板
    zh.json
    ja.json
```

添加新语言只需要：

1. 在locales.json中添加语言配置
2. 创建对应的i18n/docs/<lang>.json和i18n/api/<lang>.json
3. 运行npm run build

构建后的本地化API位于dist/api/i18n/<locale>/目录，包含：

- all.json：完整的模型列表
- providers.json：提供商信息
- index.json：索引文件
- providers/和models/：按提供商和模型组织的详细数据

## NewAPI格式兼容

项目特别提供了NewAPI格式的输出，这是一种在AI代理和工具生态中广泛使用的标准格式：

- **英文（稳定版）**：dist/api/newapi/vendors.json和models.json
- **本地化版本**：dist/api/i18n/<locale>/newapi/vendors.json和models.json

这种兼容性让llm-metadata可以直接被现有的NewAPI工具链使用，无需额外适配。

## 使用方式

### 直接使用托管版本

项目提供了两个托管地址：

- GitHub Pages：https://basellm.github.io/llm-metadata/
- Cloudflare Pages：https://llm-metadata.pages.dev/

### 本地构建

```bash
# 安装依赖
npm install

# 构建（如无变更则跳过）
npm run build

# 强制重新构建
npm run build:force

# CI检查（变更检测）
npm run check
```

### 自定义数据覆盖

项目支持通过data/overrides目录进行数据定制：

```
data/overrides/
  providers/
    <providerId>.json       # 提供商级覆盖
  models/
    <providerId>/
      <modelId>.json        # 模型级覆盖
  i18n/
    providers/
      <providerId>.json     # 本地化提供商信息
    models/
      <providerId>/
        <modelId>.json      # 本地化模型信息
```

覆盖文件采用深度合并策略，未指定的字段会保留原始值。模型覆盖支持以下字段：

- id, name, description
- reasoning, tool_call, attachment
- temperature, knowledge
- release_date, last_updated
- open_weights
- modalities
- limit（上下文和输出限制）
- cost（定价信息）

## 自动化与CI/CD

项目通过GitHub Actions实现自动化：

- **触发条件**：
  - scripts/、data/等目录的push
  - workflow_dispatch手动触发
  - 每6小时的定时调度

- **增量更新策略**：
  通过data/policy.json控制自动更新行为：
  ```json
  {
    "providers": {
      "deepseek": { "auto": true },
      "xai": { "auto": true }
    },
    "models": {
      "deepseek/deepseek-reasoner": { "auto": false }
    }
  }
  ```

  当auto=false时，自动构建不会覆盖现有静态文件，保护手动定制的内容。

## 应用场景

### 场景一：模型选择器UI

开发者可以基于llm-metadata构建模型选择界面，让用户根据能力、价格、上下文长度筛选合适的模型。

### 场景二：成本估算工具

利用API中的定价信息，可以预先计算不同模型的使用成本，帮助用户做出经济合理的选择。

### 场景三：能力检测

在发送请求前，查询模型是否支持特定功能（如工具调用、视觉理解），避免运行时错误。

### 场景四：文档生成

自动化生成模型文档、比较表格，保持与最新数据同步。

## 架构优势总结

llm-metadata展示了一种被低估但极其有效的架构模式：

1. **静态生成**：将动态查询转化为预构建的静态资源
2. **CDN分发**：利用边缘网络实现全球低延迟访问
3. **增量更新**：智能检测变更，避免不必要的重建
4. **社区驱动**：开放的数据覆盖机制，鼓励社区贡献

这种模式特别适合读多写少、数据变更相对低频的场景。LLM元数据正是这类场景的典型代表——模型信息不会每秒变化，但查询请求可能非常频繁。

## 对AI基础设施的启示

llm-metadata项目虽然看似简单，但解决了一个真实存在的问题：LLM元数据的标准化和可访问性。随着AI生态的快速发展，我们可能会看到更多类似的"静态优先"服务出现：

- 提示词模板库
- 评估基准结果
- 模型性能对比
- 定价信息聚合

这些服务的共同特点是不需要实时计算，但要求高可用、低延迟、零运维。llm-metadata为这些场景提供了一个可复制的模式。

## 总结

llm-metadata是一个设计简洁但功能实用的项目。它通过静态API的形式，解决了LLM元数据获取的痛点，同时展示了现代Web架构中"静态优先"理念的力量。

对于需要集成多模型支持的开发者，llm-metadata提供了一个可靠的数据源。对于关注架构设计的工程师，它是一个值得研究的案例——如何用最小的复杂度，解决实际的问题。
