配置助手
这是 Zed 助手中的所有配置选项的鸟瞰图
提供商
要访问助手配置视图,请在命令面板中运行 assistant: show configuration
,或单击助手面板右上角的汉堡菜单并选择“配置”。
下面您可以找到到目前为止所有支持的提供商。
Zed AI
一种托管服务,通过 Anthropic 的 Claude 3.5 Sonnet 提供对 Zed 中启用 AI 的编码的便捷且高性能的支持,只需登录即可访问。
Anthropic
您可以通过Zed AI免费使用 Claude 3.5 Sonnet。 要使用其他 Anthropic 模型,您需要通过提供自己的 API 密钥来配置它。
- 注册 Anthropic 并创建 API 密钥
- 确保您的 Anthropic 帐户有额度
- 打开配置视图(
assistant: show configuration
)并导航到 Anthropic 部分 - 输入您的 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,方法是在助手面板中的模型下拉列表中选择它。
- 转到 Google AI Studio 站点并创建 API 密钥。
- 打开配置视图(
assistant: show configuration
)并导航到 Google AI 部分 - 输入您的 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
确保它正在运行。
-
下载可用模型之一,例如
mistral
ollama pull mistral
-
确保 Ollama 服务器正在运行。 您可以通过运行 Ollama.app (MacOS) 或启动来启动它
ollama serve
-
在助手面板中,使用模型下拉列表选择其中一个 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
- 访问 OpenAI 平台并创建 API 密钥
- 确保您的 OpenAI 帐户有额度
- 打开配置视图(
assistant: show configuration
)并导航到 OpenAI 部分 - 输入您的 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
- 访问 DeepSeek 平台并创建 API 密钥
- 打开配置视图(
assistant: show configuration
)并导航到 DeepSeek 部分 - 输入您的 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 提供商指定自定义 endpoint
和 available_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
-
从 https://lm-studio.cn/download 下载并安装最新版本的 LM Studio
-
在应用程序中按 ⌘/Ctrl + Shift + M 并下载至少一个模型,例如 qwen2.5-coder-7b
您还可以通过 LM Studio CLI 获取模型
lms get qwen2.5-coder-7b
-
通过运行来确保 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
可以是以下任何值:anthropic
、google
、ollama
、openai
。
配置模型
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"
}
}
常用面板设置
键 | 类型 | 默认值 | 描述 |
---|---|---|---|
enabled | boolean | true | 将此设置为false 将完全禁用助手 |
button | boolean | true | 在状态栏中显示助手图标 |
dock | string | "right" | 助手面板的默认停靠位置。可以是 ["left", "right", "bottom"] |
default_height | string | null | 当助手面板停靠在底部时,其像素高度 |
default_width | string | null | 当助手面板停靠在左侧或右侧时,其像素宽度 |
通用配置示例
{
"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"
}
}