63 lines
1.8 KiB
Python
63 lines
1.8 KiB
Python
from desktop_env.desktop_env import DesktopEnv
|
|
import argparse
|
|
|
|
example = {
|
|
"id": "94d95f96-9699-4208-98ba-3c3119edf9c2",
|
|
"instruction": "I want to install Spotify on my current system. Could you please help me?",
|
|
"config": [
|
|
{
|
|
"type": "execute",
|
|
"parameters": {
|
|
"command": [
|
|
"python",
|
|
"-c",
|
|
"import pyautogui; import time; pyautogui.click(960, 540); time.sleep(0.5);"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"evaluator": {
|
|
"func": "check_include_exclude",
|
|
"result": {
|
|
"type": "vm_command_line",
|
|
"command": "which spotify"
|
|
},
|
|
"expected": {
|
|
"type": "rule",
|
|
"rules": {
|
|
"include": ["spotify"],
|
|
"exclude": ["not found"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Parse arguments
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("--provider_name", type=str, default="vmware")
|
|
parser.add_argument("--path_to_vm", type=str, default=None)
|
|
parser.add_argument("--os_type", type=str, default="Ubuntu")
|
|
parser.add_argument("--action_space", type=str, default="pyautogui")
|
|
parser.add_argument("--headless", type=bool, default=False) # Set to True if you want to run without GUI
|
|
args = parser.parse_args()
|
|
|
|
# Initialize DesktopEnv
|
|
env = DesktopEnv(
|
|
provider_name=args.provider_name,
|
|
path_to_vm=args.path_to_vm,
|
|
os_type=args.os_type,
|
|
action_space=args.action_space,
|
|
headless=args.headless
|
|
)
|
|
|
|
print("Starting OSWorld environment...")
|
|
obs = env.reset(task_config=example)
|
|
print("Environment reset complete!")
|
|
|
|
print("Executing action: pyautogui.rightClick()")
|
|
obs, reward, done, info = env.step("pyautogui.rightClick()")
|
|
print("Action executed successfully!")
|
|
|
|
# Clean up
|
|
env.close()
|
|
print("Environment closed.") |