截至 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 已经具备“读代码、修改、验证、继续修正”的完整循环,不需要用户先搭建自己的 Agent 框架。
不绑定模型,可以随时切换
Pi 还有一个很实用的特点:模型不被单一厂商绑定。
官网公布支持 15 家以上 Provider、数百个模型,包括 Anthropic、OpenAI、Google、OpenRouter、Ollama 等。
用户可以在同一个会话中切换模型;兼容 API 可以通过配置接入,非标准 API 或 OAuth 流程还可以通过 Extension 注册。

官网演示:在会话中切换模型。
会话树
会话也不是只能向前滚动的一条聊天记录。
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 则按需进入上下文,不必预先塞入全部工具说明。

官网演示:加载 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。

官网演示:构建自定义工作流 Extension。
不想自己从头写,也可以从 npm 或 Git 安装 Pi Package。第三方 Package 同样拥有较高系统权限,安装前需要检查源码。
这类能力与修改 Prompt 不同。Prompt 可以提醒模型“小心操作”,Extension 则可以在工具执行前检查、修改或阻断调用。规则不只留在文字里,还能进入实际执行过程。
但这不等于 Extension 是安全沙箱。它与 Pi 宿主进程拥有相同权限,修改后的参数也需要扩展作者自己负责。Pi 给出的首先是修改 Harness 的控制权,而不是一套已经替用户审查好的扩展生态。
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 应用之间的边界。
参考资料
- Pi 官网
- Pi Quickstart
- Pi Security
- Pi Extensions
- Pi npm 页面
- Pi GitHub 仓库
- Mario Zechner:What I learned building an opinionated and minimal coding agent
- Mario Zechner:I’ve sold out
- Armin Ronacher:Pi: The Minimal Agent Within OpenClaw
- OpenClaw:Agent runtime architecture
- Earendil RFC 0015:Pi Licensing
- OpenCode Agents
- OpenCode Permissions
- OpenAI Codex:Agent approvals and security