diff --git a/docs/src/ai/agent-panel.md b/docs/src/ai/agent-panel.md index 75b4e32b859776ef72c624cda1cdb26b6f598cf2..69f9da85c89aa92111f5954c1fc2ce6f6aa653ef 100644 --- a/docs/src/ai/agent-panel.md +++ b/docs/src/ai/agent-panel.md @@ -1,8 +1,8 @@ # Agent Panel -The Agent Panel allows you to interact with many LLMs and coding agents that can help with various types of tasks, such as generating code, codebase understanding, and other general inquiries like writing emails, documentation, and more. +The Agent Panel is where you interact with AI agents that can read, write, and run code in your project. Use it for code generation, refactoring, debugging, documentation, and general questions. -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. +Open it with `agent: new thread` from [the Command Palette](../getting-started.md#command-palette) or click the ✨ icon in the status bar. ## Getting Started {#getting-started} @@ -15,11 +15,9 @@ You can do that by: ## Overview {#overview} -With an LLM provider or an external agent configured, type at the message editor and hit `enter` to submit your prompt. -If you need extra room to type, you can expand the message editor with {#kb agent::ExpandMessageEditor}. +With an LLM provider or external agent configured, type in the message editor and press `enter` to submit. Expand the editor with {#kb agent::ExpandMessageEditor} if you need more room. -You should start to see the responses stream in with indications of [which tools](./tools.md) the model is using to fulfill your prompt. -From this point on, you can interact with the many supported features outlined below. +Responses stream in with indicators showing [which tools](./tools.md) the model is using. The sections below cover what you can do from here. > Note that for external agents, like [Gemini CLI](./external-agents.md#gemini-cli) or [Claude Code](./external-agents.md#claude-code), some of the features outlined below may _not_ be supported—for example, _restoring threads from history_, _checkpoints_, _token usage display_, and others. Their availability varies depending on the agent. @@ -58,10 +56,9 @@ To view all historical conversations, reach for the `View All` option from withi ### Following the Agent {#following-the-agent} -Zed is built with collaboration natively integrated, and this naturally extends to collaboration with AI models. -To follow the agent as it reads and edits in your codebase, click on the "crosshair" icon button at the bottom left of the panel. +Follow the agent as it reads and edits files by clicking the crosshair icon at the bottom left of the panel. Your editor will jump to each file the agent touches. -You can also do that with the keyboard by holding down the `cmd`/`ctrl` modifier when submitting a message. +You can also hold `cmd`/`ctrl` when submitting a message to automatically follow. ### Get Notified {#get-notified} @@ -86,10 +83,9 @@ You can turn this off, though, through the `agent.single_file_review` setting. ## Adding Context {#adding-context} -Although Zed's agent is very efficient at reading through your code base to autonomously pick up relevant context, manually adding whatever would be useful to fulfill your prompt is still encouraged as a way to not only improve the AI's response quality but also to speed up its response time. +The agent can search your codebase to find relevant context, but providing it explicitly improves response quality and reduces latency. -In Zed's Agent Panel, all pieces of context are added as mentions in the panel's message editor. -You can type `@` to mention files, directories, symbols, previous threads, rules files, and diagnostics. +Add context by typing `@` in the message editor. You can mention files, directories, symbols, previous threads, rules files, and diagnostics. Copying images and pasting them in the panel's message editor is also supported. @@ -118,12 +114,12 @@ After you've configured your LLM providers—either via [a custom API key](./llm You can mark specific models as favorites either through the model selector, by clicking on the star icon button that appears as you hover the model, or through your settings via the `agent.favorite_models` settings key. -The great thing about favoriting models is that you can cycle through them with {#kb agent::CycleFavoriteModels} without opening the model selector, enabling quick experimentation with the models you're already most comfortable with. +Cycle through your favorites with {#kb agent::CycleFavoriteModels} without opening the model selector. ## Using Tools {#using-tools} -The new Agent Panel supports tool calling, which enables agentic editing. -Zed comes with [several built-in tools](./tools.md) that allow models to perform tasks such as searching through your codebase, editing files, running commands, and others. +The Agent Panel supports tool calling, which enables agentic editing. +Zed includes [built-in tools](./tools.md) for searching your codebase, editing files, running terminal commands, and fetching web content. You can also extend the set of available tools via [MCP Servers](./mcp.md). @@ -181,8 +177,8 @@ Zed's UI will inform you about this via a warning icon that appears close to the With text threads, you have full control over the conversation data. You can remove and edit responses from the LLM, swap roles, and include more context earlier in the conversation. -For users who have been with us for some time, you'll notice that text threads are our original assistant panel—users love it for the control it offers. -We do not plan to deprecate text threads, but it should be noted that if you want the AI to write to your code base autonomously, that's only available in the newer, and now default, "Threads". +Text threads are Zed's original assistant panel format, preserved for users who want direct control over conversation data. +Autonomous code editing (where the agent writes to files) is only available in the default thread format, not text threads. ## Errors and Debugging {#errors-and-debugging} @@ -192,7 +188,7 @@ You can also open threads as Markdown by clicking on the file icon button, to th ## Feedback {#feedback} -Zed supports rating responses from the agent for feedback and improvement. +You can rate agent responses to help improve Zed's system prompt and tools. > Note that rating responses will send your data related to that response to Zed's servers. > See [AI Improvement](./ai-improvement.md) and [Privacy and Security](./privacy-and-security.md) for more information about Zed's approach to AI improvement, privacy, and security. diff --git a/docs/src/ai/agent-settings.md b/docs/src/ai/agent-settings.md index 21607649ada8809fd7a92778a53c4a57cba92b6b..531742a0b8fe29f2714b8137f567563c185e41b9 100644 --- a/docs/src/ai/agent-settings.md +++ b/docs/src/ai/agent-settings.md @@ -1,6 +1,6 @@ # Agent Settings -Learn about all the settings you can customize in Zed's Agent Panel. +Settings for Zed's Agent Panel, including model selection, UI preferences, and tool permissions. ## Model Settings {#model-settings} @@ -214,8 +214,7 @@ It is set to `4` by default, and the max number of lines is always double of the ### Modifier to Send -Make a modifier (`cmd` on macOS, `ctrl` on Linux) required to send messages. -This is encouraged for more thoughtful prompt crafting. +Require a modifier (`cmd` on macOS, `ctrl` on Linux) to send messages. Prevents accidental sends while editing. The default value is `false`. ```json [settings] diff --git a/docs/src/ai/ai-improvement.md b/docs/src/ai/ai-improvement.md index ffc7e68d23f85bca5d9afb43b6222a64c09ebb03..1942a406e9fa3c24ffade97d32719384415b049c 100644 --- a/docs/src/ai/ai-improvement.md +++ b/docs/src/ai/ai-improvement.md @@ -39,7 +39,7 @@ This data includes: ### Data Handling -Collected data is stored in Snowflake, a private database where we track other metrics. We periodically review this data to improve our overall agentic approach and refine the product via our system prompt, tool use, etc. We ensure any included data is anonymized and contains no sensitive information (access tokens, user IDs, email addresses, etc). +Collected data is stored in Snowflake, a private database. We periodically review this data to refine the agent's system prompt and tool use. All data is anonymized and stripped of sensitive information (access tokens, user IDs, email addresses). ## Edit Predictions @@ -102,7 +102,7 @@ This data includes: ### Data Handling -Collected data is stored in Snowflake, a private database where we track other metrics. We periodically review this data to select training samples for inclusion in our model training dataset. We ensure any included data is anonymized and contains no sensitive information (access tokens, user IDs, email addresses, etc). This training dataset is publicly available at [huggingface.co/datasets/zed-industries/zeta](https://huggingface.co/datasets/zed-industries/zeta). +Collected data is stored in Snowflake, a private database. We periodically select training samples from this data. All data is anonymized and stripped of sensitive information (access tokens, user IDs, email addresses). The training dataset is publicly available at [huggingface.co/datasets/zed-industries/zeta](https://huggingface.co/datasets/zed-industries/zeta). ### Model Output diff --git a/docs/src/ai/billing.md b/docs/src/ai/billing.md index 788c0c1cf7cb0bfd64bdd83812e1e62bf51abf88..f9d9b6343a48d440be4ffc4a872ff7183af091ad 100644 --- a/docs/src/ai/billing.md +++ b/docs/src/ai/billing.md @@ -5,8 +5,8 @@ For invoice-based billing, a Business plan is required. Contact [sales@zed.dev]( ## Billing Information {#settings} -You can access billing information and settings at [dashboard.zed.dev/account](https://dashboard.zed.dev/account). -Most of the page embeds information from our invoicing/metering partner, Orb (we're planning on a more native experience soon!). +Access billing information and settings at [dashboard.zed.dev/account](https://dashboard.zed.dev/account). +This page embeds data from Orb, our invoicing and metering partner. ## Billing Cycles {#billing-cycles} @@ -36,7 +36,7 @@ If you require historical Stripe invoices, email [billing-support@zed.dev](mailt Email [billing-support@zed.dev](mailto:billing-support@zed.dev) for help updating payment methods, names, addresses, and tax information. -> We'll be updating our account page shortly to allow for self-service updates. Stay tuned! +> Self-service billing updates will be available in a future release. Please note that changes to billing information will **only** affect future invoices — **we cannot modify historical invoices**. diff --git a/docs/src/ai/configuration.md b/docs/src/ai/configuration.md index 8877689e4641ca9c03b2a0668f8df759199d5d71..8b213c3c0ee438fdb94fb805ff611f0997ab1e6f 100644 --- a/docs/src/ai/configuration.md +++ b/docs/src/ai/configuration.md @@ -11,8 +11,7 @@ When using AI in Zed, you can configure multiple dimensions: ## Turning AI Off Entirely -We want to respect users who want to use Zed without interacting with AI whatsoever. -To do that, add the following key to your `settings.json`: +To disable all AI features, add the following to your `settings.json`: ```json [settings] { @@ -20,4 +19,4 @@ To do that, add the following key to your `settings.json`: } ``` -Read [the following blog post](https://zed.dev/blog/disable-ai-features) to learn more about our motivation to promote this, as much as we also encourage users to explore AI-assisted programming. +See [this blog post](https://zed.dev/blog/disable-ai-features) for background on this option. diff --git a/docs/src/ai/edit-prediction.md b/docs/src/ai/edit-prediction.md index 58f01c2e943b753aa49a4d3aa2019e648c8766f9..47758535453c517fac31ec4ffb525b9bc5b9020e 100644 --- a/docs/src/ai/edit-prediction.md +++ b/docs/src/ai/edit-prediction.md @@ -7,8 +7,8 @@ The default provider is [Zeta, a proprietary open source and open dataset model] ## Configuring Zeta -To use Zeta, the only thing you need to do is [to sign in](../authentication.md#what-features-require-signing-in). -After doing that, you should already see predictions as you type on your files. +To use Zeta, [sign in](../authentication.md#what-features-require-signing-in). +Once signed in, predictions appear as you type. You can confirm that Zeta is properly configured either by verifying whether you have the following code in your `settings.json`: @@ -18,13 +18,11 @@ You can confirm that Zeta is properly configured either by verifying whether you }, ``` -Or you can also look for a little Z icon in the right of your status bar at the bottom. +The Z icon in the status bar also indicates Zeta is active. ### Pricing and Plans -From just signing in, while in Zed's free plan, you get 2,000 Zeta-powered edit predictions per month. -But you can get _**unlimited edit predictions**_ by upgrading to [the Pro plan](../ai/plans-and-usage.md). -More information can be found in [Zed's pricing page](https://zed.dev/pricing). +The free plan includes 2,000 Zeta predictions per month. The [Pro plan](../ai/plans-and-usage.md) removes this limit. See [Zed's pricing page](https://zed.dev/pricing) for details. ### Switching Modes {#switching-modes} @@ -235,7 +233,7 @@ If you would like to use the default keybinding, you can free it up by either mo ## Disabling Automatic Edit Prediction -There are different levels in which you can disable edit predictions to be displayed, including not having it turned on at all. +You can disable edit predictions at several levels, or turn them off entirely. Alternatively, if you have Zed set as your provider, consider [using Subtle Mode](#switching-modes). @@ -290,8 +288,7 @@ To completely turn off edit prediction across all providers, explicitly set the ## Configuring Other Providers {#other-providers} -Zed's Edit Prediction also work with other completion model providers aside from Zeta. -Learn about the available ones below. +Edit Prediction also works with other providers. ### GitHub Copilot {#github-copilot} @@ -400,4 +397,5 @@ After adding your API key, Codestral will appear in the provider dropdown in the ## See also -To learn about other ways to interact with AI in Zed, you may also want to see more about the [Agent Panel](./agent-panel.md) or the [Inline Assistant](./inline-assistant.md) feature. +- [Agent Panel](./agent-panel.md): Agentic editing with file read/write and terminal access +- [Inline Assistant](./inline-assistant.md): Prompt-driven transformations on selected code diff --git a/docs/src/ai/external-agents.md b/docs/src/ai/external-agents.md index 81f32e99a19e35a42ff522e69539d14b3ca3b14b..a256e86a25182fea474271f7e5e1eca35cf8aa2c 100644 --- a/docs/src/ai/external-agents.md +++ b/docs/src/ai/external-agents.md @@ -2,7 +2,7 @@ Zed supports many external agents, including CLI-based ones, through the [Agent Client Protocol (ACP)](https://agentclientprotocol.com). -You can interact with agents like [Gemini CLI](https://github.com/google-gemini/gemini-cli) (that servers as the reference ACP implementation), as well as [Claude Code](https://www.anthropic.com/claude-code), [Codex](https://developers.openai.com/codex), [GitHub Copilot](https://github.com/github/copilot-language-server-release), and many others that [you can add](#add-more-agents). +Zed supports [Gemini CLI](https://github.com/google-gemini/gemini-cli) (the reference ACP implementation), [Claude Code](https://www.anthropic.com/claude-code), [Codex](https://developers.openai.com/codex), [GitHub Copilot](https://github.com/github/copilot-language-server-release), and [additional agents](#add-more-agents) you can configure. > Note that Zed's interaction with external agents is strictly UI-based; the billing, legal, and terms arrangement is directly between you and the agent provider. > Zed does not charge for use of external agents, and our [zero-data retention agreements/privacy guarantees](./ai-improvement.md) are **_only_** applicable for Zed's hosted models. @@ -64,11 +64,9 @@ For more information, see the [Gemini CLI docs](https://github.com/google-gemini ### Usage -Similar to Zed's first-party agent, you can use Gemini CLI to do anything that you need. -And to give it context, you can @-mention files, recent threads, symbols, or fetch the web. +Gemini CLI supports the same workflows as Zed's first-party agent: code generation, refactoring, debugging, and Q&A. Add context by @-mentioning files, recent threads, or symbols. -> Note that some first-party agent features don't yet work with Gemini CLI: editing past messages, resuming threads from history, and checkpointing. -> We hope to add these features in the near future. +> Some agent panel features are not yet available with Gemini CLI: editing past messages, resuming threads from history, and checkpointing. ## Claude Code @@ -122,8 +120,7 @@ If you want to override the executable used by the adapter, you can set the `CLA ### Usage -Similar to Zed's first-party agent, you can use Claude Code to do anything that you need. -And to give it context, you can @-mention files, recent threads, diagnostics, symbols, and more. +Claude Code supports the same workflows as Zed's first-party agent. Add context by @-mentioning files, recent threads, diagnostics, or symbols. In complement to talking to it [over ACP](https://agentclientprotocol.com), Zed relies on the [Claude Code SDK](https://docs.anthropic.com/en/docs/claude-code/sdk/sdk-overview) to support some of its specific features. However, the SDK doesn't yet expose everything needed to fully support all of them: @@ -132,8 +129,7 @@ However, the SDK doesn't yet expose everything needed to fully support all of th - [Subagents](https://docs.anthropic.com/en/docs/claude-code/sub-agents) are supported. - [Hooks](https://docs.anthropic.com/en/docs/claude-code/hooks-guide) are currently _not_ supported. -> Also note that some [first-party agent](./agent-panel.md) features don't yet work with Claude Code: editing past messages, resuming threads from history, and checkpointing. -> We hope to add these features in the near future. +> Some [agent panel](./agent-panel.md) features are not yet available with Claude Code: editing past messages, resuming threads from history, and checkpointing. #### CLAUDE.md @@ -188,11 +184,9 @@ Zed will always use this managed version of Codex even if you have it installed ### Usage -Similar to Zed's first-party agent, you can use Codex to do anything that you need. -And to give it context, you can @-mention files, symbols, or fetch the web. +Codex supports the same workflows as Zed's first-party agent. Add context by @-mentioning files or symbols. -> Note that some first-party agent features don't yet work with Codex: editing past messages, resuming threads from history, and checkpointing. -> We hope to add these features in the near future. +> Some agent panel features are not yet available with Codex: editing past messages, resuming threads from history, and checkpointing. ## Add More Agents {#add-more-agents} @@ -216,8 +210,7 @@ See what agents are available by filtering for "Agent Servers" in the extensions As mentioned above, the Agent Server extensions will be deprecated in the near future to give room to the ACP Registry. -[The ACP Registry](https://github.com/agentclientprotocol/registry) is an easy way for developers to distribute their ACP-compatible agents to any client that speaks the protocol. -And for clients, it's the easiest way to find and install agents while keeping their version always up-to-date. +[The ACP Registry](https://github.com/agentclientprotocol/registry) lets developers distribute ACP-compatible agents to any client that implements the protocol. Agents installed from the registry update automatically. At the moment, the registry is a curated set of agents, including only the ones that [support authentication](https://agentclientprotocol.com/rfds/auth-methods). diff --git a/docs/src/ai/inline-assistant.md b/docs/src/ai/inline-assistant.md index af232a837ec09e703cca165ea654b8f78613bd7d..e4278b411b32351d69ad267ae4aa3ba3a79854d1 100644 --- a/docs/src/ai/inline-assistant.md +++ b/docs/src/ai/inline-assistant.md @@ -2,9 +2,9 @@ ## Usage Overview -Use {#kb assistant::InlineAssist} to open the Inline Assistant nearly anywhere you can enter text: editors, text threads, the rules library, channel notes, and even within the terminal panel. +Use {#kb assistant::InlineAssist} to open the Inline Assistant in editors, text threads, the rules library, channel notes, and the terminal panel. -The Inline Assistant allows you to send the current selection (or the current line) to a language model and modify the selection with the language model's response. +The Inline Assistant sends your current selection (or line) to a language model and replaces it with the response. ## Getting Started @@ -26,18 +26,17 @@ You can add context in the Inline Assistant the same way you can in [the Agent P - @-mention files, directories, past threads, rules, and symbols - paste images that are copied on your clipboard -Additionally, a useful pattern is to create a thread in the Agent Panel, and then mention it with `@thread` in the Inline Assistant to include it as context. -That often serves as a way to more quickly iterate over a specific part of a change that happened in the context of a larger thread. +You can also create a thread in the Agent Panel, then reference it with `@thread` in the Inline Assistant. This lets you refine a specific change from a larger thread without re-explaining context. ## Parallel Generations -There are two ways in which you can generate multiple changes at once with the Inline Assistant: +The Inline Assistant can generate multiple changes at once: ### Multiple Cursors -If you have a multiple cursor selection and hit {#kb assistant::InlineAssist}, you can shoot the same prompt for all cursor positions and get a change in all of them. +With multiple cursors, pressing {#kb assistant::InlineAssist} sends the same prompt to each cursor position, generating changes at all locations simultaneously. -This is particularly useful when working on excerpts in [a multibuffer context](../multibuffers.md). +This works well with excerpts in [multibuffers](../multibuffers.md). ### Multiple Models @@ -92,14 +91,12 @@ One with Claude Sonnet 4 (the default model), another with GPT-5-mini, and anoth ## Inline Assistant vs. Edit Prediction -Users often ask what's the difference between these two AI-powered features in Zed, particularly because both of them involve getting inline LLM code completions. +Both features generate inline code, but they work differently: -Here's how they are different: +- **Inline Assistant**: You write a prompt and select what to transform. You control the context. +- **[Edit Prediction](./edit-prediction.md)**: Zed automatically suggests edits based on your recent changes, visited files, and cursor position. No prompting required. -- The Inline Assistant is more similar to the Agent Panel as in you're still writing a prompt yourself and crafting context. It works from within the buffer and is mostly centered around your selections. -- [Edit Predictions](./edit-prediction.md) is an AI-powered completion mechanism that intelligently suggests what you likely want to add next, based on context automatically gathered from your previous edits, recently visited files, and more. - -In summary, the key difference is that in the Inline Assistant, you're still manually prompting, whereas Edit Prediction will _automatically suggest_ edits to you. +The key difference: Inline Assistant is explicit and prompt-driven; Edit Prediction is automatic and context-inferred. ## Prefilling Prompts diff --git a/docs/src/ai/llm-providers.md b/docs/src/ai/llm-providers.md index a3f0b606dc6ff31d256221a31b2728dfe50bbdcc..cb4ae360781c8cc8da7e72d727a1c9c0bdaa7fe0 100644 --- a/docs/src/ai/llm-providers.md +++ b/docs/src/ai/llm-providers.md @@ -6,7 +6,7 @@ You can do that by either subscribing to [one of Zed's plans](./plans-and-usage. ## Use Your Own Keys {#use-your-own-keys} -If you already have an API key for an existing LLM provider, like Anthropic or OpenAI, you can add them to Zed and use the full power of the Agent Panel **_for free_**. +If you already have an API key for a provider like Anthropic or OpenAI, you can add it to Zed. No Zed subscription required. To add an existing API key to a given provider, go to the Agent Panel settings (`agent: open settings`), look for the desired provider, paste the key into the input, and hit enter. @@ -14,7 +14,7 @@ To add an existing API key to a given provider, go to the Agent Panel settings ( ## Supported Providers -Zed offers an extensive list of "use your own key" LLM providers +Zed supports these providers with your own API keys: - [Amazon Bedrock](#amazon-bedrock) - [Anthropic](#anthropic) @@ -427,7 +427,7 @@ If the model is tagged with `vision` in the Ollama catalog, set this option and In addition to running Ollama on your own hardware, which generally does not require authentication, Zed also supports connecting to remote Ollama instances. API keys are required for authentication. -One such service is [Ollama Turbo])(https://ollama.com/turbo). To configure Zed to use Ollama turbo: +One such service is [Ollama Turbo](https://ollama.com/turbo). To configure Zed to use Ollama Turbo: 1. Sign in to your Ollama account and subscribe to Ollama Turbo 2. Visit [ollama.com/settings/keys](https://ollama.com/settings/keys) and create an API key diff --git a/docs/src/ai/mcp.md b/docs/src/ai/mcp.md index b5adede1baf7c28504220e0a039cd23e5442066a..7e5c840d25ee78aaa76517a8dfa32776fef230dd 100644 --- a/docs/src/ai/mcp.md +++ b/docs/src/ai/mcp.md @@ -16,14 +16,13 @@ We welcome contributions that help advance Zed's MCP feature coverage (Discovery One of the ways you can use MCP servers in Zed is by exposing them as an extension. Check out the [MCP Server Extensions](../extensions/mcp-extensions.md) page to learn how to create your own. -Thanks to our awesome community, many MCP servers have already been added as extensions. -You can check which ones are available via any of these routes: +Many MCP servers are available as extensions. Find them via: 1. [the Zed website](https://zed.dev/extensions?filter=context-servers) 2. in the app, open the Command Palette and run the `zed: extensions` action 3. in the app, go to the Agent Panel's top-right menu and look for the "View Server Extensions" menu item -In any case, here are some popular available servers: +Popular servers: - [Context7](https://zed.dev/extensions/context7-mcp-server) - [GitHub](https://zed.dev/extensions/github-mcp-server) @@ -63,7 +62,7 @@ From there, you can add it through the modal that appears when you click the "Ad ### Configuration Check -Regardless of how you've installed MCP servers, whether as an extension or adding them directly, most servers out there still require some sort of configuration as part of the setup process. +Most MCP servers require configuration after installation. In the case of extensions, after installing it, Zed will pop up a modal displaying what is required for you to properly set it up. For example, the GitHub MCP extension requires you to add a [Personal Access Token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens). @@ -78,8 +77,7 @@ If not, other colors and tooltip messages will indicate what is happening. Once installation is complete, you can return to the Agent Panel and start prompting. -Some models are better than others when it comes to picking up tools from MCP servers. -Mentioning your server by name always helps the model to pick it up. +Model support for MCP tools varies. Mentioning your server by name in prompts helps the model select the right tools. However, if you want to _ensure_ a given MCP server will be used, you can create [a custom profile](./agent-panel.md#custom-profiles) where all built-in tools (or the ones that could cause conflicts with the server's tools) are turned off and only the tools coming from the MCP server are turned on. diff --git a/docs/src/ai/models.md b/docs/src/ai/models.md index 6033bf23fad372b15909ff09a43f2747f3e619c0..2c9922ae976a2f6aced2aee61f11d86d618f667b 100644 --- a/docs/src/ai/models.md +++ b/docs/src/ai/models.md @@ -1,7 +1,6 @@ # Models -Zed’s plans offer hosted versions of major LLMs, generally with higher rate limits than using your API keys. -We’re working hard to expand the models supported by Zed’s subscription offerings, so please check back often. +Zed's plans offer hosted versions of major LLMs with higher rate limits than direct API access. Model availability is updated regularly. | Model | Provider | Token Type | Provider Price per 1M tokens | Zed Price per 1M tokens | | ---------------------- | --------- | ------------------- | ---------------------------- | ----------------------- | @@ -61,7 +60,7 @@ We’re working hard to expand the models supported by Zed’s subscription offe Any usage of a Zed-hosted model will be billed at the Zed Price (rightmost column above). See [Plans and Usage](./plans-and-usage.md) for details on Zed's plans and limits for use of hosted models. -> We encourage you to think through what model is best for your needs before leaving the Agent Panel to work. All LLMs can "spiral" and occasionally enter unending loops that require user intervention. +> LLMs can enter unproductive loops that require user intervention. Monitor longer-running tasks and interrupt if needed. ## Context Windows {#context-windows} @@ -81,12 +80,12 @@ A context window is the maximum span of text and code an LLM can consider at onc | Gemini 2.5 Flash | Google | 200k | | Gemini 3.0 Pro | Google | 200k | -> We're planning on expanding supported context windows for hosted Sonnet 4 and Gemini 2.5 Pro/Flash in the near future. Stay tuned! +> Context window limits for hosted Sonnet 4 and Gemini 2.5 Pro/Flash may increase in future releases. Each Agent thread and text thread in Zed maintains its own context window. The more prompts, attached files, and responses included in a session, the larger the context window grows. -For best results, it’s recommended you take a purpose-based approach to Agent thread management, starting a new thread for each unique task. +Start a new thread for each distinct task to keep context focused. ## Tool Calls {#tool-calls} diff --git a/docs/src/ai/overview.md b/docs/src/ai/overview.md index e1a9cb77a996e5e2d42de7f825cd100535b8dcc6..5dac5cf43050372a66e18fcc4feb447ea370cd0e 100644 --- a/docs/src/ai/overview.md +++ b/docs/src/ai/overview.md @@ -1,33 +1,33 @@ # AI -Learn how to get started using AI with Zed and all its capabilities. +Zed integrates AI throughout the editor: agentic coding, inline transformations, edit prediction, and direct model conversations. -## Setting up AI in Zed +## Setting Up AI -- [Configuration](./configuration.md): Learn how to set up different language model providers like Anthropic, OpenAI, Ollama, Google AI, and more. +- [Configuration](./configuration.md): Connect to Anthropic, OpenAI, Ollama, Google AI, or other LLM providers. -- [External Agents](./external-agents.md): Learn how to plug in your favorite agent into Zed. +- [External Agents](./external-agents.md): Run Claude Code, Codex, Aider, or other external agents inside Zed. -- [Subscription](./subscription.md): Learn about Zed's hosted models and other billing-related information. +- [Subscription](./subscription.md): Zed's hosted models and billing. -- [Privacy and Security](./privacy-and-security.md): Understand how Zed handles privacy and security with AI features. +- [Privacy and Security](./privacy-and-security.md): How Zed handles data when using AI features. ## Agentic Editing -- [Agent Panel](./agent-panel.md): Create and manage interactions with LLM agents. +- [Agent Panel](./agent-panel.md): Chat with AI agents that can read, write, and run code in your project. -- [Rules](./rules.md): How to define rules for AI interactions. +- [Rules](./rules.md): Define project-specific instructions for AI behavior. -- [Tools](./tools.md): Explore the tools that power Zed's built-in agent. +- [Tools](./tools.md): The built-in capabilities agents use: file operations, terminal commands, web search. -- [Model Context Protocol](./mcp.md): Learn about how to configure and use MCP servers. +- [Model Context Protocol](./mcp.md): Extend agents with custom tools via MCP servers. -- [Inline Assistant](./inline-assistant.md): Discover how to use AI to generate inline transformations directly within a file or terminal. +- [Inline Assistant](./inline-assistant.md): Transform selected code or terminal output with `ctrl-enter`. ## Edit Prediction -- [Edit Prediction](./edit-prediction.md): Learn about Zed's AI prediction feature that helps autocomplete your code. +- [Edit Prediction](./edit-prediction.md): AI-powered autocomplete that predicts multi-line edits as you type. ## Text Threads -- [Text Threads](./text-threads.md): Learn about an editor-based interface for interacting with language models. +- [Text Threads](./text-threads.md): Lightweight conversations with models inside any buffer. diff --git a/docs/src/ai/plans-and-usage.md b/docs/src/ai/plans-and-usage.md index 63f72211aa70b19b820fb9b368d47a3b008b726d..fb17429856cbb9afe501fe4cfee787f1cea4877d 100644 --- a/docs/src/ai/plans-and-usage.md +++ b/docs/src/ai/plans-and-usage.md @@ -4,7 +4,7 @@ For costs and more information on pricing, visit [Zed’s pricing page](https://zed.dev/pricing). -Please note that if you’re interested in just using Zed as the world’s fastest editor, with no AI or subscription features, you can always do so for free, without [authentication](../authentication.md). +Zed works without AI features or a subscription. No [authentication](../authentication.md) required for the editor itself. ## Usage {#usage} diff --git a/docs/src/ai/privacy-and-security.md b/docs/src/ai/privacy-and-security.md index d72cc8c476a83f60d8342962fcdd410e541e7356..c6bbdf4b8001cd0baf36063db0184b0fd8b41fbb 100644 --- a/docs/src/ai/privacy-and-security.md +++ b/docs/src/ai/privacy-and-security.md @@ -4,11 +4,11 @@ Zed aims to collect only the minimum data necessary to serve and improve our product. -We believe in opt-in data sharing as the default in building AI products, rather than opt-out, like most of our competitors. Privacy Mode is not a setting to be toggled, it's a default stance. +Data sharing is opt-in by default. Privacy is not a setting to toggle—it's the baseline. As an open-source product, we believe in maximal transparency, and invite you to examine our codebase. If you find issues, we encourage you to share them with us. -It is entirely possible to use Zed, including Zed's AI capabilities, without sharing any data with us and without authenticating into the product. We're happy to always support this desired use pattern. +Zed, including AI features, works without sharing data with us and without authentication. ## Documentation diff --git a/docs/src/ai/rules.md b/docs/src/ai/rules.md index 972bbc94e82937502739cf585cc8f60dbcda8808..c6a3caade59c48c75fe06b2bb0c93dc359849588 100644 --- a/docs/src/ai/rules.md +++ b/docs/src/ai/rules.md @@ -1,7 +1,6 @@ # Using Rules {#using-rules} -A rule is essentially a prompt that is inserted at the beginning of each interaction with the Agent. -Currently, Zed supports adding rules through files inserted directly in the worktree or through the Rules Library, which allows you to store multiple rules for constant or on-demand usage. +Rules are prompts inserted at the beginning of each agent interaction. Add them via files in your worktree (`.rules`, etc.) or through the Rules Library for reuse across projects. ## `.rules` files @@ -20,7 +19,7 @@ Other names for this file are also supported for compatibility with other agents ## Rules Library {#rules-library} -The Rules Library is an interface for writing and managing rules. Like other text-driven UIs in Zed, it is a full editor with syntax highlighting, keyboard shortcuts, etc. +The Rules Library is an interface for writing and managing rules. It's a full editor with syntax highlighting and all standard keybindings. You can use the inline assistant right in the rules editor, allowing you to automate and rewrite rules. @@ -42,9 +41,7 @@ Rules can be duplicated, deleted, or added to the default rules using the button To create a rule file, simply open the `Rules Library` and click the `+` button. Rules files are stored locally and can be accessed from the library at any time. -Having a series of rules files specifically tailored to prompt engineering can also help you write consistent and effective rules. - -Here are a couple of helpful resources for writing better rules: +For guidance on writing effective rules: - [Anthropic: Prompt Engineering](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/overview) - [OpenAI: Prompt Engineering](https://platform.openai.com/docs/guides/prompt-engineering) diff --git a/docs/src/ai/subscription.md b/docs/src/ai/subscription.md index 704fdc0ce3a42e92f5a7b5cb58b2bfa1b4fbfb92..03893ede3cca6a66740b0a8f9ed84eeecccef41d 100644 --- a/docs/src/ai/subscription.md +++ b/docs/src/ai/subscription.md @@ -2,7 +2,7 @@ Zed's hosted models are offered via subscription to Zed Pro or Zed Business. -> Using [your own API keys](./llm-providers.md), and [external agents](./external-agents.md), is _free_ — you do not need to subscribe to a Zed plan to use AI features. +> You can use [your own API keys](./llm-providers.md) or [external agents](./external-agents.md) without a Zed subscription. See the following pages for specific aspects of our subscription offering: diff --git a/docs/src/ai/text-threads.md b/docs/src/ai/text-threads.md index c82cda7265d94ca197bbdba9909ef41aa46f8651..ea72f1dfaeb1606f1e4605b98937892a339918ab 100644 --- a/docs/src/ai/text-threads.md +++ b/docs/src/ai/text-threads.md @@ -2,12 +2,9 @@ ## Overview {#overview} -Text threads in the [Agent Panel](./agent-panel.md) function similarly to any other editor. -You can use custom key bindings and work with multiple cursors, allowing for seamless transitions between coding and engaging in discussions with the language models. +Text threads in the [Agent Panel](./agent-panel.md) work like a regular editor. You can use custom keybindings, multiple cursors, and all standard editing features. -However, the text threads differ in the inclusion of message blocks. -These blocks serve as containers for text that correspond to different roles within the context. -These roles include: +Text threads organize content into message blocks with roles: - `You` - `Assistant` @@ -24,8 +21,7 @@ Inserting text from an editor is as simple as highlighting the text and running ![Quoting a selection](https://zed.dev/img/assistant/quoting-a-selection.png) To submit a message, use {#kb assistant::Assist}(`assistant: assist`). -Unlike normal threads, where pressing enter would submit the message, in text threads, our goal is to make it feel as close to a regular editor as possible. -So, pressing {#kb editor::Newline} simply inserts a new line. +In text threads, {#kb editor::Newline} inserts a new line rather than submitting. This preserves standard editor behavior. After submitting a message, the response will be streamed below, in an `Assistant` message block. @@ -36,13 +32,11 @@ This is useful if you realize early on that the response is not what you were lo If you want to start a new conversation at any time, you can hit cmd-n|ctrl-n or use the `New Chat` menu option in the hamburger menu at the top left of the panel. -Simple back-and-forth conversations work well with the text threads. -However, there may come a time when you want to modify the previous text in the conversation and steer it in a different direction. +Text threads support straightforward conversations, but you can also go back and modify earlier messages to change direction. ## Editing a Text Thread {#edit-text-thread} -Text threads give you the flexibility to have control over the context. -You can freely edit any previous text, including the responses from the LLM. +You can edit any text in a thread, including previous LLM responses. If you want to remove a message block entirely, simply place your cursor at the beginning of the block and use the `delete` key. A typical workflow might involve making edits and adjustments throughout the context to refine your inquiry or provide additional information. Here's an example: @@ -66,8 +60,7 @@ Some additional points to keep in mind: ## Commands Overview {#commands} -Slash commands enhance the assistant's capabilities. -Begin by typing a `/` at the beginning of the line to see a list of available commands: +Type `/` at the beginning of a line to see available slash commands: - `/default`: Inserts the default rule - `/diagnostics`: Injects errors reported by the project's language server @@ -90,8 +83,7 @@ Usage: `/default` ### `/diagnostics` -The `/diagnostics` command injects errors reported by the project's language server into the context. -This is useful for getting an overview of current issues in your project. +Injects errors reported by the project's language server into the context. Usage: `/diagnostics [--include-warnings] [path]` @@ -100,13 +92,10 @@ Usage: `/diagnostics [--include-warnings] [path]` ### `/file` -The `/file` command inserts the content of a single file or a directory of files into the context. -This allows you to reference specific parts of your project in your conversation with the assistant. +Inserts the content of a file or directory into the context. Supports glob patterns. Usage: `/file ` -You can use glob patterns to match multiple files or directories. - Examples: - `/file src/index.js` - Inserts the content of `src/index.js` into the context. @@ -115,15 +104,13 @@ Examples: ### `/now` -The `/now` command inserts the current date and time into the context. -This can be useful for letting the language model know the current time (and by extension, how old their current knowledge base is). +Inserts the current date and time. Useful for informing the model about its knowledge cutoff relative to now. Usage: `/now` ### `/prompt` -The `/prompt` command inserts a prompt from the prompt library into the context. -It can also be used to nest prompts within prompts. +Inserts a rule from the Rules Library into the context. Rules can nest other rules. Usage: `/prompt ` @@ -131,15 +118,13 @@ Related: `/default` ### `/symbols` -The `/symbols` command inserts the active symbols (functions, classes, etc.) from the current tab into the context. -This is useful for getting an overview of the structure of the current file. +Inserts the active symbols (functions, classes, etc.) from the current tab, providing a structural overview of the file. Usage: `/symbols` ### `/tab` -The `/tab` command inserts the content of the active tab or all open tabs into the context. -This allows you to reference the content you're currently working on. +Inserts the content of the active tab or all open tabs. Usage: `/tab [tab_name|all]` @@ -154,8 +139,7 @@ Examples: ### `/terminal` -The `/terminal` command inserts a select number of lines of output from the terminal into the context. -This is useful for referencing recent command outputs or logs. +Inserts recent terminal output (default: 50 lines). Usage: `/terminal []` @@ -163,10 +147,7 @@ Usage: `/terminal []` ### `/selection` -The `/selection` command inserts the selected text in the editor into the context. -This is useful for referencing specific parts of your code. - -This is equivalent to the `agent: add selection to thread` command ({#kb agent::AddSelectionToThread}). +Inserts the currently selected text. Equivalent to `agent: add selection to thread` ({#kb agent::AddSelectionToThread}). Usage: `/selection` @@ -235,15 +216,11 @@ See [Extension: Slash Commands](../extensions/slash-commands.md) to learn how to ## Text Threads vs. Threads -For some time, text threads were the only way to interact with AI in Zed. -In May 2025, we introduced a new version of the agent panel, which, as opposed to being editor-based, is optimized for readability. -Visit [the Agent Panel page](./agent-panel.md) to learn more about it. +Text threads were Zed's original AI interface. In May 2025, Zed introduced the current [Agent Panel](./agent-panel.md), optimized for readability and agentic workflows. -More importantly, aside from the many UI differences, the major aspect that sets one apart from the other is that tool calls don't work in Text Threads. -Due to that, it's accurate to say that Text Threads aren't conceptually agentic, as they can't perform any action on your behalf (or any action at all). +The key difference: text threads don't support tool calls. They can't read files, write code, or run commands on your behalf. Text threads are for conversational interaction where you only receive text responses. -Think of it more like a regular/"traditional" AI chat, where the only thing you can get from the model is simply just text. -Consequently, [MCP servers](./mcp.md) and [external agents](./external-agents.md) are also not available in Text Threads. +[MCP servers](./mcp.md) and [external agents](./external-agents.md) are not available in text threads. ## Advanced Concepts diff --git a/docs/src/ai/tools.md b/docs/src/ai/tools.md index e40cfcec840402ec881ecd29e9e3358a433c8d6f..7e8bc50398e80b227a089f113616ab1b1d1e8fd6 100644 --- a/docs/src/ai/tools.md +++ b/docs/src/ai/tools.md @@ -1,6 +1,6 @@ # Tools -Zed's built-in agent has access to a variety of tools that allow it to interact with your codebase and perform tasks. +Zed's built-in agent has access to these tools for reading, searching, and editing your codebase. ## Read & Search Tools diff --git a/docs/src/configuring-languages.md b/docs/src/configuring-languages.md index 11632589a0d59f0ea37bf89fc9522ca6a8eddb9f..06e5f9b77b5b2054c3918c551a007df04714f632 100644 --- a/docs/src/configuring-languages.md +++ b/docs/src/configuring-languages.md @@ -1,26 +1,13 @@ # Configuring Supported Languages -Zed offers powerful customization options for each programming language it supports. This guide will walk you through the various ways you can tailor your coding experience to your preferences and project requirements. +Zed's language support is built on two technologies: -Zed's language support is built on two main technologies: +1. **Tree-sitter** handles syntax highlighting and structure-based features like the outline panel. +2. **Language Server Protocol (LSP)** provides semantic features: code completion, diagnostics, go-to-definition, and refactoring. -1. Tree-sitter: This handles syntax highlighting and structure-based features like the outline panel. -2. Language Server Protocol (LSP): This provides semantic features such as code completion and diagnostics. +This page covers language-specific settings, file associations, language server configuration, formatting, linting, and syntax highlighting. -These components work together to provide Zed's language capabilities. - -In this guide, we'll cover: - -- Language-specific settings -- File associations -- Working with language servers -- Formatting and linting configuration -- Customizing syntax highlighting and themes -- Advanced language features - -By the end of this guide, you should know how to configure and customize supported languages in Zed. - -For a comprehensive list of languages supported by Zed and their specific configurations, see our [Supported Languages](./languages.md) page. To go further, you could explore developing your own extensions to add support for additional languages or enhance existing functionality. For more information on creating language extensions, see our [Language Extensions](./extensions/languages.md) guide. +For a list of supported languages, see [Supported Languages](./languages.md). To add support for new languages, see [Language Extensions](./extensions/languages.md). ## Language-specific Settings diff --git a/docs/src/git.md b/docs/src/git.md index 8937907da7854d8691ff99424bae2511431b3bbc..eecd47124f2ac5189a512b4450f5eba5242e3617 100644 --- a/docs/src/git.md +++ b/docs/src/git.md @@ -11,7 +11,7 @@ For operations that Zed doesn't support natively, you can use the integrated ter ## Git Panel -The Git Panel gives you a birds-eye view of the state of your working tree and of Git's staging area. +The Git Panel shows the state of your working tree and Git's staging area. You can open the Git Panel using {#action git_panel::ToggleFocus}, or by clicking the Git icon in the status bar. diff --git a/docs/src/installation.md b/docs/src/installation.md index a1ebd206016436f65b992edfb21ab25df420fce2..ffba532cd210c6a3223bb8a75f0121b608316ed9 100644 --- a/docs/src/installation.md +++ b/docs/src/installation.md @@ -46,7 +46,7 @@ curl -f https://zed.dev/install.sh | sh curl -f https://zed.dev/install.sh | ZED_VERSION=0.216.0 sh ``` -If you'd like to help us test our new features, you can also install our preview build: +To install the preview build, which receives updates about a week ahead of stable: ```sh curl -f https://zed.dev/install.sh | ZED_CHANNEL=preview sh diff --git a/docs/src/key-bindings.md b/docs/src/key-bindings.md index f0f1e472c75e7e6bd1489c22d20ffa380190258e..47826af61069d45936ae39d178b422c8828a89c4 100644 --- a/docs/src/key-bindings.md +++ b/docs/src/key-bindings.md @@ -1,6 +1,6 @@ # Key bindings -Zed has a very customizable key binding system—you can tweak everything to work exactly how your fingers expect! +Zed's key binding system is fully customizable. You can rebind any action, create key sequences, and define context-specific bindings. ## Predefined Keymaps diff --git a/docs/src/languages/python.md b/docs/src/languages/python.md index 1d922e0e920b852ac7d50f0047920f167f6dc22d..9f019f84721812905113cf9e8c61203f2d0bdf43 100644 --- a/docs/src/languages/python.md +++ b/docs/src/languages/python.md @@ -360,9 +360,9 @@ requirements.txt These can be combined to tailor the experience for web servers, test runners, or custom scripts. -## Troubleshoot and Maintain a Productive Python Setup +## Troubleshooting -Zed is designed to minimize configuration overhead, but occasional issues can still arise—especially around environments, language servers, or tooling. Here's how to keep your Python setup working smoothly. +Issues with Python in Zed typically involve virtual environments, language servers, or tooling configuration. ### Resolve Language Server Startup Issues diff --git a/docs/src/linux.md b/docs/src/linux.md index b535a5e78a8c82892602f016ecea1b333447a0c9..2e6bdc7d6eb5062074035a2e23d2aa3f06aa1f72 100644 --- a/docs/src/linux.md +++ b/docs/src/linux.md @@ -2,7 +2,7 @@ ## Standard Installation -For most people we recommend using the script on the [download](https://zed.dev/download) page to install Zed: +The installation script on the [download](https://zed.dev/download) page is the fastest way to install Zed: ```sh curl -f https://zed.dev/install.sh | sh diff --git a/docs/src/remote-development.md b/docs/src/remote-development.md index b9a8c5bc16dd30e686892e9be69d3f6d74065525..f05eb16d404e3801f08c9fa24a35a3a6295e5b2c 100644 --- a/docs/src/remote-development.md +++ b/docs/src/remote-development.md @@ -1,6 +1,6 @@ # Remote Development -Remote Development allows you to code at the speed of thought, even when your codebase is not on your local machine. You use Zed locally so the UI is immediately responsive, but offload heavy computation to the development server so that you can work effectively. +Remote Development lets you edit code on a remote server while running Zed locally. The UI stays responsive because it runs on your machine, while language servers, tasks, and terminals run on the server. ## Overview diff --git a/docs/src/vim.md b/docs/src/vim.md index 4ff66e9db207a0b8770dca9d33b2fc81c1dbfea4..c4e42b54f145debe44331ea0d33416ecd78b2eec 100644 --- a/docs/src/vim.md +++ b/docs/src/vim.md @@ -1,20 +1,10 @@ # Vim Mode -Zed includes a Vim emulation layer known as "vim mode". On this page, you will learn how to turn Zed's vim mode on or off, what tools and commands Zed provides to help you navigate and edit your code, and generally how to make the most of vim mode in Zed. - -You'll learn how to: - -- Understand the core differences between Zed's vim mode and traditional Vim -- Enable or disable vim mode -- Make the most of Zed-specific features within vim mode -- Customize vim mode key bindings -- Configure vim mode settings - -Whether you're new to vim mode or an experienced Vim user looking to optimize your Zed experience, this guide will help you harness the full power of modal editing in Zed. +Zed includes a Vim emulation layer. This page covers enabling and disabling vim mode, key bindings, Zed-specific features, and configuration options. ## Zed's vim mode design -Vim mode tries to offer a familiar experience to Vim users: it replicates the behavior of motions and commands precisely when it makes sense and uses Zed-specific functionality to provide an editing experience that "just works" without requiring configuration on your part. +Vim mode replicates the behavior of motions and commands where it makes sense and uses Zed-specific functionality where Zed's approach is better. The goal is a familiar experience that works out of the box without requiring configuration. This includes support for semantic navigation, multiple cursors, or other features usually provided by plugins like surrounding text. @@ -369,12 +359,6 @@ As any Zed command is available, you may find that it's helpful to remember mnem ## Customizing key bindings -In this section, we'll learn how to customize the key bindings of Zed's vim mode. You'll learn: - -- How to select the correct context for your new key bindings. -- Useful contexts for vim mode key bindings. -- Common key bindings to customize for extra productivity. - ### Selecting the correct context Zed's key bindings are evaluated only when the `"context"` property matches your location in the editor. For example, if you add key bindings to the `"Editor"` context, they will only work when you're editing a file. If you add key bindings to the `"Workspace"` context, they will work everywhere in Zed. Here's an example of a key binding that saves when you're editing a file: