From 1cbbcb38520dbbbecb69a4f74d5987aa3be6e961 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 6 May 2026 19:23:36 +0000 Subject: [PATCH 1/2] Replace ASCII architecture diagram with SVG Saves the new diagram at docs/architecture.svg and references it from the README's Architecture section, replacing the ASCII art. --- README.md | 32 +----------- docs/architecture.svg | 114 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+), 31 deletions(-) create mode 100644 docs/architecture.svg diff --git a/README.md b/README.md index ad38559..dc55c5f 100644 --- a/README.md +++ b/README.md @@ -349,37 +349,7 @@ Or set the `DESKTEST_SLACK_WEBHOOK_URL` environment variable (takes precedence o
Expand -``` -Developer writes task.json - │ - ▼ - ┌──────────────┐ - │ desktest CLI │ validate / run / suite / interactive - └────┬─────────┘ - │ - ├─── Linux ──────────────┐ ├─── macOS ─────────────┐ ├─── Windows ────────────┐ - │ Docker Container │ │ Tart VM / native host │ │ QEMU/KVM VM │ - │ Xvfb + XFCE + x11vnc │ │ Native macOS desktop │ │ Windows 11 desktop │ - │ PyAutoGUI (X11) │ │ PyAutoGUI (Quartz) │ │ PyAutoGUI (Win32) │ - │ pyatspi (AT-SPI2) │ │ a11y-helper (AXUIEl.) │ │ uiautomation (UIA) │ - │ scrot (screenshot) │ │ screencapture │ │ PIL ImageGrab │ - └──────────┬─────────────┘ └──────────┬─────────────┘ └──────────┬─────────────┘ - │ screenshot + a11y tree │ │ - └──────────────┬─────────────┴──────────────────────────┘ - ▼ - ┌──────────────────┐ - │ LLM Agent Loop │ observe → think → act → repeat - │ (PyAutoGUI code)│ - └────────┬─────────┘ - │ - ▼ - ┌──────────────────┐ - │ Evaluator │ programmatic checks / LLM judge / hybrid - └────────┬─────────┘ - │ - ▼ - results.json + recording.mp4 + trajectory.jsonl -``` +How Desktest works
diff --git a/docs/architecture.svg b/docs/architecture.svg new file mode 100644 index 0000000..81def38 --- /dev/null +++ b/docs/architecture.svg @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +How Desktest works +LLM-powered desktop app testing + +VIRTUALIZED ENV // + + + + + + +DESKTEST CLI +task json · run + + + + + +DESKTOP APP +app under test + + + + +SCREENSHOT + A11Y + + + + +PYAUTOGUI + + + + +LLM AGENT + + + + +ARTIFACTS +screenshots, logs, traces + + + + + + +observe → +← act + +writes + From bd7ed12de6ab8023b487255ef093116c71ff1d1c Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 6 May 2026 19:25:53 +0000 Subject: [PATCH 2/2] Replace top-of-README diagram screenshot with SVG Restores the ASCII Architecture section, and instead points the diagram image near the top of the README at docs/architecture.svg. --- README.md | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index dc55c5f..ccdf816 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Install the desktest CLI by running `curl -fsSL https://raw.githubusercontent.co ``` -Screenshot 2026-04-08 at 21 57 34 +How Desktest works ## Getting Started @@ -349,7 +349,37 @@ Or set the `DESKTEST_SLACK_WEBHOOK_URL` environment variable (takes precedence o
Expand -How Desktest works +``` +Developer writes task.json + │ + ▼ + ┌──────────────┐ + │ desktest CLI │ validate / run / suite / interactive + └────┬─────────┘ + │ + ├─── Linux ──────────────┐ ├─── macOS ─────────────┐ ├─── Windows ────────────┐ + │ Docker Container │ │ Tart VM / native host │ │ QEMU/KVM VM │ + │ Xvfb + XFCE + x11vnc │ │ Native macOS desktop │ │ Windows 11 desktop │ + │ PyAutoGUI (X11) │ │ PyAutoGUI (Quartz) │ │ PyAutoGUI (Win32) │ + │ pyatspi (AT-SPI2) │ │ a11y-helper (AXUIEl.) │ │ uiautomation (UIA) │ + │ scrot (screenshot) │ │ screencapture │ │ PIL ImageGrab │ + └──────────┬─────────────┘ └──────────┬─────────────┘ └──────────┬─────────────┘ + │ screenshot + a11y tree │ │ + └──────────────┬─────────────┴──────────────────────────┘ + ▼ + ┌──────────────────┐ + │ LLM Agent Loop │ observe → think → act → repeat + │ (PyAutoGUI code)│ + └────────┬─────────┘ + │ + ▼ + ┌──────────────────┐ + │ Evaluator │ programmatic checks / LLM judge / hybrid + └────────┬─────────┘ + │ + ▼ + results.json + recording.mp4 + trajectory.jsonl +```