进阶 10 分钟IDE

Zed + Ollama : 超高速编辑器搭配助手 本地

直接回答

是的,Zed 原生支持连接 Ollama:安装 Ollama,ollama pull d 一个模型,确认服务器正在运行,然后在下拉菜单中选择该模型,Zed 会自动填充。使用前需了解的一项设置:Zed 默认向 Ollama 发送的上下文窗口仅为 4096 个 token,远低于大多数现代模型的容量,这足以解释在处理大文件时出现截断回复的原因。

Zed 是一款用 Rust 编写的多用户代码编辑器,以响应迅速著称。本指南介绍如何配置 Zed 与 Ollama 配合使用本地 AI 助手、调整上下文窗口、自动发现模型,以及通过权限和沙箱机制约束 Zed 智能体在您电脑上能够执行的操作。

作者: Mohamed Meguedmi·更新于 2026-09-28·已在 Windows、macOS 和 Linux 上测试

#在Zed中配置Ollama

Zed 官方文档介绍了一个四步流程:下载并安装 Ollama,拉取一个模型,确认 Ollama 服务器正在运行,然后在 Zed 的下拉菜单中选择该模型。

终端
ollama pull mistral
ollama serve

在 macOS 上,启动 Ollama.app 应用即可启动服务器;在 Linux 或 shell 中,ollama serve 命令执行相同操作。Zed 由其开发者描述为一款多用户、高性能的代码编辑器,由 Atom 和 Tree-sitter 的作者创建;截至 2026 年 9 月 28 日,最新稳定版为 v1.21.0,发布于 2026 年 9 月 23 日,同日该仓库在 GitHub 上拥有近 91,000 颗星。

这套 Ollama 配置可用于 Zed 中所有依赖语言模型的 AI 功能:用于多文件任务的 Agent 面板、用于在编辑器中进行针对性修改的内联助手(Inline Assistant),以及让智能体提出命令建议的终端线程。不过,外部智能体和终端线程可能需要单独配置本地模型,与这里介绍的 Zed 原生功能配置分开。

#模型自动检测

本地副驾驶套件

本指南带你上手模型。工具包则帮你用上能在你的编辑器中编写代码的编程助手。

  • 在线空间,终身可用
  • PDF + 文件
  • 终身更新

Zed 会自动检测 Ollama 已经下载的模型,并在模型选择菜单中提供这些模型。若要禁用此检测功能并手动列出模型及其具体能力,需在设置中将 auto_discover 设置为 false。

settings.json
{
  "language_models": {
    "ollama": {
      "api_url": "http://localhost:11434",
      "auto_discover": false,
      "available_models": [
        {
          "name": "qwen2.5-coder",
          "display_name": "qwen 2.5 coder",
          "max_tokens": 32768,
          "supports_tools": true,
          "supports_thinking": true,
          "supports_images": true
        }
      ]
    }
  }
}

这种手动模式有实际用途:对于 Zed 无法自动正确分类的模型,可以强制设置 supports_tools 或 max_tokens;也可以在纳入版本控制的项目配置文件中,记录团队应使用哪个模型。

supports_tools 字段值得特别关注:它向 Zed 表明,模型是否能在 Zed 智能体中接收工具定义(文件编辑、命令执行),而非仅用于简单聊天。未声明工具调用能力的 Ollama 模型可以用于行内助手或自动补全,但不能用于 Agent 面板中的多文件任务。

#4096 个 token 的上下文窗口

Zed 通过 num_ctx 参数将上下文长度传递给 Ollama;根据官方文档,默认值为 4096 个 token。这明显小于大多数较新模型的原生上下文窗口(通常为 32 000 个 token 或更多),一个中等大小的文件就可能超过这一上限。

!
惊讶梯度
这不是模型的限制,而是 Zed 自身的默认设置。即使模型宣称支持 128k token 的上下文,如果 Zed 仍发送 num_ctx=4096,且未在设置中修正,模型处理大文件时仍会给出被截断的回答。
提取上下文
{
  "language_models": {
    "ollama": {
      "context_window": 8192
    }
  }
}

该context_window设置适用于Zed中所有配置的Ollama模型;若需为不同模型设置不同的上下文长度,可通过available_models中的max_tokens参数实现,同时关闭auto_discover以确保该值生效。

#llama.cpp 和 LM Studio:本地替代方案

