Adds a measurement gate for the artifact OCR parser (ADR-007), the prerequisite for the layout-profile and preprocessing rework. runOcrEval feeds labeled OCR text through the real parseArtifactCandidate and scores per-field / per-case accuracy. - src/eval/ocrEvalHarness.ts: pure metrics (per-field, critical-field, exact). - src/eval/corpus/seedCorpus.ts: 23 cases transcribed from the verified parser test assertions; runs at 100%. - src/eval/reviewSampleCorpus.ts: converts review samples into label *candidates* (never ground truth) so the review queue can grow the corpus. - src/eval/ocrEval.test.ts + reviewSampleCorpus.test.ts: gate (must stay 1.0) and converter unit tests. - npm run eval script; docs/ocr-eval.md; ADR-007/008/009. Also records the agreed rework direction: C# input/capture sidecar (ADR-008) and resolution-anchored layout profiles + OCR preprocessing (ADR-009). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Genshin Artifact Assistant
Local Windows-first Electron app for scanning Genshin Impact artifacts, triaging them, and suggesting simple character builds without depending on Inventory Kamera or Genshin Optimizer as the main workflow.
Current MVP
- Electron + React + TypeScript app shell.
- Dark purple fintech/glassmorphism UI direction.
- Genshin capture source discovery.
- Smart Capture that focuses Genshin, hides the app, captures the primary screen, and restores the app.
- Artifact detail-panel crop detection with focused OCR regions.
- OCR parser for artifact name, slot, main stat, substats, set, equipped character, confidence, and review notes.
- Demo triage and build suggestion views.
- Read-only overlay preview shell.
Documentation
This project uses the engineering template from https://git.noveria.net/bao/template adapted to this app:
- AGENTS.md
- docs/PROJECT.md
- docs/ARCHITECTURE.md
- docs/CONVENTIONS.md
- docs/DECISIONS.md
- docs/CHECKLISTS.md
- docs/workflow.md
Run
npm install
npm run dev
Use the Electron app window for scanner work. The browser preview does not expose the local capture bridge.
Automatischer Scan: als Administrator starten
Genshin läuft erhöht (Administrator). Windows (UIPI) verwirft dann alle simulierten Maus-Eingaben aus einer nicht-erhöhten App - SendInput meldet dabei trotzdem Erfolg. Für den automatischen Scan muss die App deshalb ebenfalls erhöht laufen:
npm run dev:admin(oder Doppelklick aufdev-admin.cmd) - öffnet aus einem normalen Terminal heraus einen UAC-Prompt und startet danachnpm run devin einem neuen Administrator-Fenster.- Alternativ: Terminal per Rechtsklick "Als Administrator ausführen" öffnen und darin normal
npm run devstarten.
Der UAC-Prompt lässt sich nicht dauerhaft abschalten; das ist Windows-Design. Die gepackte App fordert Admin-Rechte über requestedExecutionLevel: requireAdministrator selbst an. Die App zeigt im Scanner-Header und in der Scanner-Diagnose nur an, ob sie gerade erhöht läuft - sie startet sich nicht selbst neu.
Validate
npm run lint
npm test
npm run build
Safety Boundaries
- No memory reads.
- No hooks or process injection.
- No game file modification.
- No automatic delete, enhance, feeding, or resource-spending actions.
- In-game lock/marking is a future opt-in module and remains disabled in this MVP.