pygpt-net 2.4.37__py3-none-any.whl → 2.4.41__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 (255) hide show
  1. CHANGELOG.md +29 -0
  2. README.md +44 -115
  3. pygpt_net/CHANGELOG.txt +29 -0
  4. pygpt_net/__init__.py +3 -3
  5. pygpt_net/controller/__init__.py +7 -3
  6. pygpt_net/controller/access/control.py +1 -1
  7. pygpt_net/controller/access/voice.py +11 -5
  8. pygpt_net/controller/agent/experts.py +11 -6
  9. pygpt_net/controller/agent/legacy.py +8 -6
  10. pygpt_net/controller/agent/llama.py +4 -2
  11. pygpt_net/controller/assistant/__init__.py +9 -4
  12. pygpt_net/controller/assistant/batch.py +38 -21
  13. pygpt_net/controller/assistant/editor.py +7 -6
  14. pygpt_net/controller/assistant/files.py +23 -7
  15. pygpt_net/controller/assistant/store.py +20 -7
  16. pygpt_net/controller/assistant/threads.py +34 -8
  17. pygpt_net/controller/attachment.py +29 -10
  18. pygpt_net/controller/audio/__init__.py +25 -4
  19. pygpt_net/controller/calendar/__init__.py +23 -4
  20. pygpt_net/controller/calendar/note.py +57 -11
  21. pygpt_net/controller/camera.py +3 -2
  22. pygpt_net/controller/chat/__init__.py +5 -3
  23. pygpt_net/controller/chat/attachment.py +34 -7
  24. pygpt_net/controller/chat/command.py +4 -2
  25. pygpt_net/controller/chat/common.py +11 -4
  26. pygpt_net/controller/chat/files.py +10 -3
  27. pygpt_net/controller/chat/image.py +17 -5
  28. pygpt_net/controller/chat/input.py +10 -7
  29. pygpt_net/controller/chat/output.py +21 -6
  30. pygpt_net/controller/chat/render.py +100 -21
  31. pygpt_net/controller/chat/response.py +34 -7
  32. pygpt_net/controller/chat/stream.py +4 -2
  33. pygpt_net/controller/chat/text.py +6 -4
  34. pygpt_net/controller/command.py +11 -3
  35. pygpt_net/controller/config/__init__.py +34 -6
  36. pygpt_net/controller/config/field/checkbox.py +7 -4
  37. pygpt_net/controller/config/field/cmd.py +7 -5
  38. pygpt_net/controller/config/field/combo.py +14 -6
  39. pygpt_net/controller/config/field/dictionary.py +14 -11
  40. pygpt_net/controller/config/field/input.py +9 -6
  41. pygpt_net/controller/config/field/slider.py +11 -8
  42. pygpt_net/controller/config/field/textarea.py +8 -5
  43. pygpt_net/controller/config/placeholder.py +52 -21
  44. pygpt_net/controller/ctx/__init__.py +138 -49
  45. pygpt_net/controller/ctx/common.py +15 -4
  46. pygpt_net/controller/ctx/extra.py +11 -3
  47. pygpt_net/controller/ctx/summarizer.py +24 -5
  48. pygpt_net/controller/debug/__init__.py +27 -6
  49. pygpt_net/controller/dialogs/confirm.py +34 -7
  50. pygpt_net/controller/dialogs/debug.py +4 -2
  51. pygpt_net/controller/dialogs/info.py +7 -2
  52. pygpt_net/controller/files.py +48 -10
  53. pygpt_net/controller/finder.py +11 -5
  54. pygpt_net/controller/idx/__init__.py +10 -3
  55. pygpt_net/controller/idx/common.py +4 -2
  56. pygpt_net/controller/idx/indexer.py +25 -17
  57. pygpt_net/controller/idx/settings.py +9 -3
  58. pygpt_net/controller/kernel/__init__.py +34 -8
  59. pygpt_net/controller/kernel/reply.py +12 -3
  60. pygpt_net/controller/kernel/stack.py +5 -3
  61. pygpt_net/controller/lang/custom.py +2 -7
  62. pygpt_net/controller/lang/mapping.py +5 -3
  63. pygpt_net/controller/layout.py +2 -2
  64. pygpt_net/controller/mode.py +16 -4
  65. pygpt_net/controller/model/__init__.py +14 -3
  66. pygpt_net/controller/model/editor.py +8 -3
  67. pygpt_net/controller/notepad.py +26 -12
  68. pygpt_net/controller/painter/capture.py +23 -4
  69. pygpt_net/controller/painter/common.py +9 -7
  70. pygpt_net/controller/plugins/__init__.py +19 -5
  71. pygpt_net/controller/plugins/presets.py +15 -6
  72. pygpt_net/controller/plugins/settings.py +9 -3
  73. pygpt_net/controller/presets/__init__.py +55 -16
  74. pygpt_net/controller/presets/editor.py +26 -10
  75. pygpt_net/controller/settings/__init__.py +3 -2
  76. pygpt_net/controller/settings/editor.py +29 -7
  77. pygpt_net/controller/settings/profile.py +22 -5
  78. pygpt_net/controller/theme/__init__.py +54 -12
  79. pygpt_net/controller/theme/common.py +24 -2
  80. pygpt_net/controller/theme/markdown.py +32 -16
  81. pygpt_net/controller/theme/menu.py +26 -5
  82. pygpt_net/controller/theme/nodes.py +2 -5
  83. pygpt_net/controller/tools/__init__.py +40 -2
  84. pygpt_net/controller/ui/__init__.py +4 -6
  85. pygpt_net/controller/ui/tabs.py +363 -65
  86. pygpt_net/core/access/actions.py +6 -4
  87. pygpt_net/core/access/shortcuts.py +4 -3
  88. pygpt_net/core/access/voice.py +6 -5
  89. pygpt_net/core/agents/legacy.py +4 -2
  90. pygpt_net/core/agents/memory.py +7 -2
  91. pygpt_net/core/agents/observer/evaluation.py +15 -7
  92. pygpt_net/core/agents/provider.py +9 -4
  93. pygpt_net/core/agents/runner.py +61 -15
  94. pygpt_net/core/agents/tools.py +23 -5
  95. pygpt_net/core/assistants/__init__.py +6 -4
  96. pygpt_net/core/assistants/files.py +35 -12
  97. pygpt_net/core/assistants/store.py +20 -10
  98. pygpt_net/core/attachments/__init__.py +54 -15
  99. pygpt_net/core/attachments/context.py +92 -29
  100. pygpt_net/core/audio/__init__.py +71 -3
  101. pygpt_net/core/audio/context.py +7 -2
  102. pygpt_net/core/bridge/__init__.py +22 -6
  103. pygpt_net/core/bridge/context.py +5 -3
  104. pygpt_net/core/calendar/__init__.py +57 -11
  105. pygpt_net/core/chain/__init__.py +8 -2
  106. pygpt_net/core/chain/chat.py +10 -8
  107. pygpt_net/core/chain/completion.py +10 -7
  108. pygpt_net/core/command.py +62 -17
  109. pygpt_net/core/ctx/__init__.py +260 -58
  110. pygpt_net/core/ctx/bag.py +25 -4
  111. pygpt_net/core/ctx/container.py +28 -17
  112. pygpt_net/core/ctx/idx.py +45 -8
  113. pygpt_net/core/ctx/output.py +95 -74
  114. pygpt_net/core/ctx/reply.py +5 -2
  115. pygpt_net/core/db/__init__.py +8 -7
  116. pygpt_net/core/db/viewer.py +17 -11
  117. pygpt_net/core/debug/__init__.py +10 -9
  118. pygpt_net/core/debug/tabs.py +5 -2
  119. pygpt_net/core/docker/__init__.py +11 -5
  120. pygpt_net/core/docker/builder.py +11 -3
  121. pygpt_net/core/events/app.py +5 -3
  122. pygpt_net/core/events/base.py +11 -5
  123. pygpt_net/core/events/control.py +5 -3
  124. pygpt_net/core/events/event.py +17 -7
  125. pygpt_net/core/events/kernel.py +5 -3
  126. pygpt_net/core/events/render.py +5 -3
  127. pygpt_net/core/experts/__init__.py +5 -4
  128. pygpt_net/core/filesystem/__init__.py +52 -34
  129. pygpt_net/core/filesystem/actions.py +8 -5
  130. pygpt_net/core/filesystem/editor.py +13 -3
  131. pygpt_net/core/filesystem/types.py +12 -7
  132. pygpt_net/core/filesystem/url.py +7 -3
  133. pygpt_net/core/idx/__init__.py +34 -25
  134. pygpt_net/core/idx/chat.py +40 -16
  135. pygpt_net/core/idx/context.py +6 -2
  136. pygpt_net/core/idx/indexing.py +84 -35
  137. pygpt_net/core/idx/llm.py +11 -3
  138. pygpt_net/core/idx/metadata.py +13 -3
  139. pygpt_net/core/idx/types/ctx.py +32 -6
  140. pygpt_net/core/idx/types/external.py +41 -7
  141. pygpt_net/core/idx/types/files.py +31 -6
  142. pygpt_net/core/image.py +15 -4
  143. pygpt_net/core/llm/__init__.py +13 -3
  144. pygpt_net/core/locale.py +34 -8
  145. pygpt_net/core/models.py +4 -3
  146. pygpt_net/core/notepad.py +9 -4
  147. pygpt_net/core/plugins.py +7 -6
  148. pygpt_net/core/presets.py +19 -10
  149. pygpt_net/core/profile.py +12 -6
  150. pygpt_net/core/prompt/__init__.py +10 -3
  151. pygpt_net/core/prompt/custom.py +7 -6
  152. pygpt_net/core/prompt/template.py +9 -3
  153. pygpt_net/core/render/base.py +117 -22
  154. pygpt_net/core/render/markdown/body.py +27 -7
  155. pygpt_net/core/render/markdown/renderer.py +119 -22
  156. pygpt_net/core/render/plain/body.py +22 -5
  157. pygpt_net/core/render/plain/renderer.py +97 -21
  158. pygpt_net/core/render/web/body.py +75 -25
  159. pygpt_net/core/render/web/renderer.py +313 -63
  160. pygpt_net/core/settings.py +9 -4
  161. pygpt_net/core/tabs/__init__.py +290 -103
  162. pygpt_net/core/tabs/tab.py +17 -4
  163. pygpt_net/core/tokens.py +44 -11
  164. pygpt_net/core/updater/__init__.py +20 -7
  165. pygpt_net/core/vision/analyzer.py +29 -6
  166. pygpt_net/core/web.py +130 -2
  167. pygpt_net/data/config/config.json +15 -4
  168. pygpt_net/data/config/models.json +3 -3
  169. pygpt_net/data/config/modes.json +3 -3
  170. pygpt_net/data/config/settings.json +55 -10
  171. pygpt_net/data/config/settings_section.json +3 -0
  172. pygpt_net/data/css/style.light.css +1 -0
  173. pygpt_net/data/css/{web.css → web-blocks.css} +162 -133
  174. pygpt_net/data/css/{web.light.css → web-blocks.light.css} +7 -0
  175. pygpt_net/data/css/web-chatgpt.css +350 -0
  176. pygpt_net/data/css/web-chatgpt.dark.css +64 -0
  177. pygpt_net/data/css/web-chatgpt.light.css +75 -0
  178. pygpt_net/data/css/web-chatgpt_wide.css +350 -0
  179. pygpt_net/data/css/web-chatgpt_wide.dark.css +64 -0
  180. pygpt_net/data/css/web-chatgpt_wide.light.css +75 -0
  181. pygpt_net/data/icons/split_screen.svg +1 -0
  182. pygpt_net/data/locale/locale.de.ini +12 -0
  183. pygpt_net/data/locale/locale.en.ini +17 -2
  184. pygpt_net/data/locale/locale.es.ini +12 -0
  185. pygpt_net/data/locale/locale.fr.ini +12 -0
  186. pygpt_net/data/locale/locale.it.ini +12 -0
  187. pygpt_net/data/locale/locale.pl.ini +12 -0
  188. pygpt_net/data/locale/locale.uk.ini +12 -0
  189. pygpt_net/data/locale/locale.zh.ini +12 -0
  190. pygpt_net/data/locale/plugin.cmd_web.de.ini +2 -0
  191. pygpt_net/data/locale/plugin.cmd_web.en.ini +20 -10
  192. pygpt_net/data/locale/plugin.cmd_web.es.ini +2 -0
  193. pygpt_net/data/locale/plugin.cmd_web.fr.ini +2 -0
  194. pygpt_net/data/locale/plugin.cmd_web.it.ini +2 -0
  195. pygpt_net/data/locale/plugin.cmd_web.pl.ini +2 -0
  196. pygpt_net/data/locale/plugin.cmd_web.uk.ini +2 -0
  197. pygpt_net/data/locale/plugin.cmd_web.zh.ini +2 -0
  198. pygpt_net/icons.qrc +1 -0
  199. pygpt_net/icons_rc.py +165 -136
  200. pygpt_net/item/ctx.py +46 -24
  201. pygpt_net/plugin/audio_input/simple.py +21 -5
  202. pygpt_net/plugin/audio_output/__init__.py +4 -1
  203. pygpt_net/plugin/base/config.py +4 -2
  204. pygpt_net/plugin/base/plugin.py +26 -6
  205. pygpt_net/plugin/base/worker.py +37 -9
  206. pygpt_net/plugin/cmd_code_interpreter/__init__.py +39 -37
  207. pygpt_net/plugin/cmd_code_interpreter/runner.py +25 -12
  208. pygpt_net/plugin/cmd_web/__init__.py +46 -6
  209. pygpt_net/plugin/cmd_web/config.py +74 -48
  210. pygpt_net/plugin/cmd_web/websearch.py +61 -28
  211. pygpt_net/plugin/cmd_web/worker.py +79 -13
  212. pygpt_net/provider/core/config/patch.py +43 -1
  213. pygpt_net/provider/core/ctx/base.py +4 -1
  214. pygpt_net/provider/core/ctx/db_sqlite/__init__.py +10 -1
  215. pygpt_net/provider/core/ctx/db_sqlite/storage.py +22 -1
  216. pygpt_net/provider/gpt/assistants.py +10 -9
  217. pygpt_net/provider/gpt/audio.py +3 -2
  218. pygpt_net/provider/gpt/chat.py +8 -7
  219. pygpt_net/provider/gpt/completion.py +6 -4
  220. pygpt_net/provider/gpt/image.py +9 -2
  221. pygpt_net/provider/gpt/store.py +14 -13
  222. pygpt_net/provider/gpt/vision.py +6 -5
  223. pygpt_net/tools/__init__.py +9 -1
  224. pygpt_net/tools/base.py +15 -1
  225. pygpt_net/tools/code_interpreter/__init__.py +174 -75
  226. pygpt_net/tools/code_interpreter/ui/dialogs.py +21 -103
  227. pygpt_net/tools/code_interpreter/ui/widgets.py +284 -9
  228. pygpt_net/tools/html_canvas/__init__.py +78 -23
  229. pygpt_net/tools/html_canvas/ui/dialogs.py +46 -62
  230. pygpt_net/tools/html_canvas/ui/widgets.py +96 -3
  231. pygpt_net/ui/base/context_menu.py +2 -2
  232. pygpt_net/ui/layout/chat/input.py +10 -18
  233. pygpt_net/ui/layout/chat/output.py +26 -44
  234. pygpt_net/ui/layout/ctx/ctx_list.py +13 -4
  235. pygpt_net/ui/layout/toolbox/footer.py +18 -2
  236. pygpt_net/ui/main.py +2 -2
  237. pygpt_net/ui/menu/config.py +7 -11
  238. pygpt_net/ui/menu/debug.py +11 -1
  239. pygpt_net/ui/menu/theme.py +9 -2
  240. pygpt_net/ui/widget/filesystem/explorer.py +2 -2
  241. pygpt_net/ui/widget/lists/context.py +27 -5
  242. pygpt_net/ui/widget/tabs/Input.py +2 -2
  243. pygpt_net/ui/widget/tabs/body.py +2 -1
  244. pygpt_net/ui/widget/tabs/layout.py +195 -0
  245. pygpt_net/ui/widget/tabs/output.py +218 -55
  246. pygpt_net/ui/widget/textarea/html.py +11 -1
  247. pygpt_net/ui/widget/textarea/output.py +10 -1
  248. pygpt_net/ui/widget/textarea/search_input.py +4 -1
  249. pygpt_net/ui/widget/textarea/web.py +49 -9
  250. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.41.dist-info}/METADATA +45 -116
  251. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.41.dist-info}/RECORD +255 -247
  252. /pygpt_net/data/css/{web.dark.css → web-blocks.dark.css} +0 -0
  253. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.41.dist-info}/LICENSE +0 -0
  254. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.41.dist-info}/WHEEL +0 -0
  255. {pygpt_net-2.4.37.dist-info → pygpt_net-2.4.41.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,350 @@
1
+ @font-face {{
2
+ font-family: "Lato";
3
+ src: url('file:///%fonts%/Lato/Lato-Regular.ttf');
4
+ }}
5
+ @font-face {{
6
+ font-family: "Monaspace Neon";
7
+ src: url('file:///%fonts%/MonaspaceNeon/MonaspaceNeon-Regular.otf');
8
+ }}
9
+ * {{
10
+ font-family: 'Lato';
11
+ }}
12
+ body {{
13
+ word-wrap: break-word;
14
+ padding: 6px;
15
+ line-height: 1.25;
16
+ will-change: transform, opacity;
17
+ padding: 0;
18
+ margin: auto;
19
+ max-width: 100%;
20
+ border-radius: .25rem;
21
+ }}
22
+ ::-webkit-scrollbar {{
23
+ height: 12px;
24
+ width: 12px;
25
+ }}
26
+ ::-webkit-scrollbar-thumb {{
27
+ -webkit-border-radius: 1ex;
28
+ -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.75);
29
+ }}
30
+ .ts {{
31
+ display: none;
32
+ }}
33
+
34
+ /* base */
35
+ a {{
36
+ text-decoration: none;
37
+ color: #a1b5c4 !important;
38
+ }}
39
+ a:hover {{
40
+ cursor: pointer !important;
41
+ text-decoration: underline;
42
+ }}
43
+ p {{
44
+ margin-top: 5px;
45
+ margin-bottom: 5px;
46
+ }}
47
+
48
+ /* images */
49
+ .image {{
50
+ max-width: 320px;
51
+ }}
52
+
53
+ /* cmd */
54
+ .cmd {{
55
+ font-family: 'Lato';
56
+ text-decoration: none;
57
+ padding-bottom: 0px;
58
+ font-size: 0.8rem;
59
+ }}
60
+
61
+ /* lists, code */
62
+ ul, ol, .list {{
63
+ margin-top: 0px;
64
+ margin-bottom: 0px;
65
+ }}
66
+ pre {{
67
+ font-family: 'Monaspace Neon';
68
+ display: block;
69
+ text-align: left;
70
+ padding: 0;
71
+ overflow-y: auto;
72
+ }}
73
+ code {{
74
+ font-family: 'Monaspace Neon';
75
+ overflow-y: auto;
76
+ font-size: 0.8rem;
77
+ }}
78
+ .code-header-wrapper {{
79
+ text-align: right;
80
+ width: auto;
81
+ height: 20px;
82
+ padding: 10px;
83
+ padding-top: 10px;
84
+ margin: 0;
85
+ font-size: 0.75rem;
86
+ -webkit-border-top-left-radius: .25rem;
87
+ -webkit-border-top-right-radius: .25rem;
88
+ -moz-border-radius-topleft: .25rem;
89
+ -moz-border-radius-topright: .25rem;
90
+ border-top-left-radius: .25rem;
91
+ border-top-right-radius: .25rem;
92
+ }}
93
+ .code-header {{
94
+ text-align: right;
95
+ width: 90%;
96
+ padding: 0px;
97
+ font-size: 0.75rem;
98
+ }}
99
+ .code-header-lang {{
100
+ float: left;
101
+ padding-top: 4px;
102
+ padding-left: .25rem;
103
+ }}
104
+ .code-header-copy {{
105
+ text-align: right;
106
+ text-decoration: none;
107
+ font-weight: bold;
108
+ display: inline-block;
109
+ color: #6e6e6e;
110
+ padding-right: .25rem;
111
+ }}
112
+ .code-header-copy img {{
113
+ vertical-align: middle;
114
+ padding-right: 5px;
115
+ }}
116
+ .code-header-copy:hover {{
117
+ text-decoration: none;
118
+ cursor: pointer;
119
+ }}
120
+ .code-header-copy:hover img {{
121
+ filter: brightness(130%);
122
+ }}
123
+ .code-wrapper {{
124
+ padding: 0px;
125
+ margin: 0px;
126
+ border: none;
127
+ border-radius: .25rem;
128
+ }}
129
+ .code-wrapper pre {{
130
+ padding: 0;
131
+ padding-bottom: 0;
132
+ margin-bottom: 0;
133
+ margin-top: 0;
134
+ width: 100%;
135
+ }}
136
+ .code-wrapper code {{
137
+ padding: 1.5rem;
138
+ }}
139
+ .highlight span {{
140
+ font-family: 'Monaspace Neon';
141
+ }}
142
+
143
+ /* action icons */
144
+ .action-icons {{
145
+ margin-top: 20px;
146
+ }}
147
+ .action-icons a {{
148
+ text-decoration: none;
149
+ }}
150
+ .action-icons a:hover {{
151
+ filter: brightness(120%);
152
+ }}
153
+ .action-img {{
154
+ width: 20px;
155
+ height: 20px;
156
+ }}
157
+ .edit-icon {{
158
+ display: inline;
159
+ }}
160
+ .theme-blocks.display-timestamp .ts {{
161
+ display: inline;
162
+ }}
163
+
164
+ /* message box */
165
+ .msg-box {{
166
+ max-width: 100%;
167
+ border-radius: 10px;
168
+ padding: 10px;
169
+ margin-right: 10px;
170
+ }}
171
+ .msg-user {{
172
+ white-space: pre-wrap;
173
+ width: fit-content;
174
+ min-width: 10px;
175
+ max-width: 75%;
176
+ padding: 5px;
177
+ padding-left: 10px;
178
+ padding-right: 10px;
179
+ margin-top: 10px;
180
+ margin-left: auto;
181
+ margin-bottom: 5px;
182
+ border: none;
183
+ }}
184
+ .msg-bot {{
185
+ white-space: pre-wrap;
186
+ width: auto;
187
+ max-width: 100%;
188
+ margin-top: 10px;
189
+ margin-bottom: 0px;
190
+ padding-bottom: 0px;
191
+ background: none;
192
+ border: none;
193
+ }}
194
+ .msg-box:not(first-child) {{
195
+ margin-top: 20px !important;
196
+ }}
197
+ .msg-box:first-child {{
198
+ margin-top: 0px;
199
+ }}
200
+ .msg-box:last-child {{
201
+ margin-bottom: 20px !important;
202
+ }}
203
+ .msg-box .name-header {{
204
+ display: none;
205
+ }}
206
+ .msg-extra {{
207
+ margin-top: 10px;
208
+ margin-bottom: 0px;
209
+ color: gray;
210
+ }}
211
+ .msg-extra a {{
212
+ color: gray;
213
+ }}
214
+ .msg-user .msg-extra {{
215
+ display: none;
216
+ }}
217
+ .msg-box .msg {{
218
+ margin: 0;
219
+ padding: 5px;
220
+ width: auto;
221
+ }}
222
+
223
+ /* tool output */
224
+ .tool-output-header {{
225
+ margin-top: 15px;
226
+ margin-bottom: 10px;
227
+ font-weight: bold;
228
+ color: gray;
229
+ }}
230
+ .tool-output .content {{
231
+ padding: 10px;
232
+ color: gray !important;
233
+ }}
234
+ .tool-output .toggle-cmd-output {{
235
+ cursor: pointer;
236
+ padding-top: 10px;
237
+ display: block;
238
+ color: gray;
239
+ }}
240
+
241
+ /* extra source */
242
+ .extra-src-icon {{
243
+ padding-right: 2px;
244
+ width: 25px;
245
+ height: 25px;
246
+ vertical-align: middle;
247
+ }}
248
+ .extra-src-img-box {{
249
+ display: inline-block;
250
+ text-align: center;
251
+ padding: 5px;
252
+ margin: 5px;
253
+ max-width: 320px;
254
+ height: auto;
255
+ white-space: pre-wrap;
256
+ word-break: break-all !important;
257
+ }}
258
+ .extra-src-img-box:hover {{
259
+ cursor: pointer;
260
+ }}
261
+ .extra-src-img-box .title {{
262
+ width: 320px;
263
+ overflow: hidden;
264
+ white-space: nowrap;
265
+ text-overflow: ellipsis;
266
+ display: block;
267
+ text-align: center;
268
+ padding: 0;
269
+ margin: 0;
270
+ padding-top: 10px;
271
+ display: block;
272
+ font-size: 0.95rem;
273
+ }}
274
+ .extra-src-img-box .img-outer {{
275
+ display: flex;
276
+ flex-direction: column;
277
+ }}
278
+ .extra-src-img-box .img-wrapper {{
279
+ position: relative;
280
+ overflow: hidden;
281
+ border: 1px solid #000;
282
+ background: #000;
283
+ width: 320px;
284
+ height: 280px;
285
+ margin: 0;
286
+ margin-bottom: 0px !important;
287
+ border-radius: 5px;
288
+ -webkit-box-shadow: 8px 8px 22px -16px rgba(0, 0, 0, 1);
289
+ -moz-box-shadow: 8px 8px 22px -16px rgba(0, 0, 0, 1);
290
+ box-shadow: 8px 8px 22px -16px rgba(0, 0, 0, 1);
291
+ }}
292
+ .extra-src-img-box .img-wrapper:hover {{
293
+ border: 1px solid gray;
294
+ }}
295
+ .extra-src-img-box img {{
296
+ margin-bottom: 2px;
297
+ padding-bottom: 0px;
298
+ display: block;
299
+ width: 100%;
300
+ height: 100%;
301
+ object-fit: cover;
302
+ }}
303
+
304
+ /* common */
305
+ .toggle-expanded {{
306
+ transform: rotateX(180deg);
307
+ }}
308
+ .append_input {{
309
+ margin: 0;
310
+ padding: 0;
311
+ }}
312
+ .append_output {{
313
+ margin: 0;
314
+ padding: 0;
315
+ }}
316
+ .empty_list {{
317
+ }}
318
+ .spinner {{
319
+ display: inline-block;
320
+ animation: spin 2s linear infinite;
321
+ margin: auto !important;
322
+ padding: 0 !important;
323
+ margin-top: 8px !important;
324
+ width:30px !important;
325
+ height:30px !important;
326
+ }}
327
+ .spinner .img {{
328
+ margin: auto;
329
+ display: block;
330
+ width: 100% !important;
331
+ height: 100% !important;
332
+ }}
333
+
334
+ /* anims */
335
+ @keyframes spin {{
336
+ from {{
337
+ transform: rotate(0deg);
338
+ }}
339
+ to {{
340
+ transform: rotate(360deg);
341
+ }}
342
+ }}
343
+
344
+ /* debug */
345
+ .debug {{
346
+ color: orange !important;
347
+ background: #0d1117;
348
+ padding: 10px;
349
+ font-size: 0.9rem;
350
+ }}
@@ -0,0 +1,64 @@
1
+ body {{
2
+ color: #fff;
3
+ background-color: #232629;
4
+ }}
5
+ ::-webkit-scrollbar {{
6
+ background: #232629;
7
+ }}
8
+ ::-webkit-scrollbar-thumb {{
9
+ background: {QTMATERIAL_SECONDARYLIGHTCOLOR};
10
+ }}
11
+ ::-webkit-scrollbar-thumb:hover {{
12
+ background: {QTMATERIAL_PRIMARYLIGHTCOLOR};
13
+ }}
14
+ ::-webkit-scrollbar-corner {{
15
+ background: #232629;
16
+ }}
17
+ a {{
18
+ color: #a1b5c4 !important;
19
+ }}
20
+ a:hover {{
21
+ color: #b8cad7 !important;
22
+ }}
23
+ .msg-user {{
24
+ background: #303030;
25
+ color: #fff !important;
26
+ }}
27
+ .msg-bot {{
28
+ color: #fff;
29
+ }}
30
+ .cmd {{
31
+ color: #4d4d4d;
32
+ }}
33
+ .ts {{
34
+ color: #4d4d4d;
35
+ }}
36
+ .list {{
37
+ }}
38
+ code {{
39
+ color: {QTMATERIAL_PRIMARYLIGHTCOLOR};
40
+ }}
41
+ .code-header-wrapper {{
42
+ background-color: #303030;
43
+ }}
44
+ .code-header-copy {{
45
+ color: silver !important;
46
+ }}
47
+ .code-header-copy:hover {{
48
+ color: #fff;
49
+ }}
50
+ .code-header-copy:hover img {{
51
+ filter: brightness(130%);
52
+ }}
53
+ .code-header-lang {{
54
+ color: #686868;
55
+ }}
56
+ .action-icons a:hover {{
57
+ filter: brightness(130%);
58
+ }}
59
+ .name-bot::before {{
60
+ background-color: {QTMATERIAL_PRIMARYLIGHTCOLOR};
61
+ }}
62
+ .name-user::before {{
63
+ background-color: silver;
64
+ }}
@@ -0,0 +1,75 @@
1
+ body {{
2
+ color: #000;
3
+ background-color: #fff;
4
+ }}
5
+ ::-webkit-scrollbar {{
6
+ background: silver;
7
+ }}
8
+ ::-webkit-scrollbar-thumb {{
9
+ background: gray;
10
+ }}
11
+ ::-webkit-scrollbar-thumb:hover {{
12
+ background: #494949;
13
+ }}
14
+ ::-webkit-scrollbar-corner {{
15
+ background: {QTMATERIAL_SECONDARYLIGHTCOLOR};
16
+ }}
17
+ p {{
18
+ color: #000;
19
+ }}
20
+ a {{
21
+ color: #3b7097 !important;
22
+ }}
23
+ .msg-user {{
24
+ color: #000;
25
+ }}
26
+ .msg-user p {{
27
+ color: #000;
28
+ }}
29
+ .msg-bot {{
30
+ color: #000;
31
+ }}
32
+ .cmd {{
33
+ color: #4d4d4d;
34
+ text-decoration: none;
35
+ }}
36
+ .ts {{
37
+ color: #4d4d4d;
38
+ }}
39
+ code {{
40
+ color: #000;
41
+ }}
42
+ .code-wrapper {{
43
+ color: #fff;
44
+ border: 1px solid #d4d4d4;
45
+ }}
46
+ .code-header-wrapper {{
47
+ color: #fff;
48
+ background: #e1e1e1;
49
+ }}
50
+ .code-header-copy {{
51
+ color: #444444 !important;
52
+ }}
53
+ .code-header-copy:hover {{
54
+ color: #000 !important;
55
+ cursor: pointer;
56
+ }}
57
+ .code-header-copy:hover img {{
58
+ filter: brightness(60%);
59
+ }}
60
+ .code-header-lang {{
61
+ color: #5c5c5c;
62
+ }}
63
+ .msg-user {{
64
+ background-color: #f3f3f3;
65
+ color: #000;
66
+ }}
67
+ .name-bot::before {{
68
+ background-color: #6b6b6b;
69
+ }}
70
+ .name-user::before {{
71
+ background-color: silver;
72
+ }}
73
+ .action-icons a:hover {{
74
+ filter: brightness(60%);
75
+ }}
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#686868"><path d="M520-320h200v-320H520v320Zm-280 0h200v-320H240v320Zm-80 160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm640-560H160v480h640v-480Zm-640 0v480-480Z"/></svg>
@@ -49,6 +49,8 @@ action.tab.add.notepad = Neuen Notizblock hinzufügen
49
49
  action.tab.close = Schließen
