当所有 AI 编程工具都在"帮你决定一切"的时候,Pi 走了完全相反的路:给你一个最小核心,剩下的你自己组装。3000+ 社区包、50+ 扩展示例、30+ LLM 供应商——这不是一个产品,这是一个生态

🔗 **项目主页:**pi.dev

📂 **GitHub:**earendil-works/pi

📜 **开源协议:**MIT

一、Pi 是什么?

Pi 是一个极简主义的开源 AI 编程 Agent 框架,核心理念只有八个字:“提供原语,而非功能”(Primitives, not features)。

什么意思?Cursor 帮你内建了 Tab 补全、Windsurf 帮你内建了 Cascade 流程、Copilot 帮你内建了 Chat 面板——Pi 什么都不内建。它只给你四个工具(读、写、编辑、运行命令),然后说:

“你需要什么功能,自己搭。搭不了?让我帮你搭。”

这就是 Pi 最特别的地方——它可以自己改造自己。你让 Pi 构建一个子代理系统,它写完代码后 /reload 立刻生效,Pi 就有了子代理能力。

二、三个独特优势

🎯 优势一:30+ LLM 供应商,想用谁用谁

Pi 支持 Anthropic、OpenAI、Google Gemini、Azure、Bedrock、Mistral、Groq、Cerebras、xAI、DeepSeek、Hugging Face、Kimi、MiniMax、小米 MiMo、OpenRouter、Ollama 等 30+ 供应商。

认证方式灵活:

  • API Key:export ANTHROPIC_API_KEY=***

  • OAuth 订阅:/login 直接登录 Claude Pro/Max、ChatGPT Plus/Pro、GitHub Copilot

  • 自定义供应商:通过 models.json 或扩展实现任意 API

会话中随时切换模型:

  • /modelCtrl+L → 打开模型选择器

  • Ctrl+P → 在收藏模型间快速循环

  • Shift+Tab → 切换思考深度

💡 **实战场景:**你可以让 Pi 先用便宜快速的模型(如 Groq + Llama)做初步代码分析,遇到复杂逻辑时一句话切到 Claude Sonnet 4 深度推理——同一个会话,无需重启。

🌳 优势二:树状会话——AI 对话的"存档系统"

Pi 的会话不是线性列表,而是一棵。你可以从任何历史节点分叉,探索不同方案后随时回溯——就像游戏的存档系统。

  • /tree → 跳转到任意历史节点

  • /fork → 从某个消息分叉出新会话

  • /share → 上传到 GitHub Gist 分享

  • /export → 导出为 HTML

📎 **示例会话:**在线体验

🧠 优势三:上下文工程——专业玩家的控制权

  • **AGENTS.md:**全局 + 项目级指令,启动时自动加载

  • **SYSTEM.md:**按项目替换或追加系统提示词

  • **自动压缩(Compaction):**接近上下文限制时自动摘要

  • **技能(Skills):**按需加载,渐进式揭示,不浪费 token

  • **动态上下文注入:**扩展可以注入消息、过滤历史、实现 RAG

三、四层积木架构

包名职责 pi-coding-agent交互式编程 Agent CLI + TUI pi-agent-coreAgent 运行时(工具调用、状态管理) pi-ai统一多供应商 LLM API pi-tui终端 UI 库(差量渲染)

💡 **关键洞察:**每一个包都可以单独使用。只想用统一 LLM API?装 pi-ai 就行。这种分层设计让 Pi 不只是工具,更是构建块。

四、扩展系统:让 Pi 成为"任何东西"

五行代码写一个危险操作守卫扩展:

`// ~/.pi/agent/extensions/danger-guard.ts import type { ExtensionAPI } from “@earendil-works/pi-coding-agent”;

export default function (pi: ExtensionAPI) { pi.on(“tool_call”, async (event, ctx) => { if (event.toolName === “bash” && event.input.command?.includes(“rm -rf”)) { const ok = await ctx.ui.confirm(“Dangerous!”, “Allow rm -rf?”); if (!ok) return { block: true, reason: “Blocked by user” }; } }); }`


保存后 `/reload` 立即生效。AI 执行 `rm -rf` 前会弹窗让你确认。

**官方 50+ 扩展示例:**
- 

- **subagent** — 子代理
- 

