大型语言模型提供商

要在 Zed 中使用 AI,您需要至少设置一个大型语言模型提供商。

您可以通过订阅 Zed 的某个计划,或者使用您已有的受支持提供商的 API 密钥来实现。

使用您自己的密钥

如果您已经拥有 Anthropic 或 OpenAI 等现有 LLM 提供商的 API 密钥,您可以将它们添加到 Zed,并免费使用 Agent Panel 的全部功能。

要将现有 API 密钥添加到给定提供商,请转到 Agent Panel 设置 (agent: open settings),找到所需的提供商,将密钥粘贴到输入框中,然后按 Enter。

注意:API 密钥不会以纯文本形式存储在您的 settings.json 中,而是存储在您的操作系统的安全凭据存储中。

支持的提供商

Zed 提供了广泛的“使用您自己的密钥”LLM 提供商列表

Amazon Bedrock

支持使用支持流式工具使用的模型进行工具使用。更多详细信息请参阅 Amazon Bedrock 的工具使用文档

要使用 Amazon Bedrock 的模型,需要进行 AWS 身份验证。请确保您的凭据具有以下权限设置

  • bedrock:InvokeModelWithResponseStream
  • bedrock:InvokeModel

您的 IAM 策略应类似于

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "bedrock:InvokeModel",
        "bedrock:InvokeModelWithResponseStream"
      ],
      "Resource": "*"
    }
  ]
}

完成上述操作后,选择以下两种身份验证方法之一

  1. 确保您已安装 AWS CLI 并配置了命名配置文件
  2. 打开您的 settings.json (zed: open settings file) 并在 language_models 下包含 bedrock 密钥,并使用以下设置
    {
      "language_models": {
        "bedrock": {
          "authentication_method": "named_profile",
          "region": "your-aws-region",
          "profile": "your-profile-name"
        }
      }
    }
    

通过静态凭据进行身份验证

虽然可以通过 Agent Panel 设置 UI 直接输入您的 AWS 访问密钥和秘密来配置,但我们建议使用命名配置文件以获得更好的安全实践。为此

  1. IAM 控制台中创建一个您可以扮演的 IAM 用户。
  2. 为该用户创建安全凭据,保存并妥善保管。
  3. 使用 (agent: open settings) 打开 Agent Configuration 并转到 Amazon Bedrock 部分
  4. 将步骤 2 中的凭据复制到相应的访问密钥 ID秘密访问密钥区域字段中。

跨区域推理

Zed 对 Amazon Bedrock 的实现使用 跨区域推理,适用于所有支持它的模型和区域组合。通过跨区域推理,您可以将流量分布到多个 AWS 区域,从而实现更高的吞吐量。

例如,如果您使用 us-east-1 中的 Claude Sonnet 3.7 Thinking,它可能会在美国区域进行处理,即:us-east-1us-east-2us-west-2。跨区域推理请求保留在数据最初所在的地理区域内的 AWS 区域中。例如,在美国境内发出的请求会保留在美国境内的 AWS 区域中。

尽管数据仍仅存储在源区域中,但在跨区域推理期间,您的输入提示和输出结果可能会移出您的源区域。所有数据将通过 Amazon 的安全网络进行加密传输。

我们将尽最大努力支持每个模型的跨区域推理,请参阅 跨区域推理方法代码

有关最新支持的区域和模型,请参阅 跨区域推理支持的模型和区域

Anthropic

您可以通过在 Agent Panel 的模型下拉菜单中选择 Anthropic 模型来使用它们。

  1. 注册 Anthropic 并创建 API 密钥
  2. 确保您的 Anthropic 帐户有信用额度
  3. 打开设置视图 (agent: open settings) 并转到 Anthropic 部分
  4. 输入您的 Anthropic API 密钥

即使您已支付 Claude Pro 费用,您仍然需要支付额外信用额度才能通过 API 使用它。

如果定义了 ANTHROPIC_API_KEY 环境变量,Zed 也会使用它。

自定义模型

您可以通过将以下内容添加到您的 Zed settings.json 来为 Anthropic 提供商添加自定义模型

{
  "language_models": {
    "anthropic": {
      "available_models": [
        {
          "name": "claude-3-5-sonnet-20240620",
          "display_name": "Sonnet 2024-June",
          "max_tokens": 128000,
          "max_output_tokens": 2560,
          "cache_configuration": {
            "max_cache_anchors": 10,
            "min_total_token": 10000,
            "should_speculate": false
          },
          "tool_override": "some-model-that-supports-toolcalling"
        }
      ]
    }
  }
}

