Loading...

文章背景图

Zed:Rust 高性能 AI 代码编辑器与多人协作平台|部署与使用全指南

2026-10-27
0
- 字
- 分钟
|

Zed:Rust 高性能 AI 代码编辑器与多人协作平台|部署与使用全指南

本文基于 zed-industries/zed 仓库 main 分支文档与 v1.25.3(2026-10-23 发布的最新 stable)撰写。项目当前 92,000+ Stars、11,000+ Forks,由 Atom 与 Tree-sitter 的原作者团队(Zed Industries, Inc.)开发,源码主要采用 GPL-3.0-or-later 许可(部分组件 Apache-2.0,随 crate 单独标注)。

Zed 编辑器主视觉图

Zed 是一款用 Rust 从零编写的下一代代码编辑器,主打三件事:极致性能(GPU 加速渲染、CPU 占用极低)、内置 AI Agent(Agent Panel、Edit Prediction、Inline Assistant、MCP 扩展)、多人协作(基于 LiveKit 的实时协作与频道)。它同时支持 macOS、Linux 与 Windows,官方宣称"你的最后一个编辑器"。

一、项目介绍与适用场景

是什么:Zed 是开源编辑器,UI 用自研 GPUI 框架直接跑在 GPU 上,语法解析基于 Tree-sitter,语言智能基于 LSP,AI 能力可接官方托管模型、自备 API Key、订阅账号、网关(OpenRouter 等)或本地模型(Ollama / LM Studio / llama.cpp)。

技术定位:

  • 单一原生二进制 + CLI(zed 命令),无 Electron;

  • 内置 Vim 模式、SSH Remote Development、任务系统(Tasks)、调试器(Debugger)、Jupyter REPL、Git 图形化操作;

  • 通过扩展系统(Extensions)支持语言、主题、图标、MCP Server 等。

适用人群:

人群

典型用法

追求性能的大型项目开发者

秒开百万行级仓库,Tree-sitter 高亮

Vim / Neovim 用户

内置 vim 模式,保留 motion 习惯

AI 重度用户

Agent Panel + 自定义模型 / MCP 工具链

远程开发团队

SSH Remote、Dev Container、协作频道

开源贡献者

源码 GPL,可自行编译定制

不适合的场景:

  • 需要 Web 版或浏览器内使用——官方明确暂不支持(有 tracking issue);

  • FreeBSD 等 x86_64/aarch64 之外的平台——官方不提供下载,只能自行源码编译;

  • 完全离线且无任何本地模型的团队——AI 功能需要模型(托管 / API / 本地三选一),但编辑器本体可完全离线使用;

  • 依赖插件生态迁移成本高的场景——可参考官方 VS Code / JetBrains 迁移文档评估。

二、核心功能逐条拆解

  1. GPU 加速编辑器内核:自研 GPUI 框架把渲染放到 GPU,配合 Rust 并发,启动与输入延迟极低;Linux 端要求 Vulkan 1.3,Windows 端要求 DirectX 11。

  2. Agent Panel(AI 编码智能体):Zed 原生 Agent 可以读、写、搜索并运行项目代码,支持工具调用、多线程并行、Thread History、diff 审查(逐 hunk 接受/拒绝)、消息队列与 Steer 打断、自动上下文压缩(/compact)。

Zed Agent Panel
  1. 多模型接入:Zed-hosted Models(订阅计费)、自备 API Key(Anthropic / OpenAI / Google / Mistral / DeepSeek / xAI / OpenCode)、订阅账号、网关(OpenRouter / Vercel AI Gateway / Bedrock)、本地模型(Ollama / LM Studio / llama.cpp / 任意 OpenAI 兼容端点)五条路径任选。

  2. Edit Prediction(编辑预测):类 Copilot 的行内补全,Pro 订阅不限量;也可配置其他提供方(如 GitHub Copilot 或本地模型)。

Zed Inline Assistant
  1. Inline Assistant(行内助手):选中代码后直接让模型改写选区或终端文本,无需离开编辑器。

  2. MCP(Model Context Protocol)扩展:以扩展或自定义本地/远程 Server 的方式给 Agent 挂外部工具(GitHub、Figma、Context7、Puppeteer 等),支持 OAuth 鉴权与运行时工具列表热更新。

Zed MCP Servers 设置
  1. Parallel Agents(并行智能体):Threads Sidebar 同时跑多个线程,可用 Git worktree 隔离互相冲突的编辑任务。

Zed 并行智能体 Threads Sidebar
  1. SSH Remote Development:本地跑 UI,语言服务器、任务、终端全部在远端执行,未保存内容本地持久化防丢。

  2. 内置 Vim 模式:官方实现的一等公民 vim 仿真,motion、text object、macro、visual block 全覆盖,并与多光标、语义导航融合。

  3. Tasks 与 Debugger:可配置任务模板替代 .vscode/tasks.json;内置 DAP 调试器,支持断点、变量查看与调试器扩展。

  4. REPL(Jupyter):内置 notebook 式交互运行,支持代码单元格逐段执行。

  5. 多人协作(Collab):频道(Channels)、共享项目与屏幕分享(macOS 12.3+),底层为 LiveKit 协议。

  6. 外部 Agent(ACP 协议):Claude Code、Codex、Gemini CLI、OpenCode 等第三方编码 Agent 可通过 Agent Client Protocol 接入 Agent Panel,与原生 Agent 并存。

