d40b9b53c2
- 添加详细的错误日志记录,包括请求读取、渠道选择、请求构建和响应处理的失败情况 - 统一AI接口请求失败返回消息为"AI 接口请求失败" - 添加对上游响应状态码>=400的检查和错误处理 - 在JWT解析中验证签名方法有效性,防止无效登录状态 - 移除JWT密钥警告日志,改为运行时生成随机密钥 - 调整应用配置模态框中云端和本地选项的显示顺序 - 添加图片生成元数据记录生成类型、模型、尺寸、质量和参考图等信息 - 实现空图片节点直接生成图片而不保留空框的功能 - 完善图片重试逻辑,优先使用保存的元数据进行重试 - 添加参考图片丢失时的错误提示 - 修复图片节点样式圆角显示问题 - 更新AI代理路径为/api/v1/*保持OpenAI风格 - 添加系统设置页面的安全警告提示
84 lines
2.5 KiB
Markdown
84 lines
2.5 KiB
Markdown
# 系统配置数据结构
|
|
|
|
系统配置保存在 `settings` 表中,目前只使用两行:
|
|
|
|
| key | 说明 |
|
|
| --- | --- |
|
|
| `public` | 公开配置,前端可以读取 |
|
|
| `private` | 私有配置,只给后端和管理员使用 |
|
|
|
|
## public.value
|
|
|
|
```json
|
|
{
|
|
"modelChannel": {
|
|
"availableModels": ["gpt-5.5", "gpt-image-2"],
|
|
"defaultModel": "gpt-image-2",
|
|
"defaultImageModel": "gpt-image-2",
|
|
"defaultTextModel": "gpt-5.5",
|
|
"systemPrompt": "",
|
|
"allowCustomChannel": false
|
|
}
|
|
}
|
|
```
|
|
|
|
| 字段 | 类型 | 说明 |
|
|
| --- | --- | --- |
|
|
| `modelChannel` | object | 模型渠道公开配置组 |
|
|
|
|
`modelChannel` 字段:
|
|
|
|
| 字段 | 类型 | 说明 |
|
|
| --- | --- | --- |
|
|
| `availableModels` | string[] | 系统可用模型,由管理员手动选择;页面下拉选项可来自私有渠道模型 |
|
|
| `defaultModel` | string | 默认模型,从 `availableModels` 中选择 |
|
|
| `defaultImageModel` | string | 默认图片模型,从 `availableModels` 中选择 |
|
|
| `defaultTextModel` | string | 默认文本模型,从 `availableModels` 中选择 |
|
|
| `systemPrompt` | string | 系统提示词 |
|
|
| `allowCustomChannel` | boolean | 是否允许用户在配置弹窗中切换为本地直连渠道 |
|
|
|
|
用户侧请求模式:
|
|
|
|
| 模式 | 说明 |
|
|
| --- | --- |
|
|
| 云端渠道 | 使用后端 `/api/v1/*` 代理接口,请求会按模型名匹配 `private.value.channels` 中的可用渠道 |
|
|
| 本地直连 | 仅 `allowCustomChannel` 为 `true` 时可选,用户在浏览器本地配置 `baseUrl`、`apiKey` 和模型列表后直接请求模型接口 |
|
|
|
|
## private.value
|
|
|
|
```json
|
|
{
|
|
"channels": [
|
|
{
|
|
"protocol": "openai",
|
|
"name": "默认渠道",
|
|
"baseUrl": "https://api.example.com",
|
|
"apiKey": "sk-xxx",
|
|
"models": ["gpt-5.5", "gpt-image-2"],
|
|
"weight": 1,
|
|
"enabled": true,
|
|
"remark": ""
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
| 字段 | 类型 | 说明 |
|
|
| --- | --- | --- |
|
|
| `channels` | object[] | 模型渠道列表 |
|
|
|
|
`channels` 每项字段:
|
|
|
|
| 字段 | 类型 | 说明 |
|
|
| --- | --- | --- |
|
|
| `protocol` | string | 协议,当前为 `openai` |
|
|
| `name` | string | 渠道名称 |
|
|
| `baseUrl` | string | OpenAI 兼容接口地址 |
|
|
| `apiKey` | string | 渠道密钥 |
|
|
| `models` | string[] | 该渠道可用模型 |
|
|
| `weight` | number | 渠道权重;同一模型有多个可用渠道时按权重随机 |
|
|
| `enabled` | boolean | 是否启用 |
|
|
| `remark` | string | 备注 |
|
|
|
|
后端调用模型时,会从已启用、已配置 `baseUrl` 和 `apiKey`、且 `models` 包含目标模型的渠道中选择一个。
|