Commit graph

298 commits

Author SHA1 Message Date
hex2077
8afe41870d refactor: 优化Claude-》Gemini的转换逻辑,增加tools适配 2026-01-22 22:39:19 +08:00
hex2077
ad2432a37c feat(converter): 完善Claude和Gemini转换器对thinking块和工具调用的支持
- 在ClaudeConverter中添加thinking块和redacted_thinking块的处理逻辑
- 改进tool_use和tool_result块的转换,支持ID映射和参数规范化
- 在GeminiConverter中实现thinking块与Claude格式的互转
- 添加工具参数重映射逻辑,解决Gemini与Claude参数命名差异问题
- 支持流式场景下的thinking_delta和signature_delta事件处理
2026-01-22 21:36:05 +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
785ac7890d feat(claude-kiro): 支持AWS企业用户idcRegion字段并优化模型配置
- 在AWS凭据导入说明中增加idcRegion字段要求
- 移除不再使用的Amazon Q相关URL和旧模型映射
- 为Builder ID认证流程添加region选择和idcRegion支持
- 优化凭据加载逻辑,支持独立配置idcRegion
- 在UI中添加region输入框和刷新按钮
2026-01-21 15:56:01 +08:00
hex2077
ccd97c1066 feat(provider): 添加refreshCount重置逻辑并优化模型显示
refactor(ui): 将模型列表从指南页移动到仪表盘页
fix(api): 移除健康检查中的abortController信号
style(css): 迁移模型列表样式到仪表盘样式文件
2026-01-21 00:43:35 +08:00
hex2077
fe131b33d2 fix(provider): 优化节点刷新逻辑
- 修改节点刷新逻辑,当健康节点少于5个时立即刷新
- 移除刷新时的随机延迟以避免并发问题
- 更新Claude Kiro版本号至0.8.140
- 在初始化API服务时添加isReady参数控制预热逻辑
- 在modal.js中排除更多字段
2026-01-20 00:10:04 +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
bcaa61869a refactor(auth): 添加os模块导入以支持跨平台功能 2026-01-18 17:33:41 +08:00
hex2077
464c156fd2 fix(provider-pool-manager): 修复节点权重计算逻辑问题
改进权重计算算法,解决未使用节点(lastUsed为null)排序异常问题。将未使用节点视为1小时前使用过,并调整使用次数惩罚为每分钟偏移量,确保公平排序。
2026-01-18 16:45:38 +08:00
hex2077
610b934f70 fix(claude): 区分403错误类型并采取不同处理措施
当遇到403错误时,新增对"temporarily suspended"错误的特殊处理:
1. 如果是账户暂停错误,直接标记凭证为不健康状态
2. 其他403错误则保持原有刷新UUID逻辑
3. 在普通请求、流式请求和用量查询中统一处理逻辑
2026-01-18 15:02:17 +08:00
hex2077
dc4e6fe0b2 feat(oauth): 修复Kiro提供商403错误处理逻辑
优化令牌刷新队列机制,增加缓冲队列减少重复刷新
更新提供商健康检查模型配置,添加iFlow和Codex相关模型
统一OAuth模块导出结构,整理各提供商OAuth实现
修复Kiro提供商403错误处理逻辑,改为标记需刷新而非直接标记不健康
2026-01-18 14:53:14 +08:00
hex2077
be814c5a56 fix: 优化凭证刷新和重试机制以避免并发冲突
- 移除 Gemini 服务中不必要的过期检查逻辑
- 在凭证刷新时添加随机延迟和最大重试次数限制
- 在流式和非流式请求重试时添加随机延迟
2026-01-18 00:04:22 +08:00
hex2077
0c710ea43f refactor(provider): 重构认证逻辑以支持读写分离架构
将认证初始化逻辑拆分为 loadCredentials 和 initializeAuth,实现异步凭证加载
修改错误处理逻辑,通过 PoolManager 标记凭证状态并触发后台刷新
移除同步刷新逻辑,优化 API 调用时的认证流程
2026-01-17 18:26:19 +08:00
hex2077
35f3f81d3e feat(provider): 实现提供商节点自动刷新与预热机制
- 新增提供商节点自动刷新队列和并发控制
- 添加系统启动预热功能,按配置预热指定数量节点
- 重构CPU使用率统计,支持子进程独立统计
- 扩展适配器接口,增加强制刷新和过期检查方法
- 更新配置管理,新增预热目标和刷新并发数配置
- 优化提供商选择策略,基于评分系统选择最佳节点
- 改进错误处理,401错误自动触发后台刷新
2026-01-17 17:08:17 +08:00
hex2077
56ef11a168 refactor: 移除 CredentialCacheManager 及相关缓存逻辑
重构多个 provider 模块,移除了 CredentialCacheManager 的依赖及相关内存缓存逻辑,改为直接读写文件系统。简化了凭证管理流程,减少了代码复杂度。

