Commit Graph

195 Commits

Author SHA1 Message Date
fawney19
e902595d58 refactor(frontend): 优化工具函数和 mock handler
- 更新 format.ts 工具函数
- 调整 mock handler 和 useDateRange composable
2025-12-12 16:14:49 +08:00
fawney19
738a8459c9 feat(frontend): 新增 API 错误类型定义,优化错误处理
- 新增 api-error.ts 定义标准错误类型和工具函数
- 重构 error.ts 和 errorParser.ts 使用新类型
- 更新 api client 的类型定义
2025-12-12 16:14:33 +08:00
fawney19
348b454e1e refactor(frontend): 迁移 ESLint 到 flat config 格式
- 移除旧版 .eslintrc.cjs 和 .eslintignore
- 新增 eslint.config.js 使用 flat config 格式
- 更新相关依赖版本
2025-12-12 16:14:15 +08:00
fawney19
06bd178244 fix: TieredPricingEditor 缓存价格处理优化
- 缓存价格计算精度从 2 位小数改为 4 位,支持更精细的价格
- 分离 syncToParent 和 getFinalTiers 职责:
  - syncToParent: 只同步用户实际输入的值
  - getFinalTiers: 提交时获取包含自动计算的最终数据
- GlobalModelFormDialog 和 ProviderModelFormDialog 提交时调用 getFinalTiers
2025-12-12 15:43:00 +08:00
fawney19
53bf74429e refactor: 重构流式处理模块,提取 StreamContext/Processor/Telemetry
- 将 chat_handler_base.py 中的流式处理逻辑拆分为三个独立模块:
  - StreamContext: 类型安全的流式上下文数据类,替代原有的 ctx dict
  - StreamProcessor: SSE 解析、预读、嵌套错误检测
  - StreamTelemetryRecorder: 统计记录(Usage/Audit/Candidate)
- 将硬编码配置外置到 settings.py,支持环境变量覆盖:
  - HTTP 超时配置(connect/write/pool)
  - 流式处理配置(预读行数、统计延迟)
  - 并发控制配置(槽位 TTL、缓存预留比例)
