1. 03 Feb, 2026 2 commits
  2. 02 Feb, 2026 3 commits
    • song's avatar
      chore: apply stashed changes · 3ecadf4a
      song authored
      3ecadf4a
    • song's avatar
      merge upstream main · 0170d19f
      song authored
      0170d19f
    • 小北's avatar
      feat: 向用户显示管理员调整余额的备注 · ae18397c
      小北 authored
      - 为RedeemCode DTO添加notes字段(仅用于admin_balance/admin_concurrency类型)
      - 更新mapper使其有条件地包含备注信息
      - 在用户兑换历史UI中显示备注
      - 备注以斜体显示,悬停时显示完整内容
      
      用户现在可以看到管理员调整其余额的原因说明。
      
      Changes:
      - backend/internal/handler/dto/types.go: RedeemCode添加notes字段
      - backend/internal/handler/dto/mappers.go: 条件性填充notes
      - frontend/src/api/redeem.ts: TypeScript接口添加notes
      - frontend/src/views/user/RedeemView.vue: UI显示备注信息
      ae18397c
  3. 30 Jan, 2026 2 commits
  4. 28 Jan, 2026 1 commit
  5. 27 Jan, 2026 2 commits
    • song's avatar
      feat(group): 添加 MCP XML 注入开关 · 877c1725
      song authored
      - Group 新增 mcp_xml_inject 字段,控制 Antigravity 平台的 MCP XML 协议注入
      - 默认启用,可在分组设置中关闭
      - 修复 GetByKeyForAuth 遗漏查询 mcp_xml_inject 字段导致认证缓存值始终为 false 的问题
      877c1725
    • song's avatar
      feat(accounts): 账号列表显示 Antigravity scope 级别限流状态 · 66f49b67
      song authored
      - 后端 DTO 新增 scope_rate_limits 字段,从 extra 提取限流信息
      - 前端状态列显示 scope 级限流徽章(Claude/Gemini/Image)
      - 清除速率限制时同时清除账号级和 scope 级限流(已有实现)
      66f49b67
  6. 26 Jan, 2026 1 commit
    • shaw's avatar
      feat(auth): 实现 TOTP 双因素认证功能 · 1245f07a
      shaw authored
      新增功能:
      - 支持 Google Authenticator 等应用进行 TOTP 二次验证
      - 用户可在个人设置中启用/禁用 2FA
      - 登录时支持 TOTP 验证流程
      - 管理后台可全局开关 TOTP 功能
      
      安全增强:
      - TOTP 密钥使用 AES-256-GCM 加密存储
      - 添加 TOTP_ENCRYPTION_KEY 配置项,必须手动配置才能启用功能
      - 防止服务重启导致加密密钥变更使用户无法登录
      - 验证失败次数限制,防止暴力破解
      
      配置说明:
      - Docker 部署:在 .env 中设置 TOTP_ENCRYPTION_KEY
      - 非 Docker 部署:在 config.yaml 中设置 totp.encryption_key
      - 生成密钥命令:openssl rand -hex 32
      1245f07a
  7. 24 Jan, 2026 1 commit
    • shaw's avatar
      feat(auth): 密码重置邮件队列化与限流优化 · 9cc83525
      shaw authored
      - 邮件发送改为异步队列处理,避免并发导致发送失败
      - 新增 Email 维度限流(30秒冷却期),防止邮件轰炸
      - Token 验证使用常量时间比较,防止时序攻击
      - 重构代码消除冗余,提取公共验证逻辑
      9cc83525
  8. 23 Jan, 2026 1 commit
  9. 20 Jan, 2026 1 commit
    • shaw's avatar
      feat(promo-code): complete promo code feature implementation · 192efb84
      shaw authored
      - Add promo_code_enabled field to SystemSettings and PublicSettings DTOs
      - Add promo code validation in registration flow
      - Add admin settings UI for promo code configuration
      - Add i18n translations for promo code feature
      192efb84
  10. 19 Jan, 2026 8 commits
    • 墨颜's avatar
      style(dto): 修复 gofmt 格式问题 · c8fb9ef3
      墨颜 authored
      - 修复 mappers.go 中 Notes 字段的对齐格式
      - 修复 types.go 中 BulkAssignResult 结构体字段的 JSON tag 对齐
      
      修复 golangci-lint 检查中的 gofmt 格式错误
      c8fb9ef3
    • 墨颜's avatar
      fix(redeem): 用户兑换历史不返回备注 · 6aef1af7
      墨颜 authored
      - 用户侧 RedeemCode DTO 移除 notes 字段,避免泄露内部备注\n- 新增 AdminRedeemCode,并调整管理员兑换码接口继续返回 notes\n- 增加 /api/v1/redeem/history 契约测试,确保用户侧响应不包含 notes
      6aef1af7
    • 墨颜's avatar
      fix(subscriptions): 用户订阅不返回分配信息 · 31cde6c5
      墨颜 authored
      - 用户侧 UserSubscription DTO 移除 assigned_by/assigned_at/notes/assigned_by_user 等管理员字段\n- 新增 AdminUserSubscription,并调整管理员订阅接口与批量分配结果使用\n- 增加 /api/v1/subscriptions 契约测试,确保用户侧响应不包含上述字段
      31cde6c5
    • shaw's avatar
      feat: 添加隐藏CCS导入按钮的设置选项 · b1a980f3
      shaw authored
      在管理后台设置页面新增开关,允许管理员隐藏API Keys页面的"导入CCS"按钮
      b1a980f3
    • 墨颜's avatar
      fix(user): 普通用户接口不返回备注 · 00d9fbd2
      墨颜 authored
      - 用户侧 dto.User 移除 notes 字段,避免泄露管理员备注\n- 新增 dto.AdminUser 并调整 /admin/users 系列接口使用\n- 前端拆分 User/AdminUser,管理端用户页面使用 AdminUser\n- 更新契约测试:/api/v1/auth/me 响应不包含 notes
      00d9fbd2
    • 墨颜's avatar
      fix(groups): 用户分组不下发内部路由信息 · 4f4c9679
      墨颜 authored
      - 普通用户 Group DTO 移除 model_routing/account_count/account_groups,避免泄露内部路由与账号信息\n- 新增 AdminGroup DTO,并仅在管理员分组接口返回完整字段\n- 前端拆分 Group/AdminGroup,管理端页面与 API 使用 AdminGroup\n- 增加 /api/v1/groups/available 契约测试,防止回归
      4f4c9679
    • 墨颜's avatar
      fix(usage): 用户使用记录不下发账号计费倍率 · 2f6f7586
      墨颜 authored
      - 将 usage log DTO 拆分为用户/管理员两类
      - 用户接口不返回 account_rate_multiplier/ip_address/account
      - 管理员接口保留管理员字段
      - 补充契约测试防止回归
      2f6f7586
    • shaw's avatar
      feat: 新增会话ID伪装功能,优化日志系统 · ccfeaeb2
      shaw authored
      - 新增 session_id_masking_enabled 配置,启用后将在15分钟内固定
        metadata.user_id 中的 session ID
      - TLS fingerprint 模块日志从自定义 debugLog 迁移到 slog
      - main.go 添加 slog 初始化,根据 gin mode 设置日志级别
      - 前端创建/编辑账号模态框添加会话ID伪装开关
      - 多语言支持(中英文)
      ccfeaeb2
  11. 18 Jan, 2026 2 commits
  12. 16 Jan, 2026 3 commits
    • shaw's avatar
      feat: 添加5h窗口费用控制和会话数量限制 · 73794233
      shaw authored
      - 支持Anthropic OAuth/SetupToken账号的5h窗口费用阈值控制
      - 支持账号级别的并发会话数量限制
      - 使用Redis缓存窗口费用(30秒TTL)减少数据库压力
      - 费用计算基于标准费用(不含账号倍率)
      73794233
    • longgexx's avatar
      修复格式问题。 · 392a8ac7
      longgexx authored
      392a8ac7
    • longgexx's avatar
      feat(group): 添加分组级别模型路由配置功能 · 19865b86
      longgexx authored
        支持为分组配置模型路由规则,可以指定特定模型模式优先使用的账号列表。
      
        - 新增 model_routing 字段存储路由配置(JSONB格式,支持通配符匹配)
      
        - 新增 model_routing_enabled 字段控制是否启用路由
      
        - 更新后端 handler/service/repository 支持路由配置的增删改查
      
        - 更新前端 GroupsView 添加路由配置界面
      
        - 添加数据库迁移脚本 040/041
      19865b86
  13. 15 Jan, 2026 4 commits
  14. 14 Jan, 2026 2 commits
  15. 12 Jan, 2026 2 commits
    • ianshaw's avatar
      refactor(settings): 简化流超时配置,移除冗余字段 · 0c528095
      ianshaw authored
      - 移除 TimeoutSeconds 字段,超时判定由网关配置控制
      - 默认禁用流超时处理功能
      0c528095
    • ianshaw's avatar
      feat(gateway): 添加流超时处理机制 · 2a0758bd
      ianshaw authored
      - 添加 StreamTimeoutSettings 配置结构体和系统设置
      - 实现 TimeoutCounterCache Redis 计数器用于累计超时次数
      - 在 RateLimitService 添加 HandleStreamTimeout 方法
      - 在 gateway_service、openai_gateway_service、antigravity_gateway_service 中调用超时处理
      - 添加后端 API 端点 GET/PUT /admin/settings/stream-timeout
      - 添加前端配置界面到系统设置页面
      - 支持配置:启用开关、超时阈值、处理方式、暂停时长、触发阈值、阈值窗口
      
      默认配置:
      - 启用:true
      - 超时阈值:60秒
      - 处理方式:临时不可调度
      - 暂停时长:5分钟
      - 触发阈值:3次
      - 阈值窗口:10分钟
      2a0758bd
  16. 10 Jan, 2026 2 commits
    • Edric Li's avatar
      feat(settings): add home content customization and config injection · 5265b12c
      Edric Li authored
      - Add home_content setting for custom homepage (HTML or iframe URL)
      - Inject public settings into index.html to eliminate page flash
      - Support ETag caching with automatic invalidation on settings update
      - Add Vite plugin for dev mode settings injection
      - Refactor HomeView to use appStore instead of local API calls
      5265b12c
    • long's avatar
      feat: 实现注册优惠码功能 · d2fc14fb
      long authored
        - 支持创建/编辑/删除优惠码,设置赠送金额和使用限制
        - 注册页面实时验证优惠码并显示赠送金额
        - 支持 URL 参数自动填充 (?promo=CODE)
        - 添加优惠码验证接口速率限制
        - 使用数据库行锁防止并发超限
        - 新增后台优惠码管理页面,支持复制注册链接
      d2fc14fb
  17. 09 Jan, 2026 3 commits
    • IanShaw027's avatar
      feat(运维监控): 增强监控功能和健康评分系统 · 585257d3
      IanShaw027 authored
      后端改进:
      - 新增健康评分计算服务(ops_health_score.go)
      - 添加分布式锁支持(ops_advisory_lock.go)
      - 优化指标采集和聚合逻辑
      - 新增运维指标采集间隔配置(60-3600秒)
      - 移除未使用的WebSocket查询token认证中间件
      - 改进清理服务和告警评估逻辑
      
      前端改进:
      - 简化OpsDashboard组件结构
      - 完善国际化文本(中英文)
      - 新增运维监控相关API类型定义
      - 添加运维指标采集间隔设置界面
      - 优化错误详情模态框
      
      测试:
      - 添加健康评分单元测试
      - 更新API契约测试
      585257d3
    • Edric.Li's avatar
      feat(api-key): 添加 IP 白名单/黑名单限制功能 (#221) · 0a4641c2
      Edric.Li authored
      * feat(api-key): add IP whitelist/blacklist restriction and usage log IP tracking
      
      - Add IP restriction feature for API keys (whitelist/blacklist with CIDR support)
      - Add IP address logging to usage logs (admin-only visibility)
      - Remove billing_type column from usage logs UI (redundant)
      - Use generic "Access denied" error message for security
      
      Backend:
      - New ip package with IP/CIDR validation and matching utilities
      - Database migrations for ip_whitelist, ip_blacklist (api_keys) and ip_address (usage_logs)
      - Middleware IP restriction check after API key validation
      - Input validation for IP/CIDR patterns on create/update
      
      Frontend:
      - API key form with enable toggle for IP restriction
      - Shield icon indicator in table for keys with IP restriction
      - Removed billing_type filter and column from usage views
      
      * fix: update API contract tests for ip_whitelist/ip_blacklist fields
      
      Add ip_whitelist and ip_blacklist fields to expected JSON responses
      in API contract tests to match the new API key schema.
      0a4641c2
    • Edric Li's avatar
      feat(api-key): add IP whitelist/blacklist restriction and usage log IP tracking · 90798f14
      Edric Li authored
      - Add IP restriction feature for API keys (whitelist/blacklist with CIDR support)
      - Add IP address logging to usage logs (admin-only visibility)
      - Remove billing_type column from usage logs UI (redundant)
      - Use generic "Access denied" error message for security
      
      Backend:
      - New ip package with IP/CIDR validation and matching utilities
      - Database migrations for ip_whitelist, ip_blacklist (api_keys) and ip_address (usage_logs)
      - Middleware IP restriction check after API key validation
      - Input validation for IP/CIDR patterns on create/update
      
      Frontend:
      - API key form with enable toggle for IP restriction
      - Shield icon indicator in table for keys with IP restriction
      - Removed billing_type filter and column from usage views
      90798f14