Zed 支持 llama.cpp,就像支持 Ollama 一样,并能自动发现以路由模式提供服务的模型;/models/sse 流会进一步完善模型发现功能,但需要较新版本的 llama.cpp 服务器。Zed 也支持通过 LM Studio 的本地 API 服务器接入,使用 lms server start 启动该服务器。

比较在 Zed 中使用本地模型的三种方式
Backend模型发现特点
Ollama自动发现(已拉取的模型)上下文长度需手动设置(默认值为4096)
llama.cpp在路由器模式下自动完成(需要较新的构建版本)通过-hf选项实现按需加载
LM Studio通过已加载模型列表手动发现模型除 API 外,还提供模型管理的图形界面

#智能体工具的权限

自 0.224.0 版本起,Zed 智能体的工具操作审批通过 agent.tool_permissions.default 进行配置;在此之前,由一个布尔值(agent.always_allow_tool_actions,默认为 false)统一控制。新系统支持按正则表达式模式设置规则,有三种处理方式:允许、拒绝或始终要求确认。

settings.json — 按工具设置规则
{
  "agent": {
    "tool_permissions": {
      "default": "allow",
      "tools": {
        "terminal": {
          "default": "confirm",
          "always_allow": [
            { "pattern": "^cargo\\s+(build|test|check)" }
          ],
          "always_confirm": [{ "pattern": "sudo\\s+/" }]
        }
      }
    }
  }
}

这个取自官方文档的示例会自动允许在终端工具中运行特定的 cargo 命令,同时要求所有涉及系统根目录的 sudo 命令都必须经过确认——当接入的是一个可预测性不如云端标杆模型的小型本地模型时,这种细粒度控制很有用。

#沙箱:它真正保护了什么

除了声明式权限,Zed 还为其智能体的工具调用提供操作系统级沙箱。文档明确说明了其适用范围:仅适用于 terminal 和 fetch 工具,不适用于 Zed 本身,也不适用于语言服务器、扩展、任务或普通终端标签页。

终端工具
沙盒限制智能体所执行命令的磁盘写入和出站网络访问;Git 元数据受到保护。
fetch 工具
沙箱限制了智能体实际能够连接的主机范围。
Linux 环境要求
PATH 中必须存在一个可执行且非 setuid 的 bwrap 二进制文件。
Windows 系统要求
WSL 必须可用;文档指出,WSL 中的沙箱隔离能力弱于 Linux 或 macOS,可能无法阻止所有逃逸尝试。
i
权限与沙箱设置相辅相成
基于模式匹配的权限限制智能体触发操作的能力;操作启动后,沙箱则限制该操作实际能访问或影响的系统内容。这两种机制不能相互替代。

在将敏感任务交给可预测性较低的小型本地模型之前,务必理解这一有限的保护范围(仅涵盖终端和 fetch):通过 edit_file 或 write_file 修改文件时,操作受声明式权限和智能体配置约束,而不是由沙箱的系统级隔离保护。因此,这些操作仍值得人工审核,即使其他操作已经启用了沙箱。

#Zed 中的 MCP 服务器

除了使用 Ollama 作为模型提供方,Zed 还通过模型上下文协议(MCP)与外部上下文服务器交互,包括数据库、工单管理系统和企业文档。官方文档明确指出,Zed 支持 MCP 的工具(Tools)和提示(Prompts)功能,使智能体能够获得文件编辑、终端等内置工具之外的额外能力。

为确保实际使用某个指定的 MCP 服务器,而不会与 Zed 的内置工具发生竞争,文档展示了一个专用智能体配置示例(使用 container-use 服务器):禁用内置工具,只启用所选 MCP 服务器的工具,并在该配置中将 enable_all_context_servers 设为 false。

settings.json — 来自 MCP 官方配置文件的片段
{
  "enable_all_context_servers": false,
  "context_servers": {
    "container-use": {
      "tools": {
        "environment_create": true,
        "environment_add_service": true,
        "environment_update": true,
        "environment_run_cmd": true
      }
    }
  }
}

这种按配置文件细分的方式与上文所述的按工具设置权限的系统相呼应:对于通过 Ollama 在本地运行、比基准云模型更难预测的模型,限制实际开放给智能体的工具——无论这些工具来自 MCP 服务器还是 Zed 的原生功能——就能在讨论权限和沙箱问题之前,先减少可能出错的环节。

#预测编辑(Zeta)也能在本地运行