- 移除 provider-pool-manager 中的快速预检逻辑
- 移除 service-manager 中的凭证缓存初始化及同步逻辑
- 修改各 provider 核心模块的凭证加载和保存逻辑,直接操作文件系统
- 移除并发刷新时的去重锁和缓存同步机制
2026-01-17 13:16:19 +08:00
何夕2077
1ebdbdf878 Merge pull request #259 from leonaii/main
refactor(claude-orchids): 重构提示词模板并添加模型映射机制
2026-01-17 01:08:24 +08:00
leonai
7d5d35b23e refactor(claude-orchids): 重构提示词模板并添加模型映射机制
1. 重写系统提示词模板,采用更清晰的XML结构
2. 移除冗余的规则声明,简化提示词内容
3. 添加模型名称映射逻辑,将不支持的模型转换为支持的模型
2026-01-17 01:05:28 +08:00
Yoahoug
f8463ba043 refactor: 合并 codex-oauth.js 到 oauth-handlers.js,统一管理 OAuth 逻辑 2026-01-16 23:20:55 +08:00
Yoahoug
a25e22d269 fix: Codex OAuth 添加代理支持和60秒轮询超时 2026-01-16 23:04:09 +08:00
Yoahoug
01f0d5cb59 fix: 修复 Codex OAuth 回调监听,添加自动完成流程 2026-01-16 17:56:30 +08:00
何夕2077
8684437227 Merge pull request #253 from Yoahoug/feature/codex-support
添加对codex的支持,符合原项目的逻辑
2026-01-16 17:39:45 +08:00
Yoahoug
aa4b8692af fix: 修复 Codex OAuth 配置文件关联逻辑 2026-01-16 17:37:04 +08:00
hex2077
0974a5e83d refactor(auth): 使用 axios 替代 fetch 以支持代理配置
重构 OAuth 处理中的网络请求模块,将原生 fetch 替换为 axios,以正确处理代理配置。axios 提供了更完善的代理支持和错误处理机制,同时保持与原有 fetch API 的兼容性。

refactor(providers): 优化健康检查逻辑

