docs(会员): 定案模型列表可用/不可用分桶契约
- ADR 增补修订节:GET /api/llm/models 返回 models + unavailableModels,reason 枚举 plan_required/disabled/unknown,停用优先,不放松服务端强制 - 技术设计 §11.2 改述列表契约为分桶,§11.4 补 llm_catalog.rs 落点、域层分桶方法、AGC 客户端 hover 文案与 ts-rs 单一真源,并刷新落地提交号 - AGC 后台模型别名技术方案补 2026-10-03 修订说明 - AGC 模型目录上游同步里程碑标注「形状不变」已被后续变更取代 - decision-log 追加分桶决策、兼容与客户端口径
This commit is contained in:
@@ -24,3 +24,14 @@ accepted(2026-10-03)
|
||||
- 模型限制在人工标注 `Full` 之前不会拦截任何请求。
|
||||
- `raw` gpt-image-2 与其它直连同步生成不受 `concurrent_job_limit` 约束(TODO)。
|
||||
- 无灰度开关;出问题只能回滚发版。
|
||||
|
||||
## 修订:列表改为可用 / 不可用分桶(2026-10-03)
|
||||
|
||||
原实现让 `GET /api/llm/models` 只返回本档可用模型(`Basic` 看不到 `Full`),降级用户在客户端只会看到「所选模型已停用」的笼统提示,且产品无法在列表里露出可升级的高档模型。修订为:
|
||||
|
||||
- 返回两个平行数组:`models` 只放本档可用(`enabled` 且档位允许);`unavailableModels` 放目录里其余全部,元素额外带 `reason` 枚举。
|
||||
- `reason` 取值 `plan_required`(档位不够)/ `disabled`(后台停用)/ `unknown`(前向兜底);同时停用且档位不够时取 `disabled`(升级也解锁不了,不能标 `plan_required`)。
|
||||
- 上游真实模型名(`modelId`)两桶都不下发;`defaultModelId` 必须落在 `models` 内。
|
||||
- 分桶只是展示层的信息补充,**不放松服务端强制**:`/api/llm/responses`、`/api/llm/chat/completions`、`/api/llm/anthropic/*` 仍按档 4xx。
|
||||
- `unavailableModels` 是加法字段:旧客户端忽略后行为不变;`reason` 在 wire 侧带 `unknown` 兜底,后端新增取值不会让旧客户端解析失败。
|
||||
- 目录 DTO 与枚举改为 ts-rs 单一真源(whole DTO 导出),`agentMode` / `protocol` 由 `String` 收敛为 Rust 枚举。
|
||||
|
||||
Reference in New Issue
Block a user