This repo only contains code. For resources, see https://github.com/Kagamma/satania-buddy-data
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
- 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.
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.
A: Windows Vista or above with Aero enabled.
A: x11, qt5, qt5pas, freetype, openssl, openal, vorbis
You also need a compositor, or else the app will show black screen.
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?
(Joking aside OS X has a much higher chance to get ported over compare to Linux’s wayland)/
A: Satania Buddy works completely offline without any connections to remote servers.
A: https://github.com/Kagamma/satania-buddy/wiki/Scripting-Reference
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.
A: Base Scaling
in Settings
.
A: Silent
menu.
A: I suck at C/Rust/whatever shiny, “modern” programming languages out there. I also suck at pixel arts.
A: Uoooooooohhh?