乐于分享
好东西不私藏

66K Star 的 AI 编程助手 Pi 发布 v0.80.3:Claude Sonnet 5、外部编辑器与更开放的 RPC

66K Star 的 AI 编程助手 Pi 发布 v0.80.3:Claude Sonnet 5、外部编辑器与更开放的 RPC

Claude Sonnet 5 · 外部编辑器 · RPC · v0.80.3 —— 全能 AI 编程助手 Pi 在最新版同时扩展了模型选择边界、编辑器集成深度和远程调用能力。

Pi:AI 编程助手的全能工具箱

Pi(earendil-works/pi)是一个 TypeScript 编写的 AI agent 工具包, 66K+ Stars。它不是一个简单的「AI 编码助手」——它更像一个能装进任何场景的 agent 运行时。核心分为四层:

pi-ai:统一多供应商 LLM 接口,支持 OpenAI、Anthropic、Google 等十余家

pi-agent-core:带工具调用的 agent 运行时

pi-tui:差分渲染终端 UI

pi-coding-agent:交互式编码 CLI

四个包可以独立使用,也可以组合成一个具备会话管理、上下文压缩、分支摘要和 扩展系统的完整环境。它兼容 Node ≥ 22.19,支持 OAuth 订阅 (ChatGPT/Claude Pro/GitHub Copilot)和 API Key 直连两种鉴权模式。

三个场景,一次升级全部覆盖

用 AI 编程工具的人通常有这三类痛点。

模型选择焦虑。 Claude Sonnet 性能好但限量,GPT-5.5 发布后也想试试, 切换工具的成本让人望而却步。

编辑器偏好。 不是所有开发者都喜欢在终端里写长提示——有人习惯 Vim、 有人喜欢 VS Code 里 Ctrl+G 跳出去编辑,而 Pi 之前的 Ctrl+G 只能靠 $VISUAL / $EDITOR 环境变量兜底,不够灵活。

自动化与集成。 RPC 模式提供 JSONL 协议的头less 调用,但此前只能 发起 prompt、查状态,拿不到完整的会话快照和历史记录,限制了构建外围工具 (比如 CI 流程、自动化脚本、IDE 插件)的能力。

v0.80.3 一次性回应了这三个痛点。

一版三新:模型、编辑与远程操作的落地方式

Claude Sonnet 5 即开即用。 Pi 的 provider 系统自带继承机制——Anthropic 和 Bedrock provider 在发布后自动获得了 Sonnet 5 的模型元数据,用户只需在 交互模式中用 /model 切换或通过 --model anthropic/claude-sonnet-5 指定 即可。自适应思考(adaptive thinking)也一并继承,预算 token 可按 thinkingBudgets 配置项自定义。对于想尝鲜 Anthropic 最新模型又不愿换工具 的开发者,这几乎是零成本切换。

externalEditor 配置项打破终端边界。settings.json 中添加 "externalEditor": "code --wait" 后,Ctrl+G 会直接打开 VS Code 等待编辑 完成。设置优先级高于 $VISUAL / $EDITOR 环境变量,且可跨项目覆盖。 Windows 用户默认 fallback 到 Notepad,其他平台默认 fallback 到 nano。 这个改动虽然小,但对习惯图形编辑器的大型代码修改场景,省去了 「在终端里艰难滚动」的体验。

RPC 新增两条会话操作命令。 get_entries 返回会话中的全部 Entry 列表 (含工具调用、用户消息、系统通知等),get_tree 则提供了会话树状快照—— 每个节点的模型、tokens、状态一目了然。结合已有的 promptstopresume 等命令,现在可以构建一个「能够理解会话全貌」的外部 Client。Pi 还新增了 ./rpc-entry 导出包,支持在代码中直接启动 RPC 模式,而无需走子进程。

其他实用改进。 outputPad 控制用户消息、助手消息和思考块的横向内边距, 对主题美化和信息密度有要求的用户可以自行调优。Azure OpenAI Responses provider 也更新了对现代 Microsoft Foundry 端点的支持。

继承式 Provider 架构与扩展系统

Pi 的 provider 层没有用硬编码模型表。核心在 packages/ai 中的 models.ts 和继承逻辑——每个 provider 定义基础能力(端点、鉴权、支持的参数),模型元数据 则通过「继承」机制从上游 provider 获取。这意味着 Anthropic 发布 Sonnet 5 后, Pi 的 Anthropic-compatible provider 会自动匹配其模型 ID、context window 大小、 定价和参数约束。v0.80.3 中对 Sonnet 5 的「adaptive thinking」支持也是通过 这一层注入的:在 Anthropic 和 Bedrock provider 的请求构建中加入 thinking 字段和 clear_thinking 标记,确保推理内容能被正确序列化并在后续请求中参与 provider 缓存。

RPC 的新增能力则得益于 session-manager.tsagent-session.ts 中对会话 Entry 类型的结构化设计。每条 Entry 自带 type、timestamp、关联 message, 在 UI 层之外维护了一份可序列化的副本。get_tree 只是把会话树形索引公开到 JSONL 协议中,背后并没有新增数据结构。

扩展系统的 session_info_changed 事件则展示了 Pi 对插件生态的持续投入。 扩展可以通过监听这个事件,在会话重命名时做同步操作 (如更新标题栏、写入外部日志),无需轮询。

关于修复。 本版最大的结构修复在 compaction 侧:修复了 「预压缩后立即继续执行」导致上下文指针错位的问题,以及扩展 tool 变更在 agent 运行中未正确生效的错误。这些修复对长期使用 Pi 做复杂任务的用户很 重要——减少了因压缩逻辑瑕疵引发的「幻觉式重复」或语义断裂。


整体来说,v0.80.3 是一个「广度升级」——不聚焦单一特性,而是同时拓宽模型选择、 编辑器集成和远程控制三个维度的能力。开发者升级后能感知到的变化比较分散, 但每个改动都指向一个具体的使用场景。如果你已经在用 Pi 做日常编码,这个版本 值得花几分钟升级并体验一下 Ctrl+G 跳转到 VS Code 的顺畅感;如果你还没试过 Pi,现在接入 Claude Sonnet 5 和 GPT-5.5 的门槛比以往更低。