1. 04 Apr, 2026 7 commits
    • erio's avatar
      fix: channel cache fail-close, group conflict check across pages, status toggle stale data · feb6999d
      erio authored
      - GetGroupPlatforms failure now stores error-TTL cache and returns error (fail-close)
      - Frontend group-to-channel conflict map loads all channels instead of current page only
      - Toggle channel status reloads list when active filter would hide the changed item
      feb6999d
    • erio's avatar
      fix: resolve golangci-lint issues · 3851628a
      erio authored
      - Fix errcheck: defer rows.Close() with nolint
      - Fix errcheck: type assertion with ok check in channel cache
      - Fix staticcheck ST1005: lowercase error string
      - Fix staticcheck SA5011: nil check cost before use in openai gateway
      - Fix gofmt: format chatcompletions_to_responses.go
      3851628a
    • erio's avatar
      feat(channel): 缓存扁平化 + 网关映射集成 + 计费模式统一 + 模型限制 · 0b1ce6be
      erio authored
      - 缓存按 (groupID, platform, model) 三维 key 扁平化,避免跨平台同名模型冲突
      - buildCache 批量查询 group platform,按平台过滤展开定价和映射
      - model_mapping 改为嵌套格式 {platform: {src: dst}}
      - channel_model_pricing 新增 platform 列
      - 前端按平台维度重构:每个平台独立配置分组/映射/定价
      - 迁移 086: platform 列 + model_mapping 嵌套格式迁移
      0b1ce6be
    • erio's avatar
      feat(channel): 缓存扁平化 + 网关映射集成 + 计费模式统一 + 模型限制 · ebac0dc6
      erio authored
      - 缓存重构为 O(1) 哈希结构 (pricingByGroupModel, mappingByGroupModel)
      - 渠道模型映射接入网关流程 (Forward 前应用, a→b→c 映射链)
      - 新增 billing_model_source 配置 (请求模型/最终模型计费)
      - usage_logs 新增 channel_id, model_mapping_chain, billing_tier 字段
      - 每种计费模式统一支持默认价格 + 区间定价
      - 渠道模型限制开关 (restrict_models)
      - 分组按平台分类展示 + 彩色图标
      - 必填字段红色星号 + 模型映射 UI
      - 去除模型通配符支持
      ebac0dc6
    • erio's avatar
      feat(channel): 模型映射 + 分组搜索 + 卡片折叠 + 冲突校验 · 29d58f24
      erio authored
      - 渠道模型映射:新增 model_mapping JSONB 字段,在账号映射之前执行
      - 分组选择:添加搜索过滤 + 平台图标
      - 定价卡片:支持折叠/展开,已有数据默认折叠
      - 模型冲突校验:前后端均禁止同一渠道内重复模型
      - 迁移 083: channels 表添加 model_mapping 列
      29d58f24
    • erio's avatar
      983fe589
    • erio's avatar
      feat(channel): 渠道管理系统 — 多模式定价 + 统一计费解析 · 91c9b8d0
      erio authored
      Cherry-picked from release/custom-0.1.106: a9117600
      91c9b8d0