模型配置最小示例
September 10, 2026 · View on GitHub
参考示例,不是生产目录。架构和修改位置见 模型配置与下发。 每个 JSON 块都是独立、完整的 Registry,供真实 parseModelRegistry 校验;放入完整 Catalog 时使用 modelRegistry 字段。 示例名称、日期、窗口、标签和内存均为演示数据,不说明真实服务可用或当前推荐;发布仍需版本与媒体兼容检查。
从仓库根目录、依赖已准备好的环境执行:
pnpm --filter @cindy/model-providers test -- src/__tests__/documentedModelCatalog.test.ts
校验直接提取本文 JSON 块,已纳入 model-providers 标准单测与 CI,不另维护重复 fixture。
1. 新增公共型号和接入声明
公共资料通过 modelRef 关联;route 决定接入目标。无实报和用户覆盖时窗口为 128000。示例不配置真实账号,也不证明该供应商可用。
{
"schemaVersion": 4,
"updatedAt": "2026-09-10T00:00:00.000Z",
"baseModels": [
{"id": "example/model", "aliases": ["model"], "defaults": {"name": "Example Model", "contextWindow": 128000}}
],
"models": [
{
"id": "example-entry",
"name": "Example Model",
"modelRef": "example/model",
"routes": [{"providerId": "example-provider", "modelId": "model", "agents": ["codex"]}]
}
]
}
2. 调整某条供应商路由的默认窗口
只影响匹配这条 providerId/modelId 的默认资料;窗口为 64000。供应商若明确实报 80000,最终采用 80000。
{
"schemaVersion": 4,
"updatedAt": "2026-09-10T00:00:00.000Z",
"baseModels": [
{"id": "example/model", "aliases": ["model"], "defaults": {"name": "Example Model", "contextWindow": 128000}}
],
"models": [
{
"id": "example-entry",
"name": "Example Model",
"modelRef": "example/model",
"routes": [
{
"providerId": "example-provider",
"modelId": "model",
"agents": ["codex"],
"defaults": {"contextWindow": 64000}
}
]
}
]
}
3. 设置 Codex 的工作默认
perAgent 和 routes 同级,无实报时 Codex 窗口为 32000;实报仍优先。不要在这里填 pi,Pi 成员和默认资料走 providers[].models.pi。
{
"schemaVersion": 4,
"updatedAt": "2026-09-10T00:00:00.000Z",
"baseModels": [
{"id": "example/model", "aliases": ["model"], "defaults": {"name": "Example Model", "contextWindow": 128000}}
],
"models": [
{
"id": "example-entry",
"name": "Example Model",
"modelRef": "example/model",
"routes": [
{
"providerId": "example-provider",
"modelId": "model",
"agents": ["codex"],
"defaults": {"contextWindow": 64000}
}
],
"perAgent": {"codex": {"contextWindow": 32000}}
}
]
}
4. 纠正实报,仍保留用户最高优先级
供应商实报 80000 时修正为 72000;若用户显式配置 16000,最终采用 16000。不要把普通默认值放进 forceOverrides。
{
"schemaVersion": 4,
"updatedAt": "2026-09-10T00:00:00.000Z",
"baseModels": [
{"id": "example/model", "aliases": ["model"], "defaults": {"name": "Example Model", "contextWindow": 128000}}
],
"models": [
{
"id": "example-entry",
"name": "Example Model",
"modelRef": "example/model",
"routes": [
{
"providerId": "example-provider",
"modelId": "model",
"agents": ["codex"],
"forceOverrides": {"contextWindow": 72000},
"overrideReason": "结构演示:假设已核实该接入错误报告窗口;生产必须写真实原因"
}
]
}
]
}
5. 新增本地候选包装,暂不推荐
仅说明包装字段;标签和内存数字均为假设,不可下载或用于真实推荐。featuredIds 为空表示没有推荐,不删除这个候选或本机已安装模型。正式推荐需补齐本地筛选规则要求的证据。
{
"schemaVersion": 4,
"updatedAt": "2026-09-10T00:00:00.000Z",
"baseModels": [
{"id": "example/model", "aliases": ["model"], "defaults": {"name": "Example Model", "contextWindow": 128000}}
],
"models": [
{
"id": "example-entry",
"name": "Example Model",
"modelRef": "example/model",
"routes": [{"providerId": "example-provider", "modelId": "model", "agents": ["codex"]}]
}
],
"localModels": {
"version": 1,
"models": [
{
"id": "example-local",
"modelRef": "example/model",
"name": "Example Local",
"aliases": ["example"],
"variants": [{"libraryName": "example:8b-q4", "sizeBytes": 4294967296, "minUnifiedMemoryGb": 16}],
"runtimeProfile": "plain"
}
],
"featuredIds": []
}
}
图片、视频、音频与向量示例及额外下发条件见 V4 全类型规范。