No description
Find a file
2025-08-24 18:06:38 -07:00
.cspell switch back from xterm, minor fixes 2025-08-24 00:21:36 -07:00
.github more aur release testing to prevent any hash verification issues going forward 2025-08-23 13:19:48 -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 0.6,1 release 2025-08-23 00:35:29 -07:00
screenshots better terminal output? trying to make AUR release work, handle .kcppt saving 2025-08-22 19:52:26 -07:00
scripts minor fixes and improvements 2025-08-20 01:02:43 -07:00
src further separate gui and cli for slightly less ram usage in CLI mode 2025-08-24 18:06:38 -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 windows needs special handling for CLI mode 2025-08-24 17:05:59 -07:00
README.md windows needs special handling for CLI mode 2025-08-24 17:05:59 -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 fix for windows 2025-08-24 00:40:18 -07:00

Friendly Kobold

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

Core Features

  • Run LLMs locally with an intuitive interface powered by KoboldCpp
  • Cross-platform desktop app - Native support for Windows, macOS, and Linux (including Wayland)
  • 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
  • Image generation support - Built-in presets for Flux and Chroma image generation workflows
  • Adaptive theming - Light, dark, and system theme modes that automatically follow your OS preferences
  • Privacy-focused - Everything runs locally on your machine, no data sent to external servers

Installation

Pre-built Binaries

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

  • Windows: Friendly Kobold Portable X.X.X.exe (portable executable)
  • Windows: Friendly Kobold Setup X.X.X.exe (installer executable - recommended for CLI mode)
  • macOS: Friendly Kobold-X.X.X.dmg (disk image)
  • Linux: Friendly Kobold-X.X.X.AppImage (portable application)

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.

Screenshots

Download & Setup

Download Interface

Model Launch Configuration

Launch Configuration

Terminal Output

Terminal Interface

Text Generation

Text Story Generation

Image Generation

Image Generation

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.

Future features

Not all koboldcpp features have currently been ported over to 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.

CLI Mode

The --cli argument allows you to use the Friendly Kobold binary as a proxy to the downloaded KoboldCpp binary. This enables you to run KoboldCpp from the command line using the same binary that the GUI has downloaded.

Considerations

You might want to run CLI Mode if you're looking to use a different frontend, such as SillyTavern or OpenWebUI, than the ones bundled (eg. KoboldAI Lite, Stable UI) with KoboldCpp AND you're looking to minimize any resource utilization of this app. Note that at the time of this writing, Friendly Kobold takes about ~200MB of RAM and ~100MB of VRAM for its Chromium-based UI.

Usage

Linux/macOS:

# Basic usage - launch KoboldCpp with no arguments
./friendly-kobold --cli

# Pass arguments to KoboldCpp
./friendly-kobold --cli --help
./friendly-kobold --cli --port 5001 --model /path/to/model.gguf

# Any KoboldCpp arguments are supported
./friendly-kobold --cli --model /path/to/model.gguf --port 5001 --host 0.0.0.0 --multiuser 2

Windows:

CLI mode will only work correctly on Windows if you install Friendly Kobold using the Setup.exe from the github releases. Otherwise there is currently a technical limitation with the Windows portable .exe which will cause it to not display the terminal output correctly nor will it be killable through the standard terminal (Ctrl+C) commands.

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.

License

AGPL v3 License - see LICENSE file for details