Commit Graph
159 Commits
Author SHA1 Message Date
chengqian 0fd2e737ef Merge remote-tracking branch 'origin/dev' into dev 2026-08-31 15:59:55 +08:00
chengqian 1f07fae1c2 fix(email):修复邮件相关功能 2026-08-31 15:59:22 +08:00
qian cd019cf817 feat(billing):新增本位币设置,初始化时可选择全局货币单位,一旦设置就不能修改 2026-08-29 10:22:47 +08:00
qian 5c08c7c218 fix(log):修复使用日志查询时间固化问题 2026-08-29 08:43:25 +08:00
qian 483ffded09 improve(log):优化管理后台请求日志显示效果 2026-08-29 00:12:42 +08:00
chengqian 96bcd3e46f fix(channel):修复渠道更新key后无法立即生效 2026-08-28 16:55:28 +08:00
chengqian ce59b12622 fix(cron): 兜底任务 panic,并支持自定义渠道探测间隔
panic 兜底:cron.New() 默认不带 Recover 链,robfig/cron v3 的 startJob 是裸的
`go func(){ j.Run() }()`——任意一个定时任务 panic 会直接崩掉整个进程,而不只是让该
任务失败。在 runJobInternal 内兜住并转成普通 error,进程存活且失败经 recordExecution
落进 sys_cron_jobs,管理后台可见,不再表现为一次无声重启。堆栈只进日志,避免撑爆
last_error 的展示。渠道自动探测再加一层 per-channel recover:单个渠道 panic 只跳过
自己,本轮剩余渠道继续(否则整轮被中断)。

探测间隔可配置:新增 channel_auto_test_interval_minutes(默认 5,范围 1-1440),
原先固定 */5 * * * *。用 @every 而非 */N——*/N 只在 N<60 时有意义,*/90 会被静默
解析成 */30,给出与配置不符的频率;@every 还让各实例按启动时刻错开,不会所有实例
卡在同一分钟同时探测。

配套两处基础能力:CronScheduler 记录 cron.EntryID 并新增 Reschedule(先加新条目、
成功后再摘旧条目,非法表达式时保持原调度,避免一次错配把任务彻底摘出调度器);
ConfigService 新增 OnSettingsChanged 回调钩子,挂在既有的 settings:changed 订阅上,
使配置变更能触发动作而不只是让缓存失效,多实例各自重排、无需重启。
2026-08-27 21:59:45 +08:00
chengqian dd02bf4ac3 feat(admin): 渠道列表/详情展示最差模型,暴露被均值摊薄的单模型故障
渠道健康分是各模型 succ_ewma 的均值,单个模型全挂会被其余健康模型摊薄——10 个
健康模型 + 1 个挂掉仍能算出 90 分绿灯,而这恰是模型级熔断要隔离的典型场景。
补一个最差项:ChannelRuntimeStates 遍历目录快照时顺带取每个渠道 succ_ewma 最小的
模型,按 succ^α×100 折算为与渠道分同口径的健康分。

不落库、不加列:catalog 内存快照已逐 (渠道,模型) 持有 SuccEwma,遍历它即可,零额外
I/O;数据是调度器同源的 5 秒刷新值,比 5 分钟落盘快照更新鲜。取最小值也天然免疫冷
模型问题——无上报的模型读作满分 1.0,永远不会被选为最差项。

byModel 是 map,遍历顺序随机,同分时按模型名取小者打破平局,否则全部模型满分时
每次请求返回的模型名都会跳变。

