No description
Find a file
2025-08-22 17:48:42 -07:00
.cspell refactoring out duplicate code 2025-08-21 16:14:01 -07:00
.github fix release workflows to work on windows? 2025-08-22 17:48:42 -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 StartupWMClass fix 2025-08-22 17:18:51 -07:00
README.md persist additional arguments to config, change px to rem where it makes sense 2025-08-22 11:32:40 -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 koboldcpp manager. FriendlyKobold Icon

Core Features

  • modern UI for koboldcpp with full support for Linux Wayland
  • download and keep up-to-date your koboldcpp binary
  • manage the koboldcpp binary to prevent it from running in the background indefinitely
  • automatically unpack all downloaded koboldcpp binaries for significantly faster operation and reduced RAM+HDD utilization (up to ~4GB less RAM usage for ROCm)
  • added presets for a basic flux or chroma image generation setup

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
    

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.

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