- 15 Jan, 2026 2 commits
-
-
IanShaw027 authored
**问题描述**: - UsersView 的"更多"菜单仍然出现在页面左上角错误位置 - UsersView 使用 actionButtonRefs Map 获取按钮元素,导致定位失败 - UsersView 和 AccountsView 的菜单定位逻辑不一致,难以维护 **解决方案**: - 修改 openActionMenu 函数签名,添加 MouseEvent 参数 - 使用 e.currentTarget 直接从事件对象获取触发元素 - 移除不必要的 actionButtonRefs Map 和 setActionButtonRef 函数 - 统一菜单宽度为 200px(与 AccountsView 一致) - 完全复制 AccountsView 的定位逻辑,确保两者行为一致 **技术要点**: - 移动端:菜单居中对齐按钮,优先显示在按钮下方 - 桌面端:使用鼠标位置定位,添加边界检测 - 简化代码,移除不必要的防御性检查 - 两个组件的菜单定位逻辑完全一致,便于维护
-
IanShaw027 authored
**问题描述**: - 表格在移动端显示列过多,需要横向滚动,内容被截断 - 顶部操作栏按钮拥挤,占用过多空间 - 弹窗表单在小屏幕上布局不合理 - "更多"操作菜单定位错误,位置过高或超出屏幕 - 滚动页面时菜单不会自动关闭,与卡片分离 **解决方案**: 1. **DataTable 组件 - 移动端卡片视图** - 在 < 768px 时自动切换到卡片布局 - 每个表格行渲染为独立卡片,所有字段清晰可见 - 操作按钮在卡片底部,触摸目标足够大 - 支持深色模式,包含加载和空状态 - 自动应用于所有使用 DataTable 的管理页面 2. **UsersView 顶部操作栏优化** - 移动端:搜索框全宽 + 次要按钮显示为图标 + 创建按钮突出 - 桌面端:保持原有布局(图标 + 文字) - 使用响应式 Tailwind classes 3. **UserCreateModal 弹窗优化** - 余额/并发数字段:移动端单列,桌面端双列 - 弹窗边距:移动端 8px,桌面端 16px 4. **操作菜单定位修复** - UsersView: 移动端菜单居中对齐按钮,智能定位 - AccountsView: 移动端菜单优先显示在按钮下方 - 所有情况下确保菜单不超出屏幕边界 - 添加滚动监听,滚动时自动关闭菜单 **影响范围**: - 所有使用 DataTable 的管理页面(8 个页面)自动获得移动端卡片视图 - 用户管理和账号管理页面的操作菜单定位优化 - 创建用户弹窗的响应式布局优化 **技术要点**: - 使用 Tailwind 响应式断点(md:, sm:) - 触摸目标 ≥ 44px - 完整支持深色模式 - 向后兼容,桌面端保持原有布局
-
- 14 Jan, 2026 15 commits
-
-
IanShaw027 authored
- 修复错误列表中用户列显示 \n 的问题 - 上游错误显示账号(account),请求错误显示用户(user) - 错误详情模态框同步调整显示逻辑 - 添加 accountId 国际化翻译
-
IanShaw027 authored
- 在错误日志表格中将账号列替换为用户列 - 在错误详情模态框中将账号信息替换为用户信息 - 显示用户邮箱而不是账号名称 - 上游错误的账号信息保留在上游错误上下文中
-
IanShaw027 authored
- 添加 fullscreen 属性支持,适配全屏模式 - 优化骨架屏布局,更好地匹配实际看板结构 - 改进加载动画效果,提升用户体验
-
IanShaw027 authored
- 新增 GetErrorLogByID 接口用于获取单个错误日志详情 - 优化 GetErrorLogs 过滤逻辑,简化参数处理 - 简化前端错误详情模态框代码,提升可维护性 - 更新相关 API 接口和 i18n 翻译
-
longgexx authored
修复两个问题: 1. Token使用趋势图和模型分布图未响应筛选条件 2. 上午时段选择今天刷新后日期回退到前一天 前端修改: - 更新 dashboard API 类型定义,添加 model、account_id、group_id、stream 参数支持 - 修改 UsageView 趋势图加载逻辑,传递所有筛选参数到后端 - 修复日期格式化函数,使用本地时区避免 UTC 转换导致的日期偏移 后端修改: - Handler 层:接收并解析所有筛选参数(model、account_id、group_id、stream) - Service 层:传递完整的筛选参数到 Repository 层 - Repository 层:SQL 查询动态添加所有过滤条件 - 更新接口定义和所有调用点以保持一致性 影响范围: - /admin/dashboard/trend 端点现支持完整筛选 - /admin/dashboard/models 端点现支持完整筛选 - 用户在后台使用记录页面选择任意筛选条件时,趋势图和模型分布图会实时响应 - 日期选择器在任何时区下都能正确保持今天的选择
-
IanShaw027 authored
- 重构OpsErrorDetailModal.vue代码格式,提升可读性 - 添加上游错误tab显示功能 - 完善i18n翻译(upstream_http) - 优化其他ops组件代码格式
-
LLLLLLiulei authored
-
IanShaw027 authored
将技术术语的i18n翻译键替换为硬编码文本: - ms (P99) - 毫秒和百分位数标识 - TTFT - Time To First Token缩写 这些是通用技术术语,不需要国际化。
-
IanShaw027 authored
- 移除i18n文件中未使用的翻译键(cpu, redis, qps, ttft等) - 将技术术语改为硬编码(QPS, CPU, TPS等不需要翻译) - 简化OpsDashboardHeader、OpsErrorDetailModal等组件的i18n调用
-
IanShaw027 authored
后端改动: - 添加 resolved 参数默认值处理(向后兼容,默认显示未解决错误) - 新增 status_codes_other 查询参数支持 - 移除 service 层的高级设置过滤逻辑,简化错误日志查询流程 前端改动: - 完善错误日志相关组件的国际化支持 - 优化 Ops 监控面板和设置对话框的用户体验
-
墨颜 authored
- 新增 accounts.rate_multiplier(默认 1.0,允许 0) - 使用 usage_logs.account_rate_multiplier 记录倍率快照,避免历史回算 - 统计/导出/管理端展示账号口径费用(total_cost * account_rate_multiplier)
-
IanShaw027 authored
-
IanShaw027 authored
-
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
-
IanShaw027 authored
- 增强告警事件卡片的交互和静默功能 - 完善错误详情弹窗的展示和操作 - 优化错误日志表格的筛选和排序 - 新增重试和解决状态的UI支持
-
- 12 Jan, 2026 14 commits
-
-
Edric Li authored
- 支持通过 URL 参数 ?fullscreen=1 进入全屏模式 - 全屏模式下隐藏非必要 UI 元素(选择器、按钮、提示等) - 增大健康评分圆环和字体以提升可读性 - 支持 ESC 键退出全屏 - 添加全屏按钮的 i18n 翻译
-
IanShaw027 authored
-
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 秒)
-
shaw authored
- 新增 AccountGroupsCell 组件优化分组列显示(最多4个+折叠) - 修复 Cookie 自动授权时 group_ids/notes/expires_at 字段丢失 - 修复 SettingsView 流超时配置前后端字段不一致问题
-
yangjianbo authored
删除前端未支持的 timeout_seconds 字段,避免类型检查失败 新增调度 outbox 回放集成测试 调整调度默认等待超时断言 测试: make test
-
IanShaw027 authored
- 修复 OpsErrorDetailsModal 的内容溢出问题,使用 flex 布局确保正确显示 - 修复 OpsErrorLogTable 的表格滚动问题,添加 min-h-0 确保正确的滚动行为 - 修复 OpsRequestDetailsModal 的布局问题,添加 pageSize 初始化并优化 flex 布局 - 统一使用 flex 布局模式,确保模态框内容在不同屏幕尺寸下正确显示
-
IanShaw027 authored
- 添加实时流量API调用方法 - 优化OpsDashboard组件代码
-
IanShaw027 authored
- 卡片标题显示"请求" - 卡片内部标签保持"请求数"
-
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分钟
-
IanShaw027 authored
- 将"请求数"改为"请求" - SLA卡片明细只显示错误请求(kind='error') - TTFT卡片明细按延迟降序排序
-
IanShaw027 authored
- 在OpsDashboard中加载阈值配置 - 在OpsDashboardHeader中根据阈值判断指标是否超标 - 超出阈值的指标显示为红色(SLA低于阈值也显示红色) - 用Icon组件替换emoji表情
-
IanShaw027 authored
- 在OpsSettingsDialog中添加指标阈值配置表单 - 在OpsRuntimeSettingsCard中添加阈值配置区域 - 添加阈值验证逻辑 - 更新国际化文本
-
IanShaw027 authored
- 添加OpsMetricThresholds类型定义 - 新增getMetricThresholds和updateMetricThresholds API方法
-
shaw authored
-
- 11 Jan, 2026 9 commits
-
-
IanShaw027 authored
- 移除Ops Monitoring设置卡片及相关配置项 - 移除ops相关组件导入和展示逻辑 - 相关配置已迁移至运维监控页面统一管理
-
IanShaw027 authored
- 优化错误日志中间件,即使请求成功也记录上游重试/故障转移事件 - 新增OpsScheduledReportService支持定时报告功能 - 使用Redis分布式锁确保定时任务单实例执行 - 完善依赖注入配置 - 优化前端错误趋势图表展示
-
IanShaw027 authored
- 采用分层加权评分(业务70% + 基础设施30%),避免重复扣分 - 新增延迟诊断(P99 > 2s critical, > 1s warning) - 新增资源诊断(CPU/内存/DB/Redis状态) - 调整诊断阈值(上游错误率5% critical,请求错误率3% critical) - 为每个诊断项添加可操作建议 - 添加完整的单元测试覆盖(30+测试用例) - 完善中英文国际化文本
-
IanShaw027 authored
-
IanShaw027 authored
-
IanShaw027 authored
-
IanShaw027 authored
- OpsErrorDetailsModal和OpsRequestDetailsModal改用BaseDialog统一弹窗组件 - 分页默认值从50改为20条,减少单页数据量 - OpsAlertEventsCard表格添加sticky表头,优化滚动体验 - 移除自定义Teleport和Transition实现,使用统一组件
-
IanShaw027 authored
- 后端新增 GetAccountAvailability 方法获取账号可用性数据 - 添加分组可用率和限流率计算辅助函数 - 前端支持分组和账号级别的监控指标类型 - 优化警报规则指标选择器,按类别分组显示
-
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
-