MCPcopy
hub / github.com/szczyglis-dev/py-gpt

github.com/szczyglis-dev/py-gpt @v2.7.12 sqlite

repository ↗ · DeepWiki ↗ · release v2.7.12 ↗
17,036 symbols 66,855 edges 2,220 files 10,091 documented · 59%
README

PyGPT - Desktop AI Assistant

pygpt

Release: 2.7.12 | build: 2026-02-06 | Python: >=3.10, <3.14

Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io

Discord: https://pygpt.net/discord | Snap: https://snapcraft.io/pygpt | PyPi: https://pypi.org/project/pygpt-net

Compiled version for Linux (zip) and Windows 10/11 (msi) 64-bit: https://pygpt.net/#download

❤️ Donate: https://www.buymeacoffee.com/szczyglis | https://github.com/sponsors/szczyglis-dev

Overview

PyGPT is all-in-one Desktop AI Assistant that provides direct interaction with OpenAI language models, including GPT-5, GPT-4, o1, o3 and more, through the OpenAI API. By utilizing other SDKs and LlamaIndex, the application also supports alternative LLMs, like those available on HuggingFace, locally available models via Ollama (like gpt-oss, Llama 3,Mistral, DeepSeek V3/R1 or Bielik), and other models like Google Gemini, Anthropic Claude, Perplexity / Sonar, and xAI Grok.

This assistant offers multiple modes of operation such as chat, assistants, agents, completions, and image-related tasks like image generation and image analysis. PyGPT has filesystem capabilities for file I/O, can generate and run Python code, execute system commands, execute custom commands and manage file transfers. It also allows models to perform web searches with the DuckDuckGo, Google and Microsoft Bing.

For audio interactions, PyGPT includes speech synthesis using the Microsoft Azure, Google, Eleven Labs and OpenAI Text-To-Speech services. Additionally, it features speech recognition capabilities provided by OpenAI Whisper, Google and Bing enabling the application to understand spoken commands and transcribe audio inputs into text. It features context memory with save and load functionality, enabling users to resume interactions from predefined points in the conversation. Prompt creation and management are streamlined through an intuitive preset system.

PyGPT's functionality extends through plugin support, allowing for custom enhancements (with multiple plugins included). Its multi-modal capabilities make it an adaptable tool for a range of AI-assisted operations, such as text-based interactions, system automation, daily assisting, vision applications, natural language processing, code generation and image creation.

Multiple operation modes are included, such as chat, text completion, assistant, agents, vision, Chat with Files (via LlamaIndex), commands execution, external API calls and image generation, making PyGPT a multi-tool for many AI-driven tasks.

Showcase (mp4, version 2.5.65, build 2025-07-24):

https://github.com/user-attachments/assets/d8305109-8b1b-41cb-b3ba-8c654271a95c

Screenshots (version 2.5.64, build 2025-07-23):

Dark theme: v2_main

Light theme: v2_light

You can download compiled 64-bit versions for Windows and Linux here: https://pygpt.net/#download

Features

  • Desktop AI Assistant for Linux, Windows and Mac, written in Python.
  • Works similarly to ChatGPT, but locally (on a desktop computer).
  • 11 modes of operation: Chat, Chat with Files, Realtime + audio, Research (Perplexity), Completion, Image and Video generation, Assistants, Experts, Computer use, Agents and Autonomous Mode.
  • Supports multiple models like OpenAI GPT-5, GPT-4, o1, o3, o4, Google Gemini, Anthropic Claude, xAI Grok, DeepSeek V3/R1, Perplexity / Sonar, and any model accessible through LlamaIndex and Ollama such as DeepSeek, gpt-oss, Llama 3, Mistral, Bielik, etc.
  • Chat with your own Files: integrated LlamaIndex support: chat with data such as: txt, pdf, csv, html, md, docx, json, epub, xlsx, xml, webpages, Google, GitHub, video/audio, images and other data types, or use conversation history as additional context provided to the model.
  • Built-in vector databases support and automated files and data embedding.
  • Image generation via models like DALL-E, gpt-image, Imagen, Gemini, and Nano Banana.
  • Video generation via models like Veo3 and Sora2.
  • Internet access via DuckDuckGo, Google and Microsoft Bing.
  • Speech synthesis via Microsoft Azure, Google, Eleven Labs and OpenAI Text-To-Speech services.
  • Speech recognition via OpenAI Whisper, Google and Microsoft Speech Recognition.
  • Plugins support with built-in plugins like Files I/O, Code Interpreter, Web Search, Google, Facebook, X/Twitter, Slack, Telegram, GitHub, MCP, and many more.
  • MCP support.
  • Real-time video camera capture in Vision mode.
  • Image analysis via vision models.
  • Included support features for individuals with disabilities: customizable keyboard shortcuts, voice control, and translation of on-screen actions into audio via speech synthesis.
  • Handles and stores the full context of conversations (short and long-term memory).
  • Integrated calendar, day notes and search in contexts by selected date.
  • Tools and commands execution (via plugins: access to the local filesystem, Python Code Interpreter, system commands execution, and more).
  • Custom commands creation and execution.
  • Crontab / Task scheduler included.
  • Built-in real-time Python Code Interepreter.
  • Manages files and attachments with options to upload, download, and organize.
  • Context history with the capability to revert to previous contexts (long-term memory).
  • Allows you to easily manage prompts with handy editable presets.
  • Provides an intuitive operation and interface.
  • Includes a notepad.
  • Includes simple painter / drawing tool.
  • Includes an node-based Agents Builder.
  • Supports multiple languages.
  • Requires no previous knowledge of using AI models.
  • Fully configurable.
  • Themes support.
  • Real-time code syntax highlighting.
  • Built-in token usage calculation.
  • Possesses the potential to support future OpenAI models.
  • Open source; source code is available on GitHub.
  • Utilizes the user's own API key.
  • and many more.

