$ show RupertAvery/DiffusionToolkit
Diffusion Toolkit is a WPF desktop application for organizing, searching, and browsing AI-generated images. It scans folders for images, extracts generation parameters (prompt, seed, model, CFG, workflow, etc.) from multiple formats (AUTOMATIC1111, ComfyUI, NovelAI, etc.), and stores them in a SQLite database for fast metadata search, filtering, and album management. The application provides a rich thumbnail grid, preview pane, folder/album/tag navigation, and supports videos, external applications integration, and autoβupdating via GitHub releases. Although it demonstrates a depth of domain knowledge and addresses a real need for AI artists, the codebase has notable architectural antiβpatterns (global static service locator, monolithic classes, raw SQL in migrations, large XAML files), is tied to Windows/WPF with no headless component, and uses a forked version of sqliteβnet. The code is actively maintained with frequent commits, but its reusability is limited by tight coupling and lack of an inversion of control container.
The LLM identified 3 files worth highlighting for reuse:
Encapsulates HTTP client logic to interact with Civitai's REST API for model retrieval by hash. Contains request building, error handling, and JSON deserialization. Isolated with minimal external dependencies (HttpClient, System.Text.Json). Could be extracted for any .NET application needing Civitai integration.
Defines a filter abstraction for ComfyUI workflow node properties with comparison operations (equals, contains, startsβwith). Reusable as a generic structured data query pattern.
Parses and compares semantic version strings (major.minor.patch) with support for pre-release labels and custom formatting. Isolated, zero dependencies, and demonstrates good immutable state pattern. Useful for any application that needs semantic version handling.