Inspiration

Running Windows games on macOS through Wine can be frustrating. When a game fails to launch, crashes, or loses audio, users are often left with enormous technical logs and cryptic error messages.

In one real troubleshooting case, a game produced approximately 23 GB of logs. We wanted to turn that experience into something approachable: instead of reading millions of log lines, users should be able to understand the likely cause and safely try a fix.

What it does

Usagibottle AI Game Doctor diagnoses Windows game problems on macOS.

It:

  1. Creates a compact digest from large Wine session logs without loading the entire file into memory.
  2. Checks a local database of known compatibility problems first.
  3. Redacts personal information and previews exactly what will be sent.
  4. Uses GPT-5.6 to analyze unknown or complicated cases.
  5. Returns a clear explanation and structured, game-specific fixes.
  6. Shows every proposed change before applying it and allows the user to restore the previous settings.

The system still provides local diagnoses when the user is offline or has not configured an API key.

How we built it

Usagibottle itself is a pre-existing native macOS launcher. The AI Game Doctor is a new feature created during OpenAI Build Week. The pre-existing launcher and the work added during Build Week are documented separately in the repository.

The application is built with Swift and SwiftUI. API credentials are stored in macOS Keychain. GPT-5.6 responses use a strict structured schema, and every executable fix is checked against a local allowlist before it can be shown or applied.

Codex was used to turn the product design into working code, create tests, inspect the existing architecture, integrate the diagnosis pipeline, and iterate on safety and privacy protections. GPT-5.6 powers the runtime diagnosis of unfamiliar Wine errors.

Challenges

The main challenges were processing logs that can grow to many gigabytes, protecting sensitive information, and preventing an AI-generated suggestion from making unsafe system-wide changes.

We addressed these problems with streaming log analysis, automatic redaction, a pre-send preview screen, structured outputs, local validation, per-game settings, confirmation dialogs, backups, and rollback support.

What we learned

AI troubleshooting becomes much more useful when the model is not treated as an unrestricted system administrator. Combining local verified knowledge, carefully selected context, structured output, and deterministic safety checks produces results that are easier to trust and act on.

What's next

We plan to expand the local compatibility database, improve diagnosis history and comparison tools, and optionally suggest a safe compatibility profile when a new game is registered.

Built With

  • api
  • codex
  • gpt-5.6
  • json
  • keychain
  • macos
  • openai
  • swift
  • swiftui
  • wine
Share this project:

Updates

Submission history