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 |
|