案例 Models.dev:OpenCode团队开源3.6K Star的AI模型数据库

2026-05-07 07:11:58 +0800 CST views 10

Models.dev:OpenCode团队开源3.6K Star的AI模型数据库

GitHub: https://github.com/anomalyco/models.dev
官网: https://models.dev/
Stars: 3,600+
贡献者: 219+
发布平台: 程序员茄子(chenxutan.com)
标签: AI模型, 模型对比, 成本计算, OpenCode开源, TOML数据库


引言

现在开发 AI 应用,模型选择已经成为越来越头疼的问题。

国外有 OpenAI、Anthropic、Google、Meta,国内有 BAT、字节、快手。再加上无数开源模型和垂直领域专业模型,市场上的 AI 模型数量已经多得让人眼花缭乱。

每次对比几个模型的参数、价格、能力时,都要打开好几个标签页,在各家的文档中来回翻找。

Models.dev 来了。

这是 OpenCode 团队开源的 AI 模型数据库,把各家主流模型的所有关键信息都标准化地整合在了一起。


一、项目简介

Models.dev 是一个全面的 AI 模型规格数据库。

核心数据

指标数值
GitHub Star3,600+
贡献者219+
数据格式TOML
API 格式JSON

项目起源

项目最初是 OpenCode 内部使用的工具,后来开源出来造福整个开发者社区。

核心价值

它不是简单的网页展示,而是一个完整的数据库系统

  • 数据以 TOML 格式存储在仓库中
  • 提供公开的 JSON API 供开发者直接调用
  • 通过社区协作方式持续更新

二、解决的问题

问题1:一站式模型信息查询

传统方式

┌─────────────────────────────────────────────────────────────┐
│ 打开10+标签页                                                │
│ ├── OpenAI 定价页                                           │
│ ├── Anthropic Claude 文档                                   │
│ ├── Google Gemini 规格页                                    │
│ ├── 各家 API 文档                                            │
│ └── ...                                                     │
└─────────────────────────────────────────────────────────────┘

Models.dev 方式

curl https://models.dev/api.json

收录范围

  • OpenAI、Anthropic、Google、Meta 等数十家主流 AI 服务提供商
  • 从基础对话模型到专业领域模型的全场景需求

问题2:精确的成本估算

对于商业 AI 项目,成本控制是重中之重。

Models.dev 记录的定价信息

成本类型说明
输入成本每百万 token 美元
输出成本每百万 token 美元
推理成本Reasoning token 成本(如有)
缓存读取成本Prompt cache read
缓存写入成本Prompt cache write
音频输入成本Audio input(如有)
音频输出成本Audio output(如有)

让你精确估算项目运行成本,再也不用担心账单超支。

问题3:能力规格一目了然

除了价格,Models.dev 还记录了每个模型的能力规格:

能力指标说明
Tool Call是否支持工具调用
Reasoning是否支持推理/思维链
Structured Output是否支持结构化输出
Temperature是否支持温度控制
Attachment是否支持文件附件
Knowledge Cutoff知识截止日期
Release Date发布时间
Last Updated最后更新时间
Open Weights权重是否开源
Context Window上下文窗口大小
Max Input最大输入 token
Max Output最大输出 token
Input Modalities支持的输入模态
Output Modalities支持的输出模态

这些指标对于选择合适的模型至关重要:

  • 做 Agent 应用?Tool Call 是必需的
  • 处理长文档?Context Window 是关键

三、核心亮点

1. 公开的 JSON API

Models.dev 最吸引人的地方之一,就是它提供了公开的 JSON API。

# 获取所有模型数据
curl https://models.dev/api.json

返回的 JSON 数据包含了所有模型的完整信息,你可以用它来:

用途说明
模型选型工具开发交互式模型选择器
成本计算器精确计算 API 调用成本
模型管理面板构建自己的管理界面
动态模型选择代码中动态选择最优模型

API 数据结构

{
  "models": {
    "openai/gpt-4o": {
      "name": "GPT-4o",
      "cost": {
        "input": 2.50,
        "output": 10.00
      },
      "limit": {
        "context": 128000
      }
    }
  }
}

每个模型都有唯一的 Model ID,这也是 AI SDK 中使用的标识符。

除了模型数据,你还可以通过 API 获取各个提供商的 Logo:

curl https://models.dev/logos/anthropic.svg
curl https://models.dev/logos/openai.svg
curl https://models.dev/logos/google.svg

使用方法

  • {provider} 替换成 Provider ID
  • 如 anthropic、openai、google 等
  • 如果没有某个提供商的 Logo,会返回默认 Logo

3. 社区驱动,持续更新

特性说明
贡献者数量219+
更新频率新模型发布后很快收录
维护方式社区协作

所有数据都存储在仓库的 providers/ 目录下:

  • 按提供商分类
  • 每个模型用一个 TOML 文件表示
  • 结构清晰,方便贡献和维护

四、数据结构详解

目录结构

