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
|
d1711b702b
|
improve(log):优化模型广场页面
|
2026-08-29 00:13:01 +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 |
|
qian
|
ba26450d4c
|
fix(ui):修复模型广场页面布局问题
|
2026-08-27 23:15:07 +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
|
f6a3e3a2f2
|
improve(ui):优化价格计费
|
2026-08-20 17:00:14 +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
|
3a075047bb
|
improve(ui):优化模型广场显示分时价格
|
2026-08-20 01:25:51 +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
|
98ff538587
|
chore(doc):修改readme文档
|
2026-08-18 23:58:17 +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
|
42dfe41b60
|
improve(ui):统一用户端的api密钥和项目详情的api密钥界面
|
2026-08-18 22:56:44 +08:00 |
|
qian
|
9a3ce06775
|
improve(ui):优化后台图表显示效果
|
2026-08-18 22:37:42 +08:00 |
|
qian
|
ed82af4180
|
fix(apikey):修复在线体验获取到无效key的问题
|
2026-08-18 22:32:58 +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
|
ec0f815a53
|
fix(ui):优化下拉框被其他组件遮挡的问题
|
2026-08-15 00:07:18 +08:00 |
|
qian
|
95da2088a0
|
fix(sys):修复版本检查不能及时获取最新版本的问题
|
2026-08-14 22:50:13 +08:00 |
|
qian
|
0819d3edae
|
feat(ui):新增模型缓存价格显示
|
2026-08-14 22:30:01 +08:00 |
|
qian
|
68fd94cd2c
|
fix(ui):修复移动端模式下菜单栏背景过于透明的问题
|
2026-08-14 22:30:01 +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 |
|