Commit graph

23 commits

Author SHA1 Message Date
hex2077
2d317e0333 refactor(项目结构): 重构项目目录结构并优化代码组织
将常用工具函数移动到utils目录
重构提供商策略模式实现
新增docker-compose构建配置文件
优化UI配置选择器的样式和交互
重构代理工具和API管理模块
更新脚本路径和依赖引用
2026-01-10 18:19:06 +08:00
hex2077
19a40c7fae feat(iflow): 新增 iFlow CLI 支持及 OAuth 认证功能
添加 iFlow API 提供商支持,包括:
1. 新增 MODEL_PROVIDER.IFLOW_API 常量
2. 实现 IFlowApiService 和适配器
3. 添加 OAuth 认证流程及令牌刷新机制
4. 更新相关配置文件、路由和前端界面
5. 扩展多语言支持
6. 修改 Docker 端口映射范围以包含 iFlow 回调端口
2026-01-07 21:30:51 +08:00
ZqinKing
6ec76b0674 feat: 在日志中添加凭证自定义名称(customName)以增强可读性 2026-01-06 20:12:37 +08:00
ZqinKing
4ec39f4df6 feat(fallback): 新增跨协议模型 Fallback 映射功能
## 功能概述
实现跨协议模型级别的 Fallback 映射机制,允许在主 Provider 不可用时,
根据模型名称自动映射到其他协议的 Provider 和模型。

## 设计原理
- 原有 providerFallbackChain 只支持同协议内回退
- 新增 modelFallbackMapping 支持跨协议映射(如 Gemini → Claude)
- 优先级:同协议回退 > 跨协议模型映射

## 代码修改
- configs/config.json.example: 新增 modelFallbackMapping 配置示例
- src/provider-pool-manager.js: 实现跨协议映射选择逻辑
- src/service-manager.js: 传递 actualModel 参数
- src/common.js: 处理模型 fallback 后的模型名更新
- src/ui-manager.js: UI配置读写支持
- static/app/config-manager.js: 前端配置管理
- static/app/i18n.js: 中英文国际化文案
- static/index.html: 高级配置区新增配置项

## 配置示例
modelFallbackMapping: {
  "gemini-claude-opus-4-5-thinking": {
    "targetProviderType": "claude-kiro-oauth",
    "targetModel": "claude-opus-4-5"
  }
}
2026-01-04 08:40:40 +08:00
hex2077
f691380482 feat: 新增主题切换功能并优化提供商池初始化
refactor: 重构配置管理移除冗余提供商配置
fix: 修复手动OAuth回调处理逻辑
style: 优化用量卡片UI增加折叠功能
perf: 提升服务启动时提供商池节点初始化效率
docs: 更新i18n翻译文本和配置说明
chore: 清理无用代码和配置文件
2026-01-03 18:02:16 +08:00
hex2077
bb6195ee2d feat: 添加主进程管理和自动更新功能
- 引入主进程(master.js)管理子进程生命周期
- 实现子进程崩溃自动重启机制
- 添加服务管理API端点
- 支持通过Web界面检查更新和重启服务
- 更新文档添加FAQ章节
- 优化系统信息显示和UI交互
- autoLinkProviderConfigs增加更新providerPoolManager逻辑
2025-12-31 23:23:56 +08:00
hex2077
8a1ccb9877 refactor(config): 重构配置文件路径至configs目录并更新相关引用
- 将配置文件统一迁移至configs目录
- 更新所有相关代码中对配置文件的引用路径
- 删除不再使用的run-docker脚本文件
- 更新文档中关于配置文件路径的说明
- 调整默认配置参数和路径引用方式
2025-12-25 16:48:42 +08:00
hex2077
dfce4a6aac feat(provider): 添加跨类型 Fallback 链支持
实现当主 Provider Type 无可用账号时自动切换到配置的 Fallback 类型功能,包括:
1. 在 config.json 中添加 providerFallbackChain 配置项
2. 扩展 ProviderPoolManager 支持 Fallback 逻辑
3. 新增 getApiServiceWithFallback 方法处理带 Fallback 的服务获取
4. 更新 UI 界面和文档说明
2025-12-23 17:22:42 +08:00
unihon
7a5ce6dbd5 feat(usage): 添加provider健康检查接口 2025-12-22 01:24:23 +08:00
hex2077
f3761a4254 docs: 更新README文档并优化安装脚本和UI交互
- 更新三语言README,简化快速启动流程,强调Web UI可视化配置
- 移除详细的启动参数文档和模型协议关系图,简化文档结构
- 优化install-and-run脚本,添加--pull参数支持代码更新,统一依赖安装流程
- 改进Kiro服务的机器码生成机制,基于配置生成唯一ID而非MAC地址
- 优化OAuth授权UI,移除冗余的文件路径提示和回调地址警告
- 修复modal.js中OAuth凭据文件路径字段的兼容性检查
- 添加Qwen OAuth端点的初始化配置
- 优化service-manager降级逻辑注释说明
2025-12-20 15:23:56 +08:00
hex2077
e87d74f517 feat: 添加OAuth授权凭据自动生成功能并优化UI
- 实现OAuth授权成功后自动生成凭据文件并填充路径
- 添加"生成凭据"按钮到各提供商配置表单
- 优化文件上传组件的样式和布局
- 将autoLinkProviderConfigs函数导出供服务初始化使用
- 新增oauth_success事件处理逻辑
- 调整授权模态框位置避免遮挡
2025-12-19 18:05:32 +08:00
hex2077
f851ac8bb2 fix(provider-pool): 修复提供者使用计数和健康状态更新逻辑
更新提供者使用计数时增加最后使用时间记录
修复流式请求和一元请求成功后的使用计数更新
移除不必要的模型映射和配置
调整服务选择时跳过使用计数的逻辑
2025-12-13 00:45:49 +08:00
hex2077
b364341f67 feat(provider): 增强健康检测和自动配置关联功能
- 新增 provider-utils.js 公共模块,提取共用工具函数
- 添加提供商健康检测 API 端点和 UI 按钮
- 实现配置文件自动关联功能(启动时和手动触发)
- 支持 gemini-antigravity 新提供商类型
- 增强健康检测结果记录(时间、模型、错误信息)
- 添加提供商列表分页功能
- 修复 OpenAIResponsesConverter 中 systemMessages 未定义问题
- 更新默认健康检测模型配置
2025-12-10 15:18:42 +08:00
hex2077
c5cd1ab2c7 Revert "Merge pull request #103 from leonaii/main"
This reverts commit 4f336889fd46193f5d6b32d95738070e4aecb7b0, reversing
changes made to 4a645cdf3ffaeb922d97141dbf699807ccc2d240.
2025-12-10 12:13:11 +08:00
leonai
d99f0d77a5 feat: 增强提供商池管理和UI功能
- 新增 Kiro OAuth 配置自动扫描和关联功能 (service-manager.js)

