OpenProgram Docs

GUI Agent#

给一句自然语言任务,它自主操作桌面:截图、识别界面组件、点击、输入、验证结果,循环直到任务完成或达到步数上限。适用于本机桌面,也可以通过 VM 接口操作远程虚拟机。感知层是 YOLO 组件检测(GPA-GUI-Detector)+ OCR(macOS 用 Apple Vision,Linux / Windows 用 EasyOCR)+ 模板匹配;动作层覆盖鼠标、键盘、剪贴板。在 OSWorld 基准的 Multi-Apps 子集上得分 79.8%(结果)。

安装#

openprogram programs install gui

这是三个第一方 workflow 里最重的一个:依赖包含 torch / torchvisionopencv-pythonultralyticseasyocrpynput 等。在无 GPU 的 Linux 上会自动选择 CPU 版 torch wheel(约 300 MB),而不是约 3 GB 的 CUDA 构建。

pip 依赖之外还需要模型文件——YOLO 检测器权重(经 huggingface-hub 下载)和 OCR 模型不在 PyPI 上。安装完成后运行 harness 自带的安装器获取它们:

openprogram/functions/agentics/GUI-Agent-Harness/scripts/install.sh --no-host
# Windows: ...\scripts\install.ps1 -NoHost

怎么用#

入口函数名为 gui_agent,以工具形式(as_tool=True,toolset harness)注册,聊天里直接描述桌面任务即可触发,例如"打开 Firefox 并访问 google.com"。

命令行直接运行:

openprogram programs run gui_agent -a task="Open Firefox and go to google.com"

参数(函数签名 gui_agent(task, max_steps=15, app_name="desktop", ...)):

参数 说明
task 要做什么(自然语言)
max_steps 放弃前的最大动作数,默认 15,可选 5 / 10 / 15 / 30
app_name 用于组件记忆的应用名,如 firefoxlibreoffice_calc,默认 desktop

每一步执行 观察(截图 + 组件检测 + 状态识别)→ 验证上一步结果 → 规划下一动作 → 执行 → 构造下一轮反馈,步与步之间传递结构化反馈,进度不依赖 LLM 上下文记忆。已学过的界面转换会作为捷径复用(组件记忆)。

依赖注意#

  • PyTorch + OpenCV 体积大,安装耗时以分钟计;不需要 transformers / accelerate。
  • 模型权重是独立下载步骤(见上),漏掉它函数能注册但无法感知屏幕。
  • 平台:macOS / Windows / Linux;OCR 后端按平台自动选择。
  • 运行前需要 runtime 配置好工作目录(截图与运行记录写在那里)。

源码与 README:openprogram/functions/agentics/GUI-Agent-Harness/,上游仓库 Fzkuji/GUI-Agent-Harness

Last updated · 2026-08-13