☰
编辑预测离开免费计划?Zed 的 AI 补全替代方案与排查指南
2026/10/2 6:34:04 网站建设 项目流程

Zed 编辑器在官方公告中明确了一个变化:北京时间用户需要注意的 10 月 7 日节点之后,Edit predictions 将离开免费 Personal 计划。对许多把 Zed 当作日常主力编辑器的开发者来说,这意味着每天都会用到的 AI 编辑预测能力,从“开箱即用”变成了需要重新评估付费、自行接入模型、或者干脆关闭的功能。

这篇文章会围绕三个问题展开:Edit predictions 到底解决什么问题,为什么会被移出免费计划;10 月 7 日后有哪些可落地的替代配置;以及当预测不显示、Agent 面板打不开时,应该按照什么链路排查。如果你已经在用 Zed,这篇文章可以直接作为配置和排错参考;如果你只是听说过 Zed 的 AI 能力,文章也会解释清楚它和传统自动补全的区别。

1. 先理解 Edit predictions 与普通补全之间到底差在哪里

1.1 “编辑预测”解决的是什么问题

Zed 是一个主打低延迟和高性能的代码编辑器,但它并不只是“快”。在 AI 能力上,Zed 提供了一种叫做 Edit predictions(编辑预测)的功能。简单说,当光标停在代码中间时,编辑器会根据你最近的修改、文件内容、语法结构和工程上下文,预测你接下来要输入的文本,并以灰色幽灵文本显示在光标后面。按一下 Tab 键即可接受这段预测,按 Esc 忽略。

从用户体验上讲,这种交互有点像传统 IDE 的自动补全,但两者解决问题的层面不一样。自动补全通常面向“已知符号”的补全,例如变量名、函数名、方法名、枚举值。这些候选一般来自语言服务器(LSP)的索引,编辑器只需要在本地查询符号表,速度很快,但基本不具备“生成一段新的业务逻辑”的能力。

Edit predictions 面向的是“当前光标处最可能的后续编辑”。它不只是补全一个单词,而是可能补全一个参数列表、一条 if 分支、一段样板代码,甚至是一个完整的小函数。它也不要求你主动按快捷键,而是在你停顿时自动出现。

一个典型的例子是:

def get_user_info(user_id): user = db.query(User).filter(User.id == user_id).first() if user is None: raise ValueError(f"user {user_id} not found") # 光标停在这里时,模型可能会预测下一句: # return {"id": user.id, "name": user.name, "email": user.email}

本地 LSP 能给到user.id、user.name的补全,但很难基于注释和上下文补出return {"id": user.id, "name": user.name, "email": user.email}这一整句。这类能力依赖大语言模型对代码语义的理解,而不是纯符号索引。

1.2 Edit predictions 与 Copilot 风格补全的差异

很多开发者会把 Edit predictions 和 Copilot 风格的代码补全混为一谈,因为它们在外观上都是灰色 ghots text。实际使用中,两者有如下差异:

对比项传统自动补全Copilot 风格补全Zed Edit predictions
触发方式输入时由 LSP 触发暂停输入后触发暂停输入后触发,偏向“编辑中的连续预测”
数据来源当前文件、语言服务器索引模型根据上下文生成模型根据最近编辑生成
生成粒度单词、短片段多行代码往往与最近的编辑动作关联,适合重复性修改
是否需要远程模型通常不需要需要默认需要远程模型,也可以接本地模型
主要成本本地 CPU/内存API 推理API 推理,免费计划下被逐步限制

需要特别注意的是,Zed 的 Edit predictions 并不是一个简单的“续写”功能。它更关注“你已经改了哪里,接下来大概率还要改哪里”。例如你正在把一组旧的函数调用改成新的参数结构,模型可能会预测你下一个光标位置需要的改动,而不是单纯按当前行往下补。

这种“编辑意图预测”的效果,往往比单纯补全一整段代码更让人感觉自然,但也意味着模型需要在每个编辑停顿点做推理。推理不是免费的,这在后面会直接影响功能的收费标准。

1.3 为什么免费计划养不起这个功能

Zed 的定位是“可协作的高性能编辑器”,它的免费 Personal 计划在过去一段时间内提供了很多 AI 能力,包括 Edit predictions。但从工程成本角度看,这类功能面临几个现实问题:

  • 每个预测请求都要把代码上下文发送到模型服务端。
  • 模型服务端需要 GPU 推理,请求量大时成本会迅速上升。
  • 免费用户如果高频触发预测,会造成大量无效请求,浪费算力。
  • 免费版很难做精细的限流,因为用户可能开着编辑器长时间不动,也可能在短时间内连续编辑。

