A downloadable desktop assistant for Windows and Linux

Download NowName your own price

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

For more information, please refer to README.md at github page: https://github.com/Kagamma/satania-buddy

As this is still under heavy development, please check this page frequently for updates & new releases.


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.


Overall system requirements:

  • OS: Windows, Linux
  • 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: On Linux, the app consumes 100MB without Speech Recognition enabled and 300MB with it enabled. On Windows, it's lower as the app uses the direct Win32 API for GUI, not relying on 3rd party widget sets.
  • GPU: Any decent intel iGPU with support for OpenGL 2.0 should be enough to run the app.

Windows requirements:

  • Windows Vista or above with Aero enabled.

Linux requirements:

  • x11, qt5pas, freetype, openssl, openal, vorbis
  • You also need a compositor, or else the app will show black screen.
  • Extract the archive and run satania-buddy.sh instead of satania-buddy.

The app only works on X11. Wayland's "security" measurements makes this kind of app impossible to develop.


Download

Download NowName your own price

Click download now to get access to the following files:

linux64.tar.gz 97 MB
win64.zip 96 MB

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

every time i speak to her it comes up with error code 

Worker "___worker": Runtime error Exception: "Function "bert_load_from_file" is null" at line 43 (data/scripts/libs/bert/commands.evil)

im also getting errors about bert_load_from_file

Depending on your system, either libbert.dll (on Windows) or libbert.so (on Linux) is not loading. Try to verify to see if one of the file is in the app's directory. Also:

  • Which operating system are you using to run the app? If you are on Linux, make sure to run "satania-buddy.sh" instead.
  • Are you trying to run the app via the itch.io client? I honestly never tested this, so it may not work correctly.

im on windows

how do i see if it is in the directory

The directory layout should look like this:

it is like that

Can you try to download the app again, run it, and then screenshot me the log in Menu -> Console when this error occurs? Something like this:

(+1)

Hello, i recently installed satania-buddy and upon launching the program, my screen black and satania is just there (fully functional tho). I can't see my browser or folder or anything. Also i messed around the settings and set her size to 10, anyway to revert it back? I'm on a laptop and my mouse can't reach her lol.

(6 edits)

Are you on Linux without a compositor? satania-buddy is essentially a 3D full-screen app with a transparent background, so it requires a compositor. While I might work on making the app run without a compositor in the future, that would involve creating a software renderer fast enough for polygonal rendering.

If you're on Windows, could you try clicking somewhere else that's not Satania? Sometimes this happens to me, and clicking elsewhere usually restores the transparent background.

You can access context menu in the tray icon. Or you can delete her config file manually in either ~/.config/satania-buddy (Linux), or C:\Users\<Your acc name>\AppData\Local\satania-buddy (Windows)


I'm on windows, and i tried clicking somewhere else and its still black. For example i click on a youtube video and it plays but i can't see it due to the black screen with satania in it. I position my mouse on another video and it plays so it works. Is it the aero thing mentioned on the README, because i didnt know how to enable aero so maybe that is the cause.

That requirement is for windows vista & 7. Can you give me the full spec of your laptop so I can take a look at it?

Im using windows 10. Is it not functional for that OS? My specs are 

Processor: AMD Ryzen 7 3750H with Radeon Vega Mobile Gfx     2.30 GHz

Installed RAM: 16.0 GB

Windows 10 is fine. "Aero" (or dwm, to be precise) is always on and cannot be disabled starting from Windows 8. My worry is that this might be another case of AMD card and OpenGL not playing nice with each other on Windows.

Hello, linux user here, I've downloaded your virtual assistant, and was unable to get it runningon pop ups, I ran into a missing qt5pas, installed it, then made libbass accessible to the system, now I am getting this error.

./satania-buddy: symbol lookup error: ./satania-buddy: undefined symbol: QLCLOpenGLWidget_Create

any idea what this could be stemming from? I am indeed on x11 as well and not wayland.

Which distro are you using? Based on the error, there's a high chance that the qt5pas library comes with that distro is from an older version and does not have QLCLOpenGLWidget_Create(), which is necessary to initialize OpenGL context.

The distro is Pop_OS! Basically a distro based on ubuntu and gnome, I will look into getting the latest qt5pas and see if that works

Okay so updated to te latest libqt5pas, it's now working much appreciated ^^

(1 edit)

where did you get the library, what's the version you installed?

if your on ubuntu or pop os.

sudo apt-get install libqt5pas-dev

Hello! Is there support for foreign languages? Russian or Ukrainian for example?

(3 edits)

To answer this question, I decided to divide the app into three parts:

- UI part: Sadly there's no support for foreign languages at the moment. The app does support i18n, but no .po files are included in the current release. I think I will start providing .po files in future releases so that anyone interested in it can provide translations for other languages.

- Speech recognition part: The answer is yes, although it is not included by default. The app uses Vosk as a cross-platform speech recognition backend, and you can get the Russian / Ukrainian model from the website (see https://alphacephei.com/vosk/models), unpack it into the `data/nn/vosk/` directory, then set the model in Settings > Speech recognition to that model.

- LLM part: Just like Speech recognition, you can run your own instance of koboldcpp with a Russian / Ukrainian model, then let satania-buddy connects to it.

Thank you very much for the answer! I want to wish you good luck in the next updates and thank you for this product.

Is there a way or .evil file that is safe to use to initialize or establish default values? Like something or some way that parts of the script are being triggered only at start up and only once.

(1 edit)

Sorry for late reply. The set() and get() functions allow you to save and retrieve flags that will be kept alive in memory until satania-buddy is closed. This means you can use them to mark and execute a part of the code only once:

if get('code_executed') = 0 { // in current development version, get('code_executed') will return null instead of 0

  // Execute your code here

  set('code_executed', 1)

}

That being said, it has been over a year since the last release, and unfortunately, the documentation for evil script on wiki page is currently available for the development version only (the script engine has been rewritten and improved a lot since then, as well as a lot of other stuff like koboldcpp /chatgpt integration etc). I am considering releasing a new version this weekend, even though it's not finished yet (I haven't completed animating her new model).

(+1)

i love it, will there be machine learning in the future ? like parsing data/files for her to learn/remember stuff better.

(1 edit)

Sorry for late reply. Right now I have no plan on adding stuff involving on parsing user data / files. Although I may add the ability to executing apps by looking at shortcuts on Dekstop & Start Menu at least.

im coomer i need more lewd actions, when?

(1 edit)

Each set of animations should have at least 1, to serve as example for "Fanservice" setting. It also depends on characters, as I plan to add more in the future.

thanks, have a nice day

Cute!

What Desktop Email software do I need for it to detect it?

Hi! Right now it doesn't support any external Email clients. Instead it has it's own IMAP protocol implementation, so if your email server supports IMAP protocol (most email servers support it), then you can set it up by opening Settings dialog and navigate to IMAP tab.

The default Email script comes with it only displays the number of unread emails, and the latest received email's sender and subject. The app was designed with modding in mind so if you like modding then you can open the script in data/scripts/satania/menu/Email.evil and modify it to your likeness. See Help -> Scripting APIs for reference.

Ok thanks