- 提前返回未启用健康检查的情况
- 仅在开启自动刷新 token 时执行快速预检
- 使用 AbortController 替代 Promise.race 实现超时控制
- 优化错误消息和日志信息
2026-01-16 17:35:15 +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
何夕2077
0b5bfbf5e0 Merge pull request #246 from leonaii/main
feat: 引入凭证缓存管理器,优化 OAuth Token 并发处理
2026-01-15 21:54:24 +08:00
leonai
9f58db2c1f feat: 引入凭证缓存管理器,优化 OAuth Token 并发处理
- 新增 CredentialCacheManager 替代文件锁机制
- 所有 OAuth Provider 迁移到内存缓存
- Token 刷新策略优化:过期阻塞,即将过期后台刷新
- 健康检查增加 Token 预检和超时保护
- 进程退出时自动同步凭证到文件
2026-01-15 21:49:54 +08:00
jimmylau
aaf49ef2d9 fix retrieveUserQuota for gemini-cli 2026-01-15 19:18:59 +08:00
hex2077
535a93fd31 Merge branch 'main' of https://github.com/justlovemaki/AIClient-2-API 2026-01-14 20:46:53 +08:00
hex2077
da72c2152d refactor(antigravity): 优化系统提示词处理逻辑并改进模型提供者检测
重构 antigravity-core.js 中的系统提示词处理方式,改为分段处理以提高可读性
修改 ollama-handler.js 中的模型提供者检测逻辑,使用模型列表匹配替代硬编码规则
2026-01-14 20:44:13 +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
leonai
3b0fc590d5 fix(kiro): 添加token刷新单例锁并增强JSON解析容错
1. 引入tokenRefreshPromises Map实现按凭证文件路径的单例锁机制
2. 防止多个并发请求同时刷新同一个token导致的文件锁串行化问题
3. 添加repairJson函数处理损坏的JSON文件,增强解析容错能力
4. 重构token刷新逻辑,提取_doTokenRefresh和_reloadCredentialsAfterRefresh方法
2026-01-14 13:44:47 +08:00
leonai
3a04777439 Merge branch 'main' of https://github.com/leonaii/AIClient-2-API 2026-01-14 11:37:02 +08:00
leonai
b14ae21917 fix(kiro): 增强401错误处理并支持Gemini格式请求体转换,修复健康KIRO健康检查错误。
1. 在callApi和callApiStream方法中添加contents到messages格式的自动转换
2. 401错误时先刷新UUID再刷新token,提高认证恢复成功率
3. 新增_refreshUuid方法用于生成新的UUID标识
4. ProviderPoolManager新增refreshProviderUuid方法支持UUID刷新
5. 移除Kiro OAuth的contents格式备用请求,统一使用messages格式
2026-01-14 11:31:28 +08:00
hex2077
58c66fcd4b feat(文件锁): 添加文件锁机制防止凭证文件并发写入冲突
实现文件锁工具类,用于防止多个异步操作同时写入同一文件导致的竞争条件。修改各认证模块的凭证保存逻辑,在写入文件前获取锁,确保写入操作的原子性。

- 新增 file-lock.js 工具模块,提供 acquireFileLock 和 withFileLock 方法
- 修改所有认证模块的凭证保存逻辑,使用文件锁保护写入操作
- 添加适当的错误处理和锁释放机制,确保资源不会泄漏
2026-01-13 22:10:49 +08:00
hex2077
d70352b26e Merge branch 'main' of https://github.com/justlovemaki/AIClient-2-API 2026-01-13 19:09:52 +08:00
hex2077
281d242466 feat(auth): 支持自定义 Builder ID Start URL 并添加相关国际化
为 Kiro OAuth 添加 Builder ID Start URL 的可配置选项,优先使用前端传入的值
添加相关国际化文本和 UI 控件,允许用户自定义或重新生成 Start URL
同时支持通过 options.authMethod 参数指定认证方法
2026-01-13 19:09:17 +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
hex2077
817c25267b feat(上传配置): 添加批量删除未关联配置文件功能并优化UI
refactor(提供商管理): 重构API路由顺序并添加健康节点管理功能
style(侧边栏): 更新配置管理为凭据文件管理以更准确描述功能
perf(提供商池): 优化健康检查仅检测不健康节点提升性能
fix(UI): 修复提供商编辑状态按钮显示问题
docs(i18n): 更新翻译文件以匹配新功能
2026-01-13 18:32:27 +08:00
hex2077
e335a13592 fix: 修复多个功能问题并优化服务器配置
- 将Claude提供商的AXIOS超时恢复为2分钟
- 扩展CORS头以支持更多方法和头部,并添加预检缓存
- 禁用自动链接提供商配置
- 增强服务器配置,设置超时和最大连接数
- 为更新检查添加代理支持,使用undici进行代理请求
2026-01-13 13:29:03 +08:00
何夕2077
51992f30dc Merge pull request #221 from leonaii/main
feat(orchids): 集成 Orchids 平台作为新的 Claude 提供商
2026-01-13 13:25:08 +08:00
Zhafron Kautsar
debe3ec33d refactor(kiro): remove schema simplification and size-based compression
Eliminated the two-stage compression system that attempted to preserve original
tool schemas and only simplified when exceeding size limits. The provider now
applies consistent description truncation for all tools without conditional
schema processing or size calculations.

