Commit Graph
85 Commits
Author SHA1 Message Date
chengqian bc42e00ac9 improve(relay):优化gemini流式输出效率 2026-09-09 14:33:58 +08:00
chengqian 03f6c1f304 improve(relay):优化claude输出效率同时避免出错 2026-09-09 14:33:58 +08:00
chengqian 84d7c2bb40 fix(relay):修复claude协议偶发性的断开连接 2026-09-09 14:33:57 +08:00
qian 637948eea0 fix(relay):修复ctx错误导致钱包计费失败 2026-09-04 01:02:27 +08:00
qian 4d0e2901d9 fix(setting):渠道代理改为系统配置而不是配置文件 2026-09-01 23:34:14 +08:00
qian 3c749c6c0a fix(setting):移除设置中多个未生效设置项 2026-09-01 23:11:31 +08:00
qian 15ec726f68 improve(log):优化渠道日志揭露,方便排查问题 2026-09-01 00:11:32 +08:00
qian a2beb8230a fix(relay):修复转换层层数据断层导致连接中断没有正确计费的问题 2026-08-31 22:19:35 +08:00
qian ebb4b2d96f fix(relay):优化协议支持不足的提示信息 2026-08-20 22:11:13 +08:00
chengqian 7d82cb0cc1 feat(model):优化响应头 2026-08-20 15:19:27 +08:00
chengqian 6a49559147 fix(model):修复大模型接口把关键信息泄露给用户的问题 2026-08-20 14:29:57 +08:00
qian 40e91d9450 feat(channel):新增渠道调试日志功能 2026-08-20 10:34:15 +08:00
qian add95ca5ab feat(model):模型定价分时功能 2026-08-20 01:03:47 +08:00
qian 75c905f56b feat(relay):response协议转claude协议 2026-08-17 23:58:42 +08:00
qian e12cfb074c fix(relay):修复deepseek模型适配器处理chat协议的问题 2026-08-17 23:45:12 +08:00
chengqian 922003e758 feat(model):claude模型5m/1h缓存收费 2026-08-17 17:37:23 +08:00
chengqian f56301560e fix(model):修复gemini模型思考token二次计费 2026-08-17 17:37:23 +08:00
qian 6696b417ad fix(log):token用量转换问题 2026-08-17 10:01:04 +08:00
qian f482cadac9 fix(log):修复各个协议转换时缓存token数丢失的问题 2026-08-16 23:24:19 +08:00
qian 5d25673c06 feat(relay):完善responses协议 2026-08-16 19:58:20 +08:00
qian 91cbf8401c fix(relay):完善openai协议支持 2026-08-16 17:57:58 +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 d622237048 improve(playground):根据key的能力显示可用模型 2026-08-08 10:05:24 +08:00
qian bc2f202f4f fix(channel):修复ali百炼渠道路径拼接问题 2026-08-08 02:03:31 +08:00
chengqian 01459d29ce fix(apikey):修复apikey缓存导致模型不可用的问题 2026-08-07 18:14:37 +08:00
chengqian 3256d84c30 fix(apikey):修复api key异步模型越权调用问题 2026-08-07 17:43:22 +08:00
chengqian 908dce79f7 fix(relay): preserve literal models with effort suffixes 2026-08-07 14:08:34 +08:00
qian 2c53aa2576 feat(relay):限流等错误情况不计入请求记录中 2026-08-05 00:50:20 +08:00
qian 0e6b7ccb80 fix(relay):同步请求等待时间过短 2026-08-05 00:17:11 +08:00
chengqian 8cb93d897e improve: 优化高并发下的性能问题 2026-08-03 14:55:06 +08:00
chengqian 2491182939 improve: 优化高并发下的异常报错问题 2026-08-03 12:21:47 +08:00
qian 60373a373d fix(relay): 修复客户端断开时误伤渠道健康评分问题
客户端断开连接(context.Canceled / DeadlineExceeded)时,原来的行为:
1. MaterializeSelection 调用 getChannelKey(ctx, ...) 因 ctx 已取消而失败
2. 失败被包装为 ErrChannelUnavailable(掩盖真实原因)
3. reportMaterializeFailure 对渠道记了一次健康分惩罚

实际上渠道本身完全正常,是客户端主动断开导致的。

修复:
- MaterializeSelection:key 查询前后各加一次 ctx.Err() 检查,
  有 ctx 错误时直接返回 ctx.Err() 而非 ErrChannelUnavailable
