Your personas.
Your models.
Your machine.

AIcove is a desktop chat for Linux that runs personas on local models with llama.cpp. No browser, no server, no account. Everything is plain files you can read, edit and copy to your next machine.

LinuxPyQt6llama.cppoffline by defaultplain files
AIcove logo: a cozy room with an armchair inside the letter A

Why AIcove exists

We liked Open WebUI. It did what we needed, until it started growing into something we didn't need.

User management, teams, permissions, collaboration features, additional services and an increasingly large dependency stack. All useful to somebody, no doubt. But not to someone sitting at their own Linux machine, wanting a private conversation with a locally running AI.

Our Open WebUI install took almost 3.6 GB of disk space before a single model was downloaded, and it felt considerably slower. That's an extraordinary amount of infrastructure for what we actually wanted: a window to talk to our personas.

So we built AIcove.

Linux first, not as an afterthought

AIcove is a native PyQt6 desktop application, developed on Slackware. No browser frontend, no Electron, no separate web application server.

One person, one private environment

AIcove has no user accounts, shared workspaces, team permissions or remote access interface, and it opens no network port of its own. It communicates with a locally running llama-server. Web access is optional and explicitly enabled per conversation. File access is restricted and controlled by the user.

Small and fast

AIcove doesn't need a browser engine and an entire web application stack to display a conversation. It starts quickly, uses few resources and leaves your memory and processing power available for the models that actually need them.

Personas before models

You choose who you want to talk to, not which model you want to operate. Each persona has its own identity, knowledge, memories and conversation history. The underlying model can change without losing that history.

Your files, your control

Conversations, persona definitions, memories and notes live in ordinary, readable files. Open them in your favourite editor, back them up with rsync or move them to another machine. Nothing is locked away in an opaque application database. Permanent memories are accepted by you, not silently decided by the model.

We aren't trying to recreate every feature of Open WebUI, SillyTavern or the growing collection of AI platforms. AIcove is deliberately designed for a narrower purpose: giving one person a fast, private, portable and comfortable environment for their local AI personas.

We believe software should serve its user, not require its user to administer an increasingly complicated software platform.

Your RAM is for your models, not your chat interface.

In action

Ask for a picture and the persona makes it, right in the chat. The model, the image server and the chat all run on one laptop; nothing leaves it.

AIcove's chat: the Assistant persona on Qwen3.6-35B-A3B made a picture of an oak tree in the rain, shown under the answer.
The Assistant on Qwen3.6-35B-A3B (llama.cpp), picture by Z-Image-Turbo (stable-diffusion.cpp), on an AMD Ryzen AI laptop.

Persona first

You don't start a model, you start a persona: a name, a picture, a system prompt, its settings and the models it may run on. Starting it loads its model. Each persona has a folder of its own with its chats, knowledge and notes.

Chat that stays yours

Streaming answers, thinking shown folded, Markdown and code rendered. Edit, regenerate, continue. Chats are JSON files in the persona's folder.

Long chats, summarised

When a chat outgrows the context, the older part is summarised by the model. The summary is visible above the messages, and you can edit it.

Facts you approve

On one click the persona proposes what to remember across chats. You keep, edit or drop each fact. Nothing goes in without you.

Knowledge folder

Drop documents and PDFs into a persona's knowledge folder. Small ones go into the prompt, big ones are searched and read by the model when needed.

Per-chat controls

Style, thinking on or off, answer length, web search and pictures, set above the input for each chat.

File access, asked

A persona can be allowed to read folders you name and write text files, each change shown first for your OK. No shell commands, ever.

Launchers

Each model with its settings as a form, with an estimate of the memory it needs. Add models from a Hugging Face link and see which version fits your machine.

Web only when you say

Web search is off until you switch it on in a chat: DuckDuckGo or your own SearXNG. Addresses on your machine or home network are never fetched.

Optional modules

Off until you set them up. AIcove ships no models of its own; it talks to what you run.

optional

Voices

Personas read their answers aloud through a voice server with a tiny Gradio API (VoxCPM, XTTS, Piper, ...). Audio is kept as MP3 and deleted when no chat needs it.

optional

Pictures

Personas make pictures in the chat through any OpenAI-style image server, such as stable-diffusion.cpp's sd-server.

optional

Passwords

A small password manager on GnuPG, compatible with pass. The clipboard empties after 45 seconds, and sync between machines goes through git.

optional

Tools

Start and stop the other things on your machine from one tab: voice servers, image servers, local web servers, with buttons of your own.

Install

Needs Linux, Python 3.11+, PyQt6, python-markdown, Pygments and curl, and a llama.cpp build with llama-server.

# Arch / Manjaro
sudo pacman -S python-pyqt6 python-markdown python-pygments
# Debian / Ubuntu
sudo apt install python3-pyqt6 python3-markdown python3-pygments

git clone https://github.com/overcatbe/aicove.git ~/Projects/aicove
~/Projects/aicove/install.sh

The program runs from the cloned folder; updating is git pull there. The first start opens the Settings tab filled with what it found on your machine: llama-server, your model folder, your GPU. Correct it, press Check, then Save. The built-in guide on the Documentation tab explains the rest.