自定义模型将列在 Agent Panel 的模型下拉菜单中。

您可以通过将模型配置中的模式更改为 thinking 来配置模型使用扩展思维(如果支持),例如

{
  "name": "claude-sonnet-4-latest",
  "display_name": "claude-sonnet-4-thinking",
  "max_tokens": 200000,
  "mode": {
    "type": "thinking",
    "budget_tokens": 4096
  }
}

DeepSeek

  1. 访问 DeepSeek 平台并创建 API 密钥
  2. 打开设置视图 (agent: open settings) 并转到 DeepSeek 部分
  3. 输入您的 DeepSeek API 密钥

DeepSeek API 密钥将保存在您的钥匙串中。

如果定义了 DEEPSEEK_API_KEY 环境变量,Zed 也会使用它。

自定义模型

Zed 代理预配置为使用常见模型(DeepSeek Chat、DeepSeek Reasoner)的最新版本。如果您希望使用其他模型或自定义 API 端点,可以通过将以下内容添加到您的 Zed settings.json 来实现

{
  "language_models": {
    "deepseek": {
      "api_url": "https://api.deepseek.com",
      "available_models": [
        {
          "name": "deepseek-chat",
          "display_name": "DeepSeek Chat",
          "max_tokens": 64000
        },
        {
          "name": "deepseek-reasoner",
          "display_name": "DeepSeek Reasoner",
          "max_tokens": 64000,
          "max_output_tokens": 4096
        }
      ]
    }
  }
}

自定义模型将列在 Agent Panel 的模型下拉菜单中。您还可以根据需要修改 api_url 以使用自定义端点。

GitHub Copilot Chat

您可以通过在 Agent Panel 的模型下拉菜单中选择 GitHub Copilot Chat 来将其与 Zed 代理一起使用。

  1. 打开设置视图 (agent: open settings) 并转到 GitHub Copilot Chat 部分
  2. 单击 Sign in to use GitHub Copilot,按照模态框中显示的步骤操作。

或者,您可以通过 GH_COPILOT_TOKEN 环境变量提供 OAuth 令牌。

注意:如果您在下拉菜单中没有看到特定的模型,您可能需要在您的 GitHub Copilot 设置中启用它们。

要将 Copilot Enterprise 与 Zed 一起使用(用于代理和补全),您必须按照配置 GitHub Copilot Enterprise 中的说明配置您的企业端点。

Google AI

您可以通过在 Agent Panel 的模型下拉菜单中选择 Gemini 模型来将其与 Zed 代理一起使用。

  1. 前往 Google AI Studio 网站并创建 API 密钥
  2. 打开设置视图 (agent: open settings) 并转到 Google AI 部分
  3. 输入您的 Google AI API 密钥并按 Enter。

Google AI API 密钥将保存在您的钥匙串中。

如果定义了 GEMINI_API_KEY 环境变量,Zed 也会使用它。有关更多信息,请参阅 Gemini 文档中的使用 Gemini API 密钥

自定义模型

默认情况下,Zed 将使用模型的 stable 版本,但您可以使用模型的特定版本,包括实验模型。您可以通过向模型添加 mode 配置来配置模型使用思维模式(如果支持)。这对于控制推理令牌使用和响应速度非常有用。如果未指定,Gemini 将自动选择思维预算。

以下是一个您可以添加到您的 Zed settings.json 中的自定义 Google AI 模型示例

{
  "language_models": {
    "google": {
      "available_models": [
        {
          "name": "gemini-2.5-flash-preview-05-20",
          "display_name": "Gemini 2.5 Flash (Thinking)",
          "max_tokens": 1000000,
          "mode": {
            "type": "thinking",
            "budget_tokens": 24000
          }
        }
      ]
    }
  }
}

自定义模型将列在 Agent Panel 的模型下拉菜单中。

LM Studio

  1. 下载并安装 最新版本的 LM Studio

  2. 在应用程序中按 cmd/ctrl-shift-m 并下载至少一个模型(例如,qwen2.5-coder-7b)。或者,您可以通过 LM Studio CLI 获取模型

    lms get qwen2.5-coder-7b
    
  3. 通过执行以下命令确保 LM Studio API 服务器正在运行

    lms server start
    

提示:将 LM Studio 设置为登录项以自动运行 LM Studio 服务器。

Mistral

  1. 访问 Mistral 平台并创建 API 密钥
  2. 打开配置视图 (agent: open settings) 并导航到 Mistral 部分
  3. 输入您的 Mistral API 密钥