Removed:
- TARGET_TOTAL_SIZE constant and size checking logic
- simplifySchema helper function
- Conditional schema simplification based on total size

This change reduces complexity and ensures uniform handling of tool descriptions
regardless of total payload size.
2026-01-12 20:50:43 -05:00
Zhafron Kautsar
2e9e319933 refactor(kiro): simplify tool size compression logic
The code refactors the tool building process in initializeAuth to handle
description truncation and size limits more efficiently. It introduces
per-tool description truncation using a fixed max length, and simplifies
the compression logic by removing the iterative description adjustment
loop. This improves code clarity and performance.
2026-01-12 20:43:24 -05: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
02712afc30 feat(token): 增强token加载和保存的日志记录与验证
refactor(claude): 简化token计算逻辑并改进上下文使用率处理
2026-01-12 15:49:19 +08:00
何夕2077
d1516abc4e Merge pull request #216 from lixiangwuxian/main
fix: 修改oauth鉴权逻辑,支持调用回调认证url过程中使用代理
2026-01-12 15:40:35 +08:00
Zhafron Kautsar
6d8afe5c33 Merge remote-tracking branch 'aiclient/main' into feat/kiro-think-token-fix 2026-01-11 11:07:52 -05:00
hex2077
1d01feee35 fix: 调整Claude模型的总上下文tokens限制为172500
更新TOTAL_CONTEXT_TOKENS常量以匹配最新的API限制,从160k提升至173k tokens
2026-01-11 23:54:26 +08:00
Zhafron Kautsar
89083499bc docs(kiro): restore deleted comments 2026-01-11 10:52:26 -05:00
hex2077
340d6f9e10 fix(claude-kiro): 修复工具调用token计算和web搜索工具过滤问题
- 过滤web_search/websearch工具调用
- 将工具调用的name和input内容计入totalContent用于token计算
- 调整总上下文token限制为160k
- 禁用provider_pools.json.example中所有provider的健康检查
- 更新api-potluck插件描述添加管理端和用户端链接
2026-01-11 23:07:02 +08:00
lixiangwuxian
035118ea6f fix: 修改oauth鉴权逻辑,支持调用回调url过程中使用代理 2026-01-11 21:15:23 +08:00
hex2077
37282b6fab fix(update): 使用gh-proxy代理GitHub API和下载链接
修改GitHub API和tarball下载链接,通过gh-proxy.org代理访问,解决国内可能存在的网络访问问题
2026-01-11 19:43:22 +08:00
Zhafron Kautsar
d26b4ee162 feat(kiro): implement extended thinking support with streaming and token estimation
Add comprehensive support for Claude's extended thinking feature in Kiro provider:
- Add thinking block parsing and streaming with proper tag detection
- Implement thinking prefix injection in system prompts with budget validation
- Add bidirectional conversion between Kiro text format and Claude content blocks
- Enhance token estimation with detailed breakdown for thinking, tools, and content types
- Fix streaming to properly handle thinking blocks with start/stop events
- Improve context usage percentage handling and input token calculation
- Add helper functions for quote-aware tag detection to avoid false positives
2026-01-11 05:06:01 -05:00
accx
3d69d381de fix: 优化忽略 Antigravity 提示词
- 使用 ROUTING_PAYLOAD 标签包裹 Antigravity 提示词以实现上下文隔离,让 AI 彻底忽略 Antigravity 设定
- 确保 Antigravity 提示词不影响模型默认行为和身份认知,不把 Antigravity 作为默认身份设定和行为约束
- 提升与用户自定义角色/任务的兼容性,确保不干扰编程、分析、自定义角色等任务,同时仍可正常讨论或主动引用 Antigravity 相关内容
- 测试:向 sonnet4.5 发送 Hi/你是谁/你会什么 等消息,会是模型的内置系统提示词生效,不会扮演 Antigravity
2026-01-11 16:27:23 +08:00
何夕2077
53dbe9381d Merge pull request #205 from Done-0/fix/kiro-tools-500-error
fix(kiro): 动态压缩 tools 解决 Claude Code 发送过多工具信息导致的 500 错误
2026-01-10 23:11:23 +08:00
Done-0
46ea3e707b fix(provider-pool): 优化错误计数逻辑,避免并发请求导致误判 unhealthy
问题:
  - 多个项目并发请求时,临时性 500 错误会快速累计
  - 即使内部重试成功,错误计数已经触发 unhealthy 标记

  解决方案:
  - 引入 10 秒滑动窗口机制
  - 超过窗口期的错误重置计数,而不是累加
  - 只有窗口期内连续失败才标记 unhealthy
