发布日期: 2026-07-24
版本号: v0.82.0

本次更新引入了多项重要功能与改进。新特性包括支持工具进行严格的JSON Schema采样或OpenAI Lark/正则表达式语法约束,并提供了模型能力元数据以防止不支持的请求;现在可以通过/login命令授权登录OpenRouter或订阅Kimi Code,无需手动配置API密钥;Bash工具现可接收当前会话和模型元数据,同时直接RPC的Bash命令支持流式输出相关事件。新增内容方面,在多个AI提供商(如OpenAI、Anthropic、Gemini等)中实现了继承的工具约束采样功能,并添加了兼容性标志以控制该功能;集成了Kimi Code和OpenRouter的OAuth登录流程;将多个会话和模型环境变量暴露给命令执行环境;并为RPC的Bash命令添加了流式更新事件。此外,模型目录现在仅显示经提供商验证的推理努力级别。修复了多项问题,包括DNS查找失败时的自动重试、OpenRouter与Anthropic缓存断点问题、OpenAI Codex WebSocket会话重试逻辑、TUI日志路径、外部编辑器启动速度、启动时的资源显示路径、自更新机制、带括号的模型ID匹配、提供商重试延迟处理、模型目录更新优先级、编辑器滚动条显示、llama.cpp模型输出限制、源码包生成、依赖安全更新,以及在Wayland环境下/copy命令的回退处理和模型选择器的配置重载。

更新内容 (中文)

新功能

  • 受限工具采样 — 工具可偏好或要求严格的JSON Schema采样,或使用OpenAI Lark/正则表达式语法,同时模型能力元数据可防止不支持的请求。参见工具受限采样
  • OpenRouter与Kimi Code登录 — 使用/login授权OpenRouter或Kimi Code订阅,无需手动配置API密钥。参见OpenRouter
  • 会话感知的流式Bash集成 — Bash工具接收当前会话/模型元数据,而直接RPC Bash命令可流式传输关联输出。参见Bash工具会话环境RPC bash事件

