Skip to content

ChatSpeed v1.2.2

Choose a tag to compare

@github-actions github-actions released this 31 Jan 07:15

[1.2.2]

⚠️ Deprecation Notice

  • MCP SSE Protocol: The /mcp/sse endpoint is now officially deprecated and scheduled for removal in v1.3.0. Users are strongly encouraged to migrate to the more stable /mcp/http (Streamable HTTP) protocol. This decision is due to inherent stability issues with SSE (such as unfixable 410 errors) and the removal of support in the upstream library.

🚀 New Features

  • Proxy Switcher Window: Introduced a lightweight, dedicated window for quickly switching active proxy groups. Accessible via the system tray, titlebar menu, and global shortcuts.
  • Enhanced Proxy Stats UI:
    • Persistent Auto-Refresh: Auto-refresh state is now persisted in local storage.
    • Improved Interactivity: Added sortable columns for Client Model, Backend Model, and various token counts.

🪄 Improvements

  • Intelligent Configuration Protection: Optimized the database restoration process to automatically preserve machine-specific settings, including window positions, sizes, network proxy configurations, and backup paths. This ensures a seamless transition when moving data between different machines.
  • Fair Weight Rotation Logic: Refactored the proxy rotation engine to group targets by provider. This prevents "weight explosion" where a provider with many keys or model aliases would unfairly dominate traffic distribution.
  • Robust Statistics Recording: Introduced a RAII-based StreamStatGuard to ensure proxy usage statistics are accurately recorded even when streams are prematurely terminated or encounter errors.
  • Refined Proxy Rotator: Simplified the internal architecture by removing redundant locks, improving performance and maintainability.
  • Cleaner Debug Logs: Updated VS Code launch configurations to suppress noisy OS_ACTIVITY_MODE logs on macOS.

🐞 Bug Fixes

  • Startup Panic on Windows: Fixed a critical issue where the application could panic during startup if window events (Resized/Moved) were triggered before the internal state was fully initialized.
  • Windows MCP Reliability: Resolved an issue where some MCP servers (e.g., Context7) would hang in the "Starting" state on Windows. This was caused by improper terminal handling and script execution wrapping.
  • Silent Process Execution on Windows: Fixed an issue where starting MCP servers or environment detection would cause a terminal window (black box) to pop up on Windows. All background processes now run silently.
  • Stat Recording Leak: Fixed a potential issue where statistics might not be recorded if a streaming response ended unexpectedly.

[1.2.2]

⚠️ 弃用公告

  • MCP SSE 协议弃用:/mcp/sse 入口已正式弃用,并计划于 v1.3.0 版本彻底删除。由于 SSE 协议存在难以修复的稳定性问题(如 410 错误)且上游依赖库已停止支持,强烈建议用户尽快迁移至更稳定的 /mcp/http (Streamable HTTP) 协议。

🚀 新特性

  • 新增代理切换窗口:引入了一个轻量级的专用窗口,用于快速切换当前激活的代理分组。可通过系统托盘、标题栏菜单及快捷键快速唤起。
  • 代理统计 UI 增强:
    • 自动刷新持久化:代理统计的自动刷新开关状态现在支持本地持久化存储。
    • 交互体验优化:统计表格新增支持按客户端模型、后端模型及各类 Token 计数进行点击排序。

🪄 改进

  • 智能配置保护:优化了数据库还原流程,会自动保留当前机器特有的设置,包括窗口位置、尺寸、网络代理配置以及备份路径。这确保了在不同设备间迁移数据时,不会干扰本机的界面布局和网络环境。
  • 公平权重轮询逻辑:重构了代理轮询引擎,改为按供应商(Provider)进行分组调度。彻底解决了因单供应商配置多密钥或多别名导致的“权重爆炸”问题,确保流量分配严格遵循物理密钥比例。
  • 鲁棒性统计记录:引入了基于 RAII 机制的 StreamStatGuard,确保即使在流式响应异常中断或报错的情况下,代理使用统计也能被准确记录。
  • 代理轮询器优化:简化了内部架构,移除了冗余的读写锁,提升了并发性能与可维护性。
  • 调试日志去噪:更新了 VS Code 启动配置,禁用了 macOS 下冗余的 OS_ACTIVITY_MODE 日志输出。

🐞 修复

  • Windows 启动崩溃修复:解决了在 Windows 平台上,若窗口事件(如调整大小或移动)在内部状态完全初始化前触发,可能导致程序 Panic 崩溃的关键问题。
  • Windows MCP 可靠性提升:修复了部分 MCP 服务(如 Context7)在 Windows 上可能卡在“启动中”状态的问题。通过优化终端处理和脚本执行包装逻辑,确保了服务能顺畅启动。
  • Windows 静默进程执行:修复了在 Windows 上启动 MCP 服务或进行环境检测时会弹出黑窗口(命令行窗口)的问题。现在所有后台进程均以静默模式运行。
  • 统计记录遗漏修复:修复了在流式响应意外结束时可能导致使用统计未正确入库的潜在问题。