Commit graph

37 commits

Author SHA1 Message Date
hex2077
a069feea71 feat: 新增系统提示词内容替换功能并重构常量定义
- 新增 SYSTEM_PROMPT_REPLACEMENTS 配置项,支持在系统提示词中执行顺序内容替换
- 将 MODEL_PROVIDER 等常量从 common.js 迁移到独立的 constants.js 文件
- 为所有提供商策略(OpenAI、Claude、Gemini、Grok、Forward、Codex Responses)添加系统提示词替换支持
- 更新 UI 配置界面,添加替换规则管理功能
- 更新 Grok 提供商模型列表至 4.20 版本
2026-04-07 00:04:00 +08:00
hex2077
9f270e714d feat: 扩展管理模型列表提供商支持并优化健康检查
- 将 claude-custom 添加到管理模型列表提供商集合中
- 优化模型列表提取逻辑,避免不必要的协议转换
- 重构工具函数导入,提高代码组织性
- 增强暗黑主题下的模型选择器样式支持
- 改进健康检查逻辑,为管理模型列表提供商自动选择测试模型
- 添加文件锁机制防止配置持久化时的并发写入冲突
2026-04-06 16:59:09 +08:00
HenryZ-0302
110720982f fix: read managed models from provider pools for model lists 2026-04-05 14:06:21 -07:00
HenryZ-0302
465bbaef2b fix: avoid common/provider-models circular import 2026-04-05 14:01:16 -07:00
HenryZ-0302
7ae03c814f fix: return configured managed models from model list endpoint 2026-04-05 13:56:55 -07:00
何夕2077
ebf03d9e37
Revert "feat: model-router插件 + 安全增强 + embeddings支持" 2026-04-05 22:09:24 +08:00
product-manager-claude
4385421e11 feat: model-router插件 + 安全增强 + embeddings支持
- 新增 model-router 中间件插件(别名路由、热配置、管理面板)
- api-manager 支持 /v1/embeddings 端点透传
- auth.js 安全增强:原子写入、空数据防护、token清理防护
- GrokConverter 兼容性改进
- ecosystem.config.cjs PM2配置
2026-04-05 21:32:35 +08:00
hex2077
0c9d52f537 feat: 支持动态提供商配置组和前缀匹配机制
- 添加动态提供商配置组功能,支持通过后缀创建自定义配置组
- 实现前缀匹配机制,使自定义配置组能继承基础类型的配置和模型
- 更新代理、TLS Sidecar、健康检查等系统以支持前缀匹配
- 添加提供商组管理界面,支持创建和显示自定义配置组
- 改进提供商状态API,支持显示所有配置组及其状态
- 升级axios依赖至v1.14.0以获取安全更新
2026-04-03 22:42:26 +08:00
Cishoon
98caecb463 fix: 通过 per-request requestId 彻底解决 Codex→Claude 流式转换的并发串流问题
原有 item_id→resId 映射方案中,response.output_item.added 事件不携带
response.id,建立映射时仍依赖共享的 lastClaudeStreamResponseId,并发场景下
映射关系可能从一开始就是错的。

修复:在 handleStreamRequest 中为每个请求生成唯一 requestId,通过调用链传入
toClaudeStreamChunk 作为 streamParams 的隔离 key,使并发流状态完全独立,
不再依赖任何共享状态做并发关联。
2026-03-09 15:49:36 +08:00
hex2077
fa19bae517 refactor(potluck): 简化 API 大锅饭系统并增强安全性和 UI
- 移除凭证管理和资源包系统,简化为基于每日限额的 Key 管理
- 新增登录安全防护(频率限制、账户锁定、IP 追踪)
- 重构日志系统使用 AsyncLocalStorage 替代全局状态
- 全面升级 UI 界面(主题切换、使用分布统计、响应式设计)
- 优化安装脚本(PowerShell 支持、手动安装指引)