三、全套官方链接

资源

地址

GitHub 仓库

https://github.com/zed-industries/zed

官网首页

https://zed.dev

下载页

https://zed.dev/download

Release 列表

https://zed.dev/releases 与 https://github.com/zed-industries/zed/releases

官方文档

https://zed.dev/docs

安装文档

https://zed.dev/docs/installation

配置文档

https://zed.dev/docs/configuring-zed

全量设置参考

https://zed.dev/docs/reference/all-settings

AI 文档(Agent / MCP / 模型)

https://zed.dev/docs/ai/quick-start

远程开发文档

https://zed.dev/docs/remote-development

扩展市场

https://zed.dev/extensions

源码编译文档

https://zed.dev/docs/development

定价页

https://zed.dev/pricing

社区链接(Discord / 论坛)

https://zed.dev/community-links

License

仓库根目录 LICENSE-GPL(GPL-3.0-or-later)、LICENSE-APACHE(Apache-2.0)

四、硬件与环境前置要求

项目

要求

macOS

macOS 12.0(Monterey)及以上;Intel(x86_64)与 Apple Silicon(aarch64);macOS 12.0–12.2 不支持协作屏幕分享(依赖 ScreenCaptureKit)

Linux

64 位 x86_64 / aarch64;Vulkan 1.3 驱动;需要 XDG 桌面门户:org.freedesktop.portal.FileChooser、OpenURI、Secret;glibc ≥ 2.31(x86_64,Ubuntu 20+)或 ≥ 2.35(aarch64,Ubuntu 22+)

Windows

Windows 10 1903+ / Windows 11 22H2+,64 位;DirectX 11 GPU(2012 年后的多数 PC 均可);x64 或 Arm64(Qualcomm)

内存

官方未给硬性下限;一般 8GB 起体验良好

磁盘

安装包约数百 MB,预留 1GB+ 即可

网络

编辑器本体可离线;AI 功能、自动更新、扩展市场、协作需联网

账号

编辑器无需登录即可使用;使用 Zed 托管 AI 模型或协作功能需注册 Zed 账号

源码编译

rustup(官方未要求 nightly,使用 rustup 默认工具链即可)+ 各平台系统依赖(见 5.5 节)

五、多平台部署步骤

5.1 macOS

# 方式一:Homebrew(官方文档推荐)
brew install --cask zed            # stable
brew install --cask zed@preview    # preview 渠道

# 方式二:官网直接下载
# https://zed.dev/download 下载 dmg 安装;preview 版在 https://zed.dev/releases/preview

首次手动安装后,Zed 会自动检查并提示安装更新。macOS 支持的硬件:2015 年后的 MacBook Pro / MacBook Air、Late 2014 后的 Mac Mini 等(官方安装页有完整清单)。

5.2 Windows

# 方式一:winget(官方包)
winget install -e --id ZedIndustries.Zed

# 方式二:官网下载安装包
# https://zed.dev/download 获取安装器;preview 版在 https://zed.dev/releases/preview

要求 DirectX 11 兼容 GPU 与厂商正式驱动(不能是 Microsoft 基本显示适配器);可用 dxdiag 查看显卡支持的 DirectX 版本。Windows 同时原生支持 SSH 与 WSL 远程开发。

5.3 Linux(官方安装脚本,最简单)

# stable(默认)
curl -f https://zed.dev/install.sh | sh

# 指定版本
curl -f https://zed.dev/install.sh | ZED_VERSION=0.216.0 sh

# preview 渠道(比 stable 提前约一周收到更新)
curl -f https://zed.dev/install.sh | ZED_CHANNEL=preview sh

脚本支持 x86_64 与 AArch64,覆盖 Ubuntu、Debian、Arch、RedHat、CentOS、Fedora 等发行版。脚本安装后可用 zed --uninstall 一键卸载。

第三方包管理器(社区维护,非官方包,注意可能滞后或改名为 zedit/zeditor):

# Arch 官方仓库
sudo pacman -S zed
# AUR:zed-git / zed-preview / zed-preview-bin
# Fedora(Terra 仓库):zed
# Homebrew on Linux:brew install --cask zed
# Conda:conda install -c conda-forge zed
# Nix(unstable):zed-editor
# Flathub:dev.zed.Zed

手动 tar.gz 安装(与脚本同一产物,可自定义位置):

# 从 https://cloud.zed.dev/releases/stable/latest/download?asset=zed&arch=x86_64&os=linux 下载
mkdir -p ~/.local
tar -xvf zed-linux-x86_64.tar.gz -C ~/.local
ln -sf ~/.local/zed.app/bin/zed ~/.local/bin/zed

