1.3 KiB
1.3 KiB
ADR-009:模型连接配置持久化
状态
已接受
决策
- 使用独立的
provider_configs表保存唯一的target与judge连接配置,提供认证后的 REST CRUD;model_profiles继续保存历史能力档案。 - 管理员可创建、更新、删除;已登录用户可读取配置及调用模型相关接口。
- API Key 可写入但绝不回显,只返回
api_key_configured;日志不记录密钥、认证头或请求体。 - 运行时优先读取数据库;某角色没有记录时回退同名
.env配置,便于平滑升级与紧急删除错误覆盖。 target与judge是稳定的自然provider_id。CRUD、连接检查和模型发现统一挂在/providers/{provider_id}下,不暴露内部数据库行 ID。GET /providers返回两条当前生效配置,并以source=database|env标明来源;两种来源都不回显 API Key。check、模型发现和后台测试运行全部复用ProviderFactory;能力探测由后台运行调用,避免配置只对管理接口生效。
边界
SQLite 中的 API Key 与原 .env 一样属于部署密钥,依赖主机文件权限和备份访问控制。当前不增加密钥管理服务或自定义加密层;接入集中式 KMS 后再替换存储方式。