erio
|
705131e172
|
fix(channel): 前端重复模型校验改为按平台检查
后端 validateNoDuplicateModels 使用 platform:model 复合键,
前端之前跨平台扁平化检查导致不同平台下的同名模型误报重复。
|
2026-04-04 11:13:57 +08:00 |
|
erio
|
6c99cc611c
|
fix(channel): 渠道表单校验增强 — 空模型定价报错 + 必填标记
- 保存时校验:定价条目有但模型列表为空时报错并跳转到对应平台 tab,
不再静默跳过导致数据丢失
- 保存时校验:启用的平台必须至少选择一个分组
- 分组关联标签增加红色 * 必填标记
|
2026-04-04 11:13:57 +08:00 |
|
erio
|
4ea8b4cb4f
|
refactor(channel): 抽取渠道映射公共函数 + OpenAI映射到body + 空响应修复 + 清理日志
- 抽取 ResolveChannelMappingAndRestrict 统一入口(5处→1个方法)
- 抽取 BuildModelMappingChain 到 ChannelMappingResult 方法(5处→1行调用)
- OpenAI 三入口 Forward 前应用渠道映射到请求体
- OpenAI Responses/Messages 限制检查添加错误响应
- 清理前端 3 处 console.log 调试日志
|
2026-04-04 11:13:56 +08:00 |
|
erio
|
91bdcf8994
|
fix(channel): 模型限制用映射后模型检查 + 平台开关保留配置不删除
- OpenAI 网关三处 IsModelRestricted 改用 channelMapping.MappedModel
- 前端平台勾选改为 enabled 开关,取消勾选不清空配置数据
- formToAPI/校验只处理 enabled 的平台
|
2026-04-04 11:13:56 +08:00 |
|
erio
|
8d03c52e15
|
feat(channel): 通配符定价匹配 + OpenAI BillingModelSource + 按次价格校验 + 用户端计费模式展示
- 定价查找支持通配符(suffix *),最长前缀优先匹配
- 模型限制(restrict_models)同样支持通配符匹配
- OpenAI 网关接入渠道映射/BillingModelSource/模型限制
- 按次/图片计费模式创建时强制要求价格或层级(前后端)
- 用户使用记录列表增加计费模式 badge 列
|
2026-04-04 11:13:43 +08:00 |
|
erio
|
726730bb0e
|
fix(channel): splice替换model_pricing条目 + 增强调试日志
|
2026-04-04 11:09:59 +08:00 |
|
erio
|
faff1771c4
|
debug(channel): 添加 formToAPI 调试日志 + 移除 Sora 平台
|
2026-04-04 11:09:58 +08:00 |
|
erio
|
b06cd06ec1
|
feat(channel): 平台配置改为勾选式,勾选后出现 Tab 但不自动跳转
|
2026-04-04 11:09:58 +08:00 |
|
erio
|
95751d8009
|
feat(channel): 对话框 Tab 布局 — 基础设置 + 平台独立 Tab + 固定高度
|
2026-04-04 11:09:58 +08:00 |
|
erio
|
14e565a004
|
fix(channel): 分组加载时序修复 — 预加载 + await 确保分组数据就绪
|
2026-04-04 11:09:58 +08:00 |
|
erio
|
0b1ce6be8f
|
feat(channel): 缓存扁平化 + 网关映射集成 + 计费模式统一 + 模型限制
- 缓存按 (groupID, platform, model) 三维 key 扁平化,避免跨平台同名模型冲突
- buildCache 批量查询 group platform,按平台过滤展开定价和映射
- model_mapping 改为嵌套格式 {platform: {src: dst}}
- channel_model_pricing 新增 platform 列
- 前端按平台维度重构:每个平台独立配置分组/映射/定价
- 迁移 086: platform 列 + model_mapping 嵌套格式迁移
|
2026-04-04 11:09:28 +08:00 |
|
erio
|
28a6adaaa4
|
fix(channel): 分组紧凑布局+平台颜色名称+计费基准重命名+表单排序调整
|
2026-04-04 11:09:28 +08:00 |
|
erio
|
ebac0dc628
|
feat(channel): 缓存扁平化 + 网关映射集成 + 计费模式统一 + 模型限制
- 缓存重构为 O(1) 哈希结构 (pricingByGroupModel, mappingByGroupModel)
- 渠道模型映射接入网关流程 (Forward 前应用, a→b→c 映射链)
- 新增 billing_model_source 配置 (请求模型/最终模型计费)
- usage_logs 新增 channel_id, model_mapping_chain, billing_tier 字段
- 每种计费模式统一支持默认价格 + 区间定价
- 渠道模型限制开关 (restrict_models)
- 分组按平台分类展示 + 彩色图标
- 必填字段红色星号 + 模型映射 UI
- 去除模型通配符支持
|
2026-04-04 11:09:01 +08:00 |
|
erio
|
29d58f2414
|
feat(channel): 模型映射 + 分组搜索 + 卡片折叠 + 冲突校验
- 渠道模型映射:新增 model_mapping JSONB 字段,在账号映射之前执行
- 分组选择:添加搜索过滤 + 平台图标
- 定价卡片:支持折叠/展开,已有数据默认折叠
- 模型冲突校验:前后端均禁止同一渠道内重复模型
- 迁移 083: channels 表添加 model_mapping 列
|
2026-04-04 11:06:36 +08:00 |
|
erio
|
dca0054e93
|
feat(channel): 模型标签输入 + $/MTok 价格单位 + 左开右闭区间 + i18n
- 模型输入改为标签列表(输入回车添加,支持粘贴批量导入)
- 价格显示单位改为 $/MTok(每百万 token),提交时自动转换
- Token 模式增加图片输出价格字段(适配 Gemini 图片模型按 token 计费)
- 区间边界改为左开右闭 (min, max],右边界包含
- 默认价格作为未命中区间时的回退价格
- 添加完整中英文 i18n 翻译
|
2026-04-04 11:01:22 +08:00 |
|
erio
|
91c9b8d062
|
feat(channel): 渠道管理系统 — 多模式定价 + 统一计费解析
Cherry-picked from release/custom-0.1.106: a9117600
|
2026-04-04 11:00:55 +08:00 |
|