终端里的 AI 编程助手:pi-mono 全面解析一个工具包,搞定 AI Agent 开发的所有基础设施背景:现有工具哪里不够用?过去两年,AI 编程助手如雨后春笋:GitHub Copilot、Cursor、Claude Code……但开发者在实际使用中常常碰到三堵墙:第一堵墙:绑定死了。工具和特定 LLM 提供商强绑定,换个模型就要换整套工具链。第二堵墙:不能改。想自定义行为?要么 fork 源码,要么对着文档苦等官方更新。第三堵墙:散装的。想在终端用、又想接 Slack、还想跑自己的模型服务,需要东拼西凑好几套工具。pi-mono就是为了解决这三个痛点而生的。pi-mono 是什么?pi-mono 是一个开源的AI Agent 工具包,项目的核心定位是:“AI agent toolkit: coding agent CLI, unified LLM API, TUI web UI libraries, Slack bot, vLLM pods”换成大白话就是:一个 monorepo,包含了从「和 AI 对话写代码」到「部署自己的模型服务」全流程所需的所有基础设施。项目由Mario Zechner(libGDX 作者,游戏开发界知名开发者)主导开发,目前活跃度极高,几乎每天都有更新。核心子包一览包名定位@mariozechner/pi-coding-agent核心:终端编程 Agent CLI@mariozechner/pi-ai统一 LLM API,支持多家提供商@mariozechner/pi-tui终端 UI 库(差分渲染)@mariozechner/pi-web-uiWeb 端 AI 对话 UI 组件@mariozechner/pi-momSlack Bot,将消息委托给 pi agent@mariozechner/pi-pods管理 vLLM 在 GPU Pod 上部署的 CLI核心功能详解1. pi 编程 Agent —— 终端里的"轻量 Claude Code"pi是整个项目的门面。它是一个跑在终端里的 AI 编程助手,但和市面上大多数工具不同,它的设计哲学是:“Adapt pi to your workflows, not the other way around.”让工具适应你的工作流,而不是反过来。默认工具集极简:开箱即用只给模型四个工具 ——read(读文件)、write(写文件)、edit(编辑文件)、bash(执行命令),刻意不加子 Agent 和 Plan Mode,保持轻量。四种运行模式:Interactive:交互式 TUI 界面Print / JSON:打印输出,适合脚本调用RPC:进程间集成SDK:嵌入到自己的应用中会话管理:会话自动保存到~/.pi/agent/sessions/,支持分支浏览、时间线回溯(/tree命令),类似 Git 分支的概念管理对话历史。2. 统一 LLM API —— 一套代码打天下pi-ai包提供了统一的多模型接口,一套 API 调用 OpenAI、Anthropic、Google 等多家提供商:import{getModel,stream,Context}from'@mariozechner/pi-ai';// 支持自动补全的强类型调用constmodel=getModel('openai','gpt-4o-mini');constcontext:Context={systemPrompt: