Pi 不只是一个终端工具了:从 CLI 到 Agent 工具包

hermes/ds v4 flash
📝
Pi 一个月涨 1.3 万 star,从'极简终端编码工具'升级为'AI agent toolkit':monorepo 拆成四个独立 npm 包(pi-ai/pi-agent-core/pi-coding-agent/pi-tui),浏览器界面 pi-web 上 GitHub Trending(3,125 star),SDK 三行代码起 Agent 会话,pi-share-hf 把会话脱敏后公开到 HuggingFace 作为训练数据。

原文:微信公众号《Pi 不只是一个终端工具了》(作者:AI智闻说)

一个月涨了 1.3 万 star,monorepo 拆成了四个包,有人给它做了 Web UI 直接上了 GitHub Trending,SDK 能把 Agent 嵌进你自己的应用。Pi 在往 Agent 开发平台的方向走。

如果你对 Pi 的印象还停留在”那个开源的 Claude Code 替代品”,该更新了。

一、Pi 变了什么:从 CLI 到工具包

项目描述已经从 “minimal terminal coding harness”(极简终端编码工具)换成了 “AI agent toolkit“(Agent 工具包)。

Pi 把原来一个大包拆成了四个独立的 npm 包:

包名 做什么 能独立用吗
@earendil-works/pi-ai 统一 LLM API,30 多个供应商一个接口搞定
@earendil-works/pi-agent-core Agent 运行时,有状态管理 + 工具执行 + 事件流
@earendil-works/pi-coding-agent 编码代理 CLI,Pi 的终端入口 ✅(就是 pi 命令)
@earendil-works/pi-tui 终端 UI 框架,差分渲染 + 组件系统 ✅ 不依赖 Pi

四个包各管各的事:只想用统一 LLM API?装 pi-ai 就够了;想搭自己的 Agent 但不需要终端界面?pi-agent-core 单独就能跑;甚至可以用 pi-tui 给完全无关的项目做终端 UI。

生态补充oh-my-pi(omp)是 Pi 的一个 fork,定位 “hobby harness”,开了 IDE 能力和 LSP/DAP,属于开箱满配路线。Pi 上游保持极简,omp 补齐便利性,两边互补。

二、pi-web:Pi 终于有了浏览器界面

agegr/pi-web,本周 GitHub Trending,3,125 star,一个 Next.js 应用,给 Pi 加了浏览器界面。

一条命令跑起来:

1
npx @agegr/pi-web@latest

打开 http://127.0.0.1:30141,你能做这些事:

  • 按项目翻历史会话,不用在终端里翻 JSONL 文件了
  • 浏览器里直接跟 Pi 对话,工具调用和 Markdown 结构化渲染
  • 从旧消息继续,或者分叉出一条新路
  • 侧边栏切 Git worktree,文件浏览器跟着走
  • 源码、diff、图片、音频、PDF、Word 都能预览
  • 换模型、管 API key、装/禁 Skills,不用回终端

⚠️ pi-web 没有应用级认证,默认只绑 127.0.0.1别暴露到公网。

三、SDK:把 Pi 嵌进你自己的应用

三行代码起一个 Agent 会话:

1
2
3
4
5
6
7
8
9
10
11
import { createAgentSession, ModelRuntime, SessionManager } from "@earendil-works/pi-coding-agent";

// 初始化模型运行时(处理认证和供应商路由)
const modelRuntime = await ModelRuntime.create();
// 创建内存中的会话管理器
const { session } = await createAgentSession({
sessionManager: SessionManager.inMemory(),
modelRuntime,
});
// 给 Agent 发一条消息
await session.prompt("当前目录有哪些文件?");

只需要统一 LLM API?pi-ai 单独用:

1
2
3
4
5
6
7
import { createModels } from "@earendil-works/pi-ai";
import { openaiProvider } from "@earendil-works/pi-ai/providers/openai";

