feat(copilot): complete runtime provider configuration
This commit is contained in:
@@ -14,7 +14,7 @@
|
||||
3. LLM Provider、Base URL、API Key 属于**平台级配置**,对整套 GoChat 安装生效。
|
||||
4. 功能开关、功能模型、回复风格属于**账户级配置**,只影响当前 Account。
|
||||
5. Assistant 的提示词、Guardrails、Response Guidelines、知识文档和 Inbox 绑定继续在 Assistant 页面管理,不塞入 Copilot 配置页。
|
||||
6. API Key 使用基于现有 JWT Secret 派生密钥的 AES-256-GCM 加密后落库;接口只返回掩码,日志禁止记录,页面不提供查看明文能力。
|
||||
6. API Key 以明文写入 `installation_configs.value`;接口只返回配置状态和掩码,日志禁止记录 Key 或 Authorization Header,页面不提供查看明文能力。
|
||||
7. Copilot 在系统中全局永久启用,不提供总开关,也不允许通过环境变量、配置文件或页面关闭。
|
||||
8. Copilot Provider 参数只从数据库读取,不定义任何 Copilot/Captain 环境变量。
|
||||
9. 除 Embedding 维度变化外,配置保存后应运行时生效,不要求重启服务。
|
||||
@@ -182,12 +182,13 @@ Assistant 自身的 Temperature、Guardrails、Response Guidelines 优先级高
|
||||
| InstallationConfig Name | 内容 |
|
||||
|---|---|
|
||||
| `COPILOT_PROVIDER_CONFIG` | 不含密钥的 JSON 配置 |
|
||||
| `COPILOT_API_KEY` | AES-256-GCM 加密后的 API Key |
|
||||
| `COPILOT_CHAT_API_KEY` | Chat Provider API Key 明文 |
|
||||
| `COPILOT_EMBEDDING_API_KEY` | 独立 Embedding Provider API Key 明文;复用 Chat 凭据时为空 |
|
||||
|
||||
### 8.2 API Key 处理要求
|
||||
|
||||
- Copilot API Key 使用 AES-256-GCM 加密后写入 `installation_configs.value`,加密密钥由现有 JWT Secret 派生。
|
||||
- 更换 JWT Secret 前必须先重新保存 Copilot API Key,否则旧密文将无法解密。
|
||||
- Copilot API Key 直接以明文写入 `installation_configs.value`,不做 AES-256-GCM 或其他应用层加密。
|
||||
- 数据库、备份和运维访问权限承担密钥保护责任;密钥不得进入普通配置导出、日志或错误响应。
|
||||
- API 响应只返回:`configured: true/false`、`masked_value: "sk-****abcd"`。
|
||||
- 更新请求中省略 `api_key` 表示保留原值;`clear_api_key: true` 才允许清除。
|
||||
- 错误日志、审计日志、连接测试响应均不得包含 Key、Authorization Header 或完整请求体。
|
||||
|
||||
Reference in New Issue
Block a user