找回密码
立即注册
搜索
发回帖 发新帖

6322

积分

0

好友

800

主题
发表于 2 小时前 | 查看: 4| 回复: 0

不知道大家有没有这种感觉:现在的 coding agent 越来越像全家桶套餐——sub-agents、plan mode、permission popups、内置 to-do,一股脑全塞给你。用得顺手是福利,用不顺手就是枷锁。你要的习惯它偏不做,你不要的弹窗它关不掉。

GitHub 上有个项目反着来:sub-agents?不做。plan mode?不做。权限弹窗?也不做。它把这些功能打包成扩展原语交给你,甚至可以让 agent 自己给自己写扩展。上线一年出头,Stars 已冲到 111,562,作者是 libGDX(那个全球手游圈人尽皆知的游戏引擎)的缔造者 Mario Zechner。

它叫 Pi。

GitHub 仓库 earendil-works/pi 头部信息


一句话简介

Pi 是一个开源 AI agent 工具包,一个 monorepo 把统一多厂商 LLM API、agent 运行时、终端 coding agent 和 TUI 界面库全打包了。

别家做的是精装修产品,Pi 给你的是毛坯房:默认配置足够好,但核心刻意保持极简,剩下怎么装修全看你。

Pi 项目标志


三大亮点

亮点一:一套 API 通 15+ 家模型商,中途换模型不掉线

底座包 pi-ai 统一了 Anthropic、OpenAI、Google、Azure、Bedrock、Mistral、Groq、Cerebras、xAI、Hugging Face、Kimi For Coding、MiniMax、NVIDIA、OpenRouter、Ollama 等 15+ 家 provider、数百个模型,API key 或 OAuth 均可认证。

会话中途想换模型,敲 /model(或 Ctrl+L)就行;收藏的模型循环切换用 Ctrl+P。自定义 provider 和模型走 models.json 或扩展。不被单一厂商绑死,这件事 Pi 在底座层就替你解决了。

亮点二:刻意不做的艺术

这是 Pi 最出圈的哲学。官方有一份「What we didn't build」清单:

  • No sub-agents → 用 tmux 起 Pi 实例,或自己写扩展搭;
  • No plan mode → 把计划写进文件,或自己建扩展;
  • No permission popups → 在容器里跑,或扩展内联确认流;
  • No built-in to-dos → 用 TODO.md;
  • No background bash → 用 tmux,全程可观测。

关键点是:这些功能全都有官方扩展示例(仓库里 50+ 个)。想装就装,不想装就自己写。更离谱的是,你可以直接让 Pi 给自己写扩展——改完 /reload 立即生效。下面这张终端截图记录的就是 agent 读自己的扩展文档、给自己写 greeting 扩展的实况。

Pi v0.85.1 交互式终端界面

扩展能干到什么程度?社区有人给 Pi 装上了 Doom,agent 干活的间隙真能开一局。

Pi 扩展运行 DOOM 游戏

亮点三:供应链安全抠到依赖锁定这一层

README 里专门有一节 Supply-chain hardening,直接把 npm 依赖变更当成代码变更来审:

  • 直接外部依赖精确锁版本,.npmrc 里设置 save-exact=true 加 min-release-age=2——当天刚发布的依赖不装,避开投毒窗口期;
  • lockfile 是唯一真源,pre-commit 阻断意外 lockfile 提交;
  • 发布的 CLI 包带 shrinkwrap 锁死传递依赖,生命周期脚本有显式白名单,新增依赖没审过就不放行;
  • CI 用 npm ci --ignore-scripts,定时任务跑 npm audit 加签名校验。

这套组合拳在同类项目里相当少见,对在意供应链安全的团队来说,属于可以直接抄作业的水平。


三个关键设计决策

决策一:monorepo 分层,从模型层一路覆盖到应用层。 7 个包各司其职:pi-ai(统一 LLM API)→ pi-agent-core(工具调用与状态管理的运行时)→ pi-coding-agent(终端 CLI)→ pi-tui(差分渲染的终端 UI 库)。旁路还有 chord(服务 / RPC / 插件的应用组合运行时)、pi-durable(持久化对话 / 任务 / 文档)、pi-telemetry(厂商中立遥测)。层与层解耦,你可以只用 pi-ai,也可以全栈拿走。

决策二:MCP 从拒绝到内置 + Codemode。 这个转折很有意思:Pi 早期立场是 No MCP,后来官方发博客《you said no mcp》承认改主意——MCP 已内置,还加了 Codemode 让 agent 在 JS 沙箱里组合工具调用。态度相当务实:立场可以变,用户需求不会骗人。

决策三:安全边界外置,不假装替你做主。 README 里说得很直白:Pi 不内置权限系统,默认以启动用户的权限运行。要强隔离,官方文档给了三种模式——Gondolin 微虚拟机(Pi 留在宿主机、工具调用路由进 Linux 微 VM)、Plain Docker(整个进程容器化)、OpenShell(策略管控沙箱,就是 NVIDIA 之前开源的那个项目)。安全边界清楚地摆在外面,不给你一种有护栏的错觉。

