黄奕彬

外部精选

Pi 0.84.2

本文来自外部来源,不是黄奕彬的原创文章。本站提供原文入口,并在采集端生成 AI 结构化摘要、解读与中文翻译(如有),一切以原文为准。

阅读原文(pi.dev)
来源
Pi Changelog ↗
作者 / 署名
未标注
发布日期
本站收录时间
原文域名
pi.dev

以上时间均为北京时间;来源更新时间由来源提供,不代表首次发布时间。

结构化摘要 AI 生成

背景与问题

本文是 Pi 编码代理 0.84.2 版本的官方发布说明,面向该工具的使用者与贡献者,要解决的问题是:告知用户本版本新增了哪些功能、做了哪些行为变更、修复了哪些缺陷,以及涉及哪些新设置、快捷键与环境变量。发布日期为 2026-08-14(北京时间),同步发布到 GitHub release 与 npm。

方法或内容

内容为分节式变更清单,包括:

  • New Features:三项主打功能
  • Added:10 项新增能力
  • Changed:5 项实现与行为变更
  • Fixed:二十余项缺陷修复

每条注明涉及的设置、快捷键、环境变量,部分条目附贡献者 handle 与议题编号,并指向相关文档章节(如 TUI Fullscreen Viewport、Tools、Interactive Mode)。

关键发现 / 结果

  • 新功能三项:全屏转录搜索(Ctrl+Shift+F 触发,Enter/Ctrl+G 与 Shift+Enter/Ctrl+Shift+G 前后导航);可配置默认工具(defaultTools,全局或按项目);可配置全屏退出输出(打印完整转录或仅会话恢复提示)
  • 新增实验性严格 JSON-schema 约束采样,覆盖默认 read/bash/edit/write 工具,需 PI_EXPERIMENTAL=1
  • 新增 --use-theme <name[/name]> 参数与 PI_TUI_ESC_TIMEOUT 环境变量
  • 变更:Mistral SDK 传输替换为原生 Chat Completions HTTP 流,消除生成客户端与 schema 运行时开销
  • 修复二十余项:nanoid 传递依赖 DoS 漏洞、OpenAI Responses 流式丢命名空间、DeepSeek/Bedrock/Google 兼容性、Copilot 登录限流、SSH 下 Alt+Enter 误判、全屏复制等

结论与意义

0.84.2 是一次以稳定性和可配置性为主的维护版本:强化全屏 TUI 体验(搜索、鼠标、滚动、剪贴板)、扩展工具与主题配置、提升多家模型供应商兼容性,并修补一个安全漏洞(nanoid)。适用边界:部分能力为实验性(PI_EXPERIMENTAL=1)或标注 inherited;部分行为依赖终端能力(如 OSC 52)。原文未给出作者的评论性结论。

AI 解读 AI 生成

方法:按「时空变量」分析(时间 / 空间 / 变量,严格区分包含、相关与因果),对象包括原文作者、署名人员与关键技术及其实际原理;结论用「元反空」(元思考、反思考、空思考、综合)整理。

时间:何时发生,现在是否仍成立

来源日期为 2026-08-14(UTC),对应北京时间 2026-08-14 08:00 前后发布的 0.84.2。内容描述该时点的版本快照:对 0.84.2 本身持续成立;后续版本可能继续变化(多条条目标注 inherited,且实验性开关下的功能可能调整或移除)。原文未说明下一版本计划。

空间:谁的环境 / 场景

适用于 Pi 编码代理 0.84.2(npm 包与 GitHub release)。典型场景:

  • TUI 全屏模式:搜索、鼠标展开、拖拽选择、链接激活、覆盖层滚动
  • 多家模型供应商:OpenAI Responses/Codex、DeepSeek、Mistral、Kimi Coding、Google Generative AI/Vertex AI、Amazon Bedrock、GitHub Copilot
  • 网关与集成:Cloudflare AI Gateway(Workers AI binding)、JSON/RPC 事件模式、扩展与 SDK
  • SSH/高延迟终端(PI_TUI_ESC_TIMEOUT)

