2026 年,几乎每个人都想打造一个属于自己的 AI Agent。
不需要从零开始摸索,也无需重复造轮子。
今天要推荐的这款开源项目,已经把 Agent 的底层架构打磨得异常精简。如果你想开发自己的 Agent,这个项目非常值得深入研究。

它叫 pi-mono。
OpenClaw 的核心运行时,正是基于 Pi 的 SDK 构建的。
OpenClaw 的 README 中明确写道:特别感谢 Mario Zechner 的支持以及 pi-mono。

Pi-mono 也借助 OpenClaw 的成功,一举冲到了 4 万 GitHub Star。
对于一个底层工具链项目来说,这个成绩已经相当亮眼。
那么,OpenClaw 为什么选择 Pi 作为底层?
因为 Pi 实现了一件极其困难的事:极致简洁,却又不失强大。今天就来分析一下,它究竟做对了哪些事情。
01 项目简介
pi-mono 是一个 TypeScript 单仓项目,专门用于构建 AI Agent 和管理 LLM 部署。
它的核心产品叫做 Pi,是一个运行在终端里的编程 Agent,你可以在项目目录中直接用它读取文件、写入文件、编辑代码、执行命令。

项目的作者是 Mario Zechner,网名 badlogic,同时也是 libGDX 游戏框架的作者。他曾在 AI Engineer London 上做过一次演讲。
演讲的标题是:我讨厌每一个 Coding Agent,所以我自己写了一个。
听起来相当霸气。

- 开源地址:github.com/badlogic/pi-mono
02 Pi 的极简哲学
Pi 与其他 Coding Agent 最大的不同,在于它的设计理念。
大多数 Agent 工具恨不得把所有功能都塞进去:MCP 支持、子 Agent、Plan 模式、权限弹窗、内置 Todo。
功能列表越来越长,但你实际用到的可能不到三分之一。
Pi 反其道而行之。
它的核心只有四个工具:read、write、edit、bash。系统提示词不到 1000 个 token,是所有主流 Agent 中最短的。
它刻意没有内置这些功能:
- 没有 MCP
- 没有子 Agent
- 没有权限弹窗
- 没有 Plan 模式
- 没有内置 Todo
- 没有后台 Bash
这些功能不是做不了,而是让你通过 Extensions、Skills、Packages 按需扩展。
Pi 的理念是:让工具适应你的工作流,而不是让你去适应工具。
简单来说,Pi 提供了一个干净的内核,剩下的由你自己搭建。如果不想自己搭,直接安装别人做好的包也行。
这也是 OpenClaw 选择它的原因:底层足够干净,上面才能搭建出足够复杂的东西。
03 架构拆解,七个包各司其职

pi-mono 把 Agent 开发所需的每一层都拆分成了独立的 npm 包,你需要哪一层就用哪一层:
pi-ai:统一的多提供商 LLM API。
一个接口对接 20 多个 LLM 提供商,包括 OpenAI、Anthropic、Google、Azure、Kimi、MiniMax、Hugging Face 等。
你不需要关心每个提供商的 API 差异,pi-ai 已经帮你抹平了。
这个包完全可以单独拿出来使用。
pi-agent-core:Agent 运行时。
负责工具调用循环、状态管理、上下文维护等核心逻辑。只依赖 pi-ai,非常轻量。

