diff --git a/.gitignore b/.gitignore index eb7b946..ec6ad13 100644 --- a/.gitignore +++ b/.gitignore @@ -32,10 +32,12 @@ model_hashes.json # Local config & assets workflow.json -*.json !pom.xml !src/** *.png *.bat *.zip +model_hashes.json +uploaded_models.json +config.json !src/main/resources/known_good_urls.json diff --git a/README.md b/README.md index 9fa5ea0..6437e87 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,13 @@ The "Bridge" is a small extension for ComfyUI that adds a "Send to Downloader" b ## 🚀 Getting Started -### Prerequisites +### ⚡ Quick Install (Pinokio) +If you use [Pinokio](https://pinokio.computer), you can install this app with one click: +1. Open Pinokio and click **Discover**. +2. Search for `ComfyUI Model Downloader` or enter the repository URL. +3. Click **Download** and then **Install**. + +### Prerequisites (Manual Install) * **Java 17 or higher** (Required to run the application) * **Maven** (Required for building from source) @@ -45,11 +51,12 @@ The "Bridge" is a small extension for ComfyUI that adds a "Send to Downloader" b ```bash mvn clean package ``` -3. Run the application: +3. Run the application: ```bash - java -jar target/comfyuimodel-downloader-1.0.5.jar + java -jar target/ComfyUIModelDownloader.jar ``` + ## 📖 How to use 1. **Configure Paths:** Go to **Settings -> Directories** and set your ComfyUI models path and an archive path. diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..10746a7 Binary files /dev/null and b/icon.png differ diff --git a/install.json b/install.json new file mode 100644 index 0000000..8f44eab --- /dev/null +++ b/install.json @@ -0,0 +1,26 @@ +{ + "run": [ + { + "method": "shell.run", + "params": { + "conda": "env", + "message": "conda install -y -c conda-forge openjdk=17 maven", + "title": "Installing Java & Maven (Local Environment)" + } + }, + { + "method": "shell.run", + "params": { + "conda": "env", + "message": "mvn clean package -DskipTests", + "title": "Building Application" + } + }, + { + "method": "notify", + "params": { + "html": "Installation complete! The 'Start' button should now be available." + } + } + ] +} diff --git a/pinokio.js b/pinokio.js new file mode 100644 index 0000000..7a39550 --- /dev/null +++ b/pinokio.js @@ -0,0 +1,18 @@ +module.exports = { + title: "ComfyUI Model Downloader", + description: "Identify and download missing models for ComfyUI workflows automatically.", + icon: "icon.png", + menu: async (kernel) => { + let installed = await kernel.exists("target/ComfyUIModelDownloader.jar") + let results = [ + { icon: "fa-solid fa-play", text: "Start", href: "start.json" }, + { icon: "fa-solid fa-rotate", text: "Update", href: "update.json" } + ] + if (installed) { + results.push({ icon: "fa-solid fa-plug", text: "Reinstall", href: "install.json" }) + } else { + results.unshift({ icon: "fa-solid fa-plug", text: "Install", href: "install.json" }) + } + return results + } +} diff --git a/start.json b/start.json new file mode 100644 index 0000000..c881083 --- /dev/null +++ b/start.json @@ -0,0 +1,12 @@ +{ + "run": [ + { + "method": "shell.run", + "params": { + "conda": "env", + "message": "java --enable-native-access=ALL-UNNAMED -jar target/ComfyUIModelDownloader.jar", + "title": "Running ComfyUI Model Downloader" + } + } + ] +} diff --git a/update.json b/update.json new file mode 100644 index 0000000..b5fa8f1 --- /dev/null +++ b/update.json @@ -0,0 +1,25 @@ +{ + "run": [ + { + "method": "shell.run", + "params": { + "message": "git pull", + "title": "Updating Source Code" + } + }, + { + "method": "shell.run", + "params": { + "conda": "env", + "message": "mvn clean package -DskipTests", + "title": "Rebuilding Application" + } + }, + { + "method": "notify", + "params": { + "html": "Update complete!" + } + } + ] +}