xupengchong-del
8ec7e5a9a7
feat(model-catalog): 模型选择器 - 支持展示往前推最近10次调用红绿状态指示条 (#768)
* feat(catalog): 模型可用性 - 模型窗口支持展示往前推最近10次调用的红绿状态条
在模型选择弹窗中,单纯展示 24h 成功率难以反映模型短期的真实状态。
现支持往前推取最近最多 10 次实际调用(create 请求)的执行结果:
- 成功一次展示绿色小点,失败一次展示红色小点,一共固定显示 10 个槽位点
- 槽位未发生调用时展示半透明灰色点;鼠标悬浮显示成功与失败次数的详细统计
- 后端从当前时刻往前推查询最近的 create 日志,按时间演进正序(最右侧为最新)输出 recentResults 切片
验证:
- 后端:`go test -v ./internal/app -run TestPublicModelAvailability` 通过
- 前端:`tsc --noEmit`、`bun run build` 通过;`bun test` 2210 项通过
- 新增 `web/test/model-picker-availability-runs.test.ts` 单测并完成反向验证(改坏时测试变红)
- 后端已无损平滑重启并监听 8080 端口
* feat(create): 模型选择器 - 左侧列表模型项直接展示10点可用性状态条
用户在模型选择弹窗中,希望无需点进二级卡片就能直接感知模型的可用率。
现将 10 点状态指示条挂载到左侧模型目录列表的每一项中:
- 在每一个模型的子描述栏右侧常驻展示 10 个圆点的状态条
- 成功=绿点、失败=红点、未调用=灰点;鼠标悬浮显示最近成功与失败统计
- 保持列表项排版整齐,小点与渠道描述自适应两端对齐
验证:
- `tsc --noEmit`、`bun run build` 通过
- `bun test` 2211 项测试通过(唯一失败为上游基线问题)
- `test/model-picker-availability-runs.test.ts` 补充左侧列表挂载断言并通过
2026-10-14 09:37:30 +08:00
..
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-14 09:36:01 +08:00
2026-10-08 19:38:57 +08:00
2026-10-13 05:31:30 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-14 09:36:01 +08:00
2026-10-10 05:44:48 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-10 07:16:22 +08:00
2026-10-08 19:38:57 +08:00
2026-10-14 09:36:01 +08:00
2026-10-08 19:38:57 +08:00
2026-10-10 07:16:22 +08:00
2026-10-08 19:38:57 +08:00
2026-10-10 07:16:22 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-04 10:43:31 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-24 23:59:12 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-13 05:31:30 +08:00
2026-10-13 05:31:30 +08:00
2026-09-11 14:02:49 +08:00
2026-10-11 22:36:47 +08:00
2026-10-08 20:43:15 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-14 09:36:01 +08:00
2026-10-08 19:38:57 +08:00
2026-10-13 19:18:21 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-11 14:02:49 +08:00
2026-10-14 09:36:01 +08:00
2026-10-13 19:18:21 +08:00
2026-10-13 19:18:21 +08:00
2026-10-08 19:38:57 +08:00
2026-10-14 09:36:01 +08:00
2026-10-08 20:43:15 +08:00
2026-10-08 20:43:15 +08:00
2026-10-10 05:44:48 +08:00
2026-10-12 00:37:15 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-06 09:42:48 +08:00
2026-10-08 19:38:57 +08:00
2026-10-04 10:43:55 +08:00
2026-10-11 22:36:48 +08:00
2026-10-08 13:50:59 +08:00
2026-10-13 19:18:21 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-09 10:11:49 +08:00
2026-10-11 22:36:47 +08:00
2026-10-11 22:36:47 +08:00
2026-10-11 22:36:47 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-29 08:21:11 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-10 20:20:09 +08:00
2026-10-04 02:20:30 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-13 20:54:44 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-01 09:42:51 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-13 19:18:21 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-21 09:30:38 +08:00
2026-09-22 01:32:32 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-13 19:18:21 +08:00
2026-10-13 20:54:44 +08:00
2026-10-13 20:54:44 +08:00
2026-10-08 14:20:45 +08:00
2026-10-08 14:20:45 +08:00
2026-10-13 19:18:21 +08:00
2026-10-08 19:38:57 +08:00
2026-10-13 19:18:21 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-27 09:45:43 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-29 08:21:11 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-09 10:11:49 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-29 08:21:11 +08:00
2026-09-30 10:01:39 +08:00
2026-10-13 21:55:08 +08:00
2026-10-08 19:38:57 +08:00
2026-10-05 13:28:24 +08:00
2026-10-05 13:28:24 +08:00
2026-10-08 19:38:57 +08:00
2026-10-10 20:20:09 +08:00
2026-10-09 10:27:35 +08:00
2026-10-08 19:38:57 +08:00
2026-10-09 10:11:49 +08:00
2026-09-29 11:07:11 +08:00
2026-10-08 19:38:57 +08:00
2026-09-29 08:21:11 +08:00
2026-10-08 19:38:57 +08:00
2026-10-05 13:28:14 +08:00
2026-10-08 13:50:59 +08:00
2026-10-08 19:38:57 +08:00
2026-09-27 18:31:37 +08:00
2026-10-08 19:38:57 +08:00
2026-10-13 19:18:21 +08:00
2026-10-09 17:17:28 +08:00
2026-10-11 22:36:47 +08:00
2026-10-06 09:11:15 +08:00
2026-10-08 19:38:57 +08:00
2026-10-10 20:20:09 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-10 20:20:09 +08:00
2026-10-08 19:38:57 +08:00
2026-10-10 20:20:09 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-13 19:18:21 +08:00
2026-10-08 19:38:57 +08:00
2026-10-10 20:20:09 +08:00
2026-10-09 10:11:49 +08:00
2026-10-08 19:38:57 +08:00
2026-10-10 20:20:09 +08:00
2026-10-10 20:20:09 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-22 16:30:07 +08:00
2026-10-08 19:38:57 +08:00
2026-09-23 16:22:44 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-09 12:19:33 +08:00
2026-10-08 19:38:57 +08:00
2026-10-11 22:36:48 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-10 05:45:11 +08:00
2026-10-10 04:40:16 +08:00
2026-09-30 10:01:39 +08:00
2026-10-04 02:20:30 +08:00
2026-10-08 13:50:59 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-06 14:51:43 +08:00
2026-10-09 12:19:33 +08:00
2026-10-10 20:20:09 +08:00
2026-09-30 10:01:39 +08:00
2026-10-13 23:14:29 +08:00
2026-10-11 22:36:47 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-10 20:20:09 +08:00
2026-10-08 19:38:57 +08:00
2026-10-10 20:20:09 +08:00
2026-09-22 01:32:21 +08:00
2026-09-22 01:32:21 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-11 14:02:49 +08:00
2026-09-11 14:02:49 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-18 14:09:50 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-11 14:02:49 +08:00
2026-09-11 14:02:49 +08:00
2026-09-11 14:02:49 +08:00
2026-10-08 19:38:57 +08:00
2026-09-11 14:02:49 +08:00
2026-10-08 19:38:57 +08:00
2026-10-10 04:40:16 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-13 19:18:21 +08:00
2026-10-08 19:38:57 +08:00
2026-10-14 09:17:42 +08:00
2026-10-14 09:17:42 +08:00
2026-10-13 19:18:21 +08:00
2026-09-11 14:02:49 +08:00
2026-10-13 19:18:21 +08:00
2026-10-13 19:18:21 +08:00
2026-09-30 10:01:39 +08:00
2026-10-08 19:38:57 +08:00
2026-10-13 19:18:21 +08:00
2026-10-14 09:37:30 +08:00
2026-10-14 09:37:30 +08:00
2026-10-13 21:55:08 +08:00
2026-10-13 19:18:21 +08:00
2026-10-09 18:02:19 +08:00
2026-10-09 18:02:19 +08:00
2026-10-08 19:38:57 +08:00
2026-10-04 10:43:31 +08:00
2026-10-04 10:43:31 +08:00
2026-10-14 09:17:42 +08:00
2026-10-13 19:18:21 +08:00
2026-10-08 19:38:57 +08:00
2026-10-14 09:37:30 +08:00
2026-10-13 19:18:21 +08:00
2026-10-13 21:55:08 +08:00
2026-10-10 04:40:16 +08:00
2026-10-13 20:54:44 +08:00
2026-10-08 20:43:15 +08:00
2026-10-10 05:44:48 +08:00
2026-09-11 14:02:49 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-11 21:42:15 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-13 09:04:34 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-13 05:31:30 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-13 12:55:30 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-13 19:18:21 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-21 09:38:11 +08:00
2026-09-22 10:48:25 +08:00
2026-09-22 10:48:25 +08:00
2026-10-01 09:42:51 +08:00
2026-10-01 09:42:51 +08:00
2026-10-10 00:59:37 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-10 00:59:37 +08:00
2026-09-18 14:09:50 +08:00
2026-10-08 19:38:57 +08:00
2026-10-13 19:18:21 +08:00
2026-09-11 14:02:49 +08:00
2026-09-11 14:02:49 +08:00
2026-10-09 18:02:18 +08:00
2026-10-09 18:02:18 +08:00
2026-09-14 01:11:56 +08:00
2026-09-11 14:02:49 +08:00
2026-10-08 19:38:57 +08:00
2026-10-13 19:18:21 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-11 14:02:49 +08:00
2026-10-08 19:38:57 +08:00
2026-10-13 19:18:21 +08:00
2026-10-08 19:38:57 +08:00
2026-09-11 14:02:49 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-04 02:20:30 +08:00
2026-10-08 19:38:57 +08:00
2026-09-30 10:01:39 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-12 21:28:41 +08:00
2026-09-12 21:28:41 +08:00
2026-10-13 09:04:34 +08:00
2026-10-13 19:18:21 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 20:43:15 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-11 22:36:47 +08:00
2026-10-08 19:38:57 +08:00
2026-10-12 00:37:15 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-10 09:10:59 +08:00
2026-10-08 19:38:57 +08:00
2026-09-22 21:41:00 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-11 14:02:49 +08:00
2026-10-08 19:38:57 +08:00
2026-09-11 14:02:49 +08:00
2026-10-08 19:38:57 +08:00
2026-10-13 12:55:30 +08:00
2026-10-08 19:38:57 +08:00
2026-10-06 09:23:56 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-22 21:41:00 +08:00
2026-10-08 19:38:57 +08:00
2026-09-11 14:02:49 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-22 21:41:00 +08:00
2026-09-11 14:02:49 +08:00
2026-09-11 14:02:49 +08:00
2026-09-18 20:34:28 +08:00
2026-09-11 14:02:49 +08:00
2026-09-18 20:34:28 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-14 09:34:41 +08:00
2026-10-14 09:17:42 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-10 01:03:26 +08:00
2026-10-14 09:34:41 +08:00
2026-10-14 09:34:41 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-30 18:28:19 +08:00
2026-10-01 13:18:06 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-15 05:22:07 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-21 09:48:43 +08:00
2026-10-08 19:38:57 +08:00
2026-09-11 14:02:49 +08:00
2026-10-08 19:38:57 +08:00
2026-09-11 14:02:49 +08:00
2026-09-11 14:02:49 +08:00
2026-09-11 14:02:49 +08:00
2026-10-08 20:43:15 +08:00
2026-10-08 20:43:15 +08:00
2026-09-11 14:02:49 +08:00
2026-09-11 14:02:49 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-18 23:26:54 +08:00
2026-09-18 23:26:54 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-18 20:34:28 +08:00
2026-10-14 09:34:41 +08:00
2026-10-14 09:34:41 +08:00
2026-10-08 19:38:57 +08:00
2026-10-08 19:38:57 +08:00
2026-09-30 10:01:39 +08:00
2026-09-30 10:01:39 +08:00
2026-09-30 10:01:39 +08:00
2026-10-08 19:38:57 +08:00
2026-09-14 19:45:56 +08:00