集成
Zed
两分钟内在 Zed 中设置 zn-gate:将其添加为 MCP 服务器,以及 zn-gate 在该处不覆盖的范围。
快速开始(无需编程)
-
检查是否已安装 Node.js。 打开终端(在大多数编辑器中:菜单 Terminal → New Terminal;或使用电脑自带的终端应用),输入
node --version并按回车。如果看到版本号(18 或更高),继续下一步。如果看到 "command not found",请从 nodejs.org 安装 LTS 版本,然后重启 Zed。 -
打开命令面板(Ctrl+Shift+P,在 Mac 上为 Cmd+Shift+P),输入 zed: open settings file 并按回车。
-
粘贴以下内容:
{ "context_servers": { "zn-gate": { "command": "npx", "args": [ "-y", "zn-gate", "mcp" ], "env": {} } } }如果文件中已有
"context_servers"部分,则只需将"zn-gate": {...}部分添加到其中。或者使用 Settings → AI → MCP Servers → Add Server → Add Local Server。 -
保存文件。
状态:这些步骤依据 Zed 的文档编写;我们尚未在 Zed 中亲自验证。
zn-gate 在 Zed 中保护什么,以及不保护什么
在 Zed 中,zn-gate 以 MCP 服务器的形式工作:智能体可以请求它检查提示词、工具调用或工具结果(analyze_prompt、check_tool_call、check_tool_result)。由智能体决定何时调用这些工具,因此仅靠这一点并不是自动防护。
| 在 Zed 中 | |
|---|---|
| 智能体可用的 zn-gate 检查(MCP) | 是 |
| 你的其他 MCP 服务器检查提示词注入和密钥 | 是,如果你对其进行包装(见下文) |
阻止读取 .env 和凭据文件 |
否 |
| 从 shell 输出和文件内容中移除密钥 | 否 |
| 阻止粘贴到聊天中的密钥 | 否 |
我们在 Zed 的文档中没有找到智能体钩子,因此 zn-gate 在那里只能以 MCP 服务器的形式工作。在 Zed 中,zn-gate 不会阻止读取你的 .env 或凭据文件,也不会从 shell 输出或文件内容中移除密钥。如果你目前需要这些功能,请在 Claude Code、Codex CLI、Cursor 或 OpenCode 中使用 zn-gate:参见 compat.md。
技术参考
配置文件位置
你的 Zed settings.json,键为 context_servers。
检查你其他 MCP 服务器的输出
要检查你在 Zed 中使用的其他 MCP 服务器的输出,请通过 zn-gate 启动每个本地服务器:将其命令替换为 npx,并在其原始命令和参数前加上 -y zn-gate shield --。例如,原本用 uvx mcp-server-fetch 启动的服务器会变为:
{
"context_servers": {
"fetch": {
"command": "npx",
"args": [
"-y",
"zn-gate",
"shield",
"--",
"uvx",
"mcp-server-fetch"
],
"env": {}
}
}
}
此后,该服务器的每个结果都会在智能体看到之前检查提示词注入,并移除 zn-gate 能识别的密钥。zn-gate init 会为 Claude Desktop、Claude Code、Cursor、Codex 和 OpenCode 自动执行此操作,但不会编辑 Zed 的设置。
Zed 文档
- Zed 中的 MCP:https://zed.dev/docs/ai/mcp