2026-01-10 22:12:16 +08:00
Done-0
8b018b562e fix(kiro): 动态压缩 tools 解决 Claude Code 发送过多工具信息导致的 500 错误
问题:
  - Claude Code 发送过多工具信息,超出 Kiro API 请求限制导致 500 错误
  - 工具包括:内置工具、MCP 工具、Skills

  解决方案:
  - 先尝试原始大小,超过 20KB 才进行压缩
  - 第一步:简化 input_schema,只保留 type/enum/required
  - 第二步:按比例缩短 description(最短 50 字符)
  - 保留全部工具和 skills 可调用,不丢弃任何工具

  效果:
  - 80KB+ tools 压缩至 ~15KB
2026-01-10 21:15:08 +08:00
hex2077
a6d9eb1d6f fix: 修正Dockerfile中master.js路径错误
更新CMD指令中的文件路径,从src/master.js改为src/core/master.js,以匹配实际项目结构
2026-01-10 18:55:39 +08:00
hex2077
f801c8adb3 fix(update-api): 在解压前清理旧代码目录以确保完全更新
在performTarballUpdate函数中添加清理src/和static/目录的逻辑,防止旧代码残留影响更新完整性
2026-01-10 18:50:13 +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
何夕2077
290fce9e73 Merge pull request #199 from tickernelz/fix-400-kiro
fix(kiro): preserve tool definitions when history contains tool calls
2026-01-09 22:36:11 +08:00
leonai
7f6bf6f06b feat(api-potluck): 插件 - API 大锅饭 - 升级 V1.0.1
1. 新增用户凭证数据管理模块(user-data-manager.js),支持凭证关联、资源包计算和配置热更新
2. 实现资源包机制:每个健康凭证提供额外调用次数,支持有效期管理和自动过期清理
3. 新增系统配置API:支持动态调整默认限额、资源包次数和有效期
4. 新增批量操作API:批量应用限额和同步资源包状态到所有Key
5. 实现凭证健康检查:从主服务ProviderPoolManager同步凭证状态
6. 新增用户端API Key重置功能,支持数据自动迁移
7. 重构前端界面:采用GitHub风格深色主题,优化移动端响应式布局
8. 新增定时健康检查调度器,自动同步所有用户凭证状态
2026-01-09 21:47:47 +08:00
Zhafron Kautsar
f9428fa294 Merge remote-tracking branch 'aiclient/main' into fix-400-kiro 2026-01-09 06:17:15 -05:00
hex2077
e797b4742a feat(插件系统): 实现插件管理功能
添加完整的插件管理系统,包括以下功能:
1. 插件列表展示与状态统计
2. 插件启用/禁用功能
3. 自动扫描插件目录生成默认配置
4. 插件管理界面和样式
5. 相关API接口实现
6. 多语言支持
7. 移除不再需要的公共API路径配置
2026-01-09 18:47:11 +08:00
Zhafron Adani Kautsar
49382bf96b Merge branch 'justlovemaki:main' into fix-400-kiro 2026-01-09 05:32:07 -05:00
Zhafron Kautsar
5342214c5a fix(kiro): preserve tool definitions when history contains tool calls
When conversation history includes tool usage but current request doesn't
provide tool definitions, reconstruct minimal tool specifications from
history to prevent API errors. This ensures continuity in multi-turn
conversations with tool calling.

