PyGPT Desktop Assistant
A desktop workspace for multi-model chat, file retrieval, automation, and multimodal creation.
Per-dimension scores and reasoning
Evidence shows: the project uses user's own API keys, but least privilege principle is not explicitly stated; user confirmation exists (e.g., plugins need manual enabling) but not systematic; data flow transparency is insufficient, no detailed explanation of how data is processed, stored, and transmitted; sensitive data handling (e.g., API key storage) is not detailed; dependencies are numerous and version-pinned, but no security audit or vulnerability scanning evidence; external effects (e.g., executing system commands, file operations) exist but are not clearly restricted or warned; rollback mechanism (e.g., context history restore) exists but not explicitly for security; source attribution (e.g., author info) is clear, but publisher is unverified.
Evidence shows: self-consistency is good, README and pyproject.toml versions match; dependencies are numerous and version-pinned, but no availability guarantee; failure messages (e.g., GLIBC errors) are provided but not systematic.
Evidence shows: target audience is clear (desktop users), scenarios are diverse (chat, files, images, etc.); capability boundaries (e.g., supported models list) are clear; trigger precision (e.g., command triggers) is not detailed; environment fit (Linux, Windows, Mac) is documented, but Mac only via source.
Evidence shows: information architecture is clear (README, docs, screenshots); install notes are detailed (multiple methods); naming stability is clear (version numbers); examples and FAQ are provided; known limitations (e.g., no Mac binary) are mentioned; license is MIT, but metadata is NOASSERTION; versioning changelog exists; maintenance responsibility is clear (author info).
Evidence shows: output usability (e.g., chat, file query) is described; marginal value (e.g., multi-model support) is evident; cost-benefit (e.g., API key usage) is mentioned but not analyzed in detail.
Evidence shows: claims are traceable (e.g., feature list corresponds to code); cross-source corroboration (e.g., README and pyproject.toml match) exists; fact-inference separation (e.g., feature descriptions vs. performance claims) is not explicit.
- Publisher identity is unverified; treat with caution.
- Dependencies are numerous and version-pinned, but no security audit or vulnerability scanning evidence is provided.
- Data flow transparency is insufficient; no detailed explanation of how data is processed, stored, and transmitted.
- External effects (e.g., executing system commands, file operations) exist but are not clearly restricted or warned.
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-netpygpt
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.pyLinux 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.