Oh My Pi v16.1.17 发布 —— yield 门修复,Anthropic 代理修复,多项底层加固
· 阅读需 2 分钟

Yield 门不再被时钟回拨卡死
yieldIfDue() 是 Agent 循环里让出事件循环的核心机制。如果系统时钟发生了向后跳变(NTP 调整或 mock 测试),旧的未来时间戳会让 yield 门永远卡住——Agent 不再让出,整个循环就卡死了。现在遇到向后时钟跳变会当作「已经到期」处理,并重新锚定时间(#3330)。
Anthropic 自定义代理认证修复
如果你用 Anthropic API 走自定义代理(比如自建反向代理),之前 model.headers 和 ANTHROPIC_CUSTOM_HEADERS 里设的 Authorization / X-Api-Key 会被静默丢弃,导致代理认证失败。现在非 OAuth 请求会优先使用调用者提供的认证头(#3391)。
OpenRouter 推理签名修复
OpenRouter 上的 Anthropic 模型有两个修复:
cache_control不再被省略,prompt 缓存能正常工作了(#3397)- 多轮推理的 follow-up 请求不再因为携带了之前的
thinking块签名而导致 400 错误——现在 replay 时会自动清理历史推理签名(#3399)
Ollama Cloud 输出 Token 上限修复
Ollama Cloud 的 num_predict 最大是 65536,但旧缓存里如果存了 maxTokens: 1048576,请求就会 400。现在在发送前会自动 clamp 到 65536(#3394)。
其他修复
- GitHub Copilot 企业端点不再因为报告支持 vision 但实际拒绝图片而 400(#3387)
- 韩文输入(Hangul Jamo)在 Ghostty 终端下不再渲染异常(#1800)
- 桌面通知在 tmux 下不再被静默丢弃,改用 DCS 透传 + BEL 回退(#3396)
omp usage不再重复显示 provider 级别的免责声明(#3312)- Snapcompact 上下文压缩在子 1M token 模型下不再无限循环警告(#3249)
- Stats 统计不再因为 fork 会话而重复计数(#3382)
omp plugin install安装的 marketplace 插件不再注册后不生效(#3245)
升级方式:
brew upgrade oh-my-pi
npm update -g oh-my-pi
完整更新日志:GitHub Release v16.1.17
📢 关注我,获取最新开源更新日志和开发者工具动态。
#OhMyPi #v16.1.17 #Anthropic #MCP #LLM更新报告 #AI写代码的小任