三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

There Are Many Agent Harnesses, But pi.dev Is Yours

There Are Many Agent Harnesses, But pi.dev Is Yours

Claude Code、Cursor、Codex、Gemini CLI——每个编码 Agent 都有自己的工作流。你得学习它的操作方式,适应它的子 Agent 策略,接受它的权限弹窗。如果某个功能没有内置?等官方更新。

Pi 的哲学完全相反:改造工具适应你的工作流,而不是反过来。

Pi 是一个极简的终端编码 Agent。它提供原语,不提供功能。子 Agent、计划模式、权限管理、MCP 支持——这些在其他工具里是内置的,在 Pi 里你可以自己构建,或者从 3143 个社区包里安装一个。

GitHub 55k star,MIT 协议,由 Earendil Inc. 开发。

这篇文章涵盖什么

  • Pi 的核心哲学:原语而非功能
  • 核心能力
  • 扩展系统和包生态
  • 上下文工程
  • 四种运行模式
  • 和其他 Agent 的定位差异

核心哲学:提供原语,不提供功能

Pi 的 README 有一节叫「What we didn't build」,列出了它故意不内置的功能:

不内置 你怎么获得
MCP 安装 pi-mcp-adapter 包,或用 Skills 构建 CLI 工具
子 Agent 安装 pi-subagents 包,或通过 tmux 启动多个实例
权限弹窗 安装 pi-permission-system 包,或构建自己的审批流
计划模式 安装 plan-mode 扩展,或写入文件
内置 TODO 安装 rpiv-todo 包,或用 TODO.md 文件
后台 Bash 用 tmux

这不是偷懒,而是设计选择。Pi 提供扩展 API(TypeScript 模块),可以访问工具、命令、快捷键、事件和完整 TUI。你不想要的永远不存在,你想要的可以随时加上。

甚至可以让 Pi 自己构建扩展——它会修改自己的代码,你 /reload 后继续工作。

核心能力

15+ 模型供应商,数百个模型

Anthropic、OpenAI、Google、Azure、Bedrock、Mistral、Groq、Cerebras、xAI、Hugging Face、Kimi、MiniMax、OpenRouter、Ollama 等。会话中切换模型:/modelCtrl+LCtrl+P 循环收藏。

树状会话历史

会话存储为树结构。/tree 导航到任何历史节点继续。所有分支在单个文件中。支持书签、过滤、导出 HTML、上传 GitHub Gist 生成可分享 URL。

实时转向(Steering)

Agent 工作时你可以提交消息。Enter 发送转向消息(当前工具执行完后中断后续工具),Alt+Enter 发送追加消息(等 Agent 完成后再处理)。

上下文工程

Pi 的系统提示词非常精简,让你做真正的上下文工程:

  • AGENTS.md:项目指令,从 ~/.pi/agent/、父目录和当前目录加载
  • SYSTEM.md:按项目替换或追加系统提示词
  • Compaction:接近上下文限制时自动摘要旧消息,支持自定义摘要策略
  • Skills:带指令和工具的能力包,按需加载,不占用提示缓存
  • Prompt 模板:可复用提示词,/name 展开
  • 动态上下文:扩展可以注入消息、过滤历史、实现 RAG 或长期记忆

扩展系统

扩展是 TypeScript 模块,拥有完整 API 访问权限。50+ 内置示例:

subagent/          — 子 Agent 系统
plan-mode/         — 计划模式
permission-gate.ts — 权限门控
protected-paths.ts — 路径保护
ssh.ts             — SSH 远程执行
sandbox/           — 沙盒执行
doom-overlay/      — 在终端里玩 DOOM
custom-compaction/ — 自定义上下文压缩
git-checkpoint.ts  — Git 检查点

安装和分享:

# 从 npm 安装
pi install npm:@foo/pi-tools# 从 Git 安装
pi install git:github.com/badlogic/pi-doom# 打包发布到 npm

包生态:3143 个社区包

pi.dev/packages 展示了所有社区提交的包。按下载量排名的热门包:

包名 功能 月下载
context-mode MCP 插件,节省 98% 上下文窗口 117K
pi-subagents 子 Agent 委派,链式/并行执行 99.8K
pi-mcp-adapter MCP 协议适配器 88.9K
pi-web-access 网页搜索、URL 获取、YouTube 理解 59.8K
rpiv-ask-user-question 结构化问卷(替代自由输入) 37.2K
rpiv-todo TODO 覆盖层(会话重启不丢失) 33.2K
pi-lens 实时代码反馈(LSP/linter/类型检查) 21K
pi-chrome 使用你已登录的 Chrome 10.7K
pi-hermes-memory 持久记忆 + 会话搜索 8.8K
pi-telegram Telegram 运行时适配器 8.2K

这些包都是社区用 Pi 的扩展 API 构建的,不是官方预制的。

四种运行模式

模式 用途
Interactive 完整 TUI 体验,日常编码
Print/JSON pi -p "query" 脚本化,--mode json 事件流
RPC JSON over stdin/stdout,非 Node 集成
SDK 嵌入到你的应用中

OpenClaw(GitHub 374k star)就是用 SDK 模式把 Pi 嵌入为自己的编码引擎。

安装

# macOS / Linux
curl -fsSL https://pi.dev/install.sh | sh# Windows PowerShell
powershell -c "irm https://pi.dev/install.ps1 | iex"# npm / pnpm / bun
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
pnpm add -g --ignore-scripts @earendil-works/pi-coding-agent
bun add -g --ignore-scripts @earendil-works/pi-coding-agent

和其他 Agent 的定位对比

维度 Pi Claude Code Cursor Codex
核心哲学 极简 + 可扩展 全功能一体化 IDE 集成 安全优先
子 Agent 扩展(可安装) 内置 内置 有限
MCP 扩展(可安装) 内置 内置
权限管理 扩展(可安装) 内置弹窗 内置 沙盒
供应商锁定 15+ 供应商 Anthropic 多供应商 OpenAI
包生态 3143 个社区包 Skills
可嵌入 SDK 模式
模型切换 会话中切换 固定 可选 固定
开源 MIT

关键区别:Pi 不是给你一套固定的功能让你适应,而是给你一套 API 让你构建自己想要的工作流。

技术栈

  • TypeScript — 全栈
  • Node.js — 运行时
  • MIT 协议
  • pnpm monorepo — 包管理

适用场景

  • 定制控:不喜欢 Claude Code 的子 Agent 策略?用 Pi 构建你自己的
  • 多模型用户:同一个会话中随时切换 Anthropic/OpenAI/Google/本地模型
  • 工具构建者:用 Pi 的扩展 API 构建工具,打包分享给社区
  • 集成开发者:用 SDK/RPC 模式把 Pi 嵌入你的产品
  • 极简主义者:只想要一个终端 Agent,其他什么都自己搭

作者: itech001
来源: 公众号:AI人工智能时代
网站: https://www.theaiera.cn/
每日分享最前沿的AI新闻资讯和技术研究。

本文首发于 AI人工智能时代,转载请注明出处。

← 返回列表