Open Source AI Assistant

Meet NOVA

Multi-modal AI assistant with desktop GUI, web interface, and CLI. Runs locally on Ollama.

Get Started View on GitHub
100% Python
MIT License
4 Interfaces
Live Demo Available

Why NOVA?

A powerful AI assistant that runs entirely on your hardware

Multi-Modal

Desktop GUI, web interface, and command-line — choose your preferred way to interact.

Fully Configurable

Switch models, adjust settings, and customize behavior with simple config changes.

Tool Calling

Native Ollama tool calls for web search, file operations, and more. Multi-step reasoning.

Runs Locally

Your data stays on your machine. No cloud dependency. Full privacy with local inference.

Raspberry Pi Ready

Optimized for Pi 4 with small models. Run your own AI assistant on a $35 computer.

Open Source

MIT licensed. Read, modify, and distribute. Built by the community, for the community.

Choose Your Version

From full-powered desktop to lightweight Pi, NOVA adapts to your needs

Feature V2 Full V2 Small V1
Approach Native tool_calls JSON-mode routing JSON command router
Min Model Size 7B+ 1B+ 3B+
Multi-step Reasoning 10-turn loop 8-turn loop Single-turn
Web Search
File Operations
Browser Control
Discord

All Entry Points

python ui2.py V2 Desktop GUI — Animated HUD
python web_v2.py V2 Web server on :9090
python jarvis_v2.py V2 CLI — Native tool-calling agent
python ui2_small.py V2 Small Desktop GUI — Green theme
python web_v2_small.py V2 Small Web server on :9091
python jarvis_v2_small.py V2 Small CLI — JSON-mode agent

Quick Start

Up and running in 30 seconds

1

Install dependencies

pip install -r requirements.txt
2

Pull an Ollama model

ollama pull qwen2.5:1.5b
3

Launch NOVA

python ui2_small.py

Configuration

Tune NOVA to your preferences

# Edit jarvis.py constants:
CHAT_MODEL = "llama3.2:latest"   # change model here
WEATHER_LOCATION = "Toronto"      # your city
WORKSPACE_DIR = "./workspace/"    # file storage

Raspberry Pi 4 Guide

Recommended models for 8GB Pi 4

Qwen2.5 1.5B

Sweet Spot
Size ~1.0 GB
Speed ~5-7 tok/s
Quality Good
ollama pull qwen2.5:1.5b

Llama 3.2 1B

Size ~0.7 GB
Speed ~6-8 tok/s
Quality Decent
ollama pull llama3.2:1b

Phi-3 Mini

Best Quality
Size ~2.3 GB
Speed ~2-3 tok/s
Quality Great
ollama pull phi3:mini

TinyLlama 1.1B

Size ~0.6 GB
Speed ~8 tok/s
Quality Decent
ollama pull tinylm:1.1b

Running on Pi

# Install Ollama
curl -fsSL https://ollama.com/install.sh | sh

# Pull a small model
ollama pull qwen2.5:1.5b

# Use the small-model agent
python jarvis_v2_small.py

# Or the web interface
python web_v2_small.py
Use jarvis_v2_small.py on Pi — JSON-mode routing works better with small models
💾 NVMe SSD via USB 3.0 is strongly recommended over microSD
❄️ Active cooling (heatsink + fan) prevents thermal throttling