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, 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?
