From 8705fe6a3db6129a6269af17cc10cf8a49370299 Mon Sep 17 00:00:00 2001 From: skulitom Date: Thu, 8 Oct 2026 09:44:08 +0100 Subject: [PATCH 1/3] [compass] Docs: when to use Anode, and three use-case guides - docs/COMPARISON.md: when to use Anode, Windows-MCP, Cua Driver, Desktop Commander or Windows 365 for Agents, each claim linked to its source and read on 2026-10-08, plus Microsoft's MXC session isolation as "coming". - docs/GUIDE-DESKTOP-APP.md, GUIDE-WEB-FORM.md and GUIDE-ANDROID.md: the exact MCP calls and CLI scripts for testing a desktop app with Claude Code, filling in a web form in the seat's browser, and an Android emulator check. - assets/guide-web-form.gif and assets/guide-android-dark-theme.png, recorded in the seat with Anode 0.11.0. - README Documentation table and Limits, and llms.txt, link the new pages. Co-Authored-By: Claude Opus 5.5 --- README.md | 4 + assets/guide-android-dark-theme.png | Bin 0 -> 110226 bytes assets/guide-web-form.gif | Bin 0 -> 57515 bytes docs/COMPARISON.md | 141 ++++++++++++++++++++++++++++ docs/GUIDE-ANDROID.md | 91 ++++++++++++++++++ docs/GUIDE-DESKTOP-APP.md | 122 ++++++++++++++++++++++++ docs/GUIDE-WEB-FORM.md | 102 ++++++++++++++++++++ llms.txt | 4 + 8 files changed, 464 insertions(+) create mode 100644 assets/guide-android-dark-theme.png create mode 100644 assets/guide-web-form.gif create mode 100644 docs/COMPARISON.md create mode 100644 docs/GUIDE-ANDROID.md create mode 100644 docs/GUIDE-DESKTOP-APP.md create mode 100644 docs/GUIDE-WEB-FORM.md diff --git a/README.md b/README.md index 651c640..5635fc6 100644 --- a/README.md +++ b/README.md @@ -218,6 +218,8 @@ flowchart LR | Connect Codex, Claude Code, Claude Desktop, VS Code or Cursor | [Connecting agents](docs/CONNECTING-AGENTS.md) | | Share the desktop between agents | [Multiple agents and leases](docs/MULTI-AGENT.md) | | Help an agent discover and choose Anode | [Agent guide](docs/FOR-AGENTS.md) | +| Decide whether Anode fits, or another tool does | [When to use which](docs/COMPARISON.md): Windows-MCP, Cua Driver, Desktop Commander, Windows 365 for Agents | +| Follow a worked example | [Test a desktop app with Claude Code](docs/GUIDE-DESKTOP-APP.md), [fill in a web form](docs/GUIDE-WEB-FORM.md), [check an Android app](docs/GUIDE-ANDROID.md) | | Run apps, control the viewer or use a gamepad | [Usage guide](docs/USAGE.md) | | Look up a CLI command or option | [Command reference](docs/USAGE.md#command-reference) | | Test native apps and browsers | [Development and testing](docs/DEVELOPMENT-TESTING.md) | @@ -235,6 +237,8 @@ flowchart LR ## Limits to know - One seat per Windows session: agents and CLI clients share it and take turns. +- Not for Windows Home or macOS, or when you need a security sandbox: + [when to use which](docs/COMPARISON.md) says what to use instead. - Files, accounts, network ports and application singletons are shared. Steam games run in the seat using the Steam client on your desktop, which stays there, without the overlay or Steam Input; other single-instance apps may already belong to your main session. Use separate browser profiles for diff --git a/assets/guide-android-dark-theme.png b/assets/guide-android-dark-theme.png new file mode 100644 index 0000000000000000000000000000000000000000..699505b2d70dfa53a80936c46668b687d19d05ef GIT binary patch literal 110226 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

F3IN$RTiR+W-=rHbv@2hBaGu=h(BZD~5}CGGB;^ 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 literal 0 HcmV?d00001 diff --git a/docs/COMPARISON.md b/docs/COMPARISON.md new file mode 100644 index 0000000..87abc73 --- /dev/null +++ b/docs/COMPARISON.md @@ -0,0 +1,141 @@ +# When to use Anode, and when to use something else + +Anode gives an agent a second Windows session on your own PC: a desktop with its own screen, pointer +and keyboard focus, so the agent works there while you keep using yours. Other tools solve nearby +problems in other ways, and some of them suit a job better. This page says which, as fairly as we +can. + +Facts about the other tools come from their own pages and repositories, **read on 8 October 2026**. +They change often, so follow the links before you decide. Corrections are welcome as an +[issue](https://github.com/skulitom/Anode/issues/new?template=bug_report.yml). + +## The short answer + +| You want… | Use | +| --- | --- | +| An agent that drives Windows apps and headed browsers while you keep working on the same PC, with nothing moving under your mouse | **Anode** | +| The same without a second session, on macOS or Linux as well, and you can accept that some targets refuse background input | [Cua Driver](#cua-driver) | +| An agent that drives your own desktop while you watch, on any Windows edition, Home included | [Windows-MCP](#windows-mcp) | +| Files, terminal commands and processes, with no GUI at all | [Desktop Commander](#desktop-commander) | +| A whole Windows PC for the agent that isn't yours: managed in the cloud, signed in with your organization's identities | [Windows 365 for Agents](#windows-365-for-agents) | +| A security boundary for untrusted code | A virtual machine or sandbox. None of the local tools here is one, Anode included. | + +## Side by side + +| | Anode | Windows-MCP | Cua Driver | Desktop Commander | Windows 365 for Agents | +| --- | --- | --- | --- | --- | --- | +| Where the agent works | A second Windows session for your account, on your PC | Your own session | Your own session | Your own session (files and shell only) | A Cloud PC in Microsoft's cloud | +| Your pointer and focus | Untouched: the seat has its own | Moved by the agent; you take control back by moving the mouse | Untouched in its default background mode; its foreground mode briefly brings the target forward | Not used | Not on your PC | +| GUI apps | Yes | Yes | Yes | No | Yes | +| Screenshots and accessibility tree | Yes (seat only) | Yes | Yes | No | Yes (accessibility tree of the foreground window) | +| Browsers | Headed Chrome or Edge in the seat, on a profile you sign in to once | DOM mode for Chrome, Edge and Firefox | Chrome and Edge through the DevTools protocol | No | DOM tools on Edge only | +| Android emulators | Yes, booted in the seat | Not mentioned | Not mentioned | No | Not mentioned | +| Windows editions | 10/11 Pro, Enterprise, Education, Server; not Home | Windows 7 to 11 in its README | Windows 10/11, plus macOS and Linux | Windows, macOS, Linux | Cloud PCs; nothing to install locally | +| Price | Free, MIT | Free, MIT | Free, MIT (cloud machines billed separately) | Free locally, MIT; a hosted remote tier | $0.40 an hour in the US, plus $5 a month for an always-available PC | + +## Anode's difference, and its limits + +**The difference.** The seat is a Windows *child session*: Windows' own second session for your +account, with its own desktop, focus and screen ([how it works](ARCHITECTURE.md)). An agent can +click, type into any app, use Chromium pages that ignore background messages, run games with a +virtual controller and boot Android emulators there, without bringing anything to the front of your +desktop. Tools that work inside your session have to share your focus and pointer, or avoid them +target by target; the seat has its own. + +**The limits.** Be sure these fit before you choose it: +- Windows 10/11 **Pro, Enterprise or Education**, or Windows Server, on x64. Windows Home has no + child sessions. `anode setup` needs administrator rights once + ([what it changes](SECURITY.md#what-anode-setup-changes)). +- One seat per Windows session, shared by your agents in turn ([leases](MULTI-AGENT.md)). +- The seat runs as you and shares your files, accounts and network. **Desktop isolation, not a + security sandbox** ([security](SECURITY.md)). +- Single-instance apps may already belong to your main session; use separate browser profiles. +- Builds are unsigned, so SmartScreen may warn. Anode is young and has few users so far. + +## Windows-MCP + +[CursorTouch/Windows-MCP](https://github.com/CursorTouch/Windows-MCP) is a Python MCP server with +about 8,200 GitHub stars, installed with `uvx windows-mcp serve`. It has `Screenshot` and `Snapshot` +(UI Automation) tools, and a DOM mode for Chrome, Edge and Firefox +([README](https://github.com/CursorTouch/Windows-MCP)). + +- It works in your own session and moves the real pointer. Its README says moving the physical + mouse "returns control to the user until 10 seconds of inactivity", and calls that takeover + "best-effort, not a security boundary" + ([README, ControlStatus](https://github.com/CursorTouch/Windows-MCP)). +- Its security notes say it is not sandboxed and suggest Windows Sandbox or a VM for isolation + ([SECURITY.md](https://github.com/CursorTouch/Windows-MCP/blob/main/SECURITY.md)). +- Anonymous telemetry is on by default; `ANONYMIZED_TELEMETRY=false` turns it off + ([README, Telemetry](https://github.com/CursorTouch/Windows-MCP)). + +**Choose it** when you watch the agent work on your own desktop, need Windows Home or older +Windows, or want a mature project with many users. **Choose Anode** when you want to keep using +your mouse and keyboard during the agent's work. + +## Cua Driver + +[Cua Driver](https://cua.ai/docs/cua-driver/quickstart) is part of +[trycua/cua](https://github.com/trycua/cua) (about 28,900 stars across the project), with a CLI, +an MCP server and SDKs for macOS, Windows and Linux. Its driver releases, for every platform, are +marked pre-release on GitHub ([releases](https://github.com/trycua/cua/releases)). + +- It runs in your own interactive session. Its default **background** mode never moves your pointer + or raises the target: it uses UI Automation, pen or touch injection on a visible window, and + window messages + ([Windows notes](https://github.com/trycua/cua/blob/main/libs/cua-driver/rust/Skills/cua-driver/WINDOWS.md)). +- On its native input route, when the target is covered by another window or the event is one it + knows gets dropped (Chromium mouse events and key combinations, GTK buttons, LibreOffice shortcuts, + some terminal and WPF text), it returns `background_unavailable` and recommends its **foreground** + mode, which brings the target forward briefly and then restores it (same page). +- Chrome and Edge pages are driven through the DevTools protocol instead, where it reports validated + background delivery on Windows + ([browser notes](https://github.com/trycua/cua/blob/main/libs/cua-driver/rust/Skills/cua-driver/BROWSER.md), + [platform support](https://cua.ai/docs/cua-driver/concepts/platform-support)). Its pages don't + mention Android emulators. + +**Choose it** when you need macOS or Linux too, are on Windows Home, or your targets accept +background input. **Choose Anode** when the agent must reach covered windows, Electron and other +Chromium windows without DevTools, games or emulators without anything coming to the front of your +desktop. + +## Desktop Commander + +[Desktop Commander](https://github.com/wonderwhy-er/DesktopCommanderMCP) (about 9,960 stars) gives +an agent files, search, editing, terminal commands and processes. It has no screenshot, click or +accessibility tools, so it doesn't drive GUI apps. The local server is free; a hosted remote tier +is free up to 10,000 tool calls a month or $20 a month +([pricing](https://desktopcommander.app/pricing)). + +**Choose it** for file and shell work across operating systems. It and Anode do different jobs and +work well side by side: Anode's own `seat_exec` is for builds and servers that a desktop test needs, +not a general shell. + +## Windows 365 for Agents + +[Windows 365 for Agents](https://learn.microsoft.com/en-us/windows-365/agents/introduction-windows-365-for-agents) +gives agents Cloud PCs that they check out and back in, managed with Microsoft Entra and Intune. It +has been generally available since the week of 1 June 2026 +([what's new](https://learn.microsoft.com/en-us/windows-365/agents/whats-new)). + +- Agents reach it through an MCP server: they check a Cloud PC out with a tool call, then use mouse + and keyboard, screenshots, the accessibility tree of the foreground window, an allow-listed shell, + and DOM-level browser tools that work on Edge only + ([tool reference](https://learn.microsoft.com/en-us/microsoft-copilot-studio/mcp-windows-365-agents)). +- In the US it costs $0.40 an hour, rounded up to the next full hour; an always-available Cloud PC + adds $5 a month on top ([pricing](https://learn.microsoft.com/en-us/windows-365/agents/pricing-paygo-always-available)). + It is billed through an Azure subscription ([billing](https://learn.microsoft.com/en-us/windows-365/agents/billing-w365a)). + +**Choose it** for organizations that want agents on managed machines away from people's PCs, or +many machines at once. **Choose Anode** to test what is installed on your own PC (your builds, your +emulators, your signed-in tools) for free, with nothing to provision. + +## Coming from Microsoft + +Microsoft announced process and session isolation for agents in June 2026, as an early preview that +starts with non-interactive sessions +([Windows Developer Blog](https://blogs.windows.com/windowsdeveloper/2026/06/02/windows-platform-security-for-ai-agents/)). +Its [MXC SDK](https://github.com/microsoft/mxc) reached 1.0 on 7 October 2026; its session backend +has no display inside the session and captures only standard output and error +([design notes](https://github.com/microsoft/mxc/blob/main/docs/development/architecture/backends/isolation-session/oneshot.md)). +That makes it a sandbox for commands, not a desktop for GUI work, for now. We will update this page +as it changes. diff --git a/docs/GUIDE-ANDROID.md b/docs/GUIDE-ANDROID.md new file mode 100644 index 0000000..38875a3 --- /dev/null +++ b/docs/GUIDE-ANDROID.md @@ -0,0 +1,91 @@ +# Guide: check an Android app on an emulator in the seat + +Before a release, you want an agent to install your APK on an emulator, open it, look at a few +screens in light and dark mode, and check the log for crashes. Anode boots the emulator inside the +seat, so its window never appears on your screen, and its Android tools act only on that emulator, +never on your own emulators or a phone on USB. + +![The same Android settings screen in light mode, then in dark mode after the agent switched it, captured from an emulator in the seat](https://raw.githubusercontent.com/skulitom/Anode/main/assets/guide-android-dark-theme.png) + +Captured with Anode 0.11.0 from a Pixel 9 Pro emulator (API 36) in the seat: the device's own +pixels, before and after `cmd uimode night yes`. It booted in 6.7 s. + +## Before you start + +You need Android Studio's SDK and at least one AVD, as on your desktop. Check what Anode finds; this +starts nothing: + +```powershell +anode android | Out-Host +``` + +Note the AVD name, such as `Pixel_9_Pro`. Emulators are heavy: run one at a time, and only while the +seat is free. + +## Ask for the check + +> Use Anode to boot Pixel_9_Pro in the seat, install C:\work\app-release.apk, open +> com.example.quiz, and send me screenshots of the first screen in light and dark mode. Then check +> logcat for crashes and stop the emulator. + +Or run the guided prompt `/mcp__anode__android_test` and name your APK. + +## What the agent does + +```json +{"tool": "android_status", "arguments": {}} +{"tool": "android_emulator", "arguments": {"action": "start", "avd": "Pixel_9_Pro"}} +{"tool": "android_emulator", "arguments": {"action": "adb", "serial": "emulator-5554", "args": ["install", "-r", "C:\\work\\app-release.apk"]}} +{"tool": "android_emulator", "arguments": {"action": "adb", "serial": "emulator-5554", "args": ["shell", "monkey", "-p", "com.example.quiz", "1"]}} +{"tool": "android_emulator", "arguments": {"action": "screenshot", "serial": "emulator-5554", "maxWidth": 540}} +{"tool": "android_emulator", "arguments": {"action": "adb", "serial": "emulator-5554", "args": ["shell", "cmd", "uimode", "night", "yes"]}} +{"tool": "android_emulator", "arguments": {"action": "screenshot", "serial": "emulator-5554", "maxWidth": 540}} +{"tool": "android_emulator", "arguments": {"action": "adb", "serial": "emulator-5554", "args": ["logcat", "-d", "-s", "AndroidRuntime:E"]}} +{"tool": "android_emulator", "arguments": {"action": "stop", "serial": "emulator-5554"}} +``` + +- `start` returns the serial to use, such as `emulator-5554`, and `booted: true` once Android is up. + It starts **read-only**: the AVD keeps nothing from the test, and it can run in the seat while the + same AVD is open on your desktop. +- `screenshot` returns the device's own pixels. To tap something in it, scale the image's + coordinates back to the device (`x * sourceWidth / width`) and use + `["shell", "input", "tap", "X", "Y"]`. +- An empty `logcat -d -s AndroidRuntime:E` means no app hit an uncaught Java or Kotlin exception + since boot. Native crashes log elsewhere (`logcat -d -s DEBUG:F` shows their tombstones). + +## The same from a script + +```powershell +$env:ANODE_AGENT_ID = 'android-check' +$lease = anode lease acquire | Out-String | ConvertFrom-Json +if ($LASTEXITCODE -ne 0) { throw 'Desktop acquisition failed.' } +$env:ANODE_LEASE_TOKEN = $lease.leaseToken +anode android start Pixel_9_Pro | Out-Host +anode android adb emulator-5554 -- install -r C:\work\app-release.apk | Out-Host +anode android adb emulator-5554 -- shell monkey -p com.example.quiz 1 | Out-Host +anode android shot emulator-5554 light.png | Out-Host +anode android adb emulator-5554 -- shell cmd uimode night yes | Out-Host +anode android shot emulator-5554 dark.png | Out-Host +anode android adb emulator-5554 -- logcat -d -s AndroidRuntime:E | Out-Host +anode android stop emulator-5554 | Out-Host +anode lease release | Out-Host +``` + +Use the serial `android start` prints; `android shot` saves the screen at the device's resolution. + +## When it doesn't work + +- **`booted: false`.** The boot outlasted the wait, and the emulator keeps booting; check + `anode android` until the seat's emulator says `booted`. A cold boot takes longer. +- **adb keeps saying `device offline`.** The device itself is failing. After a quick boot, stop it + and start again with `coldBoot` (`--cold`). If it still never comes online, the AVD may be damaged, + which only you can repair or recreate; trying another AVD tells you quickly + ([details](ANDROID.md#when-an-emulator-does-not-finish-booting)). +- **The screen stays black.** Start again with `gpu: "software"` (`--gpu software`) + ([troubleshooting](TROUBLESHOOTING.md#an-android-emulator-will-not-start-or-stays-black)). +- **"runs outside the seat".** That serial is an emulator on your desktop, which Anode never drives; + start one in the seat and use its serial. +- **The emulator keeps running after the test.** A lease can end between two steps, so emulators + outlive it; stop yours when you're done. + +More: [Android apps and web consoles](ANDROID.md). diff --git a/docs/GUIDE-DESKTOP-APP.md b/docs/GUIDE-DESKTOP-APP.md new file mode 100644 index 0000000..a168417 --- /dev/null +++ b/docs/GUIDE-DESKTOP-APP.md @@ -0,0 +1,122 @@ +# Guide: test your desktop app with Claude Code, without losing your mouse + +You are building a Windows app. You want Claude Code to build it, click through it and tell you what +broke, while you keep typing in your editor. Anode runs the app in the seat, a second Windows +session with its own screen, pointer and focus, so nothing the agent does lands on your desktop. + +![An agent clicking through Calculator and ticking off a task in a sample web app, inside Anode's background seat](https://raw.githubusercontent.com/skulitom/Anode/main/assets/demo.gif) + +Recorded inside the seat with Anode 0.11.0, from real MCP tool calls. Idle time between calls is +cut, and the nine clicks, which took 0.4 s, are shown four times slower. It is the same loop as below, +on Calculator instead of your app. + +## Once per machine + +In PowerShell, after [installing Anode](INSTALL.md): + +```powershell +anode setup | Out-Host # one administrator prompt +anode configure claude | Out-Host # registers Anode and the anode-desktop skill with Claude Code +``` + +Restart Claude Code and check that `/mcp` lists `anode`. (Using the Claude Code plugin instead? See +[Connecting agents](CONNECTING-AGENTS.md#1-claude-code).) + +## Ask for the test + +Name the app, the steps and what counts as a pass. For example: + +> Build C:\src\Invoices with `dotnet build`. Then use Anode to open +> bin\Debug\net10.0-windows\Invoices.exe in the background seat, add an invoice for "Sample Ltd" +> with one line of 120.00, check that the total reads 120.00, and show me a screenshot. Keep the +> viewer hidden and close the app when you're done. + +Or run the guided prompt `/mcp__anode__desktop_test` and name your app. + +## What the agent does + +The agent builds with its ordinary shell (`dotnet build C:\src\Invoices`), since a build needs no +desktop. These are the MCP calls that follow, in order. Each one is a tool call with the arguments +shown; IDs such as `w_…`, `s_…` and `e12` come from the previous reply, and the control IDs are +examples. + +```json +{"tool": "seat_lease", "arguments": {"action": "acquire"}} +{"tool": "seat_capabilities", "arguments": {}} +{"tool": "seat_run", "arguments": {"path": "C:\\src\\Invoices\\bin\\Debug\\net10.0-windows\\Invoices.exe"}} +{"tool": "seat_windows", "arguments": {"query": "Invoices"}} +{"tool": "seat_observe", "arguments": {"windowId": "w_RETURNED_ID"}} +{"tool": "seat_element", "arguments": {"snapshotId": "s_RETURNED_ID", "elementId": "e12", "action": "set_value", "value": "Sample Ltd"}} +{"tool": "seat_observe", "arguments": {"windowId": "w_RETURNED_ID"}} +{"tool": "seat_element", "arguments": {"snapshotId": "s_NEW_ID", "elementId": "e14", "action": "set_value", "value": "120.00"}} +{"tool": "seat_observe", "arguments": {"windowId": "w_RETURNED_ID"}} +{"tool": "seat_element", "arguments": {"snapshotId": "s_NEW_ID", "elementId": "e15", "action": "invoke"}} +{"tool": "seat_wait", "arguments": {"windowId": "w_RETURNED_ID", "automationId": "TotalLabel", "textContains": "120.00", "waitMs": 10000}} +{"tool": "seat_screenshot", "arguments": {"maxWidth": 1000}} +{"tool": "seat_window", "arguments": {"windowId": "w_RETURNED_ID", "action": "close"}} +{"tool": "seat_lease", "arguments": {"action": "release", "cancelJobs": true}} +``` + +- **Accessible controls first.** `seat_observe` returns the window's controls with the actions each + one supports; `seat_element` acts on one of them. An observation is used up by an action, so the + agent observes again before the next one. +- **Waits, not sleeps.** `seat_wait` returns as soon as the total shows 120.00, or reports that it + didn't within the time given. +- **Pixels when there is no control.** For a custom-drawn canvas or a game, the agent takes a + `seat_screenshot` and uses `seat_click` with coordinates from it. +- **Jobs the test itself needs.** A local server, or a long build the desktop test depends on, can run + in the seat with `seat_exec`; read its output with `seat_job` until the reply says `finished: true` + ([command jobs](DEVELOPMENT-TESTING.md#command-jobs)). + +## The same from a script + +Every step has a CLI command, so a test you like can become a script. It needs an agent ID and the +lease token, as in [desktop leases](MULTI-AGENT.md): + +```powershell +$env:ANODE_AGENT_ID = 'invoices-test' +$lease = anode lease acquire | Out-String | ConvertFrom-Json +if ($LASTEXITCODE -ne 0) { throw 'Desktop acquisition failed.' } +$env:ANODE_LEASE_TOKEN = $lease.leaseToken +dotnet build C:\src\Invoices +if ($LASTEXITCODE -ne 0) { throw 'Build failed.' } +anode run C:\src\Invoices\bin\Debug\net10.0-windows\Invoices.exe | Out-Host +anode windows --query Invoices | Out-Host +anode inspect w_RETURNED_ID --html invoices.html | Out-Host +anode element s_RETURNED_ID e12 set_value --value "Sample Ltd" | Out-Host +anode inspect w_RETURNED_ID | Out-Host +anode element s_NEW_ID e14 set_value --value 120.00 | Out-Host +anode inspect w_RETURNED_ID | Out-Host +anode element s_NEW_ID e15 invoke | Out-Host +anode wait w_RETURNED_ID --automation-id TotalLabel --text 120.00 | Out-Host +anode shot invoices.png | Out-Host +anode window w_RETURNED_ID close | Out-Host +anode lease release --cancel-jobs | Out-Host +``` + +Each `element` needs the snapshot ID from the `inspect` just before it. `inspect --html` writes a +report you can search, with the screenshot and each control's bounds, which helps when you write the +test. `wait` exits 3 when the control never matched; check `$LASTEXITCODE` after each command. + +## Why your mouse stays yours + +- The app runs in the seat's session, and input goes there: your pointer, focus and keyboard are + not used. +- A program in the seat that moves its own cursor, as games do, can't move your real pointer: + Anode gates that call ([details](TROUBLESHOOTING.md#my-real-pointer-jumps-while-something-runs-in-the-seat)). +- The viewer stays hidden unless you run `anode show`. **Ctrl+Alt+Shift+K** stops the seat at any + time. + +The seat runs as you and shares your files, so a test that writes files writes your files. Point +the app at a scratch folder, and see [security](SECURITY.md) for what the seat does not isolate. + +## When it doesn't work + +- **No controls in the tree.** Some apps draw everything themselves; use screenshots and + `seat_click`. WinForms and WPF expose rich trees; [desktop tools](DESKTOP-TOOLS.md) covers the + actions. +- **Clicks or typing have no effect.** Run `anode capabilities`: it reports known input blockers + ([capture works, but input does not](TROUBLESHOOTING.md#capture-works-but-focus-and-input-do-not)). +- **The app opened on your desktop instead.** Single-instance apps hand a second start to the copy + already running; close yours, or test a build with its own settings. +- More: [development and testing](DEVELOPMENT-TESTING.md), [troubleshooting](TROUBLESHOOTING.md). diff --git a/docs/GUIDE-WEB-FORM.md b/docs/GUIDE-WEB-FORM.md new file mode 100644 index 0000000..e3af4de --- /dev/null +++ b/docs/GUIDE-WEB-FORM.md @@ -0,0 +1,102 @@ +# Guide: fill in a web form in the seat's browser + +An agent can fill in and submit a web form in a real, headed Chrome or Edge window inside the seat, +while your own browser stays untouched. Use it to test a form you built, or for a routine task on a +site you have signed in to for agents. + +![An agent filling in a sample sign-up form field by field and submitting it, inside Anode's seat](https://raw.githubusercontent.com/skulitom/Anode/main/assets/guide-web-form.gif) + +Recorded inside the seat with Anode 0.11.0, from real MCP tool calls, on a local sample page in +a Chrome window with a temporary profile. Each frame is one step; the time between steps is cut. + +## Pick the browser profile + +| You are testing… | Open it with | Profile | +| --- | --- | --- | +| Your own page or app, on localhost or a test server | `seat_run` with Chrome and its own `--user-data-dir` | A temporary folder you delete afterwards: no accounts, nothing left behind | +| A site the agent should use as you, such as a console | `seat_browser` | Anode's seat profile, which you sign in to once | + +**Your own page.** Start Chrome in the seat on a folder of its own (here an `--app` window, which +has no address bar): + +```json +{"tool": "seat_run", "arguments": {"path": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe", "args": ["--user-data-dir=C:\\temp\\form-test-profile", "--no-first-run", "--no-default-browser-check", "--force-renderer-accessibility", "--app=http://localhost:5173/signup"]}} +``` + +**A signed-in site.** Sign in once, from your own terminal; it opens the seat's profile on your +desktop, and you close it when you're done: + +```powershell +anode browser --sign-in https://example.com/account +``` + +Then the agent opens pages there with `seat_browser` (`{"url": "https://example.com/account"}`). +Agents never sign in or answer a 2-step check: when a site asks, they stop and ask you. Anyone holding +the desktop lease can use what that profile is signed in to, so sign in only to what agents should +act on ([details](ANDROID.md#web-consoles-in-a-signed-in-browser)). + +## Fill in the form + +```json +{"tool": "seat_lease", "arguments": {"action": "acquire"}} +{"tool": "seat_windows", "arguments": {"query": "chrome"}} +{"tool": "seat_observe", "arguments": {"windowId": "w_RETURNED_ID", "maxDepth": 16, "includeScreenshot": false}} +{"tool": "seat_observe", "arguments": {"windowId": "w_RETURNED_ID", "maxDepth": 16, "includeScreenshot": false}} +{"tool": "seat_element", "arguments": {"snapshotId": "s_RETURNED_ID", "elementId": "e25", "action": "set_value", "value": "Sam Example"}} +{"tool": "seat_observe", "arguments": {"windowId": "w_RETURNED_ID", "maxDepth": 16, "includeScreenshot": false}} +{"tool": "seat_element", "arguments": {"snapshotId": "s_NEW_ID", "elementId": "e27", "action": "set_value", "value": "sam@example.com"}} +{"tool": "seat_observe", "arguments": {"windowId": "w_RETURNED_ID", "maxDepth": 16, "includeScreenshot": false}} +{"tool": "seat_element", "arguments": {"snapshotId": "s_NEW_ID", "elementId": "e29", "action": "expand"}} +{"tool": "seat_screenshot", "arguments": {"maxWidth": 1000}} +{"tool": "seat_click", "arguments": {"x": 246, "y": 448}} +{"tool": "seat_wait", "arguments": {"windowId": "w_RETURNED_ID", "automationId": "plan", "textContains": "Team", "waitMs": 5000}} +{"tool": "seat_element", "arguments": {"snapshotId": "s_FROM_WAIT", "elementId": "e30", "action": "toggle"}} +{"tool": "seat_observe", "arguments": {"windowId": "w_RETURNED_ID", "maxDepth": 16, "includeScreenshot": false}} +{"tool": "seat_element", "arguments": {"snapshotId": "s_NEW_ID", "elementId": "e31", "action": "invoke"}} +{"tool": "seat_wait", "arguments": {"windowId": "w_RETURNED_ID", "textContains": "Account created", "waitMs": 10000}} +{"tool": "seat_window", "arguments": {"windowId": "w_RETURNED_ID", "action": "close"}} +{"tool": "seat_lease", "arguments": {"action": "release"}} +``` + +- **Observe twice at first.** Chrome turns its accessibility tree on when something first asks, so the + first observation of a new window may have no page in it. For a window you start yourself, + `--force-renderer-accessibility` asks Chrome to build the tree from the start, as Anode's own + browser test does. Page controls sit deep in the tree, so pass `maxDepth` 16. +- **A full browser window.** In a window with tabs and toolbars, such as the one `seat_browser` + opens, the browser's own controls can use up the observation's element budget before the page's + appear. Raise `maxElements`, or work from `seat_screenshot` and `seat_click`. +- **Fields by name.** Text fields appear as `Edit` with the field's label as their name and its HTML + `id` as `automationId`; checkboxes offer `toggle`, buttons `invoke`. `seat_wait` returns a fresh + observation when it matches, so its snapshot can be used for the next action. +- **Drop-down lists (`` behaviour in the next release; one `seat_type` call types at most about 3,000 characters. Co-Authored-By: Claude Opus 5.5 --- docs/ANDROID.md | 3 ++- docs/GUIDE-ANDROID.md | 8 +++--- docs/GUIDE-DESKTOP-APP.md | 12 ++++++--- docs/GUIDE-WEB-FORM.md | 52 ++++++++++++++++++++++----------------- docs/TROUBLESHOOTING.md | 5 ++-- 5 files changed, 49 insertions(+), 31 deletions(-) diff --git a/docs/ANDROID.md b/docs/ANDROID.md index 43982b4..e691c10 100644 --- a/docs/ANDROID.md +++ b/docs/ANDROID.md @@ -13,7 +13,8 @@ Android Studio opened at its Welcome screen on its own profile; and Chrome opene Anode uses the SDK Android Studio installed: `ANDROID_HOME`, then `ANDROID_SDK_ROOT`, then `%LOCALAPPDATA%\Android\Sdk`, and the AVDs in `ANDROID_AVD_HOME` or `%USERPROFILE%\.android\avd`. The emulator needs a hypervisor: the Windows Hypervisor Platform or the Android Emulator hypervisor -driver, as it does on your desktop. `anode android` shows what Anode finds, and starts nothing. +driver, as it does on your desktop. `anode android` shows what Anode finds, and starts nothing, so it +needs Anode running (`anode start --hidden`); otherwise it says "Anode is not running". ## Emulators diff --git a/docs/GUIDE-ANDROID.md b/docs/GUIDE-ANDROID.md index 3e26d1e..b853392 100644 --- a/docs/GUIDE-ANDROID.md +++ b/docs/GUIDE-ANDROID.md @@ -12,8 +12,9 @@ pixels, before and after `cmd uimode night yes`. It booted in 6.7 s. ## Before you start -You need Android Studio's SDK and at least one AVD, as on your desktop. Check what Anode finds; this -starts nothing: +You need Android Studio's SDK and at least one AVD, as on your desktop. Check what Anode finds. The +check starts nothing, so it needs Anode running: if it says "Anode is not running", start it with +`anode start --hidden` and run it again. ```powershell anode android | Out-Host @@ -78,7 +79,8 @@ Use the serial `android start` prints; `android shot` saves the screen at the de ## When it doesn't work - **`booted: false`.** The boot outlasted the wait, and the emulator keeps booting; check - `anode android` until the seat's emulator says `booted`. A cold boot takes longer. + `anode android status --json` (or `android_status`) until the seat's emulator shows + `"booted": true`. The plain-text summary doesn't show it. A cold boot takes longer. - **adb keeps saying `device offline`.** The device itself is failing. After a quick boot, stop it and start again with `coldBoot` (`--cold`). If it still never comes online, the AVD may be damaged, which only you can repair or recreate; trying another AVD tells you quickly diff --git a/docs/GUIDE-DESKTOP-APP.md b/docs/GUIDE-DESKTOP-APP.md index a168417..65cdaf2 100644 --- a/docs/GUIDE-DESKTOP-APP.md +++ b/docs/GUIDE-DESKTOP-APP.md @@ -63,7 +63,9 @@ examples. - **Waits, not sleeps.** `seat_wait` returns as soon as the total shows 120.00, or reports that it didn't within the time given. - **Pixels when there is no control.** For a custom-drawn canvas or a game, the agent takes a - `seat_screenshot` and uses `seat_click` with coordinates from it. + `seat_screenshot` and uses `seat_click` with coordinates from it. `seat_click` takes the seat's + full-size pixels, so a point read from a screenshot scaled with `maxWidth` is scaled back first + (`x * sourceWidth / width`, the same for `y`). - **Jobs the test itself needs.** A local server, or a long build the desktop test depends on, can run in the seat with `seat_exec`; read its output with `seat_job` until the reply says `finished: true` ([command jobs](DEVELOPMENT-TESTING.md#command-jobs)). @@ -74,12 +76,12 @@ Every step has a CLI command, so a test you like can become a script. It needs a lease token, as in [desktop leases](MULTI-AGENT.md): ```powershell +dotnet build C:\src\Invoices +if ($LASTEXITCODE -ne 0) { throw 'Build failed.' } $env:ANODE_AGENT_ID = 'invoices-test' $lease = anode lease acquire | Out-String | ConvertFrom-Json if ($LASTEXITCODE -ne 0) { throw 'Desktop acquisition failed.' } $env:ANODE_LEASE_TOKEN = $lease.leaseToken -dotnet build C:\src\Invoices -if ($LASTEXITCODE -ne 0) { throw 'Build failed.' } anode run C:\src\Invoices\bin\Debug\net10.0-windows\Invoices.exe | Out-Host anode windows --query Invoices | Out-Host anode inspect w_RETURNED_ID --html invoices.html | Out-Host @@ -94,6 +96,10 @@ anode window w_RETURNED_ID close | Out-Host anode lease release --cancel-jobs | Out-Host ``` +Build before `lease acquire`: the lease ends 120 seconds after the last desktop command, and a build +isn't one, so a longer build would leave `anode run` failing with `lease_expired`. For a script with +long steps between desktop commands, `anode lease acquire --ttl 600` keeps it longer. + Each `element` needs the snapshot ID from the `inspect` just before it. `inspect --html` writes a report you can search, with the screenshot and each control's bounds, which helps when you write the test. `wait` exits 3 when the control never matched; check `$LASTEXITCODE` after each command. diff --git a/docs/GUIDE-WEB-FORM.md b/docs/GUIDE-WEB-FORM.md index fd847bb..b0c95fe 100644 --- a/docs/GUIDE-WEB-FORM.md +++ b/docs/GUIDE-WEB-FORM.md @@ -16,8 +16,19 @@ a Chrome window with a temporary profile. Each frame is one step; the time betwe | Your own page or app, on localhost or a test server | `seat_run` with Chrome and its own `--user-data-dir` | A temporary folder you delete afterwards: no accounts, nothing left behind | | A site the agent should use as you, such as a console | `seat_browser` | Anode's seat profile, which you sign in to once | -Before the agent opens either browser, acquire the desktop lease. This starts the hidden seat if -Anode is stopped; keep the lease until the form is finished and its window is closed. +**A signed-in site: sign in first, yourself.** Do it once, before any agent uses the profile, from +your own terminal; it opens the seat's profile on your desktop, and you close it when you're done: + +```powershell +anode browser --sign-in https://example.com/account +``` + +Agents never sign in or answer a 2-step check: when a site asks, they stop and ask you. Anyone holding +the desktop lease can use what that profile is signed in to, so sign in only to what agents should +act on ([details](ANDROID.md#web-consoles-in-a-signed-in-browser)). + +Then, before the agent opens either browser, it acquires the desktop lease. This starts the hidden +seat if Anode is stopped; keep the lease until the form is finished and its window is closed. ```json {"tool": "seat_lease", "arguments": {"action": "acquire"}} @@ -30,17 +41,8 @@ has no address bar): {"tool": "seat_run", "arguments": {"path": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe", "args": ["--user-data-dir=C:\\temp\\form-test-profile", "--no-first-run", "--no-default-browser-check", "--force-renderer-accessibility", "--app=http://localhost:5173/signup"]}} ``` -**A signed-in site.** Sign in once, from your own terminal; it opens the seat's profile on your -desktop, and you close it when you're done: - -```powershell -anode browser --sign-in https://example.com/account -``` - -Then the agent opens pages there with `seat_browser` (`{"url": "https://example.com/account"}`). -Agents never sign in or answer a 2-step check: when a site asks, they stop and ask you. Anyone holding -the desktop lease can use what that profile is signed in to, so sign in only to what agents should -act on ([details](ANDROID.md#web-consoles-in-a-signed-in-browser)). +**A signed-in site.** The agent opens pages on the seat profile with `seat_browser` +(`{"url": "https://example.com/account"}`). ## Fill in the form @@ -73,17 +75,23 @@ act on ([details](ANDROID.md#web-consoles-in-a-signed-in-browser)). appear. Raise `maxElements`, or work from `seat_screenshot` and `seat_click`. - **Fields by name.** Text fields appear as `Edit` with the field's label as their name and its HTML `id` as `automationId`; checkboxes offer `toggle`, buttons `invoke`. `seat_wait` returns a fresh - observation when it matches, so its snapshot can be used for the next action. -- **Drop-down lists (``).** Use `expand` on the list, then a `seat_screenshot` and a + `seat_click` on the option (the click above is the "Team" option in the recording), and check the + choice took with `seat_wait` or a new observation. `seat_click` takes the seat's full-size pixels, + so scale a point read from a screenshot taken with `maxWidth` back first (`x * sourceWidth / width`, + the same for `y`). In Anode 0.11.0 and 0.11.1, `set_value` on a Chrome drop-down reports success + without changing the choice, and while the list is open `seat_observe` repeats the window's tree + instead of listing the options, so don't observe then. The next release fixes both: `set_value` + fails with a message instead, and an observation lists each control once + ([changelog](../CHANGELOG.md)). - **Fields that ignore `set_value`.** Some pages only react to key presses. Use `seat_element` with `focus` on the field, then `seat_type`, and check the field afterwards. In 0.11.1 and earlier, send - long text in pieces of at most about 2,500 characters with `perCharMs` 3; later releases pace typing - themselves ([why](TROUBLESHOOTING.md#typed-text-arrives-incomplete-or-out-of-order)). + long text in pieces of at most about 2,500 characters with `perCharMs` 3. Later releases pace typing + themselves, and one call types at most about 3,000 characters at the default pace, so split longer + text across calls ([why](TROUBLESHOOTING.md#typed-text-arrives-incomplete-or-out-of-order)). - **Check the result, not the click.** `seat_wait` on the confirmation text proves the form went through; a successful `invoke` only proves the button was pressed. diff --git a/docs/TROUBLESHOOTING.md b/docs/TROUBLESHOOTING.md index ab1144b..fb97ae4 100644 --- a/docs/TROUBLESHOOTING.md +++ b/docs/TROUBLESHOOTING.md @@ -330,8 +330,9 @@ Terminal or PowerShell opened from the Start menu. See [Android apps and web con Android Emulator hypervisor driver, as on your desktop; install one with Android Studio's SDK Manager. - **"runs outside the seat".** That serial belongs to an emulator on your desktop or elsewhere, which Anode never drives. Start one in the seat and use its serial. -- **It did not finish booting in time.** A cold boot can take minutes. Check `anode android` until the - seat's emulator says `booted`; its output is in the log file `android start` names. +- **It did not finish booting in time.** A cold boot can take minutes. Check + `anode android status --json` until the seat's emulator shows `"booted": true` (the plain-text + summary doesn't show it); its output is in the log file `android start` names. ### My own documents opened in the seat