
Maka 模型元数据系统完全指南从 models.dev 到模型目录自动生成【免费下载链接】makaApache Maka (Incubating) is a local-first AI agent workspace. Model messages, tool calls, tool results, permission decisions, and termination events are recorded as an append-only log.项目地址: https://gitcode.com/GitHub_Trending/mak/makaMaka Agent 是一个本地优先的 AI Agent 工作区其模型元数据系统会自动从 models.dev 同步数百个模型的信息生成模型目录、价格与能力数据。本文将带你快速看懂这套元数据系统是怎么运作的以及它如何影响你在 Maka 中看到的模型列表和费用统计。一、数据从哪来models.dev 上游快照Maka 的模型信息并非人工逐条维护而是来自开源模型目录站点 models.dev。同步脚本 scripts/sync-model-metadata.mjs 会拉取其 API 快照https://models.dev/api.json一次覆盖约 44 家供应商Anthropic、OpenAI、Google、DeepSeek、Moonshot 等和数百个模型。脚本内置了一份PROVIDERS映射表把 models.dev 的供应商 ID 对应到 Maka 内部的访问路径类型例如openai、anthropic、google等标准 API 路径alibaba-coding-plan、kimi-coding-plan等套餐类路径opencode-free等免费通道。关键设计脚本会严格校验上游数据结构。一旦 models.dev 的 schema 发生变化比如新增未知字段脚本会直接报错而不是静默写入脏数据——元数据的新鲜度必须是有意识的决定而不是“悄悄漂移”。二、一键同步模型目录自动生成流程在仓库根目录执行 npm 命令即可重新生成元数据npm run sync:model-metadata脚本 scripts/sync-model-metadata.mjs 运行后一次性产出两个生成文件生成文件内容规模packages/core/src/model-metadata.generated.ts每个模型的完整元数据名称、上下文窗口、思考选项、生命周期等约 520 KB、2.4 万行packages/runtime/src/telemetry/model-pricing.generated.ts模型价格表输入/输出/缓存读写每百万 token 美元价数千家条目每个生成文件头部都带有序列化来源声明注明由哪个脚本、从哪个 URL 生成并注明 MIT 上游版权——Git 提交的字节就是实际随版本发布的数据便于审计。每个模型包含哪些元数据同步时toMetadata()函数会把上游字段翻译成 Maka 的ModelMetadata结构定义在 packages/core/src/model-metadata.tsdisplayName / description展示名称与描述lifecycle生命周期active / beta / alpha / deprecatedcontextWindow / maxOutputTokens / inputLimit上下文与输出上限knowledgeCutoff知识截止日期capabilities是否支持视觉、推理reasoning、函数调用thinkingOptions思考强度档位efforts或开关toggle驱动界面上的思考级别菜单isFree输入价为 0 的模型会被标记为免费候选。价格转换同样讲究严谨如果模型使用“200K 以上上下文加价”或“阶梯计价”脚本会跳过该模型的价格而不是发布一个会系统性少算账单的扁平价。套餐类路径如 GitHub Copilot、各类 coding plan默认不计价因为它们走的是订阅而非按量付费。三、元数据如何被消费静态覆盖与目录合并生成文件标注了“禁止手工编辑”因为访问路径相关的定制事实都放在 packages/core/src/model-metadata.ts 的静态覆盖STATIC_MODEL_METADATA中。查找时遵循清晰的合并规则先查生成的 models.dev 快照再查静态覆盖两者都有则深度合并静态覆盖优先。此外还有供应商别名机制xai-oauth、openai-codex、opencode-free等访问路径会复用其对应标准供应商的元数据。模型目录模块 packages/core/src/model-catalog.ts 正是基于lookupModelMetadata/hasModelMetadata构建完整目录判断每个模型是否可用、处于什么生命周期、价格来自内置表还是用户覆盖。这套元数据还驱动了几个实际行为协议选择openAiAdapterApiProtocol()声明了哪些模型必须走 Responses API如 gpt-5 系列、grok-4.5能力判定视觉、PDF 输入、Web 搜索等能力解析都先查用户声明再查连接清单最后回落到元数据用量计费telemetry 模块读取生成的价格表统计每次会话的实际开销。四、性能优化让 520 KB 快照离开首屏早期版本中520 KB 的完整快照会被桌面端首屏静态加载拖慢启动速度。相关优化设计记录在 docs/model-metadata-firstscreen-optimization.md核心思路是完整元数据留在主进程权威边界内渲染进程启动时只接收轻量投影可用模型选项、思考级别、供应商标题文案价格、上下文窗口等富元数据只在懒加载的设置面板中按需使用。优化后首屏产物中模型名引用归零冷启动解析时间显著下降而设置页的模型管理能力保持不变。五、新手实践如何验证与更新元数据如果你想体验这套系统查看生成快照打开 packages/core/src/model-metadata.generated.ts找到你常用供应商对应的模型条目检查上下文窗口和思考档位检查价格表打开 packages/runtime/src/telemetry/model-pricing.generated.ts确认anthropic:claude-haiku-4-5等条目与你预期的每百万 token 价格一致手动重新同步运行npm run sync:model-metadata脚本会拉取最新上游快照并重新生成两个文件也支持--input参数离线解析本地 JSON方便在无网络环境下测试。总结Maka Agent 的模型元数据系统用一条清晰的流水线解决了 AI Agent 工具普遍面临的“模型信息过时”问题models.dev 上游快照 → 严格校验的代码生成 → 静态覆盖合并 → 目录/价格/能力消费。生成文件带来源声明、结构变化会显式报错、阶梯价格宁缺毋滥——这些细节保证了你在 Maka 中看到的模型目录、思考档位和费用统计始终可信、可审计、可再生成。【免费下载链接】makaApache Maka (Incubating) is a local-first AI agent workspace. Model messages, tool calls, tool results, permission decisions, and termination events are recorded as an append-only log.项目地址: https://gitcode.com/GitHub_Trending/mak/maka创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考