2025-12-12 15:42:45 +08:00
fawney19
0154e2f6b6 Merge pull request #12 from fawney19/dev
Dev
2025-12-12 10:23:09 +08:00
fawney19
39defce71c fix: 修复统计聚合的时区问题,启动时自动回填缺失数据
- 统计聚合使用业务时区(APP_TIMEZONE)计算日期,而非UTC
- 新增 _get_business_day_range() 将业务日期转换为UTC时间范围
- 启动时检查并自动回填因容器重启等原因缺失的统计数据
- 修复 aggregate_daily_stats/update_summary/get_today_realtime_stats 等方法的时区计算
2025-12-12 10:06:07 +08:00
fawney19
5722b1422e fix: 启动时自动回填缺失的统计数据 2025-12-12 09:48:17 +08:00
fawney19
677598eaf3 Merge pull request #11 from fawney19/dev
Dev
2025-12-11 21:40:00 +08:00
fawney19
93eeedfcfa fix: 限制散点图图例显示数量,防止溢出 2025-12-11 21:36:39 +08:00
fawney19
0e8bf0a23b feat: 请求间隔散点图按模型区分颜色
- 后端 get_interval_timeline 接口返回数据添加 model 字段
- 前端散点图按模型分组显示不同颜色的数据点
- 横线统计信息支持按模型分别显示统计数据
- 管理员视图保持按用户分组,用户视图按模型分组
- 更新 mock 数据支持模型字段
2025-12-11 21:33:39 +08:00
fawney19
c43195e510 Merge pull request #10 from fawney19/dev
fix: 添加 404.html 支持 SPA 路由刷新
2025-12-11 20:13:27 +08:00
fawney19
2dce4102b0 fix: 添加 404.html 支持 SPA 路由刷新 2025-12-11 20:10:01 +08:00
fawney19
bdce2865bd Merge pull request #9 from fawney19/dev
feat(mock): 添加缓存分析相关接口的 mock 数据
2025-12-11 20:05:09 +08:00
fawney19
f1ae49d2f7 feat(mock): 添加缓存分析相关接口的 mock 数据
- interval-timeline: 请求间隔时间线散点图数据
- ttl-analysis: TTL 推荐分析数据
- hit-analysis: 缓存命中分析数据
2025-12-11 19:58:14 +08:00
fawney19
2661f13286 Merge pull request #8 from fawney19/dev
Dev
2025-12-11 19:43:51 +08:00
fawney19
859c699e90 fix: 调整 interval-timeline 接口 limit 上限
- 管理员接口 limit 上限从 5000 调整为 50000
- 用户接口 limit 上限从 5000 调整为 20000
- 默认 hours 从 168 改为 24
2025-12-11 19:39:51 +08:00
fawney19
6e8107e340 fix: 修复管理员散点图只显示部分用户的问题
- 改为按比例采样,保持各用户数据量比例不变
- 散点图默认时间从7天改为当天(24小时)
- limit 从 2000 提高到 10000
2025-12-11 19:34:56 +08:00
fawney19
3dcc2a1c27 Merge pull request #7 from fawney19/dev
Dev
2025-12-11 18:52:42 +08:00
fawney19
3b05f0b269 ci: 更新 Docker 镜像名称配置 2025-12-11 18:52:13 +08:00
fawney19
9142473640 refactor: 优化 Docker 构建流程,分离 CI/本地开发镜像配置 2025-12-11 18:31:53 +08:00
fawney19
df130c367b Merge pull request #6 from fawney19/dev
ci: 调整 Docker 构建工作流,移除 pull_request 触发器
2025-12-11 18:20:41 +08:00
fawney19
4275e6ec6b ci: 调整 Docker 构建工作流,移除 pull_request 触发器 2025-12-11 18:19:46 +08:00
fawney19
bbc2707a05 Merge pull request #5 from fawney19/dev
Dev
2025-12-11 18:17:54 +08:00
fawney19
3b8a55adea docs: 更新部署文档和配置,支持预构建镜像和本地构建两种方式 2025-12-11 18:16:19 +08:00
fawney19
7de1926fc8 chore: 更新前端依赖 2025-12-11 17:53:35 +08:00
fawney19
cc4e28ad16 feat: 添加使用量统计和数据分析功能 2025-12-11 17:52:32 +08:00
fawney19
9c850c4f84 feat: 实现缓存监控仪表板和散点图组件 2025-12-11 17:49:54 +08:00
fawney19
abc41c7d3c feat: 添加缓存监控和使用量统计 API 端点 2025-12-11 17:47:59 +08:00
fawney19
b3ad224100 Merge pull request #4 from fawney19/dev
refactor: 统一响应解析中的嵌套错误检测逻辑
2025-12-11 11:42:57 +08:00
fawney19
22ea0e245d refactor: 统一响应解析中的嵌套错误检测逻辑
- 提取 _check_nested_error 函数处理多种错误格式
- 支持检测顶层 error、type=error 以及 chunks 内嵌套的错误
- 简化 OpenAIResponseParser 和 ClaudeResponseParser 中的错误处理代码
- 提高代码复用性和可维护性
2025-12-11 11:33:07 +08:00
fawney19
a1a5c3262e Merge pull request #3 from fawney19/dev
fix: 增加写入超时时间支持大请求体
2025-12-11 11:23:42 +08:00
fawney19
8f914d89bb fix: 增加写入超时时间支持大请求体
- 将 chat_handler_base 的写入超时从 10 秒增加到 60 秒
- 将 cli_handler_base 的写入超时从 10 秒增加到 60 秒
- 将 http_client 的写入超时从 10 秒增加到 60 秒
- 支持包含大量数据(如图片)的长对话请求
2025-12-11 11:21:46 +08:00
fawney19
1fdd0737a5 Merge pull request #2 from fawney19/dev
Dev
2025-12-11 11:01:23 +08:00
fawney19
4a5b551e2c docs: 添加更新说明 2025-12-11 10:52:47 +08:00
fawney19
d6994316f1 fix: 修复失败请求筛选兼容旧数据
失败请求筛选同时考虑新旧两种判断方式:
- 新方式:status = "failed"
- 旧方式:status_code >= 400 或 error_message 不为空
2025-12-11 10:52:12 +08:00
fawney19
323a514f77 refactor: 优化活跃请求状态查询逻辑
- 重命名 get_active_requests 为 get_active_requests_status
- 支持从端点配置读取超时时间
- 新增 content_length_limit 错误类型
2025-12-11 10:45:06 +08:00
fawney19
875f3d5f54 chore: 配置 mypy 忽略缺失导入
- 添加 ignore_missing_imports 配置,减少第三方库类型检查警告
2025-12-11 10:08:09 +08:00
fawney19
ee8614919e style: 优化前端 UI 布局和样式
- MainLayout 增加间距优化,改善页面布局
- ModelDetailDrawer 调整样式细节,提升用户体验
2025-12-11 10:05:53 +08:00
fawney19
0474f63403 refactor: 完善 handler 基类类型注解和流式状态更新
- 为 BaseMessageHandler 和 MessageTelemetry 添加完整类型注解
- 新增 _update_usage_to_streaming 方法,异步更新 Usage 状态为 streaming
- 优化 chat/cli handler 的类型提示,提升代码可维护性
- 修复类型检查警告,确保 mypy 通过
2025-12-11 10:05:06 +08:00
fawney19
913a87d7f3 refactor: 重构活跃请求查询逻辑到 UsageService
- 在 UsageService 新增 get_active_requests 方法,统一处理活跃请求查询
- 支持自动清理超时的 pending 请求(默认 5 分钟)
- admin 和 user 接口均复用该方法,减少重复代码
- 支持按 ID 列表查询或查询所有活跃请求
2025-12-11 10:04:15 +08:00
fawney19
6016f08d1c feat: 前端新增 Demo 模式支持
- 新增 demo 配置模块,支持静态托管环境(GitHub Pages/Vercel/Netlify)
- API client 集成自定义 adapter,Demo 模式下自动拦截请求返回 mock 数据
- 登录对话框适配 Demo 模式,显示演示账号提示信息
- 添加完整的 mock 数据处理器(用户、配额、用量、供应商等)
- 同步 token 状态到 mock handler,支持页面刷新后恢复会话
2025-12-11 10:03:10 +08:00
fawney19
9c10361758 Merge pull request #1 from fawney19/dev
docs: 优化 README 的 Q&A 章节排版格式
2025-12-11 01:28:04 +08:00
fawney19
a7b658a768 docs: 优化 README 的 Q&A 章节排版格式 2025-12-11 01:26:19 +08:00
fawney19
f784106826 Initial commit 2025-12-10 20:52:44 +08:00