Pi Agent 简介
Pi Agent(全称 Pi Coding Agent)是一个极简的终端 AI 编程助手,在命令行界面中通过自然语言对话帮你完成编码任务。
Pi Agent 由 earendil-works 团队开发,核心代码保持精简,同时通过可扩展的插件体系支持各种工作流。
Pi 是一个运行在终端里的 AI 编码 Agent,类似于 Claude Code、OpenAI Codex CLI 这类工具。
Pi 的官方理念是:"There are many agent harnesses but this one is yours"(Agent 工具很多,但这个是你自己的)。

什么是 Pi Agent
Pi Agent 是一个运行在终端(Terminal)中的编程助手。
你可以在项目目录中启动它,用自然语言描述需求,它会读取你的代码、执行命令、修改文件,像一个协作开发者一样工作。
它的核心设计原则是:核心保持最小化,工作流相关的功能通过 Extensions(扩展)、Skills(技能)、Prompt Templates(提示词模板)和 Themes(主题)来实现,而不是内置到核心中。
Pi Agent 有意不内置 MCP、子代理(sub-agent)、权限弹窗、Plan 模式、待办事项(to-dos)和后台 Bash 等功能。如果你需要这些工作流,可以通过扩展或包来安装。
Pi Agent 与其他工具的区别
Pi Agent 的定位与以下工具类似但又有所不同:
| 对比维度 | Pi Agent | Claude Code | GitHub Copilot / Codex CLI |
|---|---|---|---|
| 运行方式 | 终端 TUI | 终端 TUI | 终端 TUI |
| 核心大小 | 极简,无内置 MCP/子代理等 | 功能较多(Hook、MCP、子代理等) | 中等 |
| 扩展方式 | TypeScript 扩展 + Skills + 包 | Hook + MCP 服务器 + Skills | Skills + MCP |
| 支持的 AI 提供商 | 30+ 提供商(订阅 + API Key) | Anthropic API 为主 | GitHub Copilot / OpenAI |
| 会话管理 | 树状分支,支持 fork/clone | 线性 + 分支恢复 | 基本会话管理 |
| 包生态系统 | 有(npm/git 分发包) | 无内置包管理 | Skills 仓库 |
| 本地模型支持 | 内置 llama.cpp 支持 | 不支持 | 不支持 |
核心特性一览
| 特性 | 说明 |
|---|---|
| 多模式运行 | 交互模式、Print 模式(-p)、JSON 模式、RPC 模式 |
| 丰富的 AI 提供商 | 支持 Anthropic、OpenAI、Google Gemini、DeepSeek、Groq、xAI、Mistral 等 30+ 提供商 |
| 内置编程工具 | read(读文件)、write(写文件)、edit(编辑文件)、bash(执行命令)、grep、find、ls |
| TypeScript 扩展 | 自定义工具、事件钩子、命令注册、UI 交互 |
| Skills 系统 | 兼容 Agent Skills 标准,按需加载专业能力 |
| 树状会话 | 支持分支、合并、摘要,轻松探索不同方案 |
| 提示词模板 | 可复用的 Markdown 提示词,支持参数替换 |
| 主题定制 | 51 个颜色令牌,支持暗色/亮色主题和自定义配色 |
| 包管理 | 通过 npm/git 安装和分享扩展、技能、模板和主题 |
| 本地模型 | 内置 llama.cpp 路由器支持,可直接管理本地模型 |
适用场景
Pi Agent 适合以下使用场景:
- 在终端中快速完成代码修改和工程任务
- 需要同时使用多个 AI 模型的开发场景(通过 Ctrl+P 切换)
- 希望通过 TypeScript 编写自定义工具扩展的开发团队
- 需要会话树状分支来探索不同实现方案的场景
- 需要在容器或沙盒中运行的自动化任务
- 希望通过包系统在团队间共享扩展和配置的场景
Pi Agent 是面向开发者的工具,假设你已经熟悉命令行操作。如果你之前没有在终端中工作的经验,可以先花一些时间熟悉基础的 shell 操作。
设计哲学
Pi Agent 的核心理念是:不做大而全,而是提供可组合的基础能力。
它的创作者认为,过多的内置功能会让工具变得臃肿且难以维护。
因此 Pi Agent 将核心限定在最小的可用范围内,其余能力交由扩展系统完成。
这种设计的好处包括:
- 核心代码量小,维护和理解成本低
- 你可以只安装真正需要的功能
- 扩展开发门槛低,TypeScript 文件即可
- 社区可以自由贡献和分享扩展包
