集成
Windsurf (Devin Desktop)
在 Windsurf(Devin Desktop、Cascade)中两分钟完成 zn-gate 设置:将其添加为 MCP 服务器,以及目前尚未覆盖的内容。
快速开始(无需编程)
-
检查是否已安装 Node.js。 打开终端(在大多数编辑器中:菜单 Terminal → New Terminal;或使用电脑自带的终端应用),输入
node --version并按回车。如果看到版本号(18 或更高),继续下一步。如果看到 "command not found",请从 nodejs.org 安装 LTS 版本,然后重启 Windsurf。 -
打开 MCP 配置文件:macOS 和 Linux 为
~/.config/devin/mcp_config.json,Windows 为%APPDATA%\devin\mcp_config.json。如果文件不存在,请创建它。(~表示你的用户文件夹。较早版本的 Windsurf 使用~/.codeium/windsurf/mcp_config.json,未经验证。) -
粘贴以下内容:
{ "mcpServers": { "zn-gate": { "command": "npx", "args": [ "-y", "zn-gate", "mcp" ] } } }如果文件中已经有
"mcpServers"部分,只需将"zn-gate": {...}部分添加到其中。 -
保存文件,并在 Cascade 面板中刷新 MCP 服务器(或重启应用)。
状态:以上步骤依据 Windsurf 官方文档编写,我们尚未在 Windsurf 中亲自验证。
zn-gate 在 Windsurf 中保护什么,不保护什么
在 Windsurf 中,zn-gate 以 MCP 服务器的形式工作:智能体可以请求它检查提示词、工具调用或工具结果(analyze_prompt、check_tool_call、check_tool_result)。由智能体决定何时调用这些工具,因此仅靠它本身并不是自动保护。
| 在 Windsurf 中 | |
|---|---|
| 智能体可使用的 zn-gate 检查(MCP) | 是 |
| 你的其他 MCP 服务器经过提示注入和密钥检查 | 是,如果你按下文方式进行封装 |
阻止读取 .env 和凭据文件 |
否 |
| 从 shell 输出和文件内容中移除密钥 | 否 |
| 阻止粘贴到聊天中的密钥 | 否 |
Cascade 提供钩子:pre_mcp_tool_use、pre_run_command 和 pre_read_code 可以阻止某项操作(退出码 2),但其文档并未说明钩子可以更改工具输出的方式,而且 zn-gate 目前尚未为 Cascade 安装钩子。因此,在 Windsurf 中,zn-gate 不会阻止读取你的 .env 或凭据文件,也不会从 shell 输出或文件内容中移除密钥。如果你目前需要这些功能,请在 Claude Code、Codex CLI、Cursor 或 OpenCode 中使用 zn-gate:参见 compat.md。
技术参考
配置文件位置
macOS 和 Linux:~/.config/devin/mcp_config.json。Windows:%APPDATA%\devin\mcp_config.json。
检查其他 MCP 服务器的输出
要检查你在 Windsurf 中使用的其他 MCP 服务器的输出,请通过 zn-gate 启动每个本地服务器:将其命令替换为 npx,并在其原始命令和参数前加上 -y zn-gate shield --。例如,原本用 uvx mcp-server-fetch 启动的服务器将变为:
{
"mcpServers": {
"fetch": {
"command": "npx",
"args": [
"-y",
"zn-gate",
"shield",
"--",
"uvx",
"mcp-server-fetch"
]
}
}
}
此后,该服务器的每个结果在智能体看到之前都会经过提示注入检查,并移除 zn-gate 能够识别的密钥。zn-gate init 会为 Claude Desktop、Claude Code、Cursor、Codex 和 OpenCode 自动完成此操作,但它不会修改 Windsurf 的设置。
Windsurf 文档
- Cascade 中的 MCP:https://docs.devin.ai/desktop/cascade/mcp
- Cascade 钩子:https://docs.devin.ai/desktop/cascade/hooks