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 its own scripting language (referred to as Evil Scheme).
- Low resource consuming, making 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 it. I personally run it on an i7-6700HQ, and it barely reaches 1% CPU usage (around 2% - 3% with Speech Recognition enabled).
- RAM: The app consumes 100MB with 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 a black screen.
A: Big Brother Wayland knows what’s best for you and has decided that you can’t:
- Manually control Satania’s position on the screen. This is needed if you want to drag her around, move her to other monitors/virtual desktops, or place her onto other windows.
- Access other applications’ window positions (so no Sit On Window).
- Can we even tell Big Brother Wayland to make Satania’s window always stay on top of everything else?
(Joking aside, OS X has a much higher chance of getting ported over compared 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: Commands need to be enabled), and you can configure patterns and responses in Commands
.
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 are out there. I also suck at pixel art.
A: Uoooooooohhh?