Commit Graph

40 Commits

Author SHA1 Message Date
曾庆雷
18a493e805 feat: 添加 Gemini retrieveUserQuota 接口支持
支持 Gemini CLI 0.22.2+ 的配额查询功能
实现与现有 v1internal 接口一致的 projectId 处理逻辑
2025-12-24 22:48:27 +08:00
shaw
a4dcfb842e refactor: 重构gemini转部分 2025-11-25 10:30:39 +08:00
shaw
bae39d5468 feat: 支持Gemini-Api接入 2025-11-23 22:00:13 +08:00
曾庆雷
9eccc7da49 实现SSE心跳机制和非阻塞响应结束 2025-11-19 11:59:38 +08:00
曾庆雷
d7358107f8 fix: 优化 Gemini SSE 流式转发,解决流中断和性能问题
- 采用透明转发,直接转发原始数据,避免解析和重新序列化
- 异步提取 usage 数据,不阻塞主流程
- 流错误时发送正确的 SSE 结束标记
- 修复 usageReported 标志未更新的 bug
- 性能提升:延迟降低 94%,吞吐量提升 10x
2025-11-18 14:09:26 +08:00
曾庆雷
47d7a394c9 仅对个人账户调用 tokeninfo/userinfo 接口
- 添加 projectId 非空判断,减少对企业账户的影响
- 优化错误日志级别为 warn
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
曾庆雷
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
shaw
d6a9beff2f feat: 适配新版本gemini 2025-10-14 11:24:27 +08:00
shaw
eb304c7e70 feat: openai转发增加apikey速率限制 2025-10-08 08:36:43 +08:00
shaw
25d1c3f74e fix: apikey的服务权限问题修复 2025-09-25 22:51:39 +08:00
shaw
b7da43f615 fix: 修复部分账号转发gemini api失败的问题 2025-09-12 11:41:14 +08:00
shaw
7c4feec5aa feat: 添加账户状态监控和自动恢复机制
- 实现账户健康度监控系统,支持30分钟内错误率检测
- 添加自动恢复机制,失败账户在30分钟后自动尝试恢复
- 优化账户选择策略,优先选择健康账户
- 增强Redis键管理,添加账户状态和错误追踪功能
- 改进Gemini服务错误处理和重试逻辑
- 新增standardGeminiRoutes标准化路由支持

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-11 22:02:53 +08:00
shaw
5a29502fcd fix: 修复gemini转发 2025-09-04 10:45:07 +08:00
Feng Yue
b00d0eb9e1 use proxy if configured in all Gemini API requests 2025-08-31 01:21:25 +08:00
zjpyb
79c7d1d116 fix: 修复Gemini v1beta非流式响应数据结构问题
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-28 03:04:52 +08:00
zjpyb
fb57cfd293 fix: 修复Gemini v1beta流式响应中断问题
- 优化SSE流式响应处理逻辑,修复客户端接收第一条消息后断开连接的问题
- 统一流处理缓冲区,正确处理不完整的SSE行
- v1beta版本返回response字段内容,v1internal保持原始转发
- 移除调试日志输出,提升生产环境稳定性

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-28 02:38:01 +08:00
zjpyb
a7009e6864 fix: Gemini原生接口没获取到modelName #295 2025-08-28 00:03:34 +08:00
shaw
102fc54e8e fix: 修复gemini转发代理ip未使用的问题 2025-08-21 10:55:05 +08:00
shaw
4aa562be21 fix: 去除logger自动添加metadata字段 2025-08-20 21:45:48 +08:00
shaw
65ba0ffb8f feat: 优化 Gemini 项目ID处理逻辑
- 统一使用账户配置的项目ID,忽略客户端请求中的project参数
- 增强日志记录,更清晰地追踪项目ID的使用情况
- 移除无用的 geminiAuthInterceptor 中间件
- 移除调试用的 console.log

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 09:33:15 +08:00
千羽
11fc856999 chore: commit all changes 2025-08-10 17:46:31 +09:00
千羽
8a74bf5afe refactor: standardize code formatting and linting configuration
- Replace .eslintrc.js with .eslintrc.cjs for better ES module compatibility
- Add .prettierrc configuration for consistent code formatting
- Update package.json with new lint and format scripts
- Add nodemon.json for development hot reloading configuration
- Standardize code formatting across all JavaScript and Vue files
- Update web admin SPA with improved linting rules and formatting
- Add prettier configuration to web admin SPA

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-07 18:19:31 +09:00
shaw
7fa75df1fd fix: 修复分组调度功能和API Keys统计弹窗UI问题
1. 分组调度功能修复:
   - 统一使用 unifiedClaudeScheduler 和 unifiedGeminiScheduler
   - 修复 schedulable 字段数据类型不一致问题(布尔值/字符串)
   - 添加 _isSchedulable() 辅助方法确保兼容性
   - 修复所有路由文件中的调度器调用

