
1. Zed 里没有智谱 provider为什么还要手动改 settings fileZed 的模型 provider 列表里没有智谱这件事本身不算大问题真正让人难受的是它的添加界面是一次性的。你在 LLM Providers 右边点加号填完 URL、API Key、模型名保存之后这个 provider 就固定下来了后续想改模型、改 token 上限、加一个新模型GUI 里找不到入口只能Ctrl Shift P打开 command panel输入 settings file进到配置文件里手改language_models.openai_compatible节点。我试过在 Zed 里接智谱 GLM 系列第一次配完能用过两天想加个glm-4.7-flash做轻量任务发现 GUI 里根本没有编辑按钮只能去翻 JSON。而且 Zed 对 openai_compatible 这一层的参数要求比较细api_url、available_models、max_tokens、max_output_tokens、max_completion_tokens这一串都得对齐少一个或者写错类型模型列表里就直接不显示也不给你明确报错。这篇要解决的就是这条链路Zed 没有智谱 provider我们通过openai_compatible手动加一个 provider 节点把api_url指向 TaoToken 的兼容入口模型名和三个 token 上限按 GLM 的实际窗口逐项填好让 Zed 的 chat、agent、commit message 生成都走同一条通道。TaoToken 在这里只负责提供 Key 和 Base URL不参与 Zed 的 tools、images 这些能力开关能力开关仍然由你在capabilities里自己声明。适合谁看已经在用 Zed、想接 GLM 或 DeepSeek v4 这类模型、又不想被 GUI 一次性配置卡住的人。下面从拿 Key 开始到改配置、验证请求、排错一步步来。2. 前置在 TaoToken 拿 Key 和 Base URL打开https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end注册账号进 console 创建一个 API Key。创建完之后你会拿到两样东西一个 Key一个 Base URL。Base URL 在 Zed 里填https://taotoken.net/api注意不要带结尾斜杠也不要自己拼/v1Zed 的 openai_compatible 会按它自己的规则去拼路径。Key 的入口在 console 的 API Keys 页面直接建一个就行。如果你后面要长期跑 agent 或者 coding 任务可以顺手看一下 Coding Plan 的入口它和按量 Key 是两条线按自己的用量选。注意TaoToken 只提供 Key 和 Base URLZed 里的 tools、images、parallel_tool_calls 这些能力开关是你自己在配置里写的不要指望服务端帮你开。拿到 Key 之后先别急着关页面后面验证请求的时候还要用。如果你习惯先确认模型通道是否通可以打开模型对话页面发一句短问确认chat_completions这条路径是活的再回到 Zed 里配。这一步不是必须但能帮你把「Key 问题」和「Zed 配置问题」分开。3. 可复制配置改 language_models.openai_compatible在 Zed 里按Ctrl Shift P输入 settings file回车进配置文件。找到language_models节点在openai_compatible下面新增一个 provider 节点。名字你可以自己起我这里用TaoToken方便和内置 provider 区分。language_models: { openai_compatible: { TaoToken: { api_url: https://taotoken.net/api, available_models: [ { name: glm-4.5-air, max_tokens: 200000, max_output_tokens: 65536, max_completion_tokens: 65536, capabilities: { tools: true, images: false, parallel_tool_calls: false, prompt_cache_key: false, chat_completions: true } }, { name: glm-4.6, max_tokens: 200000, max_output_tokens: 131072, max_completion_tokens: 131072, capabilities: { tools: true, images: false, parallel_tool_calls: false, prompt_cache_key: false, chat_completions: true } }, { name: glm-4.7-flash, max_tokens: 200000, max_output_tokens: 32768, max_completion_tokens: 32768, capabilities: { tools: true, images: false, parallel_tool_calls: false, prompt_cache_key: false, chat_completions: true } } ] } } }三个 token 参数的关系这里说清楚max_tokens是总上下文窗口max_completion_tokens是最大补全长度也就是输出长度max_output_tokens在 Zed 里和max_completion_tokens保持一致就行不用纠结它俩的语义差异。上面这份配置里glm-4.7-flash的max_tokens写 200000、输出写 32768是因为它窗口大但输出不需要拉满留出输入空间给代码上下文。capabilities里tools: true是给 agent 模式用的images: false是因为这几个模型不走视觉chat_completions: true是必须的否则 Zed 不会把它当成对话模型。如果你后面要加glm-4.6v这种视觉模型把images改成true同时把max_tokens降到 32768 左右视觉模型的窗口通常比纯文本小。改完保存回到 Zed 的 chat panel模型选择器里应该能看到TaoToken这个 provider 和下面挂的模型。如果没出现先检查 JSON 有没有语法错误Zed 对尾逗号很敏感。4. 验证请求Minimal 模式发一句短问配置保存后先切到 Minimal 模式。Minimal 模式不接入任何工具相当于把 Zed 当成一个纯粹的聊天 app非常省 token也最适合用来验证通道是否通。在 chat panel 里选TaoToken下的glm-4.7-flash发一句短问比如「用一句话说明什么是递归」。如果返回正常说明chat_completions这条路径已经通了Key、Base URL、模型名三者对得上。如果这里就报错先别去动 agent 配置回到第 5 节排查。通道确认之后再把 agent 节点里的default_model和commit_message_model指到同一个 provider。找到配置里的agent节点改成这样agent: { default_model: { provider: TaoToken, model: glm-4.6, enable_thinking: false }, commit_message_model: { provider: TaoToken, model: glm-4.7-flash, enable_thinking: false }, thread_summary_model: { provider: TaoToken, model: glm-4.7-flash, enable_thinking: false } }default_model用glm-4.6是因为 agent 写代码时需要更强的推理和工具调用commit_message_model用glm-4.7-flash是因为生成 commit message 只需要读 diff、输出短文本快且省。thread_summary_model同理用 flash 就够。配好之后在 Zed 里改一个文件打开 git panel点生成 commit message看它是不是走TaoToken这条通道返回了中文 commit。如果返回的是英文或者格式不对那是 prompt 的问题不是通道问题去 chat panel 右上角菜单里的 rules 改 commit message 的 prompt。5. 本篇常见错排查模型列表里看不到 TaoToken九成是 JSON 语法问题。Zed 的 settings file 是严格 JSON不允许注释、不允许尾逗号。把配置贴到任意 JSON 校验工具里过一遍确认available_models数组闭合正确。能看到模型但发消息报 401Key 没填或者填错位置。Zed 的 openai_compatible 节点本身不写 KeyKey 是在你第一次添加 provider 时通过 GUI 填进去的存在 Zed 的凭据存储里。如果你后来手动改了 provider 名字旧 Key 可能对不上重新在 GUI 里加一次 Key或者检查Ctrl Shift P里的 provider 设置。发消息报 404 或路径错误api_url写成了https://taotoken.net/api/v1或者带了结尾斜杠。改成https://taotoken.net/api让 Zed 自己拼路径。agent 模式能用但 commit message 生成失败检查commit_message_model的 provider 名是否和openai_compatible下的节点名完全一致大小写敏感。另外确认这个模型在available_models里存在Zed 不会自动帮你补。输出被截断max_completion_tokens设小了。GLM 系列输出上限可以到 131072但如果你用的是 flash 版本32768 通常够用。如果生成大段代码被截断把max_completion_tokens调大同时确认max_tokens留了足够空间。tools 调用报错capabilities里tools设成了true但模型实际不支持或者parallel_tool_calls设成了true但服务端不支持并行。把parallel_tool_calls改成falsetools保持true大部分 GLM 模型单工具调用是没问题的。6. 后续怎么接Key、文档、Coding Plan 三条线通道打通之后日常用起来就是三件事Key 管理、接入文档查阅、长期编码任务选对套餐。Key 和 Base URL 的入口在https://taotoken.net/api-keys换 Key、加 Key、看用量都在这里。Zed 里如果换了 Key记得在 provider 设置里同步更新否则会一直 401。接入文档在https://taotoken.net/doc里面会写清楚 openai_compatible 的路径规则、支持哪些参数、哪些能力开关是服务端认的。Zed 这边你只需要关心chat_completions和tools两个开关其他保持默认。如果你打算把 Zed 的 agent 当成日常主力跑大量代码生成和重构可以看一下 Coding Plan 的入口https://taotoken.net/coding-plan它和按量 Key 是分开的适合长期高频使用。模型对话的入口在https://taotoken.net/chat用来快速验证某个模型是否可用比在 Zed 里试错快。最后提醒一句Zed 的配置 GUI 确实不好用但 settings file 是它的真实配置源改完保存即时生效不用重启。把这份openai_compatible配置存一份到自己的 dotfiles 里换机器的时候直接贴过去比重新点 GUI 快得多。