with one click
osworld-eval
使用 OSWorld 框架评估 Jarvis 在 Linux 虚拟机上的任务执行效果,包括自动快照管理、任务执行和结果评估。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
使用 OSWorld 框架评估 Jarvis 在 Linux 虚拟机上的任务执行效果,包括自动快照管理、任务执行和结果评估。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
This skill is used when testing Jarvis on Linux virtual machine, syncing code to Linux VM, running evaluation loops, or discussing Linux platform adaptation.
Browser operation skill for Chrome, Firefox, Safari, Edge. Activate when browsing the web or performing web-related tasks.
This skill should be used when the user asks to "evaluate Jarvis", "run VM test", "auto eval", "test in VM", or discusses testing Jarvis tasks in a macOS virtual machine, syncing code to VM, or running evaluation loops.
Microsoft PowerPoint macOS 操作技能,包含创建演示文稿、插入形状、编辑幻灯片等操作指导。当需要操作 PowerPoint 应用时使用。仅支持 macOS 版本。
微信桌面版操作技能,包含聊天、搜索联系人、发送消息、查看朋友圈等操作指导。当需要操作微信应用时使用。
搜索任务技能,适用于各类搜索场景(网页搜索、应用内搜索、文件搜索等)。当任务涉及搜索、查找、查询操作时激活。
| name | osworld-eval |
| description | 使用 OSWorld 框架评估 Jarvis 在 Linux 虚拟机上的任务执行效果,包括自动快照管理、任务执行和结果评估。 |
通过 OSWorld 框架自动化评测 Jarvis 在 Linux 虚拟机上的任务执行效果。
/Users/Ninot/NinotQuyi/OSWorld/vmware_vm_data/Ubuntu0/Ubuntu.vmx评估脚本位于: /Users/Ninot/NinotQuyi/jarvis/scripts/run_jarvis_eval.py
source /Users/Ninot/NinotQuyi/OSWorld/.venv/bin/activate
python /Users/Ninot/NinotQuyi/jarvis/scripts/run_jarvis_eval.py \
--vm-ip 192.168.236.129 \
--vm-path /Users/Ninot/NinotQuyi/OSWorld/vmware_vm_data/Ubuntu0/Ubuntu.vmx \
--jarvis-dir /home/user/jarvis \
--task-file /Users/Ninot/NinotQuyi/OSWorld/evaluation_examples/test_small.json \
--output-dir ./results \
--max-tasks 1 \
--max-time 180
--vm-ip: Linux VM IP 地址--vm-path: VMware VMX 文件路径--jarvis-dir: VM 上 Jarvis 的目录--task-file: 任务 JSON 文件 (支持 OSWorld 格式: {domain: [id1, id2, ...]})--output-dir: 结果输出目录--max-tasks: 最大任务数--max-time: 单任务最大时间 (秒)创建自定义任务文件:
{
"chrome": [
"bb5e4c0d-f964-439c-97b6-bdb9747de3f4"
],
"chrome": [
"任务ID"
]
}
任务 ID 对应 /Users/Ninot/NinotQuyi/OSWorld/evaluation_examples/examples/{app}/{id}.json
脚本会自动管理 VM 快照:
init_state 快照如需手动管理快照:
# 创建快照
vmrun -T fusion snapshot /Users/Ninot/NinotQuyi/OSWorld/vmware_vm_data/Ubuntu0/Ubuntu.vmx init_state
# 列出快照
vmrun -T fusion listSnapshots /Users/Ninot/NinotQuyi/OSWorld/vmware_vm_data/Ubuntu0/Ubuntu.vmx
# 恢复快照
vmrun -T fusion revertToSnapshot /Users/Ninot/NinotQuyi/OSWorld/vmware_vm_data/Ubuntu0/Ubuntu.vmx init_state
如需实时观察 Jarvis 执行过程,可以临时修改脚本使用 tmux 模式,或手动运行:
# 创建任务脚本
cat > /tmp/run_task.sh << 'EOF'
#!/bin/bash
export http_proxy=http://192.168.236.1:7897
export https_proxy=http://192.168.236.1:7897
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
nvm use 22
cd ~/jarvis
export DISPLAY=:0
node dist/cli/main.js --eval --no-ui "你的任务"
EOF
# 上传到 VM
sshpass -p 'jarvis.linux.123' scp -o StrictHostKeyChecking=no /tmp/run_task.sh user@192.168.236.129:/tmp/run_task.sh
# 创建 tmux 会话
tmux new-session -d -s jarvis "sshpass -p 'jarvis.linux.123' ssh -o StrictHostKeyChecking=no user@192.168.236.129"
# 执行任务
tmux send-keys -t jarvis "bash /tmp/run_task.sh" Enter
# 观察输出
tmux attach -t jarvis
修改代码后需要同步到 VM:
# 同步源代码
sshpass -p 'jarvis.linux.123' rsync -avz \
--exclude node_modules --exclude .git --exclude dist \
-e "ssh -o StrictHostKeyChecking=no" \
/Users/Ninot/NinotQuyi/jarvis/ \
user@192.168.236.129:~/jarvis/
# 在 VM 中编译
sshpass -p 'jarvis.linux.123' ssh -o StrictHostKeyChecking=no user@192.168.236.129 \
"export http_proxy=http://192.168.236.1:7897 && https_proxy=http://192.168.236.1:7897 && export NVM_DIR=\"\$HOME/.nvm\" && [ -s \"\$NVM_DIR/nvm.sh\" ] && . \"\$NVM_DIR/nvm.sh\" && nvm use 22 && cd /home/user/jarvis && npm run build"
结果保存在 --output-dir 指定的目录中:
summary.json: 汇总统计{task_id}/result.json: 单任务结果{task_id}/jarvis_output.txt: Jarvis 完整输出{task_id}/task_config.json: 任务配置