oatmeal  by dustinblackman

Terminal UI for chatting with LLMs, integrating with editors

created 1 year ago
644 stars

Top 52.7% on sourcepulse

GitHubView on GitHub
Project Summary

Oatmeal is a terminal UI for interacting with large language models, designed for developers and power users who want to integrate LLM chat capabilities directly into their workflow. It offers a flexible, backend-agnostic approach, allowing seamless switching between various LLM providers and providing deep integration with code editors like Neovim.

How It Works

Oatmeal utilizes a Rust-based architecture for performance and reliability. It supports multiple LLM backends (OpenAI, Ollama, LangChain, Claude, Gemini) through a pluggable Backend trait, enabling easy extension. For editor integration, it implements an Editor trait, allowing features like sending code snippets to and receiving code completions from editors. This design prioritizes flexibility and extensibility, allowing users to tailor their LLM interaction experience.

Quick Start & Requirements

  • Install: Multiple installation methods are available, including Homebrew (brew install dustinblackman/tap/oatmeal), package managers (Debian/Ubuntu, Fedora, Nix, Arch), and direct downloads from releases. Cargo installation (cargo install oatmeal --locked) and Docker (docker run --rm -it ghcr.io/dustinblackman/oatmeal:latest) are also supported.
  • Prerequisites: Rust toolchain for source builds. Specific LLM backends may require API keys or local model servers (e.g., Ollama).
  • Docs: https://github.com/dustinblackman/oatmeal

Highlighted Details

  • Supports multiple LLM backends: OpenAI, Ollama, LangChain (experimental), Claude (experimental), Gemini (experimental).
  • Integrates with editors like Neovim and offers a clipboard mode for general use.
  • Features code actions for sending/receiving code snippets between Oatmeal and editors.
  • Persists chat sessions for review and continuation.

Maintenance & Community

  • Actively maintained by Dustin Blackman.
  • Issue reporting is encouraged via a dedicated DEBUG package.
  • Development setup includes a DevContainer.

Licensing & Compatibility

  • MIT License. Permissive for commercial use and integration with closed-source projects.

Limitations & Caveats

The project is noted as "still quite new" with potential bugs. Experimental backends (LangChain, Claude, Gemini) may have stability issues. Syntax highlighting customization is manual, requiring updates to assets.toml.

Health Check
Last commit

1 year ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
46 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.