Native Setup
February 11, 2026 ยท View on GitHub
Running this application natively on your Unix host system is possible but not recommend.
If you simply want to start talking to Assistant Nio, try the super awesome docker setup instead.
Clone the repository
-
Clone the repository to a path of your choice, e.g.
AssistantNio: -
If you're looking for a more stable experience, it's recommended to run from the main branch:
git clone --branch main <insert URL> AssistantNio -
If you really want the latest development commits, e.g. to submit PRs, check out the develop branch:
git clone --branch develop <insert URL> AssistantNio
Dependencies
sudo apt install libjpeg-dev zlib1g-dev
Install libolm
- You should be able to install libolm
- from your distribution's package manager e.g.
apt install libolm3 libolm-devon Debian/Ubuntu - manually build it as in build_and_install_libolm.sh
- from your distribution's package manager e.g.
Install Python dependencies
-
Change in to the root folder of this repository:
cd AssistantNio -
Create and activate a Python 3.10 virtual environment:
virtualenv -p python3.10 env source env/bin/activate -
Install main python dependencies:
pip install -r requirements.txt -
To install all plugin requirements (specified in each plugin's
requirements.txt), you may run:find / -iname requirements.txt -exec pip install --prefix="/python-libs" --no-warn-script-location -r {} \;or just install the requirements on the plugin that interest you.
Configuration
-
Copy the sample configuration file to a new
config.yamlfile.cp sample.config.yaml data/config/config.yaml -
Edit the config file. The
matrixsection must be modified at least. -
Now copy all the plugin config files you want to edit into the
data/config/directory:plugin_name="aichat" cp plugins/${plugin_name}/${plugin_name}.sample.yaml data/config/${plugin_name}.yaml.testand edit them accordingly
Running
-
Starting from the projects root directory, make sure to source your python environment if you haven't already:
source ~/env/bin/activate -
Then simply run the bot with:
python main.py -
By default, the bot will run with the config file at
"./data/config/config.yaml"and load all plugins from theplugins-directory. You may optionally specify a different config-file and plugins-directory by running:python main.py [configfile [plugins_directory]]e.g.
python main.py myconfig.yaml myplugins
Upgrading
-
Just use the latest state from main:
git switch main git pull -
In case of changed requirements, repeat "Install Python dependencies".
Enjoy. ;)