5.2 KiB
Automation Live Scan Runbook
This document is the durable reference for automatic artifact scanning, mouse movement, click input, elevation, and live validation status.
Current Known-Good State
Validated live on 2026-07-07 with Genshin open in the artifact inventory at 1920x1080, English UI:
npm run dev:adminstarts the app elevated after the user confirms UAC.- Runtime status reported
isElevated: true,genshinFound: true, andtargetProcess: "GenshinImpact". - The safe probe endpoint
/automation/probe-click?index=1focused Genshin, moved the cursor to the second visible inventory tile, clicked it, and changed the artifact detail panel fingerprint. - Probe result:
clicked: true,inputBlocked: false,foregroundProcess: "GenshinImpact", andchanged: true. - A bounded live auto-scan via
/scanner/start?limit=2completed with:clicked: 2,attempted: 2,verified: 2,parsed: 2,stored: 2,review: 2,misses: 0,status: "done".
This proves that the current elevated app plus helper path can deliver mouse movement and click input to the focused Genshin client in this environment.
Elevation And UAC
Use:
npm run dev:admin
The command runs scripts/dev-admin.ps1, which launches a new elevated
PowerShell window running scripts/dev-admin-start.ps1. The elevated start is
logged to:
outputs/admin-start/admin-dev.log
The user must confirm the Windows UAC prompt. The app cannot and must not click the Secure Desktop UAC prompt for itself. After confirmation, the app can verify its own runtime through the dev status endpoint.
Useful checks:
Invoke-RestMethod http://127.0.0.1:17317/health
Invoke-RestMethod http://127.0.0.1:17317/scanner/status
Expected runtime facts before automatic scan:
isElevated: truegenshinFound: truetargetProcess: "GenshinImpact"- hotkeys registered
Mouse And Click Validation
Use the probe before broad auto-scan work:
Invoke-RestMethod "http://127.0.0.1:17317/automation/probe-click?index=1" |
ConvertTo-Json -Depth 12
The probe performs one read-only inventory selection click. It does not delete, feed, enhance, lock, unlock, spend, or modify game resources.
Interpretation:
click.ok: true,clicked: true,inputBlocked: falsemeans Windows did not block SendInput/UIPI in the current configuration.focused: trueandforegroundProcess: "GenshinImpact"means the click was sent while Genshin was foreground.changed: truemeans the detail panel changed after the click.changed: falsecan be benign if the target tile was already selected or two neighboring artifacts render identically; retry with anotherindex,row, orcol.
Examples:
# Second visible tile
Invoke-RestMethod "http://127.0.0.1:17317/automation/probe-click?index=1"
# Specific grid cell
Invoke-RestMethod "http://127.0.0.1:17317/automation/probe-click?row=0&col=3"
Bounded Live Auto-Scan
For live validation, prefer a bounded scan first:
Invoke-RestMethod "http://127.0.0.1:17317/scanner/start?limit=2"
Then poll:
Invoke-RestMethod "http://127.0.0.1:17317/scanner/status" |
ConvertTo-Json -Depth 12
The /scanner/start?limit=N endpoint sends a renderer command payload with a
temporary scan limit. It does not change the normal UI setting. The normal
hotkeys and buttons still use the UI's configured scan limit.
Anti-Cheat And Safety Boundary
Do not describe the current implementation as bypassing anti-cheat. The app does not read memory, hook the process, inject code, modify game files, inspect packets, or interact with kernel drivers. It uses normal Windows screen capture, focus, cursor movement, wheel, and click input.
The practical finding is narrower:
- A non-elevated app can be blocked by Windows integrity/UIPI when the target process is elevated or protected.
- Running the app elevated fixed input delivery in the tested environment.
- Genshin's anti-cheat may still affect behavior on other machines, game modes, overlays, or future versions. Re-run the probe before trusting broad scans.
Never add automation that deletes, feeds, enhances, locks/unlocks, spends resources, reads memory, hooks, injects, or modifies Genshin.
Live Layout Facts
The current 16:9 layout profile is calibrated from a 1920x1080 English artifact-inventory capture:
- detail rect approximately
x=1308,y=120,width=492,height=838 - inventory grid:
8 x 5 - first tile center:
x=179,y=254,row=0,col=0 - second tile center:
x=325,y=254,row=0,col=1 - inventory count crop successfully read
2059/2400in the live session
The profile is resolution-scaled for 16:9. Off-profile setups should be treated as higher risk and validated with Smart Capture plus the probe.
Validation Checklist
Before marking an automation change done:
- Run
npm run lint. - Run
npx tsc -p tsconfig.electron.jsonwhen Electron/preload/main changed. - Run
npm test. - Run
npm run build. - If Genshin is available, run
/automation/probe-click?index=1. - For scan-loop changes, run
/scanner/start?limit=2before any broader scan. - Record new live findings in this file and in
docs/scanner-rework-status.md.