โšก Fast โ€ข Lightweight โ€ข Terminal

๐Ÿฆ™ LazyLlama

A blazing fast Terminal User Interface (TUI) client for Ollama with real-time streaming, markdown support, and smart scrolling.

v0.5.1 โ€ข GPL-2.0-or-later
lazyllama
$ lazyllama
๐Ÿฆ™ LazyLlama v0.5.1 - Starting...
๐Ÿ“ก Connected to Ollama
๐Ÿค– Available models:
โ€ข llama2
โ€ข mistral
โ€ข codellama
> _

โœจ Why LazyLlama?

Built with performance and user experience in mind

โšก

Real-time Streaming

Responses are generated live, providing immediate feedback without waiting for complete generation.

๐ŸŽจ

Markdown Support

Automatic formatting for headers, lists, bold text, and syntax-highlighted code blocks with custom borders.

๐Ÿ–ฑ๏ธ

Smart Scrolling

Automatic following of AI output with manual scroll lock (๐Ÿ”’) for reading previous messages undisturbed.

๐Ÿ”„

Model Management

Easily switch between installed Ollama models using arrow keys with separate input/output buffers per model.

๐Ÿ’พ

Smart Buffer Management

Each LLM maintains its own chat history, input text, and scroll position for seamless multi-model workflows.

๐Ÿ“

Automatic Logging

Every chat session is automatically saved as text files with both combined and per-model histories.

โš™๏ธ

Emacs-inspired Controls

Familiar keyboard shortcuts for efficient navigation and control, designed for power users.

๐Ÿฆ€

Built with Rust

Ultra-low latency and minimal resource footprint using Rust and the Ratatui terminal framework.

โšก Blazing Fast Performance

Ultra-low latency operations well within 60 FPS frame budget (< 16ms)

LazyLlama is built with performance as a top priority. All operations complete in microseconds or nanoseconds, ensuring a smooth and responsive user experience even with large conversation histories.

๐Ÿ”ค String Operations

Character Insertion 384 ns โšกโšก
Unicode Handling (๐Ÿฆ€) 163 ns โšกโšก
Pattern Search 7.55 ยตs โšก

๐Ÿ“ Text Processing

History Parsing 2.11 ยตs โšก
Line Iteration 7.23 ยตs โšก
Character Counting 206 ns โšกโšก

๐ŸŽฏ Cursor Operations

Index Conversion 1 ns โšกโšกโšก
Word Boundary 2.81 ยตs โšก

๐ŸŒ Real-World Usage

100KB History 66.2 ยตs โœ…
Model Switching 13.0 ยตs โœ…
HashMap Lookups 6.97 ยตs โšก

Performance Legend

โšกโšกโšก Extreme (< 10 ns)
โšกโšก Ultra-fast (< 1 ยตs)
โšก Fast (< 10 ยตs)
โœ… Good (< 100 ยตs)

Note: All benchmarks are measured on optimized release builds. Unicode operations are actually faster than ASCII due to efficient UTF-8 handling in Rust. Run cargo test --release --benches to execute the full benchmark suite yourself.

Last measured: 2 March 2026 · Release build · cargo test --release --benches

๐Ÿš€ Quick Start

Get up and running in minutes

1

Prerequisites

Make sure you have Rust and Ollama installed and running.

2

Install LazyLlama

# From crates.io (recommended)
cargo install lazyllama

# Or build from source
git clone https://github.com/Pommersche92/lazyllama.git
cd lazyllama
cargo install --path .
3

Run LazyLlama

lazyllama

That's it! Start chatting with your AI models right in your terminal.

๐Ÿ“ฅ Alternate download options

Choose your preferred installation method

โŒจ๏ธ Keyboard Controls

Designed for efficiency and productivity

Basic Controls

Enter Send message / Re-activate Autoscroll
Shift + Enter Insert newline (multiline input)
Ctrl + Q Quit application safely
Ctrl + C Clear chat history
Ctrl + S Manually toggle Autoscroll

Clipboard Operations

Ctrl + Shift + C Copy selected text to clipboard
Ctrl + Shift + V Paste text from clipboard

Model & Navigation

Ctrl + โ†‘ / โ†“ Switch between AI Models (loads separate buffers per model)
โ†‘ / โ†“ Move cursor up/down between lines in multiline input
PgUp / PgDn Scroll history (activates Manual Mode)
โ† / โ†’ Move cursor left/right in the input field

Text Selection

Shift + โ† / โ†’ Select text character-wise
Shift + Home / End Select text to start/end of line
Ctrl + Shift + โ† / โ†’ Select text word-wise

Advanced Editing

Home / End Jump to start/end of the input line
Ctrl + โ† / โ†’ Move cursor word-wise
Backspace Delete character before the cursor
Delete Delete character after the cursor
Ctrl + Backspace Delete previous word
Ctrl + Delete Delete next word