开源项目第187期:Pi — 哲学驱动的极简 AI Coding Agent,86k Stars,30+ LLM 提供商,无限扩展

发布时间:2026/8/15 14:03:47

开源项目第187期:Pi — 哲学驱动的极简 AI Coding Agent,86k Stars,30+ LLM 提供商,无限扩展
引言“Adapt pi to your workflows, not the other way around.”这是「每日一个开源项目」系列的第 187 篇。今天的项目是Pi—— 一个极简哲学驱动的 AI coding agent harness86,334 颗 Star由游戏开发者 Mario ZechnerlibGDX 作者创建。Pi 有一个不寻常的 README 章节叫「Philosophy」里面逐条列出了它刻意不做的事没有 MCP、没有子 agent、没有权限弹窗、没有计划模式、没有内置待办列表、没有后台 bash。每条后面跟着理由以及「如果你真的需要用扩展自己做」。这不是功能缺失而是一种设计立场核心保持极简所有定制通过扩展层完成不强迫用户接受工具作者的工作流偏好。86k Stars2025 年 8 月创建MIT 许可。你会学到什么Pi 的 5 个 npm 包和各自的职责四种运行模式交互/打印/JSON/RPC/SDK会话分支树Session Tree的设计扩展生态Extensions、Skills、Prompt Templates、Pi PackagesPi 的哲学刻意不内置什么以及为什么30 LLM 提供商列表和切换方式前提知识基本的终端/命令行使用经验了解 AI coding agent 的基本概念工具调用、系统提示TypeScript 基础知识对理解扩展开发有帮助项目背景概述Pi 是一个 AI coding agent 的「harness」—— 这个词很准确它是一个驾驭 LLM 的框架而不是一个固定的产品。它把 LLM 接入、agent 循环、TUI 渲染、会话管理做成了独立的 npm 包让用户可以根据需要选择和扩展。项目信息作者: Mario ZechnerbadlogiclibGDX 游戏框架作者主语言: TypeScript许可证: MIT官网: pi.dev项目数据⭐ GitHub Stars:86,334 Forks: 10,721 许可证: MIT 创建时间: 2025-08-09五个 npm 包Pi 是一个 monorepo核心功能拆分成五个独立的 npm 包包名功能earendil-works/pi-ai统一多提供商 LLM APIOpenAI、Anthropic、Google 等earendil-works/pi-agent-coreAgent 运行时工具调用循环 状态管理earendil-works/pi-coding-agent交互式 coding agent CLI面向用户的主入口earendil-works/pi-tui差分渲染 TUI 库earendil-works/pi-telemetry厂商中立遥测合约、参考适配器、合规测试这种拆分让用户可以只用pi-ai做 LLM API 统一层或者只用pi-agent-core嵌入到自己的应用里不必接受整个 coding agent CLI。快速上手npminstall-g--ignore-scripts earendil-works/pi-coding-agent# 或者curl-fsSLhttps://pi.dev/install.sh|sh设置 API Key 或直接登录订阅账号exportANTHROPIC_API_KEYsk-ant-... pipi /login# 选择提供商支持订阅账号Claude Pro/Max、ChatGPT Plus/Pro、GitHub Copilot默认开箱即用的工具read、bash、edit、write、grep、find、ls。不需要任何配置直接对话。30 LLM 提供商Pi 内置的提供商列表是目前 coding agent 工具里最全的之一订阅账号无需 API KeyAnthropic Claude Pro/MaxOpenAI ChatGPT Plus/ProCodexGitHub CopilotAPI Key 接入Anthropic、OpenAI、Azure OpenAI、DeepSeekGoogle Gemini、Google Vertex、Amazon BedrockMistral、Groq、Cerebras、xAICloudflare AI Gateway、Cloudflare Workers AIOpenRouter、Vercel AI GatewayHugging Face、Fireworks、Together AI、BasetenNVIDIA NIM、Kimi For Coding、MiniMax小米 MiMo含中国区、阿姆斯特丹、新加坡节点ZAI Coding Plan全球/中国、OpenCode Zen/GoAnt Ling本地推理llama.cpp router server/login llama.cpp/llama管理模型下载切换模型用CtrlL打开选择器或命令行pi--modelopenai/gpt-4o帮我重构这段代码pi--modelsonnet:high解决这个复杂问题# 带思考级别四种运行模式交互模式默认带 TUI 的交互终端从上到下启动头部快捷键提示、已加载的 AGENTS.md、模板、技能、扩展消息区对话、工具调用结果、错误、扩展 UI编辑器边框颜色标示思考级别底部状态栏工作目录、会话名、token 用量↑ 输入/↓ 输出/R 缓存读/W 缓存写/CH 缓存命中率、成本、当前模型打印模式非交互pi-p总结这个代码库catREADME.md|pi-p总结这段文字# 支持管道 stdinJSON 模式pi--modejson帮我分析这个问题# 输出所有事件为 JSONL适合脚本处理RPC 模式pi--moderpc# stdin/stdout JSONL 协议适合非 Node.js 进程集成SDK 模式嵌入使用import{createAgentSession,ModelRuntime,SessionManager}fromearendil-works/pi-coding-agent;constmodelRuntimeawaitModelRuntime.create();const{session}awaitcreateAgentSession({sessionManager:SessionManager.inMemory(),modelRuntime,});awaitsession.prompt(当前目录有哪些文件);会话系统会话存储会话以 JSONL 文件形式保存在~/.pi/agent/sessions/按工作目录分组。每条记录有id和parentId天然支持分支结构不需要创建多个文件。pi-c# 继续最近的会话pi-r# 浏览并选择历史会话pi --no-session# 临时模式不保存pi--name任务名# 命名会话会话分支树Session Tree这是 Pi 的一个独特设计按Escape两次打开/tree视图可以在整个会话历史树中导航跳到任意历史节点继续工作。/tree 快捷键 搜索输入关键词 折叠/展开分支Ctrl← / Ctrl→ 翻页← / → 过滤模式CtrlO默认→无工具→仅用户→仅标签→全部 复制消息CtrlX 添加书签ShiftL/fork从历史节点创建新会话文件修改后重新发送。/clone复制当前分支到新会话文件从当前位置继续。Context Compaction上下文压缩长会话超出上下文窗口时Pi 支持自动或手动压缩/compact# 手动压缩/compact 专注 API# 带自定义指令的压缩自动压缩默认开启在接近上下文限制时触发或上下文溢出时恢复重试。完整历史仍在 JSONL 文件中通过/tree可回溯。扩展生态ExtensionsTypeScript 扩展扩展是 Pi 最强大的机制TypeScript 模块可以添加自定义工具、命令、快捷键、事件处理、UI 组件。exportdefaultfunction(pi:ExtensionAPI){pi.registerTool({name:deploy,...});pi.registerCommand(stats,{...});pi.on(tool_call,async(event,ctx){...});}扩展能做的事README 列举的部分自定义工具或完全替换内置工具子 agent 和计划模式自定义上下文压缩和摘要权限门控和路径保护自定义编辑器和 UI 组件状态栏、头部、底部、覆盖层Git 检查点和自动提交SSH 和沙箱执行MCP server 集成让 Pi 看起来像 Claude Code游戏在等待期间玩 Doom —— 有人真的实现了扩展放在~/.pi/agent/extensions/全局或.pi/extensions/项目级。Skills技能包遵循 Agent Skills 标准按需加载的能力包Markdown 格式!-- ~/.pi/agent/skills/my-skill/SKILL.md -- # My Skill 当用户询问 X 时使用此技能。 ## Steps 1. 做这个 2. 然后那个通过/skill:名称手动调用或由 agent 根据 SKILL.md 描述自动选择。Prompt Templates提示词模板!-- ~/.pi/agent/prompts/review.md -- 检查这段代码中的 Bug、安全问题和性能问题。 重点关注{{focus}}编辑器里输入/review自动展开。Pi Packages将扩展、技能、模板、主题打包通过 npm 或 git 分享piinstallnpm:foo/pi-tools piinstallgit:github.com/user/repo piinstallgit:github.com/user/repov1# 固定版本pi list pi update--allpi config# 启用/禁用扩展、技能、模板⚠️安全警告Pi Packages 以完整系统权限运行。安装第三方包前请审查源代码。Pi 的哲学刻意不做什么Pi 的 Philosophy 章节逐条列出了它不内置的功能以及背后的原因刻意不做为什么如何满足需求MCP见这篇博文CLI 工具 README 更直接用扩展自己实现 MCP 支持子 agent实现方式各异不应由工具强制用 tmux 启动多个 pi 实例或扩展实现权限弹窗应与执行环境和安全需求契合不该是通用弹窗在容器里运行或扩展实现符合场景的确认流计划模式各有偏好把计划写进文件或扩展实现内置待办会让模型困惑用 TODO.md或扩展实现后台 bashtmux 有完整可见性和直接交互用 tmux这种「刻意极简」的设计哲学意味着 Pi 的核心不会随着功能膨胀而变得难以理解也不会强迫用户接受一套固定的工作流。代价是新用户的开箱体验不如功能全面的工具需要花时间配置才能达到理想状态。供应链安全Pi 对依赖安全的处理值得单独提精确版本锁定所有直接外部依赖固定到精确版本save-exacttrue内部 workspace 包使用范围版本最小发布年龄.npmrc设置min-release-age2避免安装当天刚发布的依赖package-lock.json 作为唯一真相pre-commit hook 阻止意外的 lockfile 修改需要PI_ALLOW_LOCKFILE_CHANGE1显式解除shrinkwrap发布的 CLI 包含npm-shrinkwrap.json对 npm 用户锁定传递依赖CI 审计定期运行npm audit --omitdevnpm audit signatures --omitdevLifecycle script 许可名单有明确允许列表新的 lifecycle script 依赖会导致检查失败直到被审查消息队列在 Agent 工作时发送一个细节设计在 agent 正在执行工具调用时可以提前排队消息Enter— 排队一条「引导」消息在当前工具调用完成后立即发送AltEnter— 排队一条「后续」消息在 agent 完成所有工作后发送Escape— 中止并把排队消息恢复到编辑器这解决了「agent 跑偏了但我又不想粗暴中断」的常见场景。参考资源官方链接GitHub: earendil-works/pi官网: pi.dev文档: pi.dev/docs/latestnpm: earendil-works/pi-coding-agentDiscord: discord.com/invite/3cU7Bz4UPx✍️作者博文: mariozechner.at/posts/2025-11-30-pi-coding-agent总结Pi 是一个有清晰设计立场的工具宁可核心极简、需要用户自己配置也不要一个充满内置功能但难以修改的黑盒。86k Star 说明这个立场找到了对应的用户群。几个工程决策值得记录Philosophy 章节主动声明不做什么并给出理由这在开源工具里比较少见。它让用户在安装前就能判断这个工具是否适合自己而不是安装后发现缺少某个「标准功能」。5 个独立 npm 包TUI、LLM API、agent 运行时各自独立意味着你可以只用pi-ai做多提供商统一层或者用pi-agent-core把 agent 循环嵌入自己的应用。不需要接受整个 CLI。会话分支树JSONL parentId的树形结构让分支不需要多文件所有历史都在一个文件里通过/tree视图随时导航。在其他 coding agent 工具里这种设计不常见。供应链安全的投入依赖精确锁定、lockfile pre-commit 保护、CI 定期审计、shrinkwrap 锁定传递依赖 —— 这个重视程度超过了大多数开发工具。如果你对 Claude Code、Codex 这类工具的工作流有自己的想法并且愿意花一点时间配置而不是开箱即用Pi 的扩展系统给了你足够的空间把它改造成你想要的样子。探索 PrimeSkills —— 精选 AI agent 和技能工具每一个都经过真实工作流验证。没有炒作只有真正好用的工具。访问我的个人主页获取更多见解和有趣的产品。

