Skip to main content

A text-based terminal client for Ollama.

Project description

oterm

the text-based terminal client for Ollama.

Features

  • intuitive and simple terminal UI, no need to run servers, frontends, just type oterm in your terminal.
  • multiple persistent chat sessions, stored together with the context embeddings and template/system prompt customizations in sqlite.
  • can use any of the models you have pulled in Ollama, or your own custom models.
  • allows for easy customization of the model's template, system prompt and parameters.

Installation

Using brew for MacOS:

brew tap ggozad/formulas
brew install ggozad/formulas/oterm

Using pip:

pip install oterm

Using

In order to use oterm you will need to have the Ollama server running. By default it expects to find the Ollama API running on http://0.0.0.0:11434/api. If you are running Ollama inside docker or on a different host/port, use the OLLAMA_HOST environment variable to customize the host/port. Alternatively you can use OLLAMA_URL to specify the full http(s) url. Setting OTERM_VERIFY_SSL to False will disable SSL verification.

OLLAMA_URL=http://host:port/api

The following keyboard shortcuts are available:

  • ctrl+n - create a new chat session

  • ctrl+r - rename the current chat session

  • ctrl+x - delete the current chat session

  • ctrl+t - toggle between dark/light theme

  • ctrl+q - quit

  • ctrl+l - switch to multiline input mode

  • ctrl+p - select an image to include with the next message

While Ollama is inferring the next message, you can press ESC to cancel the inference.

Customizing models

When creating a new chat, you may not only select the model, but also customize the template as well as the system instruction to pass to the model. Checking the JSON output checkbox will cause the model reply in JSON format. Please note that oterm will not (yet) pull models for you, use ollama to do that. All the models you have pulled or created will be available to oterm.

Chat session storage

All your chat sessions are stored locally in a sqlite database. You can find the location of the database by running oterm --db.

Screenshots

Chat Model selection Image selection

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oterm-0.1.22.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

oterm-0.1.22-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

File details

Details for the file oterm-0.1.22.tar.gz.

File metadata

  • Download URL: oterm-0.1.22.tar.gz
  • Upload date:
  • Size: 17.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.10.13 Linux/6.2.0-1019-azure

File hashes

Hashes for oterm-0.1.22.tar.gz
Algorithm Hash digest
SHA256 a30aa67340c9b515476504669b686583ccfa8e96d4a85ec4dcbc5ea50aa74017
MD5 d1347c633a693b8afb734f3218f47bcc
BLAKE2b-256 1f49ca320f7925bce2e866937f4059bacc0982ac6b2c6cf5e2a6760bc78ef83a

See more details on using hashes here.

File details

Details for the file oterm-0.1.22-py3-none-any.whl.

File metadata

  • Download URL: oterm-0.1.22-py3-none-any.whl
  • Upload date:
  • Size: 23.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.10.13 Linux/6.2.0-1019-azure

File hashes

Hashes for oterm-0.1.22-py3-none-any.whl
Algorithm Hash digest
SHA256 15f19551a37c67fe3e03ba8b4af6935fb577660657d5913e7329d7102db06a46
MD5 f31ace4db634bdcaa325a570d3c3bc81
BLAKE2b-256 4338ca8b84f5b63a4b7de20f8e7dc1c22a744c029a46bee0eaf708fd69905f9e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page