PyGPT Desktop Assistant
A desktop workspace for multi-model chat, file retrieval, automation, and multimodal creation.
What does this agent do, and when should you use it?
PyGPT is a Python desktop AI assistant for Linux, Windows, and Mac with modes for Chat, Chat with Files, Assistants, Agents, Computer use, image generation, and video generation. It connects to models through native OpenAI, Anthropic, Google GenAI, and xAI SDKs, plus LlamaIndex, Ollama, and OpenAI-compatible endpoints. The application stores conversation context in a SQLite database and text files in its working directory, and exposes presets, profiles, calendar, notes, and attachment management in its desktop interface. Its file workflow combines the local data directory, LlamaIndex vector indexes, and temporary attachment indexes; enabled plugins can also run Python, system commands, and custom commands. It fits users who want one local desktop control surface for several model providers, personal files, and optional automation tools rather than a single-provider browser chat client.
A user selects a model, mode, preset, and enabled plugins in the desktop application; PyGPT sends requests through the Responses API, ChatCompletions API, or a provider-native SDK. In Chat with Files, it uses LlamaIndex to read sources such as txt, pdf, csv, docx, xlsx, webpages, and GitHub Repository content, create embeddings in a selected vector store, and add retrieved material to a query; attachments can use Full context, RAG, or Summary. The Files I/O plugin manages files in the working directory's data folder, the Code Interpreter plugin can run Python, and other plugins can execute system commands, web searches, or MCP commands. Agent (LlamaIndex) converts active plugin commands into tools on the fly and can add an index-reading tool automatically, while Agent (OpenAI) provides workflows including Planner, Research bot, and Supervisor + Worker. Outputs can include model responses, generated images or videos, downloaded or locally generated files, speech transcriptions, and synthesized speech.
- An individual who wants one desktop application on Windows, Linux, or Mac to switch among OpenAI, Claude, Gemini, Grok, Perplexity, and local Ollama models.
- A researcher who needs to index PDFs, spreadsheets, Word files, webpages, or a GitHub repository and query that material through Chat with Files.
- A developer or automation user who wants a model to work with files in a local data directory, run Python, or invoke custom commands.
- An accessibility-focused user who needs voice input, speech synthesis, camera-based vision analysis, and image generation in one desktop workflow.
- An advanced user who wants to organize multi-step work with Planner, Research bot, expert collaboration, or Supervisor + Worker presets.
What are this agent's strengths and limitations?
- One desktop interface supports native OpenAI, Anthropic, Google GenAI, and xAI SDKs alongside LlamaIndex, Ollama, and OpenAI-compatible endpoints.
- Chat with Files combines many local and external loaders, automated embeddings, and vector-store options including Chroma, Elasticsearch, Qdrant, and Redis.
- Plugins bring file I/O, Python Code Interpreter, system commands, web search, and MCP into both conversations and agent workflows.
- The product combines text chat with real-time audio, speech recognition, speech synthesis, camera vision, image generation, and video generation modes.
- Most cloud-model and web-search use depends on network access and provider API keys; indexing content calls an embedding model and consumes tokens.
- There is no compiled Mac binary, so Mac users must use PyPI or source; Linux binaries require GLIBC >=2.35.
- File operations, Python execution, and system commands require the relevant plugins and + Tools; autonomous agents combined with plugins may produce unexpected results.
- Documented limits remain: Chat with Audio is beta, Agent (LlamaIndex) is currently text-only, and Computer use sandboxing requires installed Playwright browsers.
How do you install or deploy this agent?
The documented runtime is Python >=3.10 and <3.14. Install the PyPI package:
python3 -m venv venv
source venv/bin/activate
pip install pygpt-net
pygpt
Run from source:
git clone https://github.com/szczyglis-dev/py-gpt.git
cd py-gpt
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 run.py
Linux and Windows 64-bit binaries, Linux AppImage, Snap, and the Windows Microsoft Store are also documented. There is no compiled Mac binary; use PyPI or source. Linux binaries require GLIBC >=2.35.
How do you use this agent?
On first launch, add the required provider keys under Config -> Settings -> API Keys. GPT models require an OpenAI account and API key, while local models do not require an OpenAI key. Select Chat for standard conversation, or put files in the data directory, click Index all, and use Chat with Files to query indexed content. To let the model manage local files, execute Python, or execute commands, enable the relevant plugins and the + Tools option. For Assistant mode, configure the OpenAI Assistants API; for Agent (OpenAI), select a preset workflow and the available remote or local tools.