50
50
  action.tab.close_all.chat = Alle Chats schließen
51
51
  action.tab.close_all.notepad = Alle Notizblöcke schließen
52
+ action.tab.move.left = In die linke Spalte verschieben
53
+ action.tab.move.right = In die rechte Spalte verschieben
52
54
  action.touch = Datei erstellen...
53
55
  action.truncate = Alles löschen
54
56
  action.undo = Rückgängig
@@ -548,6 +550,7 @@ ipython.docker.build.finish = Erfolg! Das Docker-Image für IPython wurde erstel
548
550
  ipython.docker.build.start = Docker-Image wird erstellt... bitte warten...
549
551
  ipython.docker.install = Für die Ausführung von IPython muss Docker installiert sein. Docker wurde auf diesem System nicht erkannt. Bitte installieren Sie zuerst Docker; die Anweisungen finden Sie hier: https://docs.docker.com/engine/install/. Die Ausführung des aktuellen Befehls wurde pausiert.
550
552
  ipython.image.build = Das Docker-Image für IPython wurde noch nicht erstellt. Dies wird jetzt geschehen und es kann eine Weile dauern (aber es ist ein einmaliger Vorgang). Die Ausführung des Befehls wurde pausiert. Sobald das Image erstellt ist, führen Sie den Befehl bitte erneut aus.