相关新闻

stm32入门————定时器外部时钟,输出比较

stm32入门————定时器外部时钟,输出比较

2026/8/15 13:53:46

选择,外部时钟模式在使用STM32定时器生成PWM波形之前,首先需要正确配置定时器的时钟源。外部时钟模式是定时器的一种重要工作方式,它允许定时器使用外部信号作为计数时钟,适用于需要与外部信号同步的场景。在STM32中,定…

硬件工程师入门必看:AC-DC 模块电源全面解读(钡特电源整理)

硬件工程师入门必看:AC-DC 模块电源全面解读(钡特电源整理)

2026/8/15 13:53:46

引言:一个因“电源选型”而失败的样机案例 去年,某工业设备研发团队在开发一款智能电表集中器时,遭遇了严重的设计事故。样机在连续工作48小时后,系统无故重启,随后主控板上的电解电容爆裂,整机报废。工程师…

League Akari 从零到一完整上手教程:一个开源工具箱如何把每局排位的重复操作砍掉八成

League Akari 从零到一完整上手教程:一个开源工具箱如何把每局排位的重复操作砍掉八成

2026/8/15 13:53:46

League Akari 从零到一完整上手教程:一个开源工具箱如何把每局排位的重复操作砍掉八成 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit …

BioGPT 未来演进路线图全解析:从医学文本生成到昇腾 NPU 落地的三级跳