pi-coding-agent:终端编程 Agent 主产品。
就是那个 pi 命令行工具,包含完整的会话管理、扩展系统、UI 渲染。
它也暴露了 SDK,OpenClaw 就是通过这个 SDK 把 Pi 嵌入到自己的网关中的。
pi-tui:终端 UI 库,差分渲染引擎。你在终端里看到的那些漂亮界面就是它绘制的。
pi-web-ui:Web 端的聊天组件。如果你想在浏览器中做一个 AI 对话界面,直接使用即可。
pi-mom:Slack 机器人。把 Pi 接入 Slack,频道消息自动委托给 Pi Agent 处理。
pi-pods:管理 vLLM 在 GPU Pod 上的部署。如果你要运行自己的模型,这个包能帮你在远程 GPU 上管理推理服务。
重点来了,这七个包每一个都可以独立使用。
你不需要使用整个 Pi,只用 pi-ai 来统一 LLM 调用也行,只用 pi-agent-core 来搭建自己的 Agent 运行时也行。这就是模块化设计的威力。
04 几个突出特性
① 20+ LLM 提供商统一接入
一个 API 对接 20 多个提供商,支持两种认证方式:API Key 和 OAuth 订阅登录。
你可以直接用 Anthropic Claude Pro/Max、OpenAI ChatGPT Plus、GitHub Copilot 的订阅来运行 Pi,无需单独购买 API 额度。
切换模型也很方便,Ctrl+L 直接呼出模型选择器,Ctrl+P 在多个模型之间快速轮换。
② Sessions 树状分支
Pi 的会话使用 JSONL 文件存储,每个条目都有 id 和 parentId,形成树状结构。
你可以在对话中的任意历史节点分叉出去探索新方向,所有历史都保留在一个文件中。
输入 /tree 可以查看完整的对话树,支持折叠、展开、搜索、跳转。像 Git 一样管理对话历史,这个设计确实很巧妙。
③ Extensions 扩展机制
使用 TypeScript 编写扩展,可以自定义工具、命令、快捷键、UI 组件,甚至可以替换内置工具。
你还可以通过扩展添加自定义的 LLM Provider。
社区里有人做了一个 Doom 扩展,在等待 Agent 回复的时候可以在终端里玩 Doom,非常离谱但确实能运行。
④ Skills 技能系统
遵循 Agent Skills 标准,一个 Markdown 文件就是一个技能。零代码就能扩展 Agent 的能力。
⑤ Pi Packages 生态
把你的扩展、技能、提示词模板、主题打包成 npm 包,一行命令安装:
pi install npm:@foo/pi-tools
pi install git:github.com/user/repo
还有 pi.dev/packages 画廊页面展示社区包。
⑥ 四种运行模式
除了默认的交互式终端模式,Pi 还支持:
– Print/JSON 模式:非交互输出
– RPC 模式:通过 stdin/stdout 做 JSON-RPC 通信,方便其他进程集成
– SDK 模式:作为库嵌入到你自己的应用里,OpenClaw 就是这么用的
⑦ 上下文压缩
长会话会把上下文窗口撑爆。
Pi 支持自动和手动两种压缩方式,将旧消息总结精简,最近的对话保持原样。
完整历史仍在文件中,随时可以通过 /tree 回溯。
05 5 分钟上手
安装就一行命令:
npm install -g @mariozechner/pi-coding-agent
然后设置 API Key:
export ANTHROPIC_API_KEY=sk-ant-...pi
或者直接用订阅登录:
pi
# 输入 /login,选择提供商,浏览器里完成授权
启动后就是一个交互式终端界面。直接打字对话就行,输入 @ 可以模糊搜索项目文件引用,输入 ! 加命令可以直接运行 bash 并把结果发给 LLM。
几个常用快捷键:
- Ctrl+L:切换模型
- Ctrl+P:在多个模型间轮换
- Shift+Tab:切换思考等级
- Escape 按两次:打开对话树
想安装社区包的话,只需执行:
pi install npm:包名
若要编写自己的扩展,在 ~/.pi/agent/extensions/ 目录下新建一个 .ts 文件即可。
06
立即体验
与 Claude Code 相比,Pi 更加简洁且高度可定制。它是终端原生工具,而非 IDE 插件。
它更轻量,也更透明,Pi 不会在系统提示词中偷偷添加额外内容。
如果你是 Agent 开发者,希望基于成熟的底层框架构建自己的产品,那么 Pi 的 SDK 和 pi-ai 包正是为你量身定做。
OpenClaw 的成功已经验证了这一路径的可行性。
如果你追求透明、拒绝使用黑箱工具,Pi 的系统提示词不足 1000 token,所有行为都清晰可见。
4 万 Star 绝非浪得虚名。
Pi 的社区有几个亮点值得关注:
贡献机制独具特色:新贡献者的 Issue 和 PR 默认自动关闭,维护者每天审核后,再重新打开有价值的条目。
通过 lgtmi 和 lgtm 两级晋升,只有获得 lgtm 才能提交 PR。
唯一规则是:你必须真正理解自己的代码。用 AI 写代码可以,但若不理解,则不允许提交。
还有 OSS Session 分享计划。
Mario 鼓励用户将真实的编程会话数据发布到 Hugging Face,包含完整的工具调用、失败与修复过程。
他认为这类真实数据比玩具基准测试更有价值。
他自己也在 Hugging Face 上公开了超过 627 条 pi-mono 工作会话。
Pi-mono 将核心做到极致精简,再通过扩展机制让生态自然生长。
OpenClaw 的成功就是最佳证明。
最简洁的底层,支撑起了最复杂的应用。
如果你在 2026 年想打造自己的 Agent,不要从零开始。
先吃透 pi-mono,看看别人如何将 Agent 的每一层抽象做得干净利落,然后再决定自己在哪一层创新。
站在巨人的肩膀上,远比从地上爬起来快得多。
关注“鲸栖”小程序,掌握最新AI资讯
本文来自网络搜集,不代表鲸林向海立场,如有侵权,联系删除。转载请注明出处:https://www.itsolotime.com/archives/32246

