跳到主要内容

oh-my-pi v15.10.0 发布 —— 以前用一个开关决定 fetch 方式,现在给了五种选择

· 阅读需 4 分钟

oh-my-pi v15.10.0 封面

以前:一个 parallelFetch 开关决定一切

之前 oh-my-pi 的 fetch 策略只有一个 providers.parallelFetch 布尔值:打开是并行,关上走默认。听起来简单,但实际用起来很尴尬——有时候你想用 trafilatura 抓正文,有时候想用 jina 做结构化提取,有时候就想老老实实用 native。一个开关解决不了这种选择。

v15.10.0 把它改成了 providers.fetch 枚举:auto / native / trafilatura / lynx / parallel / jina。旧配置自动迁移,默认 auto。五个选项对应五种不同的 URL 读取器后端优先级——不再是非此即彼,而是按场景挑。

这是一个 Breaking Change,但看社区的迁移方式就知道了:旧 key 被自动丢弃,新默认自动启用。除了改了配置文件需要看一眼,用户端基本无感。

核心修复:三个你迟早会碰到的问题

Cloud Code Assist(Antigravity / Gemini CLI)的 github 工具挂了

pr 参数 schema 含 anyOf: [string, array] 的时候,CCA 的混合类型组合器选了第一个非空类型(string),却把 items 从 array variant 里一起复制过来了——结果产出一个 {type: "string", items: {...}} 的 schema,Google API 直接 400 拒绝。修法是:collapse 现在会按获胜类型的允许 key 集过滤合并后的 variant 字段。

简单说:如果你用 CCA 和 GitHub tool 的组合,之前大概率遇到过请求发不出去的情况。

OpenAI Responses 家族面请求 400 的「孤儿 tool call」问题

OpenAI Responses、Codex、Azure Responses 等 provider 在处理 session 树分支或中断的会话时,如果上下文中停在了一个 tool call 上,后续请求会报 400 No tool output found for function call。原因是对应的 tool-result 在重建历史时丢失了。

修法是:在未配对的 function_call / custom_tool_call 之后立即合成一个占位 function_call_output / custom_tool_call_output。模型能看见这个调用,可以 recover 而不是整个请求 400。

Anthropic 推理 endpoint 在续写请求中丢推理

非官方 Anthropic 兼容 endpoint 发出的 unsigned thinking block 会被降级为 type: "text",导致下一轮的 tool-call argument 序列化出错——表现为 todo 工具报 args?.ops?.map is not a function。修了之后非官方 endpoint 的 unsigned reasoning 会保留为原生 type: "thinking",不会降级。

GitHub Actions 读取工具上线

read/web-fetch 工具现在能抓 GitHub Actions 的 runs 和 jobs 页面了。fetch github.com/{owner}/{repo}/actions/runs/{id} 会渲染 run 元数据加 per-job 的 step 列表。…/jobs/{id} 还能看单个 job 的完整纯文本 logs(有 GITHUB_TOKEN/GH_TOKEN 时)。没有 token 也会有明确的降级提示。

其他值得注意的

  • @oh-my-pi/pi-ai/effort 模块拆分:从 model-thinking 中拆出独立的 Effort 枚举和 THINKING_EFFORTS 导出,热路径消费者可以只 import effort 级别而不拉 model-thinking 的整个依赖图
  • Antigravity 用量去重:之前同一个 tier 的 15+ model 在 usage 面板里各占一条。现在按 tier 折叠成一条,匹配上游 API 的共享配额逻辑
  • Subagent task.maxRuntimeMs 限制移除:eval agent 的子 agent 不再受 wall-clock cap 限制(父 cell 的 idle watchdog 已在 bridge 调用期间暂停)

安装:

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

完整更新日志:GitHub Release

第一次写 oh-my-pi 的更新。从这个版本看,它更关注「不同 provider 之间的兼容性」——CCA、OpenAI Responses、Anthropic 三家的坑都踩了一遍,而且每个修得都挺深。

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

#oh-my-pi #AI编程 #开源 #版本更新 #开发者工具