Pi 是 Earendil Works 维护的 agent harness monorepo,官网 pi.dev,定位为"可自我扩展的编程智能体"(self extensible coding agent)。它同时是四件套:交互式编码代理 CLI、带工具调用的 Agent 运行时、统一多供应商 LLM API 与终端 UI 库,允许开发者从单个 npm 包到整套 harness 任选层级构建自己的智能体产品。

| 项目 | 内容 |
|---|---|
| 仓库 | earendil-works/pi |
| 语言 / 许可证 | TypeScript / MIT |
| 总星标 | ⭐ 97,674 |
| 本月净增星标 | +20,131 |
| 榜单 | GitHub 官方月度趋势榜 第7名;星标增速榜 第38名 |
Pi 是 Earendil Works 维护的 agent harness monorepo,官网 pi.dev,定位为"可自我扩展的编程智能体"(self extensible coding agent)。它同时是四件套:交互式编码代理 CLI、带工具调用的 Agent 运行时、统一多供应商 LLM API 与终端 UI 库,允许开发者从单个 npm 包到整套 harness 任选层级构建自己的智能体产品。
在 Claude Code、Codex 商业闭环之外,开源社区强烈需要一个"引擎全透明、层级可拆"的替代底座。Pi 把 harness 拆成运行时、模型接入与 TUI 三个干净模块并全部开源,加上第三方可观测契约(telemetry 一致性测试),正好承接了自研智能体公司的基建需求,累计近十万星且保持月增两万的势头。
TypeScript npm workspace 结构,内部包以版本区间互相引用,外部依赖一律锁定精确版本;用 Bun 编译出免依赖的可执行文件降低部署门槛。值得注意的是它没有内置权限系统,默认完全继承启动用户的权限,官方给出三条容器化路线:Gondolin 扩展(宿主跑 pi + 微虚拟机)、Plain Docker 与 OpenShell 策略沙箱,安全交由外围方案。社区生态方面提供 Discord 支持与 Hugging Face 会话分享通道。
面向使用者的最简路径是从发布页下载二进制或安装对应 npm 包;面向贡献者需 Node 环境后执行 `npm install --ignore-scripts` 再构建。
./pi-test.sh # 从源码直接运行 pi,可在任意目录执行
npm run build # 刷新模型数据并构建所有包
npm run build:offline # 无网络时复用已有模型数据
./test.sh # 跑测试,无 API key 时自动跳过依赖 LLM 的用例
安装后在项目目录启动 CLI 即进入对话式开发;官方还建议一个有趣路径——让 pi 自己解释自己的能力与配置方式,作为其自我扩展特性的体验入口:
pi # 在任意仓库目录交互使用
# 独立二进制构建:
VERSION="<release-version>" && tar -xzf "pi-${VERSION}-source.tar.gz" && cd "pi-${VERSION}"
./scripts/build-binaries.sh --offline-model-data --platform linux-x64 --out "$PWD/out"
对比商业闭源的 Claude Code,Pi 卖点是全链路开源与分层复用;对比 Aider 这类单体 CLI,它的包粒度设计明显更利于被其他产品嵌入;与 Goose 相比则更强调供应链与遥测标准化。