BREAKING CHANGE: API Potluck 插件不再支持凭证资源包功能,所有 Key 仅基于每日限额进行配额管理。user-data-manager 模块已禁用,相关 API 端点已移除。
2026-03-05 17:21:47 +08:00
hex2077
9ca8b86a4f refactor: 优化提供商加载逻辑并修复流式重试问题
- 将静态提供商配置更新逻辑移至加载函数,避免重复执行
- 修复流式请求重试时已发送数据导致响应损坏的问题
- 增强模型列表和内容生成的服务适配器选择逻辑
- 改进错误处理和日志记录
2026-03-04 13:26:08 +08:00
hex2077
8947f93471 refactor: 移除 Ollama 协议支持并重构模型路由
- 删除 Ollama 协议相关代码,包括处理器、转换器、文档和常量
- 重构模型列表获取逻辑,支持 auto 模式下的多提供商聚合
- 新增 token 计算工具函数,统一各提供商 token 计数逻辑
- 改进模型前缀路由解析,增强 auto 模式的健壮性
- 更新多语言文档,移除 Ollama 相关内容
2026-03-03 23:09:04 +08:00
hex2077
c91d2ce3ab feat(grok): 添加资源代理功能并优化用量显示
- 新增 Grok 资源代理接口,将 assets.grok.com 的资源通过本地代理访问
- 在请求处理中注入 requestBaseUrl 配置,供转换器生成正确的代理链接
- 统一各提供商核心服务中删除 _requestBaseUrl 字段的逻辑
- 优化 Grok 用量显示逻辑,支持按 token 或 query 显示剩余额度
- 更新 UI 管理器,允许 /api/grok/assets 接口免认证访问
- 改进 Grok 转换器,在流式输出中智能处理被截断的 URL
2026-03-01 23:55:07 +08:00
hex2077
68719879c5 feat(architecture): 重构适配器注册机制并引入并发控制系统
建立可扩展的提供商适配器注册表,实现动态服务发现与插槽管理:

架构改进:
- 采用 Map 注册表替代 switch-case 硬编码,支持热插拔适配器
- 实现 acquireSlot/releaseSlot 机制,精确追踪活跃请求与等待队列
- 新增节点评分算法,综合考量并发数、队列长度、健康状态

核心能力:
- 支持并发限制与队列等待,避免单节点过载 (concurrencyLimit/queueLimit)
- 实现 Fallback 链式调用,429 错误自动切换备用凭证
- 添加请求级 IP 追踪,日志格式优化为 `clientIp:requestId`

配套更新:
- 管理界面新增并发/队列配置字段与 Grok 逆向提供商选项
- 用量查询服务扩展 Grok 支持,同步剩余查询次数 (固定总量 80)
- 新增并发测试脚本 (tests/concurrent-test.js),支持自定义并发数与 RPM 限制

