From eda6c7bd5da5625466817b352933a7d2294c1763 Mon Sep 17 00:00:00 2001 From: techjarves Date: Thu, 25 Jun 2026 20:20:48 +0530 Subject: [PATCH] rebrand to Uncensored AI Studio and implement automated backend build scripts and multi-platform setup utilities --- README.md | 280 ++++++++++++++++----------- app/frontend/index.html | 2 +- linux.sh | 10 +- mac.sh | 10 +- scripts/build/build_from_source.sh | 4 +- scripts/server/serve.cjs | 10 +- scripts/setup/setup-coreml-npu.sh | 2 +- scripts/setup/setup-openvino-npu.ps1 | 4 +- scripts/setup/setup-openvino-npu.sh | 2 +- scripts/setup/setup-whisper.ps1 | 2 +- scripts/setup/setup.ps1 | 8 +- scripts/setup/setup.sh | 4 +- windows.bat | 10 +- 13 files changed, 197 insertions(+), 151 deletions(-) diff --git a/README.md b/README.md index 8cbe1c5..3638f91 100644 --- a/README.md +++ b/README.md @@ -1,100 +1,144 @@ -# 🖼️ Local AI Image Generator +# 🖼️ Uncensored AI Studio -### An easy, zero-setup local image and text AI studio for Windows, Linux, and macOS. +

+ A premium, zero-configuration local AI studio and offline GUI for Stable Diffusion (Image Generation), LLMs (Chat), Whisper (Speech-to-Text), and Kokoro (Text-to-Speech). Powered by hardware-accelerated GPU and NPU execution on Windows, Linux, and macOS. +

-## Text Chat +

+ 100% Offline + Platforms + License +

-The Text Chat workspace runs official `llama.cpp` binaries and keeps language models separate from image models: +

+ 🎥 Watch the Setup & Demo Video: https://youtu.be/ESELhY-G_9w +

-- Image models: `app/models` -- Text GGUF models: `app/llm-models` -- Portable llama.cpp binaries: `app/llm-backend/` - -The normal platform setup installs both image and text backends. Text and image engines are mutually exclusive by default to avoid exhausting shared RAM or VRAM. A small Qwen2.5 Coder starter model is available from the Text Chat download panel. - - - -| **Generation Workspace** | **Model Library** | **Image Constraints** | -| :---: | :---: | :---: | -| | | | - ---- - - - -
-

🎥 Watch the Setup & Demo Video: https://youtu.be/ESELhY-G_9w

+

- Local AI Image Generator Video Tutorial + Uncensored AI Studio Video Tutorial -

+

