如果你平时经常接触 AI 开发,或者正在寻找一个能帮你写代码、管理 LLM 调用、甚至搭机器人的开源工具包,那今天这个项目值得你花几分钟了解一下。
它叫 Pi,全称是 Pi Agent Harness,是一个托管在 GitHub 上的 AI 代理工具集。目前已经收获了 53.6k 星标,6.4k 次 fork,拥有 4275 次提交和 222 个发布版本,代码以 TypeScript 为主,占比超过 93%。
Pi 的核心定位很明确:一个“自可扩展的编码代理”。什么意思呢?简单说,它既能当作一个命令行工具帮你写代码,又能作为一个统一的 LLM 接口让你调用各种大模型,还附带了一套终端 UI 库和 Web UI 库,甚至能当 Slack 机器人用。你不需要在多个工具之间来回切换,一个 Pi 就能覆盖大部分 AI 工作流。
项目本身是一个 Monorepo,包含了多个子包。其中最重要的几个是:
- @earendil-works/pi-coding-agent,这是一个交互式的编码代理 CLI,你可以在终端里直接让它帮你写代码、改代码、解释代码。
- @earendil-works/pi-agent-core 是代理运行时的核心,负责工具调用和状态管理。
- @earendil-works/pi-ai 则是一个统一的多提供商 LLM API,支持 OpenAI、Anthropic、Google 等主流模型。你不需要每换一个模型就改一遍代码,Pi 已经帮你封装好了。
- 另外还有 @earendil-works/pi-tui,一个带差分渲染的终端 UI 库,如果你需要搭建自己的终端界面,可以直接拿来用。
除了这些核心包,Pi 还涉及 Slack 机器人、自动化工作流以及 vLLM pods 等高级功能。如果你做的是聊天机器人或自动化项目,可以看看作者另一个仓库 earendil-works/pi-chat,那里有更深入的内容。
Pi 的另一个亮点是它鼓励开源社区分享编码代理会话。项目作者在 X 上发布过一篇帖子,详细解释了为什么公开的 OSS 编码会话数据对改进代理非常重要。用作者的话说,这些来自真实世界的任务、工具使用、失败和修复过程,远比那些玩具基准测试更有价值。为此,项目还专门提供了一个工具 badlogic/pi-share-hf,配合 Hugging Face 账号和 CLI,你可以一键把自己的编码会话发布到 Hugging Face 上。作者本人也定期在 badlogicgames/pi-mono 这个 Hugging Face 仓库里分享自己的开发会话,感兴趣的话可以直接去看看。
在工程实践方面,Pi 的供应链安全做得相当细致。项目把 npm 依赖变更当作代码变更来对待。直接的外部依赖都固定到精确版本,内部工作区包则使用范围版本。.npmrc 里设置了 save-exact=true 和 min-release-age=2,避免同一天发布的依赖被错误混入。package-lock.json 是依赖的“地面真相”,提交前会阻止意外的锁文件变更,除非你设置环境变量 PI_ALLOW_LOCKFILE_CHANGE=1。此外,npm run check 会检查各种依赖兼容性,发布前还会通过 npm run release:local 执行本地构建、打包和隔离安装测试。CI 环境下使用 npm ci --ignore-scripts,并且定期的 GitHub 工作流会运行 npm audit 和安全签名审计。
如果你想自己动手试用 Pi,开发流程也很简单。项目基于 Node.js,使用 npm 管理。安装命令是 npm install --ignore-scripts,然后 npm run build 构建所有包,npm run check 做格式检查和类型检查。./test.sh 运行测试,跳过需要 API 密钥的 LLM 相关测试。还有一个专用的 ./pi-test.sh 可以让你直接从源码运行 Pi,而且不限制当前目录。
对于想要贡献代码的朋友,项目有 CONTRIBUTING.md 和 AGENTS.md 两个文档。AGENTS.md 里专门列出了针对人和代理的不同规则,确保协作时双方都能理解项目规范。值得注意的是,项目说明里明确写着“新贡献者的新 Issue 和 PR 默认会被自动关闭,但维护者会每天检查自动关闭的内容”,所以不用担心你的提交被忽略,只是需要一点耐心。
最后,Pi 的许可证是 MIT,这意味着你可以自由使用、修改、分发,甚至可以商用。项目的官方网站是 pi.dev,上面有演示和文档,你也可以直接让 Pi 自己解释它的工作方式。
总结一下,如果你是一个 AI 开发者、CLI 工具爱好者,或者正在搭建自己的编码助手,Pi 绝对值得你花一个晚上去玩玩。它的代码质量、工程严谨度、以及对开源社区的贡献态度都非常靠谱。开源世界里像这样既有野心又有落地能力的项目并不多见,星标和 fork 数也说明了它的受欢迎程度。
感兴趣的读者可以访问项目 Github 网址,了解更多细节:
https://github.com/earendil-works/pi
夜雨聆风