Skip to content

v2.5.0 — 安全加固、异常恢复、优雅生命周期

Choose a tag to compare

@lhhkuki lhhkuki released this 12 May 07:41
· 19 commits to master since this release

v2.5.0 更新内容

P0 修复

  • JSON 解析异常处理:请求体 JSON 解析失败时返回友好错误,不再崩溃
  • 响应体大小限制:上游响应超过 50MB 时拒绝读取,防止内存溢出

P1 修复

  • fetchWithRetry 重试逻辑:5xx 服务端错误自动重试(带退避),4xx 客户端错误直接返回
  • _drain_log_queue 并发竞态:改用 try get_nowait except Empty 替代不安全的 .empty() 检查
  • handleToggleProxy 乐观更新:操作后轮询服务器实际状态,不再盲目乐观
  • ModelDialog 退出动画:去掉内部冗余的 AnimatePresence,由 App.tsx 统一管理

P2 改进

  • Electron 启动轮询:用健康检查轮询替代写死的 4 秒延迟,后端就绪后立即显示窗口
  • 后端优雅关闭:窗口关闭时先发 SIGTERM,等待 3 秒,再发 SIGKILL
  • is_already_running 平台兼容:非 Windows 平台跳过 ctypes,改用端口检测
  • ModelCard 空值保护:name/id 均为空时 firstLetter 用 ? 兜底
  • 日志 ID 去重:用自增计数器替代时间戳,消除碰撞警告

v2.4.0 以来的累积改动

  • Fernet 加密替代 XOR(兼容旧密钥自动迁移)
  • /api/models 接口字段白名单防注入
  • API Key 加密失败时记录日志
  • Fernet key 文件版本标记(F1 前缀)
  • 流式错误分类:区分 HTTPError / ConnectionError / 其他异常
  • _stream_anthropic 请求顺序修复:先发 SSE 头再请求上游
  • API 线程崩溃隔离:异常时打印 traceback
  • 流式传输保证 response.completed 事件(即使上游请求失败)
  • config 验证白名单、日志清理、线程安全锁
  • model owned_by 改为 openai 兼容插件

安装方法

下载 AI-Proxy-Manager-Setup-2.5.0.exe 运行即可,无需安装 Python。