 
|
9212b765cd
|
feat: 新站点创建后显示选择对话框 (#302)
* feat: 实现全局模型白名单功能
## 功能概述
实现全局模型白名单,允许管理员配置只启用特定模型的路由,实现精细化的模型访问控制。
## 主要变更
### 后端实现
- config.ts: 新增 globalAllowedModels 配置项
- settings.ts:
- 新增 RuntimeSettingsBody 类型支持
- 实现数据库加载和持久化
- 配置变更自动触发路由重建
- modelService.ts:
- 在路由重建中添加白名单过滤逻辑
- 大小写不敏感匹配,自动trim空格
- 空白名单时允许所有模型(向后兼容)
- stats.ts:
- 候选API过滤 models/modelsWithoutToken/modelsMissingTokenGroups
### 前端实现
- Settings.tsx:
- 新增"全局模型白名单"配置卡片
- 支持手动输入和点击选择两种添加方式
- 绿色徽章显示已选模型,支持删除
- 保存后自动触发路由重建
## 技术特性
- ✅ 向后兼容(默认为空数组,允许所有模型)
- ✅ 大小写不敏感匹配
- ✅ 自动trim和去重
- ✅ 输入验证(类型检查、空值过滤)
- ✅ 配置变更自动重建路由
## 测试验证
- 白名单为空时所有模型可见
- 白名单有值时只显示白名单模型
- 路由重建正确过滤模型
- 候选API正确返回过滤结果
- 前端UI交互正常
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat: 站点创建后显示选择对话框
新站点创建后不再根据平台类型自动跳转,而是显示一个选择对话框让用户决定下一步操作:
- 添加账号(用户名密码登录)
- 添加 API Key
- 稍后配置
对于 codex 平台,选择"添加账号"时会跳转到 OAuth 流程,其他平台则跳转到账号管理页面。
这样可以避免用户被强制跳转,提供更灵活的配置选择。
* fix: add getModelTokenCandidates mock to Settings tests
* fix: add getModelTokenCandidates mock to proxy-transport test
---------
Co-authored-by: Ding <ding@local>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-30 18:51:23 +08:00 |
|
 
|
fa25a501a8
|
feat: 实现全局模型白名单功能 (#301)
* feat: 实现全局模型白名单功能
## 功能概述
实现全局模型白名单,允许管理员配置只启用特定模型的路由,实现精细化的模型访问控制。
## 主要变更
### 后端实现
- config.ts: 新增 globalAllowedModels 配置项
- settings.ts:
- 新增 RuntimeSettingsBody 类型支持
- 实现数据库加载和持久化
- 配置变更自动触发路由重建
- modelService.ts:
- 在路由重建中添加白名单过滤逻辑
- 大小写不敏感匹配,自动trim空格
- 空白名单时允许所有模型(向后兼容)
- stats.ts:
- 候选API过滤 models/modelsWithoutToken/modelsMissingTokenGroups
### 前端实现
- Settings.tsx:
- 新增"全局模型白名单"配置卡片
- 支持手动输入和点击选择两种添加方式
- 绿色徽章显示已选模型,支持删除
- 保存后自动触发路由重建
## 技术特性
- ✅ 向后兼容(默认为空数组,允许所有模型)
- ✅ 大小写不敏感匹配
- ✅ 自动trim和去重
- ✅ 输入验证(类型检查、空值过滤)
- ✅ 配置变更自动重建路由
## 测试验证
- 白名单为空时所有模型可见
- 白名单有值时只显示白名单模型
- 路由重建正确过滤模型
- 候选API正确返回过滤结果
- 前端UI交互正常
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: add getModelTokenCandidates mock to Settings tests
* fix: add getModelTokenCandidates mock to proxy-transport test
---------
Co-authored-by: Ding <ding@local>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-30 17:19:02 +08:00 |
|
 DeliciousandDeliciousBuding
|
a64a51aa0c
|
feat: 下游 API 密钥管理 (#103)
* feat: downstream API key usage + proxy log attribution
* chore(schema): regenerate generated artifacts
* test: keep migration replay + platform detection tests stable
* feat: complete downstream api key management validation
* refactor: move downstream keys into console nav
* feat: upgrade downstream keys management console
* feat: harden downstream key management flows
* test: cover downstream key policy guards
* feat: add downstream key grouping and tags
* feat: polish downstream key search and log metadata
* test: fix sqlite migration bootstrap coverage
* perf: isolate vchart bundle loading
* fix: align downstream key drawer metrics
---------
Co-authored-by: DeliciousBuding <DeliciousBuding@users.noreply.github.com>
|
2026-03-15 22:00:02 +08:00 |
|