Introduce ModelPurpose.ANALYSIS and a globally-unique is_analysis_default marker on chat model configs so campaign analysis can resolve its model. Service rejects disabled or non-chat configs; repo clears the previous holder on set. Documented the analysis role in CONTEXT.md.
1.2 KiB
1.2 KiB
01 — 模型配置中心「分析默认」
What to build: 管理员在模型配置中心能把一个「启用中的 chat 模型」标记为「分析默认」(全局唯一,设新的自动清旧的),API 透出该标记。后端新增 ModelPurpose.ANALYSIS 枚举与 model_configs.is_analysis_default 列(Alembic 迁移,batch mode,回填 false),服务层校验「停用配置不能设为分析默认」「非 chat 能力不能设为分析默认」。
Blocked by: None — can start immediately
Status: ready-for-agent
ModelPurpose枚举新增ANALYSIS;CONTEXT.md 的「分析岗位」术语编辑随本 ticket 一并提交- Alembic 迁移:
model_configs加is_analysis_default布尔列(server_default 回填 false) - 仓储层设分析默认时互斥清除(参照
clear_default模式);服务层校验:停用 → 拒绝;非 chat 能力 → 拒绝 - 创建/更新模型配置的 API 接受并返回
is_analysis_default - 模型配置中心前端:chat 配置上可设置/展示「分析默认」标记
- 单元/集成测试:唯一性互斥、停用拒绝、非 chat 拒绝、API 读写
pytest+ruff+npx tsc --noEmit+npm run build全绿