Commit graph

117 commits

Author SHA1 Message Date
hex2077
58c66fcd4b feat(文件锁): 添加文件锁机制防止凭证文件并发写入冲突
实现文件锁工具类,用于防止多个异步操作同时写入同一文件导致的竞争条件。修改各认证模块的凭证保存逻辑,在写入文件前获取锁,确保写入操作的原子性。

- 新增 file-lock.js 工具模块,提供 acquireFileLock 和 withFileLock 方法
- 修改所有认证模块的凭证保存逻辑,使用文件锁保护写入操作
- 添加适当的错误处理和锁释放机制,确保资源不会泄漏
2026-01-13 22:10:49 +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
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
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
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
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
2d317e0333 refactor(项目结构): 重构项目目录结构并优化代码组织
将常用工具函数移动到utils目录
重构提供商策略模式实现
新增docker-compose构建配置文件
优化UI配置选择器的样式和交互
重构代理工具和API管理模块
更新脚本路径和依赖引用
2026-01-10 18:19:06 +08:00