py-gpt
支持GPT-5/Claude/Gemini等20+模型的跨平台桌面AI助手,集聊天、代码、语音、RA
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
支持GPT-5/Claude/Gemini等20+模型的跨平台桌面AI助手,集聊天、代码、语音、RA
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2024 年初,当用户在 ChatGPT、Claude、Gemini 之间来回切换、反复粘贴上下文时,一位来自波兰的独立开发者 Marcin Szczygliński 决定做一件事:做一个把所有 AI 模型装进同一个桌面的应用。他花了大半年时间,把 OpenAI GPT-5、Anthropic Claude、Google Gemini、DeepSeek、xAI Grok、Perplexity 等十几个模型,以及 Ollama 本地模型,全部接入了同一个 PySide6 写的 Qt 界面里——这就是 PyGPT。
PyGPT 并不是又一个 ChatGPT 套壳网页。它是一个真正的桌面应用程序,有本地文件系统访问、代码执行、语音对话、多模态图像分析、RAG 知识库问答等完整功能。它的插件系统(36个插件)甚至可以控制鼠标、读写串口、连接 Wolfram Alpha、发送邮件、操控 Telegram 机器人。
截至 2026 年初,PyGPT 在 GitHub 收获 1,823 颗星,最新版本 2.7.12,支持 Linux / Windows / macOS,Python 版本要求 3.10~3.14。
PyGPT 的代码采用模块化插件架构,从顶到底分为五层:
src/pygpt_net/ui/):基于 PySide6/Qt 构建,包含主窗口、对话框、菜单、托盘图标、小部件等。src/pygpt_net/app.py、app_core.py):生命周期管理、事件循环初始化。src/pygpt_net/controller/):连接 UI 与业务逻辑,处理用户交互。src/pygpt_net/provider/):AI 能力的核心实现,按功能分为:
llms/ —— 各种 LLM 的调用适配器(OpenAI、Anthropic、Gemini、DeepSeek、Ollama、HuggingFace 等)agents/ —— Agent 逻辑实现audio_input/、audio_output/ —— 语音输入输出vector_stores/ —— 向量存储(ChromaDB、Elasticsearch)loaders/ —— 文档加载器web/ —— 网络搜索(DuckDuckGo、Google、Bing)src/pygpt_net/plugin/):36个独立插件,覆盖命令执行、文件操作、代码解释器、MCP 协议、社交媒体、地图等。PyGPT 内置完整的 RAG(检索增强生成)能力。底层使用 LlamaIndex 0.14.10 作为核心框架,支持超过 10 种向量嵌入模型(OpenAI、Azure、Google Gemini、HuggingFace、Mistral、Ollama 等),并通过 ChromaDB 作为向量数据库存储和检索文档。
这意味着用户可以上传 PDF、Word、eBook 等文档,让 AI 基于这些文档内容进行问答——不需要任何外部服务,所有操作都在本地完成。
PyGPT 是目前支持模型最多的桌面 AI 应用之一,核心依赖中明确包含:
anthropic ^0.75.0 —— Claude 系列google-genai ^1.56.0 + google-api-python-client —— Geminillama-index-llms-deepseek ^0.2.2 —— DeepSeekllama-index-llms-ollama —— Ollama 本地模型llama-index-llms-huggingface-api —— HuggingFace Inference APIhuggingface-hub —— 模型元数据访问支持的模型列表包括:GPT-5、GPT-4、o1、o3、Claude 3/4、Gemini Pro/Ultra、DeepSeek V3/R1、Grok-1/2、Bielik、Perplexity Sonar,以及任何通过 Ollama 运行的本地模型(如 Llama 3、Mistral 等)。
通过 llama-index-multi-modal-llms-openai 和专门的插件(openai_vision),PyGPT 支持图像理解——上传图片让 GPT-4o、Claude 等模型分析。通过 openai_dalle 插件支持图像生成。通过 ffmpeg + Whisper 支持语音识别,通过 Azure/Google/ElevenLabs/OpenAI TTS 支持语音合成。
36个插件覆盖了远超普通用户的想象空间:
| 类别 | 插件 | 功能 |
|---|---|---|
| 系统控制 | cmd_system、cmd_code_interpreter、cmd_custom | 执行系统命令、运行 Python 代码 |
| 文件操作 | cmd_files、cmd_history | 读写文件、历史记录 |
| MCP | mcp | Model Context Protocol,支持连接外部 MCP 服务器 |
| Agent | agent | 自主 Agent 模式 |
| 语音 | audio_input、audio_output、voice_control | 语音识别合成 |
| RAG | idx_llama_index | LlamaIndex 文档索引 |
| 视觉 | openai_vision、openai_dalle | 图像分析生成 |
| 网络 | cmd_web、wikipedia | 网页搜索、维基百科 |
| IoT | tuya | 控制 Tuya 智能设备 |
| 社交 | telegram、slack、twitter、facebook | 社交平台集成 |
| 开发者 | github、cmd_api、server | GitHub 操作、API 服务 |
| 其他 | wolfram、osm、mailer、github、bitbucket | Wolfram 查询、地图、邮件 |
PyGPT 支持 Model Context Protocol (MCP),这是一个新兴的 AI 模型上下文协议,允许 AI 连接外部数据源和工具。通过 plugin/mcp/ 插件,用户可以配置 MCP 服务器地址,让 AI 调用外部工具和服务。
项目采用 Poetry 管理依赖,完整的 pyproject.toml 定义了所有依赖和元数据。run-tests.sh 脚本提供测试入口。文档独立存放在 docs/ 目录,使用 Sphinx 构建并托管在 ReadTheDocs。
PyGPT 为普通用户提供了开箱即用的安装包,完全不需要接触代码或命令行:
.msi 安装包,或直接从 Microsoft Store 一键安装.AppImage 文件,或通过 Snap Store sudo snap install pygptpip install pygpt-net 安装# pip 方式
python3 -m venv venv && source venv/bin/activate
pip install pygpt-net
pygpt
# Poetry 方式
git clone https://github.com/szczyglis-dev/py-gpt.git
cd py-gpt
poetry env use python3.10
poetry install
poetry run python3 run.py
由于 PyGPT 使用 Qt GUI,部分系统依赖必须提前安装(Linux 平台):
ffmpeg —— 语音识别/合成必需GTK/GDK 库 —— Qt 运行时依赖libasound2(ALSA)—— 音频输入输出AppImageBuilder.yml 中列出了完整的 apt 依赖清单,包括 30+ 个系统包。
对于 Linux 开发者,AppImageBuilder.yml 使用 appimage-builder 工具,将整个 Python 环境 + Qt 依赖打包为单一可执行文件。这是 Linux 生态中最接近"绿色版"的分发方式,用户下载后 chmod +x 即可运行,无需安装 Python 或任何依赖。
| 资源 | 需求 |
|---|---|
| GPU | 不需要(调用远程 API,无本地推理) |
| 内存 | 4GB+ |
| 磁盘 | 2GB+ |
| Python | 3.10 ~ 3.14 |