1. 28 Dec, 2025 1 commit
    • IanShaw027's avatar
      feat(全栈): 实现简易模式核心功能 · ecfad788
      IanShaw027 authored
      **功能概述**:
      实现简易模式(Simple Mode),为个人用户和小团队提供简化的使用体验,隐藏复杂的分组、订阅、配额等概念。
      
      **后端改动**:
      1. 配置系统
         - 新增 run_mode 配置项(standard/simple)
         - 支持环境变量 RUN_MODE
         - 默认值为 standard
      
      2. 数据库初始化
         - 自动创建3个默认分组:anthropic-default、openai-default、gemini-default
         - 默认分组配置:无并发限制、active状态、非独占
         - 幂等性保证:重复启动不会重复创建
      
      3. 账号管理
         - 创建账号时自动绑定对应平台的默认分组
         - 如果未指定分组,自动查找并绑定默认分组
      
      **前端改动**:
      1. 状态管理
         - authStore 新增 isSimpleMode 计算属性
         - 从后端API获取并同步运行模式
      
      2. UI隐藏
         - 侧边栏:隐藏分组管理、订阅管理、兑换码菜单
         - 账号管理页面:隐藏分组列
         - 创建/编辑账号对话框:隐藏分组选择器
      
      3. 路由守卫
         - 限制访问分组、订阅、兑换码相关页面
         - 访问受限页面时自动重定向到仪表板
      
      **配置示例**:
      ```yaml
      run_mode: simple
      
      run_mode: standard
      ```
      
      **影响范围**:
      - 后端:配置、数据库迁移、账号服务
      - 前端:认证状态、路由、UI组件
      - 部署:配置文件示例
      
      **兼容性**:
      - 简易模式和标准模式可无缝切换
      - 不需要数据迁移
      - 现有数据不受影响
      ecfad788
  2. 26 Dec, 2025 5 commits
    • ianshaw's avatar
      fix(backend): 修复 rebase 后的代码集成问题 · 9780f0fd
      ianshaw authored
      - 更新 middleware import 路径到 internal/server/middleware
      - 修复 api_key_auth_google.go 使用正确的 service 类型
      - 更新 router.go 和 http.go 支持 Gemini v1beta 路由
      - 在 routes/gateway.go 中添加 Gemini v1beta API 端点
      - 在 routes/admin.go 中添加 Gemini OAuth 路由
      - 更新 wire.go 添加 GeminiOAuthService cleanup
      - 重新生成 wire_gen.go
      9780f0fd
    • ianshaw's avatar
      feat(backend): 添加 OAuth 能力查询接口,改进 OAuth 客户端选择逻辑 · 632318ad
      ianshaw authored
      Handler 改进:
      - 添加 GET /api/v1/admin/gemini/oauth/capabilities 接口
      - 简化 GenerateAuthURL,redirect_uri 由服务层决定
      
      Repository 改进:
      - ExchangeCode/RefreshToken 根据 oauthType 选择正确的 OAuth 客户端
      - Code Assist 始终使用内置客户端,AI Studio 使用用户配置的客户端
      632318ad
    • ianshaw's avatar
      feat(backend): 添加 Gemini V1beta Handler 和路由 · 46cb82ba
      ianshaw authored
      - 新增 gemini_v1beta_handler.go: 代理原生 Google API 格式
      - 更新 gemini_oauth_handler.go: 移除 redirectUri,新增 oauthType
      - 更新 account_handler.go: 账户 Handler 增强
      - 更新 router.go: 注册 v1beta 路由
      - 更新 config.go: Gemini OAuth 通过环境变量配置
      - 更新 wire_gen.go: 依赖注入
      46cb82ba
    • ianshaw's avatar
      feat(handler): 添加 Gemini OAuth Handler 和完善依赖注入 · e36fb98f
      ianshaw authored
      - 新增 Gemini OAuth 授权处理器
      - 扩展账号和网关处理器支持 Gemini
      - 注册 Gemini 相关路由
      - 更新 Wire 依赖注入配置(所有层)
      - 更新 Docker Compose 配置
      e36fb98f
    • Forest's avatar
      refactor: 调整 server 目录结构 · 57fd1722
      Forest authored
      57fd1722
  3. 25 Dec, 2025 2 commits
    • ianshaw's avatar
      feat(account): 优化批量更新实现,使用统一 SQL 合并 JSONB 字段 · 62ed5422
      ianshaw authored
      - 新增 BulkUpdate 仓储方法,使用单条 SQL 更新所有账户
      - credentials/extra 使用 COALESCE(...) || ? 合并,只更新传入的 key
      - name/proxy_id/concurrency/priority/status 只在提供时更新
      - 分组绑定仍逐账号处理(需要独立操作)
      - 前端优化:Base URL 留空则不修改,按勾选字段更新
      - 完善 i18n 文案:说明留空不修改、批量更新行为
      62ed5422
    • 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 2 commits
    • ianshaw's avatar
      feat(account): 添加从 CRS 同步账户功能 · 65538280
      ianshaw authored
      - 添加账户同步 API 接口 (account_handler.go)
      - 实现 CRS 同步服务 (crs_sync_service.go)
      - 添加前端同步对话框组件 (SyncFromCrsModal.vue)
      - 更新账户管理界面支持同步操作
      - 添加账户仓库批量创建方法
      - 添加中英文国际化翻译
      - 更新依赖注入配置
      65538280
    • Forest's avatar
      refactor: 重命名 go module · 836c4dda
      Forest authored
      836c4dda
  5. 23 Dec, 2025 1 commit
  6. 22 Dec, 2025 1 commit
  7. 20 Dec, 2025 1 commit
  8. 19 Dec, 2025 3 commits
    • shaw's avatar
      feat(account): 账号测试支持选择模型 · ee86dbca
      shaw authored
      - 新增 GET /api/v1/admin/accounts/:id/models 接口获取账号可用模型
      - 账号测试弹窗新增模型选择下拉框
      - 测试时支持传入 model_id 参数,不传则默认使用 Sonnet
      - API Key 账号支持根据 model_mapping 映射测试模型
      - 将模型常量提取到 claude 包统一管理
      ee86dbca
    • shaw's avatar
      feat(gateway): 添加 /v1/messages/count_tokens 端点 · 52d2ae97
      shaw authored
      实现 Claude API 的 token 计数功能,支持 OAuth、SetupToken 和 ApiKey 三种账号类型。
      
      特点:
      - 校验订阅/余额(不扣费)
      - 不计算用户和账号并发
      - 不记录使用量
      - 支持模型映射(ApiKey 账号)
      - 支持 OAuth 账号的指纹管理和 401 重试
      52d2ae97
    • shaw's avatar
      feat(backend): 添加 event_logging 接口直接返回200 · c15b419c
      shaw authored
      将原本在nginx处理的遥测日志请求移至后端,
      忽略Claude Code客户端发送的日志数据。
      c15b419c
  9. 18 Dec, 2025 6 commits