所以,当官方说 Edit predictions 将离开免费 Personal 计划时,本质上是在做成本边界和产品分层。对于个人开发者和学习用途,这个变化确实会带来不便,但从产品逻辑上并不难理解:高频、重算力的功能不会永远由免费计划承载。

注意:这里的“离开免费计划”并不意味着功能被下线。它只是从默认免费额度中剥离,用户仍然可以通过付费套餐、自带模型接口或本地模型继续使用。

2. 10 月 7 日计划调整会影响哪些人

2.1 Personal 免费计划的边界

从标题信息看,Zed 是把 Edit predictions 从“免费 Personal 计划”中移出,而不是从 Zed 中移出。这意味着,如果你现在使用的是最基础的免费个人账户,10 月 7 日之后将无法继续使用由 Zed 托管模型的 Edit predictions 服务。

这里有一个容易混淆的点:Zed 本身是开源编辑器,你依然可以免费下载、免费编辑代码、免费使用本地功能,例如 LSP、多光标、Vim 模式、Git 集成等。受影响的只是“云端模型推理”这一层。

对普通开发者来说,直观变化是:升级到新版本或计划生效后,打开一个项目,光标停在代码中间,却不再出现 Edit predictions 的灰色预测。此时编辑器不会报错,不会弹出付费墙,只是功能静默消失。很多用户会误以为是配置坏了,其实只是免费额度里不再包含这个模型服务。

2.2 已经付费的用户会怎样

如果你的账户已经处于 Zed 的 Pro 或更高级套餐,通常不会受这次调整影响。Edit predictions 仍然由 Zed 托管的模型提供,你也不需要自己配置模型地址。

不过要注意,不同套餐包含的 AI 额度可能不同。即使你付费了,也可能存在月度请求上限、频率限制或模型版本差异。对于重度用户,需要在 Zed 的设置里查看当前计划对应的用量统计,而不要想当然认为“只要付费就完全无限制”。

2.3 哪些场景其实不受影响

以下几类场景并不会因为 Personal 计划调整而失效:

  • 本地生成的代码补全:来自 LSP 的自动补全,例如 Rust Analyzer、TypeScript Language Server,完全不依赖 Zed 云端模型。
  • 你自己接入的模型服务:如果你在设置中配置了自己的 API Key、Ollama 本地模型或其他 OpenAI 兼容接口,Edit predictions 仍然可以继续工作。
  • 通过快捷键手动触发的 AI 功能:例如 Assistant Panel、Inline Chat 等,如果这些功能没有跟着计划调整,就仍然可以使用。

所以,与其把这看作“功能没了”,不如把它看作“默认模型服务不再免费”。对愿意折腾的开发者来说,这反而是切换到本地模型或者自带 API 的机会。

3. 先确认你的 Zed 当前版本和 AI 配置入口

3.1 版本检查:为什么先看版本再改配置

Zed 的迭代速度很快,不同版本的设置项和 AI provider 配置可能不同。网上很多配置示例来自旧版本,直接复制到新版可能不生效。所以在做任何配置之前,先确认版本。

在 Zed 中打开命令行面板:

Ctrl/Cmd + Shift + P

输入Zed: About,可以查看当前版本号。也可以在终端运行:

zed --version

常见输出类似:

Zed 2.1.4 (123456)

这里的2.1.4是版本号,123456是构建号。如果后续配置项和本文示例不一致,优先以你本地版本的官方文档为准。不要盲目相信博客文章,包括这一篇。

3.2 配置入口:settings.json 和命令行

Zed 的配置主要通过settings.json完成。打开方式还是命令面板:

Zed: Open Settings

或者在终端直接打开用户级配置文件。Zed 会创建配置文件目录:

  • macOS:~/Library/Application Support/Zed/settings.json
  • Linux:~/.local/share/zed/settings.json
  • Windows:%APPDATA%\Zed\settings.json

修改settings.json后,通常不需要重启 Zed,大多数配置会热生效。但如果遇到配置修改后仍然不生效,可以先执行Zed: Reload Workspace,或者重启 Zed 再验证。

3.3 网络策略:Zed 需要访问哪些服务

如果你依赖 Zed 托管的模型,那么 Zed 进程需要能够连接到对应的 API 域名。如果网络环境受限,请求可能超时,表现为 Edit predictions 迟迟不出现。

常见的排查方法是查看 Zed 自己的日志,而不是只看系统网络。Zed 会在日志中记录 AI 请求失败的原因,包括 DNS 解析失败、TLS 错误、HTTP 状态码超时等。关于日志位置,放在第 6 章详细展开。

