A command-line interface for Ollama API
Project description
mdllama
A CLI tool that lets you chat with Ollama and OpenAI models right from your terminal, with built-in Markdown rendering and websearch functionalities.
Features
- Chat with Ollama models from the terminal
- Built-in Markdown rendering
- Web-search functionality
- Extremely simple installation and removal (see below)
Screenshots
Chat Interface
Help
Interactive Commands
When using mdllama run for interactive chat, you have access to special commands:
Basic Commands
exitorquit- End the interactive sessionclear- Clear the current conversation contextmodels- Show numbered list of available models for selection"""- Start/end multiline input mode for longer messages
File and Content Integration
file:path/to/file- Include local file content in your next messagesite:url- Fetch and include website content in conversation contextsystem:prompt- Set or change the system prompt (use without prompt to clear)
Web Search Commands
search:query- Search the web and add results to conversation contextsearchask:query|question- Search for specific query and ask a question about resultswebsearch:question- Let AI generate optimized search query and get results
Runtime Controls
temp:value- Change temperature setting (0.0 to 1.0)model:name- Switch to different model (or show list if name omitted)
Command Line Options
mdllama search "query"- Standalone web search commandmdllama sessions- List all saved conversation sessionsmdllama load-session session_id- Load a previous conversationmdllama clear-context- Clear current conversation contextmdllama models- List available modelsmdllama pull model_name- Download a model from Ollama registry
OpenAI and Provider Support
Supported Providers
- Ollama: Local models running on your machine
- OpenAI: Official OpenAI API (GPT-3.5, GPT-4, etc.)
- OpenAI-compatible: Any API that follows OpenAI's format (Hackclub AI, LocalAI, etc.)
Setup Instructions
For Ollama (Default)
mdllama setup
# Or specify explicitly
mdllama setup --provider ollama
For OpenAI
mdllama setup --provider openai
# Will prompt for your OpenAI API key
For OpenAI-Compatible APIs
mdllama setup --provider openai --openai-api-base https://ai.hackclub.com
# Then provide your API key when prompted
Usage Examples
# Use with OpenAI
mdllama chat --provider openai "Explain quantum computing"
# Use with specific model and provider
mdllama run --provider openai --model gpt-4
# Interactive session with streaming
mdllama run --provider openai --stream --render-markdown
Live Demo
Go to this mdllama demo to try it out live in your browser. The API key is 9c334d5a0863984b641b1375a850fb5d
[!NOTE] Try asking the model to give you some markdown-formatted text, or test the web search features:
Give me a markdown-formatted text about the history of AI.search:Python 3.13(web search)site:python.org(fetch website content)websearch:What are the latest Python features?(AI-powered search)
So try it out and see how it works!
Installation
Install using package manager (recommended)
Debian/Ubuntu Installation
-
Add the PPA to your sources list:
echo 'deb [trusted=yes] https://packages.qincai.xyz/debian stable main' | sudo tee /etc/apt/sources.list.d/qincai-ppa.list sudo apt update
-
Install mdllama:
sudo apt install python3-mdllama
Fedora Installation
-
Download the latest RPM from: https://packages.qincai.xyz/fedora/
Or, to install directly:
sudo dnf install https://packages.qincai.xyz/fedora/mdllama-<version>.noarch.rpm
Replace
<version>with the latest version number. -
(Optional, highly recommended) To enable as a repository for updates, create
/etc/yum.repos.d/qincai-ppa.repo:[qincai-ppa] name=Raymont's Personal RPMs baseurl=https://packages.qincai.xyz/fedora/ enabled=1 metadata_expire=0 gpgcheck=0
Then install with:
sudo dnf install mdllama
3, Install the ollama library from pip:
pip install ollama
You can also install it globally with:
sudo pip install ollama
[!NOTE]
TheThis issue has been resolved by including a post-installation script for RPM packages that automatically installs theollamalibrary is not installed by default in the RPM package since there is no systemollamapackage avaliable (python3-ollama). You need to install it manually using pip in order to usemdllamawith Ollama models.ollamalibrary using pip.
PyPI Installation (Cross-Platform)
Install via pip (recommended for Windows/macOS and Python virtual environments):
pip install mdllama
Traditional Bash Script Installation (Linux)
[!WARNING] This method of un-/installation is deprecated and shall be avoided Please use the
pipmethod, or use DEB/RPM packages instead
To install mdllama using the traditional bash script, run:
bash <(curl -fsSL https://raw.githubusercontent.com/QinCai-rui/mdllama/refs/heads/main/install.sh)
To uninstall mdllama, run:
bash <(curl -fsSL https://raw.githubusercontent.com/QinCai-rui/mdllama/refs/heads/main/uninstall.sh)
License
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mdllama-4.2.4.tar.gz.
File metadata
- Download URL: mdllama-4.2.4.tar.gz
- Upload date:
- Size: 48.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1b7b0eb8ddc1dfd5667f09a24d333931c3ffa31f31a33d82edd6be544481419
|
|
| MD5 |
359237808c75fd9cb7535eda5ed7ecc1
|
|
| BLAKE2b-256 |
de8fef8665af96a89e6e64c7190f7438e9791ee83bff6564b9e3fd40d7151b20
|
Provenance
The following attestation bundles were made for mdllama-4.2.4.tar.gz:
Publisher:
publish-to-pypi.yml on QinCai-rui/mdllama
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mdllama-4.2.4.tar.gz -
Subject digest:
c1b7b0eb8ddc1dfd5667f09a24d333931c3ffa31f31a33d82edd6be544481419 - Sigstore transparency entry: 405322851
- Sigstore integration time:
-
Permalink:
QinCai-rui/mdllama@0e91d73bd83bd12b97e5e7057f4735be17ba8553 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/QinCai-rui
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@0e91d73bd83bd12b97e5e7057f4735be17ba8553 -
Trigger Event:
workflow_run
-
Statement type:
File details
Details for the file mdllama-4.2.4-py3-none-any.whl.
File metadata
- Download URL: mdllama-4.2.4-py3-none-any.whl
- Upload date:
- Size: 51.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fd32f015dfd3bad3e0a3f223f8cdd8c9cd3b3e05448d994f4072ea70e4d1c85
|
|
| MD5 |
f6d21b984d414ea3169e4a5442cc1b79
|
|
| BLAKE2b-256 |
ed8446c1c32ee5958cd1e1f4ef52332231003ee931816ec23f0e216155b9b66f
|
Provenance
The following attestation bundles were made for mdllama-4.2.4-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on QinCai-rui/mdllama
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mdllama-4.2.4-py3-none-any.whl -
Subject digest:
6fd32f015dfd3bad3e0a3f223f8cdd8c9cd3b3e05448d994f4072ea70e4d1c85 - Sigstore transparency entry: 405322861
- Sigstore integration time:
-
Permalink:
QinCai-rui/mdllama@0e91d73bd83bd12b97e5e7057f4735be17ba8553 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/QinCai-rui
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@0e91d73bd83bd12b97e5e7057f4735be17ba8553 -
Trigger Event:
workflow_run
-
Statement type: