No description
Find a file
2025-08-22 18:36:36 -07:00
.cspell test another build 2025-08-22 18:20:24 -07:00
.github fixing AUR release 2025-08-22 18:36:36 -07:00
.husky minor fixes and improvements 2025-08-20 01:02:43 -07:00
.vscode much better backend support logic and configuration, new advanced tab configs, LoRa support for image gen 2025-08-16 16:53:36 -07:00
assets fix icon on linux - must match WM Class 2025-08-19 12:02:08 -07:00
scripts minor fixes and improvements 2025-08-20 01:02:43 -07:00
src persist additional arguments to config, change px to rem where it makes sense 2025-08-22 11:32:40 -07:00
.gitignore windows fixes, reformat everything 2025-08-19 16:01:41 -07:00
.prettierignore add more network settings, start detecting GPU and CPU capabilities 2025-08-14 13:11:07 -07:00
.prettierrc Initial commit: FriendlyKobold Electron app with KoboldCpp management 2025-08-11 18:34:35 -07:00
.yarnrc.yml switch to yarn 2025-08-16 11:01:20 -07:00
cspell.json fix terminal display on windows, better cspell 2025-08-20 18:24:16 -07:00
electron.vite.config.ts bug fixes and improvements 2025-08-17 03:47:12 -07:00
eslint.config.ts persist additional arguments to config, change px to rem where it makes sense 2025-08-22 11:32:40 -07:00
index.html bug fixes and improvements 2025-08-17 03:47:12 -07:00
LICENSE making it better and refactoring, digging through the AI generated slop 2025-08-13 00:02:47 -07:00
package.json fixing AUR release 2025-08-22 18:36:36 -07:00
README.md test another build 2025-08-22 18:20:24 -07:00
tsconfig.json Initial commit: FriendlyKobold Electron app with KoboldCpp management 2025-08-11 18:34:35 -07:00
tsconfig.main.json making it better and refactoring, digging through the AI generated slop 2025-08-13 00:02:47 -07:00
tsconfig.node.json Initial commit: FriendlyKobold Electron app with KoboldCpp management 2025-08-11 18:34:35 -07:00
yarn.lock adding automatic releases to AUR 2025-08-22 17:00:18 -07:00

Friendly Kobold

A modern desktop app for running Large Language Models locally. FriendlyKobold Icon

Core Features

  • Run LLMs locally with a modern, intuitive interface powered by KoboldCpp
  • Full Linux Wayland support for seamless integration with modern Linux desktops
  • Automatic updates - Download and keep your KoboldCpp binary up-to-date effortlessly
  • Smart process management - Prevents runaway background processes and system resource waste
  • Optimized performance - Automatically unpacks binaries for faster operation and reduced memory usage (up to ~4GB less RAM)
  • Image generation support - Built-in presets for Flux and Chroma image generation workflows
  • Privacy-focused - Everything runs locally on your machine, no data sent to external servers

Windows ROCm Support

There is ROCm Windows support maintained by YellowRoseCx in a separate fork. Unfortunately it does not properly support unpacking, which would greatly diminish its performance and provide a poor UX when used alongside this app. For Friendly Kobold to work with this fork, this issue must be fixed first.

Note that this build is not important as modern day Vulkan matches or even surpasses ROCm in terms of LLM performance for most cases.

Future features

Not all koboldcpp features have currently been ported over the UI. As a workaround one may use the "Additional arguments" on the "Advanced" tab of the launcher to provide additional command line arguments if you know them.

Installation

Download the latest release for your platform from the GitHub Releases page:

  • Windows: Friendly-Kobold-X.X.X.exe (portable executable)
  • macOS: Friendly-Kobold-X.X.X.dmg (disk image)
  • Linux: Friendly-Kobold-X.X.X.AppImage (portable application)

Linux - AppImage

  1. Download the .AppImage file
  2. Make it executable: chmod +x Friendly-Kobold-X.X.X.AppImage
  3. Run it: ./Friendly-Kobold-X.X.X.AppImage

Linux - AUR (Arch Linux)

For Arch Linux users, install from the AUR using your preferred AUR helper:

# Using yay
yay -S friendly-kobold

# Using paru
paru -S friendly-kobold

# Manual installation
git clone https://aur.archlinux.org/friendly-kobold.git
cd friendly-kobold
makepkg -si

The AUR package automatically handles installation, desktop integration, and system updates. This is the ideal way to run Friendly Kobold on Linux.

For Local Dev

Prerequisites

  • Volta - JavaScript tool manager (installs correct Node.js + Yarn versions automatically)

Setup

  1. Install Volta (if not already installed):

    curl https://get.volta.sh | bash
    
  2. Clone the repository

  3. Install dependencies (Volta will auto-install the correct Node.js and Yarn versions):

    yarn
    
  4. Start the development server:

    yarn dev
    

Future considerations

It would make a lot of sense to transition this project to Tauri from Electron. The app size should drop from ~110MB to ~10MB; however, users on obsolete OSes (with outdated WebViews) will very likely encounter issues. In addition, I would need to learn Rust to rewrite the BE (Electron main code), but at least we can re-use all the React code. The app would be much smaller, faster and memory efficient, but not work for some users. I think it's a worthy tradeoff.

Dev notes

  • Maximum compression doesn't work well on Linux and causes the app start time to be over 30 secs. Reducing compression for Linux's AppImage builds, which increases file size by ~20MB, but makes its start up time reasonable again.

License

AGPL v3 License - see LICENSE file for details