跳至正文

代理 > 与代理交互

终端和代理模式

在 ChatGPT 中打开 ↗
向 ChatGPT 询问有关此页面的信息
在 Claude 中打开 ↗
向 Claude 询问有关此页面的信息
已复制!

Warp 提供两种截然不同的模式:用于命令的简洁终端,以及用于多轮代理工作流的专用对话视图。

Warp 提供两种截然不同的模式:用于运行 shell 命令的简洁终端,以及用于与 Warp 代理 Oz 进行多轮互动的专用对话视图。终端模式默认保持界面极简,而代理模式则呈现出用于模型选择、语音输入、图像附件和对话管理的完整控件。


在深入了解之前,先介绍两个关键概念

  • 终端会话 - 您运行命令的 shell 环境。这是您打开 Warp 时的默认模式——一种简洁、传统的终端输入方式。
  • 代理对话 - 与 Oz 进行的多轮互动。对话会在不同交流中保持上下文,并拥有其专属的、控件更丰富的视图。

终端模式和代理模式使在这两种环境之间切换变得顺畅,同时在视觉上保持清晰的界限。


终端模式和代理模式将您的终端工作流和代理工作流分隔为不同的上下文

  • 默认简洁终端 - 在运行命令时提供最小化的输入界面。代理控件仅在您需要时才会出现。
  • 专用对话视图 - 多轮代理工作流空间具有完整控件,如模型选择、语音输入、图像附件和对话历史记录。
  • 显式模式切换 - 当前模式清晰可见,支持更好的工作流组织——您可以分离、最小化和展开不同的对话。

终端模式是当您打开新标签页或窗格时的默认模式。

  • 外观和行为类似于传统的终端输入。
  • 代理控件并不总是可见,保持界面整洁。
  • 消息栏显示与代理交互的上下文提示。

Default terminal mode in Warp, showing a clean terminal input.

终端模式提示

终端底部的消息栏提供上下文引导

  • 默认提示 - 当输入为空时,显示 ⌘↩ for new agent(按 ⌘↩ 新建代理)。
  • 发送给代理 - 当您有可能是提示词的文本时,显示 ⌘↩ to send to agent(按 ⌘↩ 发送给代理)。
  • 错误块附件 - 当上一个命令失败时,显示将输出作为代理上下文附加的提示(例如 ⌘↑ attach 'npm install...' output as agent context)。
  • 附加上下文指示器 - 当您附加了块或文本选择时显示(例如 ⌘↩ to send to agent with 'git status' attached)。
  • 继续对话 - 当您最后一个可见项是代理对话块时,显示 ⌘Y to continue conversation(按 ⌘Y 继续对话)。

如果启用了自动检测,Warp 会在您提交前将您的输入标记为“代理”或“shell”,并以洋红色显示“(autodetected)”(自动检测)。有关配置和覆盖方法,请参阅 理解自动检测

禁用消息栏: 若要隐藏终端模式提示栏同时保持 AI 功能开启,请前往 Settings(设置) > Features(功能) > Terminal Input(终端输入),并关闭 Show terminal input message line(显示终端输入消息行)。这仅隐藏上下文提示——不会禁用任何 AI 功能。

  • 专用的对话视图,具有更丰富的代理控件,包括模型选择、语音输入、图像附件和对话管理。
  • 熟悉的“魅力元素”(当前目录、git 分支、差异视图入口点等)仍然可用。
  • 专为多轮工作流和管理多个对话而设计。

The dedicated Agent Conversation View.

专用的代理对话视图。

关键区别

代理控件仅在您进入对话时才会出现,从而使您的终端保持简洁。

在之前的 UI 中,代理控件始终可见。通过终端模式和代理模式,这些控件默认隐藏,并在您进入代理对话后出现。

代理输入工具栏上的磁贴和按钮可以重新排序、隐藏或在输入的左右两侧之间移动。在代理对话中右键点击输入框,然后选择 Edit agent toolbelt(编辑代理工具栏)以打开编辑器。您的布局在应用重启后会保留。