- Extract tool names from historical tool uses
- Generate placeholder tool specs with empty schemas
- Only apply when history has tool calls but toolsContext is empty
- Remove obsolete Chinese comment
2026-01-09 05:13:15 -05:00
hex2077
d639077bde feat(plugin): 实现可插拔插件系统架构
重构API大锅饭功能为插件,新增插件管理器核心模块
支持插件生命周期管理、认证中间件、路由和钩子扩展
添加默认认证插件和API大锅饭插件
2026-01-09 18:02:56 +08:00
leonai
876b92cc0e refactor(kiro): 优化流式响应立即发送message_start,移除contextUsagePercentage等待逻辑
1. 立即发送message_start和content_block_start事件,不再等待contextUsagePercentage
2. 使用estimateInputTokens预估输入token作为保底值
3. 移除bufferedEvents缓冲机制和messageStartSent状态标记
4. 简化content事件处理逻辑,直接yield而非条件判断
5. 移除contextUsagePercentage未收到时的错误抛出逻辑
6. 更新estimateInputTokens方法注释,标记为备用方案而非废弃
2026-01-09 14:41:54 +08:00
hex2077
6f06998352 fix(antigravity-core): 修改忽略提示词的内容以提高清晰度
将忽略提示词从复杂格式改为更简洁直接的表述,使AI更容易理解并忽略前面的系统提示
2026-01-09 13:17:37 +08:00
leonai
f6d456cdb4 feat(kiro): 添加 AWS SSO 凭据导入和批量导入流式进度功能
1. 新增 checkKiroCredentialsDuplicate 函数用于检测重复凭据
2. 批量导入支持 SSE 流式响应实时显示进度
3. 新增 importAwsCredentials 函数支持 AWS Builder ID 模式导入
4. 前端新增 AWS 凭据导入模态框,支持文件上传和 JSON 粘贴两种模式
5. 添加中英文国际化翻译支持
2026-01-09 12:38:40 +08:00
accx
54bdbc804c 添加 [ignore] 标签让 AI 忽略 Antigravity 系统提示词 2026-01-08 23:20:58 +08:00
Zhafron Kautsar
60161fd2bc feat(converters): add display_name field to model list responses
Add display_name field to model list conversions across all converter strategies to improve model identification in API responses. ClaudeConverter and GeminiConverter now include display_name in their toOpenAIModelList methods, while OpenAIConverter adds ensureDisplayName method to guarantee the field exists for native OpenAI models.
2026-01-08 08:20:19 -05:00
leonai
dbc98dae74 feat(api-potluck): 添加 API 大锅饭插件功能(彩蛋)
1. 新增 api-potluck 模块,支持 API 密钥认证和用量记录
2. 在 request-handler.js 中集成大锅饭路由和认证中间件
3. 在 common.js 中添加用量记录调用逻辑
4. 新增 potluck.html 静态页面和配置文件 api-potluck-keys.json
2026-01-08 20:15:59 +08:00
leonai
9411d7d315 feat(kiro): 添加批量导入refreshToken功能
1. 新增refreshKiroToken函数用于刷新单个token
2. 新增batchImportKiroRefreshTokens函数支持批量导入
3. 添加/api/kiro/batch-import-tokens接口端点
4. 实现批量导入UI模态框及实时统计功能
5. 添加中英文国际化翻译支持
2026-01-08 18:16:26 +08:00
hex2077
26e1da1470 fix: 修复system_instruction到systemInstruction的转换并修正回调URL变量名
确保在请求体中正确处理system_instruction到systemInstruction的转换,同时修正回调URL变量名从localUrl到url以匹配实际使用场景
2026-01-08 16:48:30 +08:00
hex2077
c84ac7df3f refactor(antigravity-core): 简化系统提示并改进系统指令处理逻辑
重构 ANTIGRAVITY_SYSTEM_PROMPT 使其更简洁
优化 ensureRolesInContents 函数以更好地处理不同模型的系统指令
2026-01-08 13:35:57 +08:00
Zhafron Adani Kautsar
114ef64d05 Merge branch 'main' into fix-kiro-token-count 2026-01-07 23:51:02 -05:00
hex2077
2828166b18 fix(api): 修复401/400错误时的认证刷新逻辑并优化模型处理
为API调用和流式请求添加401/400错误时的认证刷新重试机制
修改antigravity-core中ensureRolesInContents方法,仅对非图像模型设置systemInstruction
2026-01-08 12:46:25 +08:00
Zhafron Kautsar
89bc0ee6f8 refactor(claude-kiro): improve token counting accuracy using API contextUsagePercentage
Replace client-side token estimation with server-provided contextUsagePercentage
for accurate input token calculation. This eliminates discrepancies between
estimated and actual token counts by using the API's native context window
measurement.

