Pi Agent:112k Star 的极简开源 Coding Agent 工具包
Pi Agent:极简到极致的开源 Coding Agent 工具包
总结
Pi Agent(earendil-works/pi)是一个 MIT 许可证的 TypeScript 开源工具包,核心是一个极度精简的交互式 Coding Agent CLI,搭配统一多 Provider 的 LLM API 层和终端 UI 运行时。它以「极简控制台」为核心理念:系统 Prompt 仅约 200 token(Claude Code 为 10K+ token),4 个内置工具,无内置 MCP 支持,无计划模式,无权限弹窗——全部交给用户自己扩展。GitHub 累计 112,461 stars(截至 2026-10-05),是 2025 年至今增长最快的开源 Coding Agent 之一。
功能与原则
Pi 的核心设计哲学是「把飞船拆回自行车」——作者 Mario Zechner 因不满 Claude Code 的臃肿和封闭,亲手打造了这个极简替代品。它的四大核心包可以独立使用:
@earendil-works/pi-coding-agent:可扩展的交互式 Coding Agent CLI@earendil-works/pi-agent-core:与模型无关的 Agent 运行时(工具调用 + 状态管理)@earendil-works/pi-ai:统一多 Provider LLM API(支持 Anthropic、OpenAI、Google、xAI、Mistral、Groq、Cerebras、Hugging Face、OpenRouter、Ollama 等 20+ Provider、37+ 模型)@earendil-works/pi-tui:终端 UI 库(差分渲染,几乎不闪屏)
设计原则:核心保持极小,扩展全部开放。用户通过 TypeScript Extensions、Skills、Prompt Templates 和 Themes 在运行时加载自定义能力,而非被框架预设绑定。
认可度
- GitHub Star:112,461(截至 2026-10-05),Forks:14,263
- 2025-08-09 首次发布,一年冲出 11 万 star,TypeScript 中大型 AI 项目里的罕见速度
- 2026 年 Hacker News 首发获得 608 分(高质量曝光信号)
- GitHub Trending 常驻,multiple 月度/周度榜单均列 Agent Skills 前列
链接
GitHub:https://github.com/earendil-works/pi
官网:https://pi.dev
npm:@earendil-works/pi-coding-agent
原作者
Mario Zechner(GitHub: earendil-works),独立开发者,同时是 OpenClaw 的 TUI 组件上游来源。 Mario 对底层 API 质量和「代码即真相」的执念,直接体现在 Pi 的代码洁癖和 token 效率优化上。
介绍
Pi 并不是另一个 Claude Code 仿制品,而是一套可组合的 Agent 基础设施。它的 monorepo 架构把 AI Agent 拆成了可独立引用的层级:你可以只用 pi-ai 做统一 LLM 调用,或者只用 pi-agent-core 构建自己的 Agent 运行时,也可以装完整的 pi-coding-agent CLI 在终端里跑任务。
统一 LLM API 层(pi-ai)是目前社区评价最高的部分——市面上大多数统一 API 实现「无法中断请求、不返回部分结果」,在生产环境里根本不可用。Pi-ai 自己写了底层,支持流式输出、工具调用、跨 Provider 上下文交接,以及 token 与成本追踪。Vercel AI SDK 在自托管模型上工具调用总出问题,Pi-ai 则彻底绕过了这个坑。
它的交互式 CLI 通过 TUI 运行,支持 /login 连接内置 Provider 或自己配置 API Key,/tree 和 /fork 命令可以分支会话(从任意历史节点开新分支),/compact 自动压缩旧消息延长上下文而不烧额外 token。
特点
- 超低 Prompt 开销:系统 Prompt 仅约 200 token,相比 Claude Code 的 10,000+ token,每次会话节省约 $0.05(按 Claude Opus 定价)
- 真正的多 Provider 路由:同一任务可随时切换不同模型,DeepSeek V4 Flash 成本 $0.10/M token vs Claude Opus $5/M,500K token 会话成本从 ~$15 降到 ~$0.15
- 无内置权限系统:官方明确建议配合 Docker / OpenShell / Gondolin 微 VM 做沙箱,安全边界由用户自己决定
- 供应链安全规范严格:直接依赖精确版本锁定,同日发布的依赖版本会被拒绝,CLI 打包含 shrinkwrap 文件,含生命周期脚本的依赖走 allowlist + CI 审计
- Monorepo 独立包:pi-ai、pi-agent-core、pi-tui、pi-durable 均可以独立 npm 安装,按需引用
使用方法
安装 CLI(macOS/Linux):
curl -fsSL https://pi.dev/install.sh | sh
安装 CLI(Windows):
irm https://pi.dev/install.ps1 | iex
npm 安装:
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
# 需要 Node.js 22.19+
启动并使用:
cd /path/to/project
pi
# 进入 TUI 后,/login 连接 API Key,然后直接描述任务
内置 Provider 登录:
/login
# 交互式填写 API Key 或连接内置订阅
在代码里引用独立包:
import { createAgent } from '@earendil-works/pi-agent-core';
import { createLLMAdapter } from '@earendil-works/pi-ai';
使用场景与人群
适用场景:需要高度定制化 Coding Agent 的开发者、对比不同模型成本/性能的团队、在受限网络环境自托管 Agent 服务的用户、想理解 Agent 运行时底层逻辑的学习者。
目标用户:TypeScript 开发者、对现有闭源 Agent 工具(Claude Code、Copilot)感到受限希望有自主控制权的工程师、关注 token 成本和供应链安全的团队。
输入与输出案例
案例 1:路由低成本模型处理简单重构
用户让 Pi 将一个 Express 项目迁移到 TypeScript:
输入:「把 src/ 目录下的 JS 文件迁移到 TypeScript,保持类型安全」
模型:DeepSeek V4 Flash($0.10/M token)
输出:自动完成类型转换,生成 tsconfig.json,报告迁移覆盖率
案例 2:分支会话从错误路径恢复
输入:「/fork」从 20 分钟前的一个中间步骤重新开始,无需重跑完整上下文
输入:「/tree」查看当前会话分支结构
输出:显示当前分支树,选择从哪个节点继续
案例 3:使用 pi-ai 统一调用不同 Provider
import { createPiAI } from '@earendil-works/pi-ai';
const ai = createPiAI({ provider: 'anthropic', model: 'claude-sonnet-4-20250514' });
const response = await ai.complete({ prompt: 'Explain this code', tools: [...] });
// 同一接口,切换 provider: 'openai',model: 'gpt-4o' 即可
评论区
登录后可评论。