Publish tiny_computer_agent_app.py from marimo
Browse files- tiny_computer_agent_app.py +33 -7
tiny_computer_agent_app.py
CHANGED
|
@@ -303,7 +303,8 @@ def readme():
|
|
| 303 |
accepts injected input. Trigger it from the Actions tab. The repo needs a GitHub mirror -
|
| 304 |
Hugging Face does not run GitHub Actions.
|
| 305 |
|
| 306 |
-
**2. A local QEMU VM without KVM.** Measured on the headless container above
|
|
|
|
| 307 |
|
| 308 |
```
|
| 309 |
/dev/kvm absent -> no hardware virtualization
|
|
@@ -312,19 +313,43 @@ def readme():
|
|
| 312 |
qemu-system-x86_64 -accel tcg -> boots (reached "No bootable device.")
|
| 313 |
```
|
| 314 |
|
| 315 |
-
|
| 316 |
-
|
| 317 |
-
|
| 318 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 319 |
|
| 320 |
```bash
|
| 321 |
qemu-img create -f qcow2 win.qcow2 64G
|
| 322 |
-
qemu-system-x86_64 -accel tcg -m 8G -smp 4 \
|
|
|
|
|
|
|
|
|
|
|
|
|
| 323 |
-drive file=win.qcow2,format=qcow2,if=virtio \
|
| 324 |
-cdrom Win11_Eval_x64.iso -boot d \
|
| 325 |
-
-device virtio-vga -vnc :1 #
|
| 326 |
```
|
| 327 |
|
|
|
|
| 328 |
**3. A cloud Windows box.** Any Windows VM reachable over RDP gives a native desktop, a
|
| 329 |
real `SendInput` path and real DPI scaling. Untested here; it is the closest thing to
|
| 330 |
"a user's actual laptop".
|
|
@@ -390,6 +415,7 @@ def readme():
|
|
| 390 |
- [x] Blind-grid-click guard, echo detection, no-progress guard
|
| 391 |
- [ ] Make the VLM reliable on a live screen (it echoes the prompt instead of choosing)
|
| 392 |
- [ ] Windows run of the live test - workflow committed; needs a GitHub mirror with Actions on
|
|
|
|
| 393 |
- [ ] Accessibility-tree detector (AT-SPI on Linux, UI Automation on Windows)
|
| 394 |
- [ ] Score episodes: replay a trace and count how often the choice was right
|
| 395 |
- [ ] marimo console: live screen preview, action log, pause / resume / step
|
|
|
|
| 303 |
accepts injected input. Trigger it from the Actions tab. The repo needs a GitHub mirror -
|
| 304 |
Hugging Face does not run GitHub Actions.
|
| 305 |
|
| 306 |
+
**2. A local QEMU VM without KVM.** Measured on the headless container above - this is
|
| 307 |
+
what the box actually reported, not what the docs claim:
|
| 308 |
|
| 309 |
```
|
| 310 |
/dev/kvm absent -> no hardware virtualization
|
|
|
|
| 313 |
qemu-system-x86_64 -accel tcg -> boots (reached "No bootable device.")
|
| 314 |
```
|
| 315 |
|
| 316 |
+
The rest of the Windows 11 ingredient list was then checked rather than assumed - UEFI
|
| 317 |
+
firmware and a TPM 2.0, both under pure TCG:
|
| 318 |
+
|
| 319 |
+
```
|
| 320 |
+
apt-get install -y ovmf swtpm -> /usr/share/OVMF/OVMF_CODE_4M.fd + swtpm 0.7.1
|
| 321 |
+
swtpm socket --tpm2 --tpmstate dir=/tmp/tpmstate \
|
| 322 |
+
--ctrl type=unixio,path=/tmp/swtpm-sock &
|
| 323 |
+
qemu-system-x86_64 -accel tcg -machine q35 -m 4G -smp 4 \
|
| 324 |
+
-drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE_4M.fd \
|
| 325 |
+
-drive if=pflash,format=raw,file=/tmp/OVMF_VARS.fd \
|
| 326 |
+
-chardev socket,id=chrtpm,path=/tmp/swtpm-sock \
|
| 327 |
+
-tpmdev emulator,id=tpm0,chardev=chrtpm -device tpm-tis,tpmdev=tpm0 -nographic
|
| 328 |
+
|
| 329 |
+
-> UEFI Interactive Shell v2.2
|
| 330 |
+
EDK II
|
| 331 |
+
UEFI v2.70 (Debian distribution of EDK II, 0x00010000)
|
| 332 |
+
```
|
| 333 |
+
|
| 334 |
+
So the whole stack works here: UEFI boot, an emulated TPM 2.0, and software-only
|
| 335 |
+
emulation. A Windows 11 guest is genuinely installable - just slow, because TCG runs
|
| 336 |
+
roughly 10-50x slower than native, turning a 20-minute install into many hours, after
|
| 337 |
+
which the harness's OCR would run on an emulated CPU inside the guest. Use it only when
|
| 338 |
+
no CI runner and no cloud box is available:
|
| 339 |
|
| 340 |
```bash
|
| 341 |
qemu-img create -f qcow2 win.qcow2 64G
|
| 342 |
+
qemu-system-x86_64 -accel tcg -m 8G -smp 4 -machine q35 \
|
| 343 |
+
-drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE_4M.fd \
|
| 344 |
+
-drive if=pflash,format=raw,file=/tmp/OVMF_VARS.fd \
|
| 345 |
+
-chardev socket,id=chrtpm,path=/tmp/swtpm-sock \
|
| 346 |
+
-tpmdev emulator,id=tpm0,chardev=chrtpm -device tpm-tis,tpmdev=tpm0 \
|
| 347 |
-drive file=win.qcow2,format=qcow2,if=virtio \
|
| 348 |
-cdrom Win11_Eval_x64.iso -boot d \
|
| 349 |
+
-device virtio-vga -vnc :1 # VNC/RDP in, then pip install the harness inside
|
| 350 |
```
|
| 351 |
|
| 352 |
+
|
| 353 |
**3. A cloud Windows box.** Any Windows VM reachable over RDP gives a native desktop, a
|
| 354 |
real `SendInput` path and real DPI scaling. Untested here; it is the closest thing to
|
| 355 |
"a user's actual laptop".
|
|
|
|
| 415 |
- [x] Blind-grid-click guard, echo detection, no-progress guard
|
| 416 |
- [ ] Make the VLM reliable on a live screen (it echoes the prompt instead of choosing)
|
| 417 |
- [ ] Windows run of the live test - workflow committed; needs a GitHub mirror with Actions on
|
| 418 |
+
- [x] Windows VM ingredients verified locally (UEFI + TPM 2.0 boot under TCG; no KVM here)
|
| 419 |
- [ ] Accessibility-tree detector (AT-SPI on Linux, UI Automation on Windows)
|
| 420 |
- [ ] Score episodes: replay a trace and count how often the choice was right
|
| 421 |
- [ ] marimo console: live screen preview, action log, pause / resume / step
|