INDEX / NO.028 — 2026.08.05 — 产品分析

Pi Coding Agent:8.2 万 Star,适合谁?

截至 2026 年 8 月 3 日,Pi 仓库已有 8.2 万以上 Star、1 万以上 Fork。npm Downloads API 返回的最近一周下载量约为 170.6 万次。

截至 2026 年 8 月 3 日,Pi 仓库已有 8.2 万以上 Star、1 万以上 Fork。npm Downloads API 返回的最近一周下载量约为 170.6 万次。

这些数字足以说明 Pi 已经获得大量关注。

现在 Coding Agent 已经很多了,每款产品都能读代码、改文件、跑测试。Pi 还有什么不同,谁会选择它?

经过研究我的判断是:Pi 已经具备完整的日常开发循环,可以直接作为 Coding Agent 使用,但它没有替用户固定一套成熟工作流。已经对模型、上下文和工具执行形成明确意见的人,能从这种控制权中获益;第一次使用 Coding Agent,或者更看重默认安全边界的人,选择其他产品通常更直接。

判断 Coding Agent 是否适合自己,需要看六个问题:它能不能完成日常开发、谁定义工作流、模型是否开放、工作流怎样修改、默认安全边界如何,以及用户要承担多少配置和维护成本。

Pi 能给你什么

开箱即用

安装 Pi 后,进入项目目录运行 pi,就可以让它理解代码库、修改文件、执行测试和处理 Git。它会读取项目里的 AGENTS.md,自动保存会话,也支持上下文压缩、历史恢复和会话分支。

Pi 操作并修改网站

官网演示:操作并修改网站。

对日常代码任务来说,Pi 已经具备“读代码、修改、验证、继续修正”的完整循环,不需要用户先搭建自己的 Agent 框架。

不绑定模型,可以随时切换

Pi 还有一个很实用的特点:模型不被单一厂商绑定。

官网公布支持 15 家以上 Provider、数百个模型,包括 Anthropic、OpenAI、Google、OpenRouter、Ollama 等。

用户可以在同一个会话中切换模型;兼容 API 可以通过配置接入,非标准 API 或 OAuth 流程还可以通过 Extension 注册。

Pi 在会话中切换模型

官网演示:在会话中切换模型。

会话树

会话也不是只能向前滚动的一条聊天记录。

Pi 把历史保存为树,用户可以回到早期节点,从那里尝试另一种实现,同时保留原来的分支。

接近上下文上限时,Pi 会压缩较老的内容,原始历史仍留在会话文件中。

Pi 的会话树、分支与分享

官网演示:会话树、分支与分享。

这些能力已经足以把 Pi 当作日常 Coding Agent 使用。

官网明确写出的“六个不做”

Pi 官网有一个很直接的栏目:What we didn’t build

它列出六类没有内置进核心的能力,并为每一项给出替代路径:

Pi 不内置什么官网给出的替代方式
MCP使用带 README 的 CLI 和 Skill,或用 Extension 增加 MCP 支持
Sub-agent通过 tmux 启动多个 Pi,自己做 Extension,或安装相应 Package
内置的工具执行权限弹窗在容器中运行,或按环境和安全要求实现确认流程
Plan Mode把计划写入文件,自己做 Extension,或安装 Package
内置 Todo使用 TODO.md,或自己实现待办功能
后台 Bash使用 tmux,保留完整可见性和直接交互

官网对这六项的总解释是:Pi 要保持核心最小,同时允许用户按照自己的工作方式塑造它。官网把这套思路称为 Primitives, not features,即提供基础构件,而不是预先固定所有功能。

这些选择并非都来自抽象的极简主义。

Mario 在介绍 Pi 的设计文章中写得更具体。

他认为,内置 Todo 会增加模型需要维护的状态,简单的 TODO.md 更透明;Plan Mode 可以落到 PLAN.md,既能跨会话使用,也能进入版本管理;大量 MCP 工具描述会提前占用上下文,按需读取 README 再调用 CLI,更符合渐进加载;后台进程交给 tmux,用户可以看到输出,也能直接进入会话操作。

对于 Sub-agent,他也不是认为永远没有使用场景。Pi 可以通过 Bash 启动另一个 Pi,或者通过 Extension、Package 实现自己的编排。作者反对的是把一种 Sub-agent 工作流固定成所有用户都必须接受的默认实现。

这里可以看出 Pi 的真正取舍:它没有否认这些需求,而是不替用户决定唯一实现。

这套思路也体现在项目上下文上。Pi 启动时加载 AGENTS.md 等项目上下文;Skills 则按需进入上下文,不必预先塞入全部工具说明。

Pi 加载 Skills 和项目指令

官网演示:加载 Skills 和项目指令。

Pi 最有辨识度的能力,是修改 Pi 自己

Pi 官网首页的主张是:

Adapt Pi to your workflows, not the other way around.

意思是让 Pi 适应你的工作方式,而不是反过来迁就产品。

Pi 的 Extension 是 TypeScript 模块,可以增加工具、命令、快捷键和终端界面,也可以监听模型调用、工具执行、会话切换和上下文压缩。改完以后运行 /reload,不必退出当前工作就能继续测试。

例如,你可以让 Pi:

  • 修改 .env 前强制确认;
  • 每次改代码前建立 Git 检查点;
  • 接入团队内部工具;
  • 加一个自己习惯的状态栏或文件选择器;
  • 换一种上下文压缩和长期记忆方式。

