外部精选
Pi 0.99.0
本文来自外部来源,不是黄奕彬的原创文章。本站提供原文入口,并在采集端生成 AI 结构化摘要、解读与中文翻译(如有),一切以原文为准。
阅读原文(pi.dev)结构化摘要 AI 生成
背景与问题
背景与问题:这是终端 AI 编码工具 Pi 的 0.99.0 版本官方发布说明(Changelog),面向 Pi 使用者与扩展/SDK 开发者,回答"本版本新增、变更、修复了什么"。
背景是 Pi 围绕扩展体系、多模型供应商接入与工具编排持续演进;本版本重点是把 codemode、工具搜索与 MCP 支持转为内置扩展,并补齐虚拟模型、分类器、图像生成等能力。
方法或内容
方法或内容:发布说明按 New Features / Added / Changed / Fixed 四节组织:
- 新特性:codemode 与 MCP、系统主题、ChatGPT 登录、虚拟模型、分类器模型。
- Added:内置扩展落地细节、扩展工具 API、
ModelRuntime图像生成与分类器、主题/颜色 API、RPC 与AgentSession接口等。 - Changed:构建链迁移、命名与显示调整、输出上限提高。
- Fixed:约 30 条缺陷修复,覆盖供应商计价、会话、主题、剪贴板等。
关键发现 / 结果
关键发现或结果:
- codemode 在 QuickJS 沙箱运行模型编写的 JavaScript,可并行调用工具;MCP 支持 stdio/streamable HTTP 与 OAuth,经
/mcp与pi mcp管理。 - 系统主题成为默认,颜色取自终端前景/背景/ANSI 配色。
/login openai支持以 ChatGPT 订阅登录;原 OpenAI Codex 供应商改名 "OpenAI Codex (legacy)"。- 虚拟模型为实验性:
pi.registerVirtualModel()按请求选择物理模型与思考级别。 - 每个 llama.cpp 聊天模型可作分类器,按下一 token 标签概率作答。
- 构建迁至 TypeScript 7.0(ES2024 目标),
tsx换为 Node 内置 type stripping。 - bash/powershell 结构化结果上限由 2000 行/50KB 提至 1 MiB。
- Fireworks、OpenCode Go、Together 默认模型由 Kimi K2.6 改为 Kimi K3。
- 新增继承的 Claude Sonnet 5.5 支持(自适应思考、1M 上下文窗口)。
- 其余为约 30 条修复,覆盖计价、会话、主题、剪贴板等,均附 issue 编号。
结论与意义
结论与意义:codemode 与 MCP 是本版本核心新能力,标志 Pi 将工具编排内置化;ChatGPT 登录明确取代原 OpenAI Codex 供应商(改名 legacy)。
适用边界:虚拟模型标注实验性;分类器按原文描述的下一 token 标签概率机制工作;大量条目依赖上游供应商(模型名、定价、登录流程),随上游变化可能失效。升级步骤与兼容性影响细节原文未说明。
AI 解读 AI 生成
方法:按「时空变量」分析(时间 / 空间 / 变量,严格区分包含、相关与因果),对象包括原文作者、署名人员与关键技术及其实际原理;结论用「元反空」(元思考、反思考、空思考、综合)整理。
时间:何时发生,现在是否仍成立
时间:发布说明标注 Sep 29, 2026,来源日期对应北京时间 2026-09-29 08:00。内容为该时点的版本快照:构建迁移、默认值变更与各项修复自 0.99.0 生效。
其中模型相关条目(Claude Sonnet 5.5、Claude Opus 5.5、Kimi K3、qwen3.8-flash)与计价修复时效性强,随上游供应商调整可能不再成立;是否仍适用取决于读者当前使用的 Pi 版本。
空间:谁的环境 / 场景
空间:适用于 Pi CLI(版本 0.99.0,经 GitHub release 与 npm 发布)的终端用户及扩展/SDK 开发者。
覆盖场景:终端环境(macOS 本地与非本地终端、X11 剪贴板、Kitty graphics protocol)、bash/powershell、MCP 服务器接入;供应商涉及 OpenAI、Anthropic、OpenRouter、Cloudflare Workers AI、Vercel AI Gateway、OpenCode Zen、Mistral、Together、Fireworks、GitHub Copilot 等。
变量:实际改变了什么
变量:相对此前的实际改变:
- codemode、
tool_search、MCP 变为内置扩展;--no-extensions现在也禁用内置扩展(含 llama.cpp 供应商)。 - 默认主题改为系统主题;明暗检测顺序改为背景色→终端报告→
COLORFGBG。 - 构建:TypeScript native preview→TypeScript 7.0(ES2024);
tsx→Node 内置 type stripping。 - 内置扩展命名由
<inline:name>/<builtin:name>改为builtin:<name>。 defaultTools支持+name/-name增删工具。- bash/powershell 结构化结果 2000 行/50KB→1 MiB,空输出由
(no output)改为""。 - 三个供应商默认模型 Kimi K2.6→Kimi K3。
- 启动头部改显 pi logo 与版本号,移除
[Themes]区段。
区分:包含 ≠ 相关 ≠ 因果
区分:
- 明确因果:各 Fixed 条目(如经 Vercel AI Gateway 的 Anthropic 1 小时缓存误按 5 分钟费率计价的修复、新会话丢失修复)均为改动直接导致行为变化。
- 包含关系:codemode、tool search、MCP 是内置扩展集合的组成部分;bash/powershell 结构化结果被 codemode 脚本接收。
- 仅相关无因果:系统主题与 ChatGPT 登录等特性同版出现但互不导致;
jev-router.ts示例同时使用虚拟模型与 Jev 分类器,但虚拟模型机制本身不依赖分类器。 - 替代关系为原文明示:ChatGPT 登录取代 OpenAI Codex(legacy)。
对象:作者/署名与关键技术原理
对象:作者/署名——结构化作者字段为空,发布说明整体未标注作者;仅个别条目附贡献者:@cristinaponcela、@davidbrai、@rwachtler、@christianklotz。关键技术及原理(按原文描述):
- codemode:模型编写的 JavaScript 在 QuickJS 沙箱中运行并调用 Pi 工具;经
defaultTools或--tools启用,用codemode.mode与codemode.inlineBudget配置。 - MCP:stdio 或 streamable HTTP 传输,支持 OAuth;配置来自
mcp.或pi.registerMcpServer()。 - 虚拟模型:扩展经
pi.registerVirtualModel()为每个请求选择物理模型与思考级别。 - 分类器:llama.cpp 聊天模型按下一 token 标签概率作答;Jev 分类器可在 codemode 脚本中调用。
- 系统主题:从终端报告的前景/背景/ANSI 配色派生颜色,终端明暗切换时重建。
元反空综合结论
元反空综合:
- 元:本质在回答"Pi 0.99.0 发布了什么",核心是把工具编排(codemode+MCP)内置化,并把模型形态扩展到虚拟模型、分类器、图像生成。
- 反:最可能失效或有边界的部分——虚拟模型标注实验性;依赖上游的条目(默认模型、计价、登录流程、模型名如 Claude Sonnet 5.5 / Kimi K3 / qwen3.8-flash)随供应商变化极易过时;系统主题依赖终端正确报告配色。
- 空:去掉发布叙事后剩下的必要事实:一个经 npm/GitHub 发布的 CLI 版本,新增若干 API(
generateImages()、classify()、ctx.executeTool()、pi.registerVirtualModel()、provider_stream_event等),构建迁移到 TypeScript 7.0,约 30 条带 issue 编号的修复。 - 综合:这是一份信息密度高、可核验(issue 编号+贡献者署名)的常规版本说明,适合 Pi 用户做升级评估;不宜将其中的模型与定价信息当作长期稳定事实引用。
中文译文 AI 生成
更新日志 发布说明 2026 年 9 月 29 日 Pi 0.99.0 GitHub release npm
新功能
- Codemode 与 MCP — 连接 MCP 服务器,让模型运行可并行调用工具的 JavaScript。参见 MCP Servers 与 Enable codemode。
- 系统主题 — Pi 的颜色现在默认来自终端自身的配色。参见 Use your terminal's colors。
- 使用 ChatGPT 登录 — 通过
/login openai在 OpenAI provider 中使用 ChatGPT 订阅。参见 Authenticate interactively。 - 虚拟模型 — 扩展可将每个请求路由到不同的物理模型。参见 Virtual Models。
- 分类器模型 — 在 codemode 脚本中运行 Jev 分类器,或将任意 llama.cpp 模型用作分类器。参见 How codemode works 与 Classification。
新增
- 新增 codemode、tool search 与 MCP 支持,作为内置扩展。
codemode工具在一个 QuickJS 沙箱中运行由模型编写的 JavaScript 来调用 pi 的工具;可通过defaultTools或--tools启用,并通过codemode.mode和codemode.inlineBudget配置。tool_search会查找未向模型声明的工具并将其声明。
基于 stdio 或 streamable HTTP、支持 OAuth 的 MCP 服务器来自 mcp.json(全局,或在受信任后按项目)或 pi.registerMcpServer(),并通过 /mcp 和 pi mcp add|remove|list|login|logout 管理。参见 MCP Servers 与 Enable codemode(#10040)。
- 新增用于编排工具的扩展工具 API:exposure(direct、model-only、codemode、deferred 或 hidden)、namespace、annotations、带
structuredContent的outputSchema、isError结果、prepareLoadout(),以及用于嵌套工具调用的ctx.executeTool();这些嵌套调用会发出带有parentToolCallId的事件,并作为有界的nestedCalls记录在调用方工具的结果上。参见 Tool exposure。 - 当注册了相同 tool、command 或 flag 的扩展替换某个内置扩展时,新增一条警告(#10174,由 @cristinaponcela)。
- 新增实验性的虚拟模型:扩展通过
pi.registerVirtualModel()注册它们,并为每个请求选择一个物理模型和思考级别。页脚会显示被路由到的模型,/session会列出每个物理模型的成本,examples/extensions/jev-router.ts则使用 Jev 分类器进行路由。参见 Virtual Models。 - 在
/login中为 OpenAI provider 新增使用 ChatGPT 登录,它通过 OpenAI API 使用 ChatGPT 订阅。Pi 会在全局设置中为该登录存储一个稳定的deviceId,并在 bug 报告中省略它。 - 新增系统主题(现为默认),它根据终端报告的前景色、背景色和 ANSI 配色来推导 pi 的颜色,并在终端于浅色与深色之间切换时重新构建这些颜色。参见 Use your terminal's colors。
- 为主题文件新增
#rgb、oklch()和okhsl()颜色以及可选的appearance字段,并为扩展新增theme.style()、theme.colors和theme.appearance。参见 Themes 与 TUI。 - 为每个 llama.cpp 聊天模型新增一个分类器模型,其回答由 next-token 的标签概率得出。参见 Classification。
- 在 OpenRouter、Cloudflare Workers AI、Vercel AI Gateway 和 OpenCode Zen 上新增继承的 Jev 分类器模型。
- 新增
fullscreenWheelScrollLines设置和用于全屏鼠标滚轮滚动的/settings条目。默认值auto会在本地 macOS 终端之外加速快速滚轮滚动(#9758)。 - 为成功的 RPC prompt、steer 和
follow_up响应,以及AgentSession.steer()/followUp()与RpcClient.prompt()/steer()/followUp()新增按输入的 disposition;RpcClient.prompt()还接受streamingBehavior(#9098,#9803)。 - 为
ModelRuntime新增图像生成:generateImages()搭配运行时解析的认证(已存储的凭据、OAuth、运行时 API key、models.jsonheaders),以及getModelsOfType()、getModelOfType()、getAvailableOfType()、getAllModels()和getAllAvailable()。OpenRouter 的图像模型列在openrouterprovider 下并共享其凭据;一个上游 ID 可以拥有彼此独立的 chat 与 image 条目。
没有 model list 的 models.json provider 和扩展注册会保留内置的图像生成。扩展的 model list 可以包含带操作实现的、可判别的 chat、image 和 classifier 条目;一旦提供,它们会在所有操作中替换 provider 目录。
面向 chat 的读取(getModels()、getAvailableSnapshot()、模型选择器)保持不变。
- 为
ModelRuntime新增分类器支持,包括classify()、分类器模型访问器、运行时解析的认证,以及内置的 TypeSafejev-latest模型。 - 在 pi.dev 的模型目录请求中新增
types=chat,image,classifier,使远程刷新可以叠加每一种受支持的模型类型;未知模型类型的条目会被忽略。 - 新增
provider_stream_event扩展事件,用于在归一化之前观察已解析的 provider 事件,并附带一个需选择启用的/debug-provider示例查看器(#9784、#9901,由 @davidbrai)。 - 在 HTML 导出中为标记为
display: false的自定义消息新增显示/隐藏切换(H)。消息默认保持隐藏,也可以从侧边栏显示(#8896、#10020,由 @rwachtler)。 - 为 Anthropic 新增继承的 Claude Sonnet 5.5 支持,带有 adaptive thinking 和 1M 上下文窗口。
- 在
pi config中新增 Built-in 区域,用于全局或按项目禁用内置的 mcp、llama.cpp、codemode 和 tool-search 扩展,以extensions设置中的-builtin:<name>形式存储。SDK 内联扩展可通过builtin: true选择加入。 - 为
defaultTools设置新增+name和-name条目,用于在无需重复默认值的情况下添加或移除工具,例如"defaultTools": ["+codemode"]。这种形式的项目级条目会叠加在用户设置之上应用。补充文档,说明如何在不使用 MCP 的情况下启用 codemode,以及如何在 codemode 脚本中使用 Jev 等分类器模型。 - 将 codemode 中
models.classify()调用的 token 用量与成本添加到codemode工具结果中,从而计入会话成本;codemode 结果会显示每次调用的成本。
变更
- 将构建从 TypeScript native preview 切换到以 ES2024 为目标的 TypeScript 7.0,并以 Node 内置的 type stripping 取代 tsx 用于从源码运行(#9965)。
- 从启动横幅中移除了 [Themes] 部分。自定义主题仍可在
/settings中使用,主题冲突仍会被报告。 - 将启动头部改为显示带版本号的 pi logo,而非应用名称。
- 将内置深色与浅色主题改为修订后的 pi 颜色,以 OKHSL 编写。
- 将浅色/深色终端检测改为优先使用报告的背景颜色,其次使用终端的浅色/深色报告,再次使用
COLORFGBG。首次设置不再显示检测到的外观。 - 将继承的 OpenAI Codex 提供方重命名为 “OpenAI Codex (legacy)”;OpenAI 提供方上的 Sign in with ChatGPT 已取代它。
- 将继承的终端检测改为把
TERM=*-direct视为 truecolor。 - 内置扩展和工具在错误、诊断、RPC 来源信息和错误报告中命名为
builtin:<name>(例如builtin:mcp和builtin:read),取代<inline:name>和<builtin:name>。它们的斜杠命令不再带有 [t] 自动补全标签。 --no-extensions也会禁用内置扩展,包括 llama.cpp 提供方。使用-e builtin:<name>显式加载某一个,例如pi -ne -e builtin:mcp。- 没有自定义调用渲染器的工具调用(包括直接 MCP 工具调用)现在会显示其参数:折叠时在标题行以 key=value 对的形式显示,展开时每个参数占一行 key: value。MCP 调用的标题为 server/tool,其结果折叠为 5 行。
- codemode 脚本接收的
bash和powershell结构化结果现在最多可容纳 1 MiB 的输出,而非面向模型的 2000 行或 50KB,并新增truncated和full_output_path。更长的输出会保留其前 512 KiB 和后 512 KiB。空输出为 "",而非。
已修复
- 修复了当剪贴板所有者接受未通告的图像目标时,X11 剪贴板文本被误识别为图像的问题(#9786)。
- 阻止了受管理的 git 包自动安装 Pi 的 peer 依赖,并为在 dependencies 中列出宿主提供模块的扩展包添加了警告(#9863)。
- 修复了使用
-e加载的固定 git 扩展在 ref 变更后仍继续使用首次下载的 commit 的问题(#9982)。 - 修复了当某个监听器在处理事件期间取消订阅时
RpcClient跳过下一个事件监听器的问题,该问题可能导致waitForIdle()在collectEvents()之后超时(#9990)。 - 修复了当模型对省略的 offset 和 limit 发送 null 时,整文件读取调用渲染为
:1的问题(#9996)。 - 修复了当 pi 在第一条助手响应之前退出时新会话丢失的问题。会话文件现在在发送第一条用户消息时创建(#10000)。
- 修复了未加载的 llama.cpp 自动加载预设用 GGUF 训练上下文覆盖缓存的运行时上下文窗口的问题(#10077、#10158,由 @cristinaponcela 贡献)。
- 修复了自定义主题忽略
terminal.trueColor及其他终端能力覆盖并以 256 色渲染的问题(#9973、#10039,由 @christianklotz 贡献)。 - 修复了粘贴在 Finder 中复制的文件时插入文件图标图像而非文件路径的问题;在 bash 模式下路径会被加引号(#9999、#10136,由 @christianklotz 贡献)。
- 修复了启动头部、已加载资源和聊天通知在主题更改后保留旧颜色的问题。
- 修复了 Fireworks 默认模型指向已移除的 Kimi K2.6 模型的问题;现在默认为 Kimi K3。
- 修复了 OpenCode Go 默认模型指向已移除的 Kimi K2.6 模型的问题;现在默认为 Kimi K3。
- 修复了 Together 默认模型指向已移除的 Kimi K2.6 模型的问题;现在默认为 Kimi K3。
- 降低了长会话中流式传输以及预览主题时的 CPU 占用:页脚缓存会话使用量总计,折叠的 bash 结果缓存其预览,且
sanitizeBinaryOutput()不再将输出拆分为逐字符数组。 - 修复了通过
ctx.executeTool()调用的工具(例如来自 codemode 脚本)的使用量被从会话成本中丢弃的问题;该使用量现在会计入调用工具的结果使用量。 - 修复了当已加载的技能名称不包含 skill 中的字母时,继承的
/skill自动补全显示为空的问题(#9944)。 - 修复了在打开 (、[、{、< 或反引号等包裹符后,继承的路径和 @ 自动补全失效的问题。
- 修复了在使用 Kitty graphics protocol 的终端中继承的图像被拉伸的问题(#8938、#9957,由 @rwachtler 贡献)。
- 修复了当扩展在关闭期间关闭覆盖层时,继承的 shell 光标在退出后保持隐藏的问题(#10026)。
- 修复了在
/settings子菜单因鼠标点击而关闭后,继承的键盘输入丢失的问题。 - 修复了通过 Vercel AI Gateway 进行的继承的 Anthropic 1 小时缓存写入按 5 分钟费率计价的问题(#9210)。
- 修复了在 OpenAI 兼容 API 上直接调用
stream()/complete()时丢弃继承的模型级samplingParams的问题(#9506)。 - 修复了继承的 Mistral GLM 请求在空内容增量之后以 “Expected at most one leading ThinkChunk” 失败的问题(#9674)。
- 修复了继承的 OpenAI Fast 模式请求按标准费率计价的问题(#10034)。
- 修复了继承的 Mistral 推理模型忽略所请求的 thinking level 的问题(#9678)。
- 修复了继承的 OpenCode Zen 和 OpenCode Go 的 qwen3.8-flash thinking 在后续轮次中被作为纯文本回放的问题(#10047)。
- 修复了来自省略
output_index的服务器(如 llama.cpp)的继承 OpenAI Responses 流出现工具调用混乱的问题;此类流现在会以错误结束(#9974)。 - 修复了继承的 Anthropic 和 OpenAI Codex 浏览器登录在提供方重定向并携带授权错误后无限等待的问题,以及 Anthropic 登录在其回调端口被占用时失败的问题。
- 修复了当上游模型元数据不完整时,继承的 GitHub Copilot Claude Opus 5.5 提供不受支持的 thinking level 的问题。
展开原文提取正文(采集端自动提取,可能有缺失)
ChangelogRelease notesSep 29, 2026Pi 0.99.0GitHub releasenpmNew Features
Codemode and MCP — Connect MCP servers and let models run JavaScript that calls tools in parallel. See MCP Servers and Enable codemode. System theme — Pi's colors now come from your terminal's own palette by default. See Use your terminal's colors. Sign in with ChatGPT — Use a ChatGPT subscription with the OpenAI provider through /login openai. See Authenticate interactively. Virtual models — Extensions can route each request to a different physical model. See Virtual Models. Classifier models — Run Jev classifiers from codemode scripts, or use any llama.cpp model as a classifier. See How codemode works and Classification.
Added
Added codemode, tool search, and MCP support as built-in extensions. The codemode tool runs model-written JavaScript in a QuickJS sandbox that calls pi's tools; enable it with defaultTools or --tools and configure it with codemode.mode and codemode.inlineBudget. tool_search finds tools that are not declared to the model and declares them. MCP servers over stdio or streamable HTTP, with OAuth, come from mcp.json (global, or per project once trusted) or pi.registerMcpServer() and are managed with /mcp and pi mcp add|remove|list|login|logout. See MCP Servers and Enable codemode (#10040). Added extension tool APIs for orchestrating tools: exposure (direct, model-only, codemode, deferred, or hidden), namespace, annotations, outputSchema with structuredContent, isError results, prepareLoadout(), and ctx.executeTool() for nested tool calls, which emit events with parentToolCallId and are recorded as bounded nestedCalls on the calling tool's result. See Tool exposure. Added a warning when an extension that registers the same tool, command, or flag replaces a built-in extension (#10174 by @cristinaponcela). Added experimental virtual models: extensions register them with pi.registerVirtualModel() and pick a physical model and thinking level for each request. The footer shows the routed model, /session lists cost per physical model, and examples/extensions/jev-router.ts routes with the Jev classifier. See Virtual Models. Added Sign in with ChatGPT to the OpenAI provider in /login, which uses a ChatGPT subscription with the OpenAI API. Pi stores a stable deviceId in the global settings for this login and omits it from bug reports. Added the system theme, now the default, which derives pi's colors from the terminal's reported foreground, background, and ANSI palette and rebuilds them when the terminal switches between light and dark. See Use your terminal's colors. Added #rgb, oklch(), and okhsl() colors and an optional appearance field to theme files, and theme.style(), theme.colors, and theme.appearance for extensions. See Themes and TUI. Added a classifier model for every llama.cpp chat model, answered from next-token label probabilities. See Classification. Added inherited Jev classifier models on OpenRouter, Cloudflare Workers AI, Vercel AI Gateway, and OpenCode Zen. Added the fullscreenWheelScrollLines setting and /settings entry for fullscreen mouse-wheel scrolling. The default "auto" accelerates fast wheel spins outside local macOS terminals (#9758). Added per-input disposition to successful RPC prompt, steer, and follow_up responses, AgentSession.steer()/followUp(), and RpcClient.prompt()/steer()/followUp(); RpcClient.prompt() also accepts streamingBehavior (#9098, #9803). Added image generation to ModelRuntime: generateImages() with runtime-resolved auth (stored credentials, OAuth, runtime API keys, models.json headers), plus getModelsOfType(), getModelOfType(), getAvailableOfType(), getAllModels(), and getAllAvailable(). OpenRouter image models are listed under the openrouter provider and share its credential; an upstream ID can have separate chat and image entries. models.json providers and extension registrations without a model list keep built-in image generation. Extension model lists can include discriminated chat, image, and classifier entries with operation implementations; when supplied, they replace the provider catalog across every operation. Chat-facing reads (getModels(), getAvailableSnapshot(), the model picker) are unchanged. Added classifier support to ModelRuntime, including classify(), classifier model accessors, runtime-resolved authentication, and the built-in TypeSafe jev-latest model. Added types=chat,image,classifier to pi.dev model catalog requests so remote refreshes overlay every supported model type; entries of unknown model types are ignored. Added the provider_stream_event extension event for observing parsed provider events before normalization, with an opt-in /debug-provider example viewer (#9784, #9901 by @davidbrai). Added a show/hide toggle (H) in HTML exports for custom messages marked display: false. Messages remain hidden by default and can also be revealed from the sidebar (#8896, #10020 by @rwachtler). Added inherited Claude Sonnet 5.5 support for Anthropic with adaptive thinking and a 1M context window. Added a Built-in section in pi config to disable the built-in mcp, llama.cpp, codemode, and tool-search extensions globally or per project, stored as -builtin:<name> in the extensions setting. SDK inline extensions opt in with builtin: true. Added +name and -name entries to the defaultTools setting to add or remove tools without repeating the defaults, for example "defaultTools": ["+codemode"]. Project entries of this form apply on top of the user setting. Documented how to enable codemode without MCP and how to use classifier models such as Jev from codemode scripts. Added the token usage and cost of codemode models.classify() calls to the codemode tool result, so they count toward the session cost; the codemode result shows each call's cost.
Changed
Switched the build from the TypeScript native preview to TypeScript 7.0 with an ES2024 target, and replaced tsx with Node's built-in type stripping for running from source (#9965). Removed the [Themes] section from the startup banner. Custom themes remain available in /settings, and theme conflicts are still reported. Changed the startup header to show the pi logo with the version instead of the app name. Changed the built-in dark and light themes to the revised pi colors, written in OKHSL. Changed light/dark terminal detection to use the reported background color first, then the terminal's light/dark report, then COLORFGBG. The first-time setup no longer shows the detected appearance. Renamed the inherited OpenAI Codex provider to "OpenAI Codex (legacy)"; Sign in with ChatGPT on the OpenAI provider supersedes it. Changed inherited terminal detection to treat TERM=*-direct as truecolor. Built-in extensions and tools are named builtin:<name> (for example builtin:mcp and builtin:read) in errors, diagnostics, RPC source info, and bug reports, instead of <inline:name> and <builtin:name>. Their slash commands no longer carry a [t] autocomplete tag. --no-extensions also disables the built-in extensions, including the llama.cpp provider. Load one explicitly with -e builtin:<name>, for example pi -ne -e builtin:mcp. Tool calls without a custom call renderer, including direct MCP tool calls, now show their arguments: as key=value pairs on the title line when collapsed and one key: value line per argument when expanded. MCP calls are titled server/tool and their results collapse to 5 lines. bash and powershell structured results, which codemode scripts receive, now hold up to 1 MiB of output instead of the model-facing 2000 lines or 50KB, and add truncated and full_output_path. Longer output keeps its first and last 512 KiB. Empty output is "" instead of (no output).
Fixed
Fixed X11 clipboard text being misidentified as an image when the clipboard owner accepts unadvertised image targets (#9786). Prevented managed git packages from automatically installing Pi peer dependencies and added warnings for extension packages that list host-provided modules in dependencies (#9863). Fixed pinned git extensions loaded with -e continuing to use the first downloaded commit after the ref changes (#9982). Fixed RpcClient skipping the next event listener when a listener unsubscribes while handling an event, which could make waitForIdle() time out after collectEvents() (#9990). Fixed full-file read calls rendering as :1 when models send null for omitted offset and limit (#9996). Fixed new sessions being lost when pi exits before the first assistant response. The session file is now created when the first user message is sent (#10000). Fixed unloaded llama.cpp autoload presets overwriting a cached runtime context window with the GGUF training context (#10077, #10158 by @cristinaponcela). Fixed custom themes ignoring terminal.trueColor and other terminal capability overrides and rendering with 256 colors (#9973, #10039 by @christianklotz). Fixed pasting files copied in Finder inserting the file icon image instead of the file paths; paths are quoted in bash mode (#9999, #10136 by @christianklotz). Fixed the startup header, loaded resources, and chat notices keeping their old colors after a theme change. Fixed the Fireworks default model pointing at the removed Kimi K2.6 model; it now defaults to Kimi K3. Fixed the OpenCode Go default model pointing at the removed Kimi K2.6 model; it now defaults to Kimi K3. Fixed the Together default model pointing at the removed Kimi K2.6 model; it now defaults to Kimi K3. Reduced CPU use while streaming in long sessions and when previewing themes: the footer caches session usage totals, collapsed bash results cache their preview, and sanitizeBinaryOutput() no longer splits output into per-character arrays. Fixed the usage of tools called through ctx.executeTool(), for example from codemode scripts, being dropped from the session cost; it is now added to the calling tool's result usage. Fixed inherited /skill autocomplete appearing empty when loaded skill names did not contain the letters in skill (#9944). Fixed inherited path and @ autocomplete not working after opening wrappers such as (, [, {, <, or a backtick. Fixed inherited image stretching in terminals that use the Kitty graphics protocol (#8938, #9957 by @rwachtler). Fixed inherited shell cursor staying hidden after exit when an extension closed an overlay during shutdown (#10026). Fixed inherited keyboard input being lost after a mouse click in a /settings submenu closed it. Fixed inherited 1-hour Anthropic cache writes through Vercel AI Gateway being priced at the 5-minute rate (#9210). Fixed inherited model-level samplingParams being dropped by direct stream()/complete() calls on OpenAI-compatible APIs (#9506). Fixed inherited Mistral GLM requests failing with "Expected at most one leading ThinkChunk" after empty content deltas (#9674). Fixed inherited OpenAI Fast mode requests being priced at the standard rate (#10034). Fixed inherited Mistral reasoning models ignoring the requested thinking level (#9678). Fixed inherited OpenCode Zen and OpenCode Go qwen3.8-flash thinking being replayed as plain text on later turns (#10047). Fixed inherited OpenAI Responses streams from servers that omit output_index, such as llama.cpp, running mixed-up tool calls; such streams now end with an error (#9974). Fixed inherited Anthropic and OpenAI Codex browser sign-in waiting indefinitely after the provider redirected with an authorization error, and Anthropic sign-in failing when its callback port is in use. Fixed inherited GitHub Copilot Claude Opus 5.5 offering unsupported thinking levels when upstream model metadata is incomplete.
原文入口
阅读原文(pi.dev)原文将在新窗口打开。收录时间不是内容更新时间;正文、译文与解读的版权归原作者/来源所有,本站仅作个人阅读辅助并保留原文入口;页面时间均为北京时间。
了解来源批准与收录规则