pi-web
pi coding agent 的浏览器端图形界面,支持会话管理/文件预览/Git worktree/多语言
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
pi coding agent 的浏览器端图形界面,支持会话管理/文件预览/Git worktree/多语言
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样的场景:你正在用命令行与 AI 编程助手 pi 对话,AI 正在帮你重构一个复杂的模块,输出刷刷刷滚动——但你突然想回到半小时前的那段对话看看当时的思路,却发现终端已经滚动过去了。这种"只读流"的体验,是所有 TUI(终端用户界面)工具的共同痛点。
Pi Web 正是来解决这个问题的。它是 pi coding agent(99k★ 的 AI 编程智能体工具包)的浏览器端图形界面。通过 Pi Web,你可以在浏览器中浏览、恢复、导出和删除对话会话;实时查看 AI 的工具调用和 Markdown 输出;管理模型配置和 API Key;甚至直接在浏览器里预览项目文件、查看 Git Diff——而不需要离开终端,也不影响终端里正在运行的会话。

pi 是由独立开发者 Mario Zechner(GitHub @badlogic)主导的开源项目,仓库地址为 earendil-works/pi,目前拥有超过 99,300 Stars,在全球 GitHub 排名约 #128 位,是 TypeScript 生态中最受欢迎的个人主导型 AI 编程工具之一。
Mario 的开发哲学是"保持核心极简,通过 TypeScript 扩展、Skill、主题和 pi 包来扩展功能"。pi 工具包包含多个子包:
@earendil-works/pi-ai:统一多提供商 LLM API(OpenAI、Anthropic、Google 等)@earendil-works/pi-agent-core:智能体运行时,含工具调用和状态管理@earendil-works/pi-coding-agent:交互式编程智能体 CLI@earendil-works/pi-tui:终端 UI 库pi 从最初的 @mariozechner 命名空间迁移到 @earendil-works,经历了从个人项目到社区工具的转变,在 2026 年持续霸榜 GitHub Trending,最高冲到第 2 位。
而 Pi Web 则是这个工具链的 GUI 门面,由 @agegr 开发和维护,与 pi 共用本机配置和会话文件,让用户在浏览器中获得更直观的会话管理体验。
Pi Web 绝不是一个简单的 Web 包装器,它提供了一系列与 pi CLI 深度集成的功能:
会话工作区:按项目查找、继续、重命名、导出和删除对话,并查看运行状态、上下文占用、花费和压缩信息。这是 TUI 最大的短板——在终端里你只能看到当前会话,而 Pi Web 让你拥有了"全局视图"。
两种分支方式:新会话会从较早的消息创建独立会话文件;从此处编辑则会在当前会话内创建分支。这个设计让实验性探索不会污染主会话,非常适合"试一下"类的开发任务。
项目文件工具:浏览和上传文件、查看 Git Diff,并预览源码、Markdown、图片、音频、PDF 和 DOCX;文件变化后会自动刷新。这相当于内置了一个轻量版的 VS Code 文件浏览器。
Git worktree 支持:从侧边栏切换 checkout,同时把同一仓库不同 worktree 的会话归在一起。对于同时维护多个分支的开发者来说是实用的。
多语言 Web 界面:默认跟随浏览器语言,也支持简体中文、繁体中文、日语和俄语界面,对中文用户非常友好。
从代码结构来看,Pi Web 采用了非常标准的现代 TypeScript + Next.js 技术栈:
app/ Next.js App Router UI 和 API 路由
components/ React UI 组件
hooks/ 客户端状态和交互钩子
lib/ 会话、智能体、模型、文件、Git、安全相关逻辑
public/ 静态资源和 PWA 文件
bin/ npm CLI 入口和启动选项解析
docs/ 用户和贡献者文档
proxy.ts 代理逻辑(处理模型请求转发)
关键依赖:
代码质量指标:
@types 依赖完善)--experimental-strip-types 执行单元测试npm version patch 自动版本管理值得关注的安全设计:Pi Web 提供了 PI_WEB_PASSWORD 环境变量启用 HTTP Basic Auth(用户名固定为 pi),并在文档中明确警告:不要通过明文 HTTP 暴露到互联网,远程访问应使用 HTTPS 反向代理或 VPN。此外,文件浏览器有明确的访问边界——只能访问用户选择的工作目录,不是通用文件系统浏览器。
Pi Web 的启动极其简单:
# 方式一:直接运行(无需安装)
npx @agegr/pi-web@latest
# 方式二:全局安装
npm install -g @agegr/pi-web@latest
pi-web
服务就绪后访问 http://127.0.0.1:30141,首次会自动打开浏览器。需要 Node.js >= 22.19.0。
前提条件:必须先安装 pi coding agent,因为 Pi Web 依赖 pi 的会话文件目录 ~/.pi/agent。两者共用配置和凭据存储,任何一个界面改了模型设置,另一个也能看到。
对于远程访问,文档建议使用足够长的随机密码:
PI_WEB_PASSWORD='your-long-random-password' pi-web --hostname 0.0.0.0
HTTP 代理支持通过标准环境变量配置,对中国用户(需要代理访问 OpenAI/Anthropic 等 API)非常友好。
没有容器化支持:项目没有 Dockerfile 和 docker-compose.yml,无法用 Docker 一键部署。这意味着在服务器环境部署需要手动安装 Node.js 22+。虽然可以用 npx 运行,但生产环境不够优雅。
单用户本地设计:Pi Web 默认监听 127.0.0.1,文件访问权限绑定到本地会话目录,不是一个多用户协作平台。它的定位是个人开发者的工作台,而非团队共享工具。
安全性依赖反向代理:Basic Auth 只做 HTTP Basic Auth,不加密传输。对安全要求高的场景必须自己配 Nginx/Caddy 提供 HTTPS,这增加了部署复杂度。
依赖 pi 生态:Pi Web 本质上是 pi 的前端,不是一个独立的 AI 编程工具。如果你不用 pi,Pi Web 没有独立价值。
Pi Web 的出现反映了一个趋势:AI 编程工具的可视化前端正在成为标配。随着 Claude Code、Cursor、Cline 等工具的 GUI 化,用户对"既有命令行效率又有 GUI 体验"的需求越来越强烈。
Pi Web 的亮点在于:它不是重新发明轮子,而是作为 pi 的"第二界面"存在,与终端共存、会话共享。这种 TUI+GUI 双界面协同 的设计哲学,值得其他开源 CLI 工具参考。
从增长曲线看,pi 在 2025-2026 年间从 0 涨到 99K Stars,Pi Web 作为其子项目也获得了约 5,800 Stars 的关注度,两者相互促进。随着 AI 编程工具的持续火热,这类"增强型前端"项目会越来越受关注。
| 维度 | 评价 |
|---|---|
| 部署难度 | ⭐ 简单(npx 一行启动,无需 Docker) |
| 功能完整度 | ⭐⭐⭐⭐ 功能丰富(会话管理/文件预览/Git/多语言) |
| 安全设计 | ⭐⭐⭐ 有 Basic Auth 但需配合 HTTPS 反向代理 |
| 社区活跃度 | ⭐⭐⭐⭐⭐ 99K Stars 顶级项目,更新频繁 |
| 扩展性 | ⭐⭐⭐⭐ TypeScript 生态,pi 插件体系丰富 |
如果你已经在用 pi 作为日常编程助手,Pi Web 是一个几乎零成本获得 GUI 体验的升级。如果你在寻找一个本地运行的 AI 编程前端,pi + Pi Web 的组合是一个值得考虑的方案。