Pi Agent:TypeScript 全栈 AI Agent 开发底座,一站式统一 LLM API + 终端编码助手

Pi Agent:TypeScript 全栈 AI Agent 开发底座,一站式统一 LLM API + 终端编码助手

Pi 是由知名开发者 Mario Zechner(GitHub @badlogic,经典游戏框架 libGDX 作者)开源的 TypeScript Monorepo 项目,原名 pi-mono,现已迁移至 earendil-works/pi 作为主仓库。该项目提供了一套完整的 AI Agent 开发工具链:统一 LLM API 层(支持 15+ 提供商)、Agent 运行时、交互式终端编码助手 CLI、树状会话历史管理和开放的扩展系统。截至 2026 年 7 月 28 日,GitHub 约达 46,855 颗 Stars,近期持续活跃(v0.69.0 发布于 2026-07-30)。

功能与原则

Pi 的核心设计理念是「最小化 Agent Harness」——不给开发者预设工作流,而是提供原子工具和扩展点,让用户按需定制。其能力层次如下:

  • 统一 LLM API(@earendil-works/pi-ai):一个接口对接 15+ 模型提供商(OpenAI、Anthropic、Google、DeepSeek、MiniMax 等),支持 token 消耗追踪、成本计算和上下文格式自动转换(如将 Anthropic 思考轨迹转为 OpenAI 兼容格式)。
  • Agent 运行时(@earendil-works/pi-agent-core):有状态/无状态 Agent Loop,支持工具调用和状态管理。
  • 编码助手 CLI(@earendil-works/pi-coding-agent):交互式终端工具,原子工具集极简(read/write/edit/bash),System Prompt < 1000 token,极度轻量。
  • TUI 库(@earendil-works/pi-tui):差分渲染的终端 UI 库,支持多端渲染。
  • 可扩展包生态:支持以 npm 或 git 方式打包分发 Extensions、Skills、Prompt Templates、Themes。

设计原则:Adapt Pi to your workflows, not the other way around——工具服务于人,而非框架束缚人。

认可度

  • GitHub Stars:约 46,855(截至 2026-07-28,CSDN 日报记录)
  • 2026 年 GitHub 月度 Trending 多次上榜,是 TypeScript AI Agent 领域的标杆项目之一
  • v0.69.0 最新版本发布于 2026-07-30,保持高频迭代
  • CSDN、博客园等国内技术社区持续有专题解析文章(如「推荐搞 Agent 的把这个 4 万 Star 的 GitHub 项目研究透」)
  • 衍生项目:OdradekAI/opi(Rust 实现版)已获关注

链接

GitHub 仓库:https://github.com/earendil-works/pi

官网:https://pi.dev/

npm 包:https://www.npmjs.com/package/@earendil-works/pi-coding-agent

原作者

Mario Zechner(GitHub @badlogic),奥地利开发者,以开源游戏框架 libGDX(Java/LibGDX 游戏引擎)闻名于游戏开发圈。libGDX 是跨平台游戏开发的经典方案,在 GitHub 拥有数万 Stars。Mario 近年转向 AI Agent 基础设施方向,Pi 项目是其在 AI 时代的最新贡献,延续了其对极简主义和可组合性的追求。

介绍

Pi 不是一个「自带一切」的封闭产品,而是一个开放工具箱

它的核心产品是 @earendil-works/pi-coding-agent——一个运行在终端里的交互式编码助手。Pi 的原子工具只有 4 个(read/write/edit/bash),System Prompt 不到 1000 token,极简到极致。这种设计让用户(或者 AI 本身)可以随时扩展:需要更多工具?直接让 Pi 自己写一个,然后 /reload 生效。

它的 @earendil-works/pi-ai 统一 LLM API 层是另一大亮点。在实际工程中,开发者往往需要同时接入多个模型提供商(贵的做复杂推理,便宜的做简单任务),但各家的 API 格式完全不同。Pi-ai 用一套统一接口封装了 15+ 提供商,支持模型间无缝切换和 token/成本追踪,极大降低了多模型管理的复杂度。

Pi 还提供了树状会话历史:每一次对话分支都保存在同一文件里,可以用 /tree 导航到任意历史节点继续工作,支持导出 HTML 或通过 /share 上传到 GitHub Gist 分享会话。

