Wesley Liddick
|
854aa6e6bc
|
Merge pull request #669 from mrlitong/main
fix(docker): Add redis_data directories to .dockerignore
|
2025-11-20 00:50:27 -05:00 |
|
Wesley Liddick
|
fb7a8f841a
|
Merge pull request #680 from zengqinglei/docs/gemini-cli-configuration
docs: 优化Gemini CLI配置说明
|
2025-11-20 00:49:52 -05:00 |
|
曾庆雷
|
b1853a0760
|
docs: 优化Gemini CLI配置说明
|
2025-11-19 17:56:43 +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 |
|
曾庆雷
|
6d8bf99e78
|
添加GitHub Actions手动触发支持
|
2025-11-18 14:12:01 +08:00 |
|
曾庆雷
|
d7358107f8
|
fix: 优化 Gemini SSE 流式转发,解决流中断和性能问题
- 采用透明转发,直接转发原始数据,避免解析和重新序列化
- 异步提取 usage 数据,不阻塞主流程
- 流错误时发送正确的 SSE 结束标记
- 修复 usageReported 标志未更新的 bug
- 性能提升:延迟降低 94%,吞吐量提升 10x
|
2025-11-18 14:09:26 +08:00 |
|
github-actions[bot]
|
77938b6e39
|
chore: sync VERSION file with release v1.1.197 [skip ci]
|
2025-11-16 14:58:37 +00:00 |
|
Wesley Liddick
|
1c47e1bb4f
|
Merge pull request #668 from Yukuiii/fix-prompt-issue
fix: 添加对gpt-5.1模型的提示词判断
|
2025-11-16 09:58:25 -05:00 |
|
github-actions[bot]
|
87f37f6486
|
chore: sync VERSION file with release v1.1.197 [skip ci]
|
2025-11-15 16:28:01 +00:00 |
|
mrlitong
|
03c611a948
|
fix(docker): Add redis_data directories to .dockerignore
|
2025-11-15 16:27:43 +00:00 |
|
Yukuiii
|
861ad11647
|
fix: 添加对gpt-5.1模型的提示词判断
|
2025-11-15 18:08:39 +08:00 |
|
github-actions[bot]
|
ba6fe1c8af
|
chore: sync VERSION file with release v1.1.196 [skip ci]
|
2025-11-15 06:41:41 +00:00 |
|
shaw
|
d0f23dac46
|
fix: 临时剔除tools的input_examples参数引发的bug
|
2025-11-15 14:41:05 +08:00 |
|
github-actions[bot]
|
69ecf02f46
|
chore: sync VERSION file with release v1.1.195 [skip ci]
|
2025-11-15 03:27:22 +00:00 |
|
Wesley Liddick
|
ea0585d6cb
|
Merge pull request #666 from Zhangstring/fix/context-management-compatibility
临时修复新版本客户端context_management字段兼容性问题
|
2025-11-14 22:27:08 -05:00 |
|
zstring
|
fdded1b8c3
|
临时修复新版本客户端context_management字段兼容性问题
|
2025-11-15 11:12:41 +08:00 |
|
github-actions[bot]
|
e27b66383c
|
chore: sync VERSION file with release v1.1.194 [skip ci]
|
2025-11-14 05:42:29 +00:00 |
|
Wesley Liddick
|
19c270fca1
|
Merge pull request #621 from Yukuiii/fix/persist-install-path
feat: 添加持久化安装路径功能以支持后续更新和状态识别
|
2025-11-14 00:42:14 -05:00 |
|
github-actions[bot]
|
1f2258021c
|
chore: sync VERSION file with release v1.1.193 [skip ci]
|
2025-11-14 03:34:47 +00:00 |
|
Wesley Liddick
|
aa5510e502
|
Merge pull request #662 from zengqinglei/fix-gemini-standard-api-issues
修复Gemini标准API多个兼容性问题
|
2025-11-13 22:33:25 -05: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 |
|
曾庆雷
|
cc82812732
|
手动触发时强制执行版本升级和构建
|
2025-11-14 11:17:13 +08:00 |
|
zengql
|
154e568663
|
Merge pull request #1 from zengqinglei/fix-gemini-cli-proxy-issues
Fix gemini cli proxy issues
|
2025-11-12 15:27:48 +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 |
|
github-actions[bot]
|
9291cdc041
|
chore: sync VERSION file with release v1.1.192 [skip ci]
|
2025-11-06 12:27:56 +00:00 |
|
shaw
|
24c8afbbee
|
Merge branch 'dev'
|
2025-11-06 20:27:32 +08:00 |
|
shaw
|
3525fe5697
|
fix: 修复codex 客户端问题
|
2025-11-06 20:24:32 +08:00 |
|
github-actions[bot]
|
80307f005e
|
chore: sync VERSION file with release v1.1.191 [skip ci]
|
2025-11-06 20:20:37 +08:00 |
|
shaw
|
189c769698
|
chore: 回退pr并同步到最新版本号
|
2025-11-06 20:20:37 +08:00 |
|
Wesley Liddick
|
e7cb532833
|
Merge pull request #631 from sususu98/dev
fix: 请求`/v1/messages/count_tokens` 的CanceledError 不再被记录为ERROR 日志
|
2025-11-06 20:16:52 +08:00 |
|
sususu
|
9b15e08624
|
fix: 请求/v1/messages/count_tokens 的CanceledError 不再被记录为ERROR 日志
|
2025-11-05 09:47:37 +08:00 |
|
Yukuiii
|
5c021115ef
|
feat: 添加持久化安装路径功能以支持后续更新和状态识别
- 新增 `persist_install_path` 函数,将安装路径保存到本地配置文件,便于后续自动识别。
- 更新 `load_config` 函数,增加从持久化配置读取安装位置的逻辑。
- 在 `update_service` 中调用持久化函数,确保更新时能够找到安装目录。
|
2025-10-31 09:46:57 +08:00 |
|
github-actions[bot]
|
ff1b982ed0
|
chore: sync VERSION file with release v1.1.191 [skip ci]
|
2025-10-30 08:00:13 +00:00 |
|
shaw
|
5ac0b80161
|
Merge branch 'dev'
|
2025-10-30 15:59:52 +08:00 |
|
shaw
|
a2b04eea07
|
fix: 修复总费用被重置的bug
|
2025-10-30 15:59:24 +08:00 |
|
shaw
|
0d94ff82f4
|
chore: 回退pr并同步到最新版本号
|
2025-10-30 15:31:16 +08:00 |
|
sususu98
|
42fc164fa4
|
fix: 清理所有字符串字段的错误消息,不仅限于 message 字段
比如:error_message 字段
|
2025-10-28 10:06:26 +08:00 |
|
sususu98
|
3abd0b0f36
|
fix: 编辑Console账户表单前先读取maxConcurrentTasks并显示,防止每次编辑Console账户并发限制都被重置
|
2025-10-27 16:35:27 +08:00 |
|
sususu
|
fd27050934
|
feat: 在错误消息清理中添加对 yes.vg 的处理
|
2025-10-23 14:32:55 +08:00 |
|
sususu98
|
1458d609ca
|
feat: 为 Claude Console 账户添加并发控制机制
实现了完整的 Claude Console 账户并发任务数控制功能,防止单账户过载,提升服务稳定性。
**核心功能**
- 🔒 **原子性并发控制**: 基于 Redis Sorted Set 实现的抢占式并发槽位管理,防止竞态条件
- 🔄 **自动租约刷新**: 流式请求每 5 分钟自动刷新租约,防止长连接租约过期
- 🚨 **智能降级处理**: 并发满额时自动清理粘性会话并重试其他账户(最多 1 次)
- 🎯 **专用错误码**: 引入 `CONSOLE_ACCOUNT_CONCURRENCY_FULL` 错误码,区分并发限制和其他错误
- 📊 **批量性能优化**: 调度器使用 Promise.all 并行查询账户并发数,减少 Redis 往返
**后端实现**
1. **Redis 并发控制方法** (src/models/redis.js)
- `incrConsoleAccountConcurrency()`: 增加并发计数(带租约)
- `decrConsoleAccountConcurrency()`: 释放并发槽位
- `refreshConsoleAccountConcurrencyLease()`: 刷新租约(流式请求)
- `getConsoleAccountConcurrency()`: 查询当前并发数
2. **账户服务增强** (src/services/claudeConsoleAccountService.js)
- 添加 `maxConcurrentTasks` 字段(默认 0 表示无限制)
- 获取账户时自动查询实时并发数 (`activeTaskCount`)
- 支持更新并发限制配置
3. **转发服务并发保护** (src/services/claudeConsoleRelayService.js)
- 请求前原子性抢占槽位,超限则立即回滚并抛出专用错误
- 流式请求启动定时器每 5 分钟刷新租约
- `finally` 块确保槽位释放(即使发生异常)
- 为每个请求分配唯一 `requestId` 用于并发追踪
4. **统一调度器优化** (src/services/unifiedClaudeScheduler.js)
- 获取可用账户时批量查询并发数(Promise.all 并行)
- 预检查并发限制,避免选择已满的账户
- 检查分组成员时也验证并发状态
- 所有账户并发满额时抛出专用错误码
5. **API 路由降级处理** (src/routes/api.js)
- 捕获 `CONSOLE_ACCOUNT_CONCURRENCY_FULL` 错误
- 自动清理粘性会话映射并重试(最多 1 次)
- 重试失败返回 503 错误和友好提示
- count_tokens 端点也支持并发满额重试
6. **管理端点验证** (src/routes/admin.js)
- 创建/更新账户时验证 `maxConcurrentTasks` 为非负整数
- 支持前端传入并发限制配置
**前端实现**
1. **表单字段** (web/admin-spa/src/components/accounts/AccountForm.vue)
- 添加"最大并发任务数"输入框(创建和编辑模式)
- 支持占位符提示"0 表示不限制"
- 表单数据自动映射到后端 API
2. **实时监控** (web/admin-spa/src/views/AccountsView.vue)
- 账户列表显示并发状态进度条和百分比
- 颜色编码:绿色(<80%)、黄色(80%-100%)、红色(100%)
- 显示"X / Y"格式的并发数(如"2 / 5")
- 未配置限制时显示"并发无限制"徽章
|
2025-10-21 13:43:57 +08:00 |
|
shaw
|
b61a3103e9
|
feat: claude转发增加runtimeAddon
|
2025-10-19 18:05:19 +08:00 |
|
shaw
|
edf302fd6b
|
chore: 去除claude转发冗余代码
|
2025-10-19 17:43:13 +08:00 |
|