553
+ layout.split = Bildschirm teilen
551
554
  menu.audio = Audio / Stimme
552
555
  menu.audio.cache.clear = Audio-Cache löschen...
553
556
  menu.audio.control.global = Sprachsteuerung (global)
@@ -612,6 +615,7 @@ menu.theme.dark = Dunkle Farbe...
612
615
  menu.theme.density = Layoutgröße
613
616
  menu.theme.light = Helle Farbe...
614
617
  menu.theme.settings = Einstellungen...
618
+ menu.theme.style = Stil...
615
619
  menu.theme.syntax = Syntaxhervorhebung des Codes...
616
620
  menu.theme.tooltips = Tooltips anzeigen
617
621
  menu.tools = Werkzeuge
@@ -753,6 +757,12 @@ settings.api_key = OpenAI API-KEY
753
757
  settings.api_key.desc = Erforderlich für das OpenAI-API. Wenn Sie benutzerdefinierte Endpunkte oder lokale APIs verwenden möchten, können Sie hier jeden Wert eingeben.
754
758
  settings.app.env = Anwendungsumgebung (os.environ)
755
759
  settings.app.env.desc = Zusätzliche Umgebungsvariablen, die beim Start der Anwendung gesetzt werden sollen
760
+ settings.audio.input.channels = Kanäle
761
+ settings.audio.input.channels.desc = Eingabekanäle, Standard: 1
762
+ settings.audio.input.device = Audioeingabegerät
763
+ settings.audio.input.device.desc = Wählen Sie das Audiogerät für die Mikrofoneingabe.
764
+ settings.audio.input.rate = Abtastrate
765
+ settings.audio.input.rate.desc = Abtastrate, Standard: 44100
756
766
  settings.check_updates = Beim Start nach Updates suchen