--- -## 📖 Overview -**Local AI Image Generator** is a zero-configuration, portable desktop environment for running Stable Diffusion (Safetensors/GGUF/CKPT) offline on Windows, Linux, and macOS. Running `windows.bat` (Windows), `./linux.sh` (Linux), or `./mac.sh` (macOS) automatically handles dependency setup, GPU backend matching, and launches a high-performance local web workspace. + +## 📖 Table of Contents +* [What is Uncensored AI Studio?](#what-is-uncensored-ai-studio) +* [Key Features](#key-features) +* [Workspace & Engine Architecture](#workspace-architecture) +* [Folder Architecture](#folder-architecture) +* [Getting Started](#getting-started) + * [Windows Setup](#windows-setup) + * [Linux Setup](#linux-setup) + * [macOS Setup](#macos-setup) +* [Hardware Compatibility & Acceleration](#hardware-compatibility-acceleration) +* [Troubleshooting & FAQ](#troubleshooting-faq) +* [Building From Source](#building-from-source) +* [Licensing](#licensing) --- -## ⚡ Quick Start +## 📖 What is Uncensored AI Studio? -### Windows -1. **Launch:** Double-click **`windows.bat`** (downloads portable Node.js and pre-compiled GPU backend binaries on first run). +**Uncensored AI Studio** is a completely offline, zero-setup, self-contained AI studio for Windows, Linux, and macOS. Unlike cloud-based AI systems, it runs entirely on your own hardware with no censorship, tracking, subscriptions, or login requirements. + +It unifies four major local AI capabilities into one high-performance desktop interface: +1. **🎨 Image Generation (Stable Diffusion):** Generate and edit high-quality images offline using `.safetensors`, `.gguf`, or `.ckpt` model weights. +2. **💬 Text Chat (LLMs):** Converse privately with open-source language models (GGUF format) powered by official, high-performance `llama.cpp` backends. +3. **🎙️ Speech-to-Text (Whisper):** Transcribe voice recordings and speech to text in real-time with an integrated `whisper.cpp` engine. +4. **🗣️ Text-to-Speech (Kokoro TTS):** Convert text outputs into highly natural, lifelike vocal audio offline using the `Kokoro-82M` ONNX model. + +--- + +## 🌟 Key Features + +* **100% Offline & Private:** Run inferences locally. No internet, telemetry, cloud logging, or API keys required. +* **Zero-Install Portability:** Entire runtime (Node.js, models, GPU backends) is self-contained. Zero global system environment changes. +* **Auto-Configured Acceleration:** Auto-detects hardware specs to load CUDA (Nvidia), ROCm (AMD), Vulkan (Intel/AMD/NVIDIA), Metal (macOS), or OpenVINO (Intel NPU) backends. +* **Integrated Model Manager:** Paste Hugging Face URLs to download weights directly, or drag-and-drop local weights to import them. +* **Live Performance Monitor:** Track CPU, RAM, GPU, and VRAM utilization in real-time directly inside the web UI. +* **Local Output Gallery:** Saves generated images side-by-side with prompt parameters and metadata JSON files. + +--- + +## ⚙️ Workspace & Engine Architecture + +To avoid exhausting system RAM or VRAM, text and image engines are mutually exclusive by default. You can switch between workspaces inside the UI: + +* **Image Generation Workspace:** Uses a dedicated `stable-diffusion.cpp` backend node. Model weights are stored in `app/models/`. +* **Text Chat Workspace:** Uses a portable `llama.cpp` server backend. Model weights (.gguf) are stored in `app/llm-models/`. A small Qwen2.5 Coder starter model can be downloaded directly from the Text Chat panel. +* **Speech Worker (Whisper):** Runs a localized `whisper-cli` process to convert your vocal input to text. +* **Audio Output (Kokoro TTS):** Utilizes `kokoro-js` locally on the server side to read responses in natural voices. + +--- + +## 📁 Folder Architecture + +``` +Uncensored-AI-Studio/ +├── windows.bat # Windows Launcher (Double-click entrypoint) +├── linux.sh # Linux Launcher (Terminal entrypoint) +├── mac.sh # macOS Launcher (Terminal entrypoint) +├── LICENSE # MIT Open Source License +├── .gitignore # Excludes models and output images from version control +├── README.md # Detailed system documentation +├── scripts/ +│ ├── setup/ # Platform setup and backend installers +│ ├── reset/ # Clean install & environment repair +│ ├── server/ # UI web server and backend lifecycle manager +│ ├── workers/ # Local worker processes +│ ├── build/ # Optional source build helpers +│ └── config/ # Runtime configuration catalogs +└── app/ + ├── frontend/ # UI source code (Vite + React) + ├── models/ # Place image weights here (.safetensors, .gguf, .ckpt) + ├── llm-models/ # Place text GGUF weights here + └── outputs/ # Saved images and parameters metadata +``` + +--- + +## 🚀 Getting Started + +Ensure you have a modern web browser installed. Follow the quick guide below for your platform: + +### Windows Setup + +1. **Launch:** Double-click **`windows.bat`**. + > [!NOTE] + > On the first run, the script will automatically download a portable Node.js runtime and configure pre-compiled GPU/CPU backend binaries. 2. **Add Models:** Drop `.safetensors`, `.gguf`, or `.ckpt` weights into `app/models/` (or download them via the **Model Manager** tab in the UI). 3. **Generate:** Open `http://localhost:1420` in your browser, select your model, and write a prompt. -### Linux -1. **Check compatibility:** Prebuilt Linux backends are built on Ubuntu 24.04 and require **glibc 2.38+**. Run `ldd --version` to verify. -2. **Launch:** Open a terminal in the project folder and run **`./linux.sh`** (downloads portable Node.js and pre-compiled GPU backend binaries on first run). - - NVIDIA GPU users will be prompted if they want to set up the high-performance **CUDA** backend (which attempts to download a prebuilt binary first and automatically compiles from source as a fallback if conflicts are found). - - For maximum AMD GPU performance, use **`./linux.sh --max-perf`** on first setup (adds the ROCm backend). - - For Intel Core Ultra NPU support, install the Intel Linux NPU driver, then run **`./linux.sh --setup-openvino`**. -3. **Add Models:** Drop `.safetensors`, `.gguf`, or `.ckpt` weights into `app/models/` (or download them via the **Model Manager** tab in the UI). -4. **Generate:** Open `http://localhost:1420` in your browser, select your model, and write a prompt. +### Linux Setup -### macOS -1. **Check compatibility:** The prebuilt macOS backend is for **Apple Silicon (M1 or newer)** and uses **Metal** GPU acceleration. *(Note: macOS Intel hardware is completely unsupported and has not been tested.)* -2. **Launch:** Open Terminal in the project folder and run **`./mac.sh`** (downloads portable Node.js and the pre-compiled Metal backend on first run). -3. **Add Models:** Drop `.safetensors`, `.gguf`, or `.ckpt` weights into `app/models/` (or download them via the **Model Manager** tab in the UI). -4. **Generate:** Open `http://localhost:1420` in your browser, select your model, and write a prompt. +1. **Make executable:** Open a terminal in the project folder and make the script executable: + ```bash + chmod +x linux.sh + ``` +2. **Launch:** Run **`./linux.sh`**. + - **NVIDIA GPU Users:** You will be prompted to set up the high-performance **CUDA** backend (downloads prebuilt or automatically compiles from source as a fallback). + - **AMD Radeon Performance:** Run with **`./linux.sh --max-perf`** to add the ROCm backend (~1.3 GB download). + - **Intel Core Ultra NPU:** Run with **`./linux.sh --setup-openvino`** to configure Intel NPU support (requires Intel Linux NPU driver). +3. **Add Models:** Drop your weights into `app/models/` or download them via the **Model Manager** tab. +4. **Generate:** Open `http://localhost:1420` in your browser. + +### macOS Setup + +1. **Make executable:** Open a terminal in the project folder and make the script executable: + ```bash + chmod +x mac.sh + ``` +2. **Launch:** Run **`./mac.sh`**. + > [!IMPORTANT] + > The prebuilt macOS backend is optimized for **Apple Silicon (M1 or newer)** and uses **Metal** GPU acceleration. *(macOS Intel hardware is completely unsupported)*. +3. **Add Models:** Drop your weights into `app/models/` or download them via the **Model Manager** tab. +4. **Generate:** Open `http://localhost:1420` in your browser. --- -## ✨ Features -* **100% Offline & Private:** Inference runs completely locally on your hardware. -* **Auto-Detected GPU Acceleration:** Configures **CUDA** for Nvidia cards, **ROCm** for AMD cards, **Vulkan** for AMD/Intel/NVIDIA fallback, and **Metal** for Apple Silicon Macs. -* **Zero System Footprint:** Node.js is sandboxed inside the folder. No global environment paths are altered. -* **Integrated Model Manager:** Paste a Hugging Face URL to download weights directly, or drag-and-drop local weight files to import them. -* **Real-time Telemetry:** Monitor RAM, VRAM, CPU, and GPU load directly in the UI. -* **Local Gallery:** Saves generated PNGs alongside prompt metadata JSONs to `app/outputs/`. - ---- - -## 📁 Repository Structure -``` -local-ai-image-generator/ -|-- windows.bat # Main double-click entrypoint (Windows) -|-- linux.sh # Main terminal entrypoint (Linux) -|-- mac.sh # Main terminal entrypoint (macOS) -|-- PLAN.md # Linux port implementation plan -|-- LICENSE # MIT Open Source license -|-- .gitignore -|-- README.md -|-- scripts/ -| |-- setup/ # Platform setup and backend installers -| |-- reset/ # Runtime cleanup scripts -| |-- server/ # UI server and backend lifecycle manager -| |-- workers/ # Local worker processes -| |-- build/ # Optional source build helpers -| `-- config/ # Runtime configuration catalogs -`-- app/ - |-- frontend/ # UI source code (Vite + React) - |-- models/ # Place weights here (.safetensors, .gguf, .ckpt) - `-- outputs/ # Saved images and parameters metadata - ---- - -## 🖥️ GPU Compatibility Matrix +## 🖥️ Hardware Compatibility & Acceleration ### Windows @@ -121,52 +165,53 @@ local-ai-image-generator/ | :--- | :--- | :--- | :--- | | **Apple Silicon (M1 or newer)** | Metal | CPU | Uses the official Darwin arm64 stable-diffusion.cpp backend. | -**System requirements:** -- **64-bit Windows 10 or Windows 11** is required for the portable Node.js 22 runtime used by the Windows launcher. -- **glibc 2.38 or newer** is required for the prebuilt Linux backends (Ubuntu 24.04, Fedora 40+, etc.). -- The setup script will warn you if your glibc is older. You can still run setup, but the prebuilt backends will not start. -- **Linux OpenVINO NPU:** Intel Core Ultra, x86_64 Linux, kernel 6.6+, a working `/dev/accel/accel0` device, Python 3 with `venv`, and the Intel Linux NPU driver are required. -- **Apple Silicon (M1 or newer)** is required for the prebuilt macOS Metal backend. *(Note: macOS Intel hardware is completely unsupported and has not been tested.)* - -**Linux setup modes:** -- **Default (`./linux.sh`)**: Downloads CPU + Vulkan backends (~120–150 MB). If an NVIDIA GPU is detected, prompts to set up CUDA (attempts to download prebuilt, otherwise compiles from source). -- **Maximum Performance (`./linux.sh --max-perf`)**: Also downloads the ROCm backend. Total download ~1.3 GB. -- **Intel NPU (`./linux.sh --setup-openvino`)**: Creates a local OpenVINO Python environment and verifies that the Intel NPU driver exposes an `NPU` device. +> [!IMPORTANT] +> **System Requirements & Notes:** +> - **64-bit Windows 10 or Windows 11** is required for the portable Node.js 22 runtime used by the Windows launcher. +> - **glibc 2.38 or newer** is required for the prebuilt Linux backends (Ubuntu 24.04, Fedora 40+, etc.). The setup script will warn you if your glibc is older. +> - **Linux OpenVINO NPU:** Intel Core Ultra, x86_64 Linux, kernel 6.6+, a working `/dev/accel/accel0` device, Python 3 with `venv`, and the Intel Linux NPU driver are required. --- -## ⏱️ Performance Benchmarks +## 🛠️ Troubleshooting & FAQ -Typical generation times for an image with **20 steps** (e.g. 512x512 resolution; actual times can vary depending on specific hardware specifications, clock speeds, and system load): +
+ Reset Environment: If a build fails or you want to clear dependencies +