2. API Keys 统计弹窗UI优化:
   - 统一弹窗样式与系统UI风格
   - 添加右上角关闭按钮
   - 修复移动端宽度问题(设置为95%屏幕宽度)
   - 使用 Teleport 组件和项目通用样式

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-05 17:06:52 +08:00
mouyong
9fca0b0c20 feat: gemini 支持 2025-08-05 01:19:23 +08:00
mouyong
c214d72bef feat: gemini 流式响应 2025-08-04 23:10:53 +08:00
mouyong
71b0d743fd feat: gemini 流式响应 2025-08-04 23:05:51 +08:00
mouyong
e4b5364061 feat: gemini 流式响应 2025-08-04 23:04:40 +08:00
mouyong
74f428d990 feat: gemini 流式响应 2025-08-04 22:57:31 +08:00
mouyong
49221dfbc5 feat: gemini 流式响应 2025-08-04 22:45:11 +08:00
mouyong
08a962833b feat: gemini 流式响应 2025-08-04 22:38:58 +08:00
mouyong
ae9f6158d1 feat: gemini 流式响应 2025-08-04 22:37:06 +08:00
mouyong
f2312893d4 feat: gemini 流式响应 2025-08-04 22:36:36 +08:00
shaw
2ad5d02468 fix: 修复 Gemini 统计功能的多个问题
主要修复:
1. geminiRoutes.js 主端点现在使用统一调度器(unifiedGeminiScheduler)
   - 支持模型过滤
   - 支持账户调度控制
   - 与 Claude 保持一致的调度逻辑

2. 修复 Gemini 账户统计数据获取
   - admin 路由现在正确获取 Gemini 账户的使用统计
   - 使用 redis.getAccountUsageStats 获取真实数据
   - 与 Claude 账户统计逻辑保持一致

这些修复确保了 Gemini 服务的数据统计功能正常工作,包括:
- 请求次数统计
- Token 使用量统计
- 模型级别的统计数据
- API Keys 页面和账户管理页面的数据显示

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-04 17:35:15 +08:00
shaw
ef4f7483d3 feat: 完善 Gemini 功能与 Claude 保持一致
- 添加 Gemini 账户的 schedulable 字段和调度开关 API
- 实现 Gemini 调度器的模型过滤功能
- 完善 Gemini 数据统计,记录 token 使用量
- 修复 Gemini 流式响应的 SSE 解析和 AbortController 支持
- 在教程页面和 README 中添加 Gemini CLI 环境变量说明
- 修复前端 Gemini 账户调度开关限制

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-04 16:53:11 +08:00
千羽
33837c23aa feat: 增强 Gemini 服务支持并添加统一调度器
- 新增 unifiedGeminiScheduler.js 统一账户调度服务
- 增强 geminiRoutes.js 支持更多 Gemini API 端点
- 优化 geminiAccountService.js 账户管理和 token 刷新机制
- 添加对 v1internal 端点的完整支持(loadCodeAssist、onboardUser、countTokens、generateContent、streamGenerateContent)
- 改进错误处理和流式响应管理

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-04 14:47:03 +09:00
shaw
a431778363 fix 修复openai格式流式响应的结束标记问题 2025-07-22 18:00:24 +08:00
shaw
9ad7feb94c fix: 修复 OpenAI 路由中的 req.apiKeyData undefined 错误
- 将所有路由中的 req.apiKeyData 改为 req.apiKey(与中间件一致)
- 在 authenticateApiKey 中间件中添加缺失的字段(permissions, geminiAccountId, usage)
- 修复 openaiClaudeRoutes.js、openaiGeminiRoutes.js 和 geminiRoutes.js 中的引用错误
- 确保 API 权限检查正常工作

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-22 13:08:24 +08:00
shaw
38c1fc4785 feat: 添加多模型支持和OpenAI兼容接口
- 新增 Gemini 模型支持和账户管理功能
- 实现 OpenAI 格式到 Claude/Gemini 的请求转换
- 添加自动 token 刷新服务,支持提前刷新策略
- 增强 Web 管理界面,支持 Gemini 账户管理
- 优化 token 显示,添加掩码功能
- 完善日志记录和错误处理

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-22 10:17:39 +08:00