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 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.

Q & A

Q: Overall system requirements?

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.
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 a black screen.

Q: Why X11? Where’s Wayland support?

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?
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 of getting ported over compared 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: 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.

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 a new one?

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

Q: Uoooooooohhh?

A: Uoooooooohhh?

Releases

No releases published

Packages

No packages published

Languages