v2.5.0 — 安全加固、异常恢复、优雅生命周期
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。