"backend/internal/web/embed_on.go" did not exist on "642842c29ee718f4926ead2619bd58ec2286c3aa"
  1. 07 Feb, 2026 4 commits
  2. 06 Feb, 2026 3 commits
  3. 05 Feb, 2026 2 commits
  4. 04 Feb, 2026 1 commit
  5. 02 Feb, 2026 1 commit
  6. 30 Jan, 2026 1 commit
  7. 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
  8. 18 Jan, 2026 2 commits
  9. 17 Jan, 2026 1 commit
  10. 16 Jan, 2026 4 commits
    • shaw's avatar
      feat: 添加5h窗口费用控制和会话数量限制 · 73794233
      shaw authored
      - 支持Anthropic OAuth/SetupToken账号的5h窗口费用阈值控制
      - 支持账号级别的并发会话数量限制
      - 使用Redis缓存窗口费用(30秒TTL)减少数据库压力
      - 费用计算基于标准费用(不含账号倍率)
      73794233
    • song's avatar
      feat(scheduling): 兜底层账户选择策略可配置 · 1be3eaca
      song authored
      - gateway.scheduling.fallback_selection_mode: "last_used"(默认) 或 "random"
      - last_used: 按最后使用时间排序(轮询效果)
      - random: 同优先级内随机选择
      1be3eaca
    • song's avatar
      feat(gateway): 账户切换次数和 Antigravity 限流时间可配置 · 34d6b0a6
      song authored
      - gateway.max_account_switches: 账户切换最大次数,默认 10
      - gateway.max_account_switches_gemini: Gemini 账户切换次数,默认 3
      - gateway.antigravity_fallback_cooldown_minutes: Antigravity 429 fallback 限流时间,默认 5 分钟
      - Antigravity 429 不再重试,直接标记账户限流
      34d6b0a6
    • yangjianbo's avatar
      feat(安全): 实现 CSP nonce 支持解决内联脚本安全问题 · c9f79dee
      yangjianbo authored
      
      
      - 添加 GenerateNonce() 生成加密安全的随机 nonce
      - SecurityHeaders 中间件为每个请求生成唯一 nonce
      - CSP 策略支持 __CSP_NONCE__ 占位符动态替换
      - embed_on.go 注入的内联脚本添加 nonce 属性
      - 添加 Cloudflare Insights 域名到 CSP 允许列表
      - 添加完整单元测试,覆盖率达到 89.8%
      
      解决的问题:
      - 内联脚本违反 CSP script-src 指令
      - Cloudflare Insights beacon.min.js 加载被阻止
      Co-Authored-By: default avatarClaude Opus 4.5 <noreply@anthropic.com>
      c9f79dee
  11. 15 Jan, 2026 1 commit
    • yangjianbo's avatar
      fix(认证): OAuth 401 直接标记错误状态 · a458e684
      yangjianbo authored
      - OAuth 401 清理缓存并设置错误状态
      
      - 移除 oauth_401_cooldown_minutes 配置及示例
      
      - 更新 401 相关单测
      
      破坏性变更: OAuth 401 不再临时不可调度,需手动恢复
      a458e684
  12. 14 Jan, 2026 1 commit
  13. 12 Jan, 2026 4 commits
  14. 11 Jan, 2026 6 commits
  15. 10 Jan, 2026 2 commits
    • yangjianbo's avatar
      perf(认证): 引入 API Key 认证缓存与轻量删除查询 · 9d0a4f3d
      yangjianbo authored
      增加 L1/L2 缓存、负缓存与单飞回源
      使用 key+owner 轻量查询替代全量加载并清理旧接口
      补充缓存失效与余额更新测试,修复随机抖动 lint
      
      测试: make test
      9d0a4f3d
    • 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
  16. 09 Jan, 2026 6 commits