OSWorld

GitHub
2.8k 440 较难 1 次阅读 今天Apache-2.0Agent插件开发框架语言模型其他
AI 解读 由 AI 自动生成,仅供参考

OSWorld 是一个专为评估多模态 AI 智能体而设计的开源基准测试平台,旨在让 AI 在真实的计算机操作系统环境中完成各种开放式任务。它解决了当前 AI 评估往往局限于静态数据集或简化模拟环境的问题,通过提供包含真实桌面操作(如文件管理、网页浏览、软件配置等)的动态测试场景,能够更准确地衡量 AI 代理在实际工作流中的规划与执行能力。

这款工具特别适合 AI 研究人员、开发者以及希望验证大模型落地能力的技术团队使用。其核心亮点在于构建了一个可交互的真实操作系统沙箱,支持 VMware、VirtualBox 乃至云端容器等多种部署方式,确保了测试环境的多样性与真实性。最新推出的"OSWorld-Verified"版本进一步优化了评估信号的有效性,并大幅提升了在 AWS 等云平台上的并行评估效率,将测试时间缩短至一小时以内。作为 NeurIPS 2024 的入选项目,OSWorld 以开放的姿态推动了具身智能与计算机操作自动化领域的研究进展,帮助社区更客观地对比不同模型的性能表现。

使用场景

某大型云服务商的 AI 研发团队正在评估新一代多模态智能体在真实操作系统中的任务执行能力,以优化其自动化运维助手。

没有 OSWorld 时

  • 测试环境失真:团队只能在模拟界面或静态截图中测试模型,无法验证智能体在真实 Linux/Windows 桌面环境中操作文件、点击按钮的实际效果。
  • 评估标准模糊:缺乏统一的开放型任务基准,不同成员设计的测试用例难度不一,导致模型性能对比困难,难以量化进步。
  • 部署成本高昂:手动搭建包含各种预置文件和特定状态的虚拟机耗时费力,每次复现测试环境都需要数小时的人工配置。
  • 反馈循环缓慢:由于环境重置困难,模型训练后的验证周期长,严重拖慢了从“代码提交”到“效果验证”的迭代速度。

使用 OSWorld 后

  • 真实环境交互:OSWorld 提供了基于 VMware 或 Docker 的真实计算机环境,智能体可以直接操作真实的鼠标、键盘和文件系统,测试结果极具说服力。
  • 标准化基准评测:利用其内置的开放型任务数据集,团队能够在一个公平、统一的维度上量化对比不同模型的处理能力,清晰识别优劣。
  • 一键环境初始化:通过预下载的镜像和自动化脚本,研究人员可在几分钟内完成复杂测试环境的搭建与重置,彻底消除了手动配置的繁琐。
  • 高效并行验证:借助 OSWorld-Verified 对 AWS 等云平台的支持,团队实现了大规模并行评估,将原本需要数天的评测工作压缩至 1 小时内完成。

OSWorld 通过将智能体测试从“纸上谈兵”升级为“实战演练”,极大地加速了多模态代理在真实计算环境中的落地进程。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

未说明 (依赖宿主机虚拟化支持,如 KVM 或 VMware/VirtualBox)

内存

未说明 (需满足宿主机运行虚拟机及并行评估的内存需求)

依赖
notes1. 核心依赖虚拟化软件:Linux/Windows 推荐安装 VMware Workstation Pro 或 VirtualBox;macOS (Apple Chip) 需安装 VMware Fusion。2. 服务器环境推荐使用支持 KVM 的 Docker 以获得更好性能,但 macOS 不支持 KVM。3. 部分任务需要配置 Google 账户 (OAuth2.0) 和网络代理。4. 支持 AWS 云架构进行大规模并行评估。5. 首次运行脚本会自动下载必要的虚拟机镜像。
python3.10+
desktop-env
requirements.txt 中列出的依赖
OSWorld hero image

快速开始

Banner

官网论文文档数据数据查看器Discord缓存


📢 最新动态

  • 2025-07-28:隆重推出 OSWorld-Verified!我们进行了重大更新,修复了社区反馈的多个问题,并进一步增强了对 AWS 的支持(通过并行化可将评估时间缩短至 1 小时以内),同时使基准测试信号更加有效。更多详情请参阅 报告。我们已在最新版本中运行了新的模型结果,并已同步更新至 官方网站。请在使用最新版本时,将您的 OSWorld 结果与新的基准测试结果进行对比。
  • 2025-05-01:如果您需要用于初始化状态的预下载文件,我们已为您准备好了此处
  • 2024-10-22:我们新增了对 Docker🐳 的支持,可在虚拟化平台上托管虚拟机。详细说明请见下文!
  • 2024-06-15:我们重构了环境部分的代码,以解耦 VMware 集成,并开始支持 VirtualBox、AWS、Azure 等其他平台。敬请期待!
  • 2024-04-11:我们发布了论文环境与基准测试以及项目主页。欢迎查阅!

💾 安装指南

VMware/VirtualBox(桌面、笔记本、裸金属服务器)

