配置助手

这是 Zed 助手中的所有配置选项的鸟瞰图

提供商

要访问助手配置视图,请在命令面板中运行 assistant: show configuration,或单击助手面板右上角的汉堡菜单并选择“配置”。

下面您可以找到到目前为止所有支持的提供商。

Zed AI

一种托管服务,通过 Anthropic 的 Claude 3.5 Sonnet 提供对 Zed 中启用 AI 的编码的便捷且高性能的支持,只需登录即可访问。

Anthropic

您可以通过Zed AI免费使用 Claude 3.5 Sonnet。 要使用其他 Anthropic 模型,您需要通过提供自己的 API 密钥来配置它。

  1. 注册 Anthropic 并创建 API 密钥
  2. 确保您的 Anthropic 帐户有额度
  3. 打开配置视图(assistant: show configuration)并导航到 Anthropic 部分
  4. 输入您的 Anthropic API 密钥

即使您为 Claude Pro 付费,您仍然需要支付额外积分才能通过 API 使用它。

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

Anthropic 自定义模型

您可以通过将以下内容添加到 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"
        }
      ]
    }
  }
}

自定义模型将列在助手面板中的模型下拉列表中。

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

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

GitHub Copilot Chat

您可以使用 Zed 助手中的 GitHub Copilot chat,方法是在助手面板中的模型下拉列表中选择它。

Google AI

您可以使用 Zed 助手中的 Gemini 1.5 Pro/Flash,方法是在助手面板中的模型下拉列表中选择它。

  1. 转到 Google AI Studio 站点并创建 API 密钥
  2. 打开配置视图(assistant: show configuration)并导航到 Google AI 部分
  3. 输入您的 Google AI API 密钥并按 Enter 键。

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

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

Google AI 自定义模型

默认情况下,Zed 将使用 stable 版本的模型,但您可以使用特定版本的模型,包括 实验性模型 通过将以下内容添加到 Zed settings.json,使用 Google AI 提供商

{
  "language_models": {
    "google": {
      "available_models": [
        {
          "name": "gemini-1.5-flash-latest",
          "display_name": "Gemini 1.5 Flash (Latest)",
          "max_tokens": 1000000
        }
      ]
    }
  }
}

自定义模型将列在助手面板中的模型下拉列表中。

Ollama

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

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

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

    ollama serve
    
  3. 在助手面板中,使用模型下拉列表选择其中一个 Ollama 模型。

Ollama 上下文长度

Zed 预配置了最大上下文长度 (max_tokens) 以匹配常见模型的功能。 Zed 向 Ollama 的 API 请求将此作为 num_ctx 参数包含在内,但默认值不超过 16384,因此具有 ~16GB 内存的用户能够开箱即用地使用大多数模型。 有关完整的默认值集,请参阅 ollama.rs 中的 get_max_tokens

注意:助手面板中显示的令牌计数仅是估计值,并且与模型的本机令牌生成器不同。

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

{
  "language_models": {
    "ollama": {
      "api_url": "http://localhost:11434",
      "available_models": [
        {
          "name": "qwen2.5-coder",
          "display_name": "qwen 2.5 coder 32K",
          "max_tokens": 32768
        }
      ]
    }
  }
}

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

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

OpenAI

  1. 访问 OpenAI 平台并创建 API 密钥
  2. 确保您的 OpenAI 帐户有额度
  3. 打开配置视图(assistant: show configuration)并导航到 OpenAI 部分
  4. 输入您的 OpenAI API 密钥

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

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

OpenAI 自定义模型

Zed 助手经过预配置,可以使用通用模型的最新版本(GPT-3.5 Turbo、GPT-4、GPT-4 Turbo、GPT-4o、GPT-4o mini)。 如果您希望使用其他模型,也许是预览版本或带日期的模型版本,或者您希望控制请求参数,您可以通过将以下内容添加到您的 Zed settings.json 来实现

{
  "language_models": {
    "openai": {
      "available_models": [
        {
          "name": "gpt-4o-2024-08-06",
          "display_name": "GPT 4o Summer 2024",
          "max_tokens": 128000
        },
        {
          "name": "o1-mini",
          "display_name": "o1-mini",
          "max_tokens": 128000,
          "max_completion_tokens": 20000
        }
      ]
      "version": "1"
    },
  }
}

您必须在 max_tokens 参数中提供模型的上下文窗口,可以在 OpenAI 模型文档中找到。 OpenAI o1 模型还应设置 max_completion_tokens,以避免产生高额的推理令牌成本。 自定义模型将列在助手面板中的模型下拉列表中。

