Commit Graph

707 Commits

Author SHA1 Message Date
shaw
d89344ad87 fix: 修复Gemini-api账户分组调度设置不生效的问题 2025-11-29 14:11:58 +08:00
shaw
63a7c2514b fix: 修复gemini-api账户共享池无法调度问题 2025-11-29 10:02:51 +08:00
shaw
b58b8b1ac7 feat: 支持apikey测试claude端点 2025-11-28 17:16:37 +08:00
shaw
4a0ba6ed63 fix: 修复gemini api账户转发的传参问题 2025-11-28 16:20:26 +08:00
shaw
28caa93d99 feat: 重新支持apikey费用排序功能 2025-11-28 15:32:50 +08:00
shaw
d9476230c6 fix: 修复apikey窗口限制时间显示异常的问题 2025-11-28 14:02:58 +08:00
shaw
49645e8a50 feat: 增强claude转发特征模拟 2025-11-28 13:54:42 +08:00
shaw
7db70e2dc0 feat: 为claude类型账号增加测试功能 2025-11-28 10:51:01 +08:00
shaw
fd2b8a0114 refacto: 重构admin.js 2025-11-27 22:16:45 +08:00
shaw
851809a132 Merge branch 'xilu0/main' 2025-11-27 20:41:37 +08:00
shaw
4aeb47062b fix: droid增加comm端点 2025-11-27 20:38:50 +08:00
Dave King
94ff095754 fix: 修复Redis映射表竞态条件导致API Key临时失效问题
问题:编辑API Key后立即使用时会偶现(概率1%)报"API密钥已过期"错误,
一会儿后自动恢复。这是因为updateApiKey()方法未传递hashedKey参数给
setApiKey(),导致映射表未更新而主数据已更新的不一致状态。

修复:
- updateApiKey()传递keyData.apiKey(hashedKey)给setApiKey()
- 确保每次更新API Key时映射表也被同步更新
- 添加日志记录帮助监控映射表问题

细节:
1. updateApiKey(): 传递hashedKey参数确保映射表一致性
2. validateApiKey(): 添加警告日志检测映射表缺失
3. updateApiKey(): 增强日志记录"hashMap updated"

这解决了Redis双重存储(apikey:{id}和apikey:hash_map)的
竞态条件问题。

Fix: #API-Key-Expiry-Race-Condition
2025-11-27 10:56:58 +08:00
shaw
89238818eb fix: 修复apikeys页面状态排序失效的问题 2025-11-26 19:45:15 +08:00
shaw
4d21c85f83 fix: claude转发移除x-authorization 头 2025-11-26 19:38:28 +08:00
shaw
3fb874fc29 feat: admin-next/api-stats查询被禁用的key增加名字显示 2025-11-26 10:18:43 +08:00
shaw
6e95607285 fix: 修复apikeys页面窗口限制显示错误的bug 2025-11-26 10:09:58 +08:00
shaw
919501a2f1 Merge branch 'fix/gemini-projectid-fallback' into dev 2025-11-25 20:44:48 +08:00
shaw
dea6964116 fix: 修复apikeys页面部分bug 2025-11-25 20:38:52 +08:00
曾庆雷
b619208970 修复:移除请求参数 projectId 降级,改为实时获取
根本原因:请求参数中的 projectId 是客户端缓存的,属于之前账户,
导致账户切换后使用错误的 projectId,返回 403 权限错误。

修改内容:
1. 移除对 request.project 的降级依赖
2. 当账户无 projectId 和 tempProjectId 时,实时调用 loadCodeAssist
3. 获取后缓存到 tempProjectId 供后续请求使用
4. 如果仍无法获取,返回 403 配置错误

影响端点:
- /v1internal:generateContent
- /v1internal:streamGenerateContent
2025-11-25 19:32:38 +08:00
曾庆雷
e0500f0530 修复:Gemini OAuth 账户 projectId 降级逻辑缺失
修复 3 个端点未使用 tempProjectId 的问题:
- /messages
- /v1internal:generateContent
- /v1internal:streamGenerateContent