变量:实际改变了什么

  • 新设置:defaultTools(初始内置工具选择)、全屏退出输出选项、搜索匹配主题色
  • 新参数/环境变量:--use-theme <name[/name]>、PI_EXPERIMENTAL=1、PI_TUI_ESC_TIMEOUT,并文档化 AI_AGENT=pi 与 PI_CODING_AGENT=true 的区别
  • 实现变更:Mistral 传输改为原生 HTTP 流;Kimi Coding 请求改用 pi 运行时 User-Agent;全屏渲染直接绘制整行以减少分配
  • 行为修复:如 pi.sendMessage(..., { triggerTurn: false }) 不再劫持活动运行;剪贴板复制失败时如实报告而非声称成功

区分:包含 ≠ 相关 ≠ 因果

明确因果(原文写明修复手段):先挂载 TUI 再显示下载进度,以解决托管工具下载拖慢启动并隐藏诊断;通过限制并发策略更新缓解 Copilot 登录触发限流。仅为包含/相关:条目间的并列、文档章节引用均不构成因果;多条前缀 inherited 只标注变更来源(原文未说明该前缀确切含义),不含因果证据。

实验性 JSON-schema 采样与四类工具是启用关系(需 PI_EXPERIMENTAL=1),原文未说明其对输出质量的影响。

对象:作者/署名与关键技术原理

作者/署名:原文未标注(结构化作者字段为空);条目中出现的贡献者 handle(如 @rwachtler、@mrexodia、@Maximo-Guk、@christianklotz 等)是变更归属而非本文署名。关键技术(按原文描述):

  • 全屏转录搜索:快捷键触发、增量高亮、可配置匹配主题色、前后导航
  • 严格 JSON-schema 约束采样:对默认 read/bash/edit/write 工具,由实验开关控制
  • 原生 Chat Completions HTTP 流:替代 Mistral SDK 传输,消除生成客户端与 schema 运行时开销
  • createGatewayBindingFetch():经 Workers AI binding 路由 Cloudflare AI Gateway 请求,无需 API token
  • 终端能力:OSC 8 链接、OSC 52 剪贴板、SGR 鼠标释放码

元反空综合结论

元:本质是版本沟通问题——让 Pi 用户知道 0.84.2 改了什么、如何启用与迁移,附议题编号便于追溯。

反:最可能失效或有边界的部分——实验性 JSON-schema 采样(显式标记 experimental);依赖终端能力的功能(OSC 52 剪贴板、SGR 鼠标码、SSH 下键序解析);大量 inherited 条目意味着行为可能随上游演进变化;新增设置与快捷键在未来版本可能调整。

空:去掉叙事后剩下的必要事实是一份逐条变更清单——3 项主打新功能、10 项新增、5 项变更、二十余项修复、1 项安全依赖更新(nanoid DoS),发布于 npm 与 GitHub。

综合:这是一次以修复为主的维护版本,可信度较高(逐条附议题号与贡献者),对 0.84.2 用户有直接操作价值;但不应据此外推实验性特性的长期行为或上游路线,且本文作者身份原文未说明。

中文译文 AI 生成

更新日志发布说明2026 年 8 月 14 日Pi 0.84.2 GitHub 发布npm

新功能

  • 全屏转录搜索 — 在全屏模式下搜索并导航匹配项。参见 TUI Fullscreen Viewport。
  • 可配置的默认工具 — 全局或按项目选择启动时的内置工具。参见 Tools。
  • 可配置的全屏退出输出 — 退出时打印转录内容或仅打印恢复提示。参见 Interactive Mode。

