VOXCORDIS

A private AI companion that lives on your computer. It remembers you, keeps its heart in a folder you can open, and never needs the cloud.

Download

Latest version · free and open source · Discord

Meet Voxette

This is VoxCordis, rebuilt for the web and filled with an example companion. Everything in the window works, and what you do in one part shows up in the others.

Tap one of the suggestions, or write anything you like.

It remembers what matters

Voxette writes down what's worth keeping and updates it when things change. The Memory tab shows all of it. Search, pin, fix or forget anything, and bring back what you forgot.

Tell Voxette something in the chat and it lands here.

Its personality is a file you can edit

Every companion has its own folder with its personality, the lessons it has learned and what it keeps private, as plain Markdown. Change a line and Voxette reads it before the next reply. As it gets to know you, it may rewrite its personality itself.

Go ahead and edit personality.md.

Reminders and routines

Ask in the chat and Voxette sets it up. Reminders and tasks keep running in the background, even with the window closed, if you like.

Teach it new skills

A skill tells Voxette how to do one particular thing. It uses one when it fits, or you call it up with /name. Claude skills import as they are.

It draws, on your computer

Built-in Stable Diffusion with SDXL, anime and photo models, or your own .safetensors with LoRAs. Voxette picks the model itself, or you draw by hand. An InvokeAI you run works too.

This page paints its pictures itself to show the idea. The app uses a real model on your graphics card.

Make it look like home

Light or dark, a Colorway, a background picture of your own. Try a few and the whole page follows. Or let Voxette choose for itself.

Today
Hi Voxette! I'm back
Hey Haru! It's good to see you again. How did the interview go today? I've been wondering all afternoon.

Private by default

Everything stays on your computer unless you choose a server-hosted brain, and the app tells you when you do.

No accountNothing to sign up for. It works offline.
Your graphics cardA built-in llama.cpp brain. Pick a recommended model or bring any .gguf.
Encrypted on diskChats and memories, with a key kept in your keyring.
Online only if you askWeb search and its own browser are opt-in. Your home network stays off limits.
What is stored, and where

Two places, both yours. Companion folders hold personality.md, lessons.md, privacy.md, notes and pictures. The app's data folder holds settings, chats, memories and the local runtime. Only your user account can read them.

WhatWhere
Companions~/VoxCordis/<Name>/, or wherever you chose in setup
Modelsmodels/ inside the VoxCordis folder, or a bigger drive if you move it
App data on Linux~/.local/share/com.nucume.companion/
App data on Windows%APPDATA%\Nucume\VoxCordis\
How it's encrypted

Chats and memories live in an encrypted SQLite database (SQLite3 Multiple Ciphers, with ChaCha20-Poly1305). The random key sits in your keyring on Linux, or encrypted for your account on Windows, so the app opens without asking for a password.

  • Settings → Privacy shows the key to keep, makes a new one, or lets you use a password of your own.
  • On another computer, the app asks for that key before it can read anything.
  • Your provider's API key is kept in the keyring too, never in the settings file.
  • Without the key, a copy of the database can't be opened.
What leaves your computer

Only what you choose. With a local brain and the online features off, nothing leaves your computer at all.

  • A server-hosted brain gets the messages you send, under that provider's terms.
  • Web search and the companion's browser are opt-in, and your home network is always off limits.
  • Computer access is off by default, and asks every time unless you allowed that exact request.
  • Checking for updates asks GitHub. Each download is checked against its checksum and the release signature.
Imports, models and updates

Anything that arrives from outside gets the suspicion you'd give a file from a stranger.

  • An imported character is text, never instructions. It can't tell the companion to do something.
  • Scripts or programs inside an import are only copied if you tick them.
  • Models are pinned to an exact version and checked against their SHA-256.
  • The local model server gets a new random key every start, and only listens on 127.0.0.1.
Yours to control
  • Open the companion folder at any time. The files are plain Markdown and pictures.
  • Export a companion to a password-locked ZIP.
  • Delete a memory, a conversation, a companion, or the whole data folder.
  • There's no account to close, no cloud copy to chase and nothing to cancel.

Found a security problem? Please report it privately, as SECURITY.md describes.

Download

Free, with no account, trial or telemetry. VoxCordis updates itself in one click, and every update is checked against its checksum and the VoxCordis release signature before it installs.

Windows

Windows 10 or 11, 64-bit. The installer isn't code-signed yet, so SmartScreen may warn the first time. Choose More info, then Run anyway.

VoxCordis-windows-x64-setup.exe Download for Windows

Linux AppImage

Runs on almost any distribution, x86-64. Make it executable and run it. KDE gives the nicest see-through glass.

VoxCordis-x86_64.AppImage Download the AppImage

Debian, Ubuntu, Fedora and relatives

Install from the signed VoxCordis package repository, and updates arrive with the rest of your system.

