Commit Graph
70 Commits
Author SHA1 Message Date
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
chengqian 1f3489c37d docs(dispatch): 修正健康度列注释与过时文档,清理两个僵尸字段
chn_health_scores 的列注释仍写着健康体系重写前的加权公式(成功率×0.40 + 延迟分×0.25
+ 稳定性×0.20 + 连续失败分×0.15),而实际实现是 avg(succ_ewma)^α×100。注释经
gf gen dao 流入 entity/do/dao,是全链路唯一会主动误导后来人的地方。迁移 000017 改写
health_score / success_rate / latency_ms / calculated_at 的 COMMENT 为实际口径。

stability_score / consecutive_failures 自重写后从未被更新,只在建渠道和重置健康度时
写入常量,趋势图与调度均不消费,却仍通过 HealthTrendPoint 返给前端。改为:注释标注
【已废弃】、代码停止写入与查询、从趋势接口响应中移除。保留列不删除以免破坏历史快照;
chn_health_snapshots.stability_score 为 NOT NULL 且无默认值,迁移补 DEFAULT 0,
否则代码停写后插入会失败。

docs/reference/多项目渠道调度对比.md 的 team-api 部分描述的是重写前的实现(引用的
relay/scheduler/、internal/logic/relay/health.go 均已删除),加时效声明并指明现行口径。

