Skip to content

2.1.0

Choose a tag to compare

@MarvekG MarvekG released this 21 Aug 12:03
· 5 commits to main since this release
de452ab

概览

  • 本次版本包含 1 个 merged PR:模型元数据来源切换到 models.dev,支持运行时缓存与后台刷新。

PR 详情

#44 Load model metadata from models.dev

  • 链接:#44
  • 作者:MarvekG;合并时间:2026-08-21T11:56:38Z
  • 类型:新功能 / 改进优化
  • 变更内容:
    • 移除内置的硬编码模型元数据文件(model_metadata.json),改为从 models.dev 获取数据;仓库内附带一份 resources/models_dev_api.json 快照作为构建期兜底。
    • 构建时尝试下载最新元数据并写入 OUT_DIR,内容不变时不重复写入;下载失败或数据无效时回退到仓库快照。
    • 打开“测试模型”页面时在后台刷新元数据,不阻塞页面操作;成功下载的结果缓存到 ~/.TestModelAlive/models_dev_api.json,下次优先使用有效缓存,最后才用内嵌快照。
    • OpenCode 的上下文限制、推理档位变体和 DeepSeek Harness 的模型能力描述(contextWindow/maxTokens/输入类型/reasoningEfforts)全部由校验后的 models.dev 数据推导,官方 provider 记录优先。
    • 只输出同时具备 context 和 output 的完整 limit,避免生成不符合 OpenCode schema 的配置;推理档位按 none → minimal → low → medium → high → xhigh → max 排序。
  • 影响说明:
    • 新模型不再依赖发版更新:只要 models.dev 有记录,第三方端点返回的模型即可自动获得正确的容量和推理参数。
    • 离线环境下仍可正常生成配置(依次使用运行时缓存、内嵌快照);完全无数据时相关字段优雅缺省。
    • 元数据随 models.dev 更新,个别模型的档位列表可能与旧版硬编码值不同(例如 deepseek-v4-flash 现为 low/high/max)。

分类摘要

重点更新

  • 模型元数据切换到 models.dev 并支持运行时缓存与后台刷新(#44):解决新模型缺少上下文/输出限制和推理档位、必须等发版才能识别的问题。

改进优化

  • OpenCode 配置只生成完整有效的 limit 对象,推理档位排序规范化(#44)。

破坏性变更

  • 无标记为破坏性的变更;但模型元数据以 models.dev 为准,个别模型的档位列表与旧版硬编码不同,依赖旧行为的用户需留意。