From b9d8e6c6315f017d83f9225d00b927db526c43db Mon Sep 17 00:00:00 2001 From: David Chang Date: Mon, 15 Jan 2024 11:49:43 +0800 Subject: [PATCH] ver Jan15th attachment task of thunderbird --- desktop_env/server/requirements.txt | 1 + .../06fe7178-4491-4589-810f-2e2bc9502122.json | 2 +- .../d088f539-cab4-4f9a-ac92-9999fc3a656e.json | 43 ++++++++++- ...9-cab4-4f9a-ac92-9999fc3a656e.json.nosetup | 77 +++++++++++++++++++ main.py | 8 +- 5 files changed, 124 insertions(+), 7 deletions(-) create mode 100644 evaluation_examples/examples/thunderbird/d088f539-cab4-4f9a-ac92-9999fc3a656e.json.nosetup diff --git a/desktop_env/server/requirements.txt b/desktop_env/server/requirements.txt index 7316295..546da44 100644 --- a/desktop_env/server/requirements.txt +++ b/desktop_env/server/requirements.txt @@ -5,3 +5,4 @@ git+https://github.com/moses-palmer/pynput.git@refs/pull/541/head # to make sure requests flask numpy +lxml diff --git a/evaluation_examples/examples/thunderbird/06fe7178-4491-4589-810f-2e2bc9502122.json b/evaluation_examples/examples/thunderbird/06fe7178-4491-4589-810f-2e2bc9502122.json index 2dc8b0b..733a831 100644 --- a/evaluation_examples/examples/thunderbird/06fe7178-4491-4589-810f-2e2bc9502122.json +++ b/evaluation_examples/examples/thunderbird/06fe7178-4491-4589-810f-2e2bc9502122.json @@ -1,7 +1,7 @@ { "id": "06fe7178-4491-4589-810f-2e2bc9502122", "snapshot": "thunderbird", - "instruction": "Could you help me back up all the email files in my profile to ~/email.bak? Please save them separately in eml format.", + "instruction": "Could you help me back up all the email files in my profile to ~/emails.bak? Please save them separately in eml format.", "source": "https://www.quora.com/How-do-I-backup-email-files-in-Mozilla-Thunderbird", "config": [ { diff --git a/evaluation_examples/examples/thunderbird/d088f539-cab4-4f9a-ac92-9999fc3a656e.json b/evaluation_examples/examples/thunderbird/d088f539-cab4-4f9a-ac92-9999fc3a656e.json index c34764c..c31d1db 100644 --- a/evaluation_examples/examples/thunderbird/d088f539-cab4-4f9a-ac92-9999fc3a656e.json +++ b/evaluation_examples/examples/thunderbird/d088f539-cab4-4f9a-ac92-9999fc3a656e.json @@ -50,10 +50,49 @@ "thunderbird" ], "evaluator": { - "func": "run_sqlite3", + "postconfig": [ + { + "type": "download", + "parameters": { + "files": [ + { + "url": "https://drive.usercontent.google.com/download?id=1abb7PPPRGGy3elpq2vTXe2aKTMOrbm7c&export=download&authuser=0&confirm=t&uuid=652a3d4c-278e-499c-bb26-58d0f70aa317&at=APZUnTXs_ZTZzOF3QrBa_rMjMr08:1705287009269", + "path": "/home/user/show-thunderbird-attachments.py" + } + ] + } + }, + { + "type": "execute", + "parameters": { + "command": ["pip", "install", "cssselect"] + } + }, + { + "type": "execute", + "parameters": { + "command": [ + "python", + "/home/user/show-thunderbird-attachments.py", + "New-month AWS Bill", + "aws-bill.pdf" + ], + "stdout": "check-attachments.output" + } + } + ], + "func": "check_list", "result": { + "type": "cache_file", + "path": "check-attachments.output" + }, + "expected": { "type": "rule", - "rules": {} + "rules": { + "expect": [ + "Attachment added!" + ] + } } } } diff --git a/evaluation_examples/examples/thunderbird/d088f539-cab4-4f9a-ac92-9999fc3a656e.json.nosetup b/evaluation_examples/examples/thunderbird/d088f539-cab4-4f9a-ac92-9999fc3a656e.json.nosetup new file mode 100644 index 0000000..136364f --- /dev/null +++ b/evaluation_examples/examples/thunderbird/d088f539-cab4-4f9a-ac92-9999fc3a656e.json.nosetup @@ -0,0 +1,77 @@ +{ + "id": "d088f539-cab4-4f9a-ac92-9999fc3a656e", + "snapshot": "thunderbird", + "instruction": "Attach the my AWS bill to the email. The bill is stored at ~/aws-bill.pdf. Don't close it or send it. I haven't finish all the contents.", + "source": "https://support.mozilla.org/en-US/kb/how-use-attachments", + "config": [ + { + "type": "download", + "parameters": { + "files": [ + { + "url": "https://drive.usercontent.google.com/download?id=1JDUxe8Cs0D9La9ECoYbHJAIQ95DZfkDT&export=download&authuser=0&confirm=t&uuid=1e0f94d8-4fb1-4f9b-878a-516cf4a7ebc4&at=APZUnTXHBZKTuW_vQUzi-1XKuAYg:1705242554801", + "path": "/home/user/aws-bill.pdf" + }, + { + "url": "https://drive.usercontent.google.com/download?id=1EHLRWzBCOsyERkSMUnTF2pnsR0n6ZvtR&export=download&authuser=0&confirm=t&uuid=de09bd5e-bef8-499a-b599-c642af190e10&at=APZUnTXqOsQkxl0zMSX6R1Sgp_v3:1704362491712", + "path": "/home/user/thunderbird-profile.tar.gz" + }, + { + "url": "https://drive.usercontent.google.com/download?id=17LutYTkEXhM__sxvrdldar7p-eQba4Pm&export=download&authuser=0&confirm=t&uuid=34730e1c-0fac-401a-ab91-102a47f02224&at=APZUnTX4eFTnG9vnYlQEJX6N0jqP:1705227498314", + "path": "/home/user/.aws-bill-mail-body.html" + } + ] + } + } + ], + "trajectory": "trajectories/d088f539-cab4-4f9a-ac92-9999fc3a656e", + "related_apps": [ + "thunderbird" + ], + "evaluator": { + "postconfig": [ + { + "type": "download", + "parameters": { + "files": [ + { + "url": "https://drive.usercontent.google.com/download?id=1abb7PPPRGGy3elpq2vTXe2aKTMOrbm7c&export=download&authuser=0&confirm=t&uuid=652a3d4c-278e-499c-bb26-58d0f70aa317&at=APZUnTXs_ZTZzOF3QrBa_rMjMr08:1705287009269", + "path": "/home/user/show-thunderbird-attachments.py" + } + ] + } + }, + { + "type": "execute", + "parameters": { + "command": ["pip", "install", "cssselect"] + } + }, + { + "type": "execute", + "parameters": { + "command": [ + "python", + "/home/user/show-thunderbird-attachments.py", + "New-month AWS Bill", + "aws-bill.pdf" + ], + "stdout": "check-attachments.output" + } + } + ], + "func": "check_list", + "result": { + "type": "cache_file", + "path": "check-attachments.output" + }, + "expected": { + "type": "rule", + "rules": { + "expect": [ + "Attachment added!" + ] + } + } + } +} diff --git a/main.py b/main.py index dd551f9..6ef728c 100644 --- a/main.py +++ b/main.py @@ -44,9 +44,9 @@ def human_agent(): Runs the Gym environment with human input. """ - with open("evaluation_examples/examples/thunderbird/d088f539-cab4-4f9a-ac92-9999fc3a656e.json", "r") as f: + with open("evaluation_examples/examples/thunderbird/d088f539-cab4-4f9a-ac92-9999fc3a656e.json.nosetup", "r") as f: example = json.load(f) - example["snapshot"] = "Snapshot 21" + example["snapshot"] = "Snapshot 24" env = DesktopEnv( path_to_vm="../../../../大文件/镜像/Ubuntu-1218/Ubuntu/Ubuntu.vmx" , action_space="computer_13" @@ -87,8 +87,8 @@ def human_agent(): logger.info("The episode is done.") break - #result = env.evaluate() - #logger.info("Result: %.2f", result) + result = env.evaluate() + logger.info("Result: %.2f", result) #input("PAUSING")