# 可选:集成 XDG 桌面环境
install -D ~/.local/zed.app/share/applications/dev.zed.Zed.desktop -t ~/.local/share/applications
sed -i "s|Icon=zed|Icon=$HOME/.local/zed.app/share/icons/hicolor/512x512/apps/zed.png|g" ~/.local/share/applications/dev.zed.Zed.desktop
sed -i "s|Exec=zed|Exec=$HOME/.local/zed.app/bin/zed|g" ~/.local/share/applications/dev.zed.Zed.desktop

需要源码编译的情况(官方文档明确列出):x86_64/aarch64 以外的架构;RHEL 8.x / Rocky 8 / AlmaLinux 8 / Amazon Linux 2 全架构;RHEL 9.x / Rocky 9.3 / Amazon Linux 2023 的 aarch64。

5.4 SSH Remote 部署形态

远端服务器不需要预先安装任何东西:Zed 会通过本机 ssh 在远端 ~/.zed_server 自动下载并启动 headless server(要求远端为 macOS 12+ / Linux x86_64 或 arm64 / Windows)。

Zed 远程开发架构图
# 命令行直接打开远程项目
zed ssh://[<user>@]<host>[:<port>]/<path>
# 或热链接
zed://ssh/[<user>@]<host>[:<port>]/<path>

也可在 Zed 内按 cmd-shift-p(Windows/Linux ctrl-shift-p)打开 Remote Projects 对话框 → Connect New Server 输入 SSH 命令。远端受限网络时可设置 upload_binary_over_ssh: true 让本地下载后经 SSH 上传。远端离线或要自管 server 二进制时可自行编译:

cargo build --release --package remote_server
llvm-objcopy --strip-debug target/release/remote_server
# 上传到 ~/.zed_server/zed-remote-server-stable-<版本>,版本号必须与本地 Zed 完全一致

5.5 源码编译

# 1. 克隆仓库
git clone https://github.com/zed-industries/zed.git
cd zed

# 2. 安装 rustup(官方文档使用 rustup 默认工具链,未要求 nightly)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# 3. 安装系统依赖(Linux)
script/linux        # 内容即所需包列表,也可手动安装

# 4. 构建运行
cargo run               # debug 版编辑器
cargo run -p cli        # release 主入口是 cli crate
cargo test --workspace  # 跑测试

# 5. 安装本地构建到系统
./script/install-linux  # 安装 zed 到 ~/.local/bin 并注册 .desktop

打包要点(发行版维护者):构建 crates/cli 放到 $PATH 并命名 zed;crates/zed 产物放到 cli 同级 ../libexec/zed-editor(或 ../lib/zed/zed-editor);用 ZED_UPDATE_EXPLANATION 环境变量关闭自动更新并提示用户用发行版渠道升级;.desktop 模板在 crates/zed/resources/zed.desktop.in。Flatpak 可用 script/flatpak/deps + script/flatpak/bundle-flatpak 本地打包(官方注明当前 Flatpak 集成启动时会退出沙箱)。

六、配置文件全部参数解释

settings.json 位置:macOS 与 Linux 均为 ~/.config/zed/settings.json(Linux 亦尊重 $XDG_CONFIG_HOME),Windows 为 %APPDATA%\Zed\settings.json。语法为 JSON + // 注释。GUI 的 Settings Editor(zed::OpenSettings)修改会自动写回该文件;高级项需直接编辑 JSON(zed::OpenSettingsFile)。项目级覆盖放在仓库根 .zed/settings.json(仅限编辑行为与语言工具项,theme、vim_mode 等全局项只能在用户级设置)。还可按发布渠道覆盖:

```json [settings] { "theme": "One Dark", "vim_mode": false, "preview": { "theme": "Catppuccin Mocha" }, "nightly": { "theme": "Rosé Pine", "vim_mode": true } }


常用设置项速览(完整列表见官方 all-settings 参考):

| 设置 | 默认值 | 说明 |
| --- | --- | --- |
| `theme` | One Dark(深/浅可分设) | 主题,可 `{"mode":"system","light":...,"dark":...}` |
| `buffer_font_family` / `buffer_font_size` | Zed 内置字体 / 15 | 编辑区字体与字号 |
| `buffer_font_fallbacks` | null | 字体回退列表(macOS/Windows),中文乱码时把中文字体加进来 |
| `ui_font_fallbacks` / `terminal.font_fallbacks` | null | UI / 终端字体回退 |
| `tab_size` | 4 | 缩进宽度 |
| `format_on_save` | "on" | 保存时格式化 |
| `autosave` | on_focus_change | 自动保存时机 |
| `vim_mode` | false | Vim 模式开关 |
| `disable_ai` | false | 关闭全部 AI 功能 |
| `proxy` | null | 网络代理,如 `http://proxy.example.com:8080` |
| `lsp` | null | 按语言服务器覆盖 `initialization_options` / `settings` |
| `languages` | — | 按语言覆盖设置 |
| `terminal.*` | — | 终端字体、环境等 |
| `ssh_connections` | [] | 远程主机列表(含 `args`、`port`、`username`、`port_forwards` 等) |
| `context_servers` | {} | MCP 服务器配置 |
| `language_models` | {} | LLM 提供方配置 |
| `agent` | — | Agent 相关(默认模型、权限、压缩等) |

