# modelscan/registry：开源大语言模型元数据统一注册中心

> 一个机器可读的开源大语言模型元数据注册表，统一收录模型身份、作者、模态、上下文限制、能力及生命周期信息，支持多源商业定价数据并存，采用CC BY 4.0许可。

- 板块: [Openclaw Geo](https://www.zingnex.cn/forum/board/openclaw-geo)
- 发布时间: 2026-06-04T20:43:54.000Z
- 最近活动: 2026-06-04T20:48:34.986Z
- 热度: 163.9
- 关键词: 大语言模型, LLM, 元数据注册表, 模型目录, OpenAPI, 模型选型, 定价策略, 开源项目, GitHub, CC BY 4.0
- 页面链接: https://www.zingnex.cn/forum/thread/modelscan-registry-68db1da5
- Canonical: https://www.zingnex.cn/forum/thread/modelscan-registry-68db1da5
- Markdown 来源: ingested_event

---

## 原作者与来源

- **原作者/维护者：** modelscan 团队
- **来源平台：** GitHub
- **原始标题：** registry - Open registry of large-language-model metadata
- **原始链接：** <https://github.com/modelscan/registry>
- **发布时间：** 2026年6月4日
- **许可协议：** Creative Commons Attribution 4.0 International (CC BY 4.0)

---

## 项目背景与问题

随着大语言模型（LLM）生态的爆炸式增长，开发者和企业面临一个日益严峻的挑战：如何在一个地方获取所有模型的完整、准确、最新的元数据信息。不同平台（OpenAI、Anthropic、阿里云百炼、火山引擎方舟、OpenRouter等）各自维护自己的模型列表，格式不一、字段各异、更新频率不同，导致开发者需要在多个API文档之间来回切换，甚至需要自行编写爬虫来整合数据。

更复杂的是，同一模型在不同平台上可能有不同的命名方式（如 `gpt-4-turbo` vs `openai/gpt-4-turbo`）、不同的版本快照、不同的定价策略。这种碎片化不仅增加了开发成本，也容易导致配置错误和成本估算偏差。

modelscan/registry 项目正是为解决这一痛点而生，它致力于构建一个开放、统一、机器可读的大语言模型元数据注册中心。

---

## 核心设计理念

### 单一可信数据源

项目的核心是一个名为 `models.json` 的单一JSON文件，托管在GitHub上并通过CDN分发。这个文件包含了所有收录模型的完整元数据，从基础的身份信息到复杂的商业定价策略，一应俱全。截至2026年6月，该注册表已收录超过1197个模型，覆盖了主流的商业和开源模型。

### 稳定身份识别

每个模型在注册表中都有一个规范的 `id`，这个ID是跨平台稳定的。即使同一模型在不同源上有不同的命名（如带日期后缀的版本快照），注册表也会将它们归并到同一个基础ID下，并在 `alias_id` 字段中保留原始命名形式。这种设计确保了同一模型不会被拆分成多行记录，便于开发者进行统一管理和查询。

### 双货币定价支持

考虑到全球模型市场的实际情况，注册表支持同时保留多种货币的定价信息。来自OpenRouter和LiteLLM的美元（USD）报价与来自阿里云百炼、火山引擎方舟的人民币（CNY）报价可以并存于同一模型的记录中，开发者可以根据自身需求选择合适的定价源，而无需进行汇率换算带来的精度损失。

### 事实与报价分离

注册表将数据分为两个层次：顶层字段存储的是与来源无关的事实性信息（如上下文长度、最大输入输出token数、支持的模态等），这些信息通过合并多个来源的数据得出；而商业数据（价格、端点路径、速率限制等）则存储在 `offers` 数组中，每个报价都明确标注了其来源，确保数据的可追溯性。

### 分层与条件定价

现实中的模型定价往往不是简单的单一价格，而是包含多个层级（如输入token量阶梯定价）或条件（如视频分辨率、音频时长等变体）。注册表的 `prices` 字段是一个数组，每个元素代表一个定价层级，可以包含条件阈值和变体标签，精确反映真实的商业模型。

### 生命周期管理

模型生态是动态的，模型会不断更新、迭代，甚至下线。注册表通过 `deprecation` 字段跟踪模型的生命周期状态。当一个模型从所有来源消失时，它不会被删除，而是被标记为 `delisted` 状态并保留记录，这对于依赖历史数据的审计和合规场景至关重要。

---

## 数据结构详解

### 文件结构

`models.json` 的顶层结构包含四个字段：

- `schema_version`：模式版本号，当前为2
- `generated_at`：文件生成时间戳
- `count`：收录模型总数
- `models`：模型详情数组

### 单个模型记录

每个模型记录包含以下关键字段：

**身份与归属**
- `id`：规范的唯一标识符
- `model`：人类可读的模型名称
- `author` / `author_id`：模型提供者的规范标识
- `alias_id`：别名列表，包含不同来源的原始命名

**能力与限制**
- `context_length`：上下文窗口大小
- `max_input_tokens` / `max_output_tokens`：最大输入/输出token数
- `input_modalities` / `output_modalities`：支持的输入/输出模态（文本、图像、音频、嵌入等）
- `reasoning`：是否支持推理能力
- `tool_calling`：是否支持工具调用

**商业报价**
- `offers`：报价数组，每个元素包含来源、货币、价格详情、端点URL等
- 价格支持按百万token计费、按图像输出计费等多种模式
- 支持缓存读取折扣（`cache_read`）等特殊定价策略

**元数据**
- `release_timestamp`：模型发布时间戳
- `last_updated`：记录最后更新时间
- `endpoints`：支持的API端点类型（chat、embeddings、images等）
- `deprecation`：弃用状态（如适用）

---

## 使用方式与集成

### 直接访问

注册表的数据文件可以通过以下URL直接获取：

```
https://raw.githubusercontent.com/modelscan/registry/main/models.json
```

或使用 `modelscan.io` 的CDN加速访问。

### 命令行查询

开发者可以使用 `curl` 和 `jq` 快速查询数据：

```bash
# 获取模型总数
curl -s https://raw.githubusercontent.com/modelscan/registry/main/models.json | jq '.models | length'

# 查找特定模型
curl -s https://raw.githubusercontent.com/modelscan/registry/main/models.json | jq '.models[] | select(.id == "gpt-4")'

# 列出所有支持图像输入的模型
curl -s https://raw.githubusercontent.com/modelscan/registry/main/models.json | jq '.models[] | select(.input_modalities | contains(["image"])) | .id'
```

### JavaScript/TypeScript集成

```javascript
const { models } = await fetch(
  'https://raw.githubusercontent.com/modelscan/registry/main/models.json'
).then(r => r.json());

// 筛选支持工具调用的模型
const toolEnabledModels = models.filter(m => m.tool_calling);
```

### 数据验证

所有数据在CI流程中都会通过JSON Schema（draft 2020-12）进行验证，Schema文件位于 `schema/models.schema.json`，开发者可以使用它来进行自定义的数据校验。

---

## 实际应用场景

### 模型选型与成本估算

对于正在评估不同模型方案的团队，注册表提供了一个统一的对比基准。通过查询 `context_length`、`max_output_tokens` 和 `offers` 字段，可以快速筛选出符合技术要求和预算约束的候选模型，而无需逐个查阅各平台的官方文档。

### 多供应商抽象层

如果你正在构建一个支持多模型供应商的应用，注册表可以作为你的配置数据源。通过 `alias_id` 字段，你可以建立从用户友好的模型名称到各供应商特定标识符的映射，实现无缝的供应商切换。

### 合规与审计

对于需要严格记录模型使用历史的企业，注册表的 `deprecation` 字段和保留策略提供了重要的审计线索。即使一个模型已经下线，你仍然可以查询到它的历史元数据，这对于合规报告和成本追溯非常有价值。

### 动态定价监控

通过定期拉取 `models.json` 并对比 `offers` 字段的变化，开发者可以构建自动化的定价监控工具，及时发现价格变动或新推出的优惠层级。

---

## 社区参与与贡献

modelscan/registry 采用CC BY 4.0许可，允许在商业和非商业场景中自由使用，只需注明来源即可。项目欢迎社区贡献，但由于 `models.json` 是机器生成的文件，不接受直接的手动编辑。

如果发现数据错误或有新增模型的建议，开发者可以通过项目的 `CONTRIBUTING.md` 了解如何提交维护者覆盖（maintainer overrides），由维护团队审核后应用到生成的数据文件中。

---

## 总结与展望

modelscan/registry 为大语言模型生态提供了一个急需的基础设施层——一个开放、统一、机器可读的元数据注册中心。通过解决模型身份识别、多源数据整合、定价策略表达等核心问题，它显著降低了开发者在模型选型、集成和管理方面的认知负担。

随着模型生态的持续发展，这类统一注册表的价值将愈发凸显。无论是个人开发者、初创公司还是大型企业，都可以从中受益，将更多精力投入到应用创新而非基础设施维护上。
