Skip to content

feat: 添加原生桌面 GUI 控制工具(截图 + 鼠标/键盘操作) #53

@ken2025001ai-pixel

Description

@ken2025001ai-pixel

背景

GenericAgent 目前通过 CDP Bridge 扩展实现了对浏览器内页面的完整控制(web_scan + web_execute_js)。但对于浏览器之外的原生 GUI 应用(Terminal、Finder、Office、其他桌面 App)目前还没有覆盖。

Claude Code 最近推出了 computer-use 内置 MCP 服务器,实现了对 macOS 桌面的完整 GUI 控制。该功能底层与 Anthropic API 的 computer_20250124 tool 同源,动作集包括:screenshotleft_clickright_clickdouble_clicktypekeyscrollzoom 等。

建议

ga.py 中新增两个工具并在 tools_schema.json 中注册:

do_screenshot()

  • 截取当前屏幕(或指定区域)
  • 返回 base64 图像,供 LLM 视觉理解当前桌面状态

do_desktop_action()

  • 接收动作类型和参数,执行鼠标/键盘操作
  • 支持动作:left_clickright_clickdouble_clicktypekeyscrollmouse_move
  • 依赖库:pyautoguipynput + Pillow(均已有跨平台支持)

优势

  1. 不绑定 LLM:GenericAgent 的文本协议天然支持任意 LLM,加上这两个工具后,所有已接入的后端(OpenAI、Claude、Gemini、xAI 等)都能使用桌面控制能力
  2. 跨平台潜力pyautogui 支持 macOS/Windows/Linux,覆盖面超过 Claude Code(仅 macOS)
  3. 与现有工具互补:浏览器内操作继续用 CDP Bridge(更精准),浏览器外用 desktop_action(更通用)

参考

  • Anthropic 官方开源参考实现:anthropic-quickstarts/computer-use-demo
  • Anthropic Computer Use API 文档:computer_20250124 tool 的完整动作集
  • Claude Code computer-use 文档(对比参考)

影响范围

  • ga.py:新增 do_screenshot()do_desktop_action() 方法
  • assets/tools_schema.json:注册两个新工具
  • requirements.txt(如有):添加 pyautoguiPillow 依赖

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions