跳到主要内容

oh-my-pi v15.10.10 发布 —— Codex 无限重连、Anthropic thinking 签名、输出上限,三个大坑一次填完

· 阅读需 3 分钟

oh-my-pi v15.10.10 封面

Codex WebSocket 无限重连:一个零延迟的死循环

这是整个版本里最隐蔽也最严重的 bug。当 Codex 返回 websocket_connection_limit_reached 时,oh-my-pi 的 no-content reconnect 路径从不检查重试预算,也从不等待——它只是不停地连、不停地断、再连,无限循环。如果这个限制是 account-scoped 的,重试永远不会成功,客户端会浪费大量时间在死循环上。

修了:重连现在有预算和延迟,跟其他 WS 重试路径一致。预算耗尽后降级到单次 SSE 重放。

除此之外还修了 Codex WebSocket 的一串相关问题:

  • 两个并发 getOrCreateCodexWebSocketConnection 调用(prewarm 和第一次请求竞速)会互相关掉对方的 handshake——一个 CONNECTING 状态的 socket 被关掉后,另一个 caller 收到 websocket closed before open 的致命错误,整个 session 的 WebSocket 被禁用。现在并发的调用会加入 pending handshake。
  • WS 传输错误到达时,response.completed 事件如果排在 websocket closed 之前就会被丢弃——一个已经完成的响应被重放了一次。
  • whitespace-loop breaker 之前只处理正常帧,如果模型发送了不在正确窗口内的变形帧,watchdog 不会触发,turn 永远挂起。

Anthropic 修复:thinking 签名、输出上限、重组装

输出上限被悄悄砍了一半CLAUDE_CODE_MAX_OUTPUT_TOKENS 这个 clamp 原本只应为 OAuth 请求保留,但 buildParams 无条件应用了它。API-key 用户用 Opus 4.8(原生 128K 输出)时,实际只有 64K 可用。修了,OAuth 请求继续 clamp,API-key 不限。

thinking 签名修复:之前 Opus 4.0(claude-opus-4-20250514)的版本号被 supportsAdaptiveThinkingDisplay 错误解析成 4.20250514 ≥ 4.7,interleaved-thinking-2025-05-14 beta 被静默丢弃。

多个流处理修复processResponsesStream 中 reasoning items 的 finalization 修复——没有 ID 的 reasoning items(本地 host),每次 output_item.done 都匹配到第一个 thinking block,第二个 block 的文字覆盖了它。现在按 routed entry 匹配。

Foundry mTLS 证书缓存问题:当环境变量指向文件时,证书被缓存了进程生命周期——证书轮换不生效。现在缓存 key 加了文件 mtime。

其他值得注意的

Copilot premiumRequests 计数修复:失败/取消的 response 中用量计数被丢弃——populateResponsesUsageFromResponse 直接替换 usage,错误路径在 success-path 重新应用之前就抛出了异常。现在正确保留。

Anthropic stop_reason 未知值修复:当模型返回未知的 stop_reason(如 Sonnet 4.5+ 默认的 model_context_window_exceeded),mapStopReason 会抛异常。由于这个原因出现在 trailing message_delta 上,错误不可重试——整个 turn 挂了。现在未知值映射到 length

100+ 图片 resize 并发修复:图片 resize 的 fan-out 限制到 4 个并发 decode,之前 20+ 张图片时会一次性解码所有图片——两个 encode pipeline 同时跑,内存冲击很大。

升级:

curl -fsSL https://omp.sh/install | sh
# 或用 Bun
bun install -g @oh-my-pi/pi-coding-agent

完整更新日志:GitHub Release

50+ 条修复,Codex 和 Anthropic 各分一半。不吸引眼球,但如果你踩过 Codex 无限重连或者 Opus 4.8 输出被砍半,这个版本就是为你修的。

📢 关注我,获取最新开源更新日志和开发者工具动态。

#oh-my-pi #AI编程 #Codex #Anthropic #版本更新