配置契约
Go 配置类型和路由注册表是 canonical 文档的事实 来源。签入的 JSON Schema 从该来源生成,并由 Router API、CLI 和控制面板消费。
Go config types + routing registries
│
├── one checked-in JSON Schema + surface catalog
│ ├── embedded in Router builds
│ ├── staged into CLI and Dashboard builds
│ └── consumed directly by Website and Dashboard UI
│
└── Router semantic validators
└── validate API used before apply
这种划分是有意的:
- 生成的 schema 拥有字段名称、形状、描述,以及受支持的信号、投影、算法和插件清单;
- Router 校验器拥有跨字段约束、引用、安全规则、文件系统检查、默认值和运行时可行 性;
- 控制面板可以添加标签或专用控件,但会将它们合并到生成的字段上,而不是维护另一套 schema;
- API 和运行时只接受 canonical 字段名称;schema 消费者不维护别名或替代载荷。
发现契约
从 CLI 附带的紧凑章节和路由表面索引开始:
vllm-sr config schema
只跟随当前任务所需的字段目录:
vllm-sr config schema --section global.router.learning
vllm-sr config schema --section global.router.learning --expanded
vllm-sr config schema --surface signal:keyword
vllm-sr config schema --surface algorithm:multi_factor
vllm-sr config schema --full
查询正在运行的 Router 暴露的精确契约:
vllm-sr config schema \
--endpoint http://localhost:8080
--endpoint 适用于每个渐进选项。Router 端点是 GET /api/v1/config/schema:省略 view 返回紧凑索引;使用 view=section&path=... 获取紧凑字段目录,添加 expanded=true 获取该章节的自包含 schema,使用 view=surface&kind=...&name=... 获取一个已注册的路由表面,使用 view=full 获取完整 JSON Schema。
控制面板在 GET /api/router/config/schema 代 理已部署的 Router 契约。如果该 Router 端点不可用,它会回退到控制面板构建中嵌入的 schema,并用 X-Vllm-Sr-Schema-Source: bundled 标记响应。Operate → Platform & Access → Schema Reference 页面显示此来源,并在已部署契约与捆绑契约不同时发出警告。网站的配置 Schema 参考可视化当前文档发行版,而不声称代表某个部署。
Agent 不需要控制面板。在 Router 上查询 GET /api/v1 获取紧凑端点清单,然后用 GET /openapi.json?path=...&method=... 请求一项操作;仅在需要完整 API 文档时使用 GET /openapi.json。控制面板的 Router API Docs 链接是指向同一运行时文档的面向人工的代理。
每种表示都有自己的 ETag;当 Agent 或编辑器缓存它时,使用 If-None-Match。
标准 JSON Schema 描述完整的 canonical 文档。其 x-vllm-sr 节添加路由专用发现元数据:
signals:判别器、YAML 集合、运行时观察键、决策引用能力和限定,以及条目 schema;algorithms:判别器、支持层级、执行模式和载荷 schema;plugins:判别器、描述和配置 schema;projections和projection_input_types:受支持的派生路由表面;global_sections:用于构建管理表面的 canonical 全局路径;schema_endpoint和validation.endpoint:发现和语义校验路径。