The application is free, open-source, and runs on PCs with Linux, Windows 10, Windows 11 and Mac. Full Python source code is available on GitHub.

PyGPT uses the user's API key - to use the GPT models, you must have a registered OpenAI account and your own API key. Local models do not require any API keys.

You can also use built-it LlamaIndex support to connect to other Large Language Models (LLMs), such as those on HuggingFace. Additional API keys may be required.

Installation

Binaries (Linux, Windows 10 and 11)

You can download compiled binary versions for Linux and Windows (10/11).

PyGPT binaries require a PC with Windows 10, 11, or Linux. Simply download the installer or the archive with the appropriate version from the download page at https://pygpt.net, extract it, or install it, and then run the application. A binary version for Mac is not available, so you must run PyGPT from PyPi or from the source code on Mac. Currently, only 64-bit binaries are available.

Linux version requires GLIBC >= 2.35.

Microsoft Store (Windows)

For Windows 10/11, you can install PyGPT directly from Microsoft Store:

Get it from Microsoft Store

Link to MS Store: https://apps.microsoft.com/detail/XP99R4MX3X65VQ

AppImage (Linux)

You can download the latest PyGPT AppImage for Linux from the release page:

Releases: https://github.com/szczyglis-dev/py-gpt/releases

Tip: Remember to give execution permissions to the downloaded file:

chmod +x ./PyGPT-X.X.X-x86_64.AppImage

To manage future updates you can use AppImageUpdate tool:

You can download it from: https://github.com/AppImage/AppImageUpdate/releases

After downloading, run the following command in terminal:

appimageupdatetool ./PyGPT-X.X.X-x86_64.AppImage

Snap Store (Linux)

You can install PyGPT directly from Snap Store:

sudo snap install pygpt

To manage future updates use:

sudo snap refresh pygpt

Get it from the Snap Store

Using camera: to use camera in Snap version you must connect the camera with:

sudo snap connect pygpt:camera

Using microphone: to use microphone in Snap version you must connect the microphone with:

sudo snap connect pygpt:audio-record :audio-record
sudo snap connect pygpt:alsa

Using audio output: to use audio output in Snap version you must connect the audio with:

sudo snap connect pygpt:audio-playback
sudo snap connect pygpt:alsa

Connecting IPython in Docker in Snap version:

To use IPython in the Snap version, you must connect PyGPT to the Docker daemon:

sudo snap connect pygpt:docker-executables docker:docker-executables
sudo snap connect pygpt:docker docker:docker-daemon

PyPi (pip)

The application can also be installed from PyPi using pip install:

  1. Create virtual environment:
python3 -m venv venv
source venv/bin/activate
  1. Install from PyPi:
pip install pygpt-net
  1. Once installed run the command to start the application:
pygpt

Running from GitHub source code

An alternative method is to download the source code from GitHub and execute the application using the Python interpreter (>=3.10, <3.14).

Install with pip

  1. Clone git repository or download .zip file:
git clone https://github.com/szczyglis-dev/py-gpt.git
cd py-gpt
  1. Create a new virtual environment:
python3 -m venv venv
source venv/bin/activate
  1. Install requirements:
pip install -r requirements.txt
  1. Run the application:
python3 run.py

Install with Poetry

  1. Clone git repository or download .zip file:
git clone https://github.com/szczyglis-dev/py-gpt.git
cd py-gpt
  1. Install Poetry (if not installed):
pip install poetry
  1. Create a new virtual environment that uses Python 3.10:
poetry env use python3.10
poetry shell

or (Poetry >= 2.0):

poetry env use python3.10
poetry env activate
  1. Install requirements:
poetry install
  1. Run the application:
poetry run python3 run.py

