集成

Windsurf (Devin Desktop)

在 Windsurf(Devin Desktop、Cascade)中两分钟完成 zn-gate 设置:将其添加为 MCP 服务器,以及目前尚未覆盖的内容。

查看 .md

快速开始(无需编程)

  1. 检查是否已安装 Node.js。 打开终端(在大多数编辑器中:菜单 Terminal → New Terminal;或使用电脑自带的终端应用),输入 node --version 并按回车。如果看到版本号(18 或更高),继续下一步。如果看到 "command not found",请从 nodejs.org 安装 LTS 版本,然后重启 Windsurf。

  2. 打开 MCP 配置文件:macOS 和 Linux 为 ~/.config/devin/mcp_config.json,Windows 为 %APPDATA%\devin\mcp_config.json。如果文件不存在,请创建它。(~ 表示你的用户文件夹。较早版本的 Windsurf 使用 ~/.codeium/windsurf/mcp_config.json,未经验证。)

  3. 粘贴以下内容:

    {
      "mcpServers": {
        "zn-gate": {
          "command": "npx",
          "args": [
            "-y",
            "zn-gate",
            "mcp"
          ]
        }
      }
    }

    如果文件中已经有 "mcpServers" 部分,只需将 "zn-gate": {...} 部分添加到其中。

  4. 保存文件,并在 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 文档