Zed 提供了一项独立于聊天智能体的功能:预测编辑,在您输入时建议下一处修改,按一下 Tab 键即可确认。默认提供方是 Zeta,这是 Zed 自行开发的开源模型——与为 Agent 面板或内联助手配置的对话模型不同。

为了让这项功能完全在本地运行,可以按照官方文档配置专用于预测性编辑的 Ollama 提供方,并使用为此用途设计的模型变体(尤其是 zeta2),而不是复用已经为 AI 智能体配置的聊天模型——在 Zed 中,这两项设置相互独立。较小的模型专门用于每次预测一处修改,而不是进行多轮对话,因此在这项具体任务上,通常比通用聊天模型响应更快。这里,响应速度比纯粹的推理能力更重要:打字时感知到的延迟是首要标准,其重要性远高于回答内容的丰富程度。

→
两个模型,两个独立设置
用于预测编辑的模型(Zeta 或 Ollama 中的对应模型)与用于聊天智能体或在线助手的模型分别配置。例如,提高智能体的 num_ctx,并不会改变预测编辑的行为,除非也调整预测编辑自身的提供方设置。

#在远程服务器上运行 Ollama

如果 Ollama 在另一台机器上运行,或需要密钥(例如托管版 Ollama Turbo),应在供应商界面中输入密钥,或通过变量 OLLAMA_API_KEY 设置密钥;API 的 URL 应指向远程端点,而不是 localhost。

这种远程部署方式对团队有实际价值:只需一台资源足以运行适当规模模型的 Ollama 服务器,就能为多台配置了同一 API URL 的 Zed 工作电脑提供服务,避免每位开发者都在自己的机器上运行并重新加载模型。这样,上下文窗口和声明的能力(supports_tools、supports_thinking)只需在项目共享配置中设置一次,无需在每个人的个人设置中分别配置。

常见问题
为什么 Zed 在处理大型文件时会截断回复(Ollama)?+
默认情况下,Zed 向 Ollama 发送的上下文窗口仅为 4096 个 token(参数 num_ctx),无论模型原生声明的上下文窗口是多少。这不是模型的限制,而是 Zed 本身的默认设置。通过 Zed 的 Ollama 设置中的 context_window 参数可将其增大,例如根据可用 VRAM 提升至 8192 或更高。
Zed 是否会自动检测我的 Ollama 模型?+
是的,默认情况下,Zed 会检测到已由 Ollama 下载的模型,并在选择菜单中提供。若要手动列出模型及其具体能力(如工具支持、推理、图像处理),需关闭 auto_discover,并在 available_models 中手动声明,每个模型需配置独立的 max_tokens。
Zed 的沙箱是否能保护智能体的所有工具?+
不能。官方文档明确说明,沙箱仅适用于 terminal 和 fetch 工具。其他工具,包括通过 edit_file 或 write_file 编辑文件的工具,仍受声明式权限和智能体配置的约束,没有额外的系统隔离;对这些操作进行人工审核仍然有帮助。
能否在 Zed 中用 LM Studio 或 llama.cpp 替代 Ollama?+
是的,Zed 的 AI 功能原生支持这三种工具。llama.cpp 和 Ollama 能自动发现已加载的模型;LM Studio 则需要先通过命令 lms server start 启动自己的本地 API 服务器,Zed 才能连接到它。
Zed 的沙箱在 Windows 上的可靠性是否与 Linux 一样?+
不,官方文档明确指出:Windows下的沙箱依赖WSL,其防护能力弱于Linux或macOS下基于bwrap的沙箱;在Windows平台上,它可能无法阻止所有沙箱逃逸尝试,因此在将敏感任务交给它之前,应牢记这一点。
Zed 能否在使用本地 Ollama 模型时使用 MCP 服务器?+
是的。无论配置的是哪家模型提供商,包括 Ollama,Zed 都支持 Model Context Protocol 的工具(Tools)和提示(Prompts)功能。通过专用的智能体配置,可以禁用内置工具,仅向智能体提供某个特定 MCP 服务器的工具,从而在使用行为较难预测的本地模型时,减少可能出错的环节。
Zed 的预测编辑功能能否完全本地运行?+
可以。默认提供方 Zeta 是由 Zed 开发的开源模型,但官方文档说明可以将其替换为本地 Ollama 模型(zeta2 等变体就是为这一用途设计的)。这一设置独立于聊天智能体或内联助手所使用的模型。

这份指南对您有帮助吗?

有反馈、发现了错误,或想补充说明?请告诉我们,让这份指南对每个人都更有帮助。