智算多多
官方邮箱:service@zsdodo.com

公司地址:北京市丰台区南四环西路188号总部基地三区国联股份数字经济总部


京公网安备11010602202532号 先简单理解一下。传统 AI 编程工具通常是:
用户 → 聊天窗口 → 大模型 → 代码建议
而 Coding Agent 更像:
用户提出目标 → Agent → 读取代码 → 分析项目 → 调用工具 → 修改文件 → 执行命令 → 运行测试 → 继续修复
Pi 就是专门围绕这种 Agent 工作模式打造的。官方把它描述为:AI agent toolkit:统一 LLM API、Agent Loop、TUI、Coding Agent CLI。
它的核心并不是某一个模型,恰恰相反:Pi 希望把 Agent 本身做成一个可以自由组合、自由扩展的基础设施。

我认为 Pi 最值得关注的地方,不是它又支持了多少个模型,而是它把"AI Agent"本身进行了模块化。 目前整个项目主要由几个核心部分组成:
| 模块 | 作用 |
|---|---|
| pi-ai | 统一多模型 API |
| pi-agent-core | Agent Runtime |
| pi-coding-agent | Coding Agent CLI |
| pi-tui | Terminal UI |
| pi-telemetry | Telemetry 相关能力 |
官方仓库也明确列出了这些核心 Package。
这意味着开发者可以根据自己的需求选择不同层级。你可以直接使用 Pi, 也可以基于 Pi 构建自己的 Agent, 甚至可以把 Pi 当成一个 Agent Runtime。 这才是这个项目真正有意思的地方。
Pi 的开发哲学里有一句非常重要的话:
Pi's core is minimal.
也就是核心保持最小化。 官方 CONTRIBUTING 文档明确强调,如果一个功能不属于核心,那么更应该通过 Extension 实现,而不是不断往 Core 里面塞功能。
这其实是一个非常重要的工程思想。很多项目发展到后期都会出现一个问题:
核心功能 + 插件功能 + 第三方需求 + 各种兼容逻辑 + 历史包袱 = 越来越复杂
最后开发者连核心代码都不敢动。Pi 反过来做,它希望:
Core
把越来越多的能力放到核心之外。这样做的好处就是:核心保持稳定,外围负责创新。
如果让我选择 Pi 最值得研究的一个功能,我会选择 Extension。 Pi 的 Extension 本质上就是 TypeScript 模块。开发者可以通过 Extension:注册新的 Tool、注册命令、注册快捷键、监听 Agent 生命周期、拦截 Tool Call、修改上下文、自定义 UI、保存状态、接入外部系统、注册新的模型 Provider。
官方文档甚至直接给出了完整的 Extension API。例如:
import { ExtensionAPI } from "@earendil-works/pi-coding-agent"
export default function (pi: ExtensionAPI) {
pi.registerCommand({
name: "hello",
description: "Say hello",
handler: async () => {
return { message: "world", level: "info" }
}
})
}
然后就可以给 Pi 增加自己的命令。这就意味着:Pi 不只是一个 Coding Agent, 它实际上正在变成一个 Coding Agent 开发平台。
这一点对于开发者来说尤其重要。比如你正在做一个企业内部 AI 编程助手,你可能希望 Agent 拥有这些能力:查询 Jira → 查询 GitLab → 读取内部 API 文档 → 查询数据库 → 检查 CI → 创建 Issue → 生成代码。
传统方式可能需要自己重新开发一套 Agent Framework,而 Pi 可以通过 Extension 增加自定义 Tool。官方文档提供了 pi.registerTool() 机制,可以让模型直接调用开发者定义的工具。
于是整个架构就变成:
┌── GitLab │ Pi Agent ─ ┼── Jira │ ├── 数据库 │ ├── 内部 API │ └── 企业知识库
这也是为什么我认为:Pi 更像一个 Agent Harness,而不仅仅是一个 AI Coding CLI。
另一个非常重要的设计:Pi 并不绑定某一个大模型厂商。 官方 Provider 文档显示,Pi 支持订阅型 Provider 和 API Key 型 Provider,并提供统一的模型目录与认证机制。
目前可以接入包括:OpenAI / Codex、Anthropic、Google、GitHub Copilot、xAI、OpenRouter、Qwen、MiniMax、Kimi、Hugging Face、Together AI、Fireworks、llama.cpp 以及自定义 Provider。
这对于开发者来说非常重要,因为 AI Agent 最终不应该被某一家模型厂商锁死。你可以:
甚至可以自己注册 Provider。官方提供了 pi.registerProvider(),允许开发者接入代理、自建模型服务、企业 API、OAuth/SSO 等场景。
这一点非常适合国内开发者。Pi 支持 llama.cpp Router,也就是说,你完全可以:
Pi → llama.cpp
这样就不一定需要所有请求都发送到云端。
当然,本地模型能不能真正承担复杂 Coding Agent 工作,还取决于:模型能力、上下文长度、Tool Calling、推理能力、本地硬件、推理速度。但从架构角度来说:Pi 已经把这条路铺出来了。
如果你想体验 Pi,官方目前推荐通过 npm 安装:
npm install -g @earendil-works/pi-coding-agent
然后进入自己的项目:
cd your-project
官方 Quickstart 也是这个流程。
Linux/macOS 还可以使用官方安装脚本:
curl -fsSL https://get.pi.dev | sh
安装之后直接 pi 就可以启动。
启动 Pi 之后,可以使用 /login 选择对应 Provider。例如官方当前文档列出的订阅型 Provider 包括:ChatGPT Plus/Pro、Claude Pro/Max、GitHub Copilot、xAI、OpenRouter、Radius。
API Key 模式也可以通过环境变量或者认证文件进行配置。这意味着:Pi 更像一个统一的 Agent 工作台, 模型只是其中的一部分。
如果你不想使用终端 UI,也可以使用:
pi --mode rpc
Pi 会通过 stdin/stdout 提供 JSON 协议。官方明确说明,这种模式适合:嵌入其他应用、IDE、自定义 UI、自动化系统。
这一下就打开了非常大的想象空间。例如:
Web IDE → Pi RPC → Agent Runtime → 模型
或者:
企业开发平台 → Pi SDK → Agent Runtime → 企业模型
你甚至可以完全不使用 Pi 默认的终端界面。
Pi 并不是只能通过 CLI 使用,官方提供 SDK。可以直接:
npm install @earendil-works/pi-agent
然后在 Node.js / TypeScript 项目中创建 Agent Session。例如:
import { createAgentSession } from '@earendil-works/pi-agent'
const session = await createAgentSession()
await session.run("分析当前项目结构,并告诉我应该如何优化")
这意味着 Pi 可以成为你自己应用里的 Agent 引擎。
这可能是整个项目最有意思的一点。官方文档直接写了:
pi can create extensions.
也就是说,你甚至可以直接让 Pi 帮你开发 Pi Extension。这会形成一种非常有意思的循环:
Pi → Extension → 新能力 → 更强的 Pi
于是 Agent 本身开始拥有 自我扩展能力。
当然,这并不意味着它可以无限制地"自我进化"。实际开发仍然需要:权限控制、代码审核、测试、安全隔离、人工确认。但从开发范式来说,这已经非常接近 Agent → Agent Platform。
除了 Extension,Pi 还设计了 Package 机制。一个 Package 可以同时包含:Extensions、Skills、Prompt Templates、Themes,然后通过 npm 或 Git 安装。例如:
pi install npm:@your-org/pi-package
官方 Package 文档也明确支持这种扩展方式。现在 Pi 官方 Package Catalog 已经出现了大量第三方扩展包。
这意味着 Pi 正在慢慢形成自己的生态:
Pi → Package → Extension → Skill → Theme → Developer
如果这个生态继续发展下去,Pi 的价值可能就不仅仅是一个 GitHub 项目。
这里一定要提醒大家。Pi 不是一个默认沙箱化的安全环境。 官方明确说明:Pi 默认运行在启动它的用户权限边界内,并没有内置权限系统去限制文件系统、进程、网络或者凭据访问。
简单来说:如果你在自己的电脑上运行 Pi,那么 Agent 可能拥有和当前用户相同的系统权限。
尤其是 Extension。官方文档明确提醒:Extension 可以执行任意代码,并拥有完整系统权限。所以不要看到 pi install npm:xxx 就什么包都直接安装。尤其是第三方 Extension、第三方 Skill、第三方 Package,一定要先看源码。
企业环境则应该考虑:Docker、VM、Sandbox、MicroVM 等隔离方案。Pi 官方也提供了容器化相关方案说明。
其实答案并不复杂。AI 编程工具正在经历一个变化:
到了第四阶段之后,大家真正需要的就不再只是一个聊天 UI,而是 Agent Runtime。 这正是 Pi 所在的位置。
如果只把 Pi 当成"又一个 Claude Code / Codex 替代品",其实低估它了。更准确的理解应该是:
| 类型 | 核心定位 |
|---|---|
| AI Chat | 和模型聊天 |
| AI IDE | AI 辅助写代码 |
| Coding Agent | AI 自动完成开发任务 |
| Pi | 可扩展的 Agent Harness |
Pi 更关注:Agent 如何运行、Agent 如何调用工具、Agent 如何扩展、Agent 如何接入不同模型、Agent 如何嵌入其他产品。 这也是它值得开发者研究的原因。
我建议从三个方向入手。
第一种:直接当 Coding Agent。 最简单。安装:
npm install -g @earendil-works/pi-coding-agent
然后 cd your-project && pi,直接让它帮助你:分析项目、重构代码、修 Bug、运行测试、写脚本、解释代码。
第二种:开发自己的 Extension。 例如做一个 /commit、/review、/test、/deploy、/docs,甚至可以 /query-db、/query-jira、/query-gitlab,把企业内部能力接进 Agent。
第三种:把 Pi 当 Agent SDK。 如果你正在做 AI IDE、企业 AI 开发平台、自动化 Coding Agent、AI DevOps、AI Code Review、内部研发助手,那么可以直接研究 createAgentSession() 以及 RPC 模式,把 Pi 放到自己的产品后面。官方 SDK 和 RPC 都已经提供了对应能力。
这是我认为最值得讨论的地方。如果 Pi 只是做一个 Coding Agent,那么它面对的竞争会非常激烈。但是如果它最终变成:
Pi
│
┌───────┼────────┐
↓ ↓ ↓
Models Tools Extensions
│ │ │
└───────┼────────┘
↓
Agent Runtime
↓
┌───────┼────────┐
↓ ↓ ↓
CLI IDE Web
↓
Enterprise
那它就不再是一个简单的 AI 编程工具,而是 一个开放式 AI Agent 基础设施。 这可能才是 Pi 最值得关注的地方。
这几年我们看到的 AI 编程工具,大多在争夺一个问题:谁的 Agent 更聪明? 但 Pi 走的是另外一条路线:能不能把 Agent 做成一个真正开放、可扩展、可组合的开发平台?
从目前的架构来看,它已经具备了不少关键组件:统一模型 API + Agent Runtime + Coding CLI + TUI + Extension + Package + SDK + RPC。 而且项目目前仍然非常活跃,GitHub 仓库已经拥有超过 8.8 万 Stars,并持续快速迭代。
所以,如果你是一名前端、Node.js、全栈或者 AI 开发者,我非常建议把 Pi 放进你的开源项目观察列表。
它最值得研究的,可能并不是"Pi 能不能替代某个 AI 编程工具?"而是"未来我们自己做 AI Agent,到底还需不需要从零开始造轮子?" 而 Pi 给出的答案,可能是:不一定。你可以直接站在 Agent Runtime 上继续往上构建。
GitHub:https://github.com/earendil-works/pi
官方文档:https://pi.dev/docs/latest
一句话总结:Pi 表面上是一个 Coding Agent,实际上更像是一套让开发者自己构建 Coding Agent 的基础设施。 这可能才是它真正值得关注的原因。
