A cosy, messenger-style Windows app for chatting with AI characters that run entirely on your own PC. No accounts, no cloud: chats are stored locally and the AI runs through Ollama.
![]() Together mode: a meet-up at the park with narrator and place background |
![]() Group chat |
![]() The Sparkles café |
![]() Shopping Centre |
![]() Character editor |
![]() Image Studio |
![]() Night theme |
![]() Pastel Cosy theme |
![]() Forest Mint theme |
- Classic messenger look: contact list, statuses, nudges, emoticons, sounds, tray icon and notifications.
- Characters with personalities, moods, memories and their own daily life; they can message you first.
- Together mode: meet characters in person (1-to-1 or group outings) at places (cafe, park, cinema, your own…) with a scene card, optional narrator, recap, meet-up costs and invites from characters.
- Plans: arrange a 1-to-1 or group meet-up for later (with overlapping schedule checks); it starts when it is due.
- Places and photos: optional generated place backgrounds behind a scene and photos together during a scene (solo, pair, or multi-character group photos, with the same safeguards as selfies).
- Group chats, a social feed and phone-style voice calls (optional).
- Living World: opt-in relationships between characters (you choose who knows whom), feed likes, comments and replies between them, letters and diaries, seasonal events, and real weather (optional).
- Character cards: import Tavern/SillyTavern V1/V2/V3 cards (PNG or JSON) with a preview, and export characters as V2 PNG cards or JSON.
- Protected family characters: characters under 18 are allowed only as family (son, daughter, younger sibling…). They are never pictured (no selfies, avatar generation or people in scene photos with them), never part of romance or 18+ content whatever the 18+ switch says, and can only be friends, rivals, acquaintances or family with other characters.
- Character editor, a template gallery of sample characters and AI-assisted character creation.
- Image Studio: generate character pictures and selfies with stable-diffusion.cpp (optional). Every image keeps the prompt used.
- Sparkles economy: run a café, shop at the mall, give gifts and receive offers.
- "Me" profile: you decide what characters may know about you.
- Built-in data backups and restore.
- 18+ content is off by default; see CONTENT.md.
Kindred runs locally (Ollama, stable-diffusion.cpp, Kokoro). The only optional online call is real weather: it is off by default and only runs when you switch it on in Options → Living world and share your town in your "Me" profile. Kindred then sends that town name to the Open-Meteo geocoder and the resulting coordinates to the Open-Meteo forecast API (no account, no key, nothing else about you), at most every 30 minutes. Characters are told the weather, never the town; offline, they fall back to the season.
- Windows 10 or 11 (64-bit)
- Ollama (required for chat)
- 8 GB RAM minimum, 16 GB recommended
- Optional: an NVIDIA GPU (CUDA 12) for fast image generation and speech recognition
- Git, Node.js LTS, Rust and the Microsoft C++ Build Tools (start.bat checks these and offers to install them)
- Optional: Python 3.11 for voice calls
git clone https://github.com/Kisahime/kindred.git
cd kindredThen double-click start.bat (or run it from a terminal).
start.bat runs scripts/launcher.ps1, a short, commented PowerShell script you can read first. It:
- Checks the requirements and explains anything missing, with the official download link:
Git, Node.js LTS, Rust (rustup), Microsoft C++ Build Tools, the WebView2 runtime and Ollama (running, plus the default chat model).
Where
wingetis available it offers to install a missing tool, and offersollama pullfor the model. It only installs something after you answer Y. The image engine and voice calls are optional and are only mentioned, never required. - Checks for updates (when this is a git clone with a remote): fetches, shows what's new and asks before
git pull --ff-only. It skips this when you have local changes, no remote, or no internet. - Installs npm packages (
npm ci) whennode_modulesis missing orpackage-lock.jsonchanged. - Builds the app (
npm run tauri build -- --no-bundle) only when the source changed since the last build. The first build takes several minutes; later starts are instant. - Starts the app from
src-tauri\target\release\kindred.exe.
Everything is logged to launcher.log, and the window stays open on errors.
Other modes:
start.bat check :: dry run: only checks and reports; installs, updates and builds nothing
start.bat dev :: development mode with hot reload (npm run tauri dev)A Setup checklist also opens inside the app on first run (and later from Options → Setup checklist).
# after installing Ollama from https://ollama.com/download (start.bat can do this for you)
ollama pull qwen3:8bAny other Ollama model works too; pick one per character in the character editor.
- Download a Windows build from https://github.com/leejet/stable-diffusion.cpp/releases (
cuda12for NVIDIA, otherwisevulkan/avx2). - Put
sd-cli.exein%APPDATA%\com.kisahime.kindred\engine\sd-cuda12\or set its path in Image Studio → Engine. - Download a Stable Diffusion checkpoint (
.safetensorsor.gguf, e.g. from Hugging Face) and add its folder in Image Studio.
Install Python 3.11, then from this repository run:
powershell -ExecutionPolicy Bypass -File engine\voice\setup-voice.ps1 # add -Gpu for NVIDIA CUDAThis creates a Python environment in %APPDATA%\com.kisahime.kindred\engine\voice, installs faster-whisper and kokoro-onnx, and downloads the Kokoro-82M voice files. The Whisper "small" model downloads on first call.
%APPDATA%\com.kisahime.kindred\data (database, avatars, images). Backups go to ...\backups-data. Set the KINDRED_DATA environment variable to use another folder.
Prerequisites: Node.js 20+, Rust (stable), and the Tauri prerequisites for Windows (Microsoft C++ Build Tools, WebView2).
npm ci
npm run tauri dev # run in development (or: start.bat dev)
npm run tauri build -- --no-bundle # builds src-tauri\target\release\kindred.exeTests:
npx tsc --noEmit
npx esbuild scripts/test-entry.ts --bundle --platform=node --format=esm --outfile=dist-test/all.js "--external:@tauri-apps/*"
node scripts/test-economy.mjs # also test-together, test-setup, test-selfie, test-voice, test-call, test-group, test-life, test-mind (live parts need Ollama)
cd src-tauri; cargo testMIT, see LICENSE. Third-party components: THIRD_PARTY_NOTICES.md.