providers/
├── openai/
│   ├── provider.toml
│   ├── logo.svg
│   └── models/
│       ├── gpt-4o.toml
│       ├── gpt-4-turbo.toml
│       └── ...
├── anthropic/
│   ├── provider.toml
│   ├── logo.svg
│   └── models/
│       ├── claude-3-opus.toml
│       └── ...
└── ...

提供商配置

provider.toml 示例:

name = "OpenAI"
npm = "@ai-sdk/openai"
env = ["OPENAI_API_KEY"]
doc = "https://platform.openai.com/docs/models"

OpenAI 兼容接口配置

name = "Custom Provider"
npm = "@ai-sdk/openai-compatible"
api = "https://api.example.com/v1"
env = ["CUSTOM_API_KEY"]
doc = "https://example.com/docs/models"

模型配置

models/gpt-5.toml 示例:

name = "GPT 5"
attachment = true
reasoning = true
tool_call = true
structured_output = true
temperature = true
knowledge = "2025-01"
release_date = "2025-03-15"
last_updated = "2025-03-15"
open_weights = false

[cost]
input = 3.00
output = 15.00
reasoning = 15.00
cache_read = 0.30
cache_write = 3.75

[limit]
context = 400000
input = 272000
output = 8192

[modalities]
input = ["text", "image"]
output = ["text"]

配置字段说明

字段类型说明
namestring模型显示名称
attachmentboolean是否支持文件附件
reasoningboolean是否支持推理
tool_callboolean是否支持工具调用
structured_outputboolean是否支持结构化输出
temperatureboolean是否支持温度控制
knowledgestring知识截止日期
release_datestring发布日期
open_weightsboolean权重是否开源

五、本地运行

如果你想本地运行前端:

# 确保安装了 Bun
bun install

cd packages/web
bun run dev

访问 http://localhost:3000 就能看到界面。


六、使用场景

场景1:模型选型

# 获取所有模型数据
curl https://models.dev/api.json | jq '.models | keys'

场景2:成本计算

import requests

api = requests.get('https://models.dev/api.json').json()

def calculate_cost(model_id, input_tokens, output_tokens):
    model = api['models'][model_id]
    input_cost = model['cost']['input'] * input_tokens / 1_000_000
    output_cost = model['cost']['output'] * output_tokens / 1_000_000
    return input_cost + output_cost

场景3:动态模型选择

// 根据需求选择最优模型
const models = await fetch('https://models.dev/api.json')
  .then(r => r.json());

const bestModel = Object.entries(models.models)
  .filter(([_, m]) => m.tool_call && m.limit.context > 100000)
  .sort((a, b) => a[1].cost.input - b[1].cost.input)[0];

七、对比其他方案

维度手动查文档官方定价页Models.dev
信息完整度⚠️ 分散⚠️ 可能隐藏旧模型✅ 完整
更新及时性❌ 手动维护⚠️ 官方更新✅ 社区驱动
可编程性❌ 无❌ 无✅ JSON API
成本估算❌ 手动计算⚠️ 基础定价✅ 详细成本
能力对比❌ 手动整理❌ 分散各处✅ 标准化字段

八、为什么开源

最重要的是,它完全开源免费,由社区驱动,没有任何商业门槛。无论是个人开发者还是企业团队,都能从中受益。

开源优势

优势说明
透明数据完全公开
可信社区审核校验
可持续219+ 贡献者维护
免费无商业门槛

九、适用人群

人群适用度
AI 应用开发者⭐⭐⭐⭐⭐ 完美
成本敏感项目⭐⭐⭐⭐⭐ 完美
模型研究者⭐⭐⭐⭐ 很好
企业选型⭐⭐⭐⭐⭐ 完美

十、总结

核心价值

在 AI 模型数量爆炸式增长的今天,Models.dev 解决了模型信息碎片化的痛点:

价值说明
一站式查询所有主流模型信息
精确估算详细成本数据
快速对比标准化能力字段
直接使用JSON API
持续更新社区驱动

推荐理由

如果你经常需要和 AI 模型打交道,一定要把 Models.dev 收藏起来。它会帮你节省大量查资料的时间,让你把更多精力放在真正的业务逻辑上。


本文首发于「程序员茄子」博客,原文链接:https://chenxutan.com

推荐文章

快速提升Vue3开发者的效率和界面
2025-05-11 23:37:03 +0800 CST
JavaScript设计模式:适配器模式
2024-11-18 17:51:43 +0800 CST
淘宝npm镜像使用方法
2024-11-18 23:50:48 +0800 CST
Golang 随机公平库 satmihir/fair
2024-11-19 03:28:37 +0800 CST
用 Rust 构建一个 WebSocket 服务器
2024-11-19 10:08:22 +0800 CST
阿里云发送短信php
2025-06-16 20:36:07 +0800 CST
10个极其有用的前端库
2024-11-19 09:41:20 +0800 CST
html一些比较人使用的技巧和代码
2024-11-17 05:05:01 +0800 CST
如何将TypeScript与Vue3结合使用
2024-11-19 01:47:20 +0800 CST
程序员茄子在线接单