全栈 AI 代理工具包,提供统一 LLM API(支持 15+ 提供商及订阅制登录)、交互式编码代理 CLI(支持会话树、Steering/Follow-up 消息机制)、Agent 运行时、终端/Web UI 组件库及 vLLM 部署工具。
项目概述#
Pi(Pi Monorepo)是由 Mario Zechner (badlogic) 开发的 TypeScript Monorepo 项目,是一套完整的 AI Agent 基础设施。
核心组件#
| 包名 | 功能 |
|---|---|
@mariozechner/pi-ai | 统一多提供商 LLM API,支持 OpenAI、Anthropic、Google 等 15+ 提供商 |
@mariozechner/pi-agent-core | 有状态 Agent 运行时,支持工具调用和事件流 |
@mariozechner/pi-coding-agent | 交互式编码代理 CLI |
@mariozechner/pi-mom | Slack 机器人,将消息转发给编码代理 |
@mariozechner/pi-tui | 终端 UI 库,支持差分渲染 |
@mariozechner/pi-web-ui | AI 聊天界面的 Web 组件 |
@mariozechner/pi-pods | 管理 GPU pods 上的 vLLM 部署 |
核心功能#
pi-coding-agent 特性#
- 4 种运行模式:interactive、print/JSON、RPC、SDK
- 会话管理:树状结构会话存储为 JSONL 文件,支持
/tree导航和/fork分叉 - 上下文工程:自动加载
AGENTS.md/CLAUDE.md,自动压缩适应上下文窗口 - 消息队列机制:
- Enter 发送 steering message(当前工具执行后交付,打断剩余工具)
- Alt+Enter 发送 follow-up message(代理完成所有工作后交付)
Provider 支持与认证#
订阅认证:Anthropic Claude Pro/Max、OpenAI ChatGPT Plus/Pro、GitHub Copilot、Google Gemini CLI、Google Antigravity
API Key 认证:Anthropic、OpenAI、Azure OpenAI、Google Gemini、Vertex AI、Amazon Bedrock、Mistral、Groq、Cerebras、xAI、OpenRouter、Vercel AI Gateway、ZAI、OpenCode Zen、Hugging Face、Kimi For Coding、MiniMax
扩展系统#
扩展是 TypeScript 模块,可注册:
- 自定义工具(或替换内置工具)
- 自定义命令和键盘快捷键
- 事件处理器
- UI 组件(编辑器、状态栏、footer、overlays)
示例能力:Sub-agents & plan mode、权限控制、SSH & 沙箱执行、MCP 服务器集成、自定义压缩与摘要
Skills 与 Pi Packages#
- Skills:按需能力包,遵循 Agent Skills 标准,通过
/skill:name调用 - Pi Packages:打包 extensions、skills、prompts、themes,通过 npm 或 git 分享
安装与使用#
# 全局安装
npm install -g @mariozechner/pi-coding-agent
# 使用 API Key
export ANTHROPIC_API_KEY=sk-ant-...
pi
# 或使用订阅登录
pi
/login
常用命令#
/login,/logout- OAuth 认证/model- 切换模型/tree- 导航会话树/fork- 从当前分支创建新会话/compact- 手动压缩上下文
配置文件#
- 全局:
~/.pi/agent/settings.json - 项目:
.pi/settings.json(覆盖全局)