tenere  by pythops

Rust TUI for LLM interaction

created 2 years ago
562 stars

Top 58.1% on sourcepulse

GitHubView on GitHub
Project Summary

Tenere provides a terminal-based user interface for interacting with Large Language Models, designed for developers and power users who prefer a keyboard-driven workflow. It offers features like chat history, file saving, Vim-like keybindings, and support for multiple LLM backends, streamlining LLM interaction directly within the terminal.

How It Works

Tenere is built in Rust, leveraging its performance and safety guarantees. It utilizes a TUI (Text User Interface) framework to create an interactive command-line experience. The application supports multiple LLM backends (ChatGPT, llama.cpp, Ollama) by abstracting their API interactions, allowing users to switch between them seamlessly. Configuration is managed via TOML files, enabling customization of LLM endpoints, API keys, and keybindings.

Quick Start & Requirements

  • Installation:
    • Binary releases: Download from the releases page.
    • crates.io: cargo install tenere
    • Nix: nix-env -iA nixpkgs.tenere or via configuration.nix.
    • Homebrew: brew install tenere
    • Build from source: Requires Rust and Cargo; run cargo build --release.
  • Configuration: TOML file located at ~/.config/tenere/config.toml (or platform-specific defaults). Custom path can be specified with -c.
  • Backend Requirements:
    • ChatGPT: Requires OPENAI_API_KEY environment variable or configuration.
    • llama.cpp: Requires a running llama.cpp server with a specified URL.
    • Ollama: Requires a running Ollama server with a specified URL and model name.

Highlighted Details

  • Vim keybinding support for most common operations.
  • Syntax highlighting for chat history and prompts.
  • Automatic loading of the last saved chat.
  • Cross-platform compatibility including Linux, macOS, Windows, and Android (via nix-on-droid).

Maintenance & Community

The project is maintained by pythops. Community channels are not explicitly mentioned in the README.

Licensing & Compatibility

  • License: GNU General Public License v3.0 or later (GPL-3.0-or-later).
  • Compatibility: As a GPL-licensed project, linking with closed-source applications may have implications due to its copyleft nature.

Limitations & Caveats

Copying text to/from the clipboard is limited to the prompt input. The README does not detail performance benchmarks or specific resource requirements beyond the need for Rust for source builds.

Health Check
Last commit

6 months ago

Responsiveness

1 day

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

Explore Similar Projects

Starred by Jared Palmer Jared Palmer(Ex-VP of AI at Vercel; Founder of Turborepo; Author of Formik, TSDX), Jeff Hammerbacher Jeff Hammerbacher(Cofounder of Cloudera), and
1 more.

promptable by cfortuner

0%
2k
TS/JS library for building full-stack AI apps
created 2 years ago
updated 2 years ago
Feedback? Help us improve.