注意:如果你在企业内网或沙箱环境使用 Zed,建议先确认防火墙是否放行了 Zed 的 AI 服务地址,再排查配置问题。否则配置再正确,请求也会在网络上失败。

4. 把 Edit predictions 切换为自带 API Key 或本地模型

4.1 配置 provider 的基本结构

在 Zed 中,编辑预测的配置通常位于settings.json的edit_predictions字段下。新版 Zed 的配置结构大致如下:

{ "edit_predictions": { "mode": "automatic", "provider": "your-provider-name", "model": "your-model-id" } }

字段含义:

  • mode:控制 Edit predictions 的触发方式。常见值是manual或automatic。如果设置为automatic,只要满足条件就会自动显示预测;如果设置为manual,可能需要通过快捷键或命令触发。
  • provider:指定模型服务提供方。常见值包括zed、ollama、anthropic、openai,以及一些兼容 OpenAI 接口的自定义 provider。
  • model:指定模型 ID。不同 provider 的模型 ID 不一样。

Zed 的具体字段名和可选值会随版本调整,所以你需要在配置前先确认当前版本支持哪些 provider。不要直接照搬别人的配置,特别是 model 名称。

4.2 使用本地 Ollama 作为预测后端

如果你不想付费,也不想把代码发送到云端,最简单的方式是使用 Ollama 在本地运行一个代码模型。Ollama 启动后默认监听http://localhost:11434,Zed 可以通过 OpenAI 兼容接口访问它。

第一步,安装 Ollama 并拉取模型。以qwen2.5-coder这种常见代码模型为例:

ollama pull qwen2.5-coder:7b

第二步,确认 Ollama 服务已经启动:

ollama serve

如果需要常驻后台,可以设置系统服务或使用 Docker。不建议直接在终端里长时间占用前台进程。

第三步,在 Zed 的settings.json中配置:

{ "edit_predictions": { "provider": "ollama", "model": "qwen2.5-coder:7b" } }

如果 Zed 的版本要求使用 OpenAI 兼容 URL,你可以配置一个自定义 provider,指向:

http://localhost:11434/v1

例如:

{ "edit_predictions": { "provider": "custom", "model": "qwen2.5-coder:7b", "base_url": "http://localhost:11434/v1", "api_key": "ollama" } }

不同版本对base_url的字段名可能不同,有的叫endpoint,有的叫base_url。如果修改后不生效,优先查看 Zed 日志中的请求错误。

使用本地模型时要注意硬件条件。7B 模型量化后至少需要 6 GB 左右的内存,如果同时打开浏览器和 IDE,建议 16 GB 内存起步。模型过大会导致首 token 延迟很高,Edit predictions 反而变成负担。

4.3 使用其他兼容 OpenAI 的接口

如果你有第三方模型服务的 API Key,也可以把 Edit predictions 指向自己的账户。这样代码会发送到该服务的服务器,适合对隐私要求不高、但希望获得更好模型质量的场景。

配置示例:

{ "edit_predictions": { "provider": "openai", "model": "gpt-4o-mini" } }

如果你的模型服务提供了 OpenAI 兼容协议,但域名不是官方域名,那么通常还需要配置base_url和密钥环境变量。Zed 支持从环境变量中读取 API Key,例如:

export OPENAI_API_KEY="sk-..." export OPENAI_BASE_URL="https://your-api.example.com/v1"

然后把 provider 配置为对应名称。要注意,不要把自己的 API Key 硬编码到settings.json中,尤其不要提交到 Git 仓库。推荐使用环境变量或 Zed 的密钥管理方式。

4.4 别忘了关闭 Zed 托管的预测开关

切换 provider 后,一个常见问题是:旧配置仍然生效,或者 Zed 默认还是会先请求自己的服务。遇到这种情况,可以先确认是否还有旧配置残留。

比如原先配置是:

{ "edit_predictions": { "provider": "zed", "model": "zed-edit-predictions" } }

切换后没有删除旧字段,导致 Zed 读取到了两个互相冲突的配置。JSON 对象不允许重复键,所以通常不会同时存在,但如果你是从旧版本升级,可能会存在项目级配置与用户级配置的叠加。项目级配置的优先级更高,如果项目里.zed/settings.json中写了旧的 provider,用户级的本地配置会被覆盖。

排查方法就是分别查看用户级和项目级配置,确认没有旧 provider 残留。

推荐做法:切换配置后,先执行Zed: Reload Workspace,再打开一个文件,光标停在代码中间,观察是否出现灰色预测。如果没有,再到日志里看请求是否成功。

5. 保留免费体验的替代路径