优先级链:projectId -> tempProjectId -> 请求参数 -> null
2025-11-25 19:06:55 +08:00
shaw
22fbabbc47 fix: 优化apikeys页面加载速度 2025-11-25 15:01:15 +08:00
shaw
25f455ac1c fix: 适配claude新的usage接口 2025-11-25 10:54:21 +08:00
shaw
a4dcfb842e refactor: 重构gemini转部分 2025-11-25 10:30:39 +08:00
shaw
8f2cf211de fix: 修复gemini重置状态按钮未显示的问题 2025-11-24 14:49:12 +08:00
shaw
a0a7aae28e fix: 暂时移除gemini 的429处理 2025-11-24 10:53:51 +08:00
shaw
7706d3480d fix: 修复codex的ua正则条件 2025-11-23 22:51:56 +08:00
shaw
53d2f1ff9b fix: 更新codex默认提示词 2025-11-23 22:41:24 +08:00
shaw
8863075fde feat: 完善Gemini-Api账户相关的数据统计 2025-11-23 22:28:26 +08:00
shaw
bae39d5468 feat: 支持Gemini-Api接入 2025-11-23 22:00:13 +08:00
mikewong23571
c47bb7295e perf(proxy): cache agents with opt-in pooling 2025-11-22 05:01:46 -08:00
shaw
c33771ef82 fix: split SSE chunks per event to avoid JSON parse errors 2025-11-22 18:10:54 +08:00
Dave King
6f9ac4aa84 feat: add Gemini account rate limit handling and hoist variable declarations in standard routes. 2025-11-22 14:04:58 +08:00
shaw
823be8acfc fix: 修复gemini转发未响应问题 2025-11-20 21:02:43 +08:00
VeroFess
9b0a1f9bda 实现 Codex compact 转发:新增 /responses/compact 路由,选择 compact 上游端点,并在 compact 请求中去除 store 参数以避免 400 2025-11-20 20:05:10 +08:00
曾庆雷
9eccc7da49 实现SSE心跳机制和非阻塞响应结束 2025-11-19 11:59:38 +08:00
曾庆雷
94925e57bd 为gemini请求generateContext增加超时时长 2025-11-18 23:23:56 +08:00
曾庆雷
26ad7482ba 优化Gemini流式请求稳定性
- 添加TCP Keep-Alive支持防止长连接断开
- 移除流式请求的timeout限制
2025-11-18 23:19:28 +08:00
曾庆雷
d7358107f8 fix: 优化 Gemini SSE 流式转发,解决流中断和性能问题
- 采用透明转发,直接转发原始数据,避免解析和重新序列化
- 异步提取 usage 数据,不阻塞主流程
- 流错误时发送正确的 SSE 结束标记
- 修复 usageReported 标志未更新的 bug
- 性能提升:延迟降低 94%,吞吐量提升 10x
2025-11-18 14:09:26 +08:00
Yukuiii
861ad11647 fix: 添加对gpt-5.1模型的提示词判断 2025-11-15 18:08:39 +08:00
shaw
d0f23dac46 fix: 临时剔除tools的input_examples参数引发的bug 2025-11-15 14:41:05 +08:00
zstring
fdded1b8c3 临时修复新版本客户端context_management字段兼容性问题 2025-11-15 11:12:41 +08:00
曾庆雷
47d7a394c9 仅对个人账户调用 tokeninfo/userinfo 接口
- 添加 projectId 非空判断,减少对企业账户的影响
- 优化错误日志级别为 warn
2025-11-14 11:17:14 +08:00
曾庆雷
a64b0d557f Revert "修复loadCodeAssist中移除tokeninfo和userinfo调用"
This reverts commit baffd02b02.
2025-11-14 11:17:14 +08:00
曾庆雷
7a6c287a7e 修复标准Gemini API流式响应的缓冲区和解析问题
- 新增通用SSE解析器(src/utils/sseParser.js)
- 添加streamBuffer处理TCP数据包分割
- 统一两种API方式的SSE解析逻辑
- 记录解析失败和usage缺失的详细日志
2025-11-14 11:17:14 +08:00
曾庆雷
e130405809 添加tools和toolConfig传递支持 2025-11-14 11:17:14 +08:00
曾庆雷
008c7a2b03 移除thought字段过滤逻辑 2025-11-14 11:17:14 +08:00
曾庆雷
df796a005a 修复handleSimpleEndpoint返回Promise导致的路由错误 2025-11-14 11:17:14 +08:00
曾庆雷
91ad0658a9 实现listExperiments端点和通用转发机制
- 添加forwardToCodeAssist通用转发函数支持简单端点
- 添加handleSimpleEndpoint通用路由处理函数
- 注册listExperiments路由(v1internal和v1beta)
- 解决gemini-cli启动时404 Not Found错误
2025-11-12 14:32:45 +08:00
曾庆雷
baffd02b02 修复loadCodeAssist中移除tokeninfo和userinfo调用
解决使用GOOGLE_CLOUD_ACCESS_TOKEN时401错误,提升接口响应速度
2025-11-12 14:10:15 +08:00
shaw
3525fe5697 fix: 修复codex 客户端问题 2025-11-06 20:24:32 +08:00