Key changes:
- Add contextUsage event parsing in AWS Event Stream buffer
- Calculate input tokens from contextUsagePercentage in both streaming and
  non-streaming responses
- Deprecate estimateInputTokens() method in favor of API-provided metrics
- Import CLAUDE_DEFAULT_MAX_TOKENS for context window calculations
- Add fallback error handling when contextUsagePercentage is not received
- Fix code formatting and whitespace consistency throughout the file
2026-01-07 23:39:07 -05:00
ZqinKing
30d2215d09 修复 Antigravity 渠道对系统提示词的校验
详细修改内容:
1. 添加 ANTIGRAVITY_SYSTEM_PROMPT 常量,包含完整的身份描述和指南。
2. 在 geminiToAntigravity 函数中添加 requestType: 'agent' 字段。
3. 在 ensureRolesInContents 函数中强制设置系统提示词,覆盖用户配置。
4. 调整 Base URL 降级顺序,优先使用 Sandbox 环境。
2026-01-08 12:12:07 +08:00
hex2077
44d09d0713 feat(更新检查): 添加GitHub API和tarball更新支持
实现非Git环境下的更新检查功能,通过GitHub API获取最新版本信息。添加tarball下载更新方式,适用于Docker等非Git环境。优化更新流程,支持多种更新方式自动切换,并完善错误处理和日志记录。
2026-01-07 23:49:23 +08:00
hex2077
4edd0ce2a4 feat(错误处理): 添加网络错误重试机制并统一处理逻辑
在common.js中定义可重试网络错误列表和检查函数
修改各API服务(qwen/iflow/claude/gemini/openai/antigravity)调用逻辑
添加网络错误检测和指数退避重试机制
统一错误日志格式包含状态码和错误标识
2026-01-07 22:22:59 +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
hex2077
717acbb2f4 refactor(antigravity-core): 优化工具配置逻辑并清理代码
- 重构工具配置检查逻辑,避免创建空对象
- 移除已注释的maxOutputTokens处理代码
- 统一代码缩进格式
- 清理JSON Schema属性处理逻辑
2026-01-06 22:37:23 +08:00
何夕2077
a8a1301da7 Merge pull request #172 from ZqinKing/main
feat: 在日志中添加凭证自定义名称(customName)以增强可读性
2026-01-06 21:27:00 +08:00
hex2077
01496aab8a fix: 修复Claude模型禁用tools和跳过禁用节点健康检查
当模型是Claude时,禁止使用tools配置
在UI API请求处理中跳过已禁用节点的健康检查
2026-01-06 21:24:53 +08:00
ZqinKing
6ec76b0674 feat: 在日志中添加凭证自定义名称(customName)以增强可读性 2026-01-06 20:12:37 +08:00
hex2077
8f39295655 feat: 改进错误处理、Ollama兼容性和文档结构
refactor(converters): 优化Claude到Gemini的转换逻辑
fix(kiro): 修复社交认证刷新问题
perf(ollama): 提升模型列表获取效率
docs: 为README添加可折叠区块
style: 清理控制台日志
2026-01-06 18:14:02 +08:00
Xi Qi
cdb0c85051 [feat] increase antigravity usage precision to two decimal places 2026-01-04 22:34:01 +08:00