Skip to content
AI-Daily-Builder

Pi:会自己编写工具、可自我扩展的极简编程代理

次浏览

Pi 是一款开源终端编程代理,围绕着低于 1,000 token 的系统提示与四个核心工具(Read、Write、Edit、Bash)打造。它不内置工具,而是按需自行编写 TypeScript 扩展。采用 MIT 授权,v0.78.1(2026 年 6 月 4 日)。

npm install -g --ignore-scripts @earendil-works/pi-coding-agent

Pi 是什么

Pi 是一款开源的命令行编程代理,采取与多数 2026 年框架相反的赌注:它不使用庞大的系统提示与数十个捆绑工具,而是提供一个低于约 1,000 token 的系统提示,且只有四个核心工具——Read、Write、Edit 与 Bash。其官网的诉求直截了当:“代理框架很多,但这一个是你的。”

这个项目最初是 Mario Zechner 的作品,现由 Earendil Inc. 开发,并有 Armin Ronacher(Flask 与 Jinja2 的作者)参与贡献。代码放在 badlogic/pi-mono 单一仓库(monorepo)中,采用 MIT 授权,并以 @earendil-works/pi-coding-agent 发布到 npm。撰文时最新版本为 v0.78.1,标记日期为 2026 年 6 月 4 日,五月期间发布节奏快速(v0.75 至 v0.78)。

差异化关键:它会自行打造能力

其定义性特征是自我扩展。如果某项能力不存在,你就请 Pi 来打造,它会编写一个 TypeScript 扩展模块,提供新的工具与指示,接着便能调用它。这让基础上下文保持极小,同时让功能面随各项目成长。此仓库也干净地拆分为可重用的组件:一个与供应商无关的 LLM 层(@earendil-works/pi-ai)、一个代理运行时(@earendil-works/pi-agent-core)、一个终端 UI 库(@earendil-works/pi-tui),以及编程代理 CLI 本身。

Pi 标榜四种操作模式——交互式、print/JSON、RPC 与一个 SDK——外加树状结构的会话历史与 15+ 种供应商集成。近期的发布展现了这款面向自动化工具的实务面向:v0.77.0 新增了 Claude Opus 4.8 支持、用于选择性禁用工具的 --exclude-tools,以及供无头登录使用的设备码验证;v0.78.0 通过 --name 新增了具名的启动会话,并通过 OSC 8 超链接新增了可点击的文件路径;v0.78.1 扩大了供应商覆盖范围。

它如何比较

面向Pi典型的大型框架
系统提示低于约 1,000 token数千 token
内置工具4(Read/Write/Edit/Bash)众多、固定
新能力代理自行编写扩展等待新版发布
功能面随各项目成长出货时即固定

快速上手

使用 npm 全局安装(--ignore-scripts 标志为官方文档所载的形式),或使用安装脚本:

npm install -g --ignore-scripts @earendil-works/pi-coding-agent
# or
curl -fsSL https://pi.dev/install.sh | sh

接着在仓库中执行 pi,当你遇到缺口时,请它打造所缺的工具,而不是去找插件市集。

实务者备注

若你在意 token 预算与可重现性,这种极简提示的做法最具吸引力:较小的基础上下文意味着操控模型的隐藏指示较少,而各项目的扩展是可检视的 TypeScript,你能对其做 diff 并提交。其取舍在于你是在信任这个代理去编写它接着就会执行的代码——--ignore-scripts 安装标志与官方文档所载的容器化路径,都是维护者预期你会为它建立沙箱的信号。请把生成的扩展当作其他依赖包一样对待:在它们以 Bash 访问权执行之前先审阅它们。

较少被考量的角度

有趣的长期问题是:“代理自行编写工具”究竟会产出耐久、可共享的能力,还是在各项目间散布出大量近乎重复的一次性扩展。一个让每个仓库自行成长其工具集的框架,是把插件生态系的策展问题,换成了碎片化问题——五个项目各自可能重新发明出略有不同的“执行测试并摘要失败”工具。在此模式下胜出的团队,很可能会是把代理所编写的扩展当作一等源代码来对待者:加以版本控管、审阅,并提升进共享的内部库,而非每次都从头重新生成。

请喝咖啡