English Readme • Wiki • Discussions • Notices • License
Dataset Tools NextJS Edition is a local-first web application for browsing AI image datasets with comprehensive metadata extraction. Built from the ground up in TypeScript — no Python dependencies, no OpenCV duct tape, no NumPy startup tax. Running on Next.js 16, React 19, and shadcn/ui components.
This project is inspired by stable-diffusion-prompt-reader and thrives on community contributions. Found a bug? Have a workflow that won't parse? Want to add support for a new tool? We welcome forks, fixes, and pull requests!
Navigation Features • Supported Formats • Installation • Usage • Contributing
Clone repo
git clone https://github.com/Ktiseos-Nyx/Dataset-Tools.git
cd Dataset-Tools
npm install
npm run dev
For production:
npm run build && npm start
npm run dev → open http://localhost:3000| Feature | Status | Details |
|---|---|---|
| Metadata Parsing | ✅ | 90% success rate. Graph-tracing engine for ComfyUI, field-based detection for A1111/Forge/NovelAI. |
| Image Viewing | ✅ | PNG, JPG, JPEG, WebP. Zoom (25-400%), rotation, fit-to-container. |
| File Browsing | ✅ | Recursive lazy-loading file tree. Browse any folder on your system. |
| Drag & Drop | ✅ | Drop an image to auto-detect its folder and extract metadata. |
| Thumbnails | ✅ | Sharp-powered WebP thumbnails with disk cache (.thumbcache/). |
| Sorting | ✅ | Sort by name, date modified, or file size. (Thumbnail Sorting Coming Soon) |
| Accent Colors | ✅ | 7 color themes (zinc, red, orange, green, blue, violet, pink) with dark mode support. |
| WebP Metadata | ⚠️ | Viewing works. Metadata extraction in development.(Not all webP will have metadata, but some animated ones will) |
| ComfyUI Workflows | ✅ | 3-phase extraction: field-based scan → graph trace → type-match fallback. Handles custom nodes, service detection and more. |
| Github Lookup | ✅ | If a node isn't found the first time, search, search again. |
As we had in the python edition our journey is marked with making sure as many of the popular and niche sites with generation services are tagged for easy detection. If your workflow or website has a custom pattern for resource detection, our tool is likely to be able to find it. If it hasn't been hashed and dashed through to the tool yet, just flick an issue up and we'll hook it up ASAP.
Examples of this are Tensorart, Forge, ArcEncCiel, CivitAI and Yodayo.
Many tools desktop or remote based have patterns, so the key is either in the metadata handling, or the resource identification.
The Python edition relied on fragile heuristics. This engine uses deterministic graph traversal with proper node relationship mapping. It follows wires backwards from sampler nodes to find prompts, identifies nodes by their data (not just class_type), and handles platform-wrapped node names via substring matching. When it fails, logs show exactly why.
The Python edition worked at 65% success rate with heuristic spaghetti. This NextJS engine hits 90% success rate on complex ComfyUI workflows using deterministic graph traversal. Metadata is parsed in pure JavaScript — no waiting for Python to boot, no OpenCV overhead.
While this is working 99% better than our original python app, please be aware that as we move this into "ALPHA TESTING" that there will be more bugs, we can't provide enough pre-catching for bugs as we tried for the original python. So we're hoping that the amount of work we've put into porting this into a much easier format you can help test.
Open an issue with the details above. Real-world edge cases are how we push past 90%.
npm install → npm run devapp/api/metadata/route.tsMetadata Samples/ folderQ: Are you working on putting this into an executable format?
A: Yes, eventually we'll port this to Electron or see what Tauri needs, we're likely for ease of use likely going to use Electron, as for this we're not sure how Tauri would effect the rendering of metadata or otherwise.
Q: Are you aware that NextJS/Node has more CVE's and is the Number ONE VIBE CODED language this side of the moon?
A: Yes, but just like our python version and anything else we build, we're not like other "VIBE CODED TOOLS" we demand security, peace of mind and a way through the mess. Unlike the trainer which uses major ML stacks to survive, we can promise you A LOT more security with this. As long as you're not installing this on an OpenClaw instance you're fine.
Q: But Chrome Sucks!
A: Duskfallcrew personally reccomends the use of Vivaldi which is a CHROMIUM fork, Electron is only as "BLOATED" as the packages you port with it, along with web trackers and unmitigated cache, image sizes and lazy loading issues. When we port our executable mode, we'll make sure the thing runs on every flipping potato machine out there!
Q: Why is this not already 100% Done?
A: Because I have 20 projects on the go? Plus i'm currently the solo dork with AI assistance, yes Joel does supervise and add things to the code, his ComfyUI lookup tool is what powers this - Exception: Claude translated it to node because Joel's actually a real life developer, he's not got time to do EVERYTHING. Plus when he's not at work or with his family: He's an A+ Smexy FFXIV player! He beats our Miqo'te's poor fashion choices just by existing!
GNU General Public License v3.0
SPECIAL THANKS
$ claude mcp add Dataset-Tools \
-- python -m otcore.mcp_server <graph>