1. 14 Jan, 2026 7 commits
    • IanShaw027's avatar
      refactor(frontend): 清理OpsDashboardHeader中的i18n翻译 · 514c0562
      IanShaw027 authored
      将技术术语的i18n翻译键替换为硬编码文本:
      - ms (P99) - 毫秒和百分位数标识
      - TTFT - Time To First Token缩写
      
      这些是通用技术术语,不需要国际化。
      514c0562
    • IanShaw027's avatar
      refactor(frontend): 清理ops组件中未使用的i18n翻译 · 371275ec
      IanShaw027 authored
      - 移除i18n文件中未使用的翻译键(cpu, redis, qps, ttft等)
      - 将技术术语改为硬编码(QPS, CPU, TPS等不需要翻译)
      - 简化OpsDashboardHeader、OpsErrorDetailModal等组件的i18n调用
      371275ec
    • IanShaw027's avatar
      fix(ops): 优化错误日志过滤和查询逻辑 · 55e469c7
      IanShaw027 authored
      后端改动:
      - 添加 resolved 参数默认值处理(向后兼容,默认显示未解决错误)
      - 新增 status_codes_other 查询参数支持
      - 移除 service 层的高级设置过滤逻辑,简化错误日志查询流程
      
      前端改动:
      - 完善错误日志相关组件的国际化支持
      - 优化 Ops 监控面板和设置对话框的用户体验
      55e469c7
    • IanShaw027's avatar
      918a2538
    • IanShaw027's avatar
      feat(frontend): 优化ops监控UI组件 · 50132904
      IanShaw027 authored
      50132904
    • IanShaw027's avatar
      refactor(ops): 移除duration相关告警指标,简化监控配置 · 18268381
      IanShaw027 authored
      主要改动:
      - 移除 p95_latency_ms 和 p99_latency_ms 告警指标类型
      - 移除配置中的 latency_p99_ms_max 阈值设置
      - 简化健康分数计算(移除latency权重,重新归一化SLA和错误率)
      - 移除duration相关的诊断规则和阈值检查
      - 统一术语:延迟 → 请求时长
      - 保留duration数据展示,但不再用于告警判断
      - 聚焦TTFT作为主要的响应速度告警指标
      
      影响范围:
      - Backend: handler, service, models, tests
      - Frontend: API types, i18n, components
      18268381
    • IanShaw027's avatar
      feat(ui): 优化ops监控面板和组件功能 · f38a3e75
      IanShaw027 authored
      - 增强告警事件卡片的交互和静默功能
      - 完善错误详情弹窗的展示和操作
      - 优化错误日志表格的筛选和排序
      - 新增重试和解决状态的UI支持
      f38a3e75
  2. 12 Jan, 2026 14 commits
    • Edric Li's avatar
      feat(ops): 添加运维监控全屏模式 · 0da51507
      Edric Li authored
      - 支持通过 URL 参数 ?fullscreen=1 进入全屏模式
      - 全屏模式下隐藏非必要 UI 元素(选择器、按钮、提示等)
      - 增大健康评分圆环和字体以提升可读性
      - 支持 ESC 键退出全屏
      - 添加全屏按钮的 i18n 翻译
      0da51507
    • IanShaw027's avatar
      6ad29a47
    • IanShaw027's avatar
      feat(ops): 添加自动刷新配置功能 · b98fb013
      IanShaw027 authored
      功能特性:
      - 支持配置启用/禁用自动刷新
      - 可配置刷新间隔(15秒/30秒/60秒)
      - 实时倒计时显示,用户可见下次刷新时间
      - 手动刷新自动重置倒计时
      - 页面卸载时自动清理定时器
      
      用户体验:
      - 默认禁用,用户可根据需求开启
      - 与现有 OpsConcurrencyCard 5秒刷新保持一致
      - 倒计时带旋转动画,视觉反馈清晰
      - 配置修改后立即生效,无需刷新页面
      
      技术实现:
      - ops.ts: 添加 auto_refresh_enabled 和 auto_refresh_interval_seconds 配置
      - OpsSettingsDialog.vue: 添加自动刷新配置界面
      - OpsDashboard.vue: 实现主刷新逻辑和双定时器设计
      - OpsDashboardHeader.vue: 倒计时显示组件
      
      配置说明:
      - auto_refresh_enabled: 是否启用(默认 false)
      - auto_refresh_interval_seconds: 刷新间隔(默认 30 秒,范围 15-300 秒)
      b98fb013
    • shaw's avatar
      fix(frontend): 修复账号管理页面分组显示和 Cookie 授权问题 · 68ba866c
      shaw authored
      - 新增 AccountGroupsCell 组件优化分组列显示(最多4个+折叠)
      - 修复 Cookie 自动授权时 group_ids/notes/expires_at 字段丢失
      - 修复 SettingsView 流超时配置前后端字段不一致问题
      68ba866c
    • yangjianbo's avatar
      fix(调度): 修复流超时配置并补回放测试 · 8c1958c9
      yangjianbo authored
      删除前端未支持的 timeout_seconds 字段,避免类型检查失败
      新增调度 outbox 回放集成测试
      调整调度默认等待超时断言
      
      测试: make test
      8c1958c9
    • IanShaw027's avatar
      fix(ops): 修复错误日志和请求详情模态框的布局问题 · 89c1a413
      IanShaw027 authored
      - 修复 OpsErrorDetailsModal 的内容溢出问题,使用 flex 布局确保正确显示
      - 修复 OpsErrorLogTable 的表格滚动问题,添加 min-h-0 确保正确的滚动行为
      - 修复 OpsRequestDetailsModal 的布局问题,添加 pageSize 初始化并优化 flex 布局
      - 统一使用 flex 布局模式,确保模态框内容在不同屏幕尺寸下正确显示
      89c1a413
    • IanShaw027's avatar
      feat(ops): 前端集成实时流量功能 · 5443efd7
      IanShaw027 authored
      - 添加实时流量API调用方法
      - 优化OpsDashboard组件代码
      5443efd7
    • IanShaw027's avatar
      fix(ops): 修正卡片标题翻译 · 8e248e08
      IanShaw027 authored
      - 卡片标题显示"请求"
      - 卡片内部标签保持"请求数"
      8e248e08
    • 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
    • IanShaw027's avatar
      fix(ops): 优化卡片标题和明细筛选逻辑 · f55ba3f6
      IanShaw027 authored
      - 将"请求数"改为"请求"
      - SLA卡片明细只显示错误请求(kind='error')
      - TTFT卡片明细按延迟降序排序
      f55ba3f6
    • IanShaw027's avatar
      feat(ops): 看板上应用指标阈值显示 · 72a2ed95
      IanShaw027 authored
      - 在OpsDashboard中加载阈值配置
      - 在OpsDashboardHeader中根据阈值判断指标是否超标
      - 超出阈值的指标显示为红色(SLA低于阈值也显示红色)
      - 用Icon组件替换emoji表情
      72a2ed95
    • IanShaw027's avatar
      feat(ops): 添加指标阈值配置UI · d0b91a40
      IanShaw027 authored
      - 在OpsSettingsDialog中添加指标阈值配置表单
      - 在OpsRuntimeSettingsCard中添加阈值配置区域
      - 添加阈值验证逻辑
      - 更新国际化文本
      d0b91a40
    • IanShaw027's avatar
      feat(ops): 前端添加指标阈值类型定义和API · f28d4b78
      IanShaw027 authored
      - 添加OpsMetricThresholds类型定义
      - 新增getMetricThresholds和updateMetricThresholds API方法
      f28d4b78
    • shaw's avatar
      50de5d05
  3. 11 Jan, 2026 16 commits
    • IanShaw027's avatar
      refactor(ops): 从系统设置页面移除运维监控配置项 · d5c711d0
      IanShaw027 authored
      - 移除Ops Monitoring设置卡片及相关配置项
      - 移除ops相关组件导入和展示逻辑
      - 相关配置已迁移至运维监控页面统一管理
      d5c711d0
    • IanShaw027's avatar
      feat(ops): 增强上游错误追踪和新增定时报告服务 · 73b62bb1
      IanShaw027 authored
      - 优化错误日志中间件,即使请求成功也记录上游重试/故障转移事件
      - 新增OpsScheduledReportService支持定时报告功能
      - 使用Redis分布式锁确保定时任务单实例执行
      - 完善依赖注入配置
      - 优化前端错误趋势图表展示
      73b62bb1
    • IanShaw027's avatar
      feat(ops): 优化健康评分算法和智能诊断机制 · 8fffcd80
      IanShaw027 authored
      - 采用分层加权评分(业务70% + 基础设施30%),避免重复扣分
      - 新增延迟诊断(P99 > 2s critical, > 1s warning)
      - 新增资源诊断(CPU/内存/DB/Redis状态)
      - 调整诊断阈值(上游错误率5% critical,请求错误率3% critical)
      - 为每个诊断项添加可操作建议
      - 添加完整的单元测试覆盖(30+测试用例)
      - 完善中英文国际化文本
      8fffcd80
    • IanShaw027's avatar
    • IanShaw027's avatar
    • IanShaw027's avatar
      92eafbc2
    • IanShaw027's avatar
      feat(ops): 统一弹窗组件并优化分页设置 · 1b938b20
      IanShaw027 authored
      - OpsErrorDetailsModal和OpsRequestDetailsModal改用BaseDialog统一弹窗组件
      - 分页默认值从50改为20条,减少单页数据量
      - OpsAlertEventsCard表格添加sticky表头,优化滚动体验
      - 移除自定义Teleport和Transition实现,使用统一组件
      1b938b20
    • IanShaw027's avatar
      feat(ops): 添加分组和账号级别监控指标 · dd59e872
      IanShaw027 authored
      - 后端新增 GetAccountAvailability 方法获取账号可用性数据
      - 添加分组可用率和限流率计算辅助函数
      - 前端支持分组和账号级别的监控指标类型
      - 优化警报规则指标选择器,按类别分组显示
      dd59e872
    • yangjianbo's avatar
      fix(账号管理): 调度批量结果明细与刷新优化 · 32953405
      yangjianbo authored
      补充批量调度返回 success_ids/failed_ids 并增加合约/单测
      
      前端加入降级处理与部分失败提示,表格行使用稳定 key
      
      测试: make test-frontend
      
      测试: go test ./internal/service -run BulkUpdateAccounts -tags=unit
      
      测试: go test ./internal/server -run APIContracts -tags=unit
      32953405
    • IanShaw027's avatar
      feat(ops): 隐藏查询模式选择器 · 63dc6a68
      IanShaw027 authored
      - 在OpsDashboardHeader中隐藏queryMode选择器(使用v-if="false")
      - 保留所有后端逻辑和前端状态管理
      - auto模式逻辑:优先使用预聚合数据,不存在时回退到实时计算
      - 用户界面更简洁,后端自动选择最优查询方式
      
      相关文件:
      - frontend/src/views/admin/ops/components/OpsDashboardHeader.vue
      63dc6a68
    • IanShaw027's avatar
      feat(ops): 集成运维监控设置对话框到仪表盘 · a39316e0
      IanShaw027 authored
      - 在OpsDashboardHeader添加设置和警报规则按钮
      - 在OpsDashboard集成OpsSettingsDialog组件
      - 添加警报规则弹窗展示
      - 添加高级设置API类型定义
      - 支持从Header快速访问设置和规则管理
      
      相关文件:
      - frontend/src/api/admin/ops.ts
      - frontend/src/views/admin/ops/types.ts
      - frontend/src/views/admin/ops/OpsDashboard.vue
      - frontend/src/views/admin/ops/components/OpsDashboardHeader.vue
      a39316e0
    • IanShaw027's avatar
      feat(ops): 优化警报规则和设置的成功提示信息 · f5416368
      IanShaw027 authored
      - 添加警报规则保存成功提示:"警报规则保存成功"
      - 添加警报规则删除成功提示:"警报规则删除成功"
      - 添加运维监控设置保存成功提示:"运维监控设置保存成功"
      - 替换通用的"操作成功"提示为具体的业务提示
      - 失败时显示后端返回的详细错误信息
      
      相关文件:
      - frontend/src/i18n/locales/zh.ts
      - frontend/src/views/admin/ops/components/OpsAlertRulesCard.vue
      - frontend/src/views/admin/ops/components/OpsSettingsDialog.vue
      f5416368
    • IanShaw027's avatar
      feat(ops): 优化仪表盘Header响应式布局与指标展示 · e4bc9f6f
      IanShaw027 authored
      **响应式优化**:
      - 添加flex-wrap支持窄屏时间选择器自动换行
      - 当前QPS/TPS在窄屏时自动换行,避免溢出
      - 时间按钮在窄屏使用更小字号和间距(9px/1.5px)
      - 当前数值使用响应式字体(xl→sm:2xl)
      
      **指标展示优化**:
      1. 请求卡片:
         - 标题简化:总请求 → 请求
         - 字段调整:请求 → 请求数
         - 移除:平均延迟、平均首字延迟(避免冗余)
      
      2. 延迟和TTFT卡片:
         - 布局:grid → flex-wrap(自适应布局)
         - 指标不换行:添加whitespace-nowrap
         - 最小宽度:min-w-[60px]保证可读性
         - 单位内联:名称、数值、单位在同一行(P95: 123 ms)
         - 自动换行:整个指标项作为整体换行
      
      **效果**:
      - 窄屏:所有元素自动适配,无溢出
      - 宽屏:充分利用空间,清晰展示
      - 灵活布局:根据容器宽度自动调整指标排列
      e4bc9f6f
    • IanShaw027's avatar
      feat(ops): 增强错误详情弹窗与API支持 · e5857161
      IanShaw027 authored
      **前端改动**:
      1. OpsErrorDetailModal.vue:
         - 新增上游错误详情展示功能
         - 支持查看上游错误的请求头、响应体等调试信息
         - 改进错误信息格式化与可读性
      
      2. ops.ts API:
         - 新增getUpstreamErrors接口调用上游错误查询API
      
      **后端配置**:
      - config.go/config.yaml/deploy/config.example.yaml:
        - 更新配置支持上游错误事件记录开关
        - 添加相关配置项文档说明
      e5857161
    • IanShaw027's avatar
      feat(ops): 恢复仪表盘脉搏动画效果 · abdc4f39
      IanShaw027 authored
      - 将静态QPS历史折线图替换为动画脉搏线
      - 使用SVG animate元素实现心跳效果(2秒循环动画)
      - 增强流量可视化:通过脉冲跳动直观展示流量"活跃"状态
      - 恢复重构前的视觉效果与用户体验
      abdc4f39
    • IanShaw027's avatar
      feat(ops): 添加QPS脉搏线图并优化指标布局 · 89a725a4
      IanShaw027 authored
      - 添加实时QPS/TPS历史数据追踪(最近60个数据点)
      - 在平均QPS/TPS上方添加SVG脉搏线图(sparkline)
      - 将延迟和TTFT卡片的指标布局从2列改为3列
      - 恢复Max指标显示(P95/P90/P50/Avg/Max)
      89a725a4
  4. 10 Jan, 2026 3 commits
    • Edric Li's avatar
      feat(settings): add iframe CSP warning for home content · 0fa5a601
      Edric Li authored
      Add a warning message to inform admins that some websites may have
      X-Frame-Options or CSP policies that prevent iframe embedding.
      0fa5a601
    • 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