You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/src/ai/agent-panel.md
+17-10Lines changed: 17 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,15 @@
1
1
# Agent Panel
2
2
3
-
The Agent Panel provides you with a surface to interact with LLMs, enabling various types of tasks, such as generating code, asking questions about your codebase, and general inquiries like emails, documentation, and more.
3
+
The Agent Panel allows you to interact with many LLMs and coding agents that can support you in various types of tasks, such as generating code, codebase understanding, and other general inquiries like writing emails, documentation, and more.
4
4
5
5
To open it, use the `agent: new thread` action in [the Command Palette](../getting-started.md#command-palette) or click the ✨ (sparkles) icon in the status bar.
6
6
7
-
If you're using the Agent Panel for the first time, you need to have at least one LLM provider configured.
7
+
If you're using the Agent Panel for the first time, you need to have at least one LLM or agent provider configured.
8
8
You can do that by:
9
9
10
10
1.[subscribing to our Pro plan](https://zed.dev/pricing), so you have access to our hosted models
11
-
2. or by [bringing your own API keys](./llm-providers.md#use-your-own-keys) for your desired provider
11
+
2.[bringing your own API keys](./llm-providers.md#use-your-own-keys) for your desired provider
12
+
3. using an external agent like [Gemini CLI](./external-agents.md#gemini-cli)
12
13
13
14
## Overview {#overview}
14
15
@@ -17,6 +18,15 @@ If you need extra room to type, you can expand the message editor with {#kb agen
17
18
18
19
You should start to see the responses stream in with indications of [which tools](./tools.md) the model is using to fulfill your prompt.
19
20
21
+
> Note that, at the moment, not all features outlined below work for external agents, like [Gemini CLI](./external-agents.md#gemini-cli)—features like _checkpoints_, _token usage display_, and _model selection_ may be supported in the future.
22
+
23
+
### Creating New Threads
24
+
25
+
By default, the Agent Panel uses Zed's first-party agent.
26
+
27
+
To change that, go to the plus button in the top-right of the Agent Panel and choose another option.
28
+
You choose to create a new [Text Thread](./text-threads.md) or, if you have [external agents](/.external-agents.md) connected, you can create new threads with them.
29
+
20
30
### Editing Messages {#editing-messages}
21
31
22
32
Any message that you send to the AI is editable.
@@ -30,7 +40,7 @@ The checkpoint button appears even if you interrupt the thread midway through an
30
40
31
41
### Navigating History {#navigating-history}
32
42
33
-
To quickly navigate through recently opened threads, use the {#kb agent::ToggleNavigationMenu} binding, when focused on the panel's editor, or click the menu icon button at the top left of the panel to open the dropdown that shows you the six most recent threads.
43
+
To quickly navigate through recently opened threads, use the {#kb agent::ToggleNavigationMenu} binding, when focused on the panel's editor, or click the menu icon button at the top right of the panel to open the dropdown that shows you the six most recent threads.
34
44
35
45
The items in this menu function similarly to tabs, and closing them doesn’t delete the thread; instead, it simply removes them from the recent list.
36
46
@@ -70,16 +80,13 @@ So, if your active tab had edits made by the AI, you'll see diffs with the same
70
80
71
81
Although Zed's agent is very efficient at reading through your code base to autonomously pick up relevant files, directories, and other context, manually adding context is still encouraged as a way to speed up and improve the AI's response quality.
72
82
73
-
If you have a tab open while using the Agent Panel, that tab appears as a suggested context in form of a dashed button.
74
-
You can also add other forms of context by either mentioning them with `@` or hitting the `+` icon button.
75
-
76
-
You can even add previous threads as context by mentioning them with `@thread`, or by selecting the "New From Summary" option from the `+` menu to continue a longer conversation, keeping it within the context window.
83
+
To add any file, directory, symbol, previous threads, rules files, or even web pages as context, type `@` to mention them in the editor.
77
84
78
85
Pasting images as context is also supported by the Agent Panel.
79
86
80
87
### Token Usage {#token-usage}
81
88
82
-
Zed surfaces how many tokens you are consuming for your currently active thread in the panel's toolbar.
89
+
Zed surfaces how many tokens you are consuming for your currently active thread nearby the profile selector in the panel's message editor.
83
90
Depending on how many pieces of context you add, your token consumption can grow rapidly.
84
91
85
92
With that in mind, once you get close to the model's context window, a banner appears below the message editor suggesting to start a new thread with the current one summarized and added as context.
@@ -145,7 +152,7 @@ Zed's UI will inform about this via a warning icon that appears close to the mod
145
152
146
153
## Text Threads {#text-threads}
147
154
148
-
["Text threads"](./text-threads.md) present your conversation with the LLM in a different format—as raw text.
155
+
["Text Threads"](./text-threads.md) present your conversation with the LLM in a different format—as raw text.
149
156
With text threads, you have full control over the conversation data.
150
157
You can remove and edit responses from the LLM, swap roles, and include more context earlier in the conversation.
Zed supports terminal-based agentic coding tools through the [Agent Client Protocol (ACP)](https://agentclientprotocol.com).
4
+
5
+
Currently, [Gemini CLI](https://github.com/google-gemini/gemini-cli) serves as the reference implementation, and you can [add custom ACP-compatible agents](#add-custom-agents) as well.
6
+
7
+
## Gemini CLI {#gemini-cli}
8
+
9
+
Zed provides the ability to run [Gemini CLI](https://github.com/google-gemini/gemini-cli) directly in the [agent panel](./agent-panel.md).
10
+
11
+
Under the hood we run Gemini CLI in the background, and talk to it over ACP.
12
+
This means that you're running the real Gemini CLI, with all of the advantages of that, but you can see and interact with files in your editor.
13
+
14
+
### Getting Started
15
+
16
+
As of Zed Stable v0.201.5 you should be able to use Gemini CLI directly from Zed. First open the agent panel with {#kb agent::ToggleFocus}, and then use the `+` button in the top right to start a New Gemini CLI thread.
17
+
18
+
If you'd like to bind this to a keyboard shortcut, you can do so by editing your keybindings file to include:
If you don't yet have Gemini CLI installed, then Zed will install a version for you. If you do, then we will use the version of Gemini CLI on your path.
33
+
34
+
You need to be running at least Gemini version `0.2.0-preview`, and if your version of Gemini is too old you will see an
35
+
error message.
36
+
37
+
The instructions to upgrade Gemini depend on how you originally installed it, but typically, running `npm install -g gemini-cli@preview` should work.
38
+
39
+
#### Authentication
40
+
41
+
After you have Gemini CLI running, you'll be prompted to choose your authentication method.
42
+
43
+
Most users should click the "Log in with Google". This will cause a browser window to pop-up and auth directly with Gemini CLI. Zed does not see your oauth or access tokens in this case.
44
+
45
+
You can also use the "Gemini API Key". If you select this, and have the `GEMINI_API_KEY` set, then we will use that. Otherwise Zed will prompt you for an API key which will be stored securely in your keychain, and used to start Gemini CLI from within Zed.
46
+
47
+
The "Vertex AI" option is for those who are using Vertex AI, and have already configured their environment correctly.
48
+
49
+
For more information, see the [Gemini CLI docs](https://github.com/google-gemini/gemini-cli/blob/main/docs/index.md).
50
+
51
+
### Usage
52
+
53
+
Similar to Zed's first-party agent, you can use Gemini CLI to do anything that you need.
54
+
55
+
You can @-mention files, recent threads, symbols, or fetch the web.
56
+
57
+
Note that some first-party agent features don't yet work with Gemini CLI: editing past messages, resuming threads from history, and checkpointing.
58
+
We hope to add these features in the near future.
59
+
60
+
## Add Custom Agents {#add-custom-agents}
61
+
62
+
You can run any agent speaking ACP in Zed by changing your settings as follows:
63
+
64
+
```json
65
+
{
66
+
"agent_servers": {
67
+
"Custom Agent": {
68
+
"command": "node",
69
+
"args": ["~/projects/agent/index.js", "--acp"],
70
+
"env": {}
71
+
}
72
+
}
73
+
}
74
+
```
75
+
76
+
This can also be useful if you're in the middle of developing a new agent that speaks the protocol and you want to debug it.
77
+
78
+
## Debugging Agents
79
+
80
+
When using external agents in Zed, you can access the debug view via with `dev: open acp logs` from the Command Palette. This lets you see the messages being sent and received between Zed and the agent.
81
+
82
+

0 commit comments