Run scripts/reset/reset.ps1 (Windows) or scripts/reset/reset.sh (Linux/macOS). This will clear temporary compilation and package caches to repair your environment. (Note: This preserves your model weights and generated output images).

+
-| Operating System | Backend / Hardware | Typical Time (512x512) | Notes | -| :--- | :--- | :--- | :--- | -| **Windows** | NVIDIA RTX (CUDA) | ~10 seconds | Native CUDA with Tensor Core acceleration. | -| **Windows** | AMD Radeon / Intel Arc (Vulkan) | ~89 seconds | Cross-vendor Vulkan GPU fallback. | -| **Windows** | NVIDIA GTX (Vulkan) | ~30 seconds | Vulkan is faster than CUDA on legacy GTX cards. | -| **Windows** | CPU | 150 - 300+ seconds | Legacy fallback, highly dependent on CPU cores. | -| **Linux** | NVIDIA RTX (CUDA) | ~10 seconds | Automated source-build / prebuilt CUDA. | -| **Linux** | AMD Radeon (ROCm) | ~15 - 30 seconds | Native AMD performance (requires ROCm drivers). | -| **Linux** | NVIDIA GTX (Vulkan) | ~29 seconds | Tested on GTX 1650 (25.5s sampling, 3.7s decode). | -| **Linux** | AMD / Intel Arc (Vulkan) | ~89 seconds | Vulkan API acceleration. | -| **Linux** | Intel Core Ultra (OpenVINO NPU) | ~15 - 40 seconds | Dedicated Intel NPU hardware acceleration. | -| **Linux** | CPU | 150 - 300+ seconds | Logical thread computation. | -| **macOS** | Apple Silicon M-Series (Metal GPU) | ~12 - 25 seconds | Native Metal backend on Apple Silicon. | -| **macOS** | Apple Silicon ANE (Apple NPU) | ~10 - 18 seconds | CoreML compilation on Apple Neural Engine. | +
+ Linux backends fail to start with GLIBC_2.38 not found +

