1. 31 Dec, 2025 1 commit
    • yangjianbo's avatar
      perf(后端): 完成性能优化与连接池配置 · 7efa8b54
      yangjianbo authored
      新增 DB/Redis 连接池配置与校验,并补充单测
      
      网关请求体大小限制与 413 处理
      
      HTTP/req 客户端池化并调整上游连接池默认值
      
      并发槽位改为 ZSET+Lua 与指数退避
      
      用量统计改 SQL 聚合并新增索引迁移
      
      计费缓存写入改工作池并补测试/基准
      
      测试: 在 backend/ 下运行 go test ./...
      7efa8b54
  2. 26 Dec, 2025 4 commits
    • IanShaw027's avatar
      refactor: 统一使用 mergeMap 函数提升代码一致性 · 576bf463
      IanShaw027 authored
      根据 Gemini CLI 代码审查建议:
      
      ## 修改内容
      - 将 Gemini OAuth 同步中的 `mergeJSONB` 调用替换为 `mergeMap`
      - 删除不再使用的 `mergeJSONB` 函数定义
      
      ## 原因
      - 其他平台(OpenAI、Anthropic)的账户同步都使用 `mergeMap`
      - `mergeJSONB` 是为旧的 `model.JSONB` 类型设计,与重构后的架构不一致
      - 统一函数命名提高代码可读性和可维护性
      
      ## 影响范围
      - backend/internal/service/crs_sync_service.go (4处替换)
      - backend/internal/service/account.go (删除 mergeJSONB 函数)
      
      ## 验证
      ✓ 编译通过
      ✓ 功能逻辑无变化(mergeMap 和 mergeJSONB 实现相同)
      576bf463
    • IanShaw027's avatar
      fix(backend): 适配重构后的架构修复 Gemini OAuth 集成 · 9db52838
      IanShaw027 authored
      ## 主要修改
      
      1. **移除 model 包引用**
         - 删除所有 `internal/model` 包的 import
         - 使用 service 包中的类型定义(Account, Platform常量等)
      
      2. **修复类型转换**
         - JSONB → map[string]any
         - 添加 mergeJSONB 辅助函数
         - 添加 Account.IsGemini() 方法
      
      3. **更新中间件调用**
         - GetUserFromContext → GetAuthSubjectFromContext
         - 适配新的并发控制签名(传递 ID 和 Concurrency 而不是完整对象)
      
      4. **修复 handler 层**
         - 更新 gemini_v1beta_handler.go
         - 修正 billing 检查和 usage 记录
      
      ## 影响范围
      - backend/internal/service/gemini_*.go
      - backend/internal/service/account_test_service.go
      - backend/internal/service/crs_sync_service.go
      - backend/internal/handler/gemini_v1beta_handler.go
      - backend/internal/handler/gateway_handler.go
      - backend/internal/handler/admin/account_handler.go
      9db52838
    • Forest's avatar
      refactor: 调整项目结构为单向依赖 · e5a77853
      Forest authored
      e5a77853
    • ianshaw's avatar
      feat(service): 扩展 CRS 同步和定价服务支持 Gemini · 55258bf0
      ianshaw authored
      - CRS 同步服务新增 Gemini 账号同步逻辑(+273行)
      - 定价服务扩展 Gemini 模型定价计算(+99行)
      - 更新 Token 刷新服务集成 Gemini
      - 更新相关单元测试
      55258bf0
  3. 25 Dec, 2025 4 commits
    • Forest's avatar
      refactor: 删除 ports 目录 · f51ad2e1
      Forest authored
      f51ad2e1
    • IanShaw's avatar
      feat: CRS 同步增强 - 自动刷新 OAuth token 和修复测试配置 (#27) · 60f6ed6b
      IanShaw authored
      * fix(service): 修复 OpenAI Responses API 测试负载配置
      
      - 所有账号类型统一添加 instructions 字段(不再仅限 OAuth)
      - Responses API 要求所有请求必须包含 instructions 参数
      
      * feat(crs-sync): CRS 同步时自动刷新 OAuth token 并保留完整 extra 字段
      
      **核心功能**:
      - CRSSyncService 注入 OAuth 服务依赖(Anthropic + OpenAI)
      - 账号创建/更新后自动刷新 OAuth token,确保可用性
      - 完整保留 CRS extra 字段,避免数据丢失
      
      **Extra 字段增强**:
      - 保留 CRS 所有原始 extra 字段
      - 新增同步元数据: crs_account_id, crs_kind, crs_synced_at
      - Claude 账号: 从 credentials 提取 org_uuid/account_uuid 到 extra
      - OpenAI 账号: 映射 crs_email -> email
      
      **Token 刷新逻辑**:
      - 新增 refreshOAuthToken() 方法处理 Anthropic/OpenAI 平台
      - 保留原有 credentials 字段,仅更新 token 相关字段
      - 刷新失败静默处理,不中断同步流程
      
      **依赖注入**:
      - wire_gen.go: CRSSyncService 新增 oAuthService/openaiOAuthService
      
      * style(crs-sync): 使用 switch 替代 if-else 修复 golangci-lint 警告
      
      - 将 refreshOAuthToken 中的 if-else 改为 switch 语句
      - 符合 staticcheck 规范
      - 添加 default 分支处理未知平台
      60f6ed6b
    • ianshaw's avatar
      fix(backend): handle defer Close() errors in crs_sync_service · 372a0129
      ianshaw authored
      修复 golangci-lint 错误检查问题
      - 使用匿名函数包装 defer Close() 并忽略错误
      - 符合 Go 最佳实践
      372a0129
    • ianshaw's avatar
      feat(account): 添加批量编辑账户凭据功能并优化 CRS 同步 · 2e76302a
      ianshaw authored
      - 新增批量更新账户凭据接口(account_uuid/org_uuid/intercept_warmup_requests)
      - 新增前端批量编辑模态框组件
      - 优化 CRS 同步逻辑,改进 extra 字段处理
      - 优化 CRS 同步 UI,添加更详细的结果展示
      - 完善国际化文案(中英文)
      2e76302a
  4. 24 Dec, 2025 1 commit
    • ianshaw's avatar
      feat(account): 添加从 CRS 同步账户功能 · 65538280
      ianshaw authored
      - 添加账户同步 API 接口 (account_handler.go)
      - 实现 CRS 同步服务 (crs_sync_service.go)
      - 添加前端同步对话框组件 (SyncFromCrsModal.vue)
      - 更新账户管理界面支持同步操作
      - 添加账户仓库批量创建方法
      - 添加中英文国际化翻译
      - 更新依赖注入配置
      65538280