编者摘要:Pi v1.4.0 是 earendil-works/pi AI 编码 Agent 版本,核心升级围绕多模态分类、摘要机制、Codemode 调度、终端能力、模型适配与大量缺陷修复。新增 codemode models.classify () 支持图片输入,适配 TypeSafe Jev、Cloudflare Clef 等模型;自动生成 models.json 配置参考文档。压缩、分支摘要取消固定 token 上限,依托模型原生输出限制,解决长推理摘要失败问题。Codemode 增加 worker 排队机制,并发子 Agent 不再直接报错,支持环境变量调整并发上限。新增 MiniMax-M3.1-Flash,Rex 终端支持超链接、真彩色、内联图片。调整多款默认模型,重构服务商归因请求头。修复大量痛点:UTF-8 BOM 配置文件解析失败、终端异常退出遗留转义序列、多弹窗冲突、剪贴板挂起卡死、MCP 配置解析异常、摘要指令丢失、正则 grep 受外部配置干扰、Markdown 渲染缺陷、会话恢复异常等问题,提升跨平台稳定性。
10个关键问题Q&A
Q1:本次最大的新特性是什么? A1:codemode 的分类器函数 models.classify () 支持传入图片,对接 Cloudflare、TypeSafe、OpenRouter 上的多模态分类模型。
Q2:摘要不再报 token 上限错误是怎么实现的? A2:摘要不再使用固定输出配额,直接使用模型自身输出上限;compaction.reserveTokens 仅控制何时启动压缩。
Q3:Codemode 并发脚本现在失败会怎样? A3:worker 繁忙时最多等待 60s 排队,不再直接报错;PI_CODEMODE_MAX_WORKERS 可修改并发上限,默认 2。
Q4:Rex 终端新增了哪些能力? A4:支持 OSC 8 超链接、真彩色、内联图片渲染。
Q5:models 配置文档有什么改进? A5:基于 models.json schema 自动生成完整参考文档,补齐字段描述,编辑器有提示。
Q6:哪些默认模型发生了变更? A6:Copilot 切为 gpt-6.1-sol,NVIDIA 更换 Nemotron-VL 模型,小米切换 mimo-v2.6-pro。
Q7:带 UTF-8 BOM 的 json 文件问题修了哪些? A7:managed-install.json 导致 pi update 失败、mcp.json 带 BOM 无法加载 MCP 服务两个问题都修复。
Q8:grep 工具行为有什么变化? A8:强制 rg --no-config,不再读取 RIPGREP_CONFIG_PATH,避免外部配置篡改正则搜索逻辑。
Q9:多弹窗交互 bug 是什么现象,现在如何? A9:先后弹出 select/confirm 弹窗时旧弹窗 Promise 卡死;现在关闭顶层弹窗可恢复上一层弹窗。
Q10:Cloudflare Clef/Jev 定价信息有修正吗? A10:修正定价,Jev 不再标注免费,Clef Flash $0.038、Jev $0.042 / 百万输入 token。
附录 Pi v1.4.0 版本更新
Pi(earendil-works/pi,AI Coding Agent)v1.4.0,核心方向:分类器图像输入、摘要不再硬编码 token 上限、Codemode 任务排队、终端增强、多模型与服务商更新、大量稳定性 bug 修复。
✨ 新增特性(New Features)
- 分类器支持图像输入
codemode models.classify()支持传入图片,适配 TypeSafe Jev、Cloudflare Clef,支持typesafe/cloudflare-workers-ai/ OpenRouter;新增 Workers AI 的 Clef Omni、Jev 1.14。provider 级compat配置同样作用于分类器,新增imageInput、sendImageOptInHeader用于代理转发场景。 - 模型配置参考文档自动生成
基于 models.jsonschema 输出完整配置手册,包含服务商、模型、模型覆盖、兼容字段,解决编辑器缺少提示的问题。 - 摘要取消固定输出上限
压缩摘要、分支摘要直接使用模型原生输出上限,长推理不再因为 token 封顶失败; compaction.reserveTokens仅控制何时触发压缩。 - Codemode 工作池排队机制
并行脚本、内部子 Agent 不再直接报错,空闲 worker 不足时最多等待 60s;环境变量 PI_CODEMODE_MAX_WORKERS可调整并发上限(默认 2)。 - Rex 终端增强
支持 OSC 8 超链接、真彩色、行内图片渲染。 - 新增 MiniMax-M3.1-Flash
minimax/minimax-cn接入,支持多级思考强度 low ~ max。
📌 变更(Changed)
- 请求归因 Header 重构
归因 Header 统一由 pi-ai 客户端身份发出;扩展 before_provider_headers拿不到 OpenRouter / NVIDIA NIM / OpenCode 原有归因头,返回 null 仍可删除。Cloudflare、版本更新检查统一更换 User-Agent;OpenCode 在开启归因时始终携带x-opencode-client,不再依赖会话。 generateSummary()系列函数废弃 reserveTokens参数。- 默认模型切换
-
GitHub Copilot:退役 gpt-5.4→ 默认gpt-6.1-sol -
NVIDIA:默认改为 nvidia/nemotron-3.5-super-vl-120b-a12b -
Xiaomi: mimo-v2.5-pro下线,默认mimo-v2.6-pro -
xAI Grok 4.3 / 4.5:新增 xhigh思考等级 -
ChatGPT Business 工作空间限额报错:不再自动重试,提示用户联系管理员扩容。
🛠️ 修复(Fixed,重点)
-
修复压缩 / 分支摘要长推理触发 token 上限报错; -
修复 models.schema.json字段缺失注释,编辑器无提示; -
修复 Windows PowerShell 5.1 写入带 UTF-8 BOM 的 managed-install.json导致pi update失败; -
修复 CJK 标点旁 Markdown 粗斜体导出 HTML 显示原始星号; -
修复进程异常退出时终端模式(鼠标追踪、Kitty 键盘、备用屏幕)未清理,乱码逃逸序列污染 shell; -
修复交互式弹窗覆盖问题:多个 select/confirm/input弹窗先后弹出时旧弹窗 promise 卡死,关闭顶层弹窗可恢复上一层; -
Linux Ctrl+Z 挂起 pi 后剪贴板粘贴卡死问题(wl-copy/xclip 后台进程一同被挂起); -
修复扩展导入 @earendil-works/pi-ai/models加载失败; -
修复带 BOM 的 mcp.json解析失败、MCP 服务器全部丢失,pi mcp add/remove异常; -
修复 /compact <指令>在分段压缩时丢失用户指令; -
恢复会话、 /tree导航时,后安装扩展的工具被误标记为未激活; -
修复输出截断后的会话恢复异常:截断 tool call 被丢弃,但保留 tool 返回,后续请求被服务商拒绝; grep工具不再读取 RIPGREP_CONFIG_PATH,固定rg --no-config,避免外部配置悄悄改变正则匹配行为;-
Windows Shell 探测优化:识别微软商店别名、非 C 盘系统下 PowerShell、WSL bash; -
Copilot 请求体过大(多图)直接 413,现在自动压缩重试; -
下线 openai-codex 里 ChatGPT 账号无法调用的 gpt-5.5/gpt-5.3-codex-spark; -
纯空白 tool 输出( \r\n)导致 OpenAI/Google 接口 400 报错; -
网关流断开、Vertex OAuth 临时失败等更多瞬时错误增加自动重试; -
OpenAI Responses 在工具删除后,每次延迟加载都会丢失 prompt 缓存; -
修正 Cloudflare Clef / Jev 定价:Jev 不再标记免费,Clef Flash $0.038 / 百万输入 token,Jev $0.042 / 百万输入 token; -
未闭合 $$数学块破坏后续 Markdown 表格渲染; @文件自动补全遇到正则元字符 [(等匹配不到结果。
📦 制品清单
源码包 + 全平台二进制:darwin-arm64/x64、linux-arm64/x64、windows-arm64/x64 zip,附带 SHA256SUMS 校验文件。