前端:列表页健康度列在最差项低于 80(健康档)时补一行「⚠ 模型名 分数」,详情页
健康度字段同理;disabled / testing 渠道不在目录快照,不展示。
2026-08-27 21:59:45 +08:00
qian 08c885aa6c fix(web):修复前端缓存导致点击页面没反应 2026-08-27 00:08:31 +08:00
qian 14da11516f improve(ui):优化渠道调试功能布局 2026-08-20 22:22:56 +08:00
chengqian 78745378a0 improve(ui):优化渠道详情页 2026-08-20 15:40:36 +08:00
chengqian ccdb314ecd Merge remote-tracking branch 'origin/dev' into dev 2026-08-20 11:45:46 +08:00
qian 40e91d9450 feat(channel):新增渠道调试日志功能 2026-08-20 10:34:15 +08:00
qian 5cae607d19 feat(channel):允许禁用的渠道进行模型测试操作 2026-08-20 01:03:48 +08:00
qian ee96a5b866 feat(model):优化模型价格设置功能 2026-08-20 01:03:48 +08:00
qian add95ca5ab feat(model):模型定价分时功能 2026-08-20 01:03:47 +08:00
chengqian 54ccfb9b80 feat(usage):用量记录添加统计信息 2026-08-19 20:54:52 +08:00
chengqian 330d02f19d feat(channel):渠道详情页显示模型监控信息 2026-08-19 18:34:21 +08:00
qian 8a7f0f2760 Merge branch 'main' into feat/responses
# Conflicts:
#	docs/reference/goframe-conventions.md
#	internal/logic/admin/channel.go
#	web/tenant/src/views/service/ApiKeysPage.vue
2026-08-18 23:02:33 +08:00
qian 9a3ce06775 improve(ui):优化后台图表显示效果 2026-08-18 22:37:42 +08:00
chengqian 0bac1668bb chore(ui):渠道测试添加提示信息 2026-08-18 14:47:25 +08:00
qian 3073c6fd5e fix(channel):修复渠道修改base url地址后不匹配问题 2026-08-18 00:29:37 +08:00
qian 0a8ecbe4c7 chore:更换空数据的图片 2026-08-17 23:43:27 +08:00
qian 8a7c670e8f chore:拆分大文件 2026-08-17 23:08:58 +08:00
chengqian c9b6d1947c feat(model):优化模型性能监控,支持查看指定渠道状态 2026-08-17 17:37:23 +08:00
chengqian 014e0f1736 improve(ui):优化管理后台的表格显示 2026-08-17 17:37:22 +08:00
chengqian 6f96eb4150 Merge remote-tracking branch 'origin/feat/responses' into feat/responses
# Conflicts:
#	docs/reference/goframe-conventions.md
2026-08-17 10:02:05 +08:00
qian 6255930d0d feat(model):添加渠道监控 2026-08-17 07:44:56 +08:00
qian 6778c84ace feat(model):新增缓存监控指标 2026-08-16 23:59:00 +08:00
qian c286d4d2df fix(update):修复在线更新多个问题 2026-08-15 13:56:55 +08:00
qian 95da2088a0 fix(sys):修复版本检查不能及时获取最新版本的问题 2026-08-14 22:50:13 +08:00
chengqian a090fdd601 fix(channel):修复渠道权重被设置为0的问题 2026-08-14 18:47:45 +08:00
chengqian 9bab883779 fix(channel):修复渠道权重被设置为0的问题 2026-08-14 18:38:42 +08:00
chengqian bf7123148e feat(model):responses协议和chat的优化处理 2026-08-14 18:14:11 +08:00
chengqian b5a1770018 feat(model):支持responses协议 2026-08-14 16:24:58 +08:00
qian fec5e503d3 improve(ui):优化管理后台的时间选择器 2026-08-14 00:20:10 +08:00
qian ef7e48cfc5 improve(ui):优化管理后台的时间选择器 2026-08-13 23:44:42 +08:00
qian d73498fa35 improve(ui):优化管理后台的抽屉在移动端的展示效果 2026-08-13 23:25:00 +08:00
qian 23b05d0aa9 fix(sys):修复版本号检查问题 2026-08-13 23:15:17 +08:00
qian 6aed01fba8 fix(auth):修复身份认证失效后跳回登录页面又回到系统内的问题 2026-08-13 22:47:52 +08:00
chengqian 336ed835f1 improve(ui):优化管理端表格效果 2026-08-13 22:20:07 +08:00
chengqian cbffa01689 improve(ui):优化移动端显示效果 2026-08-13 16:44:59 +08:00
chengqian be8275a8c5 improve(model):优化模型健康状态功能 2026-08-13 15:53:09 +08:00
qian 5fb3baf8bc improve(ui):优化管理后台高频使用页面的移动端显示效果 2026-08-12 23:59:11 +08:00
qian 6795625e18 improve(ui):优化移动端显示效果 2026-08-12 00:31:56 +08:00
chengqian fb8f96217d improve(ui):网站名称同步设置 2026-08-11 18:05:57 +08:00
chengqian 4a9fe1a5da improve(login):优化登录页状态判断 2026-08-10 13:57:54 +08:00
qian 1bd71817f8 improve(channel):调整接口更新频率 2026-08-08 09:35:49 +08:00
qian 540817a6a7 feat(channel):新增渠道调度状态显示 2026-08-08 09:09:07 +08:00
qian bc2f202f4f fix(channel):修复ali百炼渠道路径拼接问题 2026-08-08 02:03:31 +08:00