官网甚至直接演示了让 Pi 编写一个带自定义终端界面的 commit/push 工作流 Extension。

Pi 构建自定义工作流扩展

官网演示:构建自定义工作流 Extension。

不想自己从头写,也可以从 npm 或 Git 安装 Pi Package。第三方 Package 同样拥有较高系统权限,安装前需要检查源码。

这类能力与修改 Prompt 不同。Prompt 可以提醒模型“小心操作”,Extension 则可以在工具执行前检查、修改或阻断调用。规则不只留在文字里,还能进入实际执行过程。

但这不等于 Extension 是安全沙箱。它与 Pi 宿主进程拥有相同权限,修改后的参数也需要扩展作者自己负责。Pi 给出的首先是修改 Harness 的控制权,而不是一套已经替用户审查好的扩展生态。

Pi、OpenCode 和 Codex 怎么选

问题不在谁的功能更多,而在产品替用户决定了多少工作流。

Pi、OpenCode 与 Codex 的六项选型比较

基于默认工作流和维护责任的作者判断,不代表同一任务的实测效率。

OpenCode 内置 Plan、多个子 Agent 和更丰富的工具,支持按 Agent 覆盖权限,也能按 Bash 命令模式设置允许、询问或拒绝。希望安装后先获得一套较完整的计划、探索、子任务和权限机制,可以优先比较 OpenCode。

Codex 把沙箱模式、网络访问和审批策略做成正式配置。在 Auto 预设下,Codex 默认关闭网络访问,并把写入限制在工作区;编辑工作区外文件或联网需要审批。非版本控制目录默认推荐只读模式。重视 OpenAI 模型与运行时结合,以及默认执行边界,可以优先比较 Codex。

Pi 的优势是模型路线开放、默认核心较少,Extension 可以深入修改工具执行和上下文处理。它更适合已经使用过其他 Coding Agent,能够说清楚自己不满意哪些默认行为的人。

控制权不是免费的

Pi 最大的使用边界是安全。

官方文档明确说明,它没有内置沙箱,默认继承当前用户权限。模型可以读写文件和执行 Shell,Extension 也以同样权限运行。Project Trust 可以在加载项目本地设置、扩展等资源前询问是否信任项目,但它不是工具执行审批机制,也不是沙箱,不限制模型之后要求工具执行什么。

在可信代码库中由开发者盯着运行,和在陌生仓库中无人值守,是两种不同风险。后一种情况需要容器、虚拟机、微型 VM 或其他操作系统级隔离。第三方 Package 和 Extension 也应在安装前检查源码。

第二项代价来自环境依赖。Pi 把很多能力交给 bash,命令能否执行、可以访问什么,以及能否在另一台机器复现,会受到操作系统、已安装 CLI、PATH、权限和项目环境影响。

第三项代价是长期维护。深度定制以后,团队需要维护自己的 Extension 和规则。

Pi 最初由 Mario Zechner 开发。2026 年 4 月,Mario 加入 Earendil,Pi 的所有权转至 Earendil。Mario 是公司股东,并与 Armin、Colin 共同负责 Pi 的项目决策。Earendil 已承诺 Pi 核心继续采用 MIT 许可证,但也说明未来可能在核心之上提供 Fair Source 增值能力和闭源企业或云服务。Mario 在 2026 年 4 月 8 日的说明中称,Fair Source 与专有第 2、3 层当时尚未建成。准备长期采用的团队仍需继续观察边界如何划分。

谁值得试试 Pi

如果你第一次使用 Coding Agent,希望产品先提供计划、探索、子任务和权限机制,Pi 未必是最省事的起点。

如果你已经反复修改 Prompt、项目规则和模型配置,仍然受制于 Harness 的默认行为,Pi 值得试用。尤其是这些情况:

  • 希望在同一会话切换不同厂商模型;
  • 想准确控制哪些内容进入上下文;
  • 希望项目规则进入工具执行,而不只停留在 Prompt;
  • 愿意阅读文档并维护少量 Extension;
  • 想把 Coding Agent 嵌入自己的应用。

Pi 值不值得用,最后取决于你如何理解“功能少”。

如果它意味着缺少你每天都要使用的成熟预设,Pi 会增加工作量。如果它意味着产品没有强迫你接受一套固定工作流,Pi 提供了一种少见的控制权。

Pi 真正提供的产品价值,是一个已经能工作、又允许继续修改的 Agent Harness。对已经知道自己要改什么的人,这正是它值得尝试的理由。

进阶:把 Pi 嵌入自己的 Agent

Pi 提供 TUI、Print、JSON、RPC 和 Node.js SDK。它的 SDK、RPC 和 Agent Core 组件可以嵌入其他应用,用于承载模型调用、工具调用和会话管理。

OpenClaw 早期公开架构建立在 Pi 的组件和设计之上。当前 OpenClaw 已经拥有自己的内置 Runtime,Agent Loop、会话和工具策略进入了自己的代码;外部依赖仍保留 @earendil-works/pi-tui。这个变化也说明,Pi 可以作为 Agent 产品的起点,但上层系统发展出渠道、多用户和治理需求以后,团队仍可能需要掌握自己的 Runtime。

若要把 Pi 做成多用户平台,消息渠道、调度、用户隔离、凭据治理和审计通常仍需由上层系统处理。这是 Pi 的能力上限,也是它与完整 Agent 应用之间的边界。

参考资料

扫码关注公众号
扫码关注公众号
扫码加群交流
扫码加群交流