757
767
  settings.check_updates.bg = Im Hintergrund nach Updates suchen
758
768
  settings.cmd.field.desc = Aktivieren Sie das `{cmd}`-Werkzeug.
@@ -857,6 +867,7 @@ settings.render.plain = Markdown-Formatierung in der Ausgabe deaktivieren (RAW-T
857
867
  settings.restart.required = Ein Neustart der Anwendung ist notwendig, damit die Änderungen für diese Option übernommen werden.
858
868
  settings.section.access = Barrierefreiheit
859
869
  settings.section.agent = Agenten und Experten
870
+ settings.section.audio = Audio
860
871
  settings.section.ctx = Kontext
861
872
  settings.section.files = Dateien und Anhänge
862
873
  settings.section.general = Allgemein
@@ -870,6 +881,7 @@ settings.store_history = Verlauf speichern
870
881
  settings.store_history_time = Uhrzeit im Verlauf speichern
871
882
  settings.temperature = Temperatur
872
883
  settings.theme.markdown = Verwenden Sie die Designfarben im Chat-Fenste
884
+ settings.theme.style = Stil (Chat)
873
885
  settings.top_p = Top-p
874
886
  settings.upload.data_dir = Przechowuj obrazy, zrzuty ekranu i przesyłane pliki w katalogu danych
875
887
  settings.upload.data_dir.desc = Włącz, aby przechowywać wszystko w jednym katalogu danych
@@ -51,9 +51,12 @@ action.save_selection_as = Save selection as...
51
51
  action.select_all = Select all
52
52
  action.tab.add.chat = Add a new chat
53
53
  action.tab.add.notepad = Add a new notepad
54
+ action.tab.add.tool = Add a new tool
54
55
  action.tab.close = Close
55
56
  action.tab.close_all.chat = Close all chats
56
57
  action.tab.close_all.notepad = Close all notepads
58
+ action.tab.move.left = Move to left column
59
+ action.tab.move.right = Move to right column
57
60
  action.touch = Create file...
58
61
  action.truncate = Truncate
59
62
  action.undo = Undo
@@ -661,7 +664,7 @@ interpreter.clear.confirm = Clear the current window?
661
664
  interpreter.edit = Edit mode
662
665
  interpreter.edit_label.edit = Code (history)
663
666
  interpreter.edit_label.output = Output
664
- interpreter.input.placeholder = Python code to execute...
667
+ interpreter.input.placeholder = Python code to execute...\n\n/restart - restart kernel\n/clear - clear output
665
668
  interpreter.menu.file = File
666
669
  interpreter.menu.file.clear_all = Clear all
667
670
  interpreter.menu.file.clear_history = Clear history
@@ -673,6 +676,7 @@ ipython.docker.build.start = Building Docker image... please wait...
673
676
  ipython.docker.install = Running IPython requires Docker to be installed. Docker was not detected on this system. Please install Docker first; you can find the instructions here: https://docs.docker.com/engine/install/. The execution of the current command has been paused.
674
677
  ipython.docker.install.snap = \n\nSNAP VERSION: \nYou are not connected to built-in Docker daemon. Please connect the slots with:\n\nsudo snap connect pygpt:docker-executables docker:docker-executables\n\nsudo snap connect pygpt:docker docker:docker-daemon\n\n...and restart the application.
675
678
  ipython.image.build = The Docker image for IPython has not been built yet. This will happen now, and it may take a while (but it's a one-time procedure). The execution of the command has been paused. Once the image is built, please execute the command again.
679
+ layout.split = Split screen
676
680
  menu.audio = Audio / Voice
677
681
  menu.audio.cache.clear = Clear audio cache...
678
682
  menu.audio.control.global = Voice control (global)
@@ -709,6 +713,7 @@ menu.debug.logger = Open Logger
709
713
  menu.debug.models = Models...
710
714
  menu.debug.plugins = Plugins...
711
715
  menu.debug.presets = Presets...
716
+ menu.debug.render = Render...
712
717
  menu.debug.tabs = Tabs...
713
718
  menu.debug.ui = UI...
714
719
  menu.file = File
@@ -742,6 +747,7 @@ menu.theme.dark = Dark color...
742
747
  menu.theme.density = Layout size
743
748
  menu.theme.light = Light color...
744
749
  menu.theme.settings = Settings...
750
+ menu.theme.style = Style...
745
751
  menu.theme.syntax = Code syntax highlight...
746
752
  menu.theme.tooltips = Show tooltips
747
753
  menu.tools = Tools
@@ -920,6 +926,12 @@ settings.api_proxy = Proxy address
920
926
  settings.api_proxy.desc = Optional, proxy for OpenAI API, e.g. http://proxy.example.com or socks5://user:pass@host:port
921
927
  settings.app.env = Application environment (os.environ)
922
928
  settings.app.env.desc = Additional environment vars to set on application start
929
+ settings.audio.input.channels = Channels
930
+ settings.audio.input.channels.desc = Input channels, default: 1
931
+ settings.audio.input.device = Audio Input Device
932
+ settings.audio.input.device.desc = Select the audio device for Microphone input.
933
+ settings.audio.input.rate = Sampling Rate
934
+ settings.audio.input.rate.desc = Sampling rate, default: 44100
923
935
  settings.check_updates = Check for Updates on start
924
936
  settings.check_updates.bg = Check for Updates in the background
925
937
  settings.cmd.config.collapse = JSON params
@@ -1079,6 +1091,7 @@ settings.section.access = Accessibility
1079
1091
  settings.section.agent = Agents and experts
1080
1092
  settings.section.agent.legacy = Legacy
1081
1093
  settings.section.agent.llama = LlamaIndex Agents
1094
+ settings.section.audio = Audio
1082
1095
  settings.section.ctx = Context
1083
1096
  settings.section.developer = Developer
1084
1097
  settings.section.files = Files and attachments
@@ -1101,6 +1114,7 @@ settings.store_history = Store history
1101
1114
  settings.store_history_time = Store time in history
1102
1115
  settings.temperature = Temperature
1103
1116
  settings.theme.markdown = Use theme colors in chat window
1117
+ settings.theme.style = Style (chat)
1104
1118
  settings.top_p = Top-p
1105
1119
  settings.upload.data_dir = Store images, captures, and uploads in the data directory
1106
1120
  settings.upload.data_dir.desc = Enable to store everything in a single data directory
@@ -1110,7 +1124,8 @@ settings.use_context = Use context (memory)
1110
1124
  settings.vision.capture.auto = Auto capture
1111
1125
  settings.vision.capture.enabled = Camera
1112
1126
  settings.vision.capture.height = Camera height (px)
1113
- settings.vision.capture.idx = Camera IDX (number)
1127
+ settings.vision.capture.idx = Camera Input Device
1128
+ settings.vision.capture.idx.desc = Video capture camera index (index of the camera, default: 0)
1114
1129
  settings.vision.capture.quality = Capture quality (%%)
1115
1130
  settings.vision.capture.width = Camera width (px)
1116
1131
  settings.zoom = Chat output window zoom
@@ -49,6 +49,8 @@ action.tab.add.notepad = Agregar un nuevo bloc de notas
49
49
  action.tab.close = Cerrar
50
50
  action.tab.close_all.chat = Cerrar todos los chats
51
51
  action.tab.close_all.notepad = Cerrar todos los blocs de notas
52
+ action.tab.move.left = Mover a la columna izquierda
53
+ action.tab.move.right = Mover a la columna derecha
52
54
  action.touch = Crear archivo...
53
55
  action.truncate = Borrar todo
54
56
  action.undo = Deshacer
@@ -547,6 +549,7 @@ ipython.docker.build.finish = ¡Éxito! La imagen de Docker para IPython ha sido
547
549
  ipython.docker.build.start = Construyendo imagen de Docker... por favor espera...
548
550
  ipython.docker.install = Ejecutar IPython requiere que Docker esté instalado. Docker no fue detectado en este sistema. Por favor, instale Docker primero; puede encontrar las instrucciones aquí: https://docs.docker.com/engine/install/. La ejecución del comando actual ha sido pausada.
549
551
  ipython.image.build = La imagen de Docker para IPython aún no ha sido construida. Esto sucederá ahora, y puede tardar un tiempo (pero es un procedimiento único). La ejecución del comando ha sido pausada. Una vez que la imagen esté construida, por favor ejecute el comando nuevamente.
552
+ layout.split = Pantalla dividida
550
553
  menu.audio = Audio / Voz
551
554
  menu.audio.cache.clear = Limpiar caché de audio...
552
555
  menu.audio.control.global = Control de voz (global)
@@ -611,6 +614,7 @@ menu.theme.dark = Color oscuro...
611
614
  menu.theme.density = Tamaño de la disposición
612
615
  menu.theme.light = Color claro...
613
616
  menu.theme.settings = Configuración...
617
+ menu.theme.style = Estilo...
614
618
  menu.theme.syntax = Resaltado de sintaxis del código...
615
619
  menu.theme.tooltips = Mostrar tooltips
616
620
  menu.tools = Herramientas
@@ -752,6 +756,12 @@ settings.api_key = Clave API de OpenAI
752
756
  settings.api_key.desc = Requerido para la API de OpenAI. Si deseas usar puntos finales personalizados o APIs locales, puedes introducir aquí cualquier valor.
753
757
  settings.app.env = Entorno de la aplicación (os.environ)
754
758
  settings.app.env.desc = Variables de entorno adicionales para configurar en el inicio de la aplicación
759
+ settings.audio.input.channels = Canaux
760
+ settings.audio.input.channels.desc = Canaux d'entrée, par défaut : 1
761
+ settings.audio.input.device = Dispositivo de Entrada de Audio
762
+ settings.audio.input.device.desc = Selecciona el dispositivo de audio para la entrada del micrófono.
763
+ settings.audio.input.rate = Taux d'échantillonnage
764
+ settings.audio.input.rate.desc = Taux d'échantillonnage, par défaut : 44100
755
765
  settings.check_updates = Buscar actualizaciones al iniciar
756
766
  settings.check_updates.bg = Buscar actualizaciones en segundo plano
757
767
  settings.cmd.field.desc = Habilitar la herramienta `{cmd}`.
@@ -857,6 +867,7 @@ settings.render.plain = Desactivar el formato markdown en la salida (modo de tex
857
867
  settings.restart.required = Es necesario reiniciar la aplicación para que los cambios en esta opción se apliquen.
858
868
  settings.section.access = Accesibilidad
859
869
  settings.section.agent = Agentes y expertos
870
+ settings.section.audio = Audio
860
871
  settings.section.ctx = Contexto
861
872
  settings.section.files = Archivos y adjuntos
862
873
  settings.section.general = General
@@ -870,6 +881,7 @@ settings.store_history = Almacenar historial
870
881
  settings.store_history_time = Almacenar hora en el historial
871
882
  settings.temperature = Temperatura
872
883
  settings.theme.markdown = Usar colores del tema en la ventana
884
+ settings.theme.style = Estilo (chat)
873
885
  settings.top_p = Top-p
874
886
  settings.upload.data_dir = Almacene imágenes, capturas y subidas en el directorio de datos
875
887
  settings.upload.data_dir.desc = Habilite para almacenar todo en un único directorio de datos