BioGPT 未来演进路线图全解析:从医学文本生成到昇腾 NPU 落地的三级跳

2026/8/15 15:13:50

BioGPT 未来演进路线图全解析:从医学文本生成到昇腾 NPU 落地的三级跳 【免费下载链接】biogpt 项目地址: https://ai.gitcode.com/hf_mirrors/FuJianAscend/biogpt 深夜十一点,某三甲医院科研中心的灯还亮着。一位医生盯着屏幕上密密麻麻的 37 …

思源宋体免费商用指南:7个字重一次打包,中文字体难题这样解

思源宋体免费商用指南:7个字重一次打包,中文字体难题这样解

2026/8/15 15:13:50

思源宋体免费商用指南:7个字重一次打包,中文字体难题这样解 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 上线前一周,设计师突然发现项目里那款宋…

LightAdmin核心功能全解析:从数据模型到UI配置的完整指南

LightAdmin核心功能全解析:从数据模型到UI配置的完整指南

2026/8/15 15:13:50

LightAdmin核心功能全解析:从数据模型到UI配置的完整指南 【免费下载链接】light-admin [PoC] Pluggable CRUD UI library for Java web applications 项目地址: https://gitcode.com/gh_mirrors/li/light-admin LightAdmin是一款面向Java Web应用的可插拔CR…