特点

  • 15+ LLM 提供商统一接入:OpenAI、Anthropic、Google、DeepSeek、MiniMax、Mistral、Groq、Cerebras、xAI、HuggingFace、Moonshot 等,一套代码切换模型
  • 极简编码 Agent:System Prompt < 1000 token,4 个原子工具即可启动,支持让 Agent 自己构建工具
  • 自举式扩展:Pi 可以修改自己的提示词、工具和扩展,重启后立即生效,形成闭环
  • 树状会话历史:分支会话永久保存,支持导航、书签和导出分享
  • 多模式运行:支持交互式、打印/JSON、RPC 和 SDK 四种调用方式,可嵌入 OpenClaw 等外部系统
  • 完整 TUI + Web UI:内置终端 UI 库,也提供 Web 界面

使用方法

安装(一键):

npm install -g @earendil-works/pi-coding-agent

配置鉴权(支持 4 种优先级):

  1. 命令行直接传入:pi --model anthropic/claude-sonnet-4 --api-key sk-ant-xxx
  2. 配置文件 ~/.pi/agent/auth.json(持久化,权限 0600)
  3. 环境变量
  4. ~/.pi/agent/models.json 中的自定义 provider apiKey

基本使用:

# 进入交互式终端
pi

# 指定模型
pi --model deepseek/deepseek-chat

# 以 JSON 模式输出(程序化调用)
pi --print --model anthropic/claude-3-5-sonnet "解释这段代码的作用:..."

扩展安装(以 extension 为例):

# 安装 npm 包
npm install -g @earendil-works/pi-some-extension

# 重载生效
/reload

SDK 程序化调用示例:

import { createPiAgent } from "@earendil-works/pi-agent-core";

const agent = createPiAgent({
  provider: "anthropic",
  model: "claude-3-5-sonnet-20241022",
  apiKey: process.env.ANTHROPIC_KEY,
});

const result = await agent.run({
  task: "在当前目录创建一个 hello.go 输出 Hello World",
});

使用场景与人群

适用场景:

  • 需要同时管理多个 LLM 提供商的 AI 应用开发者
  • 追求极致轻量、想从零定制 Agent 工具链的极客用户
  • 需要多模型路由、成本控制和 token 追踪的 AI 工程团队
  • 希望 Agent 能「自举」——自己构建工具并即时生效的高级用户

目标用户:

  • AI Agent 开发者和研究者
  • 有多模型集成需求的工程团队
  • 喜欢 TypeScript/JavaScript 技术栈的 AI 工具开发者
  • 对极简主义和可组合性有追求的工程师

输入与输出案例

案例一:让 Pi 自己构建一个 GitHub Issue 摘要工具

输入:
帮我写一个 extension,能在 GitHub Issue 页面自动提取标题、标签和第一条评论,保存到本地 JSON 文件。

输出(Pi 自动生成 extension 并写入 ~/.pi/extensions/github-issue-summary.ts):
[Extension created successfully]
Installed extension: github-issue-summary
Use /reload to activate.

案例二:多模型路由场景

输入(pi --model openai/gpt-4o "解释什么是 RLM"):
输出:<标准 GPT-4o 解释,约 200 字>

输入(/model deepseek/deepseek-chat):
[Model switched to DeepSeek Chat]

输入(同一问题):
输出:<DeepSeek 解释视角不同,提及 PrimeIntellect 相关背景>

案例三:会话分支导航

输入(/tree):
[Session tree displayed]
- main (root)
  - branch: fix-login-bug (2026-08-07)
  - branch: refactor-auth (2026-08-08)
    - sub: add-oauth (current)

输入(/goto fix-login-bug):
[Navigated to fix-login-bug branch]
[Session history: 12 messages from 2026-08-07]

Pi Agent 以其极简哲学、强大的多模型统一接入能力和自举式扩展机制,成为 2026 年 GitHub Trending 上的 TypeScript AI Agent 标杆项目。无论是想快速上手编码 Agent 的新手,还是追求高度定制的资深开发者,都能在 Pi 找到适合自己的切入点。


GitHub: https://github.com/earendil-works/pi

评论区

0 条评论

登录后可评论。

Skill超级捕获手 14 阅读