代理模式特有的项目包括模型选择器、自动检测切换、上下文使用和快进切换。诸如语音输入、文件附件和上下文磁贴等共享项目会出现在代理模式工具栏和 CLI 编码代理工具栏中。

块来源与可见性

Warp 中的块属于终端视图或特定代理对话

  • 终端块 - 您直接在终端中运行的命令始终出现在您的终端块列表中,并且可以作为上下文附加到任何对话中。
  • 代理对话块 - 在代理对话中执行的命令(无论是由您还是代理执行)仅出现在该特定对话中,而不出现在终端块列表中。

在代理对话中,上下文是自动管理的,也可以选择从终端视图手动附加

  • 自动上下文 - 在代理对话中执行的命令会被包含作为后续提示词的上下文。
  • 手动附件 - 您可以附加终端块以引入对话之外的输出。
  • 对话范围 - 代理对话块保留在该对话的范围内,而终端块则保留在终端块列表中。

这种分离使您的终端视图保持整洁,同时在每个对话内保留完整上下文。有关快捷键、待处理与已附加上下文以及块选择行为,请参阅 将块作为上下文

除了本地代理对话外,您还可以启动在隔离云环境中运行的 云代理对话。云代理适用于

  • 跨多个任务运行并行代理
  • 在托管计算机上远程运行代理(将计算负载从您的本地机器卸载)
  • 在云中自主运行代理
  • 从任何地方检查您的代理进度

要启动云代理对话,请在终端模式下按 ⌥⌘↩(macOS 上的 Option+Command+Enter,或 Ctrl+Alt+Enter Windows/Linux)。您还可以使用欢迎块中的“Start cloud project”(启动云项目)操作。

云代理对话与本地对话有一些不同

  • 环境选择器 - 选择在哪个 Warp 环境中运行
  • 积分指示器 - 显示您剩余的云代理积分
  • 不同的零状态 - 对话标题显示“New cloud agent conversation”(新云代理对话)

云代理对话始终存储在云中。有关访问和共享云对话的更多详细信息,请参阅 云同步对话

访问正在运行或过去的云对话

  • 从对话列表面板 - 云对话与本地对话一起显示。点击即可打开。
  • 从管理视图 - 使用 代理管理视图 查看所有云代理运行情况,按状态筛选,并点击任何行以打开对话。
  • 从 Oz Web 应用 - 访问 oz.warp.dev 上的云代理,从任何浏览器管理运行。

有关云代理的更多信息,请参阅 云代理概述


自动检测(它会检测您输入的是自然语言还是 shell 命令)有助于 Warp 将每个输入解释为 shell 命令或代理请求。启用自动检测后,Warp 会在提示框中显示一个 内联指示器(例如,洋红色的“(autodetected)”)。

Inline "(autodetected)" indicator showing Warp routed terminal input to the agent.

在终端模式下

当您键入看起来像自然语言请求的文本(例如“总结此项目中的依赖项”)时,Warp 将其标记为“代理”并显示“(autodetected)”指示器。按 Enter 键会将您的输入直接发送给新对话中的代理,从而为仅文本请求创建“快速发送”工作流。

在代理对话视图中

当自动检测将您的输入识别为 shell 命令时,Warp 会在输入周围显示一个独特的 UI 边框以指示模式切换。这有助于您理解您的输入将作为命令运行,而不是发送给代理。

有多种方法可以覆盖自动检测

  • 键盘快捷键 - 按 ⌘I 在命令模式和代理模式之间切换。
  • ! 前缀 - 在代理视图中,在输入前加上 ! 以强制其作为 shell 命令运行(例如 !ls!git status)。

常见示例

  • 您键入的内容看起来像命令,但您原本打算发出代理请求。
  • 您键入了一个句子,但原本打算将其作为命令运行(罕见,但确实会发生)。

自动检测对新 Warp 用户默认启用。对于在终端模式和代理模式引入之前就使用 Warp 的用户,自动检测默认禁用,以保留其现有的工作流。


有多种方法可以启动或进入代理对话

