Commit graph

179 commits

Author SHA1 Message Date
hex2077
231505afd9 feat: 更新OAuth回调服务器主机和图片资源
fix: 修复curl命令中baseURL拼接问题
refactor: 将授权成功后的刷新逻辑移至provider-manager
docs: 更新README中的赞助者列表和图片引用
2025-12-22 13:44:35 +08:00
hex2077
0816de2ba2 feat(ui): 添加图片放大功能并优化仪表盘布局
实现二维码图片点击放大功能,重构仪表盘顶部布局将联系信息与统计卡片并排显示
添加多语言图片切换功能,根据语言显示不同的赞助和联系方式图片
优化Kiro OAuth流程,增加自动关联凭据到Pools的功能
2025-12-21 21:09:16 +08:00
何夕2077
abf874b43c Merge pull request #119 from Ravens2121/feature/claude-kiro-oauth
feat: 为 claude-kiro-oauth 提供商添加 OAuth 授权生成功能(支持 Google/GitHub/AWS Builder ID)
2025-12-21 18:50:17 +08:00
Ravens2121
2dc7514d37 feat: add claude-kiro-oauth provider OAuth authorization support
Amp-Thread-ID: https://ampcode.com/threads/T-019b4067-8a07-72db-b29f-20e581b9ea58
Co-authored-by: Amp <amp@ampcode.com>
2025-12-21 18:45:26 +08:00
hex2077
abe6a15b93 fix(claude-kiro): 修复社交认证方法下未检查profileArn的问题
当使用社交认证方法时,添加对profileArn的检查以避免潜在的错误

refactor(ui-manager): 改进console日志的错误处理
增强日志系统对复杂对象和错误的处理能力,避免字符串化时出现异常
2025-12-21 17:25:18 +08:00
hex2077
96587f1ad0 refactor(provider-pool-manager): 用LRU策略替换轮询算法以均衡分配
改进提供商选择逻辑,从简单的取模轮询改为基于最后使用时间和使用次数的LRU策略,确保在动态变化的可用列表情况下也能平均分配到各个账号
2025-12-20 17:43:50 +08:00
hex2077
fa8150701f feat(i18n): 添加多语言支持并实现国际化功能
实现中英文双语支持,包括:
1. 添加i18n.js核心模块处理语言切换和翻译
2. 创建语言切换器组件
3. 更新所有UI文本使用翻译键
4. 添加I18N_GUIDE.md文档说明使用方法
5. 修改样式适配语言切换器
6. 添加adm-zip依赖支持配置文件打包下载
7. 更新登录页面支持多语言
8. 重构toast消息显示支持多语言标题
2025-12-20 17:27:30 +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
e943819539 feat(配置管理): 添加提供商URL配置支持并优化UI
扩展配置系统以支持自定义提供商API端点URL,包括Gemini、Kiro、Qwen和Antigravity服务的可配置基础URL。同时优化了配置表单的UI,添加了可选标记和占位符提示。

- 在config.json.example中添加各提供商URL配置项
- 修改各提供商核心服务以支持自定义URL
- 更新配置管理器和UI管理器以处理新增URL字段
- 优化前端配置表单,添加可选标记和占位符
- 扩展字段映射和顺序定义以包含URL配置项
- 改进授权模态框,添加手动URL输入支持
2025-12-19 16:31:48 +08:00
hex2077
5af83e4473 feat(gemini): 添加新的 gemini-3-flash 模型并修复令牌过期检查
添加 gemini-3-flash-preview 和 gemini-2.5-flash 模型到 PROVIDER_MODELS 和映射表
修复 isTokenExpiringSoon() 方法在没有 expiry_date 时的默认返回值
添加调试日志打印可用模型列表
2025-12-18 16:57:42 +08:00
hex2077
d5417d9890 feat(provider): 添加自定义名称字段并优化OAuth处理流程
添加自定义名称字段以允许用户为节点设置个性化名称
重构OAuth处理逻辑,统一各提供商的授权流程
增加超时处理并优化错误提示
调整UI显示顺序和字段布局
2025-12-17 13:45:02 +08:00
hex2077
3887243528 feat(usage): 添加用量查询功能及界面
实现完整的用量查询功能,包括:
1. 新增用量查询页面和导航入口
2. 为各API服务适配器添加用量查询接口
3. 实现用量数据缓存机制
4. 添加响应式用量数据展示界面
5. 支持自动刷新和手动刷新用量数据
6. 显示模型配额、剩余用量和重置时间等信息
2025-12-16 15:29:15 +08:00
hex2077
7c976bdf0a feat(安全): 添加后台登录密码配置功能
实现后台管理密码的设置和更新功能,包括:
- 在前端添加密码输入框和显示/隐藏切换按钮
- 在后端添加密码验证和存储逻辑
- 密码修改后需要重新登录生效
2025-12-14 20:20:31 +08:00
hex2077
c2bc2f1c07 fix(converters): 更新AI模型相关常量以匹配最新API限制
调整OpenAI、Claude、Gemini等模型的token限制常量,使其与各平台最新API规格保持一致
2025-12-13 17:38:42 +08:00
hex2077
839fc2d9de refactor(converters): 使用常量替换模型默认参数硬编码
将各模型转换器中的硬编码默认参数替换为统一的常量定义,提高代码可维护性
2025-12-13 17:30:04 +08:00
hex2077
f851ac8bb2 fix(provider-pool): 修复提供者使用计数和健康状态更新逻辑
更新提供者使用计数时增加最后使用时间记录
修复流式请求和一元请求成功后的使用计数更新
移除不必要的模型映射和配置
调整服务选择时跳过使用计数的逻辑
2025-12-13 00:45:49 +08:00
hex2077
98086d8027 docs: 更新多语言README文件添加Docker镜像发布信息 2025-12-11 13:12:28 +08:00
hex2077
d9fd7e8676 ci: 更新Docker镜像名称以包含仓库路径
将IMAGE_NAME环境变量从仅使用用户名改为包含完整的仓库路径格式,以符合Docker Hub的镜像发布规范
2025-12-11 12:48:48 +08:00
hex2077
9405c8076a ci(workflow): 更新Docker镜像名称使用secrets中的用户名
使用DOCKERHUB_USERNAME作为镜像名称,提高安全性
2025-12-11 12:42:26 +08:00
hex2077
5f7648300d ci(docker): 添加 GitHub Actions 工作流用于构建和推送 Docker 镜像
当推送带有版本号的标签时自动构建多架构 Docker 镜像并推送到 Docker Hub,同时生成构建摘要
2025-12-11 12:29:20 +08:00
hex2077
1c46bb547b perf(api): 为所有API服务添加HTTP连接池配置防止资源泄漏
为Claude、OpenAI、Gemini、Qwen等API服务添加HTTP/HTTPS agent配置,设置keepAlive、maxSockets等参数以限制连接池大小,避免资源泄漏问题。同时统一了各服务的axios配置方式,提高网络请求的稳定性和性能。
2025-12-10 15:45:08 +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
何夕2077
f4b30ed596 Merge pull request #103 from leonaii/main
先合并,后处理
2025-12-10 12:12:42 +08:00
何夕2077
8239f165cf Merge pull request #102 from lethanhson9901/feature/openai-structured-output-support
feat: Add structured output support for OpenAI to Gemini conversion
2025-12-10 12:04:26 +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
lethanhson9901
47b7ecb49a Merge branch 'justlovemaki:main' into feature/openai-structured-output-support 2025-12-09 11:12:42 +07:00
lethanhson9901
9701d98c55 feat: Add structured output support for OpenAI to Gemini conversion
- Add support for response_format parameter in OpenAI requests
- Map json_object type to Gemini's responseMimeType: application/json
- Map json_schema type to Gemini's responseSchema with schema definition
- Update buildGeminiGenerationConfig to handle response_format parameter