新增

  • 新增继承的Tool.constrainedSampling功能,支持严格的JSON Schema(prefer/require)以及OpenAI Lark/正则表达式语法变体,覆盖OpenAI、Anthropic、Amazon Bedrock、Google Gemini和Mistral。参见工具受限采样
  • 新增继承的supportsGrammarToolssupportsStrictTools兼容性标志,扩展了supportsStrictMode覆盖范围,并生成模型能力元数据以控制受限采样。
  • 为Kimi For Coding提供商新增继承的Kimi Code订阅OAuth登录,包括设备授权和自动令牌刷新(#6935,由@zaycruz贡献)。
  • 通过/login新增继承的OpenRouter OAuth PKCE登录,可生成用户控制的API密钥。参见OpenRouter#6927,由@rsaryev贡献)。
  • 向内置和工厂创建的Bash工具执行的命令公开PI_SESSION_IDPI_SESSION_FILEPI_PROVIDERPI_MODELPI_REASONING_LEVEL。参见Bash工具会话环境
  • 为直接RPC Bash命令新增流式bash_execution_update事件,并与请求ID关联。参见RPC bash事件#6971,由@ananthakumaran贡献)。

变更

  • 变更继承的生成模型目录,仅暴露来自models.dev的经提供商验证的推理努力级别(#6928,由@davidbrai贡献)。

修复

  • 修复继承的DNS查找失败(如getaddrinfoENOTFOUNDEAI_AGAIN)以触发自动助手重试(#6946,由@christianklotz贡献)。
  • 修复继承的OpenRouter Anthropic缓存断点以在工具结果中推进,并为~anthropic/*-latest别名启用缓存控制(#6941,由@mteam88贡献)。
  • 修复继承的OpenAI Codex WebSocket会话,在previous_response_not_found错误后重试一次,不带缺失的先前响应续接(#6955,由@davidbrai贡献)。
  • 修复TUI调试和崩溃日志以尊重自定义代理目录,而不是始终写入~/.pi/agent#6958,由@davidbrai贡献)。
  • 修复系统临时目录包含大量条目时Ctrl+G外部编辑器启动缓慢的问题(#6903,由@christianklotz贡献)。
  • 修复启动资源显示,以保留包加载的同级npm扩展的相对路径(#6964,由@davidbrai贡献)。
  • 修复压缩和分支摘要请求以使用新的路由会话ID,并在支持的情况下禁用提示缓存(#6618,由@tmustier贡献)。
  • 修复在设置PI_SKIP_VERSION_CHECK时的显式自更新(#6977)。
  • 修复包含括号的有范围模型ID,使其在全局匹配之前解析为精确字面匹配(#6210)。
  • 修复继承的OpenAI和Anthropic提供商重试等待以遵循中止信号和配置的延迟限制(#6980,由@petrroll贡献)。
  • 修复新安装倾向于首选打包模型目录而非较新的远程目录,因为包文件修改时间较新(#7016,由@davidbrai贡献)。
  • 修复继承的编辑器滚动指示器在窄终端中溢出(#7015,由@christianklotz贡献)。
  • 修复llama.cpp模型使用加载的上下文窗口作为其输出令牌限制,而不是将其上限设为16K(#7034,由@christianklotz贡献)。
  • 修复发行版源代码归档以包含用于构建独立二进制文件的生成提供商模型数据。
  • 更新打包的protobufjs依赖项至7.6.5,以解决GHSA-j3f2-48v5-ccww(#7005)。
  • 修复Wayland上的/copy命令,在wl-copy失败时回退到X11或OSC 52(#7009,由@rkfshakti贡献)。
  • 修复/model命令在打开模型选择器时重新加载更新的models.json配置(#6999)。

更新内容 (原始)

New Features

  • Constrained tool sampling — Tools can prefer or require strict JSON Schema sampling or use OpenAI Lark/regex grammars, with model capability metadata preventing unsupported requests. See Constrained Sampling for Tools.
  • OpenRouter and Kimi Code sign-in — Use /login to authorize OpenRouter or a Kimi Code subscription without manually configuring API keys. See OpenRouter.
  • Session-aware, streaming bash integrations — Bash tools receive current session/model metadata, while direct RPC bash commands stream correlated output. See Bash Tool Session Environment and RPC bash events.

Added

  • Added inherited Tool.constrainedSampling with strict JSON Schema (prefer/require) and OpenAI Lark/regex grammar variants across OpenAI, Anthropic, Amazon Bedrock, Google Gemini, and Mistral. See Constrained Sampling for Tools.
  • Added inherited supportsGrammarTools and supportsStrictTools compatibility flags, expanded supportsStrictMode coverage, and generated model capability metadata to gate constrained sampling.
  • Added inherited Kimi Code subscription OAuth login for the Kimi For Coding provider, including device authorization and automatic token refresh (#6935 by @zaycruz).
  • Added inherited OpenRouter OAuth PKCE login through /login, minting a user-controlled API key. See OpenRouter (#6927 by @rsaryev).
  • Exposed PI_SESSION_ID, PI_SESSION_FILE, PI_PROVIDER, PI_MODEL, and PI_REASONING_LEVEL to commands run by built-in and factory-created bash tools. See Bash Tool Session Environment.
  • Added streaming bash_execution_update events for direct RPC bash commands, correlated with request IDs. See RPC bash events (#6971 by @ananthakumaran).

Changed

  • Changed inherited generated model catalogs to expose only provider-verified reasoning effort levels from models.dev (#6928 by @davidbrai).

Fixed

  • Fixed inherited DNS lookup failures such as getaddrinfo, ENOTFOUND, and EAI_AGAIN to trigger automatic assistant retries (#6946 by @christianklotz).
  • Fixed inherited OpenRouter Anthropic cache breakpoints to advance through tool results and enabled cache control for ~anthropic/*-latest aliases (#6941 by @mteam88).
  • Fixed inherited OpenAI Codex WebSocket sessions to retry once without a missing previous-response continuation after previous_response_not_found errors (#6955 by @davidbrai).
  • Fixed TUI debug and crash logs to respect custom agent directories instead of always writing under ~/.pi/agent (#6958 by @davidbrai).
  • Fixed slow Ctrl+G external-editor startup when the system temporary directory contains many entries (#6903 by @christianklotz).
  • Fixed startup resource display to preserve relative paths for sibling npm extensions loaded by a package (#6964 by @davidbrai).
  • Fixed compaction and branch-summary requests to use fresh routing session IDs with prompt caching disabled where supported (#6618 by @tmustier).
  • Fixed explicit self-updates when PI_SKIP_VERSION_CHECK is set (#6977).
  • Fixed scoped model IDs containing brackets to resolve as literal exact matches before glob matching (#6210).
  • Fixed inherited OpenAI and Anthropic provider retry waits to honor abort signals and configured delay limits (#6980 by @petrroll).
  • Fixed fresh installs from preferring bundled model catalogs over newer remote catalogs because package file mtimes were newer (#7016 by @davidbrai).
  • Fixed inherited editor scroll indicators overflowing narrow terminals (#7015 by @christianklotz).
  • Fixed llama.cpp models to use the loaded context window as their output token limit instead of capping it at 16K (#7034 by @christianklotz).
  • Fixed release source archives to include the generated provider model data used to build standalone binaries.
  • Updated the packaged protobufjs dependency to 7.6.5 to address GHSA-j3f2-48v5-ccww (#7005).
  • Fixed /copy on Wayland to fall back to X11 or OSC 52 when wl-copy fails (#7009 by @rkfshakti).
  • Fixed /model to reload updated models.json configuration when opening the model picker (#6999).

下载链接