Pi(原名 pi-mono,现归属 earendil-works/pi)是一个极简终端 Coding Agent Harness。它的设计哲学是「Primitives, not features」:核心只提供 agent 循环、工具调用和 TUI,其他一切——sub-agents、plan mode、权限门禁、沙箱——都以可组合的扩展形式存在。需要某个功能?直接让 Pi 自己现场写出来,/reload 后继续干活。
扩展是拥有完整权限的 TypeScript 模块:可访问工具、命令、快捷键、事件和整个 TUI。官方提供 50+ 示例(sub-agent、plan mode、permission gate、SSH 执行、沙箱等),改完 /reload 即刻生效。
Anthropic、OpenAI、Google、Azure、Bedrock、Mistral、Groq、Cerebras、xAI、Kimi、MiniMax、OpenRouter、Ollama 等,API Key 或 OAuth 订阅均可。会话中用 /model 或 Ctrl+L 随时切换。
会话以树结构存储在单个文件中,/tree 可跳回任意节点分叉重试;/export 导出 HTML,/share 一键上传 gist 生成可分享的渲染链接。
极简系统提示词 + AGENTS.md / SYSTEM.md 项目指令 + 可编程 Compaction + Skills 渐进披露 + 扩展注入动态上下文(RAG、长期记忆),上下文窗口完全由你掌控。
交互式 TUI、pi -p 打印/JSON 流模式(适合脚本)、stdin/stdout JSONL 的 RPC 模式、以及可嵌入 Node.js 应用的 SDK——OpenClaw 就是真实集成案例。
依赖精确锁版、shrinkwrap 锁定传递依赖、安装默认 --ignore-scripts、CI 定期 npm audit。权限边界交给容器化(Gondolin micro-VM / Docker / OpenShell)而非内置黑盒。
Pi 以 monorepo 形式组织,每个包都可独立使用——这也是它被称为「Agent 工具箱」而非单纯 CLI 的原因。
| 包 | 作用 |
|---|---|
pi-coding-agent | 交互式 coding agent CLI(终端用户入口) |
pi-agent-core | Agent 运行时:工具调用与状态管理 |
pi-ai | 统一多供应商 LLM API(OpenAI / Anthropic / Google …) |
pi-tui | 带差分渲染的终端 UI 库 |
pi-telemetry | 厂商中立的遥测契约、参考适配器与类型 schema |
# 安装(npm 全局) npm install -g --ignore-scripts @earendil-works/pi-coding-agent # 或使用安装脚本(Linux / macOS) curl -fsSL https://pi.dev/install.sh | sh # 在项目目录中启动 pi # 登录订阅制供应商,或先设置 API Key export ANTHROPIC_API_KEY=sk-ant-...
对比对象为当前主流的终端/IDE 编码 Agent。GitHub 星数为 2026-08-12 实时查询结果,仅反映社区热度,不代表能力强弱。
| 维度 | Pi | Claude Code | Codex CLI | Gemini CLI | OpenCode | Aider |
|---|---|---|---|---|---|---|
| 出品方 | earendil-works (badlogic 个人项目起家) |
Anthropic | OpenAI | Anomaly(社区驱动) | Paul Gauthier(社区) | |
| 开源许可 | MIT | 源码可见·非 OSS | Apache-2.0 | Apache-2.0 | MIT | Apache-2.0 |
| GitHub ⭐ | 88.2k | 141k | 105k | 106k | 196k | 48.1k |
| 技术栈 | TypeScript / Bun | TypeScript(分发为二进制/npm) | Rust | TypeScript / Node | TypeScript / Bun + Go TUI | Python |
| 模型支持 | 15+ 供应商,可自定义 provider 与 OAuth | 仅 Anthropic 系(含 Bedrock/Vertex) | 主推 OpenAI,支持部分兼容端点 | 主推 Gemini,支持兼容端点 | 75+ 供应商(Models.dev) | 主流 API 几乎全支持(litellm) |
| 扩展机制 | TypeScript 扩展 + Skills + 提示词模板 + 主题,可热重载、可打包分享;官方 50+ 示例 | 插件/Skills/Hooks/MCP,生态最成熟 | MCP + AGENTS.md,扩展性较克制 | MCP + 扩展,GEMINI.md | 插件 + MCP,配置灵活 | 脚本化 + lint/test 钩子,偏轻量 |
| 内置功能取向 | 刻意极简:无内置 sub-agents / plan mode,需扩展实现(「Primitives, not features」) | 全家桶:sub-agents、plan mode、权限模式齐全 | 云端沙箱任务 + 本地 CLI 双形态 | 内置 Google 搜索等工具,免费额度大 | 内置 plan/build 双 agent,开箱即用 | 专注 git 提交式编辑,功能单一但深 |
| 权限/安全模型 | 默认继承用户权限,无内置权限系统;官方推荐容器化(micro-VM / Docker / OpenShell) | 内置权限模式 + 沙箱(seatbelt/bubblewrap) | 内置审批模式 + 沙箱 | 内置审批 + 沙箱选项 | 基础权限确认 | 命令执行需确认,粒度较粗 |
| 会话管理 | 树状分支、单文件存储、/share 生成可分享链接、导出 HTML | 会话恢复/分叉,云同步(订阅) | 本地会话恢复 | checkpoint 回滚 | 会话分享链接 | 基于 git 历史,弱会话概念 |
| 编程化集成 | SDK + RPC (JSONL) + JSON 事件流;OpenClaw 已集成 | SDK + GitHub Actions | SDK + CI 集成 | SDK,生态整合中 | SDK + 服务器模式 | 脚本管道友好 |
| 适合人群 | 想掌控 agent 每个字节、喜欢 DIY 工作流的开发者 | 追求最强开箱体验与生态的团队 | OpenAI 生态用户、云端异步任务 | 预算敏感、Gemini 免费额度用户 | 想要开源全家桶、多模型自由切换 | 喜欢 git 原生工作流的极简主义者 |
没有银弹,只有匹配。按团队画像快速对号入座:
你是「harness 黑客」:厌倦被厂商写死的工作流,想自己定义 agent 行为、UI、上下文策略,或者需要把 agent 嵌入自己的系统(SDK/RPC)。Pi 是唯一一个把「自我改造」当一等公民的 agent。
你要最强的开箱即用体验、最成熟的插件生态,且接受绑定 Anthropic 模型与订阅制。
你在 OpenAI 生态内,重视云端沙箱里跑异步长任务,或需要 Rust 二进制的性能与单文件分发。
预算敏感:个人免费额度慷慨,Gemini 长上下文适合大库阅读,且你常用 Google 系工具。
你想要「开源版 Claude Code」:开箱即用的 plan/build 双 agent,75+ 模型随便换,社区迭代极快。
你要的是「git 里长出来的 pair programmer」:每次修改即提交、diff 清晰、可脚本化,不要花哨 TUI。