Skip to content

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 27 Sep 01:44
· 3 commits to main since this release

v0.7.0

对齐浏览器 HAR 抓包证据的流式重构,加上资源稳态治理与全新 React 管理控制台。

流式与协议(对齐 HAR)

  • 首个有效文本 token 超时:默认 75 秒(M365_FIRST_TOKEN_TIMEOUT_SECONDS,范围 15–600),只以首个非空白文本 token 为准,保留 90 秒常规 WebSocket 读超时,不误杀搜索/生图/深推理的长首字。
  • 安全非流式退化:仅在尚未提交任何 SSE 字节时返回标准 JSON 错误;已提交后只发合法 SSE error + [DONE]。
  • 统一 SSE 写锁:所有流式帧、工具输出与 keepalive 走同一个 sseWriter,消除并发写竞态。
  • 故障转移收敛:WS_READ_TIMEOUT 与上游 422 纳入可转移;共享层传输故障(DNS/TCP/TLS/SOCKS5/503)不再逐账号轮转,避免账号切换风暴。
  • 快照一次性消费:移植社区 PR #86 的 snapshotReconciler,内存降为 O(n),消除重复段落(署名见下)。
  • 乱码修复:消除上游分片切断多字节 UTF-8 时产生的 U+FFFD。stripReplacementChars 改用 ToValidUTF8 丢弃残余非法字节,流式过滤器新增 UTF-8 边界缓冲,被切断的汉字会被正确重组而不是丢弃。

资源与内存稳态

  • 响应 buffer 池:上限 64 个 × 64KiB,超限对象不入池。
  • MCP 待执行队列:上限 1024,满载淘汰最旧并回错误,取消/超时清理并释放切片引用。
  • 缓存统计 KeyStats:LRU 淘汰(上限 1024)。
  • health_ping 包级 map 定期 GC。
  • 连接池 Warm 节流放宽为按缺口补足。

Web 控制台

  • 全新 React SPA(Vite 6 + React 18 + TypeScript + motion),8 个页面:Dashboard、Usage、Accounts、API Keys、Conversations、Proxy Pool、Model Test、Settings;11 语言 i18n;由 /webapp/ 提供。
  • 旧版单页 HTML 保留为回退界面,侧边栏版本号改为从 /api/version 动态读取。
  • 新增开机自启开关(HKCU Run,免管理员)。

协议与模型

  • 真实模型目录:flux-3 / flux-4(生图),清除假模型 gpt-5.6-sol/terra/luna 与 gpt-image-2;生图走标准 /v1/images。
  • reasoning_effort 路由:支持 none/minimal/low/medium/high/xhigh,非法值返回 400。
  • 临时会话:metadata.copilot_temp_session → disableMemory,且不入库。
  • 引用解析:解析 displayData.content 的 Title/Snippet。
  • 计量风控:metering 接入主路径 /v1/chat/completions,图片能力冷却。
  • M365_MASTER_KEY 平滑迁移:设置主密钥后仍能解密历史 fallback 加密的 refresh token,无需重新授权。
  • REST UA 统一为 Chrome,422 纳入重试白名单。

构建与发布

  • 修复非 Windows 平台编译(autostart 桩),25 个平台产物齐备。
  • 源码默认版本 dev,发布版由 CI 从 Git tag 注入。

社区贡献

感谢以下社区 PR,其成果已在 v0.7.0 中体现:

  • #86 @2164312714-svg — ChatHub 文本快照一次性消费(snapshotReconciler,已移植并在源码中署名)。
  • #62 @banana2556 — 安全复用会话连接;连接池复用边界据此收敛(仅新请求复用连接,续接对话一律重新拨号)。

v0.6.0 及更早版本已包含 #50、#52–#57 等社区修复。

已知问题

  • internal/web/server.go 中第二个 body.Stream 推理分支不可达(既有结构问题),reasoning_content 目前不会流式输出。

产物

25 个平台二进制 + checksums.txt:linux(amd64/arm64/386/arm/mips/mipsle/mips64/mips64le/ppc64/ppc64le/riscv64/s390x/loong64)、darwin(amd64/arm64)、windows(amd64/386/arm64)、freebsd(amd64/arm64/riscv64)、netbsd(amd64/arm64)、openbsd(amd64/arm64)。