当前位置:首页>java>Pi:一个"反叛"的 AI 编程助手,让你不再被工具绑架

Pi:一个"反叛"的 AI 编程助手,让你不再被工具绑架

  • 2026-09-09 10:35:30
Pi:一个"反叛"的 AI 编程助手,让你不再被工具绑架

当所有 AI 编程工具都在堆砌功能时,这个开源项目选择了一条不同的路。


在 AI 编程助手百花齐放的今天,我们见证了 Cursor、GitHub Copilot、Claude Code 等工具的崛起。它们功能强大,但也越来越"重"——内置的功能越来越多,用户的自由度却越来越少。

今天要介绍的 Pi(来自 GitHub 项目 badlogic/pi-mono),是一个有点"叛逆"的存在。它的核心理念只有一句话:

"让工具适应你的工作流,而不是让你适应工具。"

一、Pi 是什么?

Pi 是一个极简的终端 AI 编程助手,目前在 GitHub 上已获得 5,300+ Stars。它由游戏引擎 libGDX 的作者 Mario Zechner 开发,整个项目采用 Monorepo 架构,包含多个独立但协同工作的模块:

模块
功能
pi-coding-agent
核心:交互式 AI 编程 CLI
pi-ai
统一的多 LLM 提供商 API
pi-agent-core
Agent 运行时,支持工具调用和状态管理
pi-tui
终端 UI 库,支持差分渲染
pi-web-ui
Web 组件库,用于 AI 聊天界面
pi-mom
Slack 机器人,可将消息委托给 Pi
pi-pods
vLLM 部署管理 CLI

简单来说,Pi 不只是一个编程助手,而是一整套 AI Agent 开发工具包。

二、为什么 Pi 值得关注?

1. 极致的可扩展性

Pi 的默认功能非常精简——只有 4 个内置工具:read、write、edit、bash。

但这不是缺点,而是设计哲学。Pi 提供了四种扩展机制:

  • Extensions(扩展):用 TypeScript 编写,可以添加自定义工具、命令、快捷键、UI 组件
  • Skills(技能):遵循 Agent Skills 标准的能力包,按需加载
  • Prompt Templates(提示模板):可复用的 Markdown 提示词
  • Themes(主题):支持热重载的界面主题

更厉害的是,这些扩展可以打包成 Pi Packages,通过 npm 或 git 分享给其他人。

2. "故意缺失"的功能

Pi 的文档里有一段很有意思的"哲学声明":

No MCP. 用 CLI 工具 + README 就够了,或者自己写扩展支持 MCP。

No sub-agents. 有很多实现方式,用 tmux 启动多个 Pi 实例,或者自己写扩展。

No permission popups. 在容器里运行,或者自己写确认流程。

No plan mode. 把计划写到文件里,或者自己写扩展。

No built-in to-dos. 它们会让模型困惑,用 TODO.md 文件就好。

这种"故意不做"的态度,在功能堆砌成风的 AI 工具圈里显得格外清醒。

3. 强大的会话管理

Pi 的会话系统设计得非常精巧:

  • 树状结构:每条消息都有 id 和 parentId,支持原地分支
  • /tree 命令:可视化浏览整个会话树,跳转到任意历史节点继续对话
  • /fork 命令:从当前分支创建新会话
  • 自动压缩:长对话自动摘要,但完整历史保留在文件中

4. 全面的 LLM 支持

Pi 支持几乎所有主流 LLM 提供商:

订阅服务:Anthropic Claude Pro/Max、OpenAI ChatGPT Plus/Pro、GitHub Copilot、Google Gemini CLI

API 密钥:Anthropic、OpenAI、Azure OpenAI、Google Gemini/Vertex、Amazon Bedrock、Mistral、Groq、Cerebras、xAI、OpenRouter、Hugging Face 等 17+ 个提供商

三、快速上手

安装只需一行命令:

npm install -g @mariozechner/pi-coding-agent

设置 API 密钥并启动:

export ANTHROPIC_API_KEY=sk-ant-...
pi

或者使用订阅账号登录:

pi
/login  # 选择提供商进行 OAuth 认证

常用操作

操作
方式
引用文件
输入 @ 模糊搜索项目文件
粘贴图片
Ctrl+V
执行命令
!command
 运行并发送输出给 LLM
切换模型
Ctrl+L 或 /model
调整思考深度
Shift+Tab
查看会话树
按两次 Escape

扩展示例

创建一个自定义技能:

<!-- ~/.pi/agent/skills/my-skill/SKILL.md -->
# My Skill
当用户询问 X 时使用此技能。

## Steps
1. 执行这个
2. 然后那个

创建一个扩展:

export default function (pi: ExtensionAPI) {
  pi.registerTool({ name: "deploy", ... });
  pi.registerCommand("stats", { ... });
  pi.on("tool_call", async (event, ctx) => { ... });
}

四、适合谁用?

Pi 特别适合以下人群:

  1. 追求极简的开发者:不喜欢臃肿工具,想要一个干净的起点
  2. 有定制需求的团队:需要根据工作流深度定制 AI 助手
  3. AI Agent 开发者:可以基于 Pi 的 SDK 构建自己的应用
  4. 终端爱好者:喜欢在命令行里完成一切

五、写在最后

在 AI 工具越来越"智能"的今天,Pi 选择了一条少有人走的路——把控制权还给用户。

它不会告诉你"应该"怎么工作,而是给你一套积木,让你搭建自己的工作流。这种设计哲学,让我想起了 Unix 的经典理念:做一件事,把它做好。

如果你厌倦了被工具"教育",想要一个真正属于自己的 AI 编程助手,Pi 值得一试。


项目地址:https://github.com/badlogic/pi-mono


你用过哪些 AI 编程助手?对 Pi 的"极简哲学"怎么看?欢迎在评论区分享你的想法。

最新文章

随机文章