Commit graph

16 commits

Author SHA1 Message Date
Wenaixi
801917b478 fix: 修复审查发现的3个问题
1. api-server.js: 更新过时的 performHealthChecks(true) 调用
   - 方法签名改了,不再接受 isInit 参数
   - 改为 performHealthChecks()

2. i18n.js: 更新描述以匹配实际行为
   - '留空则检查所有供应商' -> '留空则不进行任何检查'

3. provider-pool-manager.js & provider-api.js: 移除死代码
   - _checkProviderHealth 从不返回 null
   - 移除对 result === null 的检查
2026-03-31 22:46:30 +08:00
Wenaixi
b2bb744916 chore: 更新健康检查注释,反映简化后的逻辑(只依赖providerTypes,不使用per-provider checkHealth flag) 2026-03-31 01:42:00 +08:00
Wenaixi
9172401a50 fix: 简化健康检查逻辑,支持热更新interval,修复provider-tag点击问题
- 移除checkHealth per-instance flag,简化逻辑为只依赖providerTypes勾选
- performHealthChecks启动检查也遵循providerTypes过滤
- 优化健康检查日志:显示耗时、通过/失败计数
- 支持修改interval后热更新,无需重启(globalThis.reloadHealthCheckTimer)
- 移除openai-iflow选项(未注册的provider)
- 修复config-manager.js中scheduledHealthCheckProviders点击不生效问题
- providerTypes配置修改后下次检查自动生效
2026-03-31 01:14:44 +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
57e2165fb8 feat: 支持批量关联配置文件并优化模型列表管理
- 修改批量关联功能,从逐个请求改为批量处理,提高效率
- 扩展快速链接API,支持同时处理多个配置文件
- 优化iFlow模型获取逻辑,支持手动添加多个模型
- 更新提供商模型列表,添加新模型并调整顺序
2026-02-05 17:52:22 +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
ba4ec31f9a fix(provider): 增加provider.needsRefresh重置并调整最大错误次数为10
- 在重置provider健康状态时增加needsRefresh标志重置
- 将MAX_ERROR_COUNT默认值从3调整为10,提高容错性
- 忽略400状态码的错误计数,避免客户端参数问题影响provider健康状态
2026-01-22 12:24:33 +08:00
hex2077
ccd97c1066 feat(provider): 添加refreshCount重置逻辑并优化模型显示
refactor(ui): 将模型列表从指南页移动到仪表盘页
fix(api): 移除健康检查中的abortController信号
style(css): 迁移模型列表样式到仪表盘样式文件
2026-01-21 00:43:35 +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
d70352b26e Merge branch 'main' of https://github.com/justlovemaki/AIClient-2-API 2026-01-13 19:09:52 +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
hex2077
817c25267b feat(上传配置): 添加批量删除未关联配置文件功能并优化UI
refactor(提供商管理): 重构API路由顺序并添加健康节点管理功能
style(侧边栏): 更新配置管理为凭据文件管理以更准确描述功能
perf(提供商池): 优化健康检查仅检测不健康节点提升性能
fix(UI): 修复提供商编辑状态按钮显示问题
docs(i18n): 更新翻译文件以匹配新功能
2026-01-13 18:32:27 +08:00
hex2077
2d317e0333 refactor(项目结构): 重构项目目录结构并优化代码组织
将常用工具函数移动到utils目录
重构提供商策略模式实现
新增docker-compose构建配置文件
优化UI配置选择器的样式和交互
重构代理工具和API管理模块
更新脚本路径和依赖引用
2026-01-10 18:19:06 +08:00
hex2077
4554a4cfd2 feat(ui): 重构前端UI组件并添加新功能
- 新增组件加载器实现动态加载HTML组件
- 重构导航功能,添加滚动到顶部功能
- 新增多个UI组件:header、sidebar、logs、usage等
- 实现移动端菜单响应式设计
- 优化DOM元素获取方式,使用延迟加载
- 新增系统监控模块和用量缓存功能
- 扩展静态文件服务支持/components路径
- 实现插件管理和系统API接口
- 添加配置上传和管理功能
- 完善认证和token管理机制
2026-01-10 15:53:04 +08:00