一个由视觉语言大模型驱动的计算机控制代理,能够让AI通过观察屏幕截图并输出鼠标键盘操作来与GUI交互,完成多步骤任务。
一分钟了解#
ScreenAgent是一个创新的环境,让视觉语言模型代理能够与真实计算机屏幕交互。在这个环境中,代理可以观察屏幕截图并通过输出鼠标和键盘操作来操控GUI。它包含自动控制流程(规划、行动、反思三个阶段),引导代理持续与环境交互并完成多步骤任务。
核心价值:将大型视觉语言模型转化为能够实际操作计算机的智能代理,实现高度自动化的GUI任务执行。
快速上手#
安装难度:中 - 需要Python环境和相关依赖,支持多种VLM后端
# 克隆项目
git clone https://github.com/niuzaisheng/ScreenAgent.git
cd ScreenAgent
# 安装依赖(根据具体backend选择)
pip install -r requirements.txt
适合我的场景吗?
- ✅ 自动化重复性计算机任务:如数据录入、表单填写、信息整理
- ✅ UI测试与自动化:自动化测试应用程序的用户界面
- ❌ 需要极高精度和可靠性的关键任务:如金融交易系统操作
- ❌ 资源受限环境:需要较高计算资源运行VLM后端
核心能力#
1. 视觉语言模型集成 - 理解屏幕内容#
支持多种VLM后端,包括GPT-4V、LLaVA、CogAgent和ScreenAgent自身,使代理能够理解屏幕内容并作出决策。 实际价值:无需特定编程,AI能"看懂"屏幕并作出相应操作,大幅降低GUI自动化门槛。
2. 多步骤任务执行 - 复杂任务分解#
通过规划、行动、反思的自动控制流程,将复杂任务分解为多个可执行步骤。 实际价值:能够完成需要多次交互的复杂任务,如"在网页上搜索商品并下单",而非简单的单步操作。
3. 屏幕数据集构建 - 任务学习基础#
收集完成各类日常计算机任务时的屏幕截图和操作序列,为模型学习和改进提供基础。 实际价值:通过真实场景数据训练,提升代理在实际应用中的表现和泛化能力。
技术栈与集成#
开发语言:Python 主要依赖:PyQt5(控制器),多种VLM后端(GPT-4V、LLaVA、CogAgent、ScreenAgent) 集成方式:作为库使用,也可通过Web客户端体验
维护状态#
- 开发活跃度:高 - 项目已被IJCAI 2024会议接受,并持续更新
- 最近更新:近期发布了ScreenAgent Web客户端,提供更简单的桌面控制体验
- 社区响应:作为学术研究项目,正在获得学术界关注
商用与许可#
许可证:MIT(代码),Apache-2.0(数据集),CogVLM License(模型)
- ✅ 商用:允许(MIT/Apache-2.0)
- ✅ 修改:允许(MIT/Apache-2.0)
- ⚠️ 限制:需遵循各组件的特定许可证要求
文档与学习资源#
- 文档质量:综合 - 包含详细的README和学术论文
- 官方文档:https://github.com/niuzaisheng/ScreenAgent
- 示例代码:提供使用示例和Web客户端体验
- 研究论文:https://arxiv.org/abs/2402.07945