karthink/gptel

A simple, extensible LLM client for Emacs

What it solves

gptel is a Large Language Model (LLM) client for Emacs that allows users to interact with various AI models from anywhere within the editor. It eliminates the need to switch between the editor and a web browser or separate AI chat interface, integrating AI assistance directly into the user's workflow.

How it works

gptel provides a uniform interface to multiple LLM backends (both cloud-based and local). It allows users to send queries to these models and receive responses in Markdown or Org markup. The client supports multiple independent conversations, one-off interactions, and thein-place usage where responses are inserted directly into the current buffer.

Who it’s for

Emacs users who want to integrate LLM capabilities into their editor, supporting a variety of providers like OpenAI, Anthropic, Claude, Gemini, Ollama, and others, including local LLM servers.

Highlights

  • Universal Emacs Integration: Interact with LLMs from any buffer, shell, or minibuffer.
  • Multi-Backend Support: Compatible with a vast array of providers including OpenAI, Anthropic, Gemini, Ollama, Llama.cpp, and DeepSeek.
  • Agentic Capabilities: Supports tool-use and Model Context Protocol (MCP) integration for extended functionality.
  • Flexible Conversation Management: Save chats as regular Markdown/Org/Text files and resume them later.
  • Multi-modal Input: Supports including images and documents with requests.
  • Introspection: Ability to inspect and modify queries before they are sent to the model.
  • Customizable Workflow: Provides a simple API for users to create their own custom gptel commands.

Related

  • Project
  • Project
  • Project
  • Project
  • Project