Mistral API 密钥将保存在您的钥匙串中。

如果定义了 MISTRAL_API_KEY 环境变量,Zed 也会使用它。

自定义模型

Zed 代理预配置了几个 Mistral 模型(codestral-latest、mistral-large-latest、mistral-medium-latest、mistral-small-latest、open-mistral-nemo 和 open-codestral-mamba)。所有默认模型都支持工具使用。如果您希望使用其他模型或自定义其参数,可以通过将以下内容添加到您的 Zed settings.json 来实现

{
  "language_models": {
    "mistral": {
      "api_url": "https://api.mistral.ai/v1",
      "available_models": [
        {
          "name": "mistral-tiny-latest",
          "display_name": "Mistral Tiny",
          "max_tokens": 32000,
          "max_output_tokens": 4096,
          "max_completion_tokens": 1024,
          "supports_tools": true,
          "supports_images": false
        }
      ]
    }
  }
}

自定义模型将列在 Agent Panel 的模型下拉菜单中。

Ollama

ollama.com/download(Linux 或 macOS)下载并安装 Ollama,并确保它正在运行 ollama --version

  1. 下载一个可用模型,例如 mistral

    ollama pull mistral
    
  2. 确保 Ollama 服务器正在运行。您可以通过运行 Ollama.app (macOS) 或启动它来启动它

    ollama serve
    
  3. 在 Agent Panel 中,使用模型下拉菜单选择一个 Ollama 模型。

Ollama 上下文长度

Zed 已预配置最大上下文长度 (max_tokens) 以匹配常见模型的功能。Zed 对 Ollama 的 API 请求将此作为 num_ctx 参数包含在内,但默认值不超过 16384,因此拥有约 16GB RAM 的用户可以开箱即用大多数模型。

有关完整的默认设置,请参阅 ollama.rs 中的 get_max_tokens

注意:Agent Panel 中显示的令牌计数只是估算值,与模型的原生分词器会有所不同。

根据您的硬件或用例,您可能希望通过 settings.json 限制或增加特定模型的上下文长度

{
  "language_models": {
    "ollama": {
      "api_url": "https://:11434",
      "available_models": [
        {
          "name": "qwen2.5-coder",
          "display_name": "qwen 2.5 coder 32K",
          "max_tokens": 32768,
          "supports_tools": true,
          "supports_thinking": true,
          "supports_images": true
        }
      ]
    }
  }
}

如果您指定的上下文长度对于您的硬件来说太大,Ollama 将记录错误。您可以通过运行以下命令来查看这些日志:tail -f ~/.ollama/logs/ollama.log (macOS) 或 journalctl -u ollama -f (Linux)。根据您机器上可用的内存,您可能需要将上下文长度调整为较小的值。

您还可以选择为每个可用模型指定 keep_alive 值。这可以是一个整数(秒)或一个字符串持续时间,例如“5m”、“10m”、“1h”、“1d”等。例如,"keep_alive": "120s" 将允许远程服务器在 120 秒后卸载模型(释放 GPU 显存)。

supports_tools 选项控制模型是否使用附加工具。如果模型在 Ollama 目录中标记为 tools,则应提供此选项,并且可以使用内置配置文件 AskWrite。如果模型在 Ollama 目录中未标记为 tools,则仍可以提供此选项并将其值设置为 true;但是,请注意,只有 Minimal 内置配置文件才能工作。

supports_thinking 选项控制模型在生成最终答案之前是否执行显式的“思考”(推理)过程。如果模型在 Ollama 目录中标记为 thinking,则设置此选项即可在 Zed 中使用它。

supports_images 选项启用模型的视觉功能,允许它处理对话上下文中包含的图像。如果模型在 Ollama 目录中标记为 vision,则设置此选项即可在 Zed 中使用它。

Ollama 身份验证

除了在您自己的硬件上运行 Ollama(通常不需要身份验证)之外,Zed 还支持连接到远程 Ollama 实例。身份验证需要 API 密钥。

