一、Pi 简介
Pi(仓库 earendil-works/pi,官网 pi.dev)是一款 MIT 协议开源 的轻量级终端编码 Agent,也是一套可以嵌进你自己程序的 Agent 开发工具包(SDK)。
截至 2026 年 8 月,Pi 在 GitHub 上已收获 8.6 万+ Star、周下载量约 130 万次。更硬核的是:当下最火的明星开源项目 OpenClaw(38 万+ Star)就是基于 Pi 的 SDK 构建的——Pi 的终端界面组件、Agent 运行时都来自它;社区还衍生出了给 Pi 加上浏览器和子代理的 "Oh My Pi"(近 2 万 Star),以及 VS Code 插件 Pendant、Emacs 前端等。一句话:Pi 已经成了开源 Agent 开发的底层基座之一。
核心设计哲学:做减法
Pi 的 slogan 是 "There are many agent harnesses, but this one is yours."(Agent 外壳很多,但这个是你的)。它的设计逻辑和 Claude Code 这类"开箱即用全家桶"完全相反——只给你一个最小、可完全读懂的核心,其余一切靠扩展(Extension)补齐:
默认只给模型 4 个工具:
read(读文件)、write(写文件)、edit(精确改文件)、bash(跑命令)。系统提示词 + 工具描述加在一起 不到 1000 token,把宝贵的上下文留给你的项目代码和当前任务。
没有内置 MCP、没有子代理、没有 Plan 模式、没有待办列表、没有权限确认弹窗、没有沙箱。
二、安装 Pi:一行命令搞定
环境要求
Node.js 20+
支持 macOS / Linux / Windows
安装方式(任选其一)
# 方式 1:官方安装脚本(Linux / macOS,推荐)
curl -fsSL https://pi.dev/install.sh | sh
# 方式 2:PowerShell(Windows)
powershell -c "irm https://pi.dev/install.ps1 | iex"
# 方式 3:npm
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
# 方式 4:pnpm
pnpm add -g --ignore-scripts @earendil-works/pi-coding-agent
# 方式 5:bun
bun add -g --ignore-scripts @earendil-works/pi-coding-agent⚠️ 务必带上
--ignore-scripts:这是官方明确推荐的参数。它会禁用依赖包的安装生命周期脚本——Pi 本身不需要这些脚本即可运行,禁掉能少一层供应链攻击面。配合精确版本锁定 + 2 天最小发布年龄,能有效挡住"当天被投毒的依赖"混进构建。📦 包名变更提醒:2026 年 5 月,Pi 的包从
@mariozechner/*作用域迁移到了@earendil-works/*。凡是早于这个时间的旧教程指向@mariozechner/pi-coding-agent的都已废弃;老用户执行pi update --self即可自动迁移。
验证安装
pi --version能正常打印版本号即安装成功。进入任意项目目录,直接敲 pi 即可启动交互界面。
三、认证与配置:接上模型就能跑
Pi 支持两种认证方式,二选一。
方式一:API Key(环境变量)
# 以 Anthropic 为例
export ANTHROPIC_API_KEY=sk-xxxx
# 进入项目目录启动
cd /path/to/your-project
pi其他常见变量:OPENAI_API_KEY、GOOGLE_API_KEY、GITHUB_TOKEN(GitHub Copilot)等,也可写入 ~/.pi/agent/auth.json。
方式二:订阅登录(OAuth)
启动后在交互界面输入:
/loginPi 内置了多家订阅的 OAuth 登录,支持 Claude Pro/Max、ChatGPT Plus/Pro、GitHub Copilot、Grok、Kimi For Coding、OpenAI Codex、OpenRouter、xAI 等。
项目级上下文
Pi 会分层加载项目指令,迁移现有仓库时几乎是"零成本":
AGENTS.md:全局(~/.pi/agent/)→ 父目录 → 当前目录,逐级覆盖CLAUDE.md:Pi 也读,所以从 Claude Code 项目迁移过来无需改动SYSTEM.md:可替换/追加默认系统提示词
四、使用 Pi
1. 交互模式
cd /path/to/your-project
pi启动后就是交互式终端界面,直接打字对话即可。第一次用可以让它先熟悉项目:
阅读这个项目,告诉我它的目录结构、启动方式和测试命令。2. 一句话 / 脚本模式
# 非交互式执行一次性任务(适合脚本、CI)
pi -p "检查这个项目最近的改动,并列出可能的问题"
# JSON 事件流(方便程序消费)
pi -p "重构 utils 目录" --mode json3. 继续 / 回放会话
pi -c # 继续最近一次会话
pi -r # 打开会话浏览器,挑选历史会话恢复Pi 的会话是树状结构而非线性日志:走错方向了可以回到某个节点开新分支,原来的尝试都保留在同一个文件里(纯 JSONL,可以 grep)。常用导航命令:
/tree:在会话树里跳转任意历史节点/fork//clone:派生新分支/share:导出到 GitHub Gist 拿到可渲染的分享链接/export:导出为 HTML
4. 常用快捷键与符号
五、与其他 Agent 对比:极简派 vs 全家桶
下面把 Pi 和当前最主流的几款编码 Agent 放在一起看。核心差异不在于"谁功能多",而在于设计范式:Pi 是"运行时/引擎",其它多数是"产品"。
几个关键取舍
Pi vs Claude Code:Claude Code 把子代理、Plan 模式、hooks、MCP 都焊死了,装上就能用;Pi 一个都不给,全靠你扩展。想要"开箱全配齐"选 Claude Code,想要"完全读懂 + 自己掌控"选 Pi。注意 Pi 没有沙箱,而 Claude Code 有审批流。
Pi vs OpenCode:两者都 MIT 开源。OpenCode 开箱就有 75+ 模型和富交互 TUI,更像"免费的 Claude Code 替代品";Pi 更底层、更克制,核心只有 4 工具,但它的 SDK 和扩展系统让它能变成你自己产品的引擎(OpenClaw 就是证明)。
Pi vs Codex CLI:Codex 用 Rust 写、Apache 2.0,有 Suggest / Auto-Edit / Full-Auto 三档审批粒度;Pi 用 TypeScript、连权限弹窗都没有,全交给你。要"开源 + 精细审批"选 Codex,要"极简 + 可嵌入"选 Pi。
Pi 的独特身份:它不是要跟谁抢"最佳编码助手",而是给你一套可以 fork、可以嵌、可以发布的 Agent 底座。如果你只想写代码,它可能"一开始空荡荡";如果你想造自己的 Agent 产品,它是目前最有趣的选择之一。