sususu
|
909b5ad37f
|
fix: 添加 Explore agent 系统提示词模板并优化日志级别
- 添加 exploreAgentSystemPrompt 模板用于匹配 Claude Code Explore 子代理
- 将详细的 prompt 内容从 error 日志移至 warn 级别,减少日志噪音
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
2025-12-08 10:45:46 +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 |
|
sususu
|
9b15e08624
|
fix: 请求/v1/messages/count_tokens 的CanceledError 不再被记录为ERROR 日志
|
2025-11-05 09:47:37 +08:00 |
|
shaw
|
a2b04eea07
|
fix: 修复总费用被重置的bug
|
2025-10-30 15:59:24 +08:00 |
|
sususu98
|
42fc164fa4
|
fix: 清理所有字符串字段的错误消息,不仅限于 message 字段
比如:error_message 字段
|
2025-10-28 10:06:26 +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 |
|
shaw
|
abef8a4e31
|
feat: claude账号新增保存claude的uuid
|
2025-10-19 17:15:31 +08:00 |
|
shaw
|
d3489d1bfd
|
fix: 修复apikey最后使用账号为已删除的bug
|
2025-10-18 11:42:13 +08:00 |
|
shaw
|
1ed0ca31ec
|
fix: 修复因代理ip不可用导致axios的proxy回退到环境变量代理问题
|
2025-10-18 11:00:43 +08:00 |
|
shaw
|
2ec17360d6
|
fix: 修复oauth的claude账号在apikey最后使用显示未已删除的bug
|
2025-10-17 23:14:39 +08:00 |
|
shaw
|
17311f2d3b
|
fix: 修复apikey最后使用查找问题
|
2025-10-17 22:36:31 +08:00 |
|
shaw
|
b0e6ac3923
|
fix: 修复openai账号类型查找前缀
|
2025-10-17 21:15:56 +08:00 |
|
shaw
|
aa66d89021
|
fix: 修复gemini转发的部分bug
|
2025-10-17 20:15:50 +08:00 |
|
shaw
|
05f4454c10
|
feat: apikey显示最后调度的账号
|
2025-10-17 19:44:40 +08:00 |
|