现在位置: 首页 > Pi Agent > 正文

Pi Agent 交互模式

本章全面介绍 Pi Agent 交互模式下的核心操作,包括 Slash 命令、模型管理和键盘操作。


Slash 命令大全

在编辑区输入 / 会触发命令自动补全。

以下是 Pi Agent 交互模式下的常用内置命令:

命令功能说明
/login登录提供商选择 OAuth 订阅或 API Key 提供商进行认证
/logout登出清除已存储的认证凭证
/model切换模型打开模型选择器,按名称搜索;选择器内按 Ctrl+S 可保存为启动默认
/thinking切换推理等级打开推理等级选择器,选择器内按 Ctrl+S 可保存为启动默认
/scoped-models模型范围管理设置 Ctrl+P 循环切换时可用的模型列表
/settings设置面板打开内置设置界面:推理等级、主题、消息传递、传输协议等
/resume恢复会话从历史会话中选择并恢复
/new新建会话开始一个全新的对话
/name命名会话为当前会话设置一个易读的名称
/session会话信息显示会话文件路径、ID、消息数、token 用量和费用
/tree会话树导航跳转到对话树的任意节点继续对话
/trust信任项目保存项目信任决策,避免每次启动都询问
/fork分叉会话从之前的用户消息分叉出一个新会话文件
/clone克隆会话复制当前活动分支到新会话文件
/compact压缩上下文手动压缩对话历史,释放上下文窗口空间
/copy复制回复复制 AI 最后一条回复到剪贴板
/export导出会话导出为 HTML 或 JSONL 文件
/import导入会话从 JSONL 文件导入并恢复会话
/share分享会话上传为私有 GitHub Gist,生成可分享的 HTML 链接
/reload热重载重新加载扩展、Skills、提示词模板、主题、上下文文件和键盘快捷键配置
/hotkeys快捷键帮助显示所有键盘快捷键列表
/changelog更新日志显示版本更新历史
/quit退出退出 Pi Agent

除了内置命令,Extensions(扩展)也可以注册自定义命令。

Skills 会自动注册为 /skill:名称 命令,提示词模板则通过 /模板名 来调用。


模型管理

模型管理涵盖切换模型、设定循环切换范围和调整推理等级三个方面。

下面分别介绍对应的命令与快捷键。

切换模型(/model 和 Ctrl+L)

使用 /model 命令或 Ctrl+L 打开模型选择器,浏览所有可用的 AI 模型。

在模型选择器中,你可以按名称搜索,选中后按 Ctrl+S 可保存为启动默认。

下面是一个打开模型选择器并切换模型的操作过程:

/model
┌ 选择模型(输入关键词过滤,↑/↓ 移动,Enter 确认):
│ > anthropic/claude-sonnet-4-5
│   anthropic/claude-opus-4-1
│   openai/gpt-4o
│   google/gemini-2.5-pro
└
已切换到 anthropic/claude-sonnet-4-5

列表中的模型取决于你已配置的提供商,实际显示会与示例不同。

快速循环切换(Ctrl+P)

Ctrl+P 向前循环切换模型,Shift+Ctrl+P 向后切换。

切换范围由 /scoped-models 命令或 enabledModels 设置控制。

推理等级(Shift+Tab)

Shift+Tab 循环切换推理等级。

编辑器边框颜色会随等级变化,让你直观感知当前的推理深度:

等级适用场景
off无推理(一般任务)
minimal / low轻度推理(常规编码)
medium中度推理
high / xhigh深度推理(复杂问题)
max最大推理(极复杂逻辑)

在 /thinking 选择器内按 Ctrl+S 可把当前等级保存为启动默认。

模型不支持的推理等级不会生效,也不会出现在切换列表中。

模型的能力决定了推理等级的上限。


Shell 命令集成

你可以在编辑区直接执行 shell 命令,无需离开 Pi Agent:

前缀行为输出处理使用场景
!执行命令,输出发给 AIAI 可见让 AI 查看测试结果、lint 输出、git 状态
!!执行命令,输出不发给 AI仅本地显示打开文件、查看环境、快速检查

使用示例:

!npm test
!git diff --stat
!python -m pytest -v

!!cat ~/.zshrc
!!ls -la

下面执行 !npm test 后的实际效果,输出会同时显示在本地并交给 AI:

!npm test
> pi-demo@1.0.0 test
> vitest run

 PASS  src/utils/format.test.ts (6 tests) 12ms
 PASS  src/utils/parse.test.ts (4 tests) 8ms

 Test Files  2 passed (2)
      Tests  10 passed (10)

! 命令的输出会占用 AI 的上下文窗口。

如果输出很大(如完整日志),考虑使用 !! 或者将输出重定向到文件再让 AI 读取。


消息队列深入

消息队列让你在 AI 正在工作时也能发送指令,大幅提升交互效率:

消息类型快捷键触发时机典型场景
Steering(导向)Enter当前轮次的工具调用全部执行完毕后、下一轮 LLM 调用之前插入AI 正在执行 read → edit → bash 一连串调用时,你想中途纠正方向
Follow-up(跟进)Alt+EnterAI 完成所有工作(没有更多工具调用需要执行)之后才插入AI 完成当前任务后追加新的需求
中止并取回Escape中止当前操作,并把已排队的消息取回编辑区AI 方向跑偏时立即停下,同时拿回排队指令
仅取回排队消息Alt+Up不中止当前操作,仅把排队消息取回编辑区想改写排队内容,但不需要打断 AI

你可以通过设置中的 steeringModefollowUpMode 来控制消息的发送策略。

在 Windows 和 WSL 下,Alt+Enter 常被终端占用(如 Windows Terminal 默认绑定全屏切换),此时实际默认可用 Ctrl+Q 发送 follow-up 消息。


编辑器功能

编辑区提供文件引用、路径补全、多行输入等增强能力,减少来回切换工具的次数。

功能操作方式
文件引用搜索输入 @ 触发模糊搜索项目文件
路径自动补全按 Tab 自动补全路径
多行输入Shift+Enter 换行(Windows Terminal 用 Ctrl+Enter)
粘贴图片Ctrl+V(Windows 用 Alt+V,WSL 同样用 Alt+V),或拖拽图片到终端
复制 AI 回复Ctrl+X 在 /tree 中复制当前选中消息,其他场景复制最后一条 AI 回复
外部编辑器Ctrl+G 打开外部编辑器编辑当前内容

多行输入中的「Windows Terminal 用 Ctrl+Enter」是 Windows Terminal 下的自动适配,并非 keybindings.json 中的默认值。