Tip: you can use PyInstaller to create a compiled version of the application for your system (required version >= 6.0.0).

Troubleshooting

If you have a problems with xcb plugin with newer versions of PySide on Linux, e.g. like this:

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. 
Reinstalling the application may fix this problem.

...then install libxcb:

sudo apt install libxcb-cursor0

If you have a problems with audio on Linux, then try to install portaudio19-dev and/or libasound2:

sudo apt install portaudio19-dev
sudo apt install libasound2
sudo apt install libasound2-data 
sudo apt install libasound2-plugins

Problems with GLIBC on Linux

If you encounter error:

Error loading Python lib libpython3.10.so.1.0: dlopen: /lib/x86_64-linux-gnu/libm.so.6: version GLIBC_2.35 not found (required by libpython3.10.so.1.0)

when trying to run the compiled version for Linux, try updating GLIBC to version 2.35, or use a newer operating system that has at least version 2.35 of GLIBC.

Access to camera in Snap version:

sudo snap connect pygpt:camera

Access to microphone in Snap version:

To use microphone in Snap version you must connect the microphone with:

sudo snap connect pygpt:audio-record :audio-record

Snap and AppArmor permission denied

Snap installs AppArmor profiles for each application by default. The profile for PyGPT is created at:

/var/lib/snapd/apparmor/profiles/snap.pygpt.pygpt

The application should work with the default profile; however, if you encounter errors like:

PermissionError: [Errno 13] Permission denied: '/etc/httpd/conf/mime.types'

add the appropriate access rules to the profile file, for example:

# /var/lib/snapd/apparmor/profiles/snap.pygpt.pygpt

...

/etc/httpd/conf/mime.types r

and reload the profiles.

Alternatively, you can try removing snap and reinstalling it:

sudo snap remove --purge pygpt

sudo snap install pygpt

Access to a microphone and audio in Windows version:

If you have a problems with audio or a microphone in the non-binary PIP/Python version on Windows, check to see if FFmpeg is installed. If it's not, install it and add it to the PATH. You can find a tutorial on how to do this here: https://phoenixnap.com/kb/ffmpeg-windows. The binary version already includes FFmpeg.

Windows and VC++ Redistributable

On Windows, the proper functioning requires the installation of the VC++ Redistributable, which can be found on the Microsoft website:

https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist

The libraries from this environment are used by PySide6 - one of the base packages used by PyGPT. The absence of the installed libraries may cause display errors or completely prevent the application from running.

It may also be necessary to add the path `C:\path\to\venv\Lib\python

Core symbols most depended-on inside this repo

get
called by 2932
src/pygpt_net/provider/loaders/web_yt.py
trans
called by 1713
src/pygpt_net/utils.py
get
called by 1326
src/pygpt_net/core/llm/llm.py
append
called by 808
src/pygpt_net/provider/core/history/base.py
make_response
called by 607
src/pygpt_net/plugin/base/worker.py
get_option_value
called by 519
src/pygpt_net/plugin/base/plugin.py
push
called by 471
src/pygpt_net/data/js/app/stream.js
add_option
called by 366
src/pygpt_net/plugin/base/plugin.py

Shape

Method 11,978
Function 3,538
Class 1,508
Route 12

Languages

Python85%
TypeScript15%

Modules by API surface

src/pygpt_net/data/js/app.min.js438 symbols
src/pygpt_net/data/js/highlight/highlight.js360 symbols
src/pygpt_net/data/js/highlight/es/highlight.js133 symbols
src/pygpt_net/data/js/highlight/es/core.js133 symbols
src/pygpt_net/core/ctx/ctx.py123 symbols
src/pygpt_net/data/js/katex/katex.min.js118 symbols
src/pygpt_net/ui/widget/node_editor/editor.py109 symbols
src/pygpt_net/core/render/web/renderer.py107 symbols
src/pygpt_net/data/js/highlight/highlight.min.js97 symbols
src/pygpt_net/data/js/highlight/es/highlight.min.js92 symbols
src/pygpt_net/data/js/highlight/es/core.min.js92 symbols
src/pygpt_net/controller/ctx/ctx.py86 symbols

Dependencies from manifests, versioned

@colors/colors1.6.0 · 1×
@rollup/plugin-commonjs26.0.1 · 1×
@rollup/plugin-json6.0.1 · 1×
@rollup/plugin-node-resolve15.2.3 · 1×
@types/mocha10.0.2 · 1×
@typescript-eslint/eslint-plugin7.15.0 · 1×
@typescript-eslint/parser7.15.0 · 1×
clean-css5.3.2 · 1×
cli-table0.3.1 · 1×
commander12.1.0 · 1×
css3.0.0 · 1×
css-color-names1.0.1 · 1×

For agents

$ claude mcp add py-gpt \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact