Pi
极简可扩展的终端 AI Agent 工具箱:统一多 Provider LLM API + Agent 循环 + TUI + 编码 Agent CLI,支持扩展/技能/主题/包四层定制,MIT 开源,可通过 print/JSON/RPC 模式与 TypeScript SDK 嵌入自动化流程
这是什么?适合谁?
Pi(earendil-works/pi)是一个极简、可扩展的终端 AI Agent 工具箱:统一多 Provider LLM API(OpenAI/Anthropic/Google 等)+ Agent 循环 + TUI 交互界面 + 编码 Agent CLI 打成一套可复用底座。它已发布 1.0 正式版,GitHub ★114k+,MIT 开源。官方一句话定位:「Pi is a minimal, extensible agent harness that you can make your own」——让 Pi 适应你的工作流,而不是反过来。
它解决的痛点:自研 Agent 时最耗时的不是 Agent 循环本身,而是模型接入、工具调用、会话上下文管理、终端界面这些重复胶水代码。Pi 把这些全部做成成品,并通过 extensions / skills / prompt 模板 / themes 四类机制让你定制,还能打包成 Pi packages 经 npm 或 git 分享。
适合谁:
- 想要一个开箱即用、又能深度定制的终端编码 Agent 的开发者
- 需要把 AI 编程嵌入 CI/CD 或脚本的团队(print 模式 / JSON 事件流 / RPC 三条自动化路径)
- 想基于成熟 Agent 底座做二次开发的应用作者(TypeScript SDK)
- 重视供应链安全的团队(依赖精确锁定 + min-release-age 防投毒)
不适合:偏好 GUI 的用户;只想「问一句答一句」的轻度对话用户;需要内置 sub-agents/plan mode 且不想自己装包的人(Pi 有意不内置这些)。
使用前提:Node.js 22.19+(安装器可代装);LLM 订阅或 API Key;熟悉终端。
准备工作
- 设备:macOS / Linux / Windows 均有官方安装器;也支持 Android(文档专页)与 tmux
- 账号:任一 LLM Provider(OpenAI、Anthropic、Google 等,支持订阅或 API Key;也可接本地模型或兼容端点)
- 费用:Pi 本体免费开源;成本只在模型侧(自带 Key 按量计费,或用 ChatGPT/Claude 订阅登录)
- 前置知识:基本终端操作;扩展开发者需 TypeScript 基础
- 替代方案:Aider(git 集成更强)、Claude Code(闭源但内置功能多)、OpenHands(多 Agent 协作)
3 步快速上手
第 1 步:安装
macOS / Linux:
curl -fsSL https://pi.dev/install.sh | sh
Windows(PowerShell):
powershell -c "irm https://pi.dev/install.ps1 | iex"
安装器会锁定全部依赖,之后用 pi update 自更新。也可以走 npm:npm install -g --ignore-scripts @earendil-works/pi-coding-agent(不锁传递依赖)。Nix 用户:nix run github:earendil-works/pi/stable。
第 2 步:连接模型并启动
cd /path/to/project
pi
在 Pi 内部运行 /login 连接订阅或 API Key,然后直接给 Pi 一个任务。它会检视文件、跑命令、编辑内容、推进多步任务。
第 3 步:跑通第一个任务
在项目目录里输入类似「帮我读一下 README 并总结这个项目的架构」,观察 Pi 的工具调用与文件检视过程;满意后可尝试 Esc 中断、会话分支等交互。预期产出:一次完整的 Agent 任务循环 + 可继续的会话。
常见踩坑
踩坑 1:Node 版本不够
- 现象:安装或启动报 Node 相关错误
- 原因:Pi 要求 Node.js 22.19 或更新
- 解决:用官方安装器(可代装 Node),或先升级本机 Node 再
npm -g安装
踩坑 2:npm 装完少功能/行为异常
- 现象:npm 直装的 Pi 与官方安装器版本表现不一致
- 原因:官方安装器从 install-lock 锁定传递依赖,npm 包不锁
- 解决:优先用 pi.dev 安装脚本;已 npm 安装的可
pi update --self切到锁定安装
踩坑 3:找不到 sub-agents / plan mode
- 现象:预期功能不存在
- 原因:Pi 有意不内置这些重功能,走「按需装包」路线
- 解决:在 Pi packages 文档 找对应包,或直接让 Pi 自己写一个扩展
踩坑 4:Windows 下终端体验问题
- 现象:TUI 渲染或键位异常
- 原因:Windows 终端差异
- 解决:按官方文档「Run Pi on Windows」专页配置推荐终端;也可用 tmux 方案
踩坑 5:给新贡献者的 PR 被自动关闭
- 现象:首次提 issue/PR 秒关
- 原因:仓库政策——新贡献者内容默认自动关闭,维护者每日复核
- 解决:不必惊慌,等维护者复核即可;详见仓库 CONTRIBUTING.md
踩坑 6:自动化模式选错
- 现象:脚本里拿不到想要的结构化输出
- 原因:print / JSON 事件流 / RPC 三种模式各有适用面
- 解决:一次性任务用 print;要消费结构化事件用 JSON 流;要长驻控制独立进程用 RPC(见文档 Reference 节)
初级用法
- 日常问答改代码:项目目录里直接描述需求,Pi 自动定位文件、编辑、跑测试
- 会话管理:继续或分支历史会话(探索不同方案不丢上下文),见文档「Manage Sessions and Context」
- 换模型:
/login切换订阅/Key;本地模型或兼容端点按「Run Local Models」「Add Custom Providers」配置 - 快速定制:用 prompt 模板固化常用指令;slash 命令列表见文档 Reference
高级玩法
- 让 Pi 改造自己:让 Pi 按你的工作流写一个 extension(如自定义审批流、专属工具),打包成 package 团队共享
- CI 集成:print 模式跑一次性脚本任务,JSON 事件流模式把 Pi 的每步动作接进自己的管线做审计
- RPC 服务化:把 Pi 作为常驻进程,用 RPC 协议从别的应用驱动它——适合自建「AI 后端」
- 虚拟模型路由:按任务类型路由到不同模型(贵模型管难题、便宜模型跑杂活),见「Route with Virtual Models」
- MCP 接入:Connect MCP Servers 一页接通外部工具生态
小技巧
pi update更新自身;装了 npm 版的用pi update --self迁移到锁定安装- Nix 用户用
nix profile add github:earendil-works/pi/stable固定版本,github:earendil-works/pi/v1.0.0可钉死 tag - 扩展开发前先读 packages/coding-agent/docs/extensions.md,四类定制机制别混用
- 主题(themes)也能打包分发,团队统一观感零成本
- 官方维护者会公开自己的真实工作会话(Hugging Face 数据集),学提示词与用法的好材料
进阶学习建议
要吃透 Pi,按「用 → 改 → 造」三层推进:
- 用:跑通 Quickstart 后精读 How Pi Works(工具、上下文、会话、agent loop 的官方心智模型),再过一遍 Reference 节的 CLI / Settings / Environment Variables
- 改:动手写第一个 extension(入口 packages/coding-agent/docs/extensions.md),再学 skills 与 prompt 模板(同目录 docs/),体会「harness 留白」的设计边界——为什么 sub-agents 不内置而是做成包
- 造:研究 SDK(packages/coding-agent/docs/sdk.md)与 RPC 协议,把 Pi 嵌进自己的应用;进一步可看 chord(应用组合运行时)与 pi-ai(统一 LLM API)两个子包如何拆分关注点——这是 monorepo 架构的现成教材。真实集成案例可参考 OpenClaw 对 Pi 的接法
FAQ
Q1: Pi 免费吗? A: Pi 本体 MIT 开源完全免费;你只需为自己连接的模型付费(API Key 按量或订阅登录)。
Q2: 和 Claude Code / Aider 比怎么选? A: 要开箱即用的重度内置功能选 Claude Code;要强 git 集成选 Aider;要一个开源、可自托管、能按自己工作流深度定制的底座选 Pi。
Q3: 能接本地模型吗? A: 可以,文档有「Run Local Models」专页,也支持任意兼容端点与自定义 Provider。
Q4: Windows / Android 能用吗? A: 均有官方支持路径(安装脚本 + 文档专页),Nix 构建(源码)覆盖 ARM64/x86-64。
Q5: 团队怎么共享配置?
A: 把 extensions/skills/themes 打包成 Pi packages,经 npm 或 git 分发,成员 --package 安装即可。
参考链接
本文基于官方文档和公开资料整理,AI辅助生成,MagicNetWorld 尚未完成独立实测。
📊 评分与标签
评分说明
总分 8.9/10 · P_优选
📊 可观测社区指标(数据核验日期:2026-10-12)
- GitHub: earendil-works/pi ★114,308, 🔱14,555(2026-10-12 官网页面嵌入数据实测)
- 官网: pi.dev(2026-10-12 实测可访问,官方文档站结构完整:Quickstart / How Pi Works / Guides / Reference)
- npm: @earendil-works/pi-coding-agent(官方发布渠道)
🤖 Agent 能力 1.8/2.0
- Agent 循环 + 工具调用 + 会话管理的完整闭环:README 明确「Pi is a minimal, extensible agent harness」,支持交互式使用、print/JSON 模式自动化、RPC 控制与 TypeScript SDK 嵌入四条使用路径
- 内置能力克制但可扩展性极强:默认不包含 sub-agents 与 plan mode,改用扩展、skills、prompt 模板、主题四类定制机制,并支持打包为 Pi packages 经 npm/git 分发
- 扣分点:MCP 支持、本地模型接入等官方文档虽有专页,但具体模型路由/虚拟模型能力未独立实测
- 竞品对比 Claude Code:Pi 是开源(MIT)可自托管底座,Claude Code 闭源且绑定 Anthropic 生态;但 Claude Code 的 sub-agent/plan mode 是内置功能,Pi 需自行扩展
- 竞品对比 OpenHands:OpenHands 主打自主多 Agent 协作场景,Pi 更偏「单人可控的终端 Agent harness」,扩展模型更轻
🖐️ 易用性 1.4/1.5
- 一行安装:
curl -fsSL https://pi.dev/install.sh | sh(Windows 提供 PowerShell 安装脚本),安装器锁定全部依赖并支持pi update自更新 - 官方文档结构完整:Quickstart / How Pi Works / Guides(含 Windows、Android、tmux 专页)/ Reference(CLI、Settings、Providers、RPC Protocol)分层清晰
- 来源:pi.dev 文档
- 扣分点:要求 Node.js 22.19+;TUI/CLI 形态对非终端用户仍有门槛
- 竞品对比 Aider:两者同为终端编码 Agent,Pi 的
/login内置订阅/Key 连接与扩展体系上手更顺;Aider 的 git 集成更开箱即用 - 竞品对比 Goody:Goody 走轻量 CLI 路线但生态较新,Pi 有 npm/Nix/独立二进制三种分发渠道
🔌 生态集成 1.8/2.0
- 统一多 Provider LLM API(OpenAI、Anthropic、Google 等)+ MCP Server 接入 + 虚拟模型路由 + 终端 UI 组件库,生态面覆盖完整
- 来源:pi.dev 文档导航(Connect MCP Servers / Add Custom Providers / Route with Virtual Models 专页)
- Nix 支持(ARM64/x86-64,离线构建)与 monorepo 包体系(chord 运行时、pi-ai 统一 LLM API、pi-telemetry 遥测契约)
- 扣分点:第三方扩展市场尚在成长期(packages 依赖社区自发分发),无中心化注册表
- 竞品对比 LangChain:LangChain 是库级框架需自行搭建 UI/CLI,Pi 把 Agent 循环+TUI+CLI 打成成品
- 竞品对比 Smolagents:Smolagents 轻量但周边(RPC、遥测、主题、包分发)缺位,Pi 的工程配套明显更全
👥 社区支持 1.5/1.5
- ★114k+ / 🔱14.5k+ 的高热度开源项目,MIT 协议,有 Discord 社区与 X 渠道,npm 正式发版
- 来源:GitHub 页面实测(2026-10-12)
- 维护方 earendil-works(Earendil Inc.)持续运营,pi.dev 域名为社区捐赠的官方门户,README 含详细贡献政策(新贡献者 issue/PR 默认自动关闭、维护者每日复核——控量保质的社区治理方式)
- 竞品对比 OpenInterpreter:OpenInterpreter 星标量级相近但近一年迭代放缓,Pi 处于活跃发布期
- 竞品对比 Goose:Goose(Block 出品)有企业背书,Pi 的优势在极致可定制与包生态
💡 创新程度 1.4/1.5
- 「可组合的极简 harness」定位差异化明确:不堆内置功能,而是让 Agent 适应工作流(extensions/skills/themes/packages 四层定制 + content-addressed 包引用)
- 供应链安全实践罕见地完整:依赖精确锁定、min-release-age=2 防同日投毒、install-lock 传递依赖白名单、发布与本地冒烟用同一打包器——把 npm 依赖变更当作代码评审对待
- 竞品对比传统 CLI Agent:多数竞品把功能内置做重,Pi 的「让 Agent 自己改自己」路线独树一帜
- 竞品对比 Bolt/在线 Agent:Pi 坚守终端本地执行,配合 RPC/SDK 又能嵌入应用,边界拿捏与在线方案互补
🔒 稳定性 1.0/1.5
- 已发布 1.0 正式版(官网「We’ve shipped Pi 1.0」),版本化源码归档 + SHA256SUMS + 离线构建脚本,发布工程成熟
- 竞品对比同类新兴项目:多数 114k 级项目无如此完整的供应链加固与离线构建链
- 扣分点:本次未做长时间运行稳定性实测;Windows/Android 等平台路径仅文档层面核验;自动关闭新贡献者 PR 的政策对新人是双刃剑
- 竞品对比 Aider:Aider 有更长的生产环境使用史,Pi 1.0 相对年轻
评分依据可追溯至公开来源,每项分数均有明确理由和数据支撑。
🏷️ 标签说明
- 编码Agent: 核心形态即终端里的 AI 编码 Agent(TUI + coding agent CLI)。来源:GitHub README
- 开源免费: MIT 开源协议,无付费墙。来源:GitHub 仓库
- Agent框架: 定位是可扩展的 agent harness(agent loop + 统一 LLM API + SDK)。来源:GitHub README
- CLI工具: 主要使用形态为命令行/TUI,支持 print/JSON/RPC 模式。来源:官方文档
- TypeScript: 主体为 TypeScript 实现,提供 TypeScript SDK。来源:npm 包
📋 来源核实
- ✅ 已核验: GitHub 仓库(描述/Stars/Forks/MIT 协议/README 全文,2026-10-12 抓取)、pi.dev 官网与文档(导航与概览内容,2026-10-12 抓取)、npm 发布页链接(README 徽章引用)
- ⚠️ 未验证(需实测): 实际编码任务表现、扩展/包安装体验、RPC 与 SDK 集成流畅度、Windows/Android 平台路径
- ❌ 已删除死链: 无
本文评分基于公开资料整理,MagicNetWorld 尚未完成独立实测;局限性已在各维度「扣分点」与「未验证」清单中逐项声明。
同分类推荐
编码Agent 分类下的其他 Agent