This enables users to request structured JSON outputs using OpenAI's
response_format API when calling Gemini models through the converter.
2025-12-09 11:08:35 +07:00
何夕2077
c7e30b5149 Merge pull request #101 from lethanhson9901/fix/antigravity-project-id-discovery
fix(antigravity): implement automatic Project ID discovery to resolve 403 errors
2025-12-09 12:03:13 +08:00
lethanhson9901
abf32f6cb5 fix(antigravity): implement automatic project ID discovery and prevent overwrite
This commit introduces automatic Cloud Code project discovery for the Antigravity provider. It ports the onboarding logic from gemini-core.js, handles missing credentials by triggering the auth flow, and ensures the discovered Project ID is correctly passed to the request payload builder, fixing the 403 Permission Denied error caused by random ID generation.
2025-12-09 10:21:37 +07:00
hex2077
3ec219bcc7 feat: 增加模型token限制并添加AWS登录提示信息
增加Gemini和Antigravity模型的输入输出token限制,同时在AWS登录表单中添加必要的提示信息,确保用户正确配置授权文件
2025-12-06 16:36:22 +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
何夕2077
0e9d0912cd Merge pull request #95 from Sanyela/main
fix: 修复 Kiro API 工具调用、流式传输优化及号池错误处理
2025-12-03 16:00:38 +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
Sanyela
402278240c perf: move token counting to end of stream to avoid blocking event loop 2025-12-03 15:16:40 +08:00
何夕2077
55cabe8f7c Merge pull request #94 from Sanyela/main
fix: 修复 Kiro API 工具调用和流式传输问题
2025-12-03 15:12:55 +08:00
Sanyela
9bb8be858e fix: prevent resource leak - close streams properly and limit connection pool 2025-12-03 15:07:25 +08:00
Sanyela
399435e39d fix: merge toolUse events with same toolUseId instead of creating separate blocks 2025-12-03 15:02:41 +08:00
Sanyela
43d491fb5b fix: deduplicate toolResults to avoid Kiro API validation error 2025-12-03 14:46:09 +08:00
Sanyela
55ae7664ec fix: handle multi-part toolUse events (input/stop sent separately) 2025-12-03 14:42:22 +08:00
Sanyela
9a2f0b0c52 fix: filter duplicate consecutive content events from Kiro stream 2025-12-03 14:37:20 +08:00
Sanyela
fc3e7ccba4 fix: skip AWS Event Stream binary headers when parsing JSON 2025-12-03 14:33:10 +08:00
Sanyela
14b4882e10 fix: tools calling failed due to nested JSON parsing 2025-12-03 14:30:26 +08:00
Sanyela
55059fc6c7 fix: only include history when non-empty 2025-12-03 14:25:45 +08:00
Sanyela
28ba5cfef6 fix: ensure content is never empty when sending toolResults 2025-12-03 14:22:14 +08:00
Sanyela
c56ab5780c fix: correct tool calls parsing for streaming - support structured and bracket formats 2025-12-03 14:16:59 +08:00