其中一项服务是 [Ollama Turbo])(https://ollama.ac.cn/turbo)。要配置 Zed 以使用 Ollama turbo

  1. 登录您的 Ollama 帐户并订阅 Ollama Turbo
  2. 访问 ollama.com/settings/keys 并创建 API 密钥
  3. 打开设置视图 (agent: open settings) 并转到 Ollama 部分
  4. 粘贴您的 API 密钥并按 Enter。
  5. 对于 API URL,输入 https://ollama.ac.cn

如果定义了 OLLAMA_API_KEY 环境变量,Zed 也会使用它们。

OpenAI

  1. 访问 OpenAI 平台并创建 API 密钥
  2. 确保您的 OpenAI 帐户有信用额度
  3. 打开设置视图 (agent: open settings) 并转到 OpenAI 部分
  4. 输入您的 OpenAI API 密钥

OpenAI API 密钥将保存在您的钥匙串中。

如果定义了 OPENAI_API_KEY 环境变量,Zed 也会使用它。

自定义模型

Zed 代理预配置为使用常见模型(GPT-5、GPT-5 mini、o4-mini、GPT-4.1 等)的最新版本。要使用其他模型,可能是预览版,或者如果您希望控制请求参数,可以通过将以下内容添加到您的 Zed settings.json 来实现

{
  "language_models": {
    "openai": {
      "available_models": [
        {
          "name": "gpt-5",
          "display_name": "gpt-5 high",
          "reasoning_effort": "high",
          "max_tokens": 272000,
          "max_completion_tokens": 20000
        },
        {
          "name": "gpt-4o-2024-08-06",
          "display_name": "GPT 4o Summer 2024",
          "max_tokens": 128000
        }
      ]
    }
  }
}

您必须在 max_tokens 参数中提供模型的上下文窗口;这可以在 OpenAI 模型文档中找到。

OpenAI o1 模型也应设置 max_completion_tokens 以避免产生高额推理令牌成本。自定义模型将列在 Agent Panel 的模型下拉菜单中。

OpenAI API 兼容

Zed 通过为 OpenAI 提供商指定自定义 api_urlavailable_models 来支持使用与 OpenAI 兼容的 API。这对于连接到其他托管服务(如 Together AI、Anyscale 等)或本地模型非常有用。

您可以通过 UI 或编辑 settings.json 添加自定义的 OpenAI 兼容模型。

要通过 UI 完成此操作,请转到 Agent Panel 设置 (agent: open settings) 并查找“LLM Providers”部分标题右侧的“Add Provider”按钮。然后,填写模态框中可用的输入字段。

要通过您的 settings.json 完成此操作,请在 language_models 下添加以下代码片段

{
  "language_models": {
    "openai_compatible": {
      // Using Together AI as an example
      "Together AI": {
        "api_url": "https://api.together.xyz/v1",
        "available_models": [
          {
            "name": "mistralai/Mixtral-8x7B-Instruct-v0.1",
            "display_name": "Together Mixtral 8x7B",
            "max_tokens": 32768,
            "capabilities": {
              "tools": true,
              "images": false,
              "parallel_tool_calls": false,
              "prompt_cache_key": false
            }
          }
        ]
      }
    }
  }
}

默认情况下,OpenAI 兼容模型继承以下功能

  • tools: true (支持工具/函数调用)
  • images: false (不支持图像输入)
  • parallel_tool_calls: false (不支持 parallel_tool_calls 参数)
  • prompt_cache_key: false (不支持 prompt_cache_key 参数)

请注意,LLM API 密钥不会存储在您的设置文件中。因此,请确保您已在环境变量中设置它 (<PROVIDER_NAME>_API_KEY=<your api key>),以便您的设置可以获取它。在上面的示例中,它将是 TOGETHER_AI_API_KEY=<your api key>

OpenRouter

OpenRouter 通过单个 API 提供对多个 AI 模型的访问。它支持兼容模型的工具使用。

  1. 访问 OpenRouter 并创建一个帐户
  2. 从您的 OpenRouter 密钥页面生成 API 密钥
  3. 打开设置视图 (agent: open settings) 并转到 OpenRouter 部分
  4. 输入您的 OpenRouter API 密钥

OpenRouter API 密钥将保存在您的钥匙串中。

如果定义了 OPENROUTER_API_KEY 环境变量,Zed 也会使用它。

自定义模型

您可以通过将以下内容添加到您的 Zed settings.json 来为 OpenRouter 提供商添加自定义模型

{
  "language_models": {
    "open_router": {
      "api_url": "https://openrouter.ai/api/v1",
      "available_models": [
        {
          "name": "google/gemini-2.0-flash-thinking-exp",
          "display_name": "Gemini 2.0 Flash (Thinking)",
          "max_tokens": 200000,
          "max_output_tokens": 8192,
          "supports_tools": true,
          "supports_images": true,
          "mode": {
            "type": "thinking",
            "budget_tokens": 8000
          }
        }
      ]
    }
  }
}

每个模型的可用配置选项是

  • name (必需):OpenRouter 使用的模型标识符
  • display_name (可选):UI 中显示的人类可读名称
  • max_tokens (必需):模型的上下文窗口大小
  • max_output_tokens (可选):模型可以生成的最大令牌数
  • max_completion_tokens (可选):最大补全令牌数
  • supports_tools (可选):模型是否支持工具/函数调用
  • supports_images (可选):模型是否支持图像输入
  • mode (可选):思维模型的特殊模式配置

您可以在 OpenRouter 模型页面上找到可用模型及其规范。

自定义模型将列在 Agent Panel 的模型下拉菜单中。

提供商路由

您可以通过每个模型条目上的 provider 对象,选择性地控制 OpenRouter 如何在底层上游提供商之间路由给定的自定义模型请求。

支持的字段(全部可选)

  • order:按顺序首先尝试的提供商标识符数组(例如 ["anthropic", "openai"]
  • allow_fallbacks (默认值:true):如果首选提供商不可用,是否可以使用备用提供商
  • require_parameters (默认值:false):仅使用支持您提供的所有参数的提供商
  • data_collection (默认值:allow):"allow""disallow"(控制可能存储数据的提供商的使用)
  • only:此请求允许的提供商标识符白名单
  • ignore:要跳过的提供商标识符
  • quantizations:限制为特定的量化变体(例如 ["int4","int8"]
  • sort:候选提供商的排序策略(例如 "price""throughput"

示例:为模型添加路由偏好

{
  "language_models": {
    "open_router": {
      "api_url": "https://openrouter.ai/api/v1",
      "available_models": [
        {
          "name": "openrouter/auto",
          "display_name": "Auto Router (Tools Preferred)",
          "max_tokens": 2000000,
          "supports_tools": true,
          "provider": {
            "order": ["anthropic", "openai"],
            "allow_fallbacks": true,
            "require_parameters": true,
            "only": ["anthropic", "openai", "google"],
            "ignore": ["cohere"],
            "quantizations": ["int8"],
            "sort": "price",
            "data_collection": "allow"
          }
        }
      ]
    }
  }
}

这些路由控制使您无需更改在 UI 中选择的模型名称即可微调成本、功能和可靠性权衡。

Vercel v0

Vercel v0 是一个用于生成全栈应用程序的专家模型,具有针对 Next.js 和 Vercel 等现代堆栈优化的框架感知补全功能。它支持文本和图像输入,并提供快速流式响应。

v0 模型是与 OpenAI 兼容的模型,但 Vercel 在面板的设置视图中被列为一级提供商。

要开始在 Zed 中使用它,请确保您已首先创建 v0 API 密钥。拥有密钥后,将其直接粘贴到面板设置视图中的 Vercel 提供商部分。

然后您应该在 Agent Panel 的模型下拉菜单中找到它,显示为 v0-1.5-md

xAI

Zed 对 xAI 模型提供一流支持。您可以使用自己的 API 密钥访问 Grok 模型。

  1. 在 xAI 控制台中创建 API 密钥
  2. 打开设置视图 (agent: open settings) 并转到 xAI 部分
  3. 输入您的 xAI API 密钥

xAI API 密钥将保存在您的钥匙串中。如果定义了 XAI_API_KEY 环境变量,Zed 也会使用它。

注意: 虽然 xAI API 与 OpenAI 兼容,但 Zed 作为专用提供商对其提供一流支持。为了获得最佳体验,我们建议使用专用的 x_ai 提供商配置,而不是OpenAI API 兼容方法。

自定义模型

Zed 代理预配置了常见的 Grok 模型。如果您希望使用其他模型或自定义其参数,可以通过将以下内容添加到您的 Zed settings.json 来实现

{
  "language_models": {
    "x_ai": {
      "api_url": "https://api.x.ai/v1",
      "available_models": [
        {
          "name": "grok-1.5",
          "display_name": "Grok 1.5",
          "max_tokens": 131072,
          "max_output_tokens": 8192
        },
        {
          "name": "grok-1.5v",
          "display_name": "Grok 1.5V (Vision)",
          "max_tokens": 131072,
          "max_output_tokens": 8192,
          "supports_images": true
        }
      ]
    }
  }
}

自定义提供商端点

您可以为不同的提供商使用自定义 API 端点,只要它与提供商的 API 结构兼容。为此,请将以下内容添加到您的 settings.json

{
  "language_models": {
    "some-provider": {
      "api_url": "https://:11434"
    }
  }
}

目前,some-provider 可以是以下任何值:anthropicgoogleollamaopenai

这与支持例如与 OpenAI 兼容的模型的相同基础设施。