- relay_handler.go 调度循环:MaterializeSelection 返回 context 错误时
  静默退出(不记 channelErrors、不调 reportMaterializeFailure),
  用 context.WithoutCancel 退还预扣款项后直接返回,渠道健康分不受影响
2026-08-03 00:00:17 +08:00
qian d7b034c50e improve(log):优化日志打印 2026-08-02 15:45:07 +08:00
qian 27d3cae94e chore:修改relay层注释为中文 2026-08-02 13:40:26 +08:00
qian 318bc0079f fix(relay):修复劣质中转转接入后claude code工具中出现报错的问题 2026-08-02 13:00:06 +08:00
qian 8a5ef91625 feat(relay):deepseek新增response端点 2026-08-02 11:52:28 +08:00
Qian 2ef5a40c26 新的调度方式 (#14)
重构模型渠道调度系统
2026-08-01 22:55:08 +08:00
martin bc2bbe747f chore:移除无用文件 2026-07-27 22:59:33 +08:00
martin 0f87322f49 fix: 修复 P1 功能正确性问题 2026-07-26 11:03:22 +08:00
martin 6665b1e113 refactor:重构渠道调度功能 2026-07-25 20:48:15 +08:00
chengqian 108078614d fix: 金额 float64 → decimal 全链路迁移,消除浮点累积漂移
将全库资金金额从 float64 迁移到 shopspring/decimal,落定边界架构:
入口 NewFromFloat → 内部多步运算全程 decimal → 出口 InexactFloat64;
DB NUMERIC(20,10) 走 driver.Valuer 精确直传,Redis 钱包用整数 micro-USD,
CNY→USD 换汇仅在 payment.FulfillOrder recharge 分支。

- money.go 重写为 decimal 原生(运算/收敛/比较/边界/micro 工具)
- billing/tenant/admin/payment/open/task 各层金额运算 decimal 化
- entity/do 资金列重生成为 decimal.Decimal(可空列 *decimal.Decimal)
- 000013 迁移:非金额 NUMERIC 列 → double precision(5 表 13 列)
- Res 出口 .InexactFloat64() 收敛,JSONB 快照缝隙显式转 float64
- CLAUDE.md 新增 decimal 强约束;补充迁移基线/完成总结文档
2026-07-23 22:08:54 +08:00
chengqian 95e5283e28 fix:修复float金额带来的误差 2026-07-23 17:36:38 +08:00
chengqian 8a68f6a501 fix: 修复代码分析报告中的中等优先级问题
修复 docs/claude代码分析.md 中等优先级的 8 项确认问题:

- tenant/project.go:ProjectUpdate/Archive/Unarchive 的 UPDATE 补上
  tenant_id 过滤,恢复写操作租户隔离约定
- taskchannel(ali/sora/suno/volcengine/midjourney):裸 http.Client 改为
  common.NewPooledClient(走连接池 + 尊重渠道 UseProxy),不再丢弃
  BuildRequestHeader 的错误
- handler/public/payment.go:支付回调失败补日志,伪造/篡改尝试可追溯
- billing/wallet.go + payment/fulfill.go:新增导出 InvalidateWallet
  同时清进程内 walletCache 与 Redis,消除充值后读到旧余额
- logic/task/task.go:ExecuteTask 领取任务改为原子 CAS,多副本不再重复执行
- middleware/rbac.go:matchPermission 后缀匹配改为按路径分段边界,
  修复 /test 规则误命中 .../latest
- admin/channel.go + channel_oauth.go:渠道→密钥跨表写入包进事务,
  杜绝孤儿渠道
- admin/promo_code.go:CreatePromoCode 增加字段白名单,对齐 UpdatePromoCode

另有 6 项经评估暂不修改(配额非原子/补扣负数/无 jti token/setup 竞态/
crypto AAD/turnstile 校验),原因见分析报告说明。
2026-07-22 18:43:38 +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
22ee0aa112 修复安全问题 (#9)
* fix:修复权限问题

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

* fix:修复rbac权限问题

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

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

* improve:优化路由

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

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

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

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

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

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

* chore:rbac权限放行

---------

Co-authored-by: chengqian <wuchengqian@kkidc.com>
Co-authored-by: qian <wuchengqian5@163.com>
2026-06-23 22:47:54 +08:00
qian 6d277d1a97 improve:优化在线体验的图片生成功能 2026-06-13 10:08:46 +08:00
qian 2e7f0beca3 improve:优化视频模型额外参数处理逻辑 2026-06-13 09:47:21 +08:00
qian 8f3fe333c7 fix:修复图像参数映射 2026-06-13 09:27:05 +08:00