配置项:
- GROK_COOKIE_TOKEN, GROK_CF_CLEARANCE, GROK_USER_AGENT, GROK_BASE_URL
2026-02-26 18:19:38 +08:00
hex2077
f27c9d8732 fix(providers): 统一错误日志格式并修复提供商模型引用
修复多个API服务中错误日志格式不一致的问题,统一使用error.message替代data字段
修正多个提供商模型引用方式,使用MODEL_PROVIDER常量替代硬编码字符串
更新Codex API请求头配置,修复流式响应处理逻辑
为iFlow API添加签名验证机制,增强请求安全性
添加GLM-5和MiniMax M2.5等新模型支持
修复400错误状态码检查逻辑,使用error.response?.status替代error.code
2026-02-14 19:54:53 +08:00
hex2077
6ee7e78c90 feat: 增强模型支持和修复流处理问题
- 添加新的Qwen模型(coder-model, vision-model)到提供者列表
- 修复OpenAI Responses流结束事件处理,避免下游类型校验错误
- 更新Qwen API端点地址和版本号
- 重构Codex转换器,分离OpenAI和OpenAI Responses的转换逻辑
- 优化工具调用处理,支持嵌套function结构
- 移除健康检查功能,简化API管理初始化
- 修复消息角色转换(developer→assistant)和类型标记
2026-02-13 20:47:47 +08:00
hex2077
a7b29d9d48 fix(provider-pool): 修正标记不健康提供者时的错误状态判断
将标记不健康提供者时的状态检查从 `status === 400` 改为 `error.code === 400`,确保正确识别客户端错误。同时在标记时传递错误信息给 `markProviderUnhealthy` 方法,以提供更详细的故障原因。
2026-02-09 21:58:45 +08:00
hex2077
4d588f6c7d fix: 防止流式响应中重复发送结束标志并添加新模型支持
修复 handleStreamRequest 中可能重复发送流结束标志的问题,新增 hasMessageStop 状态跟踪。
在 provider-pool-manager 中修复临时配置缺少全局配置的问题。
为 Gemini 提供者添加新的模型支持:gemini-claude-opus-4-6-thinking。
2026-02-08 15:42:45 +08:00
majie776
2816de1451 fix(stream):修复流被客户端关闭的时候的写入错误导致服务crash的问题 2026-02-05 10:42:46 +08:00
Jie Ma
6170666ff3 修复某些客户端没有接收到流结束信息后的错误 2026-02-04 13:42:28 +08:00
hex2077
3b0c2180d2 feat(usage): 改进用量显示并添加按提供商刷新功能
- 添加 formatToLocal 工具函数统一处理日期本地化显示
- 用量卡片添加重置时间显示和双击刷新功能
- 优化 Gemini/Antigravity/Codex 的用量数据格式化逻辑
- 改进 Codex 用量显示,优先展示周限制信息
- 添加相关国际化文本支持
2026-01-28 16:51:45 +08:00
hex2077
03a1a656f4 feat: 新增 OpenAI Codex OAuth 支持与用量查询功能
- 添加 Codex OAuth 提供商支持,包括核心服务、适配器和策略实现
- 在用量管理页面新增支持用量查询的提供商列表显示
- 为 Codex 添加专用的用量查询接口和格式化显示
- 更新 Docker 配置以暴露 Codex OAuth 回调端口 1455
- 完善多语言文档,记录 Codex 配置和使用方法
- 修复流式响应中工具调用的 finish_reason 处理逻辑
- 增强 AI 监控插件对数组类型 chunk 的处理能力
2026-01-27 16:31:23 +08:00
hex2077
ce7d78f7d0 feat(plugins): 新增 AI 监控插件并优化日志管理
- 新增 AI 监控插件 (ai-monitor),支持全链路协议转换监控
  - 捕获 AI 接口请求参数(转换前后)
  - 监控流式和非流式响应(转换前后)
  - 支持内部请求转换监控
- 新增日志清空功能,支持前端和服务器端同时清空当日日志
- 默认禁用 api-potluck 和 ai-monitor 插件
- 更新多语言文档和配置示例
- 优化提供商适配器开发指南
2026-01-25 19:40:04 +08:00
hex2077
245583b96a feat(logging): 添加日志系统配置和下载功能
- 新增日志系统配置选项,支持日志级别、输出模式、文件大小等设置
- 添加当日日志文件下载功能,可通过Web界面直接下载
- 将console.log/error替换为结构化logger,提升日志可管理性
- 在日志页面添加自动滚动到底部功能
- 更新配置示例文件,包含完整的日志配置参数
2026-01-25 17:24:39 +08:00
hex2077
da8ad6cddb feat(forward): 新增通用转发API提供商支持
- 添加 forward-api 提供商类型,支持将请求透明转发到任意API端点
- 实现 ForwardStrategy、ForwardApiService 和适配器,支持流式和非流式响应
- 在转换逻辑中跳过 forward 协议的数据转换以保持透明性
- 更新UI支持:添加提供商配置字段、多语言标签和显示名称
- 扩展提供商状态检查和健康监测配置
- 为转发请求保留原始路径作为端点参数
2026-01-23 18:33:56 +08:00
hex2077
8afe41870d refactor: 优化Claude-》Gemini的转换逻辑,增加tools适配 2026-01-22 22:39:19 +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
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
be814c5a56 fix: 优化凭证刷新和重试机制以避免并发冲突
- 移除 Gemini 服务中不必要的过期检查逻辑
- 在凭证刷新时添加随机延迟和最大重试次数限制
- 在流式和非流式请求重试时添加随机延迟
2026-01-18 00:04:22 +08:00
Yoahoug
47ad305b4e feat: add Codex provider support 2026-01-16 16:53:06 +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
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
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
2d317e0333 refactor(项目结构): 重构项目目录结构并优化代码组织
将常用工具函数移动到utils目录
重构提供商策略模式实现
新增docker-compose构建配置文件
优化UI配置选择器的样式和交互
重构代理工具和API管理模块
更新脚本路径和依赖引用
2026-01-10 18:19:06 +08:00
Renamed from src/common.js (Browse further)