**LSP 覆盖示例**(rust-analyzer 用 clippy 检查;YAML 服务器运行时设置):

```json [settings]
{
  "lsp": {
    "rust-analyzer": {
      "initialization_options": {
        "check": { "command": "clippy" }
      }
    },
    "yaml-language-server": {
      "settings": {
        "yaml": { "keyOrdering": true }
      }
    }
  }
}

AI 相关核心参数(均在 settings.json 的 agent 与 language_models 节点):

参数

默认值

说明

agent.default_model

—

Agent Panel 默认模型:{"provider":"anthropic","model":"..."}

agent.inline_assistant_model

—

行内助手模型

agent.commit_message_model

—

Git 提交信息生成模型

agent.thread_summary_model / agent.compaction_model

—

摘要 / 压缩模型

agent.subagent_model

—

子智能体模型(可带 enable_thinking、effort、speed)

agent.model_parameters

[]

按提供方/模型设置 temperature 等

agent.auto_compact

{"enabled":true,"threshold":"90%"}

上下文自动压缩阈值,支持百分比、正/负整数

agent.tool_permissions.default

"confirm"

工具审批:confirm / allow / deny

agent.favorite_models

[]

收藏模型,快捷键轮换

agent.single_file_review

false

单文件内联 diff 审查

agent.prevent_idle_sleep

true

Agent 运行时阻止系统休眠

agent.notify_when_agent_waiting / agent.play_sound_when_agent_done

—

完成通知 / 提示音

agent.commit_message_instructions

—

提交信息生成指令

带注释的完整配置示例:

```json [settings] { // 外观 "theme": { "mode": "system", "light": "One Light", "dark": "One Dark" }, "buffer_font_family": "JetBrains Mono", "buffer_font_size": 14, "buffer_font_fallbacks": ["Noto Sans CJK SC"], // 中文回退字体 "vim_mode": true,

// 编辑行为 "tab_size": 2, "format_on_save": "on", "autosave": "on_focus_change",

// 终端 "terminal": { "font_family": "JetBrains Mono", "font_size": 14 },

// 网络代理(可选) "proxy": "http://127.0.0.1:7890",

// Agent:默认与专项模型 "agent": { "default_model": { "provider": "anthropic", "model": "claude-sonnet-4-5" }, "inline_assistant_model": { "provider": "anthropic", "model": "claude-haiku-4-5" }, "commit_message_model": { "provider": "deepseek", "model": "deepseek-chat" }, "auto_compact": { "enabled": true, "threshold": "90%" }, "tool_permissions": { "default": "confirm" }, "commit_message_instructions": "使用 Conventional Commits 格式。" },

// LLM 提供方(API Key 存系统钥匙串或环境变量,不要写进本文件) "language_models": { "anthropic": { "available_models": [ { "name": "claude-sonnet-4-5", "display_name": "Sonnet 4.5", "max_tokens": 200000, "max_output_tokens": 64000, "mode": { "type": "thinking", "budget_tokens": 8000 } } ] }, "deepseek": { "api_url": "https://api.deepseek.com/v1", "available_models": [ { "name": "deepseek-chat", "display_name": "DeepSeek Chat", "max_tokens": 128000 } ] }, "openai_compatible": { "my-provider": { "api_url": "https://example.com/v1", "available_models": [ { "name": "my-model", "display_name": "My Model", "max_tokens": 128000 } ] } }, "ollama": { "api_url": "http://localhost:11434", "auto_discover": false, "context_window": 8192, "available_models": [ { "name": "qwen2.5-coder", "display_name": "Qwen2.5 Coder", "max_tokens": 32768, "supports_tools": true, "supports_images": true } ] }, "open_router": { "api_url": "https://openrouter.ai/api/v1", "available_models": [ { "name": "openrouter/auto", "display_name": "Auto Router", "max_tokens": 2000000, "supports_tools": true, "provider": { "order": ["anthropic", "openai"], "allow_fallbacks": true } } ] } },

// MCP 上下文服务器 "context_servers": { "local-mcp-server": { "command": "npx", "args": ["-y", "some-mcp-server"], "env": {} }, "remote-mcp-server": { "url": "https://mcp.example.com/mcp", "headers": { "Authorization": "Bearer " } } },

// 远程开发 "ssh_connections": [ { "host": "192.168.1.10", "projects": [{ "paths": ["~/code/demo"] }], "port": 22, "args": ["-i", "~/.ssh/work_id_file"], "port_forwards": [{ "local_port": 8080, "remote_port": 80 }], "upload_binary_over_ssh": false, "nickname": "dev-box" } ],

// 按语言覆盖 "languages": { "Python": { "tab_size": 4 } } }


## 七、启动、后台常驻、开机自启、改端口

Zed 是桌面编辑器,不存在"服务端常驻"的常规需求;日常启动与 CLI 用法如下:

```sh
zed                     # 打开欢迎窗口
zed .                   # 当前目录作为项目打开
zed path/to/file.rs     # 打开单个文件
zed --foreground .      # 前台模式(排障用,日志直出终端)
zed --system-specs      # 打印系统规格(报 issue 用)
zed --uninstall         # 卸载脚本安装的 Zed(会询问是否保留配置)

开机自启:

  • macOS / Windows:登录后用系统机制自启,或将 Zed 加入"登录项 / 启动"列表;

  • Linux(systemd 用户级示例):

# ~/.config/systemd/user/zed-cli-daemon.service
[Unit]
Description=Zed CLI (warm start)

[Service]
Type=oneshot
ExecStart=/usr/bin/zed --foreground %h/projects/demo
RemainAfterExit=no

[Install]
WantedBy=default.target
systemctl --user enable zed-cli-daemon.service

SSH 远程 server 的常驻:Zed 远端 server 以代理模式管理守护进程,连接断开自动重连,无需手工维护;自建 server 二进制时放置于远端 ~/.zed_server/zed-remote-server-stable-<版本>。

"改端口"的对应场景是端口转发(远程开发访问远端 Web 服务):

```json [settings] { "ssh_connections": [ { "host": "192.168.1.10", "port_forwards": [ { "local_port": 8080, "remote_port": 80 }, { "local_port": 9090, "remote_port": 9090, "local_host": "0.0.0.0", "remote_host": "docker-host" } ] } ] }


底层使用 `ssh -L` 转发;默认只绑定 localhost,`local_host: "0.0.0.0"` 可对局域网开放。

**Linux 桌面集成**:tar.gz 安装需按 5.3 节安装 `.desktop` 文件;脚本安装自动完成。

## 八、功能实操教程

### 8.1 启用 AI Agent(Zed Agent)

1. 打开 Agent Panel:命令面板执行 `agent::NewThread`,或点状态栏 ✨ 图标;
2. 在 **Settings → AI → LLM Providers**(`agent::OpenSettings`)里登录 Zed 托管模型,或填入提供方 API Key(Key 存入系统钥匙串,不落 settings.json;环境变量优先级更高,如 `ANTHROPIC_API_KEY`);
3. 在消息编辑器输入需求回车;`@` 可引用文件、目录、符号、历史线程、Skills、诊断、分支 diff、URL;
4. Agent 修改文件后,点 Review Changes(或面板上的折叠条)在 multi-buffer diff 中逐 hunk 接受 / 拒绝;
5. 长会话用 `/compact` 手动压缩上下文,或依赖 `agent.auto_compact`(默认 90%)自动压缩;点 `+` → New From Summary 可用摘要续接新线程。

### 8.2 配置 DeepSeek / OpenRouter / 自建 OpenAI 兼容端点

```json [settings]
{
  "language_models": {
    "deepseek": {
      "api_url": "https://api.deepseek.com/v1",
      "available_models": [
        { "name": "deepseek-chat", "display_name": "DeepSeek Chat", "max_tokens": 128000 }
      ]
    },
    "open_router": {
      "api_url": "https://openrouter.ai/api/v1",
      "available_models": [
        { "name": "openrouter/auto", "display_name": "Auto", "max_tokens": 2000000, "supports_tools": true }
      ]
    },
    "openai_compatible": {
      "my-gateway": {
        "api_url": "https://my-gateway.internal/v1",
        "available_models": [
          { "name": "my-model", "max_tokens": 128000, "reasoning_effort": "high",
            "capabilities": { "tools": true, "images": false, "chat_completions": true } }
        ]
      }
    }
  },
  "agent": { "default_model": { "provider": "openrouter", "model": "openrouter/auto" } }
}

对应环境变量:DEEPSEEK_API_KEY、OPENROUTER_API_KEY;自定义 OpenAI 兼容提供方按"大写提供方 ID + _API_KEY"生成,如 my-gateway → MY_GATEWAY_API_KEY。其余:ANTHROPIC_API_KEY、OPENAI_API_KEY、GEMINI_API_KEY(回退 GOOGLE_AI_API_KEY)、MISTRAL_API_KEY、XAI_API_KEY、OPENCODE_API_KEY、VERCEL_AI_GATEWAY_API_KEY、OLLAMA_API_KEY、LMSTUDIO_API_KEY、LLAMACPP_API_KEY。推理型端点注意 reasoning_effort(none/minimal/low/medium/high/xhigh/max)与 capabilities.chat_completions / interleaved_reasoning / max_tokens_parameter 三个开关。

8.3 本地模型(Ollama / LM Studio / llama.cpp)

# Ollama
ollama pull qwen2.5-coder
ollama serve
# LM Studio
lms get qwen2.5-coder-7b && lms server start
# llama.cpp(router 模式)
llama serve -hf unsloth/gemma-4-26B-A4B-it-GGUF:BF16

然后在模型下拉框选择即可(Zed 会自动发现已拉取的模型);Ollama 默认上下文 4096,可用 language_models.ollama.context_window 全局调大或按模型 max_tokens 设置。

8.4 安装 MCP Server(扩展 + 自定义)

方式一:命令面板 → zed::Extensions → 搜索 context-servers 过滤器安装扩展
        (Context7、GitHub、Puppeteer、Figma、Brave Search、Gem、Resend 等)
方式二:Settings → AI → MCP Servers → Add Server → Add Local / Remote Server
        (写入 settings.json 的 context_servers 节点)

安装后在 MCP Servers 页看状态点:绿色 "Server is active" 即正常;GitHub 扩展需补 Personal Access Token。远程 MCP 未配置 Authorization 头时会自动走 MCP OAuth。要强制某任务只用 MCP 工具,可仿照官方 Container Use 示例建自定义 Agent Profile:关闭全部内置工具,仅开启 context_servers.<name>.tools 里的目标工具。

8.5 远程开发(SSH / WSL)

zed ssh://dev@203.0.113.10:2222~/repos/api

或 GUI:Remote Projects 对话框 → Connect New Server → 输入 SSH 命令(支持 -p、-i、-L、-J、-o 等参数与 bash 引号转义)。首次连接 Zed 会在远端自动下载 server。设置分三层:本地 settings 管 UI(字体等)、远端 settings 管服务器(语言服务器路径、代理)、项目 .zed/settings.json 管工程(缩进、formatter),本地安装的扩展会自动同步到远端。WSL:projects::OpenFolderInWsl 打开本地文件夹进 WSL,projects::OpenWsl 直接打开 WSL 内目录。

8.6 语言服务器(rust-analyzer / clangd / gopls / pyright)

Zed 通过语言扩展自动安装并管理 LSP(如 Rust 的 rust-analyzer、C++ 的 clangd、Go 的 gopls、Python 的 pyright 等),通常无需手工配置;需要传参时用 lsp 设置(见第六章示例)。常见操作:

editor::RestartLanguageServer   # 命令面板重启语言服务器(诊断卡死首选)
zed::OpenLog                    # 查看日志定位 LSP 报错

远程项目中语言服务器跑在远端,由远端 settings 控制。

8.7 Vim 模式与主题 / 快捷键

```json [settings]


首次启动欢迎页也可勾选开启;命令面板 `workspace::ToggleVimMode` 随时切换。主题:内置主题在 Settings Editor 搜索 Theme 即换;更多主题从扩展市场安装(`zed::Extensions`)。快捷键:`key-bindings` 文档所述,用户快捷键写在 `~/.config/zed/keymap.json`。

### 8.8 Tasks / Debugger / REPL / 协作

- **Tasks**:在 `.zed/tasks.json` 定义任务模板(构建、测试等),命令面板或快捷键触发,可绑定快捷键;
- **Debugger**:内置 DAP 调试器,断点 / 单步 / 变量查看,适配器可由扩展提供;
- **REPL**:编辑器内 Jupyter 式单元格执行;
- **协作**:加入频道(`collaboration/channels` 文档)、共享项目实时共同编辑;macOS 12.3+ 支持屏幕分享。

## 九、全套报错故障排查

| # | 现象 | 原因 | 解决 |
| --- | --- | --- | --- |
| 1 | Linux 启动报 `/lib64/libc.so.6: version 'GLIBC_2.29' not found` | 系统 glibc 过旧 | 升级系统,或按 5.5 节源码编译 |
| 2 | Linux 报 `Zed failed to open a window: NoSupportedDeviceFound` | Vulkan 找不到兼容 GPU | 用 `vkcube`(vulkan-tools 包)排查,在 X11/Wayland 两种模式各试一次;安装 Vulkan 驱动 |
| 3 | 报 `ERROR_INITIALIZATION_FAILED` / `GPU Crashed` / `ERROR_SURFACE_LOST_KHR` | GPU 驱动或选卡问题 | 更换/升级驱动;用 `ZED_DEVICE_ID=0x2484 zed`(`lspci -nn \| grep VGA` 查 ID)或 `MESA_VK_DEVICE_SELECT` 强制指定显卡 |
| 4 | AMD GPU 启动崩溃(Broken Pipe) | 驱动栈问题 | 改用 RADV/Mesa 驱动;若装了 `amdvlk`,卸载 `amdvlk`、`lib32-amdvlk` 并改装 `vulkan-radeon` |
| 5 | 双显卡笔记本选错 GPU | 默认用了集显 | `/etc/prime-discrete` 设为 `on`;或运行时 `DRI_PRIME=1 zed` |
| 6 | 无法打开文件 / 点链接无效 | 缺 XDG 桌面门户 | 安装并启用 `org.freedesktop.portal.FileChooser` 与 `OpenURI`(Hyprland 等窗口管理器需自配 backend) |
| 7 | API Key / 登录态记不住 | 缺密钥环 | 安装 `gnome-keyring`、`KWallet` 或 `keepassxc` 等提供 `org.freedesktop.Secrets` 的组件 |
| 8 | 报 `Could not start inotify` / "too many open files" | inotify 实例/ watches 或 fd 不足 | `sudo sysctl fs.inotify.max_user_instances=1024`、`fs.inotify.max_user_watches=64000`;`ulimit` 与 `/etc/security/limits.conf` 调大 |
| 9 | Linux 无声 / 声音设备错误 | ALSA 未接 PipeWire/PulseAudio | `sudo apt install pipewire-alsa`,并在 `~/.asoundrc` 配 `pcm.!default { type pipewire }` |
| 10 | Linux 中文 / 图标字体显示异常 | 字体回退缺失 | 设置 `buffer_font_fallbacks` / `ui_font_fallbacks` 指向 Noto CJK、Nerd Font 等;X11 下可用 `ZED_FONTS_GAMMA`、`ZED_FONTS_GRAYSCALE_ENHANCED_CONTRAST` 微调渲染 |
| 11 | X11 缩放错误(界面过大/过小) | DPI 检测问题 | `xrdb -merge` 设置 `Xft.dpi`,或 `GPUI_X11_SCALE_FACTOR=1.5 zed` |
| 12 | Windows 启动白屏 / 空白窗口 | GPU 不满足 DX11 或驱动问题 | `dxdiag` 确认 DirectX 11;更新 Intel/AMD/NVIDIA/Qualcomm 驱动;禁用第三方软件对硬件加速的拦截;无扩展 + 默认配置启动排查 |
| 13 | Windows 终端 / Git 异常 | 激活脚本或 PATH 问题 | 升级 Zed 至最新;确认 Git Bash / PowerShell 在 PATH 中 |
| 14 | SSH 远程凭据弹窗不出现 | 凭据管理器冲突 | 使用图形 askpass 对话框;确认 ssh-agent 运行、ssh.exe 在 PATH |
| 15 | 启动即崩溃且与工作区相关 | 工作区 SQLite 数据库损坏 | 移走数据库目录(Linux `~/.local/share/zed/db`,macOS `~/Library/Application Support/Zed/db`,Windows `%LOCALAPPDATA%\Zed\db`)后重启(会重置最近项目、标签等) |
| 16 | 诊断陈旧 / 跳转定义失效 | 语言服务器状态异常 | 命令面板执行 `editor::RestartLanguageServer` |
| 17 | Agent 报 "Max tokens reached" | 响应或上下文超模型上限 | 新开线程 / 选更大上下文模型 / 拆小任务 / 清理工具输出;`/compact` 压缩 |
| 18 | MCP 服务器状态点非绿色 / 工具不被调用 | 配置缺参数或模型不支持 | 按 provider 文档补全 command/args/env;MCP Servers 页查看状态;提示词中点名 MCP 服务器,或建仅含 MCP 工具的 Profile |
| 19 | NixOS 启动失败 | 无系统级 glibc | 安装 `nix-ld` 兼容层 |
| 20 | 性能问题 / 卡顿 | 需要定位 | macOS 用 Xcode Instruments(Time Profiler)采样;Linux 用 `perf record -g --call-graph dwarf -p <pid>` 抓火焰图(详见官方文档) |

通用排障手段:命令面板 `zed::About` 看版本、`zed::CopySystemSpecsIntoClipboard` 复制系统规格、`zed::OpenLog` / `zed::RevealLogInFileManager` 查看日志(macOS `~/Library/Logs/Zed/Zed.log`,Windows `%LOCALAPPDATA%\Zed\logs\Zed.log`,Linux `~/.local/share/zed/logs/Zed.log`);命令行 `zed --system-specs`、`ZED_LOG=wgpu=info zed --foreground .` 抓 GPU 相关日志。

## 十、升级、回滚与卸载

### 10.1 版本查看

```sh
zed --version                       # CLI 查版本
# 或编辑器内命令面板执行 zed::About
zed --system-specs                  # 版本 + 系统规格

官方发布节奏很快(每周 2~3 个构建),渠道分 stable / preview(提前约一周)/ nightly。

10.2 升级

  • 桌面内:Zed 自动检查更新并提示(脚本安装与官网安装包均支持);

  • macOS:brew upgrade --cask zed;

  • Windows:winget upgrade ZedIndustries.Zed;

  • Linux 脚本安装:重跑安装脚本即升级到最新 stable;

  • 源码编译:git pull 后重新 ./script/install-linux;

  • 发行版包:pacman -Syu zed / dnf upgrade zed 等。

10.3 回滚到指定版本

# 安装脚本指定版本
curl -f https://zed.dev/install.sh | ZED_VERSION=0.216.0 sh

# Homebrew:安装历史 cask 版本或改用 zed@preview
brew install --cask zed@preview

也可直接从 GitHub Releases / zed.dev/releases 下载旧版安装包覆盖。Preview / Stable / Nightly 三个渠道可并行安装,设置文件里用 preview / nightly 顶层键做渠道差异化配置。

10.4 完整卸载清单

# 脚本安装(macOS/Linux)
zed --uninstall       # 交互询问是否保留配置
# 或绝对路径
$HOME/.local/zed.app/bin/zed --uninstall

# 包管理器
brew uninstall --cask zed
winget uninstall ZedIndustries.Zed
sudo pacman -R zed
flatpak uninstall dev.zed.Zed

# 残留清理(按需,会丢失设置/会话/扩展)
rm -rf ~/.config/zed              # 设置与 keymap
rm -rf ~/.local/share/zed         # 日志、db、扩展(Linux)
rm -rf ~/Library/Logs/Zed ~/Library/Application\ Support/Zed   # macOS
rm -rf "$LOCALAPPDATA/Zed" "$APPDATA/Zed"                      # Windows
rm -rf ~/.zed_server              # 远端 server(在各远程主机上执行)

十一、商用许可与合规风险提示

  • 源码许可:README 明确"Zed source code is licensed primarily under GPL-3.0-or-later, with Apache-2.0 components where marked"。仓库中每个 crate 附带自己的 LICENSE 文件:主体为 LICENSE-GPL(GPL-3.0-or-later),GPUI、HTTP 客户端、扩展 API 等组件为 LICENSE-APACHE(Apache-2.0)。第三方依赖许可由 cargo-about 自动核算(配置见 script/licenses/zed-licenses.toml,CI 强制校验)。

  • GPL 义务:分发 Zed(或修改版)时须随附许可证文本、提供完整对应源码(含你修改的部分)并保留版权声明;闭源产品内部使用不受 GPL 传染,但对外分发二进制必须开源对应源码。

  • 商标与品牌:GPL 只覆盖代码,不授予 "Zed" 名称与 Logo 的商标使用权;再分发修改版时不应使用 Zed 官方品牌标识让用户误以为是官方版本。第三方打包还应通过 ZED_UPDATE_EXPLANATION 关闭指向官方更新通道的自动更新,避免破坏发行版包管理。

  • AI 服务与付费:编辑器本体与"自备 API Key"路径免费;Zed 托管模型与官方 Edit Prediction 需要 Pro 订阅(含每月 5 美元 token 额度,超额按官方模型页列价 +10% 计费,可在 Billing 页设月度消费上限);另有 Student(学生一年免费、每月 10 美元额度)与 Business(组织管控、合并账单)方案,价格以 zed.dev/pricing 为准。

  • 数据隐私与出网:Agent 的 点赞/点踩会把整个会话线程(含你的消息、AI 回复与元数据)发送到 Zed 服务器——不希望数据上云就别评分;遥测与部分联网服务可在设置中关闭;MCP / External Agent / Terminal Thread 会执行外部进程,工具调用默认 confirm,接入不可信 MCP Server 时保持审批或改 deny。

  • API Key 安全:Key 存系统钥匙串而非 settings.json;通过环境变量注入时注意 shell 配置文件与 CI 日志泄露风险;不要把 Key 写进项目 .zed/settings.json 提交到仓库。

  • 生产使用:Zed 迭代极快,企业环境建议锁定 stable 渠道并按需回滚(见第十章),将升级纳入变更管理。

附录:命令速查

# 安装
curl -f https://zed.dev/install.sh | sh                       # Linux/macOS 脚本安装
curl -f https://zed.dev/install.sh | ZED_CHANNEL=preview sh   # preview 渠道
curl -f https://zed.dev/install.sh | ZED_VERSION=0.216.0 sh   # 指定版本
brew install --cask zed                                       # macOS
winget install -e --id ZedIndustries.Zed                      # Windows
script/linux && ./script/install-linux                        # 源码构建安装(Linux)

# CLI
zed .                          # 打开目录
zed ssh://user@host/path       # SSH 远程项目
zed --foreground .             # 前台调试
zed --system-specs             # 系统规格
zed --version                  # 版本
zed --uninstall                # 卸载

# AI 环境变量
export ANTHROPIC_API_KEY=...   # 或 OpenAI/DEEPSEEK/OPENROUTER/GEMINI/XAI/OLLAMA/..._API_KEY

# 常用排障命令
vkcube                                          # Vulkan 自检(Linux)
dxdiag                                          # DirectX 自检(Windows)
sudo sysctl fs.inotify.max_user_watches=64000   # inotify 上限
GPUI_X11_SCALE_FACTOR=1.5 zed                   # X11 缩放
ZED_LOG=wgpu=info zed --foreground .            # GPU 日志
tail -f ~/.local/share/zed/logs/Zed.log         # 跟踪日志

# 源码构建
cargo run                  # debug 运行
cargo run -p cli           # 运行 CLI
cargo test --workspace     # 测试
./script/install-linux     # 安装本地构建

评论交流

文章目录