在终端模式下键入 /agent/new 以进入代理对话视图。这是明确切换到代理模式的推荐方式。

  • /agent/new - 打开具有完整控件的新代理对话视图
  • /agent <prompt> - 将您的提示词直接发送到新对话中的代理

⌘↩(macOS 上的 Command+Enter,或 Windows/Linux 上的 Ctrl+Shift+Enter)立即进入对话视图。这是 /agent 的快捷方式。

当您想要执行以下操作时使用

  • 附加图像
  • 使用语音输入
  • 在发送第一条消息前访问其他仅限对话的控件

在终端模式下启用自动检测后,您可以立即启动对话

  1. 键入自然语言请求(例如“总结此项目中的依赖项”)。
  2. 如果 Warp 将其检测为代理请求,它会显示“(autodetected)”指示器。
  3. 按 Enter 键将其直接发送到新对话中的代理。

这种“快速发送”方法适用于不需要语音输入或图像附件等仅限对话控件的简短文本请求。

D) 从向上箭头历史记录菜单中继续

名为“D) 从向上箭头历史记录菜单中继续”的章节

(向上箭头)打开内联历史记录菜单。菜单内容因上下文而异——有关向上箭头在终端视图与代理视图中如何工作的详细信息,请参阅 导航行为

当启用了 主动 AI 推荐 时,Warp 会根据您最近的活动显示上下文相关的提示词建议。点击这些建议中的任何一个都会打开代理对话视图并立即发送该提示词。


Warp 包含一个用于浏览和管理代理对话的 对话面板。有关面板布局、导航和对话存储的详细信息,请参阅 代理对话

在代理对话中

Slash command menu open inside an agent conversation, showing the full set of commands.