新增

  • 新增针对 thinking 区块与工具结果的逐块全屏鼠标展开,同时保留拖拽选择与链接激活。
  • 新增全屏转录搜索(Ctrl+Shift+F)、增量匹配高亮、可配置的搜索匹配主题颜色,以及使用 Enter/Ctrl+G 与 Shift+Enter/Ctrl+Shift+G 进行下一个/上一个导航。
  • 新增实验性的严格 JSON-schema 约束采样,适用于 PI_EXPERIMENTAL=1 下的默认 read、bash、edit 与 write 工具。
  • 新增全屏退出输出设置,用于在打印最终转录内容与仅打印会话恢复提示之间进行选择。
  • 新增 defaultTools 设置,用于全局或按项目配置初始内置工具选择。
  • 新增 --use-theme <name[/name]>,用于选择每次运行的初始交互主题而不更改已保存的设置(#7722,由 @rwachtler)。
  • 新增扩展 pi.sendUserMessage() 选项中的 expandPromptTemplates,用于显式分发命令并展开 skills 与 prompt 模板。参见 pi.sendUserMessage()(#7857,由 @mrexodia)。
  • 新增继承的 createGatewayBindingFetch(),用于通过 Workers AI binding 路由 Cloudflare AI Gateway 请求而无需 API token(#7901,由 @Maximo-Guk)。
  • 新增继承的 AssistantMessage.endTurn,用于保留 OpenAI Codex 的终端 end_turn 信号以供诊断(#7766)。
  • 新增继承的未绑定单行转录滚动操作,用于全屏模式。参见 TUI Fullscreen Viewport(#7903,由 @midastruth)。

变更

  • 将继承的 Kimi Coding 请求改为使用 pi 的运行时 User-Agent 请求头。
  • 将继承的 Mistral SDK 传输替换为原生 Chat Completions HTTP 流,消除了其生成的客户端与 schema 运行时开销。
  • 补充了通用 AI_AGENT=pi 进程标记及其与 PI_CODING_AGENT=true 区别的文档(#7747)。
  • 将继承的 OpenAI Responses 延迟工具加载改为在支持时优先使用消息锚定的 additional_tools,同时保留 tool-search 与顶层回退(#7709)。
  • 通过直接绘制全宽布局行而非在每帧重新合成,减少了继承的全屏渲染分配抖动。

修复

  • 修复了 skill 目录中的根 Markdown 文件(如 README.md 和 AGENTS.md)在未声明有效 skill frontmatter 时被报告为损坏 skill 的问题(#7805)。
  • 修复了单对象 edit 工具输入校验失败的问题,做法是在 coding-agent 与 harness 的 edit 工具中将其接受为单条编辑的数组(#7835)。
  • 修复了受管工具下载延迟 TUI 启动并在全屏模式下隐藏诊断信息的问题,做法是先挂载 TUI,并在其中显示下载进度与警告。
  • 修复了启动后立即打开模型选择器会取消并重启进行中的模型目录刷新的问题。
  • 修复了继承的 GitHub Copilot 登录在启用模型策略时触发 API 速率限制的问题,做法是限制并发策略更新(#6187)。
  • 修复了全屏转录搜索在手动滚动时回跳到当前匹配项,以及碎片化的鼠标输入泄漏到搜索查询中的问题。
  • 修复了继承的起始于新行的必需 LaTeX 参数被解析为空的问题(#7760)。
  • 更新了传递性的 nanoid 开发依赖,以解决一个拒绝服务漏洞。
  • 修复了扩展工具结果的回退渲染,使其折叠长输出并遵循工具展开(#7979)。
  • 修复了 JSON 与 RPC 的 message_update 事件在流式传输期间丢失累计用量的问题。参见 JSON Event Mode 与 RPC message_update(#7982,由 @christianklotz)。
  • 修复了 pi.sendMessage(..., { triggerTurn: false }) 会引导活动中的运行而非仅记录自定义消息的问题(#8022,由 @cristinaponcela)。
  • 修复了 defaultTools 设置在选择内置默认值时丢弃扩展与 SDK 自定义工具的问题。
  • 修复了 subagent 示例拒绝 tools frontmatter 字段的 YAML 数组语法的问题(#7598,由 @alexsavio)。
  • 修复了 subagent 示例丢弃父会话模型、thinking 与工具配置的问题(#7897,由 @virtuald)。
  • 修复了自定义系统提示将当前工作目录与后续追加的提示内容拼接在一起的问题(#7887,由 @distributedlock)。
  • 修复了继承的 OpenAI Responses 函数与自定义工具调用在流式传输、代理与重放期间丢失命名空间的问题(#7709)。
  • 修复了继承的上游请求缓冲失败不会触发助手自动重试的问题。
  • 修复了继承的内置与自定义 DeepSeek API 模型通过不支持的字段发送输出限制的问题。
  • 修复了继承的 Amazon Bedrock 重放拒绝包含空对象键的工具参数的问题,同时保留所有有效的嵌套值(#7882,由 @muyiyr)。
  • 修复了继承的 DeepSeek 兼容性检测在 base URL 的主机名包含大写字母时的问题(#7933,由 @yearth)。
  • 修复了继承的 Google Generative AI 与 Vertex AI 带工具调用的响应错误地将输出限制或提供方错误的停止视为正常工具使用的问题(#8059)。
  • 修复了继承的全屏鼠标拖拽选择与 OSC 8 链接激活在报告通用 SGR 鼠标释放按键码的终端中的问题(#7963)。
  • 修复了继承的获得焦点的全屏覆盖层不接收鼠标滚轮或视口滚动键(如 PageUp 与 PageDown)的问题(#7894)。
  • 修复了继承的跨行尾拆分的 LaTeX 控制空格导致完整表达式回退为原始源码的问题。
  • 修复了 SSH 下拆分的 Alt+Enter 输入被误读为 Escape 的问题,新增 PI_TUI_ESC_TIMEOUT 用于高延迟终端,并将该超时限制于单独的 Escape 输入(#7899,由 @powerfooI)。
  • 修复了继承的空闲全屏会话在终端失去焦点时重绘并清除文本选区的问题(#7892,由 @terrorobe)。

修复了全屏选区复制功能:改为使用宿主剪贴板,并在不支持 OSC 52 时报告失败而非声称成功(#8110 by @Panoplos)。

展开原文提取正文(采集端自动提取,可能有缺失)

ChangelogRelease notesAug 14, 2026Pi 0.84.2GitHub releasenpmNew Features

Fullscreen transcript search — Search and navigate matches in fullscreen mode. See TUI Fullscreen Viewport. Configurable default tools — Choose startup built-in tools globally or per project. See Tools. Configurable fullscreen exit output — Print the transcript or only a resume hint on exit. See Interactive Mode.

Added

Added per-block fullscreen mouse expansion for thinking sections and tool results, while preserving drag selection and link activation. Added fullscreen transcript search with Ctrl+Shift+F, incremental match highlighting, configurable search match theme colors, and next/previous navigation with Enter/Ctrl+G and Shift+Enter/Ctrl+Shift+G. Added experimental strict JSON-schema constrained sampling for the default read, bash, edit, and write tools under PI_EXPERIMENTAL=1. Added a fullscreen exit output setting to choose between printing the final transcript and only a session resume hint. Added the defaultTools setting for configuring the initial built-in tool selection globally or per project. Added --use-theme <name[/name]> to choose an initial per-run interactive theme without changing saved settings (#7722 by @rwachtler). Added expandPromptTemplates to extension pi.sendUserMessage() options for explicitly dispatching commands and expanding skills and prompt templates. See pi.sendUserMessage() (#7857 by @mrexodia). Added inherited createGatewayBindingFetch() for routing Cloudflare AI Gateway requests through a Workers AI binding without an API token (#7901 by @Maximo-Guk). Added inherited AssistantMessage.endTurn to preserve OpenAI Codex's terminal end_turn signal for diagnostics (#7766). Added inherited unbound single-line transcript scrolling actions for fullscreen mode. See TUI Fullscreen Viewport (#7903 by @midastruth).

Changed

Changed inherited Kimi Coding requests to use pi's runtime User-Agent header. Replaced the inherited Mistral SDK transport with a native Chat Completions HTTP stream, eliminating its generated client and schema runtime overhead. Documented the generic AI_AGENT=pi process marker and how it differs from PI_CODING_AGENT=true (#7747). Changed inherited OpenAI Responses deferred tool loading to prefer message-anchored additional_tools where supported while retaining tool-search and top-level fallbacks (#7709). Reduced inherited fullscreen rendering allocation churn by painting full-width layout rows directly instead of recompositing them on every frame.

Fixed

Fixed root Markdown files such as README.md and AGENTS.md in skill directories being reported as broken skills unless they declare valid skill frontmatter (#7805). Fixed single-object edit tool inputs failing validation by accepting them as one-edit arrays in both coding-agent and harness edit tools (#7835). Fixed managed-tool downloads delaying TUI startup and hiding diagnostics in fullscreen mode by mounting the TUI first and showing download progress and warnings inside it. Fixed opening a model selector immediately after startup cancelling and restarting the in-progress model catalog refresh. Fixed inherited GitHub Copilot login triggering API rate limits while enabling model policies by limiting concurrent policy updates (#6187). Fixed fullscreen transcript search snapping back to the current match during manual scrolling and fragmented mouse input leaking into the search query. Fixed inherited required LaTeX arguments starting on a new line being parsed as empty (#7760). Updated the transitive nanoid development dependency to address a denial-of-service vulnerability. Fixed fallback rendering for extension tool results to collapse long output and honor tool expansion (#7979). Fixed JSON and RPC message_update events dropping cumulative usage during streaming. See JSON Event Mode and RPC message_update (#7982 by @christianklotz). Fixed pi.sendMessage(..., { triggerTurn: false }) steering an active run instead of only recording the custom message (#8022 by @cristinaponcela). Fixed the defaultTools setting dropping extension and SDK custom tools when selecting built-in defaults. Fixed the subagent example rejecting YAML array syntax for the tools frontmatter field (#7598 by @alexsavio). Fixed the subagent example dropping parent session model, thinking, and tool configuration (#7897 by @virtuald). Fixed custom system prompts concatenating the current working directory with later appended prompt content (#7887 by @distributedlock). Fixed inherited OpenAI Responses function and custom tool calls losing namespaces during streaming, proxying, and replay (#7709). Fixed inherited upstream request buffer failures not triggering automatic assistant retries. Fixed inherited built-in and custom DeepSeek API models sending output limits through an unsupported field. Fixed inherited Amazon Bedrock replay rejecting tool arguments that contain empty object keys while preserving all valid nested values (#7882 by @muyiyr). Fixed inherited DeepSeek compatibility detection for base URLs whose hostname contains uppercase letters (#7933 by @yearth). Fixed inherited Google Generative AI and Vertex AI responses with tool calls incorrectly treating output-limit or provider-error stops as normal tool use (#8059). Fixed inherited fullscreen mouse drag selection and OSC 8 link activation in terminals that report generic SGR mouse release button codes (#7963). Fixed inherited focused fullscreen overlays not receiving mouse wheel or viewport scroll keys such as PageUp and PageDown (#7894). Fixed inherited LaTeX control spaces split across line endings causing complete expressions to fall back to raw source. Fixed split Alt+Enter input over SSH being misread as Escape, added PI_TUI_ESC_TIMEOUT for high-latency terminals, and limited that timeout to lone Escape input (#7899 by @powerfooI). Fixed inherited idle fullscreen sessions repainting and clearing text selection when the terminal loses focus (#7892 by @terrorobe). Fixed fullscreen selection copy to use the host clipboard and report failure instead of claiming success when OSC 52 is unsupported (#8110 by @Panoplos).

原文入口

阅读原文(pi.dev)

原文将在新窗口打开。收录时间不是内容更新时间;正文、译文与解读的版权归原作者/来源所有,本站仅作个人阅读辅助并保留原文入口;页面时间均为北京时间。

作者/署名来自原文结构化字段(Atom/RSS/HTML meta/JSON-LD;GitHub release 显示的是发布者账号),未经模型补充。

了解来源批准与收录规则