aka686
|
2aff6013d7
|
fix: 为 Logger.requestContext 添加 TTL 清理机制防止内存泄漏
长时间运行的服务中,如果 clearRequestContext 未被正确调用(如请求异常中断),
requestContext Map 会持续增长导致内存泄漏。
新增:
- 每个上下文条目记录 _createdAt 时间戳
- 每 60 秒定期扫描并清除超过 5 分钟的过期条目
- Map 为空时自动停止定时器,避免不必要的开销
- close() 时清理定时器
|
2026-02-26 23:38:43 +08:00 |
|
hex2077
|
68719879c5
|
feat(architecture): 重构适配器注册机制并引入并发控制系统
建立可扩展的提供商适配器注册表,实现动态服务发现与插槽管理:
架构改进:
- 采用 Map 注册表替代 switch-case 硬编码,支持热插拔适配器
- 实现 acquireSlot/releaseSlot 机制,精确追踪活跃请求与等待队列
- 新增节点评分算法,综合考量并发数、队列长度、健康状态
核心能力:
- 支持并发限制与队列等待,避免单节点过载 (concurrencyLimit/queueLimit)
- 实现 Fallback 链式调用,429 错误自动切换备用凭证
- 添加请求级 IP 追踪,日志格式优化为 `clientIp:requestId`
配套更新:
- 管理界面新增并发/队列配置字段与 Grok 逆向提供商选项
- 用量查询服务扩展 Grok 支持,同步剩余查询次数 (固定总量 80)
- 新增并发测试脚本 (tests/concurrent-test.js),支持自定义并发数与 RPM 限制
配置项:
- GROK_COOKIE_TOKEN, GROK_CF_CLEARANCE, GROK_USER_AGENT, GROK_BASE_URL
|
2026-02-26 18:19:38 +08:00 |
|
hex2077
|
f27c9d8732
|
fix(providers): 统一错误日志格式并修复提供商模型引用
修复多个API服务中错误日志格式不一致的问题,统一使用error.message替代data字段
修正多个提供商模型引用方式,使用MODEL_PROVIDER常量替代硬编码字符串
更新Codex API请求头配置,修复流式响应处理逻辑
为iFlow API添加签名验证机制,增强请求安全性
添加GLM-5和MiniMax M2.5等新模型支持
修复400错误状态码检查逻辑,使用error.response?.status替代error.code
|
2026-02-14 19:54:53 +08:00 |
|
hex2077
|
6ee7e78c90
|
feat: 增强模型支持和修复流处理问题
- 添加新的Qwen模型(coder-model, vision-model)到提供者列表
- 修复OpenAI Responses流结束事件处理,避免下游类型校验错误
- 更新Qwen API端点地址和版本号
- 重构Codex转换器,分离OpenAI和OpenAI Responses的转换逻辑
- 优化工具调用处理,支持嵌套function结构
- 移除健康检查功能,简化API管理初始化
- 修复消息角色转换(developer→assistant)和类型标记
|
2026-02-13 20:47:47 +08:00 |
|
hex2077
|
a7b29d9d48
|
fix(provider-pool): 修正标记不健康提供者时的错误状态判断
将标记不健康提供者时的状态检查从 `status === 400` 改为 `error.code === 400`,确保正确识别客户端错误。同时在标记时传递错误信息给 `markProviderUnhealthy` 方法,以提供更详细的故障原因。
|
2026-02-09 21:58:45 +08:00 |
|
hex2077
|
4d588f6c7d
|
fix: 防止流式响应中重复发送结束标志并添加新模型支持
修复 handleStreamRequest 中可能重复发送流结束标志的问题,新增 hasMessageStop 状态跟踪。
在 provider-pool-manager 中修复临时配置缺少全局配置的问题。
为 Gemini 提供者添加新的模型支持:gemini-claude-opus-4-6-thinking。
|
2026-02-08 15:42:45 +08:00 |
|
majie776
|
2816de1451
|
fix(stream):修复流被客户端关闭的时候的写入错误导致服务crash的问题
|
2026-02-05 10:42:46 +08:00 |
|
Jie Ma
|
6170666ff3
|
修复某些客户端没有接收到流结束信息后的错误
|
2026-02-04 13:42:28 +08:00 |
|
hex2077
|
3b0c2180d2
|
feat(usage): 改进用量显示并添加按提供商刷新功能
- 添加 formatToLocal 工具函数统一处理日期本地化显示
- 用量卡片添加重置时间显示和双击刷新功能
- 优化 Gemini/Antigravity/Codex 的用量数据格式化逻辑
- 改进 Codex 用量显示,优先展示周限制信息
- 添加相关国际化文本支持
|
2026-01-28 16:51:45 +08:00 |
|
hex2077
|
03a1a656f4
|
feat: 新增 OpenAI Codex OAuth 支持与用量查询功能
- 添加 Codex OAuth 提供商支持,包括核心服务、适配器和策略实现
- 在用量管理页面新增支持用量查询的提供商列表显示
- 为 Codex 添加专用的用量查询接口和格式化显示
- 更新 Docker 配置以暴露 Codex OAuth 回调端口 1455
- 完善多语言文档,记录 Codex 配置和使用方法
- 修复流式响应中工具调用的 finish_reason 处理逻辑
- 增强 AI 监控插件对数组类型 chunk 的处理能力
|
2026-01-27 16:31:23 +08:00 |
|
hex2077
|
a5236b6709
|
Merge branch 'main' of https://github.com/justlovemaki/AIClient-2-API
|
2026-01-25 23:25:04 +08:00 |
|
hex2077
|
d3c853de94
|
fix: 更新Codex策略以适配新的Responses API格式
将Codex的provider策略从OpenAIStrategy切换为ResponsesAPIStrategy,以适配新的API接口。
更新请求头信息,包括版本号、beta特性标志和连接设置。
调整消息转换逻辑,将assistant角色映射为developer角色。
优化token刷新逻辑,确保在刷新成功后重置provider状态。
|
2026-01-25 23:23:15 +08:00 |
|
Yoahoug
|
cd15a3a637
|
修复codex
|
2026-01-25 23:09:45 +08:00 |
|
hex2077
|
ce7d78f7d0
|
feat(plugins): 新增 AI 监控插件并优化日志管理
- 新增 AI 监控插件 (ai-monitor),支持全链路协议转换监控
- 捕获 AI 接口请求参数(转换前后)
- 监控流式和非流式响应(转换前后)
- 支持内部请求转换监控
- 新增日志清空功能,支持前端和服务器端同时清空当日日志
- 默认禁用 api-potluck 和 ai-monitor 插件
- 更新多语言文档和配置示例
- 优化提供商适配器开发指南
|
2026-01-25 19:40:04 +08:00 |
|
hex2077
|
245583b96a
|
feat(logging): 添加日志系统配置和下载功能
- 新增日志系统配置选项,支持日志级别、输出模式、文件大小等设置
- 添加当日日志文件下载功能,可通过Web界面直接下载
- 将console.log/error替换为结构化logger,提升日志可管理性
- 在日志页面添加自动滚动到底部功能
- 更新配置示例文件,包含完整的日志配置参数
|
2026-01-25 17:24:39 +08:00 |
|
hex2077
|
da8ad6cddb
|
feat(forward): 新增通用转发API提供商支持
- 添加 forward-api 提供商类型,支持将请求透明转发到任意API端点
- 实现 ForwardStrategy、ForwardApiService 和适配器,支持流式和非流式响应
- 在转换逻辑中跳过 forward 协议的数据转换以保持透明性
- 更新UI支持:添加提供商配置字段、多语言标签和显示名称
- 扩展提供商状态检查和健康监测配置
- 为转发请求保留原始路径作为端点参数
|
2026-01-23 18:33:56 +08:00 |
|
hex2077
|
8afe41870d
|
refactor: 优化Claude-》Gemini的转换逻辑,增加tools适配
|
2026-01-22 22:39:19 +08:00 |
|
hex2077
|
d8ec86918f
|
feat(provider): 添加请求时凭证临近过期自动刷新功能
在多个provider的核心代码中添加凭证过期检查逻辑,当检测到凭证即将过期时自动标记为需要刷新
新增formatLog和formatExpiryLog工具函数统一日志格式
修改provider-pool-manager以支持带优先级的刷新队列
|
2026-01-22 17:30:31 +08:00 |
|
hex2077
|
ba4ec31f9a
|
fix(provider): 增加provider.needsRefresh重置并调整最大错误次数为10
- 在重置provider健康状态时增加needsRefresh标志重置
- 将MAX_ERROR_COUNT默认值从3调整为10,提高容错性
- 忽略400状态码的错误计数,避免客户端参数问题影响provider健康状态
|
2026-01-22 12:24:33 +08:00 |
|
hex2077
|
f8faee93fc
|
Revert "add letta"
This reverts commit 3faa599b95523160232df3d5483840b56d5a4702.
|
2026-01-19 21:55:44 +08:00 |
|
hex2077
|
b7f2142411
|
add letta
|
2026-01-19 21:55:35 +08:00 |
|
hex2077
|
be814c5a56
|
fix: 优化凭证刷新和重试机制以避免并发冲突
- 移除 Gemini 服务中不必要的过期检查逻辑
- 在凭证刷新时添加随机延迟和最大重试次数限制
- 在流式和非流式请求重试时添加随机延迟
|
2026-01-18 00:04:22 +08:00 |
|
hex2077
|
56ef11a168
|
refactor: 移除 CredentialCacheManager 及相关缓存逻辑
重构多个 provider 模块,移除了 CredentialCacheManager 的依赖及相关内存缓存逻辑,改为直接读写文件系统。简化了凭证管理流程,减少了代码复杂度。
- 移除 provider-pool-manager 中的快速预检逻辑
- 移除 service-manager 中的凭证缓存初始化及同步逻辑
- 修改各 provider 核心模块的凭证加载和保存逻辑,直接操作文件系统
- 移除并发刷新时的去重锁和缓存同步机制
|
2026-01-17 13:16:19 +08:00 |
|
何夕2077
|
8684437227
|
Merge pull request #253 from Yoahoug/feature/codex-support
添加对codex的支持,符合原项目的逻辑
|
2026-01-16 17:39:45 +08:00 |
|
何夕2077
|
3ee5e29180
|
Merge pull request #255 from leonaii/main
feat(credentials): 增强凭证解析容错能力并添加预验证机制
|
2026-01-16 17:23:44 +08:00 |
|
leonai
|
228898bbf7
|
feat(credentials): 增强凭证解析容错能力并添加预验证机制
新增从损坏 JSON 中提取关键凭证字段的恢复方法
凭证缓存管理器增加 token 有效性预检查,跳过无效凭证
配置 API 补充 POOL_SIZE_LIMIT 字段同步
优化日志输出,区分加载失败和跳过的凭证统计
|
2026-01-16 17:16:38 +08:00 |
|
Yoahoug
|
47ad305b4e
|
feat: add Codex provider support
|
2026-01-16 16:53:06 +08:00 |
|
hex2077
|
8faf913c28
|
feat(credential): 移除当前进程的锁文件特殊处理逻辑
docs: 添加PROVIDER_ADAPTER_GUIDE.md文档说明接入流程
修改凭证缓存管理器,不再允许当前进程复用锁文件,确保同一时间只有一个实例运行。
同时新增提供商接入指南文档,详细说明后端到前端的全流程调整步骤。
|
2026-01-16 16:13:53 +08:00 |
|
何夕2077
|
2b09653d12
|
Merge pull request #252 from leonaii/main
feat(pool): 添加账号池轮询上限配置默认全部,并优化服务端重载问题
|
2026-01-16 15:53:59 +08:00 |
|
leonai
|
025828868e
|
feat(pool): 添加账号池轮询上限配置默认全部,并优化服务端重载问题
1. 新增 POOL_SIZE_LIMIT 配置项,限制每个提供商类型参与轮询的最大健康凭证数量
2. 优化 provider-pool-manager 选择逻辑,按使用次数升序取 Top N 候选池
3. 修复 credential-cache-manager 配置重载时的实例锁检测问题
4. 完善前端配置界面和中英文国际化支持
|
2026-01-16 12:34:41 +08:00 |
|
hex2077
|
b33ff03e1f
|
fix(credential-cache): 允许当前进程继续运行当检测到自身锁文件时
当检测到锁文件属于当前进程时不再抛出错误,而是允许继续运行。这解决了当进程意外重启时可能出现的锁文件冲突问题。
|
2026-01-16 12:24:04 +08:00 |
|
leonai
|
9f58db2c1f
|
feat: 引入凭证缓存管理器,优化 OAuth Token 并发处理
- 新增 CredentialCacheManager 替代文件锁机制
- 所有 OAuth Provider 迁移到内存缓存
- Token 刷新策略优化:过期阻塞,即将过期后台刷新
- 健康检查增加 Token 预检和超时保护
- 进程退出时自动同步凭证到文件
|
2026-01-15 21:49:54 +08:00 |
|
leonai
|
ec82841c26
|
Merge branch 'main' of https://github.com/leonaii/AIClient-2-API
|
2026-01-14 20:14:55 +08:00 |
|
leonai
|
92c2f44a73
|
feat(kiro): 添加凭证错误处理和配额恢复机制
1. 新增 CredentialError 自定义错误类,支持凭证切换标记
2. 添加 402 配额耗尽错误处理,支持验证用量并设置下月恢复时间
3. 重构 429/5xx 错误处理策略,改为等待后切换凭证而非指数退避重试
4. 新增 markProviderUnhealthyWithRecoveryTime 方法支持计划恢复
5. 添加 _checkAndRecoverScheduledProviders 自动恢复已到期凭证
6. 调整凭证切换最大重试次数从 2 次增加到 5 次
7. 支持 skipErrorCount 标记避免临时错误影响凭证健康度统计
|
2026-01-14 20:14:40 +08:00 |
|
hex2077
|
5c90100997
|
feat(并发控制): 实现去重锁机制并优化提供者选择并发安全
为关键操作添加去重锁机制,确保并发请求只执行一次共享结果
重构 provider-pool-manager 使用链式锁保证选择操作的原子性
更新各服务提供者使用 withDeduplication 替代自定义单例锁
|
2026-01-14 16:01:04 +08:00 |
|
hex2077
|
58c66fcd4b
|
feat(文件锁): 添加文件锁机制防止凭证文件并发写入冲突
实现文件锁工具类,用于防止多个异步操作同时写入同一文件导致的竞争条件。修改各认证模块的凭证保存逻辑,在写入文件前获取锁,确保写入操作的原子性。
- 新增 file-lock.js 工具模块,提供 acquireFileLock 和 withFileLock 方法
- 修改所有认证模块的凭证保存逻辑,使用文件锁保护写入操作
- 添加适当的错误处理和锁释放机制,确保资源不会泄漏
|
2026-01-13 22:10:49 +08:00 |
|
leonai
|
bd8f03b68e
|
feat(config): 添加凭证切换最大重试次数配置项
1. 新增 CREDENTIAL_SWITCH_MAX_RETRIES 配置项,默认值为 5
2. 在 config-manager.js 中添加配置初始化
3. 在 config-api.js 中支持配置的读取和更新
4. 在 common.js 中使用该配置控制凭证切换重试次数
5. 在前端配置页面添加对应的输入控件
|
2026-01-13 19:00:00 +08:00 |
|
leonai
|
948283187c
|
feat(kiro): 添加认证错误自动标记不健康及凭证切换重试机制,解决401 和403的问题
1. Kiro API 新增 401/403 错误处理逻辑,401 尝试刷新 token 后重试,403 直接标记凭证不健康
2. 新增 _markCredentialUnhealthy 辅助方法,统一处理凭证健康状态标记
3. ProviderPoolManager 新增 markProviderUnhealthyImmediately 方法,用于认证错误立即标记
4. handleStreamRequest/handleUnaryRequest 支持重试上下文,认证失败后自动切换健康凭证重试
5. provider-api 健康检查增加认证错误识别,触发立即标记不健康逻辑
|
2026-01-13 18:44:34 +08:00 |
|
leonai
|
d7cb0103b8
|
feat(orchids): 添加 Orchids OAuth 提供商集成
1. 新增 Orchids OAuth 提供商支持,包括凭据导入和 API 服务
2. 添加 claude-orchids.js 核心服务实现 WebSocket 通信
3. 实现 JWT Token 解析和凭据管理功能
4. 更新 UI 界面支持 Orchids Token 导入和配置管理
5. 添加 i18n 多语言支持(中文/英文)
6. 更新 .gitignore 忽略 Orchids 凭据文件
|
2026-01-12 20:00:27 +08:00 |
|
hex2077
|
2d317e0333
|
refactor(项目结构): 重构项目目录结构并优化代码组织
将常用工具函数移动到utils目录
重构提供商策略模式实现
新增docker-compose构建配置文件
优化UI配置选择器的样式和交互
重构代理工具和API管理模块
更新脚本路径和依赖引用
|
2026-01-10 18:19:06 +08:00 |
|