The prebuilt binaries require glibc 2.38+ (e.g. Ubuntu 24.04). If your distribution uses an older glibc version, you can upgrade your operating system or compile the backend from source (see the Building From Source guide below).

+
+ +
+ Port Conflicts: Default port address already busy +

The web user interface runs on port 1420 by default. The GPU backend manager attempts to bind to port 8080 first, then automatically detects and falls back to a free system port if 8080 is already occupied.

+
+ +
+ Linux ROCm not loading for AMD Radeon GPUs +

Ensure your AMD GPU hardware and host kernel are fully compatible with ROCm 7.13. If ROCm fails to initialize correctly, the application will automatically fall back to Vulkan acceleration.

+
+ +
+ Windows exits with code 3221225781 (0xC0000135) +

This code means Windows could not locate a required backend DLL:

+
    +
  • For AMD/Intel Vulkan: Update your GPU driver to one with full Vulkan runtime support, then rerun the setup script to restore app/backend/win/vulkan/.
  • +
  • For NVIDIA CUDA: Install or update your NVIDIA graphics driver, then rerun the setup script to restore the CUDA runtime DLLs.
  • +
+
+ +
+ Generation shows "server is not responding or crashed" +

This indicates that the local backend engine process terminated. Check your launch terminal (where you executed windows.bat, ./linux.sh, or ./mac.sh) for the exact console error. Common causes include glibc version mismatches, missing Vulkan drivers, or system out-of-memory (OOM) issues.

