Expand description
§AI in the Terminal
ait is a terminal user interface for interacting with several
generative large language models from multiple providers.
It uses the genai crate to
communicate with the model providers.
The TUI is built using the ratatui crate.
§Installation
Installation requires cargo to be installed.
cargo install ait§Manual installation
Clone this repository and cd to the ait directory and run the application using:
cargo runInstall the application by running:
cargo install --force --path .The binary name is ait.
Binaries are also available for download under Releases.
§Usage
The chat interface is modal and starts in the ‘normal’ mode.
By pressing the i key text can be input into the text area.
More information can be found by pressing the ? key.
To submit queries to the model providers, you either need to obtain an API key and
set the appropriate environment variable OR you need a running
Ollama instance on http://localhost:11434.
§Chat history
Chat history is stored as a sqlite database (facilitated by the
rusqlite crate)
in the users cache directory in the home directory (~/.cache/ait/chats.db).
In addition, ait will store a log of the latest chat
in the user’s home directory, ~/.cache/ait/latest-chat.log on macOS and Linux.
Modules§
- GenAI chat client.
- Application.
- Chat list.
- Command line interface.
- Terminal events handler.
- Event handler.
- Model selector.
- Snippets finder.
- Chat conversations storage.
- Terminal user interface.
- Widget renderer.