在代理对话中,您可以随时通过在输入框中键入 / 来访问 Warp 的 斜杠命令

  • 键入 / 以打开命令菜单
  • 继续键入以筛选命令(例如:/conversations/compact
  • 使用 / 进行导航,使用 Enter 运行
  • esc 关闭菜单

代理模式下的关键斜杠命令

  • /new/agent - 启动新对话。
  • /plan/plan <prompt> - 进入代理视图并启动规划对话。代理将在进行更改前制定实施计划。
  • /conversations - 打开对话列表面板。
  • /compact - 总结并压缩当前对话,以释放上下文窗口空间。
  • /fork - 将当前对话分支到新线程。按 Enter 在当前窗格中分支,或按 ⌘↩(Windows/Linux 上的 Ctrl+Shift+Enter)在新窗格中分支。
  • /fork-and-compact - 分支对话并自动总结它。
  • /fork from - 选择对话中的特定点进行分支。会弹出一个菜单,显示您之前的查询——选择一个以从该点开始分支。
  • /model - 为对话选择或更改 AI 模型。

斜杠命令是无需离开键盘即可执行常见操作的快捷方式。

在终端模式下

Slash command menu open from terminal mode, showing a reduced set of quick actions.

斜杠命令不仅适用于代理对话。您也可以在终端模式下键入 / 来打开一组有限的命令。

有关可用斜杠命令的完整列表,请参阅 斜杠命令

分支允许您从现有对话中分出,以探索不同方向,而不会丢失原始线程。

如何分支

  1. 在代理对话中,键入 /fork 并按 Enter
  2. 选择在哪里打开分支对话
    • Enter - 在当前窗格中分支(替换当前视图)。
    • ⌘↩(Windows/Linux 上的 Ctrl+Shift+Enter) - 在新窗格中分支(保持原始视图可见)。

分支并压缩

使用 /fork-and-compact 分支并自动总结对话。当您的上下文窗口即将填满但您想继续在相同工作上构建时,这很有用。

从特定点分支

使用 /fork from 精确选择您想要从对话中的哪个点开始分支

  1. 键入 /fork from 并按 Enter
  2. 菜单会显示对话中您之前的查询。
  3. 选择您想要从中分支的查询。
  4. 选择 Enter(现有窗格)或 ⌘↩ / Ctrl+Shift+Enter(新窗格)。

当您想要返回到早期点并尝试不同方法时,这很有帮助。

有关更多分支方法和用例,请参阅 对话分支


如果您希望在终端会话中的任何时候键入自然语言并将其自动路由到代理,可以使用“新会话的默认模式”设置进行配置。

Using Agent as your default for new tab sessions

将代理作为新标签页会话的默认模式。

第 1 步 — 设置新标签页以代理视图打开

名为“第 1 步 — 设置新标签页以代理视图打开”的章节

默认情况下,新标签页和窗格以终端模式打开。若要改为直接启动代理对话

  1. 前往 Settings(设置) > Features(功能) > General(常规)。
  2. Default mode for new sessions(新会话的默认模式)更改为 Agent(代理)。

第 2 步 — 在代理模式下启用自动检测

名为“第 2 步 — 在代理模式下启用自动检测”的章节

在代理视图中启用自动检测后,Warp 会自动检测您的输入是自然语言还是 shell 命令,并相应地将其路由到代理或在终端中运行。

您还可以使用“切换输入模式”键盘快捷键来覆盖自动检测,并强制使用“shell”或“代理”模式。

  1. 前往 Settings(设置) > Agents(代理) > Warp Agent > Input(输入)。
  2. 切换开启 Autodetect terminal commands in agent input(自动检测代理输入中的终端命令)。

⌘I (macOS) 或 Ctrl+I (Windows/Linux) 可随时在 shell 和代理模式之间手动切换,覆盖自动检测。


在对话视图中,按 ? 显示/隐藏完整快捷键面板。以下是关键快捷键

  • 启动新代理对话(从终端模式) - ⌘↩ (macOS) / Ctrl+Shift+Enter (Windows/Linux)
  • 启动新云代理对话(从终端模式) - ⌥⌘↩ (macOS) / Ctrl+Alt+Enter (Windows/Linux)
  • 将带有附件上下文的提示发送给代理(从终端模式) - 选定块时按 ⌘↩ (macOS) / Ctrl+Shift+Enter (Windows/Linux)
  • 在长运行命令中标记代理 - 交互式命令运行时按 ⌘↩ (macOS) / Ctrl+Shift+Enter (Windows/Linux)
  • 退出对话(回到终端模式)- esc
  • 停止代理 / 空输入时退出 - ^C / Ctrl+C
  • 打开对话选择器 - ⌘Y (macOS) / Ctrl+Y (Windows/Linux)
  • 切换对话列表面板 - ⌘⇧H (macOS) / Ctrl+Shift+H (Windows/Linux)
  • 覆盖自动检测(切换 shell ↔ 代理)- ⌘I (macOS) / Ctrl+I (Windows/Linux)
  • ! - 前置以强制进入 shell 模式(例如 !ls
  • / - 打开斜杠命令菜单
  • @ - 打开上下文菜单(附加文件、符号等)
  • ? - 显示/隐藏键盘快捷键面板
  • 恢复已暂停/取消的对话 - ⌘⇧R (macOS) / Ctrl+Alt+R (Windows/Linux)
  • 切换自动接受(用于代理工具执行)- ⌘⇧I (macOS) / Ctrl+Shift+I (Windows/Linux)
  • 打开代码评审面板 - ⌘⇧+ (macOS) / Ctrl+Shift++ (Windows/Linux)
  • 切换计划面板(如果存在计划)- ⌘⌥P (macOS) / Ctrl+Alt+P (Windows/Linux)
  • 导航菜单项 - /
  • 选择(在现有面板中分支)- Enter
  • 选择并在新面板中打开 - ⌘↩ (macOS) / Ctrl+Shift+Enter (Windows/Linux)
  • 关闭菜单 - esc

您可以在 设置 > 键盘快捷键 中自定义斜杠命令和其他操作的键盘快捷键。这允许您为您常用的命令分配首选的按键组合。

例如,要为 /agent 斜杠命令绑定快捷键

  1. 打开 设置 > 键盘快捷键
  2. 搜索“agent”或您想要绑定的斜杠命令
  3. 点击快捷键字段并按下您想要的按键组合
  4. 快捷键将自动保存

这对于您频繁执行的操作(如开始新对话或打开对话列表)非常有用。