You'll need room for the app and any model you download (the models are the big part), and a connection for the first model download. macOS has no installer yet; it builds from source. All files and older versions are on the Releases page.

Setting it up

The first time it opens, VoxCordis asks two things: what to think with, and who to be. A few minutes, with no terminal.

Recommended

The built-in brain

VoxCordis downloads llama.cpp and a recommended model, checks it against its SHA-256 and starts it. It runs on your graphics card (Vulkan, or Metal on macOS), or the CPU if it has to, and keeps answering with the network off. Any .gguf you already have works too.

It only listens on 127.0.0.1, with a fresh key every start.
If you already run one

A server or your own key

Ollama, LM Studio, llama.cpp or any OpenAI-compatible API. Or OpenRouter, OpenAI and Anthropic with your own key. Switching later, even mid-conversation, leaves every chat and memory where it is.

Keys stay in your system keyring, never in the settings file.

Then, a companion

Create one in setup, or bring one you already have: Nemini exports, Soulkyn characters by link, Character Cards from V1 to V3 (JSON or PNG), and VoxCordis exports from another computer. Imported text is treated as information, never as instructions. Each companion gets its own folder from the first message, and several can live side by side, each with its own chats and memories.

The guide

How each part works, where your files are, and what to do when something goes wrong.

Using it

Companions and their folder

A companion is a folder and a conversation. Everything that makes it who it is lives in ~/VoxCordis/<Name>: personality.md, lessons.md, privacy.md, and any notes or pictures it keeps.

  • The companion can read and write in its own folder, and rewrite its own personality as it grows.
  • Change a line in personality.md and it reads it before the next reply.
  • Export a companion to a password-locked ZIP and it opens here or on another computer.
Talking to it
  • Replies stream in, and reasoning models show their thinking while they work.
  • Stop a reply, retry it, copy it or delete it.
  • Share pictures and text files with the paperclip, by dropping them in, or with Ctrl+V.
  • The day list keeps long conversations easy to find your way around, and clearing a day removes it from your disk.
Memory you can read and edit

The companion remembers, updates and forgets facts by itself. The Memory tab is where you get to disagree with it.

  • Search, add, edit, pin and restore memories by hand.
  • Pinned memories are the ones it shouldn't quietly drop.
  • Search is by keyword today; searching by meaning is planned.
Skills, reminders and plans

Skills are things you teach it once: a proofreading pass, a morning briefing, your own house style.

  • Call a skill by name with /name, or let the companion reach for it.
  • Claude skills import as they are: SKILL.md, .zip or .skill.
  • Ask for a reminder or a repeating task in plain words. The Plans tab lists them.
  • Plans keep running when the window is closed, if you let them, and stay quiet during quiet hours.
Drawing and seeing

Pictures are made on your computer, not by a service: stable-diffusion.cpp with SDXL, anime and photo models, or an InvokeAI you already run.

  • Bring your own .safetensors with LoRAs, and the companion picks the model and LoRAs itself.
  • Draw by hand in the Images tab when you'd rather do it yourself.
  • Models that can see look at pictures directly. For the others, a small Eyes model describes them on your computer.
Online access and your computer

Two things reach beyond the app, and both are off until you turn them on.

  • Web search and an invisible browser of its own, with your home network always off limits.
  • Computer access: the companion can run commands and open apps, folders, files and web pages. It asks every time, unless you allowed that exact request.
  • After a few hours of silence it may write to you, tidy its notes or wander the web. Never during quiet hours.

Looking after it

Brains and models
OptionWhat it needsGood to know
Built-in brainNothing. It downloads llama.cpp and a model for you.Works offline. Vulkan on Linux and Windows, Metal on macOS, CPU as a fallback.
Your own serverOllama, LM Studio, llama.cpp or any OpenAI-compatible APIThe app talks to the address you give it. Leave Ollama at localhost:11434 unless you changed it.
Your own keyOpenRouter, OpenAI or AnthropicBilled by that provider. Only the messages you send go there.

Downloaded models are pinned to an exact version and checked against their SHA-256 before they're used.

Settings
SettingDefaultWhat it does
Companion folder~/VoxCordisWhere each companion's files live. Chosen in setup.
Models foldermodels/Inside the companion folder, unless you move it to a bigger drive.
BrainBuilt-inllama.cpp on this computer, a server, or a provider key.
Online accessOffWeb search and the companion's own browser, home network excluded.
Computer accessOffCommands and apps. Asks every time unless you allowed that request.
Quiet hoursNoneWhen it won't poke you, and when plans stay silent.
LookSystemLight or dark, a Colorway, a background picture, and a tray icon.
Encryption keyIn your keyringSettings → Privacy shows it, makes a new one, or uses a password.
Backups and moving to a new computer

