Affected area
Model routing / providers
Problem or use case
当前编辑上游配置时,API Key 输入框留空表示“不修改已有 Key”。这个设计本身是安全的,避免管理员打开编辑页后误清空密钥。
但在多 Key 轮询场景下,如果某个 API Key 已经过期、失效或不再使用,目前缺少明确的删除入口。管理员只能重新填写一整组新的 API Key 来覆盖配置,无法直接删除某一个旧 Key,维护成本较高,也容易误操作。
Proposed behavior
在上游编辑页面支持删除已配置的 API Key(仅供参考,以实际用户体验为目标):
- 编辑上游时展示当前已配置的脱敏 Key 列表。
- 每个 Key 提供删除操作,点击后标记为待删除。
- 点击保存后删除对应 Key。
- 留空输入框仍然保持“不修改已有 Key”的语义,不应改成清空。
- 不展示明文 API Key,只展示脱敏后的 Key。
- 如果删除后没有任何可用 Key,应阻止保存并提示需要至少保留一个 Key,或要求管理员先填写新的 Key。
- 如果填写了新的 API Key,则按现有逻辑替换整组 Key。
- 删除操作建议二次确认,避免误删可用 Key。
Alternatives considered
可以通过重新填写完整 API Key 列表来覆盖旧配置,但这种方式不适合多 Key 维护场景,也容易遗漏或误删仍可用的 Key。
也可以把空输入框解释为清空所有 Key,但这会破坏当前“留空不修改”的安全语义,不建议这样做。
Compatibility, deployment, or migration impact
配置变更:预计不需要。
API 变更:可能需要扩展上游更新接口,例如支持按索引或 Key ID 删除已配置 Key。
数据库迁移:预计不需要,现有密钥配置已存储为加密 JSON。
部署变更:预计不需要。
向后兼容:现有上游配置保持不变。留空不修改的行为应继续保留。
Documentation or API contract impact
需要补充上游 API Key 管理说明:
- 留空表示不修改。
- 填写新 Key 表示替换整组 Key。
- 删除按钮用于删除已有脱敏 Key。
- 明文 Key 不会回显。
Pre-submit checklist
Affected area
Model routing / providers
Problem or use case
当前编辑上游配置时,API Key 输入框留空表示“不修改已有 Key”。这个设计本身是安全的,避免管理员打开编辑页后误清空密钥。
但在多 Key 轮询场景下,如果某个 API Key 已经过期、失效或不再使用,目前缺少明确的删除入口。管理员只能重新填写一整组新的 API Key 来覆盖配置,无法直接删除某一个旧 Key,维护成本较高,也容易误操作。
Proposed behavior
在上游编辑页面支持删除已配置的 API Key(仅供参考,以实际用户体验为目标):
Alternatives considered
可以通过重新填写完整 API Key 列表来覆盖旧配置,但这种方式不适合多 Key 维护场景,也容易遗漏或误删仍可用的 Key。
也可以把空输入框解释为清空所有 Key,但这会破坏当前“留空不修改”的安全语义,不建议这样做。
Compatibility, deployment, or migration impact
配置变更:预计不需要。
API 变更:可能需要扩展上游更新接口,例如支持按索引或 Key ID 删除已配置 Key。
数据库迁移:预计不需要,现有密钥配置已存储为加密 JSON。
部署变更:预计不需要。
向后兼容:现有上游配置保持不变。留空不修改的行为应继续保留。
Documentation or API contract impact
需要补充上游 API Key 管理说明:
Pre-submit checklist