SuperAPI AI 工具集

glass

glass 是一个用 Rust 编写的 MCP 服务器,为 AI 编程智能体提供对外部原生 GUI 应用的“构建→查看→交互→调试”闭环能力。它让智能体能够启动 GUI 应用、截取屏幕画面、注入鼠标和键盘输入、读取应用日志并检测视觉变化,从而独立完成 UI 应用的构建与调试,而无需反复询问用户“这样看起来对吗”。glass 以外部黑盒方式驱动应用,因此适用于任何工具包或语言编写的原生 GUI 应用。它提供 Linux(X11 和 Wayland)、Windows、Android(AVD 模拟器,通过 adb 从任意主机驱动)、iOS(模拟器,通过 xcrun simctl 和 idb_companion)以及 macOS 后端,并共享平台无关的核心。相同的输入工具在各后端通用。智能体可通过无障碍树复现 bug(无需截图)、修复代码并重新验证。glass 还支持会话证据记录(默认关闭),可通过 --trace-dir 启用,并用 glass-mcp trace inspect 和 trace export 验证和打包证据。安装方式为从 Releases 页面下载对应平台构建,并连接任意 MCP 主机。

访问官网

工具介绍

用途

glass 是一个 Rust 编写的 MCP 服务器,为 AI 编程智能体提供对外部原生 GUI 应用的闭环操作能力:构建 → 查看 → 交互 → 调试。它让智能体能够启动 GUI 应用、捕获屏幕内容、注入鼠标和键盘输入、读取应用日志并检测视觉变化,从而独立构建和调试 UI 应用,而不是反复询问用户“这样看起来对吗”。

主要能力

  • 启动与驱动:智能体可以启动 GUI 应用,并以外部黑盒方式驱动它,适用于任何工具包或语言编写的原生 GUI 应用。
  • 查看与验证:支持截图(glass_screenshot)、无障碍树快照(glass_a11y_snapshot)以及帧差异检测(glass_diff,返回 changed_pct 和 bbox 文本,常规检查无需消耗视觉 token)。
  • 交互:注入鼠标和键盘输入,支持点击、滚动和文本输入。glass_capabilities 配合 scope: "session" 可报告这些能力是否会影响你的桌面。
  • 元素查找:glass_find_elements 用于检查候选元素,当目标不唯一或不够明确时使用。
  • 日志读取:可以读取应用日志,辅助调试。
  • 会话证据记录:通过 --trace-dir 可选启用,保留工具输入和请求结果在有限存储中,之后可用 glass-mcp trace inspect 和 trace export 验证并打包证据为 ZIP。默认关闭,保留的应用内容可能包含敏感数据。

平台支持

glass 提供以下后端:

  • Linux:X11 和 Wayland 两个后端。
  • Windows:原生后端。
  • Android:AVD 模拟器,通过 adb 从任意主机驱动。
  • iOS:模拟器中的原生应用,通过 xcrun simctl,输入和无障碍树通过 idb_companion,包括双指捏合。
  • macOS:原生后端。

默认 Linux 显示和移动模拟器将输入与你的桌面分离;原生 Windows 和 macOS 目前共享输入。完整矩阵和系统要求见 docs/reference/platforms.md。传输方式为 MCP over stdio(默认)或网络 HTTP。

使用方式

  1. 从 Releases 页面下载对应平台的 glass 构建。
  2. 按照平台设置指南配置主机:Linux(docs/how-to/setup-linux.md,X11 或 Wayland;Xvfb / sway + bubblewrap)、Windows(docs/how-to/setup-windows.md,预构建 .exe + Sandboxie)、macOS(docs/how-to/setup-macos.md,安装公证的 .dmg,无需构建)、Android(docs/how-to/setup-android.md,AVD 模拟器,任意主机)、iOS(docs/how-to/setup-ios.md,模拟器,仅 macOS 主机)。
  3. 将 glass 连接到你的智能体,并运行 glass-mcp doctor 检查环境。
  4. 可选:使用 glass-mcp --tool-profile lean 减少智能体工具定义,用 glass_do 执行操作;用 glass-mcp tools --json 检查工具清单。
  5. 推荐安装开源的 glass-drive Agent Skill,帮助智能体更可靠地驱动 glass,避免在初始阶段重新发现“先廉价验证再查看”的循环。

示例:让智能体使用 glass 运行 examples/tasks-demo/tasks_demo.py(开启无障碍),复现“点击 Add 不添加任务”的 bug,通过驱动 UI 和无障碍树检查(而非仅截图)定位并修复代码中的 bug,然后验证任务确实出现。

适用场景

  • AI 编程智能体构建和调试原生 GUI 应用。
  • 需要自动化验证 UI 交互结果的场景。
  • 跨平台(Linux、Windows、macOS、Android、iOS)的 GUI 测试与调试。
  • 需要从无障碍树复现 bug 而无需截图的场景。
  • 需要记录和审查运行证据的场景(可选)。

限制

  • 对于没有无障碍树的画布或自定义渲染应用,需通过像素驱动(截图、点击坐标、差异检测)。
  • 原生 Windows 和 macOS 的输入会与桌面共享。
  • iOS 后端仅支持 macOS 主机。
  • 会话证据记录默认关闭,保留的应用内容可能包含敏感数据。
  • 具体平台能力支持程度(完整/部分/不支持/计划中)需参考 docs/reference/platforms.md。
  • glass 为开放核心,采用 Apache-2.0 许可。