/Sapphire-Assistant-Framework-Python

A personal assistant skeleton, from which you can build your own personal assistant

Primary LanguagePythonMIT LicenseMIT

Python based *NIX Assistant

About

This project contains a customizable personal assistant program, mostly written in Python, designed with the Unix philosophy in mind. Its design is modular for replacements and upgrades using custom components, and it is meant to be fitted to an individual rather than a generic assistant for everybody.

Features & Goals

Primary features of this are that it is designed to work offline without registration with any services, can be networked with other instances of the assistant, designed for each mobile, desktop, and server useage, and to be customized on device.

Please read the project Wiki for more information for how it works.

Normal Setup:

Following this setup guide will install the assistant, and create a system service that will start upon user login. To send messages to the assistant, use the udp-client.py with python3 udp-client.py "your message here". It can also be useful to make an alias for this command, such as alias msg=python3 /your/assistant/directory/udp-client.py and put it in your .profile script

To start the setup, just follow the guide below

Copy the git repository

git clone https://gitlab.com/Hikari_Tadashi/assistant.git

Enter the assistant directory

cd assistant

Install poetry

This step varies depending on your package manager. For more information, go to poetrys website

Example: pacman -S python-poetry

Setup the poetry environment

poetry install

Setup the Systemd service

sed "s,{ASST_BASE_PLACEHOLDER},$(pwd)/assistant/g" assistant/assistant.service >> ${HOME}/.config/systemd/user/assistant.service

Enable the Systemd service

systemctl --user enable assistant

Start the assistant

systemctl --user start assistant

Once all these steps are complete, the Assistant will run on user login