山东印刷膜有哪些颜色可选?

山东印刷膜有哪些颜色可选?

2026/8/15 15:13:50

山东印刷膜有哪些颜色可选?在山东的工业市场中,印刷膜的使用极为广泛,其丰富的颜色选择能满足不同行业的多样化需求。而青岛昌瑞工业品有限公司在山东印刷膜市场中占据着一定的地位。常见基础颜色印刷膜的常见基础颜色包括红、黄、蓝、绿、黑…

AI图像编辑快速上手:GIMP 遇上 OpenVINO™,低清变高清轻松搞定

AI图像编辑快速上手:GIMP 遇上 OpenVINO™,低清变高清轻松搞定

2026/8/15 15:13:50

AI图像编辑快速上手:GIMP 遇上 OpenVINO™,低清变高清轻松搞定 【免费下载链接】openvino-ai-plugins-gimp GIMP AI plugins with OpenVINO Backend 项目地址: https://gitcode.com/gh_mirrors/op/openvino-ai-plugins-gimp 你有没有过这样的经历…

mtkclient-gui 联发科解锁从零到一避坑指南

mtkclient-gui 联发科解锁从零到一避坑指南

2026/8/15 15:03:49

mtkclient-gui 联发科解锁从零到一避坑指南 【免费下载链接】mtkclient-gui GUI tool for unlocking bootloader and bypassing authorization on Mediatek devices (Not maintained anymore) 项目地址: https://gitcode.com/gh_mirrors/mt/mtkclient-gui 深夜十二点&am…

比较好的亚太EMBA,问了6位校友师资差别真的挺大

比较好的亚太EMBA,问了6位校友师资差别真的挺大

2026/8/13 11:01:28

比较好的亚太EMBA核心差异先看什么?对于希望兼顾工作与系统管理能力提升的亚太区高管而言,筛选匹配度高的EMBA项目时,师资配置是决定学习体验与实际收获的核心要素之一。我们结合3-4个公开信息透明、办学历史较长的亚太区主流EMBA项目特点&am…

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

2026/8/14 10:48:24

备考海外游学的亚洲EMBA面试,核心要围绕项目国际化设计逻辑、个人跨文化管理经验匹配度两个维度准备,避免把游学模块等同于普通旅游参访的认知偏差。不少备考者花3个月对比6份资料,却容易忽略面试官对“国际视野落地能力”的考察——比如香港…

比较好的国内EMBA,问了二十位校友聊透人脉价值

比较好的国内EMBA,问了二十位校友聊透人脉价值

2026/8/13 17:17:06

比较好的国内EMBA核心差异体现在哪些方面?比较好的国内EMBA的核心长期价值,很大程度上依托于校友网络的连接质量与资源生态的活跃度,这也是不少高管在择校时优先考量的因素。我们结合3-4个市场关注度较高的项目公开信息,从课程、师…

一文读懂快消WMS怎么选?2026年国内外10大主流WMS品牌盘点

一文读懂快消WMS怎么选?2026年国内外10大主流WMS品牌盘点

2026/8/15 0:03:07

快消品(FMCG)是流通速度较快、竞争较为激烈的行业之一。一瓶饮料从出厂到消费者手中,往往只有几十天甚至几天的周转窗口。这决定了快消行业的仓储管理系统(WMS)与制造业、电商行业存在明显区别:它不仅需要管…

内景 空间站内部 中国空间站 太空 内仓

内景 空间站内部 中国空间站 太空 内仓

2026/8/15 0:03:07

本项目为前几天收费帮学妹做的一个项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 空间站内部 中国空间站 太空 内仓 地址:本地PC端运行(或Web…

重新定义数据接口:3个突破性场景让通达信数据读取更智能

重新定义数据接口:3个突破性场景让通达信数据读取更智能

2026/8/15 0:03:07

重新定义数据接口:3个突破性场景让通达信数据读取更智能 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 当我们面对海量金融数据时,传统的数据获取方式往往让我们陷入困境—…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/15 1:04:46

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/15 10:10:27

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/14 19:35:14

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…