First start: the setup wizard
The wizard runs once, in its own small window. Four steps: the engine, image and video, a first model, and documents. Every button label below is the one on screen.
The wizard window
The first time the app starts, it opens a small window of its own instead of the main window. The window is not resizable and has only a minimize and a close button. Above the content a row of dots and a caption such as "Step 2 of 4 · Image & video" tells you where you are. The four steps are Engine, Image & video, Model and Documents. A welcome screen comes before them and a confirmation after them, but neither asks anything of you.
The welcome screen reads "LU by LU Labs" and one sentence: "Private, local AI chat that works right away. No extra software to install. No servers, no tracking, everything stays on your machine." Click "Get Started". The app immediately scans your machine for engines that are already running, which is the first step.
You can run the wizard again at any time from Settings, General, Onboarding, with the button "Re-run onboarding". It reloads the app and starts from the welcome screen.
Step 1 of 4: Engine
An engine is the program that runs a language model. The app ships one, the LU Engine, and can also use one you already have. While the scan runs you see "Scanning for local backends..." and "Checking 12 backends on their default ports." That takes a few seconds.
When the scan is done the screen says "Ready to chat" and "LU runs its own engine on your machine. Nothing to install. Pick a starter model next." One card is already selected: "LU Engine", with the line "Runs on your machine · nothing to install". Click "Continue". This is the right choice for almost everyone, and it is the path the rest of this handbook assumes.
Below the Continue button is a folded line, "Use another engine (Ollama, LM Studio…)". Open it only if you already run one of those.
If the scan found something, the heading reads "1 backend detected" (or the number found) and, for one hit, "Ollama is running. Select it to connect." Each hit is a card with its name and the address it listens on, for example "localhost:11434". Select one and click "Use this engine". "Re-Scan" runs the scan again, for example after you started the server.
If the scan found nothing, the heading reads "No local backend detected" and the text offers to install Ollama with the button "Install Ollama". A second button, "Or install LM Studio (GUI app, ~570 MB)", installs LM Studio instead. If LM Studio is on the machine but its server is off, the heading reads "LM Studio detected" and the button reads "Start LM Studio server". "Other backends" folds out a list of ten more engines with links to their sites; the app does not install those, it only connects to them once they run. "Skip for now" leaves this step without choosing anything.
The scan checks these engines on their default ports: Ollama (11434), LM Studio (1234), Jan (1337), GPT4All (4891), KoboldCpp (5001), llama.cpp (8080), vLLM (8000), LocalAI (8080), text-generation-webui (5000), TabbyAPI (5000), Aphrodite (2242) and SGLang (30000).
Step 2 of 4: Image and video
Images and video are made by ComfyUI, a separate program that the app installs and manages for you. This step reads "Image & Video Generation" and "Generate images and videos right from the app. We'll set everything up for you." It is optional: you can skip it and install ComfyUI later from Settings, AI Backends, ComfyUI (Image & Video), or from the setup card that appears the first time you open a Create lane.
The line "Looking for ComfyUI..." appears while the app searches the usual places. If it finds a working install, a green card says "ComfyUI detected" with the folder underneath, and the button reads "Continue".
If it finds more than one install, it asks: "Multiple ComfyUI installs detected" and "Pick the one you want LU to use. We'll remember your choice, and you can change it later in Settings → ComfyUI." Each option shows the folder, whether it is "ready" or "needs setup", and where it was found. The link "None of these, let me install a fresh one" starts a new install instead.
If it finds a folder that was left half finished, the text says "Found a previous ComfyUI install at (folder) but it's missing PyTorch, looks like a previous install was interrupted. Click below to finish it."
With no install found you get two buttons. "Install ComfyUI (Recommended)" downloads and sets everything up. On Windows the app first checks for Python; if there is none, a card reads "Installing Python 3.12..." with the note "ComfyUI needs Python to run pip. We're installing it via winget, about 30 MB and 30 to 60 s on a typical connection." Then "Installing ComfyUI..." runs with a progress bar, the download speed, an estimated time, and a "Cancel" button. The install lands in your home folder unless you set another path in Settings later. When it is done the card reads "ComfyUI is ready" and the app starts ComfyUI once to prove it.
"I already have ComfyUI" opens a text field with the placeholder "C:\ComfyUI". Paste the folder that holds ComfyUI's main.py and click "Connect".
"Re-Scan" repeats the search. "Skip for now" moves on without ComfyUI.
Step 3 of 4: Model
A model is the file the engine runs. This step reads "Pick a starter model" and "One small model to get you running. You can browse and install more from the Models tab once you're in."
There is one card: "Qwen 2.5 7B (Starter)", marked "Recommended", with the description "7B chat model, Q4_K_M. Allow additional memory for context and the operating system. Download time and response speed depend on your hardware." and the line "4.4 GiB · VRAM: about 6 GB for GPU offload, context-dependent". Click the card so it shows a tick, then click "Install 1 model". The card shows "Downloading Qwen 2.5 7B (Starter)..." with the bytes so far and a percentage. The wizard waits until the whole file is on disk, then starts the LU Engine on it, so your first message goes to a model that is really there.
If your graphics card has less memory than the model wants, a grey line under the description says "Full GPU offload may not fit. Use CPU/offload settings or skip local setup." The download still works. When the engine starts, it decides how many of the model's layers go on the card and writes that decision and its reason into the log file; chapter 9 explains the GPU Layers setting that overrides it.
If the engine you chose in step 1 already has chat models, the heading reads "Pick your chat model" instead, with the note "Choose the model LU should open with. You can switch anytime from the picker next to the message box." Your models are listed first under "Models you already have", in the order your engine reports them and without any ranking. Below them, "Or install another one" leads to the starter card. Once you have picked one, the button reads "Continue"; otherwise it reads "Skip for now".
Step 4 of 4: Documents
This step reads "Document Chat (optional)" and "Drop a PDF, Word doc, or text file into chat and the model can answer questions about it. Needs a small embedding model." An embedding model turns text into numbers so the app can find the passages of a document that match your question. It never writes an answer itself.
The card is "nomic-embed-text" with the note "Standard embedding model from Nomic AI. Used purely on-device to chunk and retrieve your documents, never sent anywhere." On the LU Engine it is an 84 MB download and the button reads "Install nomic-embed-text (84 MB)"; on Ollama it is 274 MB. When it is done the card reads "Installed. Document Chat is ready." and the button reads "Continue". If the app already finds an embedding model on your machine, it says "Embedding model already installed, Document Chat is ready." and skips the download.
"Skip for now" leaves document chat for later. The Documents panel in the chat offers the same download whenever you first drop a file.
Setup complete
The last screen reads "You're all set!" and one of four lines: how many models were installed and "You're ready to go."; "The LU Engine is ready. Install a model anytime from the Models tab."; "Connected to (your engine). You're ready to go."; or "You can configure backends and install models anytime from Settings and the Models tab." Click "Get Started". The button changes to "Opening LU…", the wizard window closes and the main window appears. The release notes sheet does not open after a fresh install; it opens once after each later update.
When it goes wrong
"Installing Ollama did not finish." or "Installing LM Studio did not finish." The last line of the installer's own output is shown under the sentence. Check your connection and disk space, then click the install button again. Nothing needs to be uninstalled first.
"The LM Studio server did not start. Open LM Studio and start its local server from the Developer tab, then continue here." LM Studio's server is a switch inside LM Studio. Turn it on there and click "Re-Scan".
"Installing Python did not finish." (Windows) The app uses winget to fetch Python 3.12. If winget is missing or blocked on your machine, install Python 3.12 from python.org yourself, then click "Install ComfyUI (Recommended)" again.
"Installing ComfyUI did not finish." The last installer line is shown. A red line beginning with a warning triangle during the install means the drive is short of space; the install needs several gigabytes free. Free some space and click the button again; files that finished are kept.
"Install cancelled." You pressed Cancel. The install options return and you can start again or skip.
"ComfyUI is installed but did not start. You can start it from Settings → ComfyUI later; the rest of the setup is unaffected." The install is complete. Finish the wizard, then open Settings, AI Backends, ComfyUI (Image & Video) and press "Start"; if it still fails, "Show output" there prints what ComfyUI said, and chapter 9 lists the usual causes.
"The path was saved, but ComfyUI did not start from it. Check that the folder holds a complete ComfyUI install, then start it from Settings → ComfyUI." The folder you typed exists but is not a whole ComfyUI. Point the app at the folder that contains main.py, or use "Install ComfyUI (Recommended)".
"Cannot reach Ollama (localhost:11434). Open the Ollama app or run `ollama serve`, then retry." You chose Ollama as the engine and it is not running. Start it and click "Install 1 model" again.
"Could not create the LU Engine model folder. Check app permissions and retry." The app could not create its models folder (chapter 9 lists where that is). A folder permission or a full drive is the usual cause.
"Model downloaded, but the LU Engine did not find (file) in its model folder." or "Model downloaded, but the LU Engine failed to start: (reason)" The download worked and the engine did not. Finish the wizard, then open the Models tab: the model is there under Installed with a "Use" button. The reason after the colon is one of the engine sentences chapter 9 explains.
"Download failed for Qwen 2.5 7B (Starter): (reason)" The download broke off. Finish the wizard and start the download again from the Models tab; the part that arrived is kept and the download resumes.
"Embedding setup failed: (reason)" or "Pull failed: (reason)" Skip the step; the Documents panel in the chat offers the same download later.
"LU could not save that setup is complete: (reason)" The wizard finished but could not write its marker file. Click "Get Started" again; the settings are already saved and a second click only rewrites the file.
Previous chapter: Install. Next chapter: Chat. Back to the handbook overview.