把 Windows 桌面控制接进 4 款 AI Agent:Hermes、OpenCode、Claw 与 Claude 的实战架构

· 4 分钟 · 人工智能 windowsmcpai-agentshermesopencodeclaw-code

在多 Agent 协同的日常开发体系中,针对不同场景调度专用 Agent 已成为常态。在我管理的这台 Windows 工作站上,常驻着 4 款不同的 AI 代码助手:

虽然它们在编写代码、调用终端命令和修改文件上表现出色,但当面对没有 REST API 也没有 CLI 接口的老旧 Windows 客户端、系统级原生文件对话框或桌面弹窗时,它们默认都无法直接操作。

开源的 windows-mcp 正好填补了这一空白,它通过 Model Context Protocol 暴露了 Windows 原生 UIAutomation、鼠标键盘模拟以及窗口管理工具。以下是我如何在 4 个 Agent 客户端中统一接入并避免配置漂移的完整实录。


Python 3.14+ 运行基线

windows-mcp 有一个明确的硬性环境要求:必须使用 Python 3.14+。在 Windows 机器上手工安装多版本 Python 并维护软链接极易发生环境变量冲突。

最稳妥的方案是借助 uv 的瞬态执行器 uvx。各个 Agent 统一通过以下命令启动:

uvx windows-mcp serve

uvx 会按需拉取隔离环境、预装 PyWin32 与 Pydantic 依赖,通过标准输入输出(stdio)管道与 Agent 进程通信,完全不污染系统的全局 Python 环境。


1. Hermes Agent 接入

Hermes 内置原生 MCP 客户端,配置收敛在 ~/.hermes/config.yaml 中。

可以直接使用 Hermes CLI 的工具发现命令一键注册:

printf 'y\n' | hermes mcp add windows-mcp --command uvx \
  --env WINDOWS_MCP_CONTROL=false WINDOWS_MCP_SCREENSHOT_SCALE=0.5 WINDOWS_MCP_DISABLE_FLASH=1 WINDOWS_MCP_EXCLUDE_PROCESSES=Code.exe,Cursor.exe ANONYMIZED_TELEMETRY=false \
  --args windows-mcp serve --exclude-tools PowerShell,Registry

该命令会自动向 ~/.hermes/config.yaml 写入如下规范结构:

mcp_servers:
  windows-mcp:
    command: uvx
    args:
      - windows-mcp
      - serve
      - --exclude-tools
      - PowerShell,Registry
    env:
      WINDOWS_MCP_CONTROL: "false"
      WINDOWS_MCP_SCREENSHOT_SCALE: "0.5"
      WINDOWS_MCP_DISABLE_FLASH: "1"
      WINDOWS_MCP_EXCLUDE_PROCESSES: Code.exe,Cursor.exe
      ANONYMIZED_TELEMETRY: "false"

验证连接:

$ hermes mcp list
MCP Servers:
  Name             Transport              Tools    Status    
  ──────────────── ────────────────────── ──────── ──────────
  windows-mcp      uvx windows-mcp serve  all      ✓ enabled

2. OpenCode 接入

OpenCode 统一读取 ~/.config/opencode/opencode.jsonc 配置文件。

在根节点的 "mcp" 对象中追加 windows-mcp 本地服务配置:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "windows-mcp": {
      "type": "local",
      "command": ["uvx", "windows-mcp", "serve", "--exclude-tools", "PowerShell,Registry"],
      "enabled": true,
      "environment": {
        "WINDOWS_MCP_CONTROL": "false",
        "WINDOWS_MCP_SCREENSHOT_SCALE": "0.5",
        "WINDOWS_MCP_DISABLE_FLASH": "1",
        "WINDOWS_MCP_EXCLUDE_PROCESSES": "Code.exe,Cursor.exe",
        "ANONYMIZED_TELEMETRY": "false"
      }
    }
  }
}

验证 OpenCode 连接状态:

$ opencode mcp list
┌  MCP Servers
│
●  ✓ windows-mcp connected
│      uvx windows-mcp serve --exclude-tools PowerShell,Registry
│
└  1 server(s)

3. Claw Code (claw.exe) 接入

Claw Code(v0.1.7)支持在项目目录的 .claw/settings.json 或用户主目录的 ~/.claw/settings.json 中配置 MCP:

{
  "mcpServers": {
    "windows-mcp": {
      "command": "uvx",
      "args": [
        "windows-mcp",
        "serve",
        "--exclude-tools",
        "PowerShell,Registry"
      ],
      "env": {
        "WINDOWS_MCP_CONTROL": "false",
        "WINDOWS_MCP_SCREENSHOT_SCALE": "0.5",
        "WINDOWS_MCP_DISABLE_FLASH": "1",
        "WINDOWS_MCP_EXCLUDE_PROCESSES": "Code.exe,Cursor.exe",
        "ANONYMIZED_TELEMETRY": "false"
      }
    }
  }
}

在终端中验证 Claw Code 状态:

$ claw mcp
MCP
  Working directory C:\Users\workstation
  Configured servers 1
  Total entries     1
  Invalid entries   0

  windows-mcp      stdio         user    uvx windows-mcp serve --exclude-tools PowerShell,Registry

4. Claude Code 接入

Claude Code 的全局配置文件为 ~/.claude.json,结构与 Claw 完全兼容。直接将上述 windows-mcp 块镜像写入 ~/.claude.json 即可:

{
  "mcpServers": {
    "windows-mcp": {
      "command": "uvx",
      "args": ["windows-mcp", "serve", "--exclude-tools", "PowerShell,Registry"],
      "env": {
        "WINDOWS_MCP_CONTROL": "false",
        "WINDOWS_MCP_SCREENSHOT_SCALE": "0.5",
        "WINDOWS_MCP_DISABLE_FLASH": "1",
        "WINDOWS_MCP_EXCLUDE_PROCESSES": "Code.exe,Cursor.exe",
        "ANONYMIZED_TELEMETRY": "false"
      }
    }
  }
}

端到端实跑验收

在完成 4 处配置写入后,我编写了一段 Python 探针脚本,通过标准 mcp 客户端对真实工具进行了全链路测试:

  1. DisplayInventory:准确识别出本机双屏幕布局(1080p 主屏 + 1440p 扩展屏,虚拟桌面边界为 left: -313, top: -1440, right: 2247, bottom: 1080)。
  2. Screenshot:成功完成按 0.5 比例下采样的屏幕截图捕获,并如实返回了物理鼠标位置(1318, -714)。
  3. Notification:在 Windows 11 操作中心成功弹出发起一条原生 Toast 提示。

通过保持命令参数与环境变量在 4 款 Agent 之间的一致对齐,无论当前在哪一个终端或界面中工作,当代码与命令行无法触达原生桌面软件时,Agent 都能随时调起标准的桌面自动化工具。

🚀 企业智能化与业务自动化

想要一个 24/7 自动接单、发试用、不漏单的业务自动化系统?

别让夜间和周末的客户询盘因为“没人回”而流失给竞争对手。我帮中小企业定制 Telegram / WhatsApp 智能客服与全自动履约系统(打通商品库、CRM 与自动发货,无高昂 SaaS 人头费)。

Lee Teong Hoe

Lee Teong Hoe · Mr Hoelee

Full-stack developer & DevOps engineer based in Malaysia. I run my own production infrastructure and build web systems for small businesses — this blog is the living record.

Hiring? Profile & stack · Malaysian SME? Website design & development ↗ · All posts