- 增强提供商池管理器,支持健康检测和状态持久化 (provider-pool-manager.js)

- 新增 UI 管理功能:登录认证、配置文件上传、提供商管理 (ui-manager.js)

- 新增上传配置管理模块,支持配置文件查看/删除/一键关联 (upload-config-manager.js)

- 增强模态框组件,支持更多交互功能 (modal.js)

- 新增 Windows PowerShell 部署脚本 (run-docker.ps1)

- 优化 run-docker.sh 脚本,增强跨平台兼容性

- 更新 .gitignore 排除敏感配置文件
2025-12-09 22:12:40 +08:00
hex2077
029d97236b fix: 使用 ?? 替代 || 运算符确保默认值正确设置
将逻辑或(||)运算符替换为空值合并(??)运算符,确保当配置值为0时不会被错误地替换为默认值。同时更新了相关日志信息以显示当前设置的maxErrorCount值。
2025-12-04 18:05:38 +08:00
hex2077
211d677d00 fix(provider): 避免重复增加provider使用计数
当从provider池重新选择服务时跳过usageCount增加,因为初次选择时已经增加过。同时优化token刷新逻辑,合并强制刷新和即将过期的检查条件。
2025-12-04 12:53:17 +08:00
hex2077
bc3725e901 feat: 添加统一错误响应生成功能
refactor(service-manager): 移除NoAvailableProviderError和严格池检查
feat(converters): 增强token统计功能,支持缓存和推理token详情
refactor(claude-kiro): 改进JSON解析和工具调用处理
feat(common): 添加统一错误响应生成功能
2025-12-03 20:21:20 +08:00
Sanyela
7d9f505a15 fix: only throw NoAvailableProviderError for Kiro providers 2025-12-03 15:47:53 +08:00
Sanyela
369aa59286 feat: return 400 error when no available provider in pool 2025-12-03 15:42:11 +08:00
hex2077
fec0b19bd4 feat(provider): 实现基于模型选择的提供商池管理功能
添加 provider-models.js 集中管理各提供商支持的模型列表
修改 provider-pool-manager.js 支持根据请求模型过滤提供商
更新服务管理器和请求处理逻辑以支持模型感知的提供商选择
添加前端UI支持配置不支持的模型列表
更新示例配置文件展示新功能
2025-11-29 16:56:59 +08:00
hex2077
7746e94154 feat(config): 添加提供商最大错误次数配置和动态重载功能
新增MAX_ERROR_COUNT配置项用于控制提供商连续错误次数阈值,
当达到此阈值时提供商将被标记为不健康。同时实现配置动态重载功能,
支持在不重启服务的情况下更新配置,包括提供商池管理和UI配置界面的实时同步。

- 在config.json.example中添加MAX_ERROR_COUNT默认值
- 在config-manager.js中实现命令行参数--max-error-count解析
- 在service-manager.js中将maxErrorCount传递给ProviderPoolManager
- 在ui-manager.js中实现reloadConfig函数和配置重载API
- 更新前端配置管理界面,添加maxErrorCount输入控件
- 改进文件上传处理,支持模态框提供商类型识别
- 在所有提供商操作后自动触发配置重载
2025-11-16 18:18:43 +08:00
hex2077
80d4e16840 feat: 添加可视化Web UI管理控制台及相关功能模块
新增完整的Web UI管理控制台,包含以下主要功能:
1. 响应式设计的现代化界面
2. 实时监控系统状态和提供商统计
3. 配置管理功能,支持多种模型提供商
4. 文件上传和OAuth凭据管理
5. 路径路由调用示例和curl命令生成
6. 实时日志查看和事件流处理
7. 提供完整的UI文档说明

新增多个前端模块文件,包括导航、事件处理、文件上传等功能组件,并更新package.json添加multer依赖以支持文件上传功能。同时添加详细的UI_README.md文档说明所有功能特性和使用方法。
2025-11-11 18:53:39 +08:00