Deterministic Linux gaming log analyzer for Proton, Steam, DXVK, VKD3D, and Vulkan issues.
Fingerprint-first: pattern matching runs against a hardcoded knowledge graph. OpenAI GPT-4.1-mini is called only when no fingerprint matches.
- Backend — FastAPI (Python), SQLite, regex-based fingerprint engine
- Frontend — Next.js 16, TypeScript, Tailwind CSS
# Backend
cd backend
cp .env.example .env # add OPENAI_API_KEY
uvicorn main:app --reload
# Frontend (separate terminal)
cd frontend
npm install
npm run devOpen http://localhost:3000.
cp backend/.env.example backend/.env # add OPENAI_API_KEY
docker compose build
docker compose up -dSee DEPLOYMENT.md for VPS deployment with HTTPS (Caddy).
Upload Log → Parse → Extract Evidence → Generate Hypotheses
→ Rank Fingerprints → Build Dependency Chain → Resolve Known Issues
→ [fallback] OpenAI GPT-4.1-mini → Return Diagnosis + Store in SQLite
The knowledge base is hardcoded Python dicts in backend/fingerprints/. To add a new issue type:
- Add a
FingerprintDefinitionfollowingfingerprints/models.py - Add entries to
ERROR_PATTERNSinfingerprints/database.py - Optionally add a solution to
KNOWN_ISSUESinfingerprints/known_issues.py - Optionally wire causal relationships in
ROOT_CAUSE_GRAPHinfingerprints/dependencies.py
MIT