pygpt-net 2.6.22__py3-none-any.whl → 2.6.23__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. pygpt_net/CHANGELOG.txt +8 -0
  2. pygpt_net/__init__.py +1 -1
  3. pygpt_net/controller/agent/llama.py +3 -0
  4. pygpt_net/controller/chat/response.py +4 -0
  5. pygpt_net/controller/files/files.py +24 -55
  6. pygpt_net/controller/theme/theme.py +3 -3
  7. pygpt_net/core/agents/observer/evaluation.py +2 -2
  8. pygpt_net/core/agents/runners/loop.py +1 -0
  9. pygpt_net/core/bridge/bridge.py +2 -0
  10. pygpt_net/core/filesystem/opener.py +261 -0
  11. pygpt_net/core/filesystem/url.py +13 -10
  12. pygpt_net/core/platforms/platforms.py +5 -4
  13. pygpt_net/data/config/config.json +2 -2
  14. pygpt_net/data/config/models.json +2 -2
  15. pygpt_net/data/css/web-blocks.dark.css +7 -1
  16. pygpt_net/data/css/web-blocks.light.css +5 -2
  17. pygpt_net/data/css/web-chatgpt.dark.css +7 -1
  18. pygpt_net/data/css/web-chatgpt.light.css +3 -0
  19. pygpt_net/data/css/web-chatgpt_wide.dark.css +7 -1
  20. pygpt_net/data/css/web-chatgpt_wide.light.css +3 -0
  21. pygpt_net/data/locale/locale.de.ini +1 -0
  22. pygpt_net/data/locale/locale.en.ini +1 -0
  23. pygpt_net/data/locale/locale.es.ini +1 -0
  24. pygpt_net/data/locale/locale.fr.ini +1 -0
  25. pygpt_net/data/locale/locale.it.ini +1 -0
  26. pygpt_net/data/locale/locale.pl.ini +1 -0
  27. pygpt_net/data/locale/locale.uk.ini +1 -0
  28. pygpt_net/data/locale/locale.zh.ini +1 -0
  29. pygpt_net/provider/core/config/patch.py +12 -1
  30. pygpt_net/ui/layout/toolbox/agent_llama.py +2 -3
  31. pygpt_net/ui/widget/tabs/layout.py +6 -4
  32. pygpt_net/ui/widget/tabs/output.py +348 -13
  33. pygpt_net/ui/widget/textarea/input.py +74 -8
  34. {pygpt_net-2.6.22.dist-info → pygpt_net-2.6.23.dist-info}/METADATA +25 -25
  35. {pygpt_net-2.6.22.dist-info → pygpt_net-2.6.23.dist-info}/RECORD +38 -37
  36. {pygpt_net-2.6.22.dist-info → pygpt_net-2.6.23.dist-info}/LICENSE +0 -0
  37. {pygpt_net-2.6.22.dist-info → pygpt_net-2.6.23.dist-info}/WHEEL +0 -0
  38. {pygpt_net-2.6.22.dist-info → pygpt_net-2.6.23.dist-info}/entry_points.txt +0 -0
@@ -21,11 +21,17 @@ a:hover {{
21
21
  color: #b8cad7 !important;
22
22
  }}
23
23
  .msg-user {{
24
- color: #cbcbcb !important;
24
+ color: #cbcbcb;
25
+ }}
26
+ .msg-user p {{
27
+ color: #cbcbcb;
25
28
  }}
26
29
  .msg-bot {{
27
30
  color: #fff;
28
31
  }}