注意:迁移执行后需重跑 gf gen dao 刷新 entity/do/dao 中的列注释。
2026-08-27 21:59:44 +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 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 9a3ce06775 improve(ui):优化后台图表显示效果 2026-08-18 22:37:42 +08:00
qian 3073c6fd5e fix(channel):修复渠道修改base url地址后不匹配问题 2026-08-18 00:29:37 +08:00
chengqian c9b6d1947c feat(model):优化模型性能监控,支持查看指定渠道状态 2026-08-17 17:37:23 +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
chengqian a090fdd601 fix(channel):修复渠道权重被设置为0的问题 2026-08-14 18:47:45 +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 540817a6a7 feat(channel):新增渠道调度状态显示 2026-08-08 09:09:07 +08:00
qian 6cf68b14b3 feat(wallet):管理后台钱包一键释放所有被冻结资产 2026-08-05 23:46:53 +08:00
qian c7d15d82a4 improve(admin):优化管理功能搜索条件 2026-08-04 22:50:57 +08:00
qian a73cf411a5 improve(ui):统一调整表格页面,将总数统计显示在左下角 2026-08-04 22:23:29 +08:00
chengqian 6ca1726298 fear(wallet):管理后台在租户钱包里面显示被冻结的资金 2026-08-04 14:35:58 +08:00
qian 2e0119ee85 improve(wallet):优化管理后台的钱包功能 2026-08-04 00:48:02 +08:00
qian 07369f2f30 improve(channel):调整渠道编辑表单 2026-08-03 21:38:34 +08:00
qian ab463ede83 improve(task):定时任务优化,显示中文名称 2026-08-02 17:52:21 +08:00
qian 03259a144a feat(admin):添加模型调用堆叠柱状图 2026-08-02 14:45:50 +08:00
qian f13b583c35 feat(admin):渠道模型能力页面添加字段使用说明 2026-08-02 14:20:35 +08:00
qian a24f9d29db feat(log):添加日志硬删除按钮,防止频繁错误影响数据库 2026-08-02 00:56:03 +08:00
qian 4bf835394d Merge branch 'main' into dev
# Conflicts:
#	web/admin/src/views/ai/ChannelDetailPage.vue
2026-08-01 23:03:23 +08:00
Qian 2ef5a40c26 新的调度方式 (#14)
重构模型渠道调度系统
2026-08-01 22:55:08 +08:00
chengqian f4debdfab2 fix(channel):修复渠道无法修改协议 2026-07-31 15:19:01 +08:00
qian 9374c64bad feat:用户多次输错密码被锁后可以由管理员解锁 2026-07-24 00:18:29 +08:00
qian 52ef686202 feat:模型列表显示模型可用渠道 2026-07-23 00:32:44 +08:00
chengqian 4b13477a83 fix: 修复代码分析报告中安全章节的高危问题
- 错误日志脱敏: response 包新增 sanitizeRequestBody, 对写入
  sys_error_logs 的 JSON 请求体递归脱敏 password/secret/token/code
  等敏感字段, 非 JSON 体不落原文, 防止明文密码入库
- 验证码防暴力破解: VerifyCode 验证侧增加 Redis 失败计数,
  10 分钟内失败 5 次锁定, 成功后清零
- TOTP 防重放: security.go 新增 validateTOTPOnce 守卫
  (SET NX EX 90), 4 处调用方统一接入, Redis 故障 fail-open
- 管理员 Role 补字段级白名单 v:"in:super_admin,admin" (纵深防御)
- 同步更新 docs/claude代码分析.md 安全章节处置状态
2026-07-22 18:57:11 +08:00
Qianandchengqian be9e707bfd 修复异步图片导致的多个问题 (#12)
* fix:修复响应污染问题

* fix:修改存储相关文件为中文注释

* fix:修复二次退款问题

* fix:修复多个考虑不全面问题
1.误删用户数据
2.R2存储默认区域
3.删除失败导致孤儿记录
4.网络抖动事变时重试
5.前端无限次请求获取图片
6.文件管理权限

* fix:修复字符串截断异常问题和文件下载超时问题

* fix:修复多图问题

* fix:异步生成图片时未配置oss提示错误信息

* fix:修复关闭异步后同步生成出错问题

* feat:新增文件存储测试功能,防止设置后不生效

* fix:修复同步图片转异步后计费错误

* fix:修复无下限扣款问题

* fix:修复结算重复扣款问题

* fix:修复计费出错导致的0费用结算

* fix:修复回调双重履约

* fix:修复预扣事务

* fix:修复费用字段类型问题

* fix:修复缓存问题

* fix:修复安全问题

* fix:修复数据库操作事务问题

* refactor:重构事务使用方式,改为官方推荐的dao形式

* fix:修复余额更新隐患

* fix:修复N+1查询问题

* fix:修复密钥安全问题

* fix:结算失败时打印错误日志

* improve:优化扣款

* fix:修复用户接口越权

---------

Co-authored-by: chengqian <wuchengqian@kkidc.com>
2026-07-22 17:53:18 +08:00
fa053529af 图片请求统一异步处理 (#11)
* fix:未导入unicode包

* feat:图片异步转换

* feat:添加R2支持

* feat:新增文件管理

* fix:修复错误信息双写导致响应异常

* chore:渠道列表中添加快捷启用停止按钮

* fix:修复模型异常终端导致报错的问题

* improve:优化无可用渠道的日志打印,减少日志污染

* fix:在线体验出错缺少提示信息

* fix:修复日志库问题,只有请求日志保存到独立的库中

* feat:新增阿里图片模型说明文档

* fix:阿里千问图片生成

* fix:修复图片异步控制无效问题

* improve:优化文件展示,支持缩略图查看

* feat:实时监控中添加图片异步转换池状态信息

* improve:优化在线体验页面布局

* fix:修复异步任务状态显示异常问题

* feat:图片异步任务停止时等待任务完成后再退出程序

* chore:调整存储路径

---------

Co-authored-by: qian <wuchengqian5@163.com>
Co-authored-by: chengqian <wuchengqian@kkidc.com>
2026-07-18 00:26:13 +08:00
79b9224968 注册功能优化 (#10)
* fix:修复权限问题

* fix:修复项目key类型错误问题

* fix:修复rbac权限问题

* fix:修复api密钥未及时失效的问题

* improve:优化渠道调度稳定性

* improve:优化路由

* fix:修复项目预算控制缺陷

* fix:加强限流等安全措施

* feat:添加限流相关字段的前端展示及接口字段

* improve:优化注册时密码要求,只需要字母和数字即可

* feat(setting):添加注册限流设置

* improve:优化前端数字类型转换

* chore:rbac权限放行

* feat:团队功能作为可选项,允许不设置团队的情况下进行注册

* feat:团队code只能设置一次

* improve:优化组织名称限制

* chore:合并数据库版本文件

---------

Co-authored-by: chengqian <wuchengqian@kkidc.com>
Co-authored-by: qian <wuchengqian5@163.com>
2026-06-23 23:07:36 +08:00
Qianandqian 501726b831 优化用户相关功能 (#8)
* improve(user):优化注册功能提示

* improve(user):优化邮箱大小写重复问题

* improve(user):添加密码强度指示器

* fix(setting):修复系统设置功能里面的数字转换问题

* feat(email):优化邮件发送功能

* chore(email):移除无用配置和日志

* fix(user):修复重置密码功能

* chore(ui):调整轮询间隔

* chore(ui):添加充值提示

* chore(ui):优化用户注册功能

* chore(sql):补充数据库变更文件

* fix(email):优化邮箱校验

---------

Co-authored-by: qian <wuchengqian5@163.com>
2026-06-17 22:47:26 +08:00
chengqian a1f637fb2a feat:添加用户协议文档管理功能 2026-06-11 17:49:55 +08:00
chengqian 6dc69944d1 feat:模型分组添加默认字段 2026-06-11 16:10:54 +08:00
martin 16e8ee4346 feat:计费管理改交易流水 2026-06-10 00:16:25 +08:00
martin 0c05366136 feat(update):新增快捷升级功能 2026-06-07 22:27:01 +08:00
qian dd7ff73d28 fix:审计日志修复详情显示问题 2026-06-05 23:34:32 +08:00
qian 879d94a957 feat(task):优化定时任务,减少写表操作 2026-06-04 00:10:18 +08:00
qian a59b8850f0 fi:中间件和数据库 2026-06-03 15:34:38 +08:00
chengqian fa70d8790c fix(auth):修复管理员权限问题 2026-06-02 18:33:48 +08:00
qian 924df0f14f refactor(model):将模型价格设置合并到模型列表里面 2026-05-30 10:30:41 +08:00
qian d0f6f14371 fix(model):模型导入功能 2026-05-30 01:28:09 +08:00
qian cdd314675b fix(test):修复单元测试发现的问题 2026-05-30 00:04:21 +08:00
chengqian 6cc69dac32 Merge remote-tracking branch 'origin/dev' into dev 2026-05-29 21:55:48 +08:00
chengqian 65d734c51c fix(tenant):修复租户等级设置 2026-05-29 14:15:06 +08:00