5.1 用普通自动补全 + 快捷键触发 AI

如果你不想为 Edit predictions 单独配置模型,也可以退回到传统自动补全:LSP 提供的补全依然免费,而且对于变量、函数、类名足够可靠。缺点是它不具备“编辑意图预测”能力,不会自动补出整段逻辑。

你可以把 AI 能力改成手动触发。Zed 的 Assistant Panel、Inline Chat 或类似功能可以选中代码后直接向模型提问。这种方式不需要在每次停顿时都发送请求,成本更低,也不会被打断。

5.2 使用内联聊天或 Assistant 面板

如果 Edit predictions 不可用,但你还想快速生成代码片段,可以:

  1. 选中一段代码或把光标放到目标位置。
  2. 打开 Assistant Panel。
  3. 输入类似“把这段代码改成异步版本”的指令。
  4. 将返回结果插入文件。

这样虽然不像 Edit predictions 那样“自动出现”,但胜在可控。它在部分场景下甚至比自动预测更高效,因为你主动描述意图,模型能更准确理解要做什么。

5.3 降级后的编辑器体验如何调整

失去 Edit predictions 后,编辑体验会有变化,但不一定变差。很多 Zed 用户可以配合以下习惯来维持效率:

  • 开启多光标编辑和列选择,减少重复字符输入。
  • 使用 LSP 的重命名、跳转定义、快速修复等功能。
  • 为高频代码块配置 Snippet,例如for、fn、if的补全。
  • 在需要生成较长逻辑时,直接打开 Assistant Panel 或 Inline Chat,而不是等待自动预测。

对于追求效率的开发者,这套组合在大多数日常场景下并不比 Edit predictions 慢。Edit predictions 更适合特定模式:连续修改结构相似的代码,例如批量替换、批量补充字段。

6. 常见问题排查:Predictions 不显示、Agent 面板不出现

6.1 排查顺序:开关、Provider、模型、日志

当 Edit predictions 不显示时,不要先怀疑软件坏了,按下面顺序排查:

  1. 确认当前计划在 10 月 7 日后是否包含 Edit predictions。如果你用免费 Personal 计划且没有配置自定义 provider,那么不显示是预期行为。
  2. 确认settings.json中edit_predictions配置存在,且没有拼写错误。
  3. 确认 provider 名称匹配 Zed 当前版本支持的写法。
  4. 确认模型名称存在。使用 Ollama 时,可以用ollama list查看已拉取模型。
  5. 查看 Zed 日志,搜索edit prediction、prediction、completion等关键字。

下面是常用的日志位置:

平台日志目录
macOS~/Library/Application Support/Zed/logs/
Linux~/.local/share/zed/logs/
Windows%APPDATA%\Zed\logs\

查看最近日志:

tail -f ~/.local/share/zed/logs/zed.log

如果日志中出现连接被拒绝,说明模型服务没有启动或端口不对;如果出现 401,说明 API Key 无效;如果出现 429,说明触发了限流。

6.2 Zed Agent 不显示时的重点检查

有些用户搜索“zed agent 不显示”,这个问题和 Edit predictions 不一定相同,但都会造成“AI 功能消失了”的观感。Agent 面板不显示,通常和以下因素有关:

  • 当前版本没有开启 Agent 入口。
  • 当前项目类型或语言没有可用的 Agent 上下文。
  • 网络请求失败,导致面板无法加载模型状态。
  • 快捷键绑定被覆盖,命令面板也找不到对应命令。

建议先从命令面板搜索:

Zed: Open Agent

如果命令存在但执行后无反应,查看日志。如果命令本身不存在,可能是版本太旧或构建版本不包含 Agent 功能。

不要同时打开大量设置项去猜,日志里会有更明确的信息。如果没有日志关键字,就先更新 Zed 到最新稳定版,再验证一次。

6.3 日志怎么看:从现象倒推到原因

以一个常见场景为例:Edit predictions 一直不出现,日志里出现:

request to ollama failed: connect ECONNREFUSED 127.0.0.1:11434

说明 Ollama 没有运行,或者端口被占用。解决方式是启动 Ollama:

ollama serve

另一个场景:日志里出现:

model not found: qwen2.5-coder:7b

说明模型没有拉取,运行:

ollama pull qwen2.5-coder:7b

还有一个容易忽略的问题:Ollama 只绑定了127.0.0.1,而 Zed 配置中写的地址是localhost。大多数时候两者等价,但如果系统对localhost解析为 IPv6 的::1,而服务只监听 IPv4,就会出现连接失败。此时可以显式写成:

http://127.0.0.1:11434/v1

