当AI的户口本被重新整理——一个开源项目的架构蜕变
> 来源 Commit: e6c189a
> 项目: easy-learn-ai
> 时间: 2026年7月12日
---
一、一个关于"找东西"的故事
想象一下这样的场景:
你走进一座巨大的图书馆,所有书——从《红楼梦》到《量子力学导论》,从《哈利波特》到《母猪的产后护理》——全部堆在一个房间里,没有分类,没有标签,只有一本5000多页的总目录。你想找一本关于"如何让AI写诗"的书,于是翻开目录,在密密麻麻的条目里逐行扫描……
这就是 easy-learn-ai 项目在重构之前的模样。
它的模型数据全部塞进了一个叫 model.json 的文件里——整整5000多行。每次要添加一个新模型,就像往一本已经厚得吓人的词典里插一页纸;每次要修改某个厂商的模型信息,都得在这5000行里翻来找去。更麻烦的是,图像模型和视频模型还被拆到了另外两个文件(img.json 和 video.json),想搞清楚某个厂商到底有哪些模型,你得同时翻三本书。
然后,7月12号的那个晚上,项目的维护者做了一件看似简单、实则精妙的事:
他把这本5000页的"大词典",拆成了20本"小册子"。
---
二、重构后的"档案柜"
现在打开 src/data/models/ 目录,你会看到这样一幅景象:
models/
├── alibaba.json # 阿里巴巴:通义千问家族
├── anthropic.json # Anthropic:Claude 家族
├── baidu.json # 百度:文心/ERNIE 家族
├── black-forest-labs.json # Black Forest Labs:FLUX 家族
├── bytedance.json # 字节跳动:Seed 家族
├── deepseek.json # DeepSeek:R1 家族
├── google.json # Google:Gemini 家族
├── kuaishou.json # 快手:可灵家族
├── meta.json # Meta:Llama 家族
├── midjourney.json # Midjourney
├── minimax.json # MiniMax
├── moonshot.json # 月之暗面:Kimi 家族
├── openai.json # OpenAI:GPT 家族
├── pika.json # Pika Labs
├── runway.json # Runway
├── stability-ai.json # Stability AI
├── tencent.json # 腾讯:混元家族
├── xai.json # xAI:Grok 家族
└── zhipu-ai.json # 智谱AI:GLM 家族
20个文件,6195行代码,涵盖了当今AI领域几乎所有重要的玩家。
这不仅仅是"把大文件拆成小文件"那么简单。这是一种思维方式的转变——从"以数据为中心"转向了"以厂商为中心"。当你想知道"阿里巴巴最近出了什么新模型"的时候,你只需要打开 alibaba.json,752行的数据里,通义千问从3.5到3.7的进化脉络一目了然。
---
三、每个模型的"身份证"
更值得一提的是,重构后的数据结构给每个模型发了一张标准化的"身份证":
{
"modelName": "DeepSeek-R1",
"company": "DeepSeek",
"country": "中国",
"openSourceStatus": "开源",
"releaseDate": "2025-01-20",
"description": "首代推理模型,通过多阶段冷启动与强化学习显著提升链式思考能力……",
"modelTags": ["文本生成", "深度思考"],
"contextWindow": 64,
"maxGenerationTokenLength": 16,
"relatedLinks": [
{ "title": "技术报告", "url": "https://arxiv.org/abs/2501.12948" },
{ "title": "GitHub 仓库", "url": "https://github.com/deepseek-ai/DeepSeek-R1" }
],
"parent": "DeepSeek-R1"
}
这张"身份证"上有几个特别值得关注的设计:
开源状态(openSourceStatus):明确标注"开源"或"闭源"。在AI行业,这几乎是最敏感也最核心的信息之一。一个模型是开源还是闭源,决定了它是可以被社区反复蒸馏、改造、部署的"公共资产",还是被厂商牢牢攥在手里的"商业机密"。
上下文窗口(contextWindow):64代表64K token——你可以把它理解为模型的"短期记忆容量"。64K意味着它能一次性读完一本中篇小说的长度,然后回答你关于这本小说的任何问题。而像 Claude Opus 4.8 这样的模型,这个数字是1000K——也就是100万字,差不多能装下《红楼梦》加上《西游记》的前半部分。
父子关系(parent):这是一个非常优雅的设计。DeepSeek-R1-Distill-Qwen-1.5B 的 parent 是 DeepSeek-R1,这意味着它是一个"蒸馏版"——就像老师把自己的知识浓缩成一本薄薄的讲义,让学生(更小的模型)也能快速掌握精髓。这种"家谱"式的记录,让模型之间的关系变得清晰可追溯。
---
四、自动化的魔法
如果你以为维护者每次新增一个厂商都要去改代码,那就太小看这个重构的优雅程度了。
看看新的 modelApi.ts 是怎么加载模型数据的:
function loadAllModels(): AIModel[] {
const context = import.meta.webpackContext("../data/models", {
recursive: false,
regExp: /\.json$/,
});
const models: AIModel[] = [];
for (const key of context.keys()) {
const mod = context(key) as AIModel[] | { default: AIModel[] };
const list = Array.isArray(mod) ? mod : mod.default;
models.push(...list);
}
return models;
}
这段代码的核心只有一句话:自动扫描 data/models 目录下的所有 JSON 文件,全部加载进来。
这意味着什么?意味着未来当某个新的AI创业公司——比如一家叫"星际之门"的神秘公司——发布了一个震惊业界的新模型时,维护者只需要做一件事:
在 src/data/models/ 目录下新建一个 xingji-zhimen.json 文件,填入模型信息。
不需要改任何代码。不需要重新编译。Webpack 会在构建时自动发现这个新文件,把它和其他19个厂商的数据合并在一起。
这就是所谓的"约定优于配置"(Convention over Configuration)——你按照约定的目录结构和文件命名放好数据,系统就自动知道该怎么处理。这是一种高级的"懒人哲学":把重复性的工作交给机器,把创造性的工作留给人。
---
五、全球AI版图的一张快照
这次重构的另一个价值,是它无意中绘制出了一张全球AI模型的全景地图。让我们按"国籍"来清点一下这20家厂商:
🇨🇳 中国阵营(10家):
- 阿里巴巴(Qwen/通义千问)——开源路线的坚定践行者
- 百度(ERNIE/文心)——国内最早布局大模型的巨头之一
- 字节跳动(Seed)——抖音背后的AI力量
- DeepSeek——以"小团队大模型"震惊行业的现象级公司
- 快手(可灵)——视频生成领域的新锐
- MiniMax——专注多模态的创业公司
- 月之暗面(Kimi)——以超长上下文窗口著称
- 腾讯(混元)——社交帝国的AI底牌
- 智谱AI(GLM)——清华系的技术输出
- 外加 华为的盘古、科大讯飞的星火虽未在这次提交中出现,但国内大模型的竞争激烈程度可见一斑
- OpenAI(GPT系列)——点燃整个行业的第一把火
- Anthropic(Claude)——AI安全领域的标杆
- Google(Gemini)——搜索引擎巨头的AI反击
- Meta(Llama)——开源大模型的最大贡献者
- xAI(Grok)——马斯克的"叛逆"之作
- Midjourney——AI绘画的审美天花板
- Stability AI——Stable Diffusion 的守护者
- Black Forest Labs(FLUX)——来自德国的高质量图像生成
- Pika Labs——视频生成的新秀
- Runway——AI视频编辑的先驱
---
六、为什么要关心这件事?
你可能会问:这不就是一个开源项目的技术重构吗?值得写这么多字吗?
我的回答是:值得。而且非常值得。
因为 easy-learn-ai 做的事情,本质上是在回答一个每一个接触AI的人都会遇到的问题:
> "现在市面上到底有多少个AI模型?它们各自能干什么?哪个适合我?"
在2023年,这个问题还有标准答案——GPT-4。但到了2026年,答案变成了一张密密麻麻的表格:文本模型、图像模型、视频模型、代码模型、推理模型、多模态模型……每个类别下面又有十几二十个选项。对于普通用户来说,这简直就是一场"选择瘫痪"。
easy-learn-ai 的价值,就在于它试图用结构化的方式,帮人们理清这片混乱的星图。当你想知道"哪个开源模型的中文能力最强"的时候,你可以去翻 alibaba.json 和 deepseek.json;当你想知道"哪个闭源模型的代码能力最好"的时候,你可以对比 openai.json 和 anthropic.json。
而这次重构,让这张星图变得更加可读、可维护、可扩展。
---
七、一个关于"整理"的隐喻
最后,我想用一个生活中的比喻来结束这篇文章。
你有没有这样的经历:电脑桌面上的文件越堆越多,直到有一天你发现自己花十分钟找一份昨天刚保存的文档。于是某个周末,你下定决心整理——新建文件夹,分类归档,给文件重命名。整理完之后,你坐在电脑前,看着干干净净的桌面,有一种奇异的满足感。
这次重构,本质上就是一次这样的"桌面整理"。
但不同的是,这个"桌面"面向的是所有想了解AI的人。维护者花费的时间精力,最终转化成了每一个使用者的便利。当你能快速找到想要的模型信息时,你节省的那几分钟,就是维护者那晚几个小时工作的价值所在。
这就是开源社区的美妙之处:一个人的整理,变成了所有人的便利。
---
参考信息
- easy-learn-ai Commit:
e6c189a - 重构涉及文件: 20个厂商JSON + modelApi.ts
- 总数据量: 6195行,覆盖20家AI厂商