How szczyglis-dev/py-gpt works
PyGPT is a desktop AI assistant. A user works in its desktop interface, submits a prompt or media, and uses a selected mode to obtain a model response, tool action, or generated media; responses are rendered in the conversation. The README also documents agents, RAG, memory, realtime voice, search, integrations, and productivity features. The graph shows those major product areas, plus the sampled realtime-worker and provider-registration paths. Most feature wiring was not present in the excerpts, so uncertain internal calls are omitted.
Main entry points: chat Chat workflow · llm.py Model providers · app.py Provider registration · main.py Desktop window
Components 21
Desktop experience
- Desktop window
src/pygpt_net/ui/main.py - UI controllers
src/pygpt_net/controller - Provider registration
src/pygpt_net/app.py
Conversation runtime
- Chat workflow
src/pygpt_net/controller/chat - Response rendering
src/pygpt_net/core/render
AI capabilities
- Model providers
src/pygpt_net/core/llm/llm.py - External model services
- Agent workflows
src/pygpt_net/core/agents - Agents v2
src/pygpt_net/core/agents_v2 - RAG and indexing
src/pygpt_net/core/idx - Plugins and tools
src/pygpt_net/core/plugins/plugins.py - MCP connectors
src/pygpt_net/core/connectors/connectors.py - Image and video
src/pygpt_net/core/image/image.py - Realtime manager
src/pygpt_net/controller/realtime/manager.py - Realtime worker
src/pygpt_net/core/realtime/worker.py - Audio services
src/pygpt_net/core/audio/audio.py
State and content
- Conversation context
src/pygpt_net/core/context_manager/manager.py - Application database
src/pygpt_net/core/db/database.py - Calendar and notes
src/pygpt_net/core/calendar/calendar.py - Notepad
src/pygpt_net/core/notepad/notepad.py
Other components
- User
Connections 12
- User → Desktop window: uses
- Desktop window → UI controllers: sets up
- UI controllers → Chat workflow: handles chat
- Chat workflow → Model providers: requests completion
- Model providers → External model services: calls provider
- Chat workflow → Response rendering: renders response
- Provider registration → Model providers: registers providers
- Provider registration → Plugins and tools: registers tools
- Realtime manager → Realtime worker: starts worker
- Realtime worker → Audio services: processes audio
- Chat workflow → Conversation context: uses context
- Conversation context → Application database: persists context