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
Drift inferred · capture-to-capture
- HIGH code analysis flagged dynamic code execution in szczyglis-dev/py-gpt
transport stdio · streamable-http counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
no tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 75bc06e · analyzer v17 · 1h ago
danger signals7
- dynamic code executioneval()/exec()szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/debug/console/console.py:125
:param expr: Path to object or eval() expression - suspicious endpointapi.telegram.orgszczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/telegram/config.py:33
value="https://api.telegram.org", - suspicious endpointapi.telegram.orgszczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/telegram/worker.py:128
return (self.plugin.get_option_value("api_base") or "https://api.telegram.org").rstrip("/") - over-broad OAuth scopehttps://www.googleapis.com/auth/driveszczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/google/worker.py:75
DRIVE_SCOPES = ["https://www.googleapis.com/auth/drive"] - over-broad OAuth scopehttps://www.googleapis.com/auth/documentsszczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/google/worker.py:82
DOCS_SCOPES = ["https://www.googleapis.com/auth/documents"] - over-broad OAuth scopehttps://www.googleapis.com/auth/cloud-platformszczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/google/music.py:302
creds, _ = google.auth.default(scopes=["https://www.googleapis.com/auth/cloud-platform"]) - over-broad OAuth scopehttps://www.googleapis.com/auth/documentsszczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/core/config/patches/patch_before_2_6_42.py:2270
if "https://www.googleapis.com/auth/documents" not in data['plugins']['google']['oauth_scopes']:
evidence-backed
findings quoted directly from the published source artifact — not inferred
filesystem 130
- fs szczyglis-dev-py-gpt-75bc06e/bin/minify.py :18
from pathlib import Path - fs szczyglis-dev-py-gpt-75bc06e/bin/resources.py :23
with open(output_file, 'w') as file: - fs szczyglis-dev-py-gpt-75bc06e/run.py :13
from pathlib import Path - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/config.py :17
from pathlib import Path - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/access/voice.py :221
self.window.ui.dialogs.open( - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/attachment/attachment.py :391
def open(self, mode: str, idx: Union[int, list]): - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/audio/audio.py :384
import shutil - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/camera/camera.py :503
self.window.ui.dialogs.open( - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/chat/attachment.py :489
self.window.controller.files.open(path) - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/chat/audio.py :61
with open(wav_path, "wb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/chat/common.py :466
with open(file_name, 'w', encoding="utf-8") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/debug/debug.py :234
self.window.ui.dialogs.open('logger', width=800, height=600) - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/dialogs/debug.py :208
self.window.ui.dialogs.open(f"debug.{id}", width=800, height=600) - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/dialogs/info.py :55
self.window.ui.dialogs.open( - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/files/files.py :16
import shutil - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/finder/finder.py :108
def open(self, parent: Any): - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/launcher/launcher.py :36
self.window.ui.dialogs.open('info.start') - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/model/editor.py :223
self.open() - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/model/importer.py :276
self.open() - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/notepad/notepad.py :287
def open(self): - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/painter/capture.py :72
cursor_img = Image.open(cursor_path).convert('RGBA') - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/painter/painter.py :39
def open(self, path: str): - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/plugins/presets.py :69
def open(self): - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/plugins/settings.py :46
self.open() - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/presets/editor.py :14
import shutil - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/remote_store/remote_store.py :222
self.open() - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/settings/profile.py :13
from pathlib import Path - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/settings/settings.py :88
self.window.ui.dialogs.open( - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/settings/workdir.py :14
from pathlib import Path - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/theme/common.py :189
with open(path) as file: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/theme/markdown.py :115
with open(path, 'r') as file: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/theme/theme.py :247
with open(app_css, 'r', encoding='utf-8') as file: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/attachments/context.py :14
import shutil - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/audio/audio.py :230
os.remove(file) - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/audio/backend/native/native.py :520
with wave.open(filename, 'wb') as wf: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/audio/backend/pyaudio/playback.py :69
wf = _wave.open(wav_io, 'rb') - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/audio/backend/pyaudio/pyaudio.py :225
test_stream = self.pyaudio_instance.open(format=self.format, - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/audio/backend/pyaudio/realtime.py :59
self._stream = self._pa.open( - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/audio/backend/pygame/pygame.py :403
with wave.open(filename, 'wb') as wf: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/db/database.py :13
import shutil - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/debug/debug.py :20
from pathlib import Path - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/docker/docker.py :58
with tarfile.open(fileobj=tar_stream, mode='w') as tar: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/filesystem/actions.py :185
lambda: self.window.tools.get("editor").open(path), - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/filesystem/editor.py :86
with open(file, 'r', encoding="utf-8") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/filesystem/filesystem.py :13
import shutil - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/filesystem/opener.py :14
import shutil - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/filesystem/packer.py :13
import shutil - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/filesystem/url.py :70
self.window.controller.files.open(url.toLocalFile()) - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/history/history.py :82
with open(path, "r", encoding="utf-8") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/idx/indexing.py :16
from pathlib import Path - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/image/image.py :113
with open(path, 'wb') as file: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/installer/installer.py :12
from pathlib import Path - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/plugins/plugins.py :317
with io.open(path, mode="w", encoding="utf-8") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/profile/profile.py :14
from pathlib import Path - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/prompt/template.py :51
with open(path, newline='', encoding='utf-8') as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/realtime/shared/audio.py :37
with wave.open(io.BytesIO(data), "rb") as wf: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/render/web/syntax_highlight.py :46
with open(path, "r") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/settings/settings.py :15
import shutil - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/text/text.py :39
with open(csv_path, 'r', encoding='utf-8') as file: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/updater/updater.py :14
import shutil - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/video/video.py :14
import shutil - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/web/helpers.py :96
upload[key] = open(value, 'rb') - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/audio_input/simple.py :103
self.plugin.window.ui.dialogs.open( - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/audio_input/worker.py :221
with open(self.path, "wb") as audio_file: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/audio_output/plugin.py :299
self.window.ui.dialogs.open( - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/audio_output/worker.py :103
import shutil - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/bitbucket/worker.py :406
with open(local, "rb") as fh: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/cmd_code_interpreter/ipython/docker_kernel.py :85
with tarfile.open(fileobj=tar_stream, mode='w') as tar: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/cmd_code_interpreter/ipython/local_kernel.py :177
with open(path_to_save, 'wb') as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/cmd_code_interpreter/runner.py :222
with open(path, 'r', encoding="utf-8") as file: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/cmd_files/plugin.py :176
with open(path, 'r', encoding="utf-8") as file: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/cmd_files/worker.py :15
import shutil - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/cmd_mouse_control/worker.py :227
webbrowser.open(url) - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/facebook/worker.py :596
files = {"source": (os.path.basename(local), open(local, "rb"), mt)} - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/github/worker.py :469
with open(local, "rb") as fh: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/google/worker.py :27
from pathlib import Path - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/osm/worker.py :142
with open(local, "wb") as fh: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/server/worker.py :593
with open(local_path, "wb") as fh: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/slack/worker.py :610
with open(local, "rb") as fh: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/telegram/worker.py :383
files = {"photo": (os.path.basename(local), open(local, "rb"), self._guess_mime(local))} - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/twitter/worker.py :789
with open(local, "rb") as fh: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/wolfram/worker.py :180
with open(local, "wb") as fh: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/preload.py :275
webbrowser.open(LINK_GITHUB) - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/agents/openai/supervisor.py :248
with open(img_path, "wb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/anthropic/store.py :116
with open(path, "rb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/anthropic/vision.py :53
with open(attachment.path, "rb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/google/audio.py :99
with wave.open(buf, "wb") as wf: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/google/chat.py :712
with open(chosen_path, "rb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/google/image.py :575
with open(p, "rb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/google/music.py :16
import shutil - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/google/realtime/client.py :956
with open(save_path, "wb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/google/store.py :174
with open(path, "wb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/google/stream.py :341
with open(save_path, "wb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/google/video.py :543
with open(path, "wb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/google/vision.py :54
with open(attachment.path, "rb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/openai/agents/computer.py :84
with open(path, "rb") as image_file: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/openai/agents/response.py :132
with open(img_path, "wb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/openai/agents/utils.py :32
image = Image.open(BytesIO(image_data)) - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/openai/container.py :101
with open(path, 'wb') as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/openai/image.py :280
remix_images.append(open(self.image_id, "rb")) - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/openai/realtime/client.py :1350
with open(save_path, "wb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/openai/responses.py :460
with open(img_path, "wb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/openai/store.py :81
file=open(path, "rb"), - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/openai/stream.py :365
with open(state.img_path, "wb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/openai/video.py :275
file_handle = open(image_path, "rb") - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/openai/vision.py :365
with open(image_path, "rb") as image_file: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/x_ai/chat.py :953
with open(att.path, "rb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/x_ai/realtime/client.py :1407
with open(save_path, "wb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/x_ai/store.py :168
with open(path, "rb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/x_ai/stream.py :122
with open(save_path, "wb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/x_ai/video.py :285
with open(p, "rb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/x_ai/vision.py :53
with open(att.path, "rb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/audio_input/openai_whisper.py :47
with open(path, "rb") as audio_file: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/audio_input/xai_grok_voice.py :340
with wave.open(path, "rb") as wf: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/audio_output/eleven_labs.py :106
with open(path, 'wb') as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/audio_output/google_genai_tts.py :197
with wave.open(filename, "wb") as wf: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/audio_output/google_tts.py :109
with open(path, "wb") as file: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/audio_output/ms_azure_tts.py :112
with open(path, "wb") as file: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/audio_output/xai_tts.py :155
with open(out_path, "wb") as f: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/core/agent/json_file.py :62
with open(path, 'r', encoding="utf-8") as file: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/core/assistant/json_file.py :62
with open(path, 'r', encoding="utf-8") as file: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/core/attachment/json_file.py :60
with open(path, 'r', encoding="utf-8") as file: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/core/config/json_file.py :14
import shutil - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/core/config/patches/patch_before_2_6_42.py :1213
os.remove(file) - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/core/ctx/db_sqlite/patch.py :14
import shutil - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/core/ctx/json_file.py :74
with open(path, 'r', encoding="utf-8") as file: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/core/history/txt_file.py :74
with open(f, 'a', encoding="utf-8") as file: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/core/index/db_sqlite/patch.py :13
import shutil - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/core/index/json_file.py :63
with open(path, 'r', encoding="utf-8") as file: - fs szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/core/mode/json_file.py :37
with open(path, 'r', encoding="utf-8") as file:
shell / exec 8
- shell szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/filesystem/opener.py :15
import subprocess - shell szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/video/video.py :15
import subprocess - shell szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/cmd_code_interpreter/runner.py :14
import subprocess - shell szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/cmd_custom/worker.py :13
import subprocess - shell szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/cmd_system/runner.py :14
import subprocess - shell szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/server/worker.py :16
import subprocess - shell szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/google/music.py :17
import subprocess - shell szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/audio_input/xai_grok_voice.py :17
import subprocess
network 35
- net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/attachment/attachment.py :15
from urllib.parse import urlparse - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/controller/files/files.py :19
from urllib.parse import unquote - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/models/ollama.py :13
import requests - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/updater/updater.py :21
from urllib.request import urlopen, Request - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/web/helpers.py :16
import requests - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/bitbucket/worker.py :19
from urllib.parse import quote - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/cmd_api/plugin.py :15
from urllib.parse import urlencode - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/cmd_api/worker.py :13
from urllib.parse import quote - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/cmd_files/worker.py :19
from urllib.request import Request, urlopen - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/cmd_web/plugin.py :13
from urllib.request import Request, urlopen - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/facebook/worker.py :21
import socket - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/github/worker.py :19
from urllib.parse import quote - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/google/worker.py :55
import requests # for Google Maps REST - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/mcp/plugin.py :18
from urllib.parse import urlparse - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/mcp/worker.py :17
from urllib.parse import urlparse - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/osm/worker.py :21
import requests - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/slack/worker.py :20
import socket - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/telegram/worker.py :18
import requests - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/tuya/worker.py :19
from urllib.parse import urlencode - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/twitter/worker.py :14
import socket - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/plugin/wolfram/worker.py :19
from urllib.parse import quote # kept for parity, not strictly needed everywhere - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/google/image.py :692
r = requests.get(ident, timeout=60) - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/google/music.py :20
import requests - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/google/video.py :508
r = requests.get(uri, timeout=120) - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/openai/agents/utils.py :4
import requests - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/openai/container.py :15
import requests - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/openai/image.py :17
import requests - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/openai/realtime/client.py :19
from urllib.parse import urlencode - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/x_ai/chat.py :449
import requests - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/x_ai/image.py :17
import requests - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/x_ai/realtime/client.py :19
from urllib.parse import urlencode - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/x_ai/video.py :19
import requests - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/audio_output/eleven_labs.py :13
import requests - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/audio_output/google_tts.py :13
import requests - net szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/audio_output/ms_azure_tts.py :13
import requests
secrets 4
- secrets szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/idx/llm.py :41
os.environ['OPENAI_API_KEY'] = str(self.window.core.config.get('api_key')) - secrets szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/google/__init__.py :312
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = config.get("api_native_google.app_credentials", "") - secrets szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/openai/agents/client.py :71
os.environ['OPENAI_API_KEY'] = str(window.core.config.get('api_key')) - secrets szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/api/x_ai/__init__.py :83
api_key = cfg.get("api_key_xai") or os.environ.get("XAI_API_KEY") or ""
database 23
- db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/db/database.py :17
from sqlalchemy import create_engine, text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/db/viewer.py :15
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/core/idx/indexing.py :19
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/migrations/Version20231227152900.py :12
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/migrations/Version20231230095000.py :12
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/migrations/Version20231231230000.py :12
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/migrations/Version20240106060000.py :12
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/migrations/Version20240107060000.py :12
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/migrations/Version20240222160000.py :12
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/migrations/Version20240223050000.py :12
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/migrations/Version20240303190000.py :12
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/migrations/Version20240408180000.py :12
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/migrations/Version20240426050000.py :12
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/migrations/Version20240501030000.py :12
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/migrations/Version20241122130000.py :12
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/migrations/Version20241126170000.py :12
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/migrations/Version20241215110000.py :12
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/migrations/Version20260102190000.py :12
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/migrations/Version20260121190000.py :12
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/migrations/Version20260122140000.py :12
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/core/calendar/db_sqlite/storage.py :15
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/core/ctx/db_sqlite/storage.py :17
from sqlalchemy import text - db szczyglis-dev-py-gpt-75bc06e/src/pygpt_net/provider/core/index/db_sqlite/storage.py :16
from sqlalchemy import text
declared dependencies 94
- anthropic@^0.75.0
- azure-core@1.37.0
- beautifulsoup4@4.13.5
- charset-normalizer@>=2.0,<3.2.0 || >3.2.0
- chromadb@1.1.0
- croniter@^2.0.7
- docker@^7.1.0
- docx2txt@^0.8
- ddgs@^9.5.5
- EbookLib@^0.18
- gkeepapi@0.15.1
- google-api-python-client@2.187.0
- google-genai@^1.56.0
- grpcio@1.75.0
- httpx@0.28.1
- httpx-socks@^0.10.1
- huggingface-hub@0.35.0
- ipykernel@^6.30.1
- jupyter_client@^8.6.3
- llama-index@0.14.10
- llama-index-core@0.14.10
- llama-index-embeddings-azure-openai@^0.4.1
- llama-index-embeddings-gemini@^0.4.1
- llama-index-embeddings-google-genai@^0.3.1
- llama-index-embeddings-huggingface-api@^0.4.1
- llama-index-embeddings-mistralai@^0.4.1
- llama-index-embeddings-ollama@^0.8.5
- llama-index-embeddings-openai@^0.5.1
- llama-index-embeddings-openai-like@^0.2.2
- llama-index-embeddings-voyageai@^0.5.2
- llama-index-llms-anthropic@^0.10.4
- llama-index-llms-azure-openai@^0.4.2
- llama-index-llms-deepseek@^0.2.2
- llama-index-llms-gemini@^0.6.1
- llama-index-llms-google-genai@^0.8.2
- llama-index-llms-huggingface-api@^0.6.1
- llama-index-llms-mistralai@^0.9.0
- llama-index-llms-ollama@^0.9.1
- llama-index-llms-openai@^0.6.12
- llama-index-llms-openai-like@^0.5.3
- llama-index-llms-perplexity@^0.4.1
- llama-index-multi-modal-llms-openai@^0.6.1
- llama-index-vector-stores-chroma@^0.5.3
- llama-index-vector-stores-elasticsearch@0.5.1
- llama-index-vector-stores-qdrant@^0.8.5
- llama-index-vector-stores-pinecone@^0.7.1
- llama-index-vector-stores-redis@^0.6.2
- llama-index-readers-chatgpt-plugin@^0.4.1
- llama-index-readers-database@^0.5.1
- llama-index-readers-file@^0.5.4
- llama-index-readers-github@^0.8.2
- llama-index-readers-google@^0.7.2
- llama-index-readers-microsoft-onedrive@^0.4.1
- llama-index-readers-twitter@^0.4.1
- llama-index-readers-web@^0.5.3
- Markdown@^3.8.2
- mcp@^1.13.1
- mss@^9.0.2
- nbconvert@^7.16.6
- numpy@1.26.4
- onnxruntime@1.22.1
- openai@2.14.0
- openai-agents@^0.6.4
- opencv-python@^4.11.0.86
- packaging@^25.0
- pandas@2.2.3
- paramiko@^4.0.0
- pillow@10.4.0
- pinecone@^7.0.1
- playwright@^1.57.0
- psutil@^7.0.0
- PyAudio@^0.2.14
- PyAutoGUI@^0.9.54
- Pygments@2.19.2
- pydub@^0.25.1
- pygame@^2.6.1
- pypdf@6.1.0
- pynput@^1.8.1
- pyserial@^3.5
- PySide6@6.9.1
- python-markdown-math@^0.8
- qasync@^0.27.1
- redis@5.3.1
- qt-material@^2.17
- SpeechRecognition@^3.14.3
- show-in-file-manager@^1.1.5
- SQLAlchemy@2.0.43
- Telethon@^1.40.0
- tiktoken@0.11.0
- transformers@4.56.2
- urllib3@2.5.0
- wikipedia@^1.4.0
- xai-sdk@^1.5.0
- youtube-transcript-api@^0.6.3