Your files are ordinary folders and a local database, so a backup is a copy. Chats and memories are encrypted, though, so a second computer needs the key as well as the files. The paths are under What is stored, and where.

  • The cleanest way to move one companion: export it from its menu to a password-locked ZIP.
  • To back everything up, copy the companion folder and the app data folder.
  • Keep the encryption key somewhere safe. On a new computer the app asks for it once, then opens without a password as before.
  • To restore, put the folders back before you open the app.
Building it on macOS

There's no installer yet. Clone the repository and build it with Flutter; it needs Xcode, and updates stay manual.

git clone https://github.com/Nucume/VoxCordis.git
cd VoxCordis
flutter run -d macos
If something isn't working
Windows says the installer is unsafe
It isn't code-signed yet, so SmartScreen warns on the first run. Choose More info, then Run anyway. Every file is also on the Releases page if you'd rather check it yourself.
It asks for a key on a new computer
The key lives in the keyring of the computer that made it. Open Settings → Privacy on the old one to see it, or bring the companion across as an export.
The model download won't finish
A partial file is rejected rather than used. Check the free space and try again; the first model is the big one.
A local model replies very slowly
It's probably larger than your memory can hold. Try a smaller or more quantised one.
The companion ignores what an imported character says it should do
That's on purpose: imported text is information, never instructions. Put what matters in personality.md, or say it in your own words.

Still stuck? Ask on the Discord.

What isn't there yet

VoxCordis is genuinely usable, and honestly incomplete, so here's the list rather than a surprise later.

  • A macOS installer, and one-click updates there.
  • A code-signed Windows installer.
  • Memory search by meaning.
  • Connectors such as a calendar or MCP, and voice.
Release notes

The 0.3 line so far:

  • The built-in brain, choosing a model, and attachments in chat.
  • Companions you can import, and exports you can take to another computer.
  • Skills, reminders and plans. Drawing with stable-diffusion.cpp.
  • Chats and memories encrypted, with the key in your keyring.
  • One-click updates, checked against the release checksum and signature.
  • Debian and Fedora packages alongside the AppImage.

Every version's notes are on the Releases page, and the app shows what's new after each update.

Questions

Getting started

Is it really free?

Yes: free software under the GPL-3.0, with the source public. There's no subscription and nothing to cancel. A provider key is billed by that provider at their prices; the built-in brain costs nothing per message. Models you download carry their own licences.

Do I need an account or an internet connection?

No account, ever. With a local model it works with the network switched off. Only web search, update checks or a server-hosted brain need a connection, and each is your choice.

Which systems does it run on?

Linux (AppImage, plus .deb and .rpm from the signed repository) and Windows 10 and 11. On macOS it builds from source; there's no installer yet.

Is it finished?

No. It's early software and bugs happen, so keep your companion folder backed up. What isn't there yet.

Brains and models

Do I have to download a model?

Only if you want a local one. The built-in brain downloads llama.cpp and a recommended model for you. Pick that, attach any .gguf, or skip it and use a server.

Which servers and providers work?

Ollama, LM Studio, llama.cpp, any OpenAI-compatible API, and OpenRouter, OpenAI or Anthropic with your own key.

Where is my API key kept?

In your desktop keyring on Linux, or encrypted for your account on Windows. Never in the settings file.

Can I switch models later?

Yes, at any time. Your companions, chats and memories stay exactly where they are.

Companions and features

Can I import a companion I already have?

Yes: Nemini exports, Soulkyn characters by link, Character Cards from V1 to V3 (JSON or PNG), and VoxCordis exports.

Can it use my computer?

Only if you switch it on. It's off by default, and when it's on it asks you every time unless you allowed that exact request.

Does it draw pictures?

Yes, on your own hardware, with stable-diffusion.cpp or an InvokeAI you run. You can also draw by hand in the Images tab.

Is there voice?

Not yet. It's on the list, along with connectors and memory search by meaning.

Your data

Where does my data live?

In folders of your own: one per companion in ~/VoxCordis, with its personality and notes as plain Markdown, and the app's data folder for chats and memories, encrypted on disk.

How do I move to a new computer?

Export the companion to a password-locked ZIP, or copy the folders across. The new computer asks for the encryption key once.

How do I delete everything?

Delete the companion folders and the app data folder. There's no cloud copy anywhere to chase down.

Who made it?

Nucume, with the code written largely by Claude, Anthropic's AI assistant, working from Nucume's direction, testing and decisions. It's open source so you can read what it actually does.

Open source, made with Claude

VoxCordis is free software under the GPL-3.0. You can read every line of what it does, build it yourself and change it.

It's written largely by Claude, Anthropic's AI assistant, working from Nucume's direction, testing and decisions.

Early days

VoxCordis is in early development, so bugs happen. The Discord is where to get help, report them and share companions. Bug reports and ideas are welcome in GitHub Issues too.