Pi coding agent Git rebase 操作对话


安装与配置

安装三选一:

  • curl 脚本
  • powershell -c "irm https://pi.dev/install.ps1 | iex"
  • npm install -g @earendil-works/pi-coding-agent

四种模式覆盖不同用法:

  • Interactive:完整 TUI 体验(前面终端截图就是这种);
  • Print / JSON:pi -p "query" 进脚本,--mode json 出事件流;
  • RPC:stdin / stdout 上的 JSON 协议,方便非 Node 程序集成;
  • SDK:嵌进你自己的应用(OpenClaw 就是真实案例)。

会话历史是树状结构:/tree 跳回任意历史节点继续分叉,所有分支存单文件;/export 导出 HTML,/share 传 GitHub gist 生成可分享链接。上下文工程也有全套抓手:AGENTS.md 项目指令、SYSTEM.md 替换系统提示、自动 Compaction、按需加载的 Skills、/name 展开的 prompt 模板。

干活中途还能插话:Enter 发 steering 消息(当前工具跑完就打断),Alt+Enter 发 follow-up(等它干完再执行)。


团队落地

第 1 段 · 统一模型接入层。 用 pi-ai 收拢团队的 LLM 调用:一处配置管 15+ 家 provider,模型涨价、限流、停服时改配置就能切换,业务代码不动。配合 pi-telemetry 的厂商中立遥测,成本和调用量有统一口径。

第 2 段 · 沙箱隔离必须先行。 Pi 默认以启动用户权限跑,团队落地前先选定隔离方案:轻量用 Docker,要策略管控上 OpenShell 沙箱,Gondolin 微虚拟机适合 host 留认证、工具进隔离的折中方案。把裸跑 Pi 列为禁止项写进规范。

第 3 段 · 供应链治理照抄作业。 它的 hardening 清单可以直接移植到任何 npm 项目:save-exact + min-release-age、lockfile 真源 + pre-commit 阻断、shrinkwrap + 生命周期脚本白名单、CI 里 npm audit 定时跑。这套不花大钱,防的是真事故。

第 4 段 · 知识沉淀成体系。 项目规范写 AGENTS.md,系统提示定制走 SYSTEM.md,可复用 prompt 沉淀成模板库;再鼓励成员用 pi-share-hf 把 OSS 工作会话分享出去——真实任务轨迹比玩具 benchmark 值钱。


适用场景

  • 想在终端跑 coding agent、又嫌主流产品太封装的开发者:Pi 把控制权还给你,agent 还能自己改自己;
  • 被单一模型厂商绑定的团队:pi-ai 一套 API 换供应商,业务代码不用动,也可以配合 RouteFast.ai 这类中转服务做快速验证;
  • 重视供应链安全的团队:它的 hardening 实践值得整段借走;
  • 想基于 agent 运行时自建工具链的人:pi-agent-core + 四模式 + 50+ 扩展示例,起点很高。

优缺点与避坑

优点

  • libGDX 作者 Mario Zechner 带队,工程质量高,GitHub API 实测 111,562★、MIT 开源、当天仍在提交;
  • 「primitives not features」哲学 + 50+ 官方扩展示例 + 四模式,扩展性是目前同类里的天花板级别;
  • 15+ provider 统一接入 + 树状会话历史 + 完整上下文工程抓手;
  • 供应链安全实践公开透明,可以直接抄作业。

潜在不足

  • ⚠️ 不内置权限系统,默认以启动用户权限运行——要隔离得自己配 Gondolin、Docker 或 OpenShell,安全边界自己搭;
  • ⚠️ monorepo 7 个包、结构复杂,上手要趟文档(好在可以直接问 Pi 它自己);
  • ⚠️ 新贡献者的 issue / PR 默认 auto-close,由 maintainer 每日人工审核放出——社区协作门槛挺独特,提 PR 前先读 CONTRIBUTING.md;
  • ⚠️ 纯 TypeScript 生态,非 TS 开发者有一定适应成本。

最后说几句

如果你受够了替你做主的 agent 产品,Pi 这间毛坯房值得装修。记住两件事:沙箱先配好再干活,提 PR 前先看 auto-close 规则。

GitHub 仓库: https://github.com/earendil-works/pi

像 Pi 这样的开源 AI agent 工具,云栈社区 上也有不少开发者在讨论实战用法,感兴趣可以过去看看。




上一篇:DwarfStar 深度解析:Redis 作者出品的 DeepSeek V4 本地推理引擎值不值得折腾
下一篇:NVIDIA SkillSpector 安全扫描器:装 AI Agent 技能前先跑一遍
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-10-6 22:59 , Processed in 0.076001 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表