Migrate legacy AI and speech settings to backend

- Add a super-admin-only settings merge that copies legacy local AI provider keys into an empty backend settings record.

- Add matching migration for legacy Xunfei APPID, APIKey, and APISecret without overwriting existing backend secrets.

- Cover the migration and secret-preservation behavior with SystemSettings unit tests.

- Update feature, module, progress, and testing docs for the settings migration behavior.
This commit is contained in:
2026-05-02 02:22:26 +08:00
parent 7c6449b7bd
commit 8e0332b3cf
6 changed files with 140 additions and 2 deletions

View File

@@ -90,6 +90,7 @@ AI 第三方接口、讯飞语音上游 WebSocket、麦克风权限和真实视
| 后端模板兼容映射 | 已覆盖 | `server/src/templates/template.mapper.test.ts` |
| 后端用户兼容映射 | 已覆盖 | `server/src/users/users.mapper.test.ts` |
| 后端系统设置 schema | 已覆盖 | `server/src/settings/settings.schemas.test.ts` |
| 系统设置旧密钥迁移 | 已覆盖 | `src/pages/SystemSettings.test.tsx` 覆盖后端空配置时从旧本地缓存合并 AI Key 和讯飞配置,并避免覆盖已有后端密钥。 |
| 后端 AI 代理 schema | 已覆盖 | `server/src/ai/ai.schemas.test.ts` |
| 后端语音代理首帧处理 | 已覆盖 | `server/src/speech/xf-frame.test.ts` |
| 后端字段库 schema | 已覆盖 | `server/src/library/library.schemas.test.ts` |