1nikitas / NIKA_desktop
git clone https://github.com/1nikitas/NIKA_desktop.git
Native AI assistant for macOS, built with SwiftUI and llama.cpp. Run local LLMs offline, work with PDFs, and create custom AI assistants. Optional NIKA cloud integration.
—
stars, 24h
+33
stars, 7 days · #1,235
+33
stars, 30 days · #8,320
33
★ total · +33% this week
1
forks · 1 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageSwift
License—
Created2026-10-13 (7d ago)
Last push7d ago
Watchers2
OwnerUser
GitHub topics
ai-assistantapple-silicondesktop-appggufllama-cppllmlocal-llmmacosoffline-aion-device-aiqwenswiftswiftui
Links
README excerpt
# NIKA — Native AI Assistant for Mac with Local LLMs **English** · Русский **Your AI assistant, running on your Mac.** Download a local model, chat offline, and work with your documents. Built with SwiftUI and llama.cpp — ready to explore, customize, and extend. Quick start · Local features · Models · Benchmarks · Development · Issues Actual SwiftUI interface with a demonstration conversation. The app interface is currently in Russian. ## Quick start **Requires:** an Apple Silicon Mac, macOS 26+, Xcode 16.4+ with Swift 6, Python 3, and Homebrew. [code] Open **Локальные модели** (Local models), download **NIKA Smart**, then choose **Начать разговор** (Start conversation). **No account is required for local chat.** The first build downloads WebRTC; model downloads are separate. Once a model is installed, local chat works offline. This is a source build with an ad-hoc signature. A notarized release is not currently provided. Full setup and development guide → ## What runs on your Mac - **Local LLMs:** download a model or import a compatible GGUF and run it through llama.cpp. - **Document chat:** attach text documents and PDFs with extractable text. Image input requires a compatible vision projector. - **Local history and memory:** keep local conversations on your Mac. A local model error never silently sends the request to the cloud. - **Native macOS interface:** SwiftUI, multiple windows, a menu bar entry, keyboard shortcuts, and light and dark themes. - **Mac integrations:** calendar and reminders, with confirmation before proposed local actions execute. ## Optional NIKA cloud Sign in through Telegram to access NIKA account conversations, cloud agents, tools, integrations, and custom assistants with their own instructions and materials. Live cloud voice uses WebRTC. These features require an account and an internet connection. **This repository contains the desktop client. The NIKA cloud backend is not included.** You can build and modify the local client without running that backend. More screenshots: light theme, custom assistants, sign-in | Cloud assistant editor | Telegram sign-in | | --- | --- | | | | ## Local models | Model | Parameters | Quantization | File size | | --- | ---: | --- | ---: | | NIKA Mini (Qwen3.5-0.8B)¹ | 0.8B | Q8_0 | 812 MB | | NIKA Balance (Qwen3.5-2B) | 2B | Q5_K_M | 1.44 GB | | **NIKA Smart (Qwen3.5-4B)** | **4B** | **Q4_K_M** | **2.74 GB** | | NIKA Quality (Qwen3.5-4B) | 4B | Q5_K_M | 3.14 GB | | Your own compatible GGUF | Model-dependent | Your choice | Depends on model and quantization | Other GGUF options include Gemma 4 12B, Qwen3.5-9B, and gpt-oss-20b. These imports need enough memory and support in your installed llama.cpp version. They have not been tested in NIKA and are not recommendations for an 8 GB Mac. For an **8 GB Mac**, start with **Smart** and a 4096-token context; image input adds a 0.67 GB projector and needs a **2048-token context**. Quality targets 16 GB or more; Balance uses less memory. The