DeepSeek

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

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

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

DeepSeek 自定义模型

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
        }
      ]
    }
  }
}

自定义模型将列在助手面板中的模型下拉列表中。 您还可以修改 api_url 以在需要时使用自定义端点。

OpenAI API 兼容

Zed 通过为 OpenAI 提供商指定自定义 endpointavailable_models 来支持使用 OpenAI 兼容的 API。

X.ai Grok

使用 X.ai Grok 与 Zed 的示例配置

  "language_models": {
    "openai": {
      "api_url": "https://api.x.ai/v1",
      "available_models": [
        {
          "name": "grok-beta",
          "display_name": "X.ai Grok (Beta)",
          "max_tokens": 131072
        }
      ],
      "version": "1"
    },
  }

LM Studio

  1. 从 https://lm-studio.cn/download 下载并安装最新版本的 LM Studio

  2. 在应用程序中按 ⌘/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 服务器。

高级配置

自定义端点

您可以为不同的提供商使用自定义 API 端点,只要它与提供商的 API 结构兼容。

为此,请将以下内容添加到您的 Zed settings.json

{
  "language_models": {
    "some-provider": {
      "api_url": "http://localhost:11434"
    }
  }
}

其中 some-provider 可以是以下任何值:anthropicgoogleollamaopenai

配置模型

Zed 托管的 LLM 服务将 claude-3-7-sonnet-latest 设置为默认模型。 但是,您可以通过助手面板左下角的模型下拉列表或手动编辑设置中的 default_model 对象来更改它

{
  "assistant": {
    "version": "2",
    "default_model": {
      "provider": "zed.dev",
      "model": "gpt-4o"
    }
  }
}

特定功能的模型

目前仅在 预览版 中可用。

Zed允许您为特定功能配置不同的模型。 这提供了灵活性,可以为某些任务使用更强大的模型,而为其他任务使用更快或更高效的模型。

如果未设置特定功能的模型,它将回退到使用默认模型,即您在代理面板上设置的模型。

您可以配置以下特定功能的模型

  • 线程摘要模型:用于生成线程摘要
  • 内联助手模型:用于内联助手功能
  • 提交消息模型:用于生成Git提交消息

配置示例

{
  "assistant": {
    "version": "2",
    "default_model": {
      "provider": "zed.dev",
      "model": "claude-3-7-sonnet"
    },
    "inline_assistant_model": {
      "provider": "anthropic",
      "model": "claude-3-5-sonnet"
    },
    "commit_message_model": {
      "provider": "openai",
      "model": "gpt-4o-mini"
    },
    "thread_summary_model": {
      "provider": "google",
      "model": "gemini-2.0-flash"
    }
  }
}

配置内联助手的替代模型

您可以配置其他模型,这些模型将用于并行执行内联辅助。当您这样做时,内联辅助UI将显示控件以在每个模型生成的替代方案之间循环。您在此处指定的模型始终在除了您的默认模型之外使用。例如,以下配置将为每个辅助生成两个输出。一个使用Claude 3.5 Sonnet,另一个使用GPT-4o。

{
  "assistant": {
    "default_model": {
      "provider": "zed.dev",
      "model": "claude-3-5-sonnet"
    },
    "inline_alternatives": [
      {
        "provider": "zed.dev",
        "model": "gpt-4o"
      }
    ],
    "version": "2"
  }
}

常用面板设置

类型默认值描述
enabledbooleantrue将此设置为false将完全禁用助手
buttonbooleantrue在状态栏中显示助手图标
dockstring"right"助手面板的默认停靠位置。可以是 ["left", "right", "bottom"]
default_heightstringnull当助手面板停靠在底部时,其像素高度
default_widthstringnull当助手面板停靠在左侧或右侧时,其像素宽度

通用配置示例

{
  "assistant": {
    "enabled": true,
    "default_model": {
      "provider": "zed.dev",
      "model": "claude-3-7-sonnet"
    },
    "editor_model": {
      "provider": "openai",
      "model": "gpt-4o"
    },
    "inline_assistant_model": {
      "provider": "anthropic",
      "model": "claude-3-5-sonnet"
    },
    "commit_message_model": {
      "provider": "openai",
      "model": "gpt-4o-mini"
    },
    "thread_summary_model": {
      "provider": "google",
      "model": "gemini-1.5-flash"
    },
    "version": "2",
    "button": true,
    "default_width": 480,
    "dock": "right"
  }
}