Commit graph

149 commits

Author SHA1 Message Date
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
Sanyela
82314ce018 fix: remove content deduplication to fix token counting and display 2025-12-03 14:07:51 +08:00
何夕2077
377db070e2 Merge pull request #93 from Sanyela/main
fix: 修复 Kiro API 的兼容问题
2025-12-03 13:58:17 +08:00
Sanyela
d7a2332e24 perf: optimize stream parsing to avoid duplicates and improve efficiency 2025-12-03 13:50:38 +08:00
Sanyela
28de81203f feat: implement real streaming for Kiro API using AWS Event Stream 2025-12-03 13:37:16 +08:00
Sanyela
5e6ff1435b fix: remove null/empty values from Kiro API request 2025-12-03 13:14:11 +08:00
Sanyela
47df249142 fix: Kiro API currentMessage must be userInputMessage type 2025-12-03 12:55:16 +08:00
何夕2077
e5ae63f338 Merge pull request #92 from Sanyela/main
使用tokenizer包来实现Kiro统计Token
2025-12-03 12:48:52 +08:00
Sanyela
b22de358fa feat(claude-kiro): integrate official tokenizer for input token estimation
- Added @anthropic-ai/tokenizer dependency to package.json.
- Implemented countTextTokens and estimateInputTokens methods to accurately count tokens in request bodies.
- Updated buildClaudeResponse to include input token count in the response object.
2025-12-03 12:39:24 +08:00
hex2077
15df870834 feat(授权): 添加授权文件路径显示功能并更新模型映射
添加getAuthFilePath函数获取各提供商授权文件路径,并在授权模态框中显示
更新FULL_MODEL_MAPPING添加claude-opus-4-5-20251101模型映射
2025-12-02 15:26:42 +08:00
hex2077
78a4674410 refactor(claude-kiro): 兼容Claude Code的npm客户端bug代码
将消息合并逻辑从历史记录处理阶段提前到消息预处理阶段,
同时移除末尾包含单个"{"字符的assistant消息。修复工具上下文
仅在存在工具结果时才传递的条件判断。
2025-12-01 23:23:17 +08:00
hex2077
41e1b8f25a fix(provider-pool): 修正 Gemini 和 OpenAI 提供者的请求格式判断
将 Gemini 提供者的判断条件从精确匹配改为前缀匹配,以支持更多 Gemini 变体
使用常量 MODEL_PROVIDER.OPENAI_CUSTOM_RESPONSES 替代硬编码字符串
2025-12-01 17:04:37 +08:00
hex2077
8252d45f89 fix(converter): 清理OpenAI消息转换中的空白字符
final assistant content cannot end with trailing whitespace