- **plan-mode** — 计划模式(先规划再执行)
- 

- **permission-gate** — 权限门控
- 

- **protected-paths** — 路径保护
- 

- **ssh** — 远程 SSH 执行
- 

- **sandbox** — 沙箱隔离

### 技能系统(Skills)

技能是**按需加载**的能力包,遵循 Agent Skills 标准。启动时只有 name 和 description 在上下文中,当任务匹配时才加载完整指令。

## 五、社区生态:3000+ 包

`# 子代理系统
pi install npm:pi-subagents

# 网络搜索 + 网页抓取 + PDF 提取
pi install npm:pi-web-access

# MCP 协议适配器
pi install npm:pi-mcp-adapter

# 持久记忆
pi install npm:@samfp/pi-memory

# 从 Git 安装
pi install git:github.com/badlogic/pi-doom`

包名功能月下载 context-modeMCP 插件,节省 98% 上下文窗口117K pi-subagents子代理:链式/并行执行99.8K pi-mcp-adapterMCP 协议适配88.9K pi-web-access网络搜索、URL 抓取、PDF 提取59.8K

六、pi-mainframe:5 分钟搭 Web 服务

`npx pi-mainframe

打开 http://127.0.0.1:8888`


你得到:Web UI、REST API、SSE 实时流、Daytona 沙箱、xAI TTS 语音播报、定时任务。

## 七、手把手教程

### 第一步:安装

`npm install -g --ignore-scripts @earendil-works/pi-coding-agent

# 或者 curl(Linux/macOS)
curl -fsSL https://pi.dev/install.sh | sh`

第二步:认证

`export ANTHROPIC_API_KEY=sk-ant…here pi

或者 OAuth 订阅登录

pi

输入 /login 选择供应商`


### 第三步:开始对话

`cd your-project
pi`

默认提供四个工具:read(读文件)、write(写文件)、edit(编辑文件)、bash(执行命令)。

第四步:添加项目指令

在项目根目录创建 AGENTS.md

`# 项目指令

  • 代码修改后运行 npm run check
  • 不要在本地运行生产环境迁移
  • 回复保持简洁`

修改后 `/reload` 即生效。

### 第五步:安装扩展

`pi install npm:pi-web-access
pi install npm:pi-subagents
/reload`

第六步:写自定义扩展

创建 ~/.pi/agent/extensions/my-first-extension.ts

`import type { ExtensionAPI } from “@earendil-works/pi-coding-agent”; import { Type } from “typebox”;

export default function (pi: ExtensionAPI) { pi.registerTool({ name: “timestamp”, label: “时间戳”, description: “获取当前时间戳”, parameters: Type.Object({}), async execute(id, params, sig, upd, ctx) { return { content: [{ type: “text”, text: 当前时间: ${new Date().toISOString()} }], details: {}, }; }, }); pi.registerCommand(“hello”, { description: “打个招呼”, handler: async (args, ctx) => { ctx.ui.notify(Hello ${args || "world"}!, “info”); }, }); }`


`/reload         # 重载扩展
/hello 世界    # 测试命令`

八、四种运行模式

模式命令适用场景 交互模式pi日常编程 单次执行pi -p query脚本/CI JSON 事件流--mode json程序集成 SDKimport { Pi }嵌入应用

💡 **真实案例:**OpenClaw 通过 Pi SDK 将编程 Agent 嵌入自己的系统,实现了跨平台的消息驱动编程能力。

九、Pi 的哲学:为什么"少"是"多"

维度传统工具Pi 功能内建、固定用户自建、按需加载 模型绑定供应商30+ 供应商自由切换 扩展等官方更新写个 TS 文件即刻生效 上下文黑箱管理完全可控 会话线性历史树状分支,任意回溯

十、总结

适合你,如果你:

  • 是专业开发者,想要对 AI 编程工具的完全控制权

  • 需要在多个 LLM 模型间灵活切换

  • 想要构建自定义的 AI 编程工作流

  • 希望将 AI 编程能力嵌入到自己的产品

  • 喜欢终端,享受"一切皆可定制"的体验

Pi 代表了 AI 编程工具的另一种可能——不是产品定义用户,而是用户定义产品。

🔗 相关链接

官网 · GitHub · 包市场(3128+) · Discord · 文档