A python based terminal with AI capabilities. Forget commands, just tell it what it do!
TerminAI is a powerful terminal that demonstrates the working of multi-model architectures. With TerminAI users can directly type in plain language what they want and have that be executed. TerminAI exhibits duality, that is, if the user enters a bash command directly, then that is immediately executed without the delays introduced by the models.
This is the fifth draft of TerminAI. This is with history implementation.
This is the terminal
Ensure that python, pip and git are installed
sudo apt update && sudo apt-get install python3
sudo apt-get install python3-pip
sudo apt install git
Then clone the GitHub repo locally. Now you can start installing the dependencies.
git clone https://github.com/pUrGe12/TerminAI_V2.git && cd TerminAI_V2
If winget is installed then run the following command to install python
winget install -e --id Python.Python.3
Else install python via python.org. Make sure to add it to the path variables. Note that pip comes installed with python versions 3.4 and above.
Install git using (if no winget then use the git_website)
winget install -e --id Git.Git
Then run the following command to clone the it locally,
git clone https://github.com/pUrGe12/TerminAI_V2.git && cd TerminAI_V2
Install homebrew (mac’s package manager) and python
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" && brew install python
Install git and clone the repo
brew install git && git --version
git clone https://github.com/pUrGe12/TerminAI_V2.git && cd TerminAI_V2
The setup is easy, you are required to obtain
- Gemini API keys from over here.
- Create a database over at supabase and get the URL and KEY (the anon public one).
Then you’re required to copy the SQL query over at table_creation and run that in the SQL editor of your database.
For Linux and Mac users, run the setup.sh which will take care of the other things using the command below and enter the data whenever required.
For Windows users, execute the PowerShell script setup.ps1 and enter the data whenever required.
Note for Windows users, you will need to bypass the execution policy to be able to use TerminAI at all (because Windows doesn’t allow command execution by normal users). Use the below command as an administrator in the PowerShell.l
Set-ExecutionPolicy -Bypass -Scope Process
It is advisable to install the dependencies in a python virtual environment to avoid version clashes.
Run the following commands to achieve that:
python3 -m venv VirtTerminal
Activate it using the following commands
source VirtTerminal/bin/activate
.\VirtTerminal\Scripts\Activate
Install the necessary dependencies (in the root of the repo).
pip install -r requirements.txt
To run the terminal,
python3 src/main.py
you may need to export wayland to get a better UI, do that using
export QT_QPA_PLATFORM=wayland
- Make a better setup file something that tells much more info about the system! For e.g. what the battery name is, model might think BAT0, but you may have BAT1. We gotta think of a clever way to represent this information.
Priorities
- We'll have to handle
git
andcd
seperately from others.
- Introduce verbose outputs for installing things.