移除消息内容中的前后空白字符,包括普通消息和最后一条assistant消息的尾部空白,确保转换后的数据更整洁
2025-12-01 15:06:50 +08:00
hex2077
ee1f89552b feat(claude-kiro): 添加新模型支持并优化消息合并逻辑
- 在PROVIDER_MODELS中添加gemini-2.5-flash和claude-haiku-4-5模型
- 在FULL_MODEL_MAPPING中添加claude-haiku-4-5模型映射
- 实现相邻相同role消息的合并功能,优化历史消息处理
2025-12-01 14:55:05 +08:00
hex2077
203f0a4e65 feat(antigravity-core): 添加PROJECT_ID配置支持
refactor(provider-pool-manager): 修改markProviderHealthy调用方式
2025-12-01 13:20:00 +08:00
hex2077
7420c88a6f feat(认证流程): 添加浏览器自动打开功能并改进授权流程
添加自动打开浏览器功能到Gemini和Antigravity认证流程,当自动打开失败时显示备用提示信息
在提供商管理界面添加重置健康状态功能
调整CSS布局增加元素间距
2025-12-01 12:44:11 +08:00
hex2077
cb76d85ecd docs: 将README中的图片标记替换为HTML格式
统一将README文件中的Markdown图片语法替换为HTML格式,以便更好地控制图片样式
2025-11-30 22:10:41 +08:00
hex2077
bf9ebacd79 feat(assets): 添加新logo文件并更新现有logo
添加logo-mid.webp文件并更新logo-min.webp文件
2025-11-30 22:06:33 +08:00
hex2077
1ce6f6da86 feat(antigravity): 新增Antigravity支持
添加对Google编程Antigravity客户端API的支持,包括:
- 新增Antigravity OAuth认证配置
- 添加Antigravity API服务适配器
- 更新UI管理界面支持Antigravity授权
- 新增Antigravity模型列表
- 更新多语言文档
- 添加OAuth处理模块
2025-11-30 21:51:17 +08:00
hex2077
fec0b19bd4 feat(provider): 实现基于模型选择的提供商池管理功能
添加 provider-models.js 集中管理各提供商支持的模型列表
修改 provider-pool-manager.js 支持根据请求模型过滤提供商
更新服务管理器和请求处理逻辑以支持模型感知的提供商选择
添加前端UI支持配置不支持的模型列表
更新示例配置文件展示新功能
2025-11-29 16:56:59 +08:00
hex2077
9c114e2a7d refactor(provider-pool): 优化提供商池配置管理和健康检查逻辑
- 移除未使用的提供商池配置输入监听器
- 默认启用提供商池配置文件路径配置
- 修改健康检查方法参数名以更清晰表达意图
- 仅在明确要求时重置提供商使用计数
- 调整文件扫描深度以支持嵌套凭证目录结构
- 重载配置时更新提供商池管理器状态
2025-11-26 13:44:55 +08:00
hex2077
1c22b8c5c9 refactor(provider-pool): 重构提供者池管理器的日志和健康检查逻辑
- 添加日志级别控制和统一的日志输出方法
- 重构健康检查逻辑,使用默认模型配置和标准化的请求构建
- 优化批量保存机制,减少文件I/O操作
- 添加参数校验和错误处理
- 重命名方法以更准确表达其功能
2025-11-25 16:02:30 +08:00
hex2077
08881ae144 feat: 更新Kiro默认模型名称至claude-opus-4-5
将DEFAULT_MODEL_NAME从claude-sonnet-4-5更改为claude-opus-4-5,并添加对应的模型映射
2025-11-25 15:23:10 +08:00
hex2077
f07d1361c8 feat(ProviderPoolManager): 添加健康检查跳过逻辑和重置健康状态方法
添加markProviderZero方法用于重置提供商的错误计数和使用计数
当健康检查未实现时跳过检查并自动标记为零状态
优化健康检查返回null时的处理逻辑
2025-11-24 18:08:25 +08:00
hex2077
0d9e01d137 refactor(配置管理): 重构提供商池配置文件路径处理逻辑
移除默认的provider_pools.json路径,改为可选配置
更新相关UI提示和配置加载逻辑
简化API管理初始化参数
2025-11-24 15:31:20 +08:00
hex2077
8a782c49f0 feat(auth): 将token存储从内存改为本地文件存储
修改了认证系统的token存储机制,从内存Map改为本地JSON文件存储,提高了token的持久化能力。同时更新了启动脚本,简化了错误处理逻辑,并在UI中添加了高亮说明样式和提供商池配置的描述信息。

- 实现了基于文件的token存储、读取、删除和清理功能
- 所有token相关操作改为异步处理
- 添加了highlight-note样式类用于重要信息提示
- 更新了提供商池配置的说明文案
2025-11-23 18:57:13 +08:00
hex2077
9b5b5810e3 add: 更新Gemini模型列表,添加 gemini3.0
fix: 修复提供商池配置路径默认值及参数传递问题

设置默认的提供商池配置文件路径为'provider_pools.json'
移除前端提供商池菜单显示控制逻辑
更新Gemini模型列表,添加 gemini3.0
2025-11-19 18:01:33 +08:00
hex2077
ed9d7e2106 feat(页面): 添加联系与赞助版块
新增微信二维码和赞助二维码展示区域,包含响应式设计和交互效果
添加相关样式定义和图片资源
2025-11-18 13:21:59 +08:00
hex2077
c66c5a88da feat(请求处理): 添加健康检查端点并优化授权逻辑
- 将健康检查端点和count_tokens处理逻辑提前以提高可读性
- 移除对空Bearer令牌的特殊处理,简化授权逻辑
2025-11-17 11:35:44 +08:00
hex2077
f1fc418aab docs: 使用contrib.rocks替换手动维护的贡献者列表
将README、README-ZH.md和README-JA.md中的手动维护的贡献者头像列表替换为contrib.rocks自动生成的贡献者图片,以简化维护并自动更新贡献者信息
2025-11-16 21:42:42 +08:00
hex2077
a435b137e7 feat(ollama): 新增Ollama协议支持,统一接口访问所有支持的模型
- 添加OllamaConverter处理Ollama协议与其他协议的转换
- 实现Ollama处理器处理Ollama特定端点
- 支持Ollama API标准接口如/api/tags、/api/chat、/api/generate
- 更新README文档添加Ollama使用说明和示例
- 优化模型前缀处理,支持通过前缀指定不同提供商
- 改进认证处理,允许空Bearer token以兼容VS Code Copilot等客户端
2025-11-16 21:35:03 +08:00