+
--- -## 🛠️ Troubleshooting -* **Reset Environment:** If a build fails or you want to clear dependencies, run `scripts/reset/reset.ps1` (Windows) or `scripts/reset/reset.sh` (Linux/macOS). (This preserves your models and generated images). -* **Linux backends fail to start with `GLIBC_2.38' not found`:** The prebuilt binaries require glibc 2.38+ (Ubuntu 24.04). Upgrade your distribution or build stable-diffusion.cpp from source (see below). -* **Port Conflicts:** The frontend uses `1420` by default. The backend tries `8080` first, then automatically falls back to a free port if `8080` is already busy. -* **Linux ROCm not loading:** Make sure your AMD GPU and kernel are compatible with ROCm 7.13. The app will automatically fall back to Vulkan if ROCm cannot initialize. -* **Windows exits with code `3221225781`:** This is `0xC0000135`, which means Windows could not load a required backend DLL. For AMD/Intel Vulkan, update the GPU driver with Vulkan support, then rerun setup so `app/backend/win/vulkan/` is repaired. For NVIDIA CUDA, update the NVIDIA driver and rerun setup so CUDA runtime DLLs are restored. -* **Generation shows \"server is not responding or crashed\":** The backend process exited. Check the terminal where you ran `./linux.sh` or `./mac.sh` for the exact error (common causes are glibc mismatch, missing Vulkan drivers, or out-of-memory). - ---- - -## 🔨 Building Linux Backends From Source +## 🔨 Building From Source The setup script (`scripts/setup/setup.sh`) now automates building and setting up the CUDA backend from source when selected. If you want to manually build all backends (CPU, Vulkan, and CUDA) at once, you can run the included `scripts/build/build_from_source.sh` script. @@ -207,7 +252,7 @@ cmake .. -DSD_METAL=ON -DSD_BUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release cmake --build . --config Release -j$(getconf _NPROCESSORS_ONLN 2>/dev/null || sysctl -n hw.ncpu) # 4. Copy the binaries into this project -cp bin/sd* /path/to/Local-AI-Image-Generator/app/backend/linux// +cp bin/sd* /path/to/Uncensored-AI-Studio/app/backend/linux// ``` After copying, rename the server binary to match what `scripts/server/serve.cjs` expects: @@ -218,5 +263,6 @@ Then restart the app with `./linux.sh` (Linux) or `./mac.sh` (macOS). --- -## 📝 License +## 📝 License + This project is licensed under the MIT License - see the [LICENSE](LICENSE) file. Bundles [stable-diffusion.cpp](https://github.com/leejet/stable-diffusion.cpp) (MIT License). Model weights are subject to their respective creators' licenses. diff --git a/app/frontend/index.html b/app/frontend/index.html index aade2a9..4b2d673 100644 --- a/app/frontend/index.html +++ b/app/frontend/index.html @@ -7,7 +7,7 @@ - Local AI Image Generator + Uncensored AI Studio diff --git a/linux.sh b/linux.sh index be06954..df9c131 100755 --- a/linux.sh +++ b/linux.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# Local AI Image Generator - Linux Launcher +# Uncensored AI Studio - Linux Launcher # Double-click or run: ./linux.sh # Use --max-perf to enable ROCm backend downloads on Linux first setup. # @@ -152,13 +152,13 @@ fi if [[ -n "$SETUP_REASON" ]]; then echo "" echo " ============================================================" - echo " LOCAL AI IMAGE GENERATOR | $PLATFORM_LABEL $SETUP_MODE" + echo " UNCENSORED AI STUDIO | $PLATFORM_LABEL $SETUP_MODE" echo " ============================================================" echo "" if [[ "$SETUP_MODE" == "First-Time Setup" ]]; then echo " This looks like your first run on Linux. Setting up automatically..." else - echo " Local AI Image Generator needs a quick repair before launch." + echo " Uncensored AI Studio needs a quick repair before launch." fi echo " Reason: $SETUP_REASON" echo " Models are not downloaded during setup. Download or import them in the app." @@ -186,7 +186,7 @@ fi clear 2>/dev/null || true echo "" echo " ============================================================" -echo " LOCAL AI IMAGE GENERATOR | Launching..." +echo " UNCENSORED AI STUDIO | Launching..." echo " ============================================================" echo "" @@ -200,7 +200,7 @@ elif command -v fuser >/dev/null 2>&1; then fi # Start the server -echo " Starting Local AI Image Generator..." +echo " Starting Uncensored AI Studio..." export PATH="$NODE_DIR/bin:$PATH" export FRONTEND_PORT="$FRONTEND_PORT" diff --git a/mac.sh b/mac.sh index 7b977ed..9a2c98a 100755 --- a/mac.sh +++ b/mac.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# Local AI Image Generator - macOS Launcher +# Uncensored AI Studio - macOS Launcher # Double-click or run: ./mac.sh # @@ -124,13 +124,13 @@ fi if [[ -n "$SETUP_REASON" ]]; then echo "" echo " ============================================================" - echo " LOCAL AI IMAGE GENERATOR | $PLATFORM_LABEL $SETUP_MODE" + echo " UNCENSORED AI STUDIO | $PLATFORM_LABEL $SETUP_MODE" echo " ============================================================" echo "" if [[ "$SETUP_MODE" == "First-Time Setup" ]]; then echo " This looks like your first run on macOS. Setting up automatically..." else - echo " Local AI Image Generator needs a quick repair before launch." + echo " Uncensored AI Studio needs a quick repair before launch." fi echo " Reason: $SETUP_REASON" echo " Models are not downloaded during setup. Download or import them in the app." @@ -158,7 +158,7 @@ fi clear 2>/dev/null || true echo "" echo " ============================================================" -echo " LOCAL AI IMAGE GENERATOR | Launching..." +echo " UNCENSORED AI STUDIO | Launching..." echo " ============================================================" echo "" @@ -172,7 +172,7 @@ elif command -v fuser >/dev/null 2>&1; then fi # Start the server -echo " Starting Local AI Image Generator..." +echo " Starting Uncensored AI Studio..." export PATH="$NODE_DIR/bin:$PATH" export FRONTEND_PORT="$FRONTEND_PORT" diff --git a/scripts/build/build_from_source.sh b/scripts/build/build_from_source.sh index 9e1686b..4c6fc33 100644 --- a/scripts/build/build_from_source.sh +++ b/scripts/build/build_from_source.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# Local AI Image Generator - Compile backends from source +# Uncensored AI Studio - Compile backends from source # For Linux systems with GLIBC < 2.38 or macOS systems that need a local Metal build. # @@ -21,7 +21,7 @@ JOBS="$(getconf _NPROCESSORS_ONLN 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null | # Pinned release tag PINNED_TAG="master-685-19bdfe2" -echo "=== Local AI Image Generator - Build from Source ===" +echo "=== Uncensored AI Studio - Build from Source ===" echo "Target directories:" echo " CPU Backend -> $BACKEND_DIR/cpu" echo " Vulkan Backend -> $BACKEND_DIR/vulkan" diff --git a/scripts/server/serve.cjs b/scripts/server/serve.cjs index c020573..a995647 100644 --- a/scripts/server/serve.cjs +++ b/scripts/server/serve.cjs @@ -1548,7 +1548,7 @@ function getPathInfo(label, targetPath, type = "file") { function isDirWritable(dirPath) { try { fs.mkdirSync(dirPath, { recursive: true }); - const testFile = path.join(dirPath, `.local-ai-image-generator-write-test-${Date.now()}.tmp`); + const testFile = path.join(dirPath, `.uncensored-ai-studio-write-test-${Date.now()}.tmp`); fs.writeFileSync(testFile, "ok", "utf8"); fs.unlinkSync(testFile); return true; @@ -3267,7 +3267,7 @@ function requestHttpsJson(url, timeoutMs = 30000) { const req = https.get(url, { headers: { "Accept": "application/json", - "User-Agent": "Local-AI-Image-Generator/1.0", + "User-Agent": "Uncensored-AI-Studio/1.0", }, timeout: timeoutMs, }, (res) => { @@ -4714,7 +4714,7 @@ function startImageBackendDownload(backendId, redirectCount = 0, redirectUrl = " const client = url.startsWith("https") ? https : http; const request = client.get(url, { headers: { - "User-Agent": "Local-AI-Image-Generator/1.0 (+https://github.com/techjarves/Local-AI-Image-Generator)", + "User-Agent": "Uncensored-AI-Studio/1.0 (+https://github.com/techjarves/Uncensored-AI-Studio)", "Accept": "application/zip, application/octet-stream, */*", }, }, (response) => { @@ -4911,7 +4911,7 @@ function startModelDownload(url, overrideFilename = null, targetDir = MODELS, ki const client = url.startsWith("https") ? https : http; const request = client.get(url, { headers: { - "User-Agent": "Local-AI-Image-Generator/1.0 (+https://github.com/techjarves/Local-AI-Image-Generator)", + "User-Agent": "Uncensored-AI-Studio/1.0 (+https://github.com/techjarves/Uncensored-AI-Studio)", "Accept": "application/octet-stream, application/x-safetensors, */*", "Referer": "https://huggingface.co/", }, @@ -6741,7 +6741,7 @@ server.timeout = 0; // Disable socket timeout for large model uploads/downloads server.listen(PORT_FRONTEND, "0.0.0.0", () => { console.log(""); console.log(" ============================================================"); - console.log(" LOCAL AI IMAGE GENERATOR | Running"); + console.log(" UNCENSORED AI STUDIO | Running"); console.log(" Server Build: " + SERVER_BUILD); console.log(" Frontend : http://localhost:" + PORT_FRONTEND); console.log(" Image API: http://127.0.0.1:" + PORT_BACKEND); diff --git a/scripts/setup/setup-coreml-npu.sh b/scripts/setup/setup-coreml-npu.sh index 7358811..1c04dbe 100644 --- a/scripts/setup/setup-coreml-npu.sh +++ b/scripts/setup/setup-coreml-npu.sh @@ -44,7 +44,7 @@ coreml_venv_ready() { echo "" echo " ============================================================" -echo " Local AI Image Generator - Apple Silicon CoreML NPU Setup" +echo " Uncensored AI Studio - Apple Silicon CoreML NPU Setup" echo " ============================================================" echo "" diff --git a/scripts/setup/setup-openvino-npu.ps1 b/scripts/setup/setup-openvino-npu.ps1 index 348db27..b3b2ce8 100644 --- a/scripts/setup/setup-openvino-npu.ps1 +++ b/scripts/setup/setup-openvino-npu.ps1 @@ -30,7 +30,7 @@ function Download-File { Enable-Tls12 New-Item -ItemType Directory -Force -Path (Split-Path -Parent $Dest) | Out-Null $client = New-Object System.Net.WebClient - $client.Headers.Add("User-Agent", "Local-AI-Image-Generator-Setup") + $client.Headers.Add("User-Agent", "Uncensored-AI-Studio-Setup") $client.DownloadFile($Url, $Dest) } @@ -98,7 +98,7 @@ function Ensure-PortablePython { Write-Host "" Write-Host " ============================================================" -Write-Host " Local AI Image Generator - OpenVINO NPU Setup" +Write-Host " Uncensored AI Studio - OpenVINO NPU Setup" Write-Host " Portable Python runtime: app/tools/python-win" Write-Host " ============================================================" Write-Host "" diff --git a/scripts/setup/setup-openvino-npu.sh b/scripts/setup/setup-openvino-npu.sh index 6ba2e29..fae6466 100644 --- a/scripts/setup/setup-openvino-npu.sh +++ b/scripts/setup/setup-openvino-npu.sh @@ -12,7 +12,7 @@ PYTHON_BIN="$VENV_DIR/bin/python" echo "" echo " ============================================================" -echo " Local AI Image Generator - Linux OpenVINO NPU Setup" +echo " Uncensored AI Studio - Linux OpenVINO NPU Setup" echo " ============================================================" echo "" diff --git a/scripts/setup/setup-whisper.ps1 b/scripts/setup/setup-whisper.ps1 index 786367f..583a4af 100644 --- a/scripts/setup/setup-whisper.ps1 +++ b/scripts/setup/setup-whisper.ps1 @@ -24,7 +24,7 @@ function Download-File { Write-Host " >> Downloading $Label..." Enable-Tls12 $client = New-Object System.Net.WebClient - $client.Headers.Add("User-Agent", "Local-AI-Image-Generator") + $client.Headers.Add("User-Agent", "Uncensored-AI-Studio") try { $client.DownloadFile($Url, $DestPath) } finally { diff --git a/scripts/setup/setup.ps1 b/scripts/setup/setup.ps1 index e6f1a5a..fd8f680 100644 --- a/scripts/setup/setup.ps1 +++ b/scripts/setup/setup.ps1 @@ -1,4 +1,4 @@ -# Local AI Image Generator - Setup Script +# Uncensored AI Studio - Setup Script # scripts/setup/ lives under root, app/ is a root sibling of scripts/ $scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path @@ -15,7 +15,7 @@ $distDir = Join-Path $appDir "dist" function Print-Header { Write-Host "" Write-Host " ============================================================" -ForegroundColor Cyan - Write-Host " LOCAL AI IMAGE GENERATOR - First-Time Setup" -ForegroundColor Cyan + Write-Host " UNCENSORED AI STUDIO - First-Time Setup" -ForegroundColor Cyan Write-Host " 100% Self-Contained | No System Install Required" -ForegroundColor DarkCyan Write-Host " ============================================================" -ForegroundColor Cyan Write-Host "" @@ -218,7 +218,7 @@ if (-not $nodeReady) { } if (-not $nodeReady) { - Print-Fail "Portable Node.js install is incomplete or corrupted. Close any running Local AI Image Generator windows, delete app/tools/node-win, then run setup again." + Print-Fail "Portable Node.js install is incomplete or corrupted. Close any running Uncensored AI Studio windows, delete app/tools/node-win, then run setup again." Read-Host; exit 1 } @@ -511,7 +511,7 @@ Write-Host "" if (-not (Test-Path $npmCmd)) { Print-Fail "npm.cmd was not found at $npmCmd" - Print-Fail "Close any running Local AI Image Generator windows, delete app/tools/node-win, then run setup again." + Print-Fail "Close any running Uncensored AI Studio windows, delete app/tools/node-win, then run setup again." Read-Host; exit 1 } diff --git a/scripts/setup/setup.sh b/scripts/setup/setup.sh index c57f4f4..079aa51 100644 --- a/scripts/setup/setup.sh +++ b/scripts/setup/setup.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# Local AI Image Generator - Linux/macOS Setup Script +# Uncensored AI Studio - Linux/macOS Setup Script # Self-contained: no apt/yum/pacman, no global Node.js install. # @@ -67,7 +67,7 @@ fi print_header() { echo "" echo " ============================================================" - echo " LOCAL AI IMAGE GENERATOR - $PLATFORM_LABEL First-Time Setup" + echo " UNCENSORED AI STUDIO - $PLATFORM_LABEL First-Time Setup" echo " 100% Self-Contained | No System Install Required" echo " ============================================================" echo "" diff --git a/windows.bat b/windows.bat index ee91398..09d919e 100644 --- a/windows.bat +++ b/windows.bat @@ -1,5 +1,5 @@ @echo off -title Local AI Image Generator +title Uncensored AI Studio cd /d "%~dp0" set APP=%~dp0app @@ -56,13 +56,13 @@ goto :run_setup :run_setup echo. echo ============================================================ -echo LOCAL AI IMAGE GENERATOR ^| %SETUP_MODE% +echo UNCENSORED AI STUDIO ^| %SETUP_MODE% echo ============================================================ echo. if "%SETUP_MODE%"=="First-Time Setup" ( echo This looks like your first run. Setting up automatically... ) else ( - echo Local AI Image Generator needs a quick repair before launch. + echo Uncensored AI Studio needs a quick repair before launch. ) if not "%SETUP_REASON%"=="" echo Reason: %SETUP_REASON% echo Models are not downloaded during setup. Download or import them in the app. @@ -90,7 +90,7 @@ goto :launch :launch echo. echo ============================================================ -echo LOCAL AI IMAGE GENERATOR ^| Launching... +echo UNCENSORED AI STUDIO ^| Launching... echo ============================================================ echo. @@ -101,7 +101,7 @@ for /f "tokens=5" %%a in ('netstat -aon 2^>nul ^| findstr ":8080 "') do taskkill for /f "tokens=5" %%a in ('netstat -aon 2^>nul ^| findstr ":%LLM_PORT% "') do taskkill /f /pid %%a >nul 2>nul :: Start frontend server + backend manager (serve.cjs manages sd-vulkan.exe) -echo Starting Local AI Image Generator... +echo Starting Uncensored AI Studio... echo Opening browser at http://localhost:%FRONTEND_PORT%... start /b cmd /c "timeout /t 2 >nul && start http://localhost:%FRONTEND_PORT%"