Pi coding agent入门:第 2 课:交互式界面
第 2 课:交互式界面
交互式界面自上而下分为四个区域:
1. 启动头部(Startup header)
显示快捷键(/hotkeys 查看全部)、已加载的 AGENTS.md 上下文文件、提示词模板、技能和扩展。这是快速了解 pi 已加载了哪些东西的方式。之后添加技能或扩展时,它们也会显示在这里。
2. 消息区(Messages)
可滚动的历史记录:你的消息、助手回复、工具调用及其结果(你会看到模型读取文件、运行命令、编辑代码),以及通知和错误。这是你实时观察 pi 工作的地方。
3. 编辑器(Editor)
你输入的地方。边框颜色表示当前的思考等级(Shift+Tab 循环切换)。关键的编辑器技巧:
@— 模糊搜索项目文件,内联引用- Tab — 补全路径
- Shift+Enter — 多行输入
!command— 运行 shell 命令并把输出发送给模型!!command— 运行但不发送输出(适合静默设置)- Ctrl+V — 粘贴文本或图片(Windows 上是 Alt+V);也可以把图片拖进终端
- Ctrl+G — 打开外部编辑器(使用
$VISUAL、$EDITOR或nano)
4. 底部栏(Footer)
工作目录、会话名称、token/缓存用量(↑ 输入、↓ 输出、R 缓存读、W 缓存写)、费用、上下文用量和当前模型。关注这里可以了解你正在消耗多少上下文。
必备快捷键
| 按键 | 作用 |
|---|---|
| Ctrl+C | 清空编辑器(按两次 → 退出) |
| Escape | 取消/中止当前工作(按两次 → 打开 /tree) |
| Ctrl+L | 打开模型选择器 |
| Ctrl+P / Shift+Ctrl+P | 前后循环切换模型 |
| Shift+Tab | 循环切换思考等级 |
| Ctrl+O | 折叠/展开工具输出 |
| Ctrl+T | 折叠/展开思考块 |
| Ctrl+X | 复制最后一条助手消息 |
| Ctrl+D | 退出(编辑器为空时) |
在 pi 内输入 /hotkeys 查看完整列表。
消息队列(pi 的超级能力)
当代理仍在工作时,你可以输入新消息并按:
- Enter → 排队一条引导(steering)消息,在当前回合完成工具调用后送达。非常适合中途提醒:"做完之后也检查一下测试。"
- Alt+Enter → 排队一条后续(follow-up)消息,仅在所有工作完成后送达。
- Escape → 中止并把排队消息恢复到编辑器。
- Alt+Up → 把排队的消息取回编辑器。
这样你可以继续输入而不用等待——和那些会阻塞你的聊天工具很不一样。
自定义快捷键
所有快捷键都可以通过 ~/.pi/agent/keybindings.json 配置。每个动作可以绑定一个或多个按键:
{
"tui.editor.cursorUp": ["up", "ctrl+p"],
"tui.editor.cursorWordLeft": ["alt+left", "alt+b"],
"tui.editor.deleteWordBackward": ["ctrl+w", "alt+backspace"]
}
按键格式是 修饰键+键(ctrl、shift、alt,可组合)。文档里还提供了现成的 Emacs 和 Vim 配置可以直接复制。修改后运行 /reload 即可生效,无需重启。
现在就来试试
- 输入
@并选择一个文件——发一条关于它的消息。 - 试试
!git log --oneline | head -5——看看输出如何发送给模型。 - 输入
/hotkeys并浏览列表。 - 开始一个任务,然后立刻按 Alt+Enter 输入一条后续消息——观察它排队并送达。
作业: 在任务运行时排队一条引导消息(按 Enter),确认它会在工作途中送达。然后按 Escape 尝试中止任务。