Commit graph

174 commits

Author SHA1 Message Date
hex2077
d511ba1ba7 feat(usage-stats): 添加重置 Token 统计功能
- 在模型用量统计插件中新增 `resetTokenStats` 方法,可重置所有 token 计数
- 在 API Potluck 插件中新增 `resetKeyTokenStats` 和 `resetAllTokenStats` 方法
- 为两个插件添加对应的 API 路由 (`POST /reset-tokens`)
- 在前端页面添加重置 Token 统计按钮
- 更新版本号至 2.13.7
2026-04-11 20:10:49 +08:00
hex2077
0654d9330b fix(grok): 修正流式响应中Claude协议转换逻辑并提取为独立方法
重构GrokConverter中的Claude流式转换逻辑,将原先内联的复杂分支提取为独立的toClaudeStreamChunk方法,提高代码可维护性。同时调整grok-core.js中usage payload的附加时机,确保在响应存在时才附加估算数据。
2026-04-11 19:50:40 +08:00
hex2077
51c0af2f15 chore: 更新版本号并移除已弃用的模型
移除 OpenAI Qwen OAuth 提供者中已弃用的模型 'qwen3.6-plus' 和 'qwen3.5-plus',同时将项目版本号更新至 2.13.5.1。
2026-04-10 16:49:07 +08:00
hex2077
093b05068d chore: 更新版本号至2.13.5并调整Qwen模型列表
- 将项目版本从2.13.4.1更新至2.13.5
- 更新Qwen API客户端版本至0.14.2
- 调整`openai-qwen-oauth`提供商模型列表顺序,将通用模型置于前列
2026-04-10 16:45:43 +08:00
hex2077
ba55ce3f3a fix(api-potluck): 修复使用量统计在多请求ID场景下的问题
重构获取待处理使用量的逻辑,提取公共函数避免重复代码。修复当同时存在插件请求ID和监控请求ID时,使用量统计可能被错误删除的问题。
2026-04-10 16:24:42 +08:00
hex2077
8afcb479fa fix(api-potluck): 修复令牌计数回退并改进显示格式
- 在 normalizeUsageCandidate 中添加缺失的令牌计数回退字段(inputTokenCount/outputTokenCount)
- 确保凭证切换重试上下文始终可用
- 为令牌数量添加紧凑格式化函数(K/M/G 单位),在多个统计页面中应用
- 更新版本号至 2.13.4
2026-04-10 15:55:31 +08:00
hex2077
82a6ec2f43 feat(plugin): 新增模型用量统计插件并增强 API Potluck 的 token 统计功能
- 新增 `model-usage-stats` 插件,提供模型级别的 token 用量统计和 API 接口
- 增强 API Potluck 插件,记录并展示 prompt、completion 和 total tokens 用量
- 更新插件管理器以支持禁用插件的路由拦截和静态文件访问控制
- 在前端页面中展示 token 用量统计数据
- 升级版本号至 2.13.3
2026-04-09 16:30:02 +08:00
hex2077
373ad4ee3b fix(providers): 修复 Codex OAuth 健康检查的请求格式转换
在 Codex OAuth 健康检查流程中,先构造标准的 OpenAI messages 格式请求,再通过 convertData 显式转换为 Codex API 所需的 responses input 格式,替代之前直接使用原生格式的方式,确保格式转换的一致性。
2026-04-09 00:15:51 +08:00
hex2077
2e59041ca0 fix(providers): 修复 Codex OAuth 健康检查的请求格式
健康检查调用原生适配器时需使用 Codex responses 原生 input 格式,而非标准 messages 格式。
2026-04-08 23:50:05 +08:00
hex2077
6b1a6bed4d chore: 更新版本号并调整Grok API请求参数
移除不再需要的请求字段,包括modelName、isFromGrokFiles等
更新viewportWidth为更合理的默认值1116
简化metadata结构,将request_metadata提升为顶级字段
2026-04-07 16:31:27 +08:00
hex2077
5c7831beb7 chore: 更新版本号至2.13.1并注释掉工具覆盖代码
移除GrokApiService中toolOverrides的展开操作符,改为注释,以避免潜在的配置覆盖问题。
2026-04-07 15:56:48 +08:00
hex2077
c5cb63a239 feat(grok): 新增并更新图片生成模型配置
新增 grok-imagine-1.0-fast 和 grok-imagine-1.0-fast-edit 模型及其 NSFW 变体到支持列表。
更新模型映射,将原有 imagine 模型的 modeId 从 'fast' 改为 'expert',并为新增的 fast 模型配置正确的映射。
简化图片生成启用逻辑,现在仅基于模型名称(包含 'imagine' 或 'edit' 但不包含 'video')进行判断,以提高准确性和可维护性。
更新版本号至 2.13.0。
2026-04-07 14:39:53 +08:00
hex2077
9d87e54837 feat(grok): 回滚对 Grok 4.1 系列模型的支持
添加 grok-4.1-mini、grok-4.1-thinking 及其 nsfw 变体到可用模型列表,并更新核心映射以支持这些新模型。
同时将项目版本号更新至 2.12.9。
2026-04-07 12:03:15 +08:00
hex2077
2af64f5fad chore: 更新版本号至 2.12.8 2026-04-07 00:04:06 +08:00
hex2077
22ce2440da chore: 更新版本号至 2.12.7 2026-04-06 16:59:17 +08:00
hex2077
1d4710f92d chore: 更新版本号至2.12.6 2026-04-05 21:46:32 +08:00
hex2077
85d7b50cb1 fix: 修复Qwen API配额错误处理和Gemini初始化顺序问题
- 修复Qwen API的配额错误识别和速率限制,避免因配额耗尽导致服务中断
- 修正Gemini API服务初始化顺序,确保OAuth2客户端在HTTP代理配置后创建
- 优化提供商数据脱敏逻辑,防止保存时覆盖真实的敏感信息
- 增强前端错误处理,支持国际化错误消息的翻译和显示
- 移除Antigravity中冗余的思考签名修复代码,简化历史记录处理
- 修复服务管理器初始化逻辑,确保提供商池状态正确更新
- 统一日志下载文件名格式,改进文件下载错误处理
- 更新翻译文件,添加缺失的通用错误消息国际化支持
2026-04-05 17:50:11 +08:00
hex2077
8f4de503c6 先回滚 2026-04-04 22:50:11 +08:00
hex2077
ceff3771ea Revert "feat: 更新版本至2.12.3并修复多个问题"
This reverts commit 1570fbb096.
2026-04-04 22:49:44 +08:00
hex2077
1570fbb096 feat: 更新版本至2.12.3并修复多个问题
更新项目版本至2.12.3,新增赞助商LingtrueAPI信息至README文档。修复Qwen提供商缺少系统提示词时自动添加默认提示词的问题。优化Gemini和Antigravity提供商的OAuth2Client代理配置逻辑,根据baseURL自动选择HTTP/HTTPS agent。修复Antigravity提供商中thinking budget逻辑及历史记录中思考签名缺失的问题。将Windows安装脚本翻译为英文。
2026-04-03 23:21:32 +08:00
hex2077
de3f46149f feat(grok): 添加WebSocket图片生成支持与多图并发处理
- 新增 WebSocket 图片生成服务类,支持流式生成图片
- 在常规 API 失败时自动回退到 WebSocket 方式生成图片
- 支持单次生成超过2张图片时自动拆分为并发请求
- 改进图片生成参数处理,支持返回 base64 格式图片
- 更新版本号至 2.12.2.2
2026-04-01 23:07:02 +08:00
hex2077
dc153730f7 fix(grok): 修复流式响应中图片渲染和思考块处理问题
- 修复流式响应中图片 URL 被截断的问题,通过缓冲区累积完整 URL
- 改进卡片附件处理,支持从 cardAttachmentsJson 解析并渲染图片
- 优化思考块逻辑,避免在正式内容开始后显示无意义的内部注释
- 修复思考块未正确关闭的问题,确保格式完整性
- 更新文档中的模型列表,将 Qwen Code 替换为 Codex
2026-04-01 22:25:43 +08:00
hex2077
8e8a8fc551 feat(converter): 支持转换 url_context 和 google_maps 工具
扩展 OpenAI 和 Claude 转换器以支持将 url_context 和 google_maps 工具转换为 Gemini API 格式。现在工具数组可以包含多个独立的工具对象,而不是合并到单个对象中。
2026-03-30 12:00:11 +08:00
hex2077
6eee878574 fix(gemini): 确保请求thinking时始终包含includeThoughts字段
当上游请求gemini-3的thinking功能时,可能未显式设置includeThoughts字段,
导致无法稳定接收thought parts。添加兜底逻辑,在检测到thinkingLevel或
thinkingBudget非零时自动设置includeThoughts=true,确保思考功能正常工作。
2026-03-29 20:40:45 +08:00
hex2077
a639ca3d26 chore: 更新项目版本号至2.12.0 2026-03-28 17:56:18 +08:00
hex2077
9bbde40e4c fix(provider): 修复令牌刷新机制中的并发和状态问题
修复 provider-pool-manager 中令牌刷新逻辑的多个问题:
- 将最大刷新次数从 3 更正为 5 以匹配注释
- 添加防并发机制,避免同一节点重复刷新
- 刷新成功后统一重置 needsRefresh、refreshCount 并记录 lastRefreshTime
- 在 Grok 服务中添加重置刷新状态的调用
- 防止 30 秒内的重复刷新请求