32
+ .msg-bot p {{
33
+ color: #fff;
34
+ }}
29
35
  .msg-highlight {{
30
36
  border: 1px solid #323436;
31
37
  background-color: #272a2d;
@@ -21,14 +21,17 @@ a {{
21
21
  color: #3b7097 !important;
22
22
  }}
23
23
  .msg-user {{
24
- color: #2c2c2c !important;
24
+ color: #2c2c2c;
25
25
  }}
26
26
  .msg-user p {{
27
- color: #2c2c2c !important;
27
+ color: #2c2c2c;
28
28
  }}
29
29
  .msg-bot {{
30
30
  color: #000;
31
31
  }}
32
+ .msg-bot p {{
33
+ color: #000;
34
+ }}
32
35
  .msg-highlight {{
33
36
  border: 1px solid #dfdfdf;
34
37
  background-color: #eaeaea;
@@ -25,11 +25,17 @@ a:hover {{
25
25
  }}
26
26
  .msg-user {{
27
27
  background: #303030;
28
- color: #fff !important;
28
+ color: #fff;
29
+ }}
30
+ .msg-user p {{
31
+ color: #fff;
29
32
  }}
30
33
  .msg-bot {{
31
34
  color: #fff;
32
35
  }}
36
+ .msg-bot p {{
37
+ color: #fff;
38
+ }}
33
39
  .cmd {{
34
40
  color: #4d4d4d;
35
41
  }}
@@ -29,6 +29,9 @@ a {{
29
29
  .msg-bot {{
30
30
  color: #000;
31
31
  }}
32
+ .msg-bot p {{
33
+ color: #000;
34
+ }}
32
35
  .cmd {{
33
36
  color: #4d4d4d;
34
37
  text-decoration: none;
@@ -25,11 +25,17 @@ a:hover {{
25
25
  }}
26
26
  .msg-user {{
27
27
  background: #303030;
28
- color: #fff !important;
28
+ color: #fff;
29
+ }}
30
+ .msg-user p {{
31
+ color: #fff;
29
32
  }}
30
33
  .msg-bot {{
31
34
  color: #fff;
32
35
  }}
36
+ .msg-bot p {{
37
+ color: #fff;
38
+ }}
33
39
  .cmd {{
34
40
  color: #4d4d4d;
35
41
  }}
@@ -29,6 +29,9 @@ a {{
29
29
  .msg-bot {{
30
30
  color: #000;
31
31
  }}
32
+ .msg-bot p {{
33
+ color: #000;
34
+ }}
32
35
  .cmd {{
33
36
  color: #4d4d4d;
34
37
  text-decoration: none;
@@ -113,6 +113,7 @@ attachments.auto_index = Automatische Indizierung beim Hochladen
113
113
  attachments.btn.add = Datei hinzufügen
114
114
  attachments.btn.add_url = Web
115
115
  attachments.btn.clear = Dateien löschen
116
+ attachments.btn.input.add = Anhang hinzufügen
116
117
  attachments.capture_clear = Beim Erfassen löschen
117
118
  attachments.clear.confirm = Liste löschen?
118
119
  attachments.ctx.indexed = Ja
@@ -113,6 +113,7 @@ attachments.auto_index = Auto-index on upload
113
113
  attachments.btn.add = Add file
114
114
  attachments.btn.add_url = Web
115
115
  attachments.btn.clear = Clear
116
+ attachments.btn.input.add = Add attachment
116
117
  attachments.capture_clear = Clear on capture
117
118
  attachments.clear.confirm = Clear list?
118
119
  attachments.ctx.indexed = Yes
@@ -113,6 +113,7 @@ attachments.auto_index = Indexación automática al subir
113
113
  attachments.btn.add = Añadir archivo
114
114
  attachments.btn.add_url = Web
115
115
  attachments.btn.clear = Limpiar archivos
116
+ attachments.btn.input.add = Añadir archivo adjunto
116
117
  attachments.capture_clear = Limpiar al capturar
117
118
  attachments.clear.confirm = ¿Limpiar la lista?
118
119
  attachments.ctx.indexed = Sí
@@ -113,6 +113,7 @@ attachments.auto_index = Indexation automatique lors du téléchargement
113
113
  attachments.btn.add = Ajouter un fichier
114
114
  attachments.btn.add_url = Web
115
115
  attachments.btn.clear = Effacer les fichiers
116
+ attachments.btn.input.add = Ajouter une pièce jointe
116
117
  attachments.capture_clear = Effacer à la capture
117
118
  attachments.clear.confirm = Effacer la liste ?
118
119
  attachments.ctx.indexed = Oui
@@ -113,6 +113,7 @@ attachments.auto_index = Indicizzazione automatica al caricamento
113
113
  attachments.btn.add = Aggiungi file
114
114
  attachments.btn.add_url = Web
115
115
  attachments.btn.clear = Pulisci file
116
+ attachments.btn.input.add = Aggiungi allegato
116
117
  attachments.capture_clear = Pulisci alla cattura
117
118
  attachments.clear.confirm = Pulire l'elenco?
118
119
  attachments.ctx.indexed = Sì
@@ -113,6 +113,7 @@ attachments.auto_index = Auto-indeksacja przy przesyłaniu
113
113
  attachments.btn.add = Dodaj plik
114
114
  attachments.btn.add_url = Sieć
115
115
  attachments.btn.clear = Wyczyść
116
+ attachments.btn.input.add = Dodaj załącznik
116
117
  attachments.capture_clear = Wyczyść przy przechwytywaniu
117
118
  attachments.clear.confirm = Wyczyścić listę plików?
118
119
  attachments.ctx.indexed = Tak
@@ -113,6 +113,7 @@ attachments.auto_index = Автоматичне індексування при
113
113
  attachments.btn.add = Додати файл
114
114
  attachments.btn.add_url = Веб
115
115
  attachments.btn.clear = Очистити файли
116
+ attachments.btn.input.add = Додати вкладення
116
117
  attachments.capture_clear = Очистити під час захоплення
117
118
  attachments.clear.confirm = Очистити список?
118
119
  attachments.ctx.indexed = Так
@@ -113,6 +113,7 @@ attachments.auto_index = 上传时自动索引
113
113
  attachments.btn.add = 添加文件
114
114
  attachments.btn.add_url = 网络
115
115
  attachments.btn.clear = 清除文件
116
+ attachments.btn.input.add = 添加附件
116
117
  attachments.capture_clear = 捕獲後清除
117
118
  attachments.clear.confirm = 清除列表?
118
119
  attachments.ctx.indexed = 是
@@ -6,7 +6,7 @@
6
6
  # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
7
  # MIT License #
8
8
  # Created By : Marcin Szczygliński #
9
- # Updated Date: 2025.08.24 02:00:00 #
9
+ # Updated Date: 2025.08.25 20:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  import copy
@@ -2280,6 +2280,17 @@ class Patch:
2280
2280
  data["agent.output.render.all"] = True
2281
2281
  updated = True
2282
2282
 
2283
+ # < 2.6.23 -- fix: restore <p> color
2284
+ if old < parse_version("2.6.23"):
2285
+ print("Migrating config from < 2.6.23...")
2286
+ self.window.core.updater.patch_css('web-chatgpt.dark.css', True)
2287
+ self.window.core.updater.patch_css('web-chatgpt_wide.dark.css', True)
2288
+ self.window.core.updater.patch_css('web-chatgpt.light.css', True)
2289
+ self.window.core.updater.patch_css('web-chatgpt_wide.light.css', True)
2290
+ self.window.core.updater.patch_css('web-blocks.dark.css', True)
2291
+ self.window.core.updater.patch_css('web-blocks.light.css', True)
2292
+ updated = True
2293
+
2283
2294
  # update file
2284
2295
  migrated = False
2285
2296
  if updated:
@@ -40,7 +40,6 @@ class AgentLlama:
40
40
 
41
41
  container = QWidget(win)
42
42
 
43
- nodes['agent.llama.loop.score.label'] = QLabel(trans("toolbox.agent.llama.loop.score.label"), parent=container)
44
43
  nodes['agent.llama.loop.score'] = OptionSlider(
45
44
  win,
46
45
  'global',
@@ -50,7 +49,7 @@ class AgentLlama:
50
49
  nodes['agent.llama.loop.score'].setToolTip(trans("toolbox.agent.llama.loop.score.tooltip"))
51
50
  config_global['agent.llama.loop.score'] = nodes['agent.llama.loop.score']
52
51
 
53
- nodes['agent.llama.loop.mode.label'] = QLabel(trans("toolbox.agent.llama.loop.mode.label"), parent=container)
52
+ nodes['agent.llama.loop.mode.label'] = QLabel(trans("toolbox.agent.llama.loop.mode.label"), parent=win)
54
53
  nodes['agent.llama.loop.mode'] = OptionCombo(
55
54
  win,
56
55
  'global',
@@ -66,7 +65,7 @@ class AgentLlama:
66
65
  )
67
66
  config_global['agent.llama.loop.enabled'] = nodes['agent.llama.loop.enabled']
68
67
 
69
- nodes['agent.llama.loop.label'] = QLabel(trans("toolbox.agent.llama.loop.label"), parent=container)
68
+ nodes['agent.llama.loop.label'] = QLabel(trans("toolbox.agent.llama.loop.label"), parent=win)
70
69
 
71
70
  cols = QHBoxLayout()
72
71
  cols.addWidget(config_global['agent.llama.loop.enabled'])
@@ -6,7 +6,7 @@
6
6
  # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
7
  # MIT License #
8
8
  # Created By : Marcin Szczygliński #
9
- # Updated Date: 2025.08.24 23:00:00 #
9
+ # Updated Date: 2025.08.25 18:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  from typing import Optional
@@ -19,7 +19,7 @@ from pygpt_net.ui.widget.tabs.output import OutputTabs
19
19
 
20
20
 
21
21
  class OutputColumn(QWidget):
22
- def __init__(self, window=None):
22
+ def __init__(self, window=None, idx: Optional[int] = None):
23
23
  """
24
24
  Output column
25
25
 
@@ -28,6 +28,8 @@ class OutputColumn(QWidget):
28
28
  super(OutputColumn, self).__init__(window)
29
29
  self.window = window
30
30
  self.idx = -1
31
+ if idx is not None:
32
+ self.idx = idx
31
33
  self.tabs = OutputTabs(self.window, column=self)
32
34
  self.layout = QVBoxLayout()
33
35
  self.layout.addWidget(self.tabs)
@@ -92,8 +94,8 @@ class OutputLayout(QWidget):
92
94
  self.columns = []
93
95
  self._was_width_zero = None
94
96
 
95
- column1 = OutputColumn(self.window)
96
- column2 = OutputColumn(self.window)
97
+ column1 = OutputColumn(self.window, idx=0)
98
+ column2 = OutputColumn(self.window, idx=1)
97
99
  self.add_column(column1)
98
100
  self.add_column(column2)
99
101