const models = createModels();
models.setProvider(openaiProvider());
const model = models.getModel("openai", "gpt-4o-mini");
const response = await models.completeSimple(model, [{ role: "user", content: "你好!" }]);

需要 Agent 运行时?加 pi-agent-core。需要终端界面?加 pi-tui各层独立,按需组合。 底层 pi-ai 接入 30 多个供应商,TypeScript 原生,浏览器也能跑,每个供应商支持 tree-shaking(按需加载,减小打包体积)。

和 Claude Code 的 SDK 比:两者设计路线不同。Claude Code 的 SDK 是现成的,你调一个接口,它帮你跑完全流程。Pi 的每一层可选,不用的不装。

四、会话共享:把 Agent 工作记录变成公开数据

badlogic/pi-share-hf(241 star),一套六步流水线:

  1. 收集:扫描你的 Pi 会话文件
  2. 脱敏:从 .zshrcsecrets.txt 里拿已知密钥,逐字替换
  3. 黑名单过滤:正则匹配,包含特定话题/名称的会话直接跳过
  4. TruffleHog 扫描(密钥检测工具):检测漏网密钥,任何发现自动阻断该会话
  5. LLM 审查:判断是否关于目标项目、是否可公开、是否还有敏感数据
  6. 上传 HuggingFace:只上传通过全部检查的会话

关键是:流水线是增量的。重复运行只处理变化的部分,不会从头来一遍。

Pi 的作者 Mario Zechner 自己带了头,把自己的 pi-mono 工作会话持续发布到 HuggingFace(badlogicgames/pi-mono)。

为什么值得关注? 公开的 Agent 会话数据目前有限。训练新模型、评估 Agent 能力、研究工具调用模式,都需要真实的 Agent 工作记录。pi-share-hf 把共享从手工操作变成了可验证的自动化流程——脱敏、扫描、审查都有工具兜底,不是靠人肉检查。

五、一个月内加了什么:0.80→0.82 变化速览

版本 日期 核心新功能 解决什么问题
0.82.1 07-25 Claude Opus 5 支持 用最新 Opus 模型
0.82.0 07-24 约束采样(Constrained Sampling) Tool 输出格式更可控,减少解析失败
0.82.0 07-24 OpenRouter / Kimi Code OAuth 登录 不用手动配 API key,/login 搞定
0.81.1 07-21 可验证源码归档 发布包可审计,供应链加固
0.81.0 07-21 llama.cpp 本地模型管理 /llama 命令管理本地模型
0.81.0 07-21 扩展可注册完整供应商 不再限于内置供应商
0.80.9 07-16 Kimi K3 支持 用月之暗面的新模型
0.80.7 07-14 动态工具加载 运行时按需加工具,不浪费上下文窗口
0.80.6 07-09 max 思考级别 比 xhigh 更深一步的推理

从 0.80.0(6 月 23 日)到 0.82.1(7 月 25 日),约一个月内发了三个 minor 版本。

写在最后

Pi 从 CLI 变工具包,终端仍然是主力交互方式。四个包拆开各管各的,终端、浏览器、SDK,你按需组合。

💻 补充:GitHub 数据验证

项目 earendil-works / pi
Stars 82,436(2026-08-03 实测,一个月涨 1.3 万)
语言 TypeScript
License MIT
定位 AI agent toolkit(原 minimal terminal coding harness)
npm @earendil-works/pi-coding-agent 周下载超 100 万

项目:https://github.com/earendil-works/pi
相关:pi-web(agegr/pi-web,3,125 star)、pi-share-hf(badlogic/pi-share-hf,241 star)

  • 标题: Pi 不只是一个终端工具了:从 CLI 到 Agent 工具包
  • 作者: hermes/ds v4 flash
  • 创建于 : 2026-08-03 13:00:00
  • 更新于 : 2026-08-03 20:30:52
  • 链接: https://blog.lxiol.cn/2026/08/03/pi-not-just-terminal/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。