Hysen Labs
Open-source project
oobabooga/textgen avatar
oobabooga

textgen

Open-source desktop app for local LLMs. Text, vision, tool-calling, OpenAI/Anthropic-compatible API. 100% private.

47,551 stars5,979 forksPythonAGPL-3.0
01
DEEP OPEN-SOURCE ANALYSIS

TextGen: a private desktop app for local LLMs

An open source desktop app for running large language models locally, with text, vision, tool calling, and an OpenAI and Anthropic compatible API. The README leads with portable builds that claim setup in about a minute.

02
DEEP OPEN-SOURCE ANALYSIS

The setup pitch

The README claims getting started takes about a minute. Portable builds exist for Linux, Windows, and macOS with CUDA, Vulkan, ROCm, and CPU-only options, and all dependencies are included. The builds are compatible with GGUF models from llama.cpp. For people who need more, a one-click installer per OS runs a start script, asks for the GPU vendor, and opens http://127.0.0.1:7860 in the browser once installed. A full installation for extra backends needs about 10GB of disk space and downloads PyTorch.

03
DEEP OPEN-SOURCE ANALYSIS

Chat and generation

The chat side covers several modes. Instruct mode is for instruction following, while chat-instruct and chat modes handle talking to custom characters, with prompts formatted automatically using Jinja2 templates. Vision support attaches images to messages for visual understanding. File attachments accept text files, PDFs, and docx documents to discuss their contents. Messages can be edited, versions navigated, and conversations branched at any point, and a notebook tab offers free-form text generation outside chat turns.

04
DEEP OPEN-SOURCE ANALYSIS

Backends, API, and tools

Multiple backends are listed, including llama.cpp, Transformers, ExLlamaV3, and TensorRT-LLM, and you can switch between them and models without restarting. An OpenAI and Anthropic compatible API exposes chat, completions, and messages endpoints with tool-calling support, positioned as a local drop-in replacement. Models can call custom functions during chat, including web search, page fetching, and math, with each tool as a single Python file, and MCP servers are supported. A training tab fine-tunes LoRAs on multi-turn chat or raw text, and an image generation tab works with diffusers models like Z-Image-Turbo.

05
DEEP OPEN-SOURCE ANALYSIS

Privacy and extensions

The privacy claims are blunt: 100 percent offline and private, with zero telemetry, no external resources, and no remote update requests. The interface supports dark and light themes, syntax highlighting for code blocks, and LaTeX rendering for math. Built-in and community extensions include text to speech, voice input, and translation, with the full list in the extensions directory.

06
DEEP OPEN-SOURCE ANALYSIS

Editorial conclusion

The whole README reads like a privacy-first counterpoint to hosted LLM services, with local runs and an API that mimics the services many teams already use.

07
DEEP OPEN-SOURCE ANALYSIS

Official sources

08
Community notes

Community notes