Pi Coding Agent 的完整生态揭秘
周立志
周立志
ubuntu
2026年7月25日 21:15
河北
在小说阅读器读本章
去阅读
Pi Coding Agent 的完整生态揭秘
阅读时长:10 分钟
一个只有 read、write、edit、bash 四个工具的终端 Agent,拿下了 GitHub 71,000+ 星标——它的背后,是奥地利乡村一位\"退休\"游戏开发者的极简主义反击。
你在用的 AI 编程助手,系统提示词可能已经超过 10,000 个 token。每次你敲下回车,这 10,000 token 都要被计费一遍。
但有一个人觉得这事儿不对。他自己写了一个编程 Agent,系统提示词不到 1,000 token,内置工具只有四个:read、write、edit、bash。
这个工具叫 Pi(pi.dev),目前 GitHub 71,168 星,npm 周下载量持续攀升,被 Flask 作者 Armin Ronacher 公开背书为\"最值得围绕构建的最小化 Agent\"。
如果你还没听说过 Pi,这篇文章就是为你写的——从创作者、到公司、到生态产品,一次讲清楚它的来龙去脉。
一、一个\"退休\"的游戏开发者
Pi 的创作者叫 Mario Zechner,网名 badlogic,奥地利开发者。
如果你做过 Android 游戏开发,这个名字你应该不陌生。
libGDX:他写了一个全球用了几十年的游戏框架
2009 年,Mario 想写 Android 游戏,顺手做了一个框架叫 AFX(Android Effects)。为了让调试不那么痛苦,他又加上了桌面端支持——就这样,libGDX 诞生了。
2010 年 3 月,他将其开源。经过 4 年的打磨,2014 年 libGDX 1.0 正式发布。到今天,它依然是 Java 生态最重要的跨平台游戏框架之一。你可能玩过的《杀戮尖塔(Slay the Spire)》和 Niantic 的《Ingress》,背后都有它的影子。
他还出版了一本《Beginning Android Games》,是早期 Android 游戏开发的经典入门书。
RoboVM:被收购、被关停、被骂惨
Mario 后来加入了 RoboVM,一个将 JVM 字节码 AOT 编译到 iOS 的工具链。他在团队里负责构建调试器。
后来,RoboVM 被 Xamarin 收购,Xamarin 又被微软收购,微软最终关停了 RoboVM。作为当时的开源负责人,Mario 被迫去写那篇\"抱歉,不再开源了\"的公告。结果可想而知——他在社交网络和邮件里被骂得很惨。
问题是,关停 RoboVM 根本不是他的决定。这段经历让他对 VC、创业公司和开源之间的关系,有了非常清醒的认识。说得更直白一点,他被现实教育过。
卖掉 RoboVM 股份后,Mario 搬到了奥地利乡下,\"退休\"了几年。偶尔写写博客,教教编程,日子过得平淡。
直到 2025 年,AI 浪潮让他坐不住了。
二、Pi 的诞生:\"我就是想写一个不会天天改提示词的工具\"
Mario 用 AI 辅助编程已经有三四年了。他的路径和大多数开发者一样:先是复制粘贴到 ChatGPT,然后试了 Copilot(没感觉),转到 Cursor,最后用上了 Claude Code 作为主力。
但问题出在 Claude Code 身上。
用他自己的话说:\"Claude Code 变成了一个带 80% 我用不上的功能的宇宙飞船。\"每次发布都改系统提示词。工作流被打乱。模型行为变得不可预测。
2025 年 11 月,他发表了一篇长篇博文,坦诚地解释了他的选择。他的核心论点是:
主流 AI 编程助手会注入你看不到的上下文,每次发布都会悄悄改变行为,你根本不知道发给模型的到底是什么。
他的回应方式很简单:自己动手写一个。
他把项目命名为 Pi——这个名字是故意选的。\"一个完全无法 Google 的名字,这样永远不会有用户。\"——他自嘲说。结果当然是反的:Pi 彻底火了。
三、到底什么是 Pi?四个工具,六条\"不做\"
核心:一个不超过 1000 token 的 Agent
Pi 的本质是一个终端编程 Agent 骨架(harness)——它不替你做什么,它只是在你和 LLM 之间架一座桥。它管理\"你提出需求 -> 模型推理 -> 执行工具 -> 返回结果\"这个循环,仅此而已。
它的正式身份:
- • 开源许可证:MIT
- • 代码仓库:GitHub
earendil-works/pi(原badlogic/pi-mono) - • 网站:pi.dev
- • 安装:
npm install -g @earendil-works/pi-coding-agent或curl -fsSL https://pi.dev/install.sh | sh - • 当前版本:0.82.0(2026 年 7 月 24 日)
四个内置工具
| 工具 | 说明 |
|---|---|
read |
读取文件内容 |
write |
创建新文件 |
edit |
修改已有文件(精确编辑,非整个重写) |
bash |
执行 shell 命令 |
就这四个。没有\"计划模式\",没有\"子 Agent 协调器\",没有\"后台任务管理器\",没有 MCP 服务。
六条\"不做\"——它的反向宣言
Pi 的官网和文档里专门有一个章节叫 \"What we didn't build\"。它在意的不是自己有什么,而是自己没有什么:
| Pi 选择不做 | 想用时怎么搞 |
|---|---|
| 不内置 MCP | 自己写一个 CLI 工具 + README,或装 MCP 扩展 |
| 不内置子 Agent | 用 tmux 起多个 Pi 实例,或写一个扩展 |
| 不内置权限弹窗 | 在容器里跑,或用扩展自己写确认流程 |
| 不内置计划模式 | 把计划写到一个文件里,或装扩展/Package |
| 不内置 Todo 列表 | 用 TODO.md 文件,或自己写扩展 |
| 不后台执行 Bash | 用 tmux——全可见,随时干预 |
这说明 Pi 到底信任什么:Unix 生态 + 你。
四、Armin Ronacher 与 OpenClaw:Pi 是怎么爆红的
Pi 能从一个单人项目变成今日的话题中心,有一段很巧妙的连接。
Armin Ronacher 的背书
Armin Ronacher 是 Python 生态的传奇人物。他创建了 Flask(Python 最流行的轻量 Web 框架之一)和 Jinja2(模板引擎,几乎每个 Python Web 项目都在用)。
2026 年 1 月,Armin 在个人博客上发表了一篇技术文章,标题是\"Pi:OpenClaw 中那个最小化的 Agent\"。他公开将 Pi 描述为\"一个最小化 Agent 的叛乱\"(a minimal harness rebellion)——一个值得围绕它构建生态的基础设施级项目。
OpenClaw 的纽带
OpenClaw 是由奥地利开发者 Peter Steinberger(他也是 PSPDFKit 的创始人)创建的 AI 终端助手,2025 年 11 月诞生,迅速爆红。
OpenClaw 的底层——它的 Agent 循环、工具调用、LLM 接入——用的就是 Pi 的 npm 包(@mariozechner/pi-ai、@mariozechner/pi-agent-core 等)。
所以如果你用过 OpenClaw,你其实已经在用 Pi 了。
Pragmatic Engineer 播客
2026 年 4 月,Mario 和 Armin 一同上了知名技术播客《Pragmatic Engineer》,讨论了 Pi 的设计哲学、为什么\"非功能\"是 Pi 最强大的功能、人类判断在 AI 驱动世界中的位置。这一期节目直接让 Pi 的知名度上了几个台阶。
五、Earendil Inc.:一个\"公共福利公司\"接手了 Pi
Earendil 是谁?
Earendil Inc. 是由 Armin Ronacher 和 Colin Daymond Hanna 于 2025 年 创立的一家 Public Benefit Corporation(公共利益公司)。
它的使命宣言相当有野心:
通过锻造软件与开放协议来弥合隔阂与无知,培养持久的喜悦与理解,增强人类的自主性。
投资背景
Earendil 背后站着全球顶级 VC 和科技创始人:
| 投资方 | 代表人物 |
|---|---|
| Accel | Daniel Levine |
| Balderton | Daniel Waterhouse |
| n8n 创始人 | Jan Oberhauser |
| OpenClaw 创始人 | Peter Steinberger |
| Revolut 创始人 | Vlad Yatsenko |
| Sentry 创始人 | David Cramer |
| Slack 创始人 | Cal Henderson |
这意味着 Pi 背后既有顶级资本支持,又有成熟 SaaS 创业者的经验背书。
2026 年 4 月 8 日:正式收购 Pi
2026 年 4 月 8 日,Earendil 正式宣布三件事:
- 1. 收购 Pi 开源项目。代码仓库从
badlogic/pi-mono迁移到earendil-works/pi,npm 包从@mariozechner/pi-*迁移到@earendil-works/pi-*。 - 2. Mario Zechner 加入 Earendil,成为重要股东和团队成员,保留技术方向的话语权。
- 3. 发布 RFC 0015 治理文件:承诺 Pi 的核心永久保留 MIT 许可证,同时为 Fair Source 付费层和云服务预留商业空间。这是一个非常标准的\"开放核心(open-core)\"模式。
Mario 在个人博客中写了一篇题为《I've sold out》的文章(他自嘲\"我出卖了自己\"),坦承了选择加入 Earendil 的原因:
我有一个四岁的孩子。我想陪他长大。
经历过 RoboVM 的创伤之后,他不信任 VC 驱动的\"快速变现\"路径。加入 Earendil,意味着 Pi 可以保持开源、他可以保持控制、并且有人在处理他不擅长的那部分(融资、法务、商业化)。
六、Lefos:Earendil 的另一只手——你的邮件就是命令行
收购 Pi 的同一份公告里,Earendil 还宣布了一款新产品:Lefos(lefos.com)。
Lefos 是什么?
Lefos 是一个 AI 邮件 Agent 平台。它不是让你在终端敲命令,而是让你——通过邮件——和 AI 协作。
它的产品逻辑是这样:
-
- 你给 Lefos 发邮件,描述需求。
-
- Lefos 用 AI(基于 Anthropic Claude 和 Google Gemini)理解意图、搜索信息、写文档、安排日程。
-
- Lefos 回邮件给你,或者直接在你的 Google Drive / Calendar 里完成任务。
Lefos 的核心能力
- • 邮件对话式交互:和它聊就像和一个同事邮件往来
- • Google Workspace 集成:可以读写你的 Google Docs、Drive、Calendar
- • 代码执行能力:可以在沙箱中运行代码,处理你的数据
- • 自定义技能:可以添加自定义 AI 技能
- • 团队协作:可以 CC 其他人,Lefos 自动判断是否需要参与对话
产品定位
如果说 Pi 是给开发者的\"最小化终端 Agent\",那 Lefos 就是给非技术用户的\"无界面 AI 伙伴\"。两者共享 Earendil 的技术栈和 AI 底层能力。
Lefos 当前处于公开 alpha 阶段,使用基于信用的计费系统(新用户送免费额度)。
七、Pi 的技术架构:一个 Monorepo,四个 Package
Pi 不是一个大单体,而是一个 TypeScript Monorepo,包含 7 个独立包,下面是最核心的四个:
| Package | npm 包名 | 作用 |
|---|---|---|
| pi-ai | @earendil-works/pi-ai |
统一 LLM API 层:支持 15+ 厂商、流式处理、Tool Calling、思考追踪、Token 计费、跨厂商上下文交接 |
| pi-agent-core | @earendil-works/pi-agent-core |
Agent 运行时引擎:工具调用验证、状态管理、事件流、Steering/Follow-up 消息控制 |
| pi-tui | @earendil-works/pi-tui |
终端 UI 库:差分渲染、零闪烁、Markdown 渲染、Kitty/iTerm2 内联图片 |
| pi-coding-agent | @earendil-works/pi-coding-agent |
终端 CLI:串联 Agent 与 UI,管理会话、扩展加载、主题、项目配置 |
此外还有 pi-mom(Slack 机器人)、pi-web-ui(Web 聊天组件)、pi-pods(GPU Pod 管理 CLI)。
技术亮点
- • 15+ 厂商、上百种模型:Anthropic、OpenAI、Google、Azure、AWS Bedrock、Mistral、Groq、Cerebras、xAI、Hugging Face、Kimi For Coding、MiniMax、OpenRouter、Ollama……以及任何 OpenAI 兼容接口
- • 会话中切换模型:/model 或 Ctrl+L 切换,上下文不丢失;Ctrl+P 循环切换常用模型
- • 树形会话:支持分支、回溯、fork,所有对话存于一个 JSONL 文件;/share 导出到 GitHub Gist 分享
- • 上下文工程:AGENTS.md(项目级指令)、SYSTEM.md(替换系统提示词)、自动压缩(接近 token 上限时自动摘要旧消息)、技能(按需加载的能力包)、提示模板
-
• 四种运行模式:
-
• 交互式 TUI(默认):完整终端体验
- • 打印/JSON 模式:
pi -p \"query\",脚本友好 - • RPC 模式:JSON over stdin/stdout,任何语言都能集成
- • SDK 模式:嵌入你的 Node.js 应用(OpenClaw 就是这样用的)
可扩展性
Pi 的扩展系统是用 TypeScript 写的,可以:
- • 注册自定义工具
- • 添加新的闪兑命令和快捷键
- • 注入自定义 UI 面板
- • 控制消息历史的注入和过滤(实现 RAG、长期记忆)
- • 拦截工具调用(权限门控)
- • 实现子 Agent 派发、MCP 集成、SSH 远程执行……
一个经典的例子是 pi-doom 扩展——在等待 Pi 响应时,你可以在终端里玩《毁灭战士》。
八、为什么开发者会买账?
从一个数据可以看出端倪:Pi 最早想用\"极简\"来避免用户,结果 GitHub 71,000+ 星。
它的用户画像不是\"想要零门槛一站式的初级开发者\",而是\"受够了别人替我安排工作流的资深工程师\"。
Pi 的部分哲学,来自 Mario 那篇引发病毒传播的文章《Thoughts on slowing the f\\\* down》:
你最大的敌人始终是复杂度。你的 Agent 最大的敌人也是复杂度。但它没有你代码库的整体视野,所以它会不断添加复杂度。
Pi 的解决方式不是给 Agent 更多能力,而是给它更少的东西去搞砸。
九、完整时间线:Pi 的一年
| 时间 | 事件 |
|---|---|
| 2025.08 | Mario 开始编写 Pi(pi-mono),最初定位是\"最小化终端编码工具\" |
| 2025.11 | Mario 发布个人博文,解释为什么要做一个极简 Agent;Peter Steinberger 将 Pi 的包作为 OpenClaw 的底层引擎 |
| 2025.11.30 | Mario 发表\"I've sold out\"预告文,暗示将作重大决定 |
| 2026.01 | Armin Ronacher 发表博文《Pi: The Minimal Agent Within OpenClaw》,公开背书 Pi |
| 2026.03 | Armin 的 Earendil Inc. 与 Mario 达成收购协议 |
| 2026.04.08 | Earendil 正式宣布:收购 Pi、Mario 加入、启动 Lefos 公测、公布 RFC 0015 治理文档 |
| 2026.04 | Mario 和 Armin 同台亮相 Pragmatic Engineer 播客 |
| 2026.05.07 | Pi 从 @mariozechner npm scope 迁移到 @earendil-works,旧包废弃 |
| 2026.06.22 | Pi 0.80.0 发布,pi-ai 旧 API 迁移完成 |
| 2026.07.21 | Pi 0.81.0 发布,支持 llama.cpp 本地模型管理 |
| 2026.07.24 | Pi 0.82.0 发布(当前最新),加入约束工具采样、流式 Bash 等 |
十、你的选项:Pi 适合你吗?
适合 Pi 的人:
- • 对 Claude Code 每次更新的系统提示词变更感到烦躁
- • 想完全掌控 Agent 的行为——不是\"适应工具的哲学\",而是\"工具适应你的流程\"
- • 有终端使用经验、不想离开命令行
- • 喜欢 Unix 哲学:每个工具做好一件事
- • 愿意写 TypeScript 来定制自己的工具链
可能需要多一点耐心的人:
- • 期望开箱即用的图形界面(Pi 是纯终端)
- • 习惯了 Cursor/Claude Code 的全功能集成
- • 没兴趣自己写扩展或配置 Skills
- • Windows 用户(Pi 支持 Windows,但 tmux 等高级功能需要 WSL2)
尾声:代码之外的故事
Pi 不是一个产品。至少不是传统意义上的产品。
它是一个名叫 Mario 的开发者在奥地利乡下——经历过被收购、被关停、被骂哭的开源创伤之后——为自己写的工具。他给它取了一个搜索引擎永远找不到的名字。他故意不给它任何\"高级功能\"。
然后 YouTube 上开始出现\"我用 Pi + DeepSeek 做 Codex 备用方案\"的教程。Arm 公司内部的开发集群开始跑 Pi。Flask 的创建者说\"这是最值得围绕它构建的 Agent\"。
这个故事的反转,恰好印证了 Pi 官网上那句话:
There are many agent harnesses, but this one is yours.
市面上有很多 Agent 骨架,但这个是属于你的。
💡 iTalks | 聚焦前端 · 探索 AI 应用 · 输出成熟技术方案
🐧 关注我们,获取更多技术深度解读和实用开发指南
💬 觉得有用?点个\"在看\"分享给更多开发者!
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论