引言
People of Pi: We've shipped Pi 1.0 with Pi Durable. Go make them yours.
--- Mario Zechner
Pi 1.0 正式发布 🎉,这是这款终端原生 AI 编程代理 从 0.x 走向稳定版的关键里程碑。这一版本带来了两大重要更新:原生 MCP 支持 与 Pi Durable。
本文带你快速了解 Pi 1.0 的核心变化、原生 MCP 怎么用、Pi Durable 解决了什么实际问题,以及如何平滑升级。
关于 Pi
Pi 是 Mario Zechner(badlogic 创始人)打造的一款终端 AI 编程代理。它的设计哲学非常明确:
- ✅ 极简主义:不堆砌功能,只保留最核心的编程代理能力
- ✅ 可扩展 :通过 npm 包机制自由扩展(
pi install npm:<package>) - ✅ 模型无关:支持 Anthropic / OpenAI 协议下的多种 LLM
如果你已经在用 Claude Code、Codex、Aider 这类工具,Pi 提供了另一种更轻量的选择 ------ 它甚至可以成为 Claude Code 等工具的扩展组件(参见 pi-mcp-adapter)。
Pi 1.0 核心变化
1️⃣ 稳定性承诺
从 1.0 开始,Pi 进入稳定版本阶段:
- API 与配置格式不再轻易变更
- 会话存储结构向后兼容
- 适合在生产环境中长期使用,不再担心升级破坏工作流
2️⃣ 生态整合
- 扩展包系统进一步规范化
- 与 Claude Code / OpenCode 等工具的桥接更稳定
- 内置功能收敛,把更多空间留给社区扩展
原生 MCP 支持:零扩展接入外部工具
MCP(Model Context Protocol)是 Anthropic 提出的开放协议,用于让 LLM 与外部工具、数据源标准化交互。Claude Desktop、Cursor 等都已原生支持。
1.0 之前,Pi 想接入外部工具需要借助 pi-mcp-adapter 之类的桥接扩展。Pi 1.0 首次将 MCP 作为一等公民内置,无需额外安装、配置即生效。
配置示例
在 ~/.pi/config.json 中声明 MCP 服务器:
json
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/projects"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your-token>"
}
}
}
}
启动 Pi 后,MCP 服务器会自动拉起并注册为可用工具,代理可以直接调用:
> 列出 ~/projects 下所有 .ts 文件,修复 ESLint 报错并提交
常用 MCP 服务器
| MCP 服务器 | 用途 |
|---|---|
@modelcontextprotocol/server-filesystem |
受控的文件系统访问 |
@modelcontextprotocol/server-github |
仓库操作、PR、Issue |
@modelcontextprotocol/server-fetch |
网页抓取 |
@modelcontextprotocol/server-sqlite |
SQLite 数据库查询 |
| 各类内部服务 MCP | 数据库 / API / 内部工具(社区生态) |
💡 与之前的
pi-mcp-adapter扩展相比,原生 MCP 的优势:配置即用、热重载无需重启 Pi、与 Pi Durable 天然兼容(MCP 工具调用也会被检查点保存)。
Pi Durable:让会话真正"持久"
Pi Durable 是这次 1.0 发布最大的亮点 ,它解决了一个长期困扰 AI 编程代理的问题:会话与执行状态的可恢复性。
🎯 解决什么痛点
| 场景 | 之前的痛点 | Pi Durable 的解法 |
|---|---|---|
| 长任务跑到一半 | Token 耗尽 / 网络抖动 / 误关终端 → 工作丢失 | 自动写入检查点,支持从任意节点恢复 |
| 跨设备协作 | 上下文无法迁移 | 会话状态加密持久化,可在新设备 /resume |
| 复杂多步操作 | 出错后只能从头再来 | 按步骤回放,可跳过已完成阶段 |
🚀 核心能力
- 会话快照:关键操作自动落盘
- 可恢复执行:中断后从最近的检查点继续
- 跨设备同步:同一账户下多设备共享会话
- 轻量存储:会话状态存放在本地目录,体积可控
快速上手
前置条件
- 系统:macOS / Linux / WSL(Windows 原生终端暂未官方支持)
- Node.js:18+
- LLM API Key:任意兼容 Anthropic / OpenAI 协议的服务
- 终端:iTerm2 / Alacritty / Windows Terminal 等
1️⃣ 升级到 Pi 1.0
如果之前装过 0.x 版本:
# 卸载旧版(可选,1.0 通常兼容 0.x 配置)
npm uninstall -g @mariozechner/pi-coding-agent
# 安装 1.0
npm install -g @mariozechner/pi-coding-agent
或者直接通过 npx 运行最新版本:
npx @mariozechner/pi-coding-agent@latest
验证安装:
pi --version
# ✅ 输出 1.0.x
2️⃣ 启用 Pi Durable
Pi Durable 默认集成在 1.0 中,需要在配置中显式启用。编辑 ~/.pi/config.json:
json
{
"model": "anthropic/claude-sonnet-4.5",
"durable": {
"enabled": true,
"storage": "~/.pi/durable",
"autoCheckpoint": true
}
}
📌
autoCheckpoint表示在每个工具调用前后自动写入检查点;如需更细粒度控制,可在会话内用/checkpoint手动触发。
3️⃣ 配置 MCP 服务器(可选)
如果你希望代理直接操作文件系统、GitHub、数据库等,可按上一节的示例在 ~/.pi/config.json 中添加 mcpServers 段。重启 Pi 后 MCP 工具会自动注册。
4️⃣ 验证 Durable 是否生效
启动一个会话,故意在长任务中途按 Ctrl+C 中断,然后重新进入:
pi
# 进入会话后
> /resume
如果能看到之前中断时的会话列表,并支持从检查点恢复,就说明 Pi Durable 配置成功 🎉。
5️⃣ 跨设备恢复(可选)
在机器 B 上配置同样的 API Key 与 Durable 存储路径(支持本地目录或云同步盘):
pi config set durable.storage ~/Dropbox/pi-durable
之后在任意设备执行 /resume 都能拉取到完整会话。
常见问题
Q1:升级到 1.0 会影响现有会话吗?
✔ 1.0 兼容 0.x 的会话格式,但建议升级后执行一次 /compact 整理上下文,避免旧格式带来的解析开销。
Q2:Pi Durable 占用多少磁盘?
会话状态默认存放在 ~/.pi/durable/,单个会话约几百 KB 到几 MB。可通过 /cleanup 清理过期会话,或在配置中设置 retentionDays。
Q3:能不能完全关闭 Durable?
✔ 可以。设置 "durable.enabled": false 即可回到无持久化模式,行为与 0.x 一致。
Q4:Pi Durable 和 pi-hermes-memory 这类记忆扩展冲突吗?
✔ 不冲突。Durable 负责会话级 的检查点与恢复;pi-hermes-memory 等扩展负责跨会话的长期记忆。两者是互补关系。
Q5:和 Claude Code / Codex 相比,Pi 1.0 的差异化在哪?
- 更轻量:纯终端,无需 IDE 集成
- 更可扩展 :npm 包机制,社区生态丰富(参见 pi.dev/packages)
- 可恢复执行:Pi Durable 原生支持,断电 / 断网不再是灾难
- 原生 MCP:开箱即用接入外部工具,无需桥接扩展
Q6:Pi 1.0 内置 MCP 之后,pi-mcp-adapter 还能用吗?
✔ 可以继续用,但一般没必要了。原生 MCP 已覆盖绝大多数场景;如果你之前扩展包里有自定义逻辑,建议作为过渡保留,后续逐步迁移到标准 MCP 服务器配置。
结语
Pi 1.0 + Pi Durable 是这个项目走向成熟的关键一步 🚀。对于一直在寻找一款轻量、可扩展、且具备真正持久化能力的终端 AI 编程代理的开发者来说,Pi 1.0 值得认真试一试。
- 立即试用:
npm install -g @mariozechner/pi-coding-agent - 官方公告:Pi 1.0 · Pi Durable
- 扩展生态:pi.dev/packages
如果有什么问题,欢迎评论留言讨论,看到会回复。如果你觉得这个回答对你有帮助,欢迎关注我【一行梦境】,我会在那里分享更多深度内容和实用技巧。