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

以前:一个 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编程 #开源 #版本更新 #开发者工具