Purpose and evidence
A historical technical retrospective of Lexi Phase One based on the September 2026 build logs and the 12 October archive review. This is not a fresh live-machine audit or a universal installation guide. Personal names, private paths, account information and real personal-memory examples have been excluded.
System architecture
Lexi Home (custom HTML/CSS/JavaScript in Microsoft Edge) coordinated three local services: Brain (KoboldCpp), Eyes (llama.cpp with Qwen3-VL), and a Node.js memory store. The vision model generated textual image descriptions for the language model; the language model did not inspect image pixels directly.
Recorded loopback endpoints: Brain 127.0.0.1:5001, Eyes 127.0.0.1:8082, memory service 127.0.0.1:8093. These are local ports, not publicly exposed website addresses.
Hardware and tested stack
Windows 11; AMD Ryzen 5 5600G; 16GB RAM; XFX Radeon RX 580 8GB GDDR5; local SSD. Monitoring used GPU-Z 2.70.0 and MSI Afterburner 4.6.4.
Brain: KoboldCpp v1.106, Llama-3.1-8B-Lexi-Uncensored-V2-Q4_K_M.gguf, Vulkan, 28 of 33 GPU layers, 4096 context.
Eyes: llama.cpp llama-server with Qwen3VL-2B-Instruct-Q4_K_M.gguf and matching Q8_0 mmproj, 8192 context, CPU-only settings -ngl 0 --device none --no-mmproj-offload.
Memory: Node.js JSON-backed local service with a previous snapshot, health check, and review/approval workflow.
Early development and frontend
Early work included llama.cpp and SillyTavern before moving towards a custom Lexi Home frontend. KoboldCpp was evaluated during troubleshooting and became the documented Brain backend.
Browser conversation history was not equivalent to model memory. The interface sent a bounded recent conversation and selected approved memories; the entire saved history was not in context on every request.
GPU diagnostics
The RX 580 sometimes remained at 100% reported GPU-Z load, 1,366 MHz and approximately 49–52 W after inference. A 25–26 September log contained 10,256 samples, of which 5,212 reported 100% load. Its final sample recorded 49.4 W, but the log did not independently mark every process event.
Tests compared llama.cpp and KoboldCpp, Vulkan and CLBlast/OpenCL, CPU controls and AMD driver versions 25.5.1 and 26.5.2. A driver downgrade alone did not fix the 33-layer state. In one matched short prompt, CLBlast took 11.52 s and Vulkan 1.59 s; this is not a general benchmark.
Reducing GPU offload to 28 layers produced post-response idle around 300 MHz and 7–9 W in controlled tests, including tests on both drivers. The root cause and failure threshold remain unknown.
(Engineering note: the most aggressive setting was not the most practical.)
Vision troubleshooting
With Eyes, -ngl 0 and --no-mmproj-offload alone did not prevent every elevated-load case. Isolation showed the elevated state could persist after closing the interface and Brain but clear when Eyes stopped.
Adding --device none in the installed llama.cpp build yielded successful CPU-only tests including a detailed ten-panel image; GPU returned to idle. Long-duration stability was not proven.
Memory architecture and tests
The first prototype used browser localStorage with personal/continuity categories, proposed and manual entries, approval/edit/pause/delete controls and JSON import/export.
The later Node service stored approved records in JSON with a previous snapshot and offline warning. Retrieval used simple word overlap, at most three approved memories and a short text budget. Semantic search, contradiction resolution and time-aware updates were not established.
Early tests revealed ownership mistakes and over-broad summaries; targeted guards were added and approval retained. Tests confirmed persistence across refresh and independent recall without recent chat. Fully automatic memory saving remained unfinished.
(Saving a fact and assigning it to the correct owner are separate engineering problems.)
Launcher and operating workflow
A Windows batch launcher started Brain, waited approximately 60 seconds, started Eyes, waited approximately 30 seconds, then opened Lexi Home in Edge app mode. A separate disk-memory launcher started or reused the memory service.
Problems included a doubled .kcpps.kcpps configuration extension and an iteration that launched Brain twice. The tested launch path worked after correction. It still lacked complete readiness checks, duplicate Brain/Eyes prevention, automatic recovery and graceful shutdown.
Generic example configuration path: C:\LocalAI\Lexi\Config\brain-28layers.kcpps. This is a placeholder, not the private original.
Measured outcomes and caveats
Confirmed milestones: local text replies, vision descriptions, disk-backed approved-memory recall, and one-click startup in recorded tests. The 28-layer Brain and explicit CPU Eyes settings mitigated observed GPU idle issues.
Unfinished: hands-off memory management, stronger semantic retrieval, robust application lifecycle, long-term stress tests, and integrated spoken Lexi. No exact root-cause claim is made for the GPU behaviour.
Lessons and Phase One disposition
Preserve working configurations and backups. Change one variable at a time. Distinguish stored history from active model context. Separate components for diagnosis. Record measurements without confusing active-work peaks with idle readings.
Publication privacy and reproducibility
All paths in this edition are generic; no real personal memories, account identifiers, order references, email addresses, postal details or sensitive screenshots are reproduced. Local model names, tool versions and flags are retained for technical clarity.
Readers should verify current tool compatibility and licensing independently. Historical performance numbers are from specific tests, not universal benchmarks.