这些更改解决了因 401 错误滞后导致的重复刷新、状态不一致以及节点被过早标记为不健康的问题。
2026-03-26 12:32:09 +08:00
hex2077
d345ec67b7 fix(provider): 清除刷新标记避免节点卡死并更新模型列表
当 provider 报错时,清除 needsRefresh 和 refreshCount 标记,防止健康检查逻辑陷入刷新循环导致节点卡死。同时更新 provider-models.js 中的模型列表,添加 gpt-5.4-mini 模型,并更新项目版本号至 2.11.8。
2026-03-25 12:48:54 +08:00
hex2077
d15de54e79 chore: 移除Grok API的初始使用量同步调用
移除初始化时自动获取使用量限制的逻辑,避免因API调用失败导致的警告日志干扰
2026-03-20 22:57:56 +08:00
hex2077
19b81381b8 Revert "refactor(grok): 移除流式请求重试逻辑并简化错误处理"
This reverts commit 807e3670b1.
2026-03-20 22:56:27 +08:00
hex2077
807e3670b1 refactor(grok): 移除流式请求重试逻辑并简化错误处理
移除 generateContentStream 方法中的重试机制及相关辅助方法,将错误处理简化为仅处理认证错误。版本号更新至 2.11.7.1。
2026-03-20 22:45:46 +08:00
hex2077
46038a5459 feat: 优化OAuth授权流程并更新UI样式
- 在OAuth授权成功页面添加倒计时自动关闭功能,提升用户体验
- 改进授权弹窗通信机制,支持postMessage方式主动关闭窗口
- 更新Gemini OAuth回调页面,添加提供商标识和跨窗口通信
- 重构Grok API错误处理和重试逻辑,增强网络稳定性
- 修改头部组件购买链接为AI账号购买,并更新对应样式
2026-03-20 22:39:52 +08:00
hex2077
2a3312df15 feat(providers): 更新 Claude Kiro 版本并增强 Grok API 重试机制
- 升级 Claude Kiro 版本至 0.11.63 并更新 AWS SDK 版本
- 为 Grok API 添加统一的重试机制,支持 429/5xx 状态码和网络错误
- 在 Claude Kiro 请求头中添加 agentTaskType 和 x-amzn-codewhisperer-optout
- 优化 Grok 错误处理,网络错误时触发凭证切换但不增加错误计数
2026-03-20 20:52:00 +08:00
hex2077
82c667ac5d fix(gemini): 修复认证初始化顺序和令牌刷新逻辑
调整 initializeAuth 方法中凭证加载和令牌刷新检查的顺序,确保在评估令牌过期前已加载凭证。添加 isTokenExpiringSoon 方法用于主动检查令牌过期状态,防止使用即将过期的令牌。同时修复 Antigravity 服务中模型别名转换的逻辑错误。
2026-03-16 22:54:45 +08:00
hex2077
2680651e3a chore: 更新版本号至 2.11.5.1 2026-03-16 19:54:01 +08:00
hex2077
602c6be836 feat: 增强TLS sidecar支持并更新模型列表
- 扩展TLS sidecar配置,支持按提供商启用和设置上游代理
- 更新gemini-antigravity提供商模型列表至最新版本
- 修复JSON schema转换中数组type的处理以兼容Google Gemini API
- 为所有主要提供商集成TLS sidecar支持
- 修复CodexConverter中系统消息重复问题
- 改进gemini-core的错误处理和请求头设置
2026-03-16 18:26:16 +08:00
hex2077
90ffd83c78 fix(grok): 移除请求体中的tools字段以兼容API
Grok API不支持tools参数,在构建请求负载时主动删除该字段,避免调用失败。
2026-03-13 12:13:19 +08:00
hex2077
f82b781214 perf(provider-pool-manager): 优化节点评分算法以提升选择性能
- 重构 _calculateNodeScore 方法,简化评分逻辑并减少重复计算
- 提前计算池中最小序列号,避免排序时重复 O(N) 计算
- 统一新鲜节点和普通节点的评分基准,确保轮询公平性
- 更新版本号至 2.11.4.1
2026-03-12 16:08:35 +08:00
hex2077
beba030650 feat(update): 为GitHub API和tarball下载添加多个代理备选
添加多个GitHub API和tarball下载的代理源(包括gh-proxy.org各节点和gitclone.com),以增强更新功能的可用性。当某个代理失败时,系统会自动尝试下一个备选源,避免因单个代理不可用导致更新检查或下载失败。
同时更新项目版本号至2.11.4。
2026-03-12 12:24:40 +08:00
hex2077
80102989e1 feat: 添加大锅饭修改密钥名称功能
- 在密钥管理界面添加编辑按钮,支持修改密钥名称
- 新增修改名称模态框,包含输入验证和保存功能
- 更新前端API调用以支持名称修改操作
2026-03-12 11:45:43 +08:00
hex2077
606c05b91c chore: 更新版本号至2.11.2 2026-03-11 11:29:42 +08:00
hex2077
7d2704b14e fix(system-monitor): 改进进程CPU使用率计算准确性和稳定性
- 优先使用Node.js内置的process.cpuUsage()计算当前进程CPU使用率,提高跨平台准确性
- 为外部进程ps命令添加错误处理,避免在BusyBox环境下报错干扰日志
- 更新Dockerfile安装procps工具以支持系统监控功能
- 同步更新版本号至2.11.1
2026-03-09 19:05:41 +08:00
hex2077
f2f02b365f refactor(providers): 重构 Codex 认证刷新机制以支持后台异步刷新
- 将直接调用 refreshAccessToken 改为调用 initializeAuth(true) 以统一认证流程
- 新增 triggerBackgroundRefresh 方法,在 token 即将过期或收到 401 时异步触发刷新
- 移除多处重复的 PoolManager 标记逻辑,统一由 triggerBackgroundRefresh 处理
- 优化 initializeAuth 方法,仅在需要时加载凭证,避免不必要的阻塞
- 更新版本号至 2.11.0
2026-03-09 19:00:15 +08:00
hex2077
0631d0db05 fix: 修复服务器时间格式和保留监控字段
- 将服务器时间格式从本地字符串改为 ISO 字符串以确保一致性
- 在客户端正确格式化从服务器接收的 ISO 时间字符串
- 在 CodexConverter 中保留监控相关字段(_monitorRequestId 和 _requestBaseUrl)以支持请求追踪
2026-03-08 22:56:42 +08:00
hex2077
8fb4d59b23 fix(openai): 修复 prepareRequestBody 异步调用问题并添加监控钩子
将 prepareRequestBody 方法改为异步以支持插件钩子调用,修复因缺少 await 导致的潜在问题。同时添加内部请求转换监控钩子,便于跟踪请求处理流程。
2026-03-08 22:23:43 +08:00
hex2077
7726ca1f38 fix(openai): 修复fast模型上游请求中模型名称错误问题
确保传给上游的模型名称正确移除-fast后缀,避免因模型名称不匹配导致的API调用失败。当检测到fast模型时,会记录转换日志以便追踪。
2026-03-08 22:11:38 +08:00
hex2077
d9396ef56c fix(openai): 修复推理努力参数在快速模型上的设置
当使用快速模型时,始终使用默认的推理努力值,而不是从请求体中读取。这确保了快速模型的一致性行为。
2026-03-08 21:36:40 +08:00
hex2077
dd8f30f5a8 fix(openai): 修复fast模型后缀处理逻辑
修复模型名称处理逻辑,使其能够正确处理大小写不敏感的"-fast"后缀。使用正则表达式进行匹配,避免因大小写问题导致的模型识别错误。
2026-03-08 21:19:07 +08:00
hex2077
76e8a81b3d fix: 修复非 priority 服务层级时错误传递 service_tier 参数
当 service_tier 不是 'priority' 时,从请求体中删除该字段,避免向 OpenAI API 发送无效参数。
2026-03-08 21:10:43 +08:00
hex2077
cd5e185419 fix(converters): 仅在service_tier为priority时保留该字段
移除CodexConverter中service_tier字段的默认值设置,现在仅当明确指定为'priority'时才包含该字段。这修复了向Codex API发送不必要参数的问题,因为API只接受'priority'值,其他值会导致错误。
2026-03-08 21:05:13 +08:00
hex2077
4715acf5db fix(grok): 修复媒体模型请求负载中缺少enable_nsfw和aspect_ratio字段的问题
移除图像模型toolOverrides中冗余的disableNsfwFilter设置,统一在构建请求负载时处理NSFW逻辑。对于非视频的媒体模型,现在会正确添加enable_nsfw字段,并支持从请求体传递aspect_ratio参数。
2026-03-08 20:47:34 +08:00