Repository navigation
NEXUS AI Studio (English)
Version 25
English · Français · 日本語 · 한국어
Open the browser trial · Download the full application · README
A local AI workspace for chat with supported language models through its custom WebGPU or Nexus.cpp inference engine.
Open the trial, choose your GPU profile and memory capacity in Models & settings, then select a local GGUF model and load it for chat. No model is bundled. The custom WebGPU engine checks the model architecture, tensor graph, quantization and tokenizer. A working WebGPU adapter and enough memory are required; selecting a GPU profile does not prove compatibility or measure free VRAM. RX 7900 XT and XTX presets represent nominal 20 GB and 24 GB capacities.
The single HTML file embeds the interface, inference code and tokenizer/template library for online evaluation without Python, installation or a build step. Model import and loading take additional time. The trial does not upload model data, use a local server or fall back to CPU inference. Native Nexus.cpp, online services, voice, camera and teacher features are not included.
The full local application integrates model checks, controllable conversation state and inspectable diagnostics across its separate browser and native engines. Native protocol 3 provides Stop, New Chat, prefix caching and sampler controls; native executables must be rebuilt for those features. Native batch remains one token per step; native Flash Attention and reduced-precision KV are not implemented.
Download the complete package and keep its numbered data files, manifest, installer and supplied layout. Run Install_Nexus_AI.py with CPython 3.10+; recorded Linux checks used 3.12.14. Nexus AI does not use a PyTorch backend. The full application needs its local service; Nexus.cpp needs a compatible executable and the appropriate compiler/HIP/driver setup for Radeon acceleration. The optional desktop window uses pywebview>=5,<7.
The browser packaging has passed scripted no-network boot checks. These are not full-model GPU quality or performance qualification. A finite/nonconstant-logit load check is only a basic readiness check. Windows/Radeon model performance and universal model compatibility are not claimed. Browser revision: v25-browser-r1. The native Version 25 package, Candidate25 paths and hashes remain unchanged; Candidate24 remains available for rollback.
Personal use and internal commercial testing and evaluation are permitted for Nexus-owned material, including the new browser packaging. Distribution, modification, production deployment and other commercial use require express written consent. Third-party licenses and previously granted rights remain unchanged.
Rich Dunbar / Nexus Emerging Technology. License · Evaluation permission (English).
The original text below is project history, not current installation, runtime or licensing guidance. Use the current Version 25 section above and its linked documentation.
Developed by Rich Dunbar with AI-assisted coding.
NEXUS AI grew through hundreds of iterations: building, testing, capturing screenshots and diagnostics, learning from failures, and refining the application through user feedback.
Browser-based inference · Optional voice and expression modules · Gated preference learning · Perplexity evaluation
I wanted a customizable assistant that could run on my own hardware and fit my workflow.
My development began with LM Studio, then moved toward my own graphical interface and eventually a custom browser-based inference engine. I also wanted to reduce dependence on separately installed AI applications and the deployment constraints I encountered.
LM Studio deserves credit as part of that starting point. It provides local-model tools and APIs; the current NEXUS local runtime is a separate implementation. LM Studio developer documentation
Deployment rules depend on the organization, product and version. Three different things must not be conflated:
- LM Studio: a desktop application with its own terms.
- llama.cpp: inference software distributed under the MIT license.
- Meta Llama: model families whose weights have separate model-specific terms.
LM Studio removed its separate commercial-use contact requirement in July 2025. My development history should not be read as a claim that the former requirement still applies, or that all organizations prohibit these tools. LM Studio announcement · llama.cpp license · Llama 3.3 license example
In my workflow, distributing a desktop executable introduced friction around signing and security warnings. Moving to HTML made the interface easier for me to revise and reduced the need to distribute a separate Windows executable.
Windows SmartScreen considers application and publisher reputation; signing is not a guarantee that a new release will avoid warnings. Browser packaging also does not automatically establish organizational approval or waive security policies. Microsoft SmartScreen documentation
I began with a multi-file implementation that, in my account of the development process, grew to hundreds of files. I found a monolithic application structure faster and easier to coordinate for my AI-assisted editing workflow.
This is a project-specific development choice, not a claim that single-file software is universally faster or better.
flowchart LR
A["Build a focused change"] --> B["Test and measure"]
B --> C["Review screenshots and diagnostics"]
C --> D["Learn from evidence and feedback"]
D --> A
B --> E["Regression checks"]
E --> F["Working MVP"]
F --> D
style A fill:#123456,stroke:#38bdf8,color:#ffffff
style B fill:#164e63,stroke:#22d3ee,color:#ffffff
style D fill:#312e81,stroke:#a5b4fc,color:#ffffff
style F fill:#14532d,stroke:#4ade80,color:#ffffff
AI helped with implementation and debugging. I supplied the direction, exercised the workflows and used the results to guide the next revision.
A working minimum viable product creates something real to test. It is followed by further refinement: clearer controls, better diagnostics, reliable saving, compatibility checks and feedback-driven changes.
The main interface and application logic are delivered together in an HTML file using HTML, CSS and JavaScript.
The complete offline package still contains separate model weights, runtime assets and worker resources. A single HTML entry point does not mean all neural models are embedded inside that file.
The trade-offs include larger files, harder navigation and the need for disciplined testing. AI context limits still apply.
The inspected local language-model runtime uses custom JavaScript, WebGPU and WGSL code. It does not require LM Studio or llama.cpp in its normal local inference path.
Optional online API backends are separate. A local static-file server may be needed for browser-origin requirements; that is different from requiring an LLM server.
flowchart TD
U["User interface"] --> L["Local WebGPU LLM runtime"]
U --> R["Memory and retrieval"]
U --> V["Optional expression module"]
U --> S["Separate speech modules"]
L --> A["Optional output-head adapter"]
A --> E["Held-out evaluation and promotion gates"]
V --> C["Optional cautious tone cue"]
C --> L
style L fill:#123456,stroke:#38bdf8,color:#ffffff
style V fill:#312e81,stroke:#a5b4fc,color:#ffffff
style S fill:#164e63,stroke:#22d3ee,color:#ffffff
style E fill:#14532d,stroke:#4ade80,color:#ffffff
Memory, retrieval and prompt customization can change responses without changing model weights. Actual adapter training is a distinct path.
Implemented support is not the same as full hardware qualification. Admission depends on the exact architecture, tensor layout, tokenizer, chat template and available memory.
| Family or profile | Implemented scope | Evidence boundary |
|---|---|---|
| SmolLM / SmolLM2 | Constrained GGUF dense routes, including base and Instruct profiles | Historical real-model numerical checks cover exact SmolLM2-135M F16 and Q8 files; other sizes are not fully qualified |
| Mistral-7B-v0.3 | Inspected base-completion text profile | Tokenizer and reduced numerical checks |
| Mistral-Small-3.2-24B-Instruct-2506 | Inspected text profile | Header, tokenizer and reduced-graph checks; no full 24B run |
| Ministral-3-14B-Reasoning-2512 | Inspected reasoning-text profile | Reduced numerical, template and rotary checks |
| Qwen2 / Qwen2.5 / Qwen3 | Constrained dense text routes | Does not establish compatibility with every variant or size |
| Gemma 3 | Separate text graph | Real header/tokenizer inspection and synthetic numerical checks; no full 27B output qualification |
| GPT-oss-20B | Custom mixture-of-experts graph | Synthetic tests; no complete 20B hardware run |
| GPT-oss-120B | Explicit future-hardware gate | Not qualified for the declared 20 GiB GPU / 32 GiB RAM setup |
| Qwen2.5-VL-7B | Exact text/still-image profile with matching local vision companion | Reduced synthetic tests; no complete 7B image-conditioned qualification |
| Custom LittleBit | Supported packed-factor format | Exact metadata and encoding required |
GGUF is a container, not a guarantee of universal compatibility. Arbitrary architectures, split GGUF, unsupported quantization layouts and general PyTorch/Safetensors loading are outside the inspected loader contract.
Upstream model capabilities also do not automatically become application capabilities. For example, this build's ordinary allocated context cap is 4,096 tokens.
Model research and credit: SmolLM2 · Gemma 3 · Qwen2.5-VL · GPT-oss model card
The current camera module performs face detection and facial-expression classification, not identity recognition.
It uses:
- YuNet for face detection and landmarks.
- ProgressiveTeacherFER with a MobileFaceNet backbone for expression classification.
- ONNX Runtime Web, running in a separate single-threaded WASM CPU worker.
This is separate from the language model's WebGPU engine.
The classifier has seven categories: angry, disgust, fearful, happy, neutral, sad and surprised. The interface presents tentative labels such as “sad-like” or “surprise-like.” There is no camera-derived “excited” class.
Quality checks, confidence-score thresholds, repeated estimates and a five-second expiry help the application abstain when evidence is unsuitable. These heuristics are not calibrated guarantees about a person's feelings.
With explicit consent and an optional, default-off local-chat setting, a recent expression estimate can add a cautious system-prompt cue.
That cue tells the assistant to:
- Treat the estimate as uncertain.
- Prefer the user's actual words.
- Adjust tone gently if useful.
- Ask rather than assume.
- Avoid inferring identity, intentions, diagnosis or risk.
A separately selected, self-reported mood takes precedence and has explicit tone rules.
I describe this as programmed affect-sensitive response adaptation. It is not evidence that the system understands inner feelings or possesses emotional intelligence in a validated psychological sense.
Affective computing supplies relevant research context, while research on facial expression warns against treating facial movements as a reliable one-to-one reading of emotion. Picard: Affective Computing—Challenges · Barrett et al.: Emotional Expressions Reconsidered
Camera-derived contexts are excluded from automatic adapter-training capture. The expression feature does not intentionally retain face galleries or expression histories. Separately enabled online services have their own data flows.
The complete package includes Kokoro-82M ONNX Q8 assets, the Bella and Fenrir voices, an English phonemizer/dictionary and an ONNX Runtime worker.
After importing the included pack into browser storage, this route synthesizes speech locally. The integrated pack is English-only; translating this wiki does not add speech-language support. Kokoro model card
No speech-recognition model is bundled.
Strict offline recognition requires compatible browser on-device recognition and an already installed language pack. If unavailable, it fails rather than silently switching to cloud recognition.
With strict offline disabled, browser recognition or a separately configured API may use an online service.
Offline speech output does not automatically make speech input offline.
The current application contains genuine output-head LoRA-style adaptation.
The base GGUF, transformer blocks and input embeddings remain frozen. Trainable low-rank matrices modify the output logits. Frozen forward computation uses WebGPU; the adapter gradients and optimizer run in JavaScript on the CPU.
The learning paths include:
- DPO-style preference optimization using approved preferred/rejected answers.
- Cross-entropy training using approved positive answers.
- A separate reviewed teacher-generated corpus workflow.
LoRA describes the adaptation mechanism. DPO describes a preference-learning objective. Neither justifies calling every interaction a reinforcement-learning update. This build does not establish a PPO-based online RLHF loop. LoRA · Direct Preference Optimization
The Learning interface exposes training, evaluation and activation controls. End Session can also attempt optional training when approved eligible data and a verified supported model are ready.
Promotion requires held-out and regression checks. Users can end without training, and failures preserve the previous adapter.
Checkpoints are tied to model and runtime identities. Camera-influenced and explicit image-question contexts are excluded from automatic capture.
“The model grows as I interact with it” is best understood as approved examples and optional adapter updates accumulating over time. The base model does not gain parameters, and improvement is not guaranteed.
Retrieval-based memory is another mechanism entirely. It supplies context without retraining weights. Retrieval-Augmented Generation
The application implements teacher-forced next-token scoring and calculates:
Perplexity = exp(total negative log-likelihood ÷ scored tokens).
It tracks evaluation identity, including the text, tokenization, model, runtime, adapter and context settings. Meaningful before/after comparisons require the same evaluation protocol.
This can help assess a compatible adapter's effect. It is not a direct measure of factual accuracy, reasoning, emotional understanding or overall intelligence.
A lower score on training material can reflect memorization. Use genuinely held-out data and task evaluations as well.
I report testing NEXUS development builds on my AMD Radeon RX 7900 XT, Windows 11 and Microsoft Edge.
That is my development experience. It should not be presented as an independently reproduced hardware benchmark of every supported backend or the exact latest build.
The inspected build contains working preference-learning math, optimizer updates, model-identity checks and a perplexity evaluator. Focused synthetic tests checked gradients, frozen data partitions and evaluation-window coverage.
Historical real SmolLM2 checks used limited prefix positions on software CPU/Vulkan. Expression receipts cover model execution and non-face abstention; voice receipts cover synthesis. They do not establish real-face accuracy, full browser-device reliability or physical Radeon performance.
Academic papers explain the methods. They do not certify NEXUS AI's implementation or reproduce its benchmarks.
This page describes the application packaged on October 9, 2026, inspected on October 10, 2026.
Application SHA-256:
1a1d6eb77958a8b276607843eb446a391d887c65612c5acfabb301ac7daca465
Features from standalone Nexus Adapter Studio, Foundry and Recovery applications must not be attributed to this build unless their integration is separately verified.
My contribution is the NEXUS application, custom integration, interface, runtime work and iterative development workflow. Model creators and upstream contributors retain credit for their work.
Relevant dependencies include:
- Kokoro: hexgrad, with ONNX conversion by ONNX Community/Xenova.
- YuNet: Shiqi Yu and contributors.
- ProgressiveTeacherFER: Jing Jiang; preserved ONNX implementation credit to Chengrui Wang.
- ONNX Runtime: Microsoft and contributors.
- HeadTTS language modules: Mika Suominen.
- CMU pronunciation dictionary: Carnegie Mellon University.
The inspected application package declares UNLICENSED. Open-source dependencies do not automatically give the whole application an open-source license. Consult the repository's actual license before claiming redistribution or commercial permissions.
The expression package preserves upstream declarations, but exact checkpoint-license and training-data provenance questions remain unresolved. Those must be resolved before making unrestricted-use claims.
Build. Measure. Learn. Verify. Refine.
Rich Dunbar · NEXUS Emerging Technology