模型元数据与计费
AIO Proxy 允许为客户端可见的模型公开名称(Slug)统一配置元数据、能力特征、Token 限制以及计费价格。该能力由配置文件的 router 字段控制。
配置示例:
config.jsonc
核心概念
- Slug 必须已存在:
router.models的键名是客户端调用时所使用的模型 Slug。该 Slug 必须已被至少一个提供商的models或alias声明;router.models只会为已有路由附加元数据,不会凭空创建新路由。 - 优先级继承梯队:
每个字段按以下梯队由高到低合并解析:
- 整体替换规则:Provider 级别的
cost或limit覆盖是整体替换,而不是深度合并。
extend 属性与 models.dev 集成
当公开的 Slug 与开源社区权威模型数据库 models.dev 中的模型标识一致或对应时,可通过 extend: "provider/model"(例如 openai/gpt-5、anthropic/claude-3-5-sonnet)一键继承官方的上下文窗口尺寸、输入输出配比、多模态支持情况以及最新官方定价。
你在 metadata 中手动填写的字段会自动覆盖继承值;即使某个冷门私有模型在 models.dev 中不存在,AIO Proxy 也会静默丢弃 extend 并保留你的显式配置,不会阻断系统启动。
多提供商上下文聚合 (modelContextAggregation)
当同一个模型公开 Slug(例如 gpt-5)挂载了多个提供商,而这些提供商各自声明了不同大小的上下文窗口时(例如官方支持 400K,某私有网关仅支持 128K):
"min"(默认值,安全保守):对外公开的上下文大小取所有候选提供商中的最小值。确保无论请求被轮询调度到哪一个上游,都不会因为超出该上游的窗口大小而引发 400 Context Length Exceeded 错误。"max"(激进):对外公开的上下文大小取所有候选中的最大值。