假设您当前使用的系统尚未进行虚拟化(例如您的桌面、笔记本电脑或裸金属服务器),即未在 AWS、Azure 或 k8s 等虚拟化环境中运行。 如果是这种情况,请按照以下步骤操作。但若您正在使用虚拟化平台,请参阅Docker部分。

  1. 首先,克隆本仓库并进入其中。随后安装 requirements.txt 中列出的依赖项。建议使用最新版 Conda 来管理环境,但您也可以选择手动安装依赖。请确保 Python 版本 ≥ 3.10。
# 克隆 OSWorld 仓库
git clone https://github.com/xlang-ai/OSWorld

# 进入克隆后的目录
cd OSWorld

# 可选:创建 OSWorld 的 Conda 环境
# conda create -n osworld python=3.10
# conda activate osworld

# 安装所需依赖
pip install -r requirements.txt

或者,您也可以不包含基准任务直接安装环境:

pip install desktop-env
  1. 安装 VMware Workstation Pro(对于搭载 Apple 芯片的系统,应安装 VMware Fusion),并配置 vmrun 命令。安装过程可参考 如何安装 VMware Workstation Pro。可通过运行以下命令验证安装是否成功:
vmrun -T ws list

若安装及环境变量设置成功,您将看到当前正在运行的虚拟机列表。

注意:如果您在使用 VMware Pro 时遇到问题,我们也支持使用 VirtualBox。不过,某些功能(如并行化和 Apple 芯片上的 macOS)可能无法得到良好支持。

至此,所有准备工作已完成!我们的设置脚本将自动下载所需的虚拟机并为您配置好环境。

Docker(支持 KVM 的服务器,性能更佳)

如果您运行的不是裸金属服务器,或者更倾向于不使用 VMware 和 VirtualBox 平台,我们推荐使用 Docker 支持。

前提条件:检查您的机器是否支持 KVM

我们建议使用支持 KVM 的虚拟机。要检查您的主机平台是否支持 KVM,请在 Linux 上运行:

egrep -c '(vmx|svm)' /proc/cpuinfo

如果返回值大于零,则说明您的处理器可以支持 KVM。

注意:macOS 主机通常不支持 KVM。如果您希望在 macOS 上运行 OSWorld,建议使用 VMware。

安装 Docker

如果您的主机平台配备了图形用户界面(GUI),您可以根据操作系统参考 在 Linux 上安装 Docker Desktop在 Windows 上安装 Docker Desktop。否则,您可以安装 Docker 引擎

运行实验

在初始化 DesktopEnv 时,请添加以下参数:

  • provider_name: docker
  • os_type: UbuntuWindows,具体取决于虚拟机的操作系统

注意:如果实验被异常中断(例如因信号中断),可能会留下残余的 Docker 容器,从而影响系统性能。请运行 docker stop $(docker ps -q) && docker rm $(docker ps -a -q) 进行清理。

AWS

利用云服务进行并行评估可以显著提升评估效率(通过并行化可将评估时间缩短至 1 小时以内),甚至可用作训练基础设施。 我们提供完善的 AWS 支持,采用“主机-客户端”架构,能够实现 OSWorld 任务的大规模并行评估。 有关详细的设置说明,请参阅 设置指南AWS 配置指南

其他

我们正在努力支持更多 👷。请耐心等待!

🚀 快速入门

运行以下最小示例即可与环境交互:

# 使用默认设置的基本用法
python quickstart.py

# 自定义提供商和虚拟机路径
python quickstart.py --provider_name vmware --path_to_vm "path/to/your/vm.vmx"

您将看到系统正常运行的所有日志,包括环境成功创建、设置完成以及操作成功执行。最后,您会观察到屏幕上成功执行了右键单击操作,这意味着您可以开始使用了。

🧪 实验

代理基线

⚠️ 重要配置要求:

  • Google 账号任务:部分任务需要 Google 账号访问权限及 OAuth2.0 配置。请参阅 设置指南 - Google 账号设置 获取详细设置说明。
  • 代理配置:某些任务可能需要配置代理才能正常运行(这取决于网站针对您所在网络位置的防御强度)。请参阅 设置指南 - 代理配置
  • 缺少配置的影响:如果未正确配置上述内容,相应任务将无法正常执行,导致评估分数降低。

如果您希望运行我们论文中使用的基线代理,可以在 GPT-4o 纯截图设置下执行以下命令作为示例:

使用您的 API 密钥设置 OPENAI_API_KEY 环境变量:

export OPENAI_API_KEY='changeme'

可选地,设置 OPENAI_BASE_URL 以使用自定义的 OpenAI 兼容 API 端点:

export OPENAI_BASE_URL='http://your-custom-endpoint.com/v1'  # 可选:默认为 https://api.openai.com

单线程执行(已弃用,以 vmware 提供商为例):

python run.py \
    --provider_name vmware \
    --path_to_vm Ubuntu/Ubuntu.vmx \
    --headless \
    --observation_type screenshot \
    --model gpt-4o \
    --sleep_after_execution 3 \
    --max_steps 15 \
    --result_dir ./results \
    --client_password password

并行执行(示例展示切换提供商为 docker):

