Skip to content

Kagamma/satania-buddy

Repository files navigation

This repo only contains code. For resources, see https://github.com/Kagamma/satania-buddy-data

satania-buddy

Open source virtual desktop assistant / LLM frontend in the form of Satanichia Kurumizawa McDowell, developed using Free Pascal and Castle Game Engine.

Download page: https://kgm.itch.io/satania-buddy

Current features:

  • AI backend integration: ChatGPT, KoboldCPP, Oobabooga, WolframAlpha.
  • Customizable commands, based on a simple rule-based chat system.
  • Alarms & Reminders.
  • Speech recognizing.
  • Check for emails via IMAP protocol.
  • Easy to add new characters.
  • Easy to mod. Pretty much all actions are scriptable via it’s own scripting language (refer to as Evil Scheme).
  • Low resource consuming, makes it suitable as an actual desktop assistant that can be available all the time.

Q & A

Q: Overall system requirements?

A:

  • CPU: Any decent x86_64 CPU should be able to run. I personally run it on an i7-6700HQ and it barely reach 1% CPU usage (around 2% - 3% with Speech Recognition enable).
  • RAM: The app consumes 100MB without Speech Recognition disabled, and 300MB with Speech Recognition (Vosk) enabled.
  • GPU: Any decent intel iGPU with support for OpenGL 2.0 should be enough to run the app.
Q: Windows requirements?

A: Windows Vista or above with Aero enabled.

Q: Linux requirements?

A: x11, qt5, qt5pas, freetype, openssl, openal, vorbis

You also need a compositor, or else the app will show black screen.

Q: Why X11? Where’s wayland support?

A: Wayland’s “security” measurements makes this kind of software impossible to develop. Things you just can’t do in wayland:

  • Ability to manually control Satania’s position on screen. This is needed if we want to drag her around, move her to other monitors/virtual desktops, or put her onto other windows.
  • Can’t access to other applications’s window position (so no Sit On Window).
  • Can we even be able to tell wayland to make Satania’s window always stay on top of everything else?
Q: OS X support when

A:https://user-images.githubusercontent.com/7451778/155552903-936f2ff1-a32b-4fe2-bbbd-0403d169808a.gif

(Joking aside OS X has a much higher chance to get ported over compare to Linux’s wayland)/

Q: Privacy?

A: Satania Buddy works completely offline without any connections to remote servers.

Q: Scripting API?

A: https://github.com/Kagamma/satania-buddy/wiki/Scripting-Reference

Q: Chat features?

A: Type >app_name to execute external applications, for example: >echo Hello

Type an expression, for example 5+3*2 and she will answer with 11

By default she has a simple rule-based chat system (note: Rules need to be enabled), you can configure patterns and responses in Rules.

If none of the above apply, then she will use external services (WolframAlpha, ChatGPT, KoboldCPP, etc) for answers.

Q: How can I change her size?

A: Base Scaling in Settings.

Q: How can I make her stay silent?

A: Silent menu.

Q: Why don’t you contribute to existing satania-buddy projects instead of creating new one?

A: I suck at C/Rust/whatever shiny, “modern” programming languages out there. I also suck at pixel arts.

Q: Uoooooooohhh?

A: Uoooooooohhh?

Releases

No releases published

Packages

No packages published

Languages