Introduction to oterm
oterm is a text-based terminal client designed to work seamlessly with the Ollama framework, offering users an intuitive and straightforward interface right from your terminal. By simplifying interactions with Ollama models, it removes the need for complex server setups or front-end requirements, allowing users to simply launch terminal commands.
Features
oterm boasts several notable features that enhance user experience:
- User-Friendly Interface: With an easy-to-navigate terminal UI, users can effortlessly manage multiple chat sessions.
- Persistent Chat Sessions: All chat sessions, including system prompts and parameter customizations, are stored in a local SQLite database.
- Model Customization: Users can utilize any model they have downloaded from Ollama or personalize their own models. This includes editing system prompts and parameters to tailor interactions.
- Tool Integration: Tools can be integrated to provide external information to models, expanding their usability and application.
Installation
Before using oterm, it is essential to have Ollama installed and operational. The installation for both Ollama and oterm varies based on the operating system.
- MacOS: Users can install oterm using Homebrew.
- Arch Linux: AUR helpers like yay can facilitate installation.
- Other Systems: Using pip globally allows for a wider installation across different OS.
Updating oterm
Updating to the newest version of oterm follows the same method as installation, ensuring users always have the latest features and improvements.
Using oterm
Once installed, oterm requires the Ollama server to be running at its default API location. If you need to customize host or port settings, environmental variables such as OLLAMA_HOST
or OLLAMA_URL
are available.
Commands and Keyboard Shortcuts
Within oterm’s interface, several commands can be executed to manage chat sessions, such as creating new chats, editing parameters, or exporting sessions. Keyboard shortcuts make navigating these functions faster and more efficient, with shortcuts available for toggling themes, quitting the application, and more intuitive controls over chats and multiline inputs.
Tools and Customization
oterm's tool integration, which became available from version 0.6.0
, allows the inclusion of functions like date and time retrieval or user location data to enhance model interactions. All models can be meticulously customized in terms of system instructions, tools, and parameter settings, ensuring the model operates precisely as desired.
Chat Session Storage and Configuration
All chat data is securely stored in a local SQLite database, which can be customized to a specific directory via environment variables. App configuration settings, like themes and splash screen preferences, can also be modified within the application’s configuration file.
Copy / Paste Functionality
While terminal applications typically face challenges with copy/paste functionality, oterm provides solutions, like clicking messages to copy them to the clipboard and using key modifiers to select text within terminal windows.
Screenshots
Visual aids such as splash screen animations, the chat interface, model selection screen, and image inclusion methods provide users with a better understanding and navigation of oterm’s features.
License
oterm is open-source and licensed under the MIT License, promoting ease of use and encouraging contributions and customizations from the developer community.
With its rich feature set, user customization options, and robust integration capabilities, oterm represents a versatile tool for anyone looking to harness the power of terminal-driven machine learning interactions with Ollama models.