何夕2077
1917837065
Update README.md
2025-11-05 22:42:49 +08:00
hex2077
6ffa327044
docs: 重构README文件结构并添加多语言支持
...
- 移除README-EN.md文件,将其内容合并到README.md作为英文版本
- 新增README-ZH.md文件作为简体中文版本
- 更新README-JA.md中的链接引用
- 调整.dockerignore文件,移除不再需要的README文件
- 统一多语言文档的格式和内容结构
2025-11-05 22:40:26 +08:00
hex2077
13defe0622
fix: 添加凭证过期调试日志并移除冗余日志
...
添加Qwen凭证过期检查的调试日志以便排查问题
移除api-server中冗余的token刷新成功日志
2025-10-31 20:55:55 +08:00
hex2077
484d71fcd3
feat(provider): 添加初始化健康检查时重置使用计数功能
...
在初始化健康检查时重置provider的使用计数,确保初始化时状态完全重置
同时优化请求处理逻辑,提前处理OPTIONS和健康检查请求
2025-10-31 18:01:38 +08:00
hex2077
f0201a484e
refactor(system): 优化内部协议判断与配置路径管理
...
调整模型列表转换的协议匹配条件,以提升不同提供者间数据适配的精确性。
同步更新提供者池配置的持久化逻辑,允许通过全局配置自定义存储文件路径,增强系统部署的灵活性。
2025-10-22 22:09:35 +08:00
hex2077
6b0c323dfe
feat(core): 增强网络代理控制与 OAuth 凭证管理能力
...
核心改进:
- 实现 HTTP 客户端代理可配置化,新增 USE_SYSTEM_PROXY_* 系列开关
- 引入 CredentialsClearRequiredError 异常,优化 Qwen 令牌过期处理流程
- 重构 provider-pool-manager 配置传递,支持全局代理设置继承
- 封装 commonFetch 统一方法,规范 fetch 和 axios 的代理行为
文档更新:
- 三语言 README 全面改版,突出协议转换和免费模型使用价值
- 新增授权配置分步指南,覆盖 Gemini/Qwen/Kiro 完整流程
- 补充 Path 路由切换表格,明确各提供商适用场景
- 修正 OpenAI Responses API 标识符拼写错误
2025-10-22 21:04:14 +08:00
hex2077
06eacb0419
feat(api): 添加 token 过期自动刷新和 count_tokens 端点支持
...
在 API 服务器中添加对 count_tokens 请求的处理,返回不支持的提示。
在 Kiro 客户端的内容生成方法中增加 token 过期检查,在即将过期时
自动刷新认证凭证,避免请求失败。
2025-10-20 23:54:26 +08:00
hex2077
db3c63ffe4
refactor(stream): 重构流式响应处理器与资源池调度算法
...
针对 claude-kiro 模块的事件流解析器进行架构升级,引入双模式
正则匹配策略实现向后兼容。provider-pool-manager 模块通过引入
延迟写入队列机制重构持久化层,消除冗余的迭代逻辑。
核心变更:
- 实现 SSE 标准格式与遗留格式的自适应解析器
- 重构 JSON 边界检测算法,增强空白字符处理
- 引入基于 Set 的批量写入队列替代即时持久化
- 移除供应商选择中的多余循环,采用直接索引计算
- 调整异常传播策略,将错误向上层抛出而非内部消化
技术细节:通过定时器合并多次保存请求,将 I/O 操作从 O(n)
降低到 O(1);时间戳标准化逻辑由多分支条件简化为三元表达式;
转义字符处理采用负向后查找断言避免误替换。
2025-10-20 21:16:06 +08:00
hex2077
5d4283edc6
feat(kiro): 增强账号池健康检查配置并优化凭证加载逻辑
...
为 provider_pools.json 配置文件新增 checkHealth 字段,允许灵活控制各账号的健康检查行为。同时重构 Kiro OAuth 凭证加载机制,统一处理指定文件和目录扫描的逻辑,提升凭证管理的可靠性。
此外,在多语言 README 文档中补充 10.18 版本更新说明,告知用户 Kiro 服务的最新动态。
2025-10-18 16:12:13 +08:00
hex2077
52417dd805
chore(kiro): 更新默认模型名称并添加调试日志
...
- 将默认模型名称从 claude-sonnet-4-20250514 更新为 claude-sonnet-4-5
- 在 generateContent 和 generateContentStream 方法中添加模型调用日志
- 便于调试和追踪实际使用的模型版本
2025-10-18 15:04:54 +08:00
hex2077
dfe7ce914e
feat(api): 添加 OpenAI Responses API 支持
...
新增对 OpenAI Responses API 端点的部分支持,包括请求转换、流式响应处理和供应商适配。主要变更:
- 新增 OpenAIResponsesApiService 核心服务实现
- 实现 Claude/Gemini 到 Responses API 的双向协议转换(能聊天,不能调用工具)
- 添加流式响应状态管理和事件生成机制
- 扩展路由支持 /v1/responses 端点
- 更新文档说明配置方法和使用示例
2025-10-16 23:26:36 +08:00
hex2077
d36a9466a8
无法测试可用性,暂时回滚droid供应商
2025-10-15 22:05:41 +08:00
何夕2077
c8855912f6
Merge pull request #65 from bee4come/feature/add-droid-provider
...
feat: Add Droid (Factory.ai) provider support
2025-10-15 21:05:01 +08:00
bee4come
e91aaa02e5
fix: improve droid provider with context isolation and message parsing
...
Changes:
- Add context isolation using --cwd flag to prevent project context leakage
- Fix message content parsing to support both string and array formats
- Add debug logging for troubleshooting
- Create isolated temporary working directory for each service instance
This prevents Droid from seeing the current project directory and mentioning
it in responses, providing a cleaner API experience.
Tested:
✅ Context isolation verified - Droid reports empty temp directory
✅ Message parsing works with OpenAI format
✅ API responses no longer mention project context
2025-10-15 14:02:21 +08:00
bee4come
66b6363ad4
feat: improve Droid provider implementation and configuration
...
- Add --skip-permissions-unsafe flag to droid exec commands for non-interactive execution
- Improve error handling to accept output from both stdout and stderr
- Map droid protocol to claude in getProtocolPrefix for proper request conversion
- Add DROID_AUTH_FILE and DROID_COMMAND to config.json.example
- Add droid-factory-oauth provider pool example to provider_pools.json.example
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2025-10-15 13:26:58 +08:00
bee4come
3111119f93
Add Droid (Factory.ai) provider support
...
This commit adds support for Factory.ai's Droid CLI as a provider,
enabling users to use Droid through an OpenAI-compatible API interface.
Implementation details:
- Created DroidApiService that wraps the droid CLI
- Added DroidStrategy for protocol conversion (Claude-compatible)
- Supports both streaming and non-streaming responses
- No API keys or token management required - uses droid CLI directly
Files added:
- src/droid/droid-core.js: Core service using CLI wrapper
- src/droid/droid-strategy.js: Strategy pattern implementation
- src/droid/README.md: Comprehensive documentation
- test-droid.js: Test script for validation
Files modified:
- src/adapter.js: Added DroidApiServiceAdapter
- src/common.js: Added DROID constants
- src/provider-strategies.js: Registered DroidStrategy
- README.md: Updated with Droid provider information
2025-10-15 11:29:17 +08:00
hex2077
262f119213
feat: 添加新的 Gemini 模型到支持列表
2025-10-11 00:14:28 +08:00
hex2077
7a483e49b5
feat: 添加防截断模型支持和错误处理优化
...
1. 在gemini-core.js中实现anti-truncation模型支持,通过流式续写解决长文本截断问题
2. 增强common.js中的错误处理,统一返回错误响应格式
3. 更新README文档,优化描述并添加Claude Sonnet 4.5支持
4. 调整.gitignore,添加新的提示词文件
5. 优化convert.js中的默认参数和模型映射逻辑
6. 在claude-kiro.js中添加Claude Sonnet 4.5模型支持
2025-10-08 19:10:54 +08:00
hex2077
76b115f35f
chore: 更新.gitignore并删除过期配置文件和文档内容
...
删除已不再使用的config.json和provider_pools.json配置文件
移除README中关于kiro免费使用的过期信息
在.gitignore中添加config.json和provider_pools.json
2025-10-08 13:52:43 +08:00
hex2077
a0261f3211
Merge branch 'main' of https://github.com/justlovemaki/GeminiCli2API
2025-10-08 13:47:37 +08:00
hex2077
d287f4dc77
docs: 添加示例配置文件config.json和provider_pools.json
...
添加两个示例配置文件,帮助用户了解配置格式和参数
2025-10-08 13:46:52 +08:00
何夕2077
0d6b8a2c19
Merge pull request #56 from eltociear/add-ja-readme
...
docs: add Japanese README
2025-10-06 11:14:36 +08:00
hex2077
10c6f34b21
feat: 更新模型列表并添加模型未找到警告
...
在gemini-core.js中添加gemini-2.5-pro-preview-06-05模型
在qwen-core.js中移除未使用的QWEN_LOCK_FILENAME常量并添加模型未找到时的警告日志
2025-10-05 15:10:52 +08:00
hex2077
b9d77090c9
feat(gemini-core): 添加客户端元数据并支持默认项目ID
...
在调用API时添加完整的客户端元数据信息,包括IDE类型、平台和插件类型等,并使用默认项目ID进行初始化。这有助于服务端更好地识别客户端环境并提供更准确的响应。
2025-10-05 14:44:27 +08:00
hex2077
bf573bb8f5
refactor(convert): 使用固定阈值替换环境变量配置
...
移除对环境变量的依赖,改为使用代码中定义的固定阈值来判断推理努力程度。这简化了配置并提高了代码的可维护性。
2025-10-05 14:37:26 +08:00
Ikko Ashimine
602ea74190
docs: add Japanese README
2025-09-21 18:55:18 +09:00
何夕2077
917d89bffa
Merge pull request #52 from d7185540/feature/qwen-auth-and-providers
...
feat(server): 多提供商数组配置与启动初始化; fix(qwen-auth): 复用缓存凭据与账号级刷新清理 (src-only)
2025-09-18 15:59:46 +08:00
AIClient Bot
006b96f422
feat(server): 多提供商数组配置与启动初始化; fix(qwen-auth): 复用缓存凭据与账号级刷新清理 (src-only)
...
- Qwen OAuth/认证修复
- 复用本地缓存凭据,避免误入设备授权流
- 修正缓存凭据有效性判断(access_token + expiry_date)
- 刷新 400 仅清理当前上下文凭据文件,避免误删其他账号
- 保留 Qwen 模型名容错回退逻辑
- 多提供商同时生效(配置与启动增强)
- 新增 normalizeConfiguredProviders,支持 MODEL_PROVIDER 数组/逗号分隔
- 启动期依据 DEFAULT_MODEL_PROVIDERS 与号池集合进行适配器初始化
- 启动日志展示 Primary + Additional Model Providers
- 提交范围
- 本提交仅包含 src/* 目录下的改动
2025-09-18 14:58:29 +08:00
hex2077
2930437616
fix(convert): 修复Claude到Gemini工具转换的结构问题
...
重构工具转换逻辑以匹配Gemini API要求的格式,确保工具名称和描述为字符串类型,并移除input_schema中的$schema字段。当没有有效工具时正确删除tools数组。
2025-09-16 20:21:52 +08:00
hex2077
7f7fc78072
refactor(convert): 简化工具转换逻辑并统一处理方式
...
重构了从OpenAI和Claude请求转换Gemini工具的逻辑,移除了functionDeclarations包装层,直接映射工具名称和参数。同时优化了无效工具的过滤处理,保持代码一致性。
2025-09-14 21:37:39 +08:00
hex2077
1f9a26aa5a
docs: 更新README中的Docker部署链接
...
将README中的Docker部署部分从本地锚点改为外部链接,方便用户直接访问部署文档
2025-09-09 16:00:30 +08:00
hex2077
cec97ff3ae
refactor(provider-pool): 将日期对象统一转换为ISO字符串格式
...
修改ProviderPoolManager中日期处理逻辑,将所有Date对象统一转换为ISO字符串格式存储,确保数据一致性并简化序列化过程。
2025-09-08 00:59:09 +08:00
hex2077
7b0aee7959
feat: 添加账号池管理功能并更新文档
...
- 在convert.js中为工具调用添加index字段支持
- 在common.js中添加fullOldResponseJson变量用于调试
- 更新README文档,添加账号池管理功能说明和快速导航
- 同步更新英文版README文档
2025-09-07 22:16:14 +08:00
hex2077
71fc06ad91
docs: 更新Gemini提供商参数名称从gemini-cli到gemini-cli-oauth
...
更新中英文README文档中Gemini提供商的参数名称,以更准确地反映其OAuth认证方式
2025-09-06 13:52:09 +08:00
hex2077
d8e42ed1db
docs: 更新README中Claude协议支持的provider列表
...
修正Claude协议支持的provider列表,添加openai-custom以保持与OpenAI协议的一致性
2025-09-06 13:48:35 +08:00
hex2077
8033c16533
feat(qwen): 更新Qwen模型支持及文档
...
- 调整Qwen模型列表顺序并更新默认API地址
- 在SharedTokenManager中添加凭证设置
- 更新README文档,添加Qwen支持说明及启动参数
2025-09-06 13:29:41 +08:00
何夕2077
85021b3e61
Update README-EN.md
2025-09-06 01:23:00 +08:00
何夕2077
5729cd1f24
Update README.md
2025-09-06 01:22:30 +08:00
hex2077
1fa595c5e0
docs: 更新README文档添加Claude供应商路由和环境变量说明
...
添加关于通过不同路径路由和环境变量配置Claude API供应商的详细说明,包括各系统的环境变量设置方法
2025-09-06 01:16:22 +08:00
hex2077
66f758d741
feat(convert): 增强协议转换功能,支持更多模型和工具调用
...
- 新增OpenAI到Claude的协议转换支持
- 添加工具调用状态管理器和JSON Schema清理功能
- 实现智能的reasoning_effort等级判断
- 优化错误处理和日志记录
- 重构代码结构,增加注释和辅助函数
2025-09-05 18:03:34 +08:00
hex2077
1b7c143971
docs: 更新README以突出开发者特性和免费额度
...
更新了中英文README文件,强调项目为开发者打造的特性以及提供大量免费API请求额度的优势。同时修改了Qwen API服务中的工具合并逻辑,使其能够正确处理请求中已定义的工具。
2025-09-02 16:07:04 +08:00
hex2077
a23a3af4c6
feat: 添加openai-qwen-oauth到provider_pools.json
2025-09-02 01:13:12 +08:00
hex2077
bc6e317638
fix(provider-pool): 将默认错误阈值从1调整为3
...
docs: 更新Qwen Code授权方式和README-EN协议图
feat(qwen-core): 添加工具支持并优化请求头
2025-09-02 01:10:20 +08:00
hex2077
55801682da
docs: 添加各服务授权文件的默认路径说明
...
在README中补充Gemini、Kiro和Qwen授权文件的默认存储路径信息,方便用户查找和使用
2025-09-01 19:14:17 +08:00
hex2077
c1f203c40e
feat(qwen): 新增Qwen Code支持及相关功能实现
...
1. 在common.js中添加QWEN_API常量
2. 实现QwenApiService核心服务类
3. 添加QwenOAuth2Client认证客户端
4. 实现SharedTokenManager共享令牌管理
5. 更新适配器、API服务端和README文档
6. 添加相关依赖包
2025-09-01 17:28:37 +08:00
hex2077
372e5a7e59
feat: 添加 gemini-2.5-flash-lite 到 GEMINI_MODELS 列表
2025-08-30 23:33:14 +08:00
hex2077
bd30a5f8d3
fix(provider): 修复健康检查逻辑并添加checkModelName字段
...
实现实际的健康检查逻辑,通过临时服务适配器进行API调用验证
为所有provider配置添加checkModelName字段用于健康检查
修正初始化日志中的服务名称错误
2025-08-30 17:29:55 +08:00
hex2077
7ca3763d33
Merge branch 'main' of https://github.com/justlovemaki/GeminiCli2API
2025-08-30 14:02:44 +08:00
hex2077
b60593085e
feat(provider): 添加健康状态跟踪并持久化到JSON文件
...
添加provider健康状态跟踪功能,包括使用次数、错误计数和最后使用时间
将provider状态持久化到JSON文件,确保重启后状态不丢失
重构provider选择逻辑,将状态管理移至config对象
2025-08-30 14:02:13 +08:00
何夕2077
35b1e9793e
Update README.md
2025-08-30 11:09:01 +08:00