这些排查方式对所有基于 HTTP 的模型服务都适用。记住一个原则:先确认请求有没有发出去,再确认响应是什么,最后才去怀疑 UI 渲染问题。

7. 中文使用场景与配置建议

7.1 中文输入法下候选框和快捷键冲突

在 Zed 中输入中文时,有些用户会遇到输入法候选框不跟随光标、候选框消失、或者误触 Tab 键接受预测后却把中文上屏等问题。这其实和 Edit predictions 的交互有直接关系。

当输入法处于中文输入状态时,按下 Tab 键本意是切换候选词或输入法行为,但 Zed 可能会把 Tab 解释为“接受 Edit predictions”。因此,使用中文输入法时,建议把编辑预测的接受键从 Tab 改成其他按键,或者在使用中文输入时切换到普通模式。

如果你依赖 Tab 接受预测,又经常输入中文,可以在中文输入法下关闭 Edit predictions,需要时再手动打开:

{ "edit_predictions": { "mode": "manual" } }

manual模式下,预测不会自动出现,需要主动触发,这样可以避免中文输入时的误操作。

7.2 编辑器语言和拼写检查如何设置

Zed 历史上并没有像某些编辑器那样提供完整的简体中文界面包,最新版本是否加入简体中文支持,要以官方发布说明为准。如果你看到网络热词“zed 设置中文”,大概率指的是中文输入法配置,而不是界面语言。

如果需要在编辑器内正确处理中文注释的拼写检查,可以在设置中关闭英文拼写检查或把中文词库加入词典,否则中文注释会被标记为拼写错误。这是体验问题,和 Edit predictions 没有直接关系。

建议在settings.json中检查与spellcheck相关的配置,关闭对中文文件的长篇警告,避免视觉噪声影响预测结果的阅读。

7.3 不要混淆 Zed 编辑器与 Zed 单目相机

部分搜索热词里包含“zed 单目相机”,这里需要提醒一句:那是 Stereolabs 公司的 Zed 系列深度相机,和本文讨论的 Zed 代码编辑器是不同产品。

两者的配置文件、 SDK、生态完全不同。如果你搜索 Zed 的 AI 配置却看到了相机标定、深度图、SLAM 之类的内容,说明搜到了错误产品。请确认你的标题关键词是:

Zed editor Edit predictions Zed AI settings

这个区分对排查问题很重要,因为很多中文资料会把两者混在一起,导致你花了很长时间找不存在的“Zed 相机编辑预测”。

8. 迁移到付费或降级成免费方案的检查清单

8.1 决策前要评估的三个指标

在 10 月 7 日之前,建议先判断自己是否真的需要 Edit predictions。可以从三个指标评估:

  • 触发频率:你每天在编辑代码时,有多少次会停下来等待预测?如果很少,完全不需要付费。
  • 可接受延迟:你希望预测在多少毫秒内出现?本地模型的 7B 量化版本第一次加载可能较慢,之后延迟尚可,但和 Zed 托管的高性能模型相比仍有差距。
  • 隐私要求:代码片段是否会发送到第三方模型服务?如果公司要求代码不出内网,本地模型几乎是唯一选择。

把这三点列成表,决策会清晰很多。

8.2 迁移检查清单

无论你是升级套餐,还是转向本地模型,都可以按下面清单执行:

检查项操作
备份配置复制现有settings.json,确认可回滚
确认版本查看 Zed 版本号,记录当前构建号
选择 provider决定是zed托管还是ollama或自定义接口
设置模型确认模型名称、API 地址、API Key 来源
运行验证打开项目,停顿触发预测,确认灰色文本出现
查看日志检查是否有错误请求、超时、鉴权失败
输入法回归切换中文输入法,测试 Tab 键是否冲突
回滚预案如果效果不达预期,保留旧配置方便恢复

每次调整后只改一个变量,不要一次性把所有配置都改掉,否则出问题后很难定位。

8.3 后续关注点

10 月 7 日之后,建议留意以下几点:

  • 官方是否把 Edit predictions 并入其他套餐,或者调整了免费额度。
  • Zed 是否支持在免费计划中继续体验“每分钟有限次”的预测。
  • 本地模型生态是否有更适合 Zed 的新模型,比如更小的参数、更快的推理、更好的代码生成质量。
  • 你的团队是否统一使用 Zed,是否需要把配置和模型服务做成团队级方案。

对于多数个人开发者,第一条建议其实是:不要急着付费。先把本地模型跑通,体验一个完整工作日后,再决定是否值得为托管预测付费。毕竟 Edit predictions 是很强,但其它编辑方式也足以维持高效工作。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询