🍇Pi
约 1209 字大约 4 分钟
AIAgentCLITerminal
2026-05-24
Pi 是什么
Pi 更像一套面向终端工作流的 agent 基础设施,而不只是一个单独的聊天命令行。
它的核心价值不在“能不能对话”,而在于把 coding agent、多模型接入、session 管理、slash commands、扩展机制、工具调用放进同一套 CLI 体验里。
Pi 文档
官方 usage 文档,包含交互模式、会话、快捷键与 slash commands
Pi 的定位
- 适合长期驻留在终端里的开发者
- 适合把“提问”升级成“规划 -> 执行 -> 复盘”的会话式工作流
- 适合需要会话分叉、上下文压缩、历史恢复、扩展命令的人
- 适合把 agent 当作可编排工具链,而不是一次性问答框
Pi 的组成
根据仓库首页,Pi 目前至少覆盖这几层:
pi-coding-agent:交互式 coding agent CLIpi-agent-core:工具调用与状态管理 runtimepi-ai:统一多 provider LLM APIpi-tui:终端 UI 能力
为什么顺手
Pi 的体验重点不是“界面多漂亮”,而是命令式交互足够顺。
- 用
/打开命令补全 - 用
@引入文件上下文 - 用
!command直接执行 shell 并把输出送回模型 - 用 session / tree / fork 维持任务分支,而不是把一切塞进一条长对话
这类设计很适合真实开发,而不是演示型聊天。
Ghostty 为什么值得一起看
如果说 Pi 是终端里的 agent 层,那么 Ghostty 很适合作为它的“宿主终端”。
Ghostty 官方文档
原生 UI、GPU 加速、跨平台终端与配置文档
Ghostty 的特点
- 原生平台 UI,不追求最低公分母体验
- GPU 加速,性能定位明确
- 支持多窗口、标签、分屏
- 提供
libghostty,不仅是终端 App,也是一套可嵌入能力
为什么和 Pi 搭配自然
这是一种很实用的组合,不是官方绑定关系:
- Ghostty 负责稳定、快速、原生的终端环境
- Pi 负责 agent、命令、会话和上下文操作
- 两者都偏向“长期使用的开发工具”,而不是一次性玩具
Pi 适合什么场景
- 在本地仓库里启动 Pi,会先围绕当前目录建立任务上下文
- 通过
@文件、shell 输出、历史 session 补充信息 - 用 slash commands 管理模型、会话、上下文压缩与分叉
- 把一次复杂任务拆成多个可恢复、可追踪的小会话
典型场景
- 阅读陌生仓库并持续追问
- 做多轮代码修改,而不是一次性生成代码
- 需要保留 session 历史与分支决策
- 想通过扩展包继续长出自己的命令系统
最适合先记住的简单 slash 命令
下面这组足够覆盖日常使用,不需要一上来记很多。
1. 会话管理
/new:开一个新会话/resume:恢复以前的会话/name <name>:给当前会话命名/session:查看当前 session 的文件、ID、token 与成本信息
2. 上下文控制
/compact [prompt]:压缩上下文,适合长会话继续跑/tree:跳到会话里的某个历史节点继续/fork:从之前某条用户消息分叉一条新会话/clone:复制当前分支到一个新会话
3. 模型与环境
/model:切换模型/settings:调整 thinking level、theme、transport 等设置/reload:重载扩展、skills、prompts、context files/hotkeys:查看快捷键
4. 导出与分享
/copy:复制上一条 assistant 回复/export [file]:导出会话为 HTML/share:生成可分享的 gist 链接
我更推荐的最小命令集
如果只想先把 Pi 用起来,先记这 6 个就够了:
/new/resume/model/compact/tree/reload
一个很实用的使用节奏
- 先
/new开任务 - 用
@文件或直接提需求,把目标讲清楚 - 会话变长后用
/compact - 出现两种方案时用
/fork或/tree - 想切模型时用
/model - 装了扩展或改了配置后用
/reload
参考
Pi GitHub
Pi Agent Harness Mono Repo
Ghostty GitHub
Fast, native, feature-rich terminal emulator
Plume 主题介绍
本文组件与写法参考来源