python scripts/python/run_multienv.py \
    --provider_name docker \
    --headless \
    --observation_type screenshot \
    --model gpt-4o \
    --sleep_after_execution 3 \
    --max_steps 15 \
    --num_envs 10 \
    --client_password password

在此情况下,结果(包括截图、动作记录和代理完成任务的视频录制)将保存在 ./results(或您指定的其他 result_dir)目录中。然后您可以运行以下命令获取结果:

# 使用默认参数的基本用法
python show_result.py

# 指定自定义参数
python show_result.py \
    --action_space pyautogui \
    --model gpt-4o \
    --observation_type screenshot \
    --result_dir ./results

# 显示各领域的详细得分(格式:得分/总分)
python show_result.py --detailed

该脚本将显示:

  • 各领域的成功率
  • 类别级统计信息(办公、日常、专业)
  • 总体成功率和总分
  • 使用 --detailed 标志时:以“得分/总分”的紧凑格式显示每个领域的情况。

手动任务检查

对于特定基准任务的手动验证和检查,您可以使用手动检查工具:

python scripts/python/manual_examine.py \
    --headless \
    --observation_type screenshot \
    --result_dir ./results_human_examine \
    --test_all_meta_path evaluation_examples/test_all.json \
    --domain libreoffice_impress \
    --example_id a669ef01-ded5-4099-9ea9-25e99b569840 \
    --max_steps 3

此工具允许您:

  • 在环境中手动执行任务
  • 验证任务的正确性和评估指标
  • 使用截图和视频记录执行过程
  • 检查特定的问题任务

有关不同领域的示例任务 ID,请参阅 scripts/bash/run_manual_examine.sh

评估

本地评估

请先阅读 代理接口环境接口。 正确实现代理接口,并将您的定制版本导入到 run.py(用于单线程执行)或 scripts/python/run_multienv.py / scripts/python/run_multienv_xxx.py(用于并行执行)文件中。 之后,您可以执行与上一节类似的命令来对您的代理进行基准测试。

公开评估

如果您希望您的结果被验证并在经过验证的排行榜上展示,您需要与我们预约会议(当前维护者:tianbaoxiexxx@gmail.com, yuanmengqi732@gmail.com),以便我们在我们的端运行您的代理代码并报告结果。您需要上传并允许我们在 OSWorld 框架下公开您的代理实现(您可以选择不向公众披露您的模型 API),同时提交一份报告,使公众能够了解其背后的工作原理。 或者,如果您来自受信任的机构,也可以与我们共享您的监控数据和轨迹。 请仔细遵循 设置指南 - 公开评估平台 以获得评估结果。

❓ 常见问题解答

虚拟机的用户名和密码是什么?

虚拟机的用户名和密码如下(适用于 vmwarevirtualboxdocker 提供商):我们为 Ubuntu 设置的账户凭据是 user / password。 对于像 aws 这样的云服务提供商,为了防止因弱密码而遭受攻击,我们默认使用 osworld-public-evaluation。 如果您进行了进一步修改,请务必设置 client_password 变量,并在运行实验时将其传递给 DesktopEnv 和 Agent(如果支持)。某些功能(如设置代理)需要环境拥有客户端 VM 的密码才能获得 sudo 权限;而对于某些 OSWorld 任务,代理也需要密码才能获得 sudo 权限来完成它们。

如何设置 Google 和 Google Drive 的账号及凭据?

请参阅 设置指南 - Google 账号设置

如果我在中国大陆(GFW 后),或者不想让某些任务被识别为机器人而降低分数,该如何为虚拟机配置代理?

请参阅 设置指南 - 代理配置。 我们还提供基于 DataImpulse 的预配置解决方案,请参考 针对特定任务推荐的代理设置

开源贡献者

感谢所有贡献者!

📄 引用

如果您觉得这个环境很有用,请考虑引用我们的工作:

@misc{OSWorld,
      title={OSWorld: 在真实计算机环境中针对开放性任务的多模态智能体基准测试}, 
      author={谢天宝、张丹阳、陈继轩、李晓川、赵思恒、曹瑞生、托·京华、程周俊、申东灿、雷方宇、刘一涛、许一恒、周书妍、西尔维奥·萨瓦雷斯、熊才明、钟维克、余涛},
      year={2024},
      eprint={2404.07972},
      archivePrefix={arXiv},
      primaryClass={cs.AI}
}

OSWorld-Verified 感谢名单

特别感谢以下机构提供的反馈及参与修复工作(以及在此过程中提供过宝贵意见的机构):MoonShot AI,又名 KimiHuman DataOpenAI字节跳动 Seed TARSAnthropicSimular香港大学数据智能实验室

同时,特别感谢以下同学在具体修复工作中做出的贡献:袁梦琪张丹阳熊新庄沈振楠周子龙、陈燕旭、邓佳琪谢天宝、陈俊达、陈继轩吴浩远

此外,还要感谢以下同学参与了重新评估的运行工作:袁梦琪周子龙王欣元王博文

您可能也会感兴趣

  • OSWorld-MCP:面向计算机使用型智能体的 MCP 工具调用基准测试。官网

版本历史

v0.1.162024/06/26
v0.1.02024/04/11

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

153.6k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|3天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|3天前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架