Skip to content

智能体面板

智能体面板是您与 AI 代理交互的地方,这些代理可以读取、写入和运行您项目中的代码。 它是 Zed AI 代码编辑体验的核心——可用于代码生成、重构、调试、文档编写以及常规问题解答。

通过 命令面板 中的 agent: new thread 命令或点击状态栏中的 ✨ 图标来打开它。

入门

如果您是第一次使用智能体面板,您需要至少配置一个 LLM 提供商或外部智能体。 您可以通过以下方式实现:

  1. 订阅我们的专业版计划,以使用我们的托管模型。
  2. 使用您自己的 API 密钥,可以来自 Anthropic 等模型提供商,也可以来自 OpenRouter 等模型网关。
  3. 使用 外部智能体,如 Gemini CLIClaude Agent

概览

配置好 LLM 提供商或外部智能体后,在消息编辑器中输入内容并按 enter 提交。 如果需要更多空间,可以使用 {#kb agent::ExpandMessageEditor} 展开编辑器。

响应会流式显示,并带有指示器,显示模型正在使用 哪些工具。 下面的章节将介绍您可以在这里执行的操作。

请注意,对于外部智能体,如 Gemini CLIClaude Agent,下面概述的部分功能可能不被支持——例如,从历史记录恢复线程检查点令牌使用量显示 等。 它们的可用性取决于代理。

创建新线程

默认情况下,智能体面板使用 Zed 的官方代理。

若要选择其他代理,请转到智能体面板右上角的加号按钮,然后从预装的 外部智能体 中选择一个,或创建一个新的 文本线程

编辑消息

您发送给模型的任何消息都是可编辑的。 您可以点击包含您消息的卡片,并使用调整后的提示和/或新的上下文重新提交它。

排队消息

当代理处于生成状态时发送的消息,默认情况下会被排队。

对于 Zed 代理,排队消息会在下一个轮次边界(通常在工具调用和响应之间)发送,而对于外部智能体,消息会在生成结束时发送。

您可以编辑或移除(单个或全部)排队消息。 如果您想立即中断代理,也可以通过点击停止按钮或在排队消息上点击“立即发送”(双击回车)来实现。

检查点

每次模型进行编辑时,您都应该在消息顶部看到一个“恢复检查点”按钮,让您可以将代码库恢复到该消息之前的状态。

即使您在线程中途中断了编辑,检查点按钮也会出现,因为这可能是您已经确定代理没有朝着正确的方向发展并希望回滚的时刻。

上下文菜单

在线程视图中右键单击任何代理响应,即可访问包含以下操作的上下文菜单:

  • 复制选区:将当前选中的文本复制为 Markdown 格式(当选中文本时可用)。
  • 复制此代理响应:复制您右键单击的代理响应的全文。
  • 滚动到顶部 / 滚动到底部:根据您当前的位置,滚动到线程的开头或结尾。
  • 将线程作为 Markdown 打开:在新标签页中将整个线程作为 Markdown 文件打开。

在长对话中,使用面板底部的滚动箭头按钮跳转到您最近的提示或线程的开头。

要快速浏览最近更新的线程,请在面板编辑器获得焦点时使用 {#kb agent::ToggleNavigationMenu} 绑定,或点击面板右上角的菜单图标按钮。 这样做将打开一个下拉菜单,显示您最近更新的六个线程。

要查看所有历史对话,请从同一菜单中选择“查看全部”选项,或使用 {#kb agent::OpenHistory} 绑定。

线程标题会根据对话内容自动生成。 但您也可以通过单击标题并输入来手动编辑它们,或通过点击面板右上角省略号菜单中的“重新生成线程标题”按钮来重新生成。

跟随代理

通过点击面板左下角的十字准线图标,跟随代理读取和编辑文件。 您的编辑器会跳转到代理操作的每个文件。

您也可以在提交消息时按住 cmd/ctrl 来自动跟随。

获取通知

如果您向代理发送提示然后将 Zed 切换到后台,您可以在其生成完成时选择通过以下方式获得通知:

  • 出现在您屏幕右上角的可视化通知
  • 声音通知

这些通知可以结合使用或单独使用,您可以使用 agent.notify_when_agent_waitingagent.play_sound_when_agent_done 设置键来自定义它们,包括完全关闭两者。

查看更改

一旦代理对您的项目进行了更改,面板会显示哪些文件、有多少文件以及有多少行被编辑。

要查看具体编辑了哪些文件,请展开消息编辑器正上方出现的手风琴栏,或点击 查看更改 按钮 ({#kb agent::OpenAgentDiff}),它会打开一个包含所有更改的特殊多缓冲区标签页。

您可以接受或拒绝每个单独的更改块,或代理所做的所有更改。

编辑差异也会出现在单独的缓冲区中。 如果您的活动标签页有 AI 生成的编辑,您会看到一个与多缓冲区中具有相同接受/拒绝控件的差异视图。 您可以通过 agent.single_file_review 设置关闭此功能。

添加上下文

代理可以搜索您的代码库以查找相关上下文,但显式提供它可以提高响应质量并减少延迟。

通过在消息编辑器中键入 @ 来添加上下文。 您可以提及文件、目录、符号、之前的线程、规则文件和诊断信息。

当您从缓冲区粘贴复制的多行代码选区时,Zed 会自动将它们格式化为带有文件上下文的 @ 提及。 要粘贴没有此自动格式的内容,请使用 {#kb agent::PasteRaw} 直接粘贴原始文本。

选择作为上下文

此外,您还可以选择缓冲区或终端中的文本,并通过使用 {#kb agent::AddSelectionToThread} 键绑定、运行 {#action agent::AddSelectionToThread} 操作,或在消息编辑器的 + 菜单中选择“选择”项,将其作为上下文添加。

图像作为上下文

对于支持视觉模型的提供商,您也可以在提示中附加图像。 OpenAI GPT-4o 及更高版本、Anthropic Claude 3 及更高版本、Google Gemini 1.5 和 2.0,以及 Bedrock 视觉模型(Claude 3+、Amazon Nova Pro 和 Lite、Meta Llama 3.2 Vision、Mistral Pixtral)都支持图像输入。

要添加图像,您可以通过 @ 提及在您的项目目录中搜索,或者直接从您的文件系统将其拖到智能体面板消息编辑器中。 也支持复制图像然后粘贴。

令牌使用量

Zed 在面板消息编辑器的个人资料选择器附近显示您当前活动线程消耗的令牌数量。

一旦接近模型的上下文窗口,消息编辑器上方会出现一个横幅,建议您启动一个新线程,将当前线程进行摘要并添加为上下文。 您也可以通过右上角的“代理选项”菜单随时对正在进行的线程执行此操作,在那里您会看到一个“从摘要新建”按钮,以及简单地在新的线程中 @ 提及过去的线程。

更改模型

在配置好您的 LLM 提供商——无论是通过 自定义 API 密钥 还是 Zed 的托管模型——之后,您可以通过单击消息编辑器上的模型选择器或使用 {#kb agent::ToggleModelSelector} 键绑定来在它们之间切换模型。

相同的模型可能通过多个提供商提供——例如,Claude Sonnet 4.5 可通过 Zed Pro、OpenRouter、Anthropic 等方式使用。 请确保您为要使用的模型选择了正确的模型提供商,这在模型选择器中由模型左侧的图标区分。

收藏模型

您可以通过模型选择器,在悬停模型时点击出现的星形图标按钮,或通过设置中的 agent.favorite_models 设置键,将特定模型标记为收藏。

使用 {#kb agent::CycleFavoriteModels} 遍历您的收藏夹,而无需打开模型选择器。

使用工具

智能体面板支持工具调用,这实现了代理式编辑。 Zed 包含几个 内置工具,用于搜索代码库、编辑文件、运行终端命令等。

您还可以通过 MCP 服务器 扩展可用工具集。

配置文件

配置文件用作对工具进行分组的方式。 Zed 提供三个内置配置文件,您可以创建任意数量的自定义配置文件。

内置配置文件

  • Write:一个包含允许 LLM 写入您的文件和运行终端命令的工具的配置文件。 这个配置文件基本上开启了所有内置工具。
  • Ask:一个只读工具的配置文件。 最适合询问有关您代码库的问题,而无需担心代理进行更改。
  • Minimal:一个没有工具的配置文件。 最适合与 LLM 进行一般对话,无需了解您的代码库。

您可以通过单击配置文件选择器 > 配置 按钮 > 您想要查看的配置文件,来探索每个配置文件中启用的确切工具。

或者,您也可以使用命令面板,运行 {#action agent::ManageProfiles},或直接使用键绑定 {#kb agent::ManageProfiles},来访问配置文件管理模态框。

使用 {#kb agent::CycleModeSelector} 遍历可用配置文件,而无需打开模态框。

自定义配置文件

您也可以通过代理配置文件模态框创建自定义配置文件。 从那里,您可以选择 添加新配置文件 或使用自定义名称和您偏好的工具集来分叉一个现有配置文件。

也可以覆盖内置配置文件。 在代理配置文件模态框中,选择一个内置配置文件,导航到 配置工具,然后重新排列您想要保留或移除的工具。

Zed 会使用与您覆盖的默认配置文件相同的配置文件名将此配置文件存储在您的设置中。

所有自定义配置文件都可以通过 UI 或在设置文件中的 agent.profiles 键下手动编辑。

要删除自定义配置文件,请打开代理配置文件模态框,选择要移除的配置文件,然后单击删除按钮。

工具权限

注意: 在 Zed v0.224.0 及更高版本中,工具批准由 agent.tool_permissions.default 控制。 在早期版本中,它由 agent.always_allow_tool_actions 布尔值(默认为 false)控制。

Zed 的智能体面板提供 agent.tool_permissions.default 设置来控制工具批准行为:

  • "confirm"(默认)—— 在运行任何工具操作之前提示批准
  • "allow"—— 无需提示自动批准工具操作
  • "deny"—— 阻止所有工具操作

当代理请求操作权限时,确认菜单包含允许或拒绝一次的选项,以及“始终为 <工具>”的选择,这些选择会设置工具级别的默认值。 当 Zed 可以从输入中提取安全模式时,它还会提供基于模式的“始终为 ...”选择,这些选择会添加 always_allow/always_deny 规则。 MCP 工具仅支持工具级别的默认值。

即使使用 "default": "allow",每个工具的 always_denyalways_confirm 模式仍然会被遵守——因此您可以在自动批准大多数操作的同时阻止或限制特定操作。

有关 工具权限如何工作、如何进一步自定义它们以及其他详细信息,请了解更多。

模型支持

工具调用需要由每个模型和模型提供商单独支持。 因此,尽管存在内置工具,但一些模型可能无法使用它们。 如果您选择属于这种情况的模型,您应该会看到“无工具”标签。

所有 Zed 的托管模型 都开箱即用地支持工具调用。

MCP 服务器

与内置工具类似,一些模型可能不支持给定 MCP 服务器中包含的所有工具。 Zed 的 UI 会通过出现在模型选择器附近的警告图标来通知您这一点。

文本线程

“文本线程” 以不同的格式呈现您与 LLM 的对话——作为原始文本。 使用文本线程,您可以完全控制对话数据。 您可以移除和编辑来自 LLM 的响应,交换角色,并在对话的早期阶段包含更多上下文。

文本线程是 Zed 最初的助手面板格式,为那些希望直接控制对话数据的用户保留。 自主代码编辑(代理写入文件)仅在默认线程格式中可用,文本线程中不可用。

错误和调试

如果您遇到错误或不寻常的 LLM 行为,请使用 agent: open thread as markdown 将线程作为 Markdown 打开,并将其附加到您的 GitHub 问题中。

您还可以通过点击文件图标按钮(在向下 thumbs 按钮右侧),在面板编辑器获得焦点时,将线程作为 Markdown 打开。

反馈

您可以评分代理响应,以帮助改进 Zed 的系统提示和工具。

请注意,评分响应会将与该响应相关的数据发送到 Zed 的服务器。 有关 Zed 在 AI 改进、隐私和安全方面的方法,请参阅 AI 改进隐私与安全如果您不希望数据保留在 Zed 的服务器上,请勿评分。 如果您没有明确评分响应,我们不会收集用于改进我们代理产品的数据。

要帮助改进 Zed 的系统提示和工具,请使用每个响应末尾的向上/向下 thumbs 控制来评分响应。 如果是向下 thumbs,将显示一个新的文本区域,您可以在其中添加更多详细信息。

您可以在代理响应后的任何时间点提供线程反馈,并在同一线程中多次提供。