py-gpt
Desktop AI Assistant powered by GPT, Gemini, Claude, Grok, Ollama, DeepSeek, Perplexity, and more - chat, agents, tools, MCP, plugins, RAG, vision, voice, image and video generation, speech synthesis and speech recognition, web search, memory, presets, canvas, assistants, themes, computer use. Windows, Linux, and Mac.
2.0k ★ on GitHub
What it is
PyGPT is an open-source desktop AI assistant for Linux, Windows and macOS. It supports models from OpenAI (GPT-6 Astra, GPT-5.6, GPT-4, etc.), Google Gemini, Anthropic Claude, xAI Grok, Perplexity / Sonar, DeepSeek, plus models available through HuggingFace, LlamaIndex, OpenAI-compatible APIs, and local Ollama…
The homepage listed on the repository, pygpt.net, puts it like this: PyGPT is an open-source desktop AI assistant for Windows, Linux and macOS with agents, RAG, Python tools, MCP, vision, image/video generation and Ollama.
What the README says it does
- Desktop AI assistant for Linux, Windows and macOS, written in Python.
- Runs as a local desktop application with a ChatGPT-like conversational interface.
- Work modes include Chat, Agents, Realtime + audio, Research, Completion, Image and Video generation, Computer use, Experts, Autonomous mode, and Custom agents.
- Integrated LlamaIndex RAG for files, webpages, Google/GitHub data, media, images, conversation history, and formats such as txt, pdf, csv, html, md, docx, json, epub, xlsx, and xml.
- Built-in vector-store support with automatic file, database-context, and data embedding.
From the project’s README.
Getting started
From the README:
chmod +x ./PyGPT-X.X.X-x86_64.AppImageWhere the decision sits
py-gpt calls the hosted decision API rather than running its own weights. That keeps the project small and means its behaviour moves whenever the vendor ships a new model version. It also means an API key and a network round trip sit in the path of every decision.
Models it references: Jev, Alpha.
How active it is
Created 2023-04-09, last pushed 2026-10-06, 2,012 stars and 354 forks when we read it on 2026-11-02. Everything in this category is weeks old at most, so a stale push date means something different here than it would on a mature project. Check the repository before you depend on it.
Find out what your data actually supports
We turn your historical decisions into a frozen test set, then tell you which model, which threshold, and how much of it you can safely automate.