{"data":{"slug":"szczyglis-dev-py-gpt","name":"py-gpt","tagline":"Desktop AI Assistant powered by GPT-5, GPT-4, o1, o3, Gemini, Claude, Ollama, DeepSeek, Perplexity, Grok, Bielik, chat, vision, voice, RAG, image and video generation, agents, tools, MCP, plugins, spe","github_url":"https://github.com/szczyglis-dev/py-gpt","owner":"szczyglis-dev","repo":"py-gpt","owner_avatar_url":"https://avatars.githubusercontent.com/u/61396542?v=4","primary_language":"Python","stars":1851,"forks":333,"topics":["ai","ai-assistant","artificial-intelligence","autonomous-agent","chatbot","claude","deepseek","desktop-app","gemini","gpt-4","gpt-5","grok","llama-index","llm","mcp","o1","ollama","openai","perplexity","sora2"],"archived":false,"github_pushed_at":"2026-02-06T03:08:43+00:00","maintenance_label":"Slowing","url":"https://www.graphcanon.com/tools/szczyglis-dev-py-gpt","markdown_url":"https://www.graphcanon.com/tools/szczyglis-dev-py-gpt.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/szczyglis-dev-py-gpt","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=szczyglis-dev-py-gpt","description":"Desktop AI Assistant powered by GPT-5, GPT-4, o1, o3, Gemini, Claude, Ollama, DeepSeek, Perplexity, Grok, Bielik, chat, vision, voice, RAG, image and video generation, agents, tools, MCP, plugins, speech synthesis and recognition, web search, memory, presets, assistants,and more. Linux, Windows, Mac","homepage_url":"https://pygpt.net","license":"Other","open_issues":61,"watchers":43,"ai_summary":null,"readme_excerpt":"### Install with pip\n\n1. Clone git repository or download .zip file:\n\n```commandline\ngit clone https://github.com/szczyglis-dev/py-gpt.git\ncd py-gpt\n```\n\n2. Create a new virtual environment:\n\n```commandline\npython3 -m venv venv\nsource venv/bin/activate\n```\n\n3. Install requirements:\n\n```commandline\npip install -r requirements.txt\n```\n\n4. Run the application:\n\n```commandline\npython3 run.py\n```\n\n---\n\n### Install with Poetry\n\n1. Clone git repository or download .zip file:\n\n```commandline\ngit clone https://github.com/szczyglis-dev/py-gpt.git\ncd py-gpt\n```\n\n2. Install Poetry (if not installed):\n\n```commandline\npip install poetry\n```\n\n3. Create a new virtual environment that uses Python 3.10:\n\n```commandline\npoetry env use python3.10\npoetry shell\n```\n\nor (Poetry >= 2.0):\n\n```commandline\npoetry env use python3.10\npoetry env activate\n```\n\n4. Install requirements:\n\n```commandline\npoetry install\n```\n\n5. Run the application:\n\n```commandline\npoetry run python3 run.py\n```\n\n**Tip**: you can use `PyInstaller` to create a compiled version of\nthe application for your system (required version >= `6.0.0`).\n\n---\n\n## Other requirements\n\nFor operation, an internet connection is needed (for API connectivity), a registered OpenAI account, \nand an active API key that must be input into the program. Local models, such as `Llama3` do not require OpenAI account and any API keys.\n\n---\n\n## Quick start\n\nYou can create your own extensions for **PyGPT** at any time.\n\nPyGPT can be extended with:\n\n- custom models\n\n- custom plugins\n\n- custom LLM wrappers\n\n- custom vector store providers\n\n- custom data loaders\n\n- custom audio input providers\n\n- custom audio output providers\n\n- custom web search engine providers\n\n- custom agents (LlamaIndex or OpenAI Agents)\n\n**Examples (tutorial files)** \n\nSee the `examples` directory in this repository with examples of custom launcher, plugin, vector store, LLM (LlamaIndex) provider and data loader:\n\n- `examples/custom_launcher.py`\n\n- `examples/example_audio_input.py`\n\n- `examples/example_audio_output.py`\n\n- `examples/example_data_loader.py`\n\n- `examples/example_llm.py`\n\n- `examples/example_plugin.py`\n\n- `examples/example_vector_store.py`\n\n- `examples/example_web_search.py`\n\nThese example files can be used as a starting point for creating your own extensions for **PyGPT**.\n\nExtending PyGPT with custom plugins, LLMs wrappers and vector stores:\n\n- You can pass custom plugin instances, LLMs wrappers and vector store providers to the launcher.\n\n- This is useful if you want to extend PyGPT with your own plugins, vectors storage and LLMs.\n\nTo register custom plugins:\n\n- Pass a list with the plugin instances as `plugins` keyword argument.\n\nTo register custom LLMs wrappers:\n\n- Pass a list with the LLMs wrappers instances as `llms` keyword argument.\n\nTo register custom vector store providers:\n\n- Pass a list with the vector store provider instances as `vector_stores` keyword argument.\n\nTo register custom data loaders:\n\n- Pass a list with the data loader instances as `loaders` keyword argument.\n\nTo register custom audio input providers:\n\n- Pass a list with the audio input provider instances as `audio_input` keyword argument.\n\nTo register custom audio output providers:\n\n- Pass a list with the audio output provider instances as `audio_output` keyword argument.\n\nTo register custom web providers:\n\n- Pass a list with the web provider instances as `web` keyword argument.","github_created_at":"2023-04-09T23:48:06+00:00","created_at":"2026-07-15T11:18:37.876847+00:00","updated_at":"2026-07-15T11:18:41.672967+00:00","categories":[{"slug":"ai-agents","name":"AI Agents","url":"https://www.graphcanon.com/categories/ai-agents","markdown_url":"https://www.graphcanon.com/categories/ai-agents.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/ai-agents"},{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"},{"slug":"vector-databases","name":"Vector Databases","url":"https://www.graphcanon.com/categories/vector-databases","markdown_url":"https://www.graphcanon.com/categories/vector-databases.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/vector-databases"}],"tags":[{"slug":"ai","name":"ai"},{"slug":"ai-assistant","name":"ai-assistant"},{"slug":"artificial-intelligence","name":"artificial-intelligence"},{"slug":"autonomous-agent","name":"autonomous-agent"},{"slug":"chatbot","name":"chatbot"},{"slug":"claude","name":"claude"},{"slug":"deepseek","name":"deepseek"},{"slug":"desktop-app","name":"desktop-app"}],"trust":{"provenance":{"is_fork":false,"github_id":625710399,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-15T11:18:38.830Z","maintenance":{"label":"Slowing","score":36,"methodology":"github_public_v1","releases_90d":0,"days_since_push":159,"last_release_at":"2026-02-06T03:08:43Z"},"security_summary":{"status":"ok","scanner":"mcp_manifest@v1","low_count":0,"high_count":0,"last_scan_at":"2026-07-15T11:18:39.263Z","medium_count":0,"scan_profile":"mcp_manifest","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-07-15T11:18:38.606Z"},"has_cli":{"value":true,"source":"pyproject.toml:[project.scripts]","observed_at":"2026-07-15T11:18:38.606Z"},"languages":{"value":["python"],"source":"github.language+pyproject.toml","observed_at":"2026-07-15T11:18:38.606Z"},"license_spdx":{"value":"Other","source":"github.license","observed_at":"2026-07-15T11:18:38.606Z"}}}}