什么是 Pi Agent?它能做什么?
让我们一起来探索这个开源编程 Agent 新范式
Pi Agent 是一个开源的编程 Agent 框架,旨在打造真正为开发者设计的 AI 编程伙伴。 它不是黑盒 AI 产品,而是一套开源的、模块化的、可扩展的 Agent 运行时—— 你可以深入源码,理解机制,甚至定制自己的 Agent Brain。
不是黑盒 AI 产品,而是开源框架——你可以深入源码、理解机制、定制自己的 Agent Brain。
4 个独立包:Agent Runtime、AI Layer、CLI 应用、Terminal UI,可单独使用或自由组合。
通过 pi-ai 统一封装 OpenAI、Anthropic、Google AI 等主流大模型接口,切换模型不影响上层逻辑。
Pi Agent 的设计理念,源于 YouTube 技术博主 ZazenCodes 的 "Build an AI Bookkeeper with Pi Agent Harness" 视频。 它展示了如何用轻量级框架构建专用 AI Agent。
定义 Agent 的角色、性格、行为规范——Agent 的"灵魂"配置文件。
管理指令、记忆、技能——Agent 的"大脑",包含持久化知识。
持久化存储,Agent 跨会话记忆项目上下文和历史决策。
# AGENTS — 角色定义 role: coding-assistant personality: precise, helpful, security-conscious tools: [read, bash, edit, write] # brain — 持久化记忆 project: my-app last_edit: src/api/users.ts context: TypeScript monorepo, D1 database
4 个核心包,依赖关系清晰。pi-ai 提供 AI 能力,pi-agent-core 实现运行时, pi-coding-agent 提供 CLI 应用,pi-tui 负责终端 UI 渲染。
每个包都遵循 MIT 协议,依赖严格锁定,可独立使用也可组合部署。
通用 Agent 运行时核心:传输层抽象、状态管理、附件支持。与 UI 和 LLM 完全解耦。
统一多 Provider LLM API,封装 OpenAI、Anthropic、Google AI 等主流接口,支持流式输出。
交互式编程 Agent CLI,内置 read、bash、edit、write 工具,Session 持久化,Bun 编译输出单文件。
高性能差分渲染终端 UI 库,为编程 Agent 提供富文本输出、语法高亮、进度条等交互体验。
Pi Agent 的设计围绕传输抽象、状态管理、安全容器化三大核心展开。
通过 Transport 接口,Agent 可以是 CLI、HTTP Server、Slack Bot 或自定义协议,完全解耦。
状态机 + Session 持久化,Agent 跨调用记忆项目上下文和历史决策。
内置 read、bash、edit、write 等工具,基于 TypeBox 定义 schema,自动生成接口。
直接依赖精确锁定,npm shrinkwrap 固化所有传递依赖,CI 定期 audit。
pi-ai 封装 OpenAI、Anthropic Claude、Google Gemini,切换模型不影响上层代码。
会话导出 HTML,分享到 HuggingFace 数据集,推动开源社区积累真实 Agent 数据。
Bug 修复、代码审查、重构建议、文档生成。通过 Session 记住项目上下文。
通过 pi-share-hf 工具将修复过程发布到 HuggingFace 数据集,贡献真实开源数据。
收据→OCR→字段提取→存储的自动化管道,Brain 架构让记忆持久化成为可能。
HTTP Server、Slack Bot 或自定义协议服务,结合 Docker 实现完全隔离运行。
树莓派 + Docker + noVNC + Playwright,实现网页表单自动填写,KYC/DDR 文档处理。
Bun 编译输出单文件二进制,无需 Node.js 运行时,零依赖部署,极致轻量。
Pi 不内置权限系统,文档明确建议:通过容器化获得文件系统、进程、网络、凭证的隔离边界。
保持 pi 和 Provider 认证在宿主机,工具和命令路由到本地 Linux Micro-VM(通过 gVisor)。兼顾安全与便利。
Host: pi + API keys
↓ (tools/!cmds)
Micro-VM: isolated fs
最简单方案:将整个 pi 进程运行在 Docker 容器中,适合文件系统和网络需要严格边界的场景。
docker run -v $HOME/.pi:/home/pi/.pi \ -v $(pwd):/workspace pi-agent
通过 policy-controlled sandbox 运行,支持精确的读/写/网络权限策略,适合企业级安全审计需求。
pi run --sandbox \ --allow-read=$PWD \ --deny-network=external
| 特性 | Pi Agent | Cursor | Claude Code | OpenAI Agent |
|---|---|---|---|---|
| 开源协议 | MIT ✓ | 专有 ✗ | 专有 ✗ | MIT ✓ |
| Transport 抽象 | ✓ | ✗ | ✗ | 部分 |
| 多 LLM Provider | ✓ | 限 OpenAI | 限 Anthropic | ✓ |
| Session 持久化 | ✓ | ✓ | ✓ | 基础 |
| Bun 编译输出 | ✓ | ✗ | ✗ | ✗ |
| TUI 差分渲染 | ✓ | ✗ | 基础 | ✗ |
| OSS Session 分享 | ✓ | ✗ | ✗ | ✗ |
| Supply-chain 审计 | ✓ | ✗ | 部分 | 部分 |
Pi Agent 的设计理念源于 ZazenCodes 的 "Pi Agent Harness" 视频,逐步演化为功能完整的开源框架。
ZazenCodes 视频展示如何从零构建轻量级专用 Agent——AGENTS + Brain + Memory 架构。
Mario Zechner 工程化构建:Transport 抽象层 + 状态管理系统,核心与 UI/LLM 完全解耦。
统一多 Provider LLM API:OpenAI、Anthropic、Google AI,为生态系统提供统一 AI 接口。
完整交互式编程 CLI:内置工具 + Session 管理 + Bun 编译输出单文件二进制。
pi-share-hf 发布:会话导出 HTML,分享到 HuggingFace,推动开源 Agent 数据积累。