|
1 | | -# Resolver: Native Android Client for WebUI Forge & ComfyUi (Flux, SDXL & Qwen) |
| 1 | +# Resolver: Native Android Client for WebUI Forge & ComfyUI |
2 | 2 |
|
3 | | - |
4 | 3 |  |
5 | 4 |  |
6 | 5 |  |
7 | 6 |
|
8 | | -**Resolver** is a high-performance, native Android interface for [Stable Diffusion WebUI Forge Neo](https://github.com/Haoming02/sd-webui-forge-classic/tree/neo). |
9 | | - |
10 | | -**New in v1.3:** Resolver now features a dedicated **ComfyUI Engine** for workflow execution, centralized **Configuration (CFG)** for seamless Local/External switching, a remote "Kill Switch", **Flux First Block Cache (FBC)** integration, and native **Hi-Res Fix** support. |
11 | | - |
12 | | -Unlike standard browser wrappers, Resolver is built with a **Hybrid Architecture** (Capacitor 6.0 + Vanilla JS) and utilizes **Native Android Foreground Services** to ensure your generation queues never die in the background. |
| 7 | +**Resolver** is a high-performance, native Android interface for AI image generation. It is built using a **Hybrid Architecture** (Capacitor 6.0 + Vanilla JS) and utilizes **Native Android Foreground Services** to ensure generation queues remain active in the background or while the screen is off. |
13 | 8 |
|
14 | 9 | --- |
15 | 10 |
|
@@ -66,108 +61,84 @@ Unlike standard browser wrappers, Resolver is built with a **Hybrid Architecture |
66 | 61 |
|
67 | 62 | ## ⚡ Key Features |
68 | 63 |
|
69 | | -### ⚡ v1.3 Connectivity & Power |
70 | | -* **Smart Connection Mode:** Toggle instantly between **Local Mode** (Auto-appends ports to local IPs) and **External Mode** (Enforces HTTPS for Ngrok/Cloud tunnels, ignoring ports). |
71 | | -* **Custom Service Ports:** Define independent ports for your WebUI (Default: `7860`), LLM Server (`1234`), ComfyUI (`8188`), and Power Service (`5000`) inside the CFG tab. |
72 | | -* **Remote Wake & Kill:** Use the "Bojro Dev Power" controls to send Wake-on-LAN signals or a **KILL!** signal to immediately halt the backend server from your phone. |
| 64 | +### Forge WebUI Core |
| 65 | +* **Primary Integration:** Resolver is natively optimized for [WebUI Forge Neo (Haoming02)](https://github.com/Haoming02/sd-webui-forge-classic/tree/neo) and the original [lllyasviel Forge WebUI](https://github.com/lllyasviel/stable-diffusion-webui-forge). |
| 66 | +* **Native API Communication:** Utilizes direct API endpoints for rapid state synchronization and command execution. |
| 67 | +* **Smart Connection Mode:** Toggle between **Local Mode** (automatic port appending) and **External Mode** (enforced HTTPS for Ngrok/Cloudflare). |
| 68 | +* **Remote Power Control:** Integrated "Bojro Dev Power" for Wake-on-LAN and a remote **KILL!** signal to stop the backend server instantly. |
73 | 69 |
|
74 | | -### ⚡ ComfyUI Engine |
75 | | -* **Workflow Orchestration:** Load standard API-compatible ComfyUI `.json` workflows directly into the app. |
76 | | -* **Dynamic UI Generation:** The engine automatically parses the workflow graph to build native sliders, dropdowns, and text inputs for samplers, checkpoints, and prompts. |
77 | | -* **Live WebSocket Feedback:** Features real-time step monitoring and binary image previews delivered via persistent socket connections. |
78 | | -* **Integrated Gallery:** Automatically archives final ComfyUI outputs into the main Resolver history for cross-engine metadata analysis. |
| 70 | +### ComfyUI Engine |
| 71 | +* **Workflow Orchestration:** Execute API-compatible ComfyUI `.json` workflows directly within the app. |
| 72 | +* **Dynamic UI Generation:** Automatically parses workflow graphs to generate native sliders, dropdowns, and text inputs for samplers, checkpoints, and prompts. |
| 73 | +* **Live WebSocket Feedback:** Real-time step monitoring and binary image previews via persistent socket connections. |
| 74 | +* **Unified Gallery:** Automatically archives ComfyUI outputs into the main history for cross-engine metadata analysis. |
79 | 75 |
|
80 | | -### ⚡ Flux First Block Cache (FBC) |
81 | | -* **Native Integration:** First mobile client to support the **Forge Block Cache** extension. |
82 | | -* **Speed Boost:** Skip redundant diffusion steps (`bnb-nf4`, `fp8`) to significantly reduce generation time on Flux models. |
83 | | -* **Tunable:** Adjust threshold and skip steps directly from the Flux UI. |
| 76 | +### Flux First Block Cache (FBC)(Only lllyasviel Forge WebUI) |
| 77 | +* **Performance Boost:** Native support for the Forge Block Cache extension to reduce generation times. |
| 78 | +* **Optimization:** Skips redundant diffusion steps for `bnb-nf4` and `fp8` Flux models. |
| 79 | +* **Direct Control:** Threshold and skip step adjustments accessible directly via the Flux UI. |
84 | 80 |
|
85 | | -### ⚡ Native Hi-Res Fix |
| 81 | +### Native Hi-Res Fix |
86 | 82 | * **Upscaling Engine:** Full support for `Hires. fix` across SDXL, Flux, and Qwen modes. |
87 | | -* **Controls:** Select upscalers (ESRGAN, etc.), set denoising strength, and upscale factors within the app. |
| 83 | +* **Customization:** Adjustable upscalers (ESRGAN, etc.), denoising strength, and upscale factors. |
88 | 84 |
|
89 | | -### ⚡ True Background Generation |
90 | | -* **Native Foreground Service:** Uses a Java-based service and Wake Locks to keep WebSocket connections alive during long Flux GGUF workflows or massive batch queues, even when the screen is off. |
91 | | -* **Queue Persistence:** Robust state management system for Ongoing, Next, and Completed jobs. |
| 85 | +### True Background Generation |
| 86 | +* **Foreground Service:** Java-based service with Wake Locks to maintain active WebSocket connections during long Flux GGUF tasks or batch queues. |
| 87 | +* **Persistence:** Robust management for Ongoing, Next, and Completed jobs. |
92 | 88 |
|
93 | | -### ⚡ Advanced Generation Engines |
94 | | -* **Flux GGUF Optimized:** Includes dedicated selectors for VAE, CLIP, and T5-XXL models, with support for specific quantization bits. |
95 | | -* **Qwen / Z-Image Turbo:** Specialized "Turbo Generate" mode for Qwen models with dense narrative support. |
96 | | -* **SDXL Powerhouse:** Full control over sampling, scheduling, and aspect ratio locking. |
97 | | -* **Mobile Inpainting:** A touch-optimized canvas editor with mask blurring, soft inpainting, and denoising controls. |
| 89 | +### Advanced Generation Engines |
| 90 | +* **Flux GGUF:** Support for VAE, CLIP, and T5-XXL selectors with specific quantization bit settings. |
| 91 | +* **Qwen / Z-Image Turbo:** Specialized mode for Qwen models with dense narrative support. |
| 92 | +* **SDXL Powerhouse:** Comprehensive control over sampling, scheduling, and aspect ratio locking. |
| 93 | +* **Mobile Inpainting:** Touch-optimized canvas editor with mask blurring and denoising controls. |
98 | 94 |
|
99 | | -### ⚡ Magic Prompt (Local LLM) |
100 | | -* **Smart Expansion:** Integrates with local LLM servers (LM Studio, Ollama) to translate simple ideas into professional prompts. |
101 | | -* **Dynamic Mode Switching:** Automatically applies specialized system prompts for SDXL, Flux, and Qwen narratives. |
| 95 | +### Magic Prompt (Local LLM) |
| 96 | +* **Smart Expansion:** Connects to local LLM servers (LM Studio, Ollama) to translate simple ideas into complex prompts. |
| 97 | +* **Mode Awareness:** Automatically switches system instructions based on the active engine (SDXL, Flux, or Qwen). |
102 | 98 |
|
103 | 99 | --- |
104 | 100 |
|
105 | 101 | ## ⚡ Backend Setup (Mandatory) |
106 | 102 |
|
107 | | -To enable communication between the Android app and your PC, you must add the following launch arguments to your backend services: |
108 | | - |
109 | 103 | **WebUI Forge:** |
110 | | -Edit your `webui-user.bat` and set the following: |
| 104 | +In `webui-user.bat`, set: |
111 | 105 | `set COMMANDLINE_ARGS=--listen --api --cors-allow-origins *` |
112 | 106 |
|
113 | 107 | **ComfyUI:** |
114 | | -Append these flags to your launch command (after the python call): |
| 108 | +Append these flags to your launch command: |
115 | 109 | `--listen --enable-cors-header *` |
116 | 110 |
|
117 | 111 | --- |
118 | 112 |
|
119 | 113 | ## ⚡ Magic Prompt (LLM) Setup |
120 | 114 |
|
121 | | -To use the "Magic Prompt" feature, it is highly recommended to host a **Bojro PromptMaster** model on your PC. |
122 | | - |
123 | | -1. **Download a Model:** Get the GGUF version of your choice from Hugging Face: |
124 | | - * 👉 **[PromptMaster v2 (Uncensored)](https://huggingface.co/bojrodev/BojroPromptMaster_uncensored_v2-8B)** (Recommended) |
125 | | - * 👉 **[PromptMaster v1 (Uncensored)](https://huggingface.co/bojrodev/BojroPromptMaster-v1-8B)** |
126 | | -2. **Run Server:** Load the model into **LM Studio** or **Ollama** and ensure it is serving on your local network (e.g., `http://192.168.1.10:1234`). |
127 | | -3. **Connect App:** |
128 | | - * In Resolver, tap the **Bot Icon** to open the Magic Prompt modal. |
129 | | - * Enter your LLM Server URL (or configure the Port in the **CFG Tab**) and tap **Connect**. |
130 | | - * The app will automatically use specialized system instructions for each image generation mode. |
| 115 | +Host a **Bojro PromptMaster** model on your PC: |
| 116 | +1. **Download:** [PromptMaster v2 (Uncensored)](https://huggingface.co/bojrodev/BojroPromptMaster_uncensored_v2-8B) or [v1](https://huggingface.co/bojrodev/BojroPromptMaster-v1-8B). |
| 117 | +2. **Server:** Load into **LM Studio** or **Ollama** on your local network. |
| 118 | +3. **Connect:** Open the Bot modal in Resolver, enter the server URL, and save. |
131 | 119 |
|
132 | 120 | --- |
133 | 121 |
|
134 | | -## ⚡ Remote PC Wake (The Power Button) |
135 | | - |
136 | | -Resolver features a remote power signal to start (or stop) your WebUI directly from the app home screen. |
137 | | - |
138 | | -**Requirement:** Requires the `BojroPowerv3portable.exe` helper running on your PC. |
| 122 | +## ⚡ Remote PC Wake |
139 | 123 |
|
140 | | -1. **Run Helper:** Execute the helper app on your PC. |
141 | | -2. **Configure:** Go to the **CFG Tab** in Resolver and set your **Wake Port** (Default: `5000`). |
142 | | -3. **Wake:** Tap the Power Button (ტ) to send a start signal. |
143 | | -4. **Kill:** Tap the **KILL!** button to remotely stop the services. |
144 | | - |
145 | | ---- |
146 | | - |
147 | | -## ⚡ Workflow & LoRA Management |
148 | | -* **Neo Bridge:** Browse LoRAs by folder with smart thumbnail caching. |
149 | | -* **Config Injection:** Set preferred weights and trigger words that auto-inject into your prompts. |
150 | | -* **Metadata Analysis:** Built-in PNG Info reader with one-tap "Copy to Mode" functionality to restore parameters from history. |
| 124 | +Requires `BojroPowerv_x_portable.exe` on the host PC. |
| 125 | +1. **Run Helper:** Execute the utility on your PC. |
| 126 | +2. **Configure:** Set the **Wake Port** (Default: `5000`) in the **CFG Tab**. |
| 127 | +3. **Operation:** Use the Power Button (ტ) to start or the **KILL!** button to halt services. |
151 | 128 |
|
152 | 129 | --- |
153 | 130 |
|
154 | 131 | ## ⚡ Installation & Building |
155 | 132 |
|
156 | 133 | ### Installation |
157 | | -1. Install **WebUI Forge (Neo)** and/or **ComfyUI** on your PC. |
158 | | -2. Download the latest `.apk` from the **Releases Page**. |
159 | | -3. Ensure your phone and PC are on the same Wi-Fi. |
160 | | -4. Navigate to the **CFG Tab**, enter your PC's IP, and tap **Save Configuration**. |
| 134 | +1. Install **WebUI Forge** and/or **ComfyUI** on your PC. |
| 135 | +2. Download the latest `.apk` from the **Releases**. |
| 136 | +3. Ensure phone and PC are on the same Wi-Fi. |
| 137 | +4. Set PC IP in the **CFG Tab** and save. |
161 | 138 |
|
162 | 139 | ### Building from Source |
163 | 140 | ```bash |
164 | | -# Clone the repository |
165 | 141 | git clone [https://github.com/bojrodev/Resolver-WebUI-Forge-Client.git](https://github.com/bojrodev/Resolver-WebUI-Forge-Client.git) |
166 | | - |
167 | | -# Install dependencies |
168 | 142 | npm install |
169 | | - |
170 | | -# Sync and open Android project |
171 | 143 | npx cap sync |
172 | 144 | npx cap open android |
173 | | -# Open the Android Project in Android Studio |
0 commit comments