pygpt-net 2.6.26__py3-none-any.whl → 2.6.28__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 (63) hide show
  1. pygpt_net/CHANGELOG.txt +10 -0
  2. pygpt_net/__init__.py +3 -3
  3. pygpt_net/app.py +5 -1
  4. pygpt_net/controller/access/voice.py +3 -5
  5. pygpt_net/controller/audio/audio.py +9 -6
  6. pygpt_net/controller/audio/ui.py +263 -0
  7. pygpt_net/controller/chat/common.py +17 -1
  8. pygpt_net/controller/kernel/kernel.py +2 -0
  9. pygpt_net/controller/notepad/notepad.py +10 -1
  10. pygpt_net/controller/theme/markdown.py +2 -0
  11. pygpt_net/controller/theme/theme.py +4 -1
  12. pygpt_net/controller/ui/tabs.py +5 -0
  13. pygpt_net/core/audio/backend/native.py +114 -82
  14. pygpt_net/core/audio/backend/pyaudio.py +16 -19
  15. pygpt_net/core/audio/backend/pygame.py +12 -15
  16. pygpt_net/core/audio/capture.py +10 -9
  17. pygpt_net/core/audio/context.py +3 -6
  18. pygpt_net/core/command/command.py +2 -0
  19. pygpt_net/core/render/web/helpers.py +13 -3
  20. pygpt_net/core/render/web/renderer.py +3 -3
  21. pygpt_net/data/config/config.json +7 -5
  22. pygpt_net/data/config/models.json +3 -3
  23. pygpt_net/data/config/settings.json +24 -10
  24. pygpt_net/data/css/web-blocks.darkest.css +91 -0
  25. pygpt_net/data/css/web-chatgpt.css +7 -5
  26. pygpt_net/data/css/web-chatgpt.dark.css +5 -2
  27. pygpt_net/data/css/web-chatgpt.darkest.css +91 -0
  28. pygpt_net/data/css/web-chatgpt.light.css +8 -2
  29. pygpt_net/data/css/web-chatgpt_wide.css +7 -4
  30. pygpt_net/data/css/web-chatgpt_wide.dark.css +5 -2
  31. pygpt_net/data/css/web-chatgpt_wide.darkest.css +91 -0
  32. pygpt_net/data/css/web-chatgpt_wide.light.css +9 -6
  33. pygpt_net/data/locale/locale.de.ini +2 -0
  34. pygpt_net/data/locale/locale.en.ini +2 -0
  35. pygpt_net/data/locale/locale.es.ini +2 -0
  36. pygpt_net/data/locale/locale.fr.ini +2 -0
  37. pygpt_net/data/locale/locale.it.ini +2 -0
  38. pygpt_net/data/locale/locale.pl.ini +3 -1
  39. pygpt_net/data/locale/locale.uk.ini +2 -0
  40. pygpt_net/data/locale/locale.zh.ini +2 -0
  41. pygpt_net/data/themes/dark_darkest.css +31 -0
  42. pygpt_net/data/themes/dark_darkest.xml +10 -0
  43. pygpt_net/plugin/audio_input/simple.py +5 -10
  44. pygpt_net/plugin/audio_output/plugin.py +4 -17
  45. pygpt_net/plugin/tuya/__init__.py +12 -0
  46. pygpt_net/plugin/tuya/config.py +256 -0
  47. pygpt_net/plugin/tuya/plugin.py +117 -0
  48. pygpt_net/plugin/tuya/worker.py +588 -0
  49. pygpt_net/plugin/wikipedia/__init__.py +12 -0
  50. pygpt_net/plugin/wikipedia/config.py +228 -0
  51. pygpt_net/plugin/wikipedia/plugin.py +114 -0
  52. pygpt_net/plugin/wikipedia/worker.py +430 -0
  53. pygpt_net/provider/core/config/patch.py +11 -0
  54. pygpt_net/ui/layout/chat/input.py +5 -2
  55. pygpt_net/ui/main.py +1 -2
  56. pygpt_net/ui/widget/audio/bar.py +5 -1
  57. pygpt_net/ui/widget/tabs/output.py +2 -0
  58. pygpt_net/ui/widget/textarea/input.py +483 -55
  59. {pygpt_net-2.6.26.dist-info → pygpt_net-2.6.28.dist-info}/METADATA +78 -35
  60. {pygpt_net-2.6.26.dist-info → pygpt_net-2.6.28.dist-info}/RECORD +63 -49
  61. {pygpt_net-2.6.26.dist-info → pygpt_net-2.6.28.dist-info}/LICENSE +0 -0
  62. {pygpt_net-2.6.26.dist-info → pygpt_net-2.6.28.dist-info}/WHEEL +0 -0
  63. {pygpt_net-2.6.26.dist-info → pygpt_net-2.6.28.dist-info}/entry_points.txt +0 -0
@@ -8,7 +8,7 @@
8
8
  # Created By : Marcin Szczygliński #
9
9
  # Updated Date: 2025.08.24 02:00:00 #
10
10
  # ================================================== #
11
-
11
+ import json
12
12
  import re
13
13
  import html
14
14
 
@@ -155,14 +155,24 @@ class Helpers:
155
155
  s = f'<div class="cmd">&gt; {s}</div>'
156
156
  return s
157
157
 
158
- def format_cmd_text(self, text: str) -> str:
158
+ def format_cmd_text(self, text: str, indent: bool = False) -> str:
159
159
  """
160
160
  Post-format cmd text
161
161
 
162
162
  :param text: text to format
163
+ :param indent: whether to indent text
163
164
  :return: formatted text
164
165
  """
165
- return html.escape(text)
166
+ if not text:
167
+ return ""
168
+ if not indent:
169
+ return html.escape(text)
170
+ else:
171
+ try:
172
+ return html.escape(json.dumps(json.loads(text), indent=2))
173
+ except Exception:
174
+ return html.escape(text)
175
+
166
176
 
167
177
  def format_chunk(self, text: str) -> str:
168
178
  """
@@ -1317,15 +1317,15 @@ class Renderer(BaseRenderer):
1317
1317
  if is_cmd:
1318
1318
  if ctx.results is not None and len(ctx.results) > 0 \
1319
1319
  and isinstance(ctx.extra, dict) and "agent_step" in ctx.extra:
1320
- tool_output = self.helpers.format_cmd_text(str(ctx.input))
1320
+ tool_output = self.helpers.format_cmd_text(str(ctx.input), indent=True)
1321
1321
  output_class = ""
1322
1322
  else:
1323
- tool_output = self.helpers.format_cmd_text(str(next_ctx.input))
1323
+ tool_output = self.helpers.format_cmd_text(str(next_ctx.input), indent=True)
1324
1324
  output_class = ""
1325
1325
 
1326
1326
  elif ctx.results is not None and len(ctx.results) > 0 \
1327
1327
  and isinstance(ctx.extra, dict) and "agent_step" in ctx.extra:
1328
- tool_output = self.helpers.format_cmd_text(str(ctx.input))
1328
+ tool_output = self.helpers.format_cmd_text(str(ctx.input), indent=True)
1329
1329
  else:
1330
1330
  out = (getattr(ctx, "output", "") or "")
1331
1331
  cmds = getattr(ctx, "cmds", ())
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "__meta__": {
3
- "version": "2.6.26",
4
- "app.version": "2.6.26",
5
- "updated_at": "2025-08-26T00:00:00"
3
+ "version": "2.6.28",
4
+ "app.version": "2.6.28",
5
+ "updated_at": "2025-08-27T00:00:00"
6
6
  },
7
7
  "access.audio.event.speech": false,
8
8
  "access.audio.event.speech.disabled": [],
@@ -175,7 +175,9 @@
175
175
  "vision": "",
176
176
  "agent": "",
177
177
  "agent_llama": "",
178
- "expert": ""
178
+ "agent_openai": "",
179
+ "expert": "",
180
+ "computer": ""
179
181
  },
180
182
  "debug": false,
181
183
  "debug.render": false,
@@ -345,7 +347,7 @@
345
347
  "plugins": {},
346
348
  "plugins_enabled": {
347
349
  "agent": false,
348
- "audio_input": false,
350
+ "audio_input": true,
349
351
  "audio_output": false,
350
352
  "cmd_api": false,
351
353
  "cmd_code_interpreter": false,
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "__meta__": {
3
- "version": "2.6.26",
4
- "app.version": "2.6.26",
5
- "updated_at": "2025-08-26T23:07:35"
3
+ "version": "2.6.28",
4
+ "app.version": "2.6.28",
5
+ "updated_at": "2025-08-27T23:07:35"
6
6
  },
7
7
  "items": {
8
8
  "SpeakLeash/bielik-11b-v2.3-instruct:Q4_K_M": {
@@ -1429,7 +1429,20 @@
1429
1429
  "step": 1,
1430
1430
  "advanced": false,
1431
1431
  "tab": "device"
1432
- },
1432
+ },
1433
+ "audio.input.timeout": {
1434
+ "section": "audio",
1435
+ "type": "int",
1436
+ "slider": false,
1437
+ "label": "settings.audio.input.timeout",
1438
+ "description": "settings.audio.input.timeout.desc",
1439
+ "value": 120,
1440
+ "min": 0,
1441
+ "multiplier": 1,
1442
+ "step": 1,
1443
+ "advanced": false,
1444
+ "tab": "options"
1445
+ },
1433
1446
  "audio.input.stop_interval": {
1434
1447
  "section": "audio",
1435
1448
  "type": "int",
@@ -1444,16 +1457,17 @@
1444
1457
  "advanced": false,
1445
1458
  "tab": "options"
1446
1459
  },
1447
- "audio.input.timeout": {
1460
+ "audio.input.continuous": {
1448
1461
  "section": "audio",
1449
- "type": "int",
1462
+ "type": "bool",
1450
1463
  "slider": false,
1451
- "label": "settings.audio.input.timeout",
1452
- "description": "settings.audio.input.timeout.desc",
1453
- "value": 120,
1454
- "min": 0,
1455
- "multiplier": 1,
1456
- "step": 1,
1464
+ "label": "settings.audio.input.continuous",
1465
+ "description": "settings.audio.input.continuous.desc",
1466
+ "value": false,
1467
+ "min": null,
1468
+ "max": null,
1469
+ "multiplier": null,
1470
+ "step": null,
1457
1471
  "advanced": false,
1458
1472
  "tab": "options"
1459
1473
  },
@@ -1469,7 +1483,7 @@
1469
1483
  "step": null,
1470
1484
  "advanced": false,
1471
1485
  "tab": "options"
1472
- },
1486
+ },
1473
1487
  "audio.cache.enabled": {
1474
1488
  "section": "audio",
1475
1489
  "type": "bool",
@@ -0,0 +1,91 @@
1
+ body {{
2
+ color: #fff;
3
+ background-color: #202020;
4
+ }}
5
+ ::-webkit-scrollbar {{
6
+ background: #1c1c1c;
7
+ }}
8
+ ::-webkit-scrollbar-thumb {{
9
+ background: #282828;
10
+ }}
11
+ ::-webkit-scrollbar-thumb:hover {{
12
+ background: #333333;
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
+ color: #cbcbcb;
25
+ }}
26
+ .msg-user p {{
27
+ color: #cbcbcb;
28
+ }}
29
+ .msg-bot {{
30
+ color: #fff;
31
+ }}
32
+ .msg-bot p {{
33
+ color: #fff;
34
+ }}
35
+ .msg-highlight {{
36
+ border: 1px solid #323436;
37
+ background-color: #272a2d;
38
+ }}
39
+ .cmd {{
40
+ color: #4d4d4d;
41
+ }}
42
+ .ts {{
43
+ color: #4d4d4d;
44
+ }}
45
+ .list {{
46
+ }}
47
+ code {{
48
+ color: {QTMATERIAL_PRIMARYLIGHTCOLOR};
49
+ }}
50
+ .code-wrapper {{
51
+ border: 1px solid #1d1f21;
52
+ }}
53
+ .code-header-wrapper {{
54
+ background-color: #1d1f21;
55
+ }}
56
+ .code-header-copy {{
57
+ color: #a0a0a0;
58
+ }}
59
+ .code-header-copy:hover {{
60
+ color: #fff;
61
+ }}
62
+ .code-header-lang {{
63
+ color: #686868;
64
+ }}
65
+ .action-icons a:hover {{
66
+ filter: brightness(130%);
67
+ }}
68
+ .display-blocks {{
69
+ background-color: #31363b;
70
+ }}
71
+ .display-blocks .msg-box {{
72
+ background-color: #232629;
73
+ border: 1px solid gray;
74
+ }}
75
+ .display-blocks .name-bot::before {{
76
+ background-color: {QTMATERIAL_PRIMARYLIGHTCOLOR};
77
+ }}
78
+ .display-blocks .name-user::before {{
79
+ background-color: silver;
80
+ }}
81
+ /* loader */
82
+ .lds-ring {{
83
+ color: #fff;
84
+ }}
85
+
86
+ .tips p {{
87
+ color: #5e5e5e;
88
+ }}
89
+ .msg-box .name-header.name-bot {{
90
+ color: #cfcfcf;
91
+ }}
@@ -55,10 +55,11 @@ p {{
55
55
 
56
56
  /* cmd */
57
57
  .cmd {{
58
- font-family: 'Lato';
58
+ font-family: 'Monaspace Neon';
59
59
  text-decoration: none;
60
+ padding-top: 5px;
60
61
  padding-bottom: 0px;
61
- font-size: 0.8rem;
62
+ font-size: 0.75rem;
62
63
  }}
63
64
 
64
65
  /* lists, code */
@@ -249,13 +250,14 @@ code {{
249
250
  color: gray;
250
251
  }}
251
252
  .tool-output .content {{
253
+ font-family: 'Monaspace Neon';
252
254
  padding: 10px;
253
255
  color: #4d4d4d !important;
254
- font-size: 0.8rem;
256
+ font-size: 0.75rem;
255
257
  }}
256
258
  .tool-output .toggle-cmd-output {{
257
259
  cursor: pointer;
258
- padding-top: 10px;
260
+ padding-top: 0px;
259
261
  display: block;
260
262
  color: gray;
261
263
  }}
@@ -308,7 +310,7 @@ code {{
308
310
  height: 150px;
309
311
  margin: 0;
310
312
  margin-bottom: 0px !important;
311
- border-radius: 5px;
313
+ border-radius: 0;
312
314
  width: auto;
313
315
  }}
314
316
  .extra-src-img-box .img-wrapper:hover {{
@@ -18,7 +18,7 @@ p {{
18
18
  color: #fff;
19
19
  }}
20
20
  a {{
21
- color: #a1b5c4 !important;
21
+ color: #b5c3cd !important;
22
22
  }}
23
23
  a:hover {{
24
24
  color: #b8cad7 !important;
@@ -37,7 +37,7 @@ a:hover {{
37
37
  color: #fff;
38
38
  }}
39
39
  .cmd {{
40
- color: #4d4d4d;
40
+ color: #4d4d4d !important;
41
41
  }}
42
42
  .ts {{
43
43
  color: #4d4d4d;
@@ -71,6 +71,9 @@ code {{
71
71
  .name-user::before {{
72
72
  background-color: silver;
73
73
  }}
74
+ .tool-output .content {{
75
+ color: #4d4d4d !important;
76
+ }}
74
77
 
75
78
  /* loader */
76
79
  .lds-ring {{
@@ -0,0 +1,91 @@
1
+ body {{
2
+ color: #fff;
3
+ background-color: #202020;
4
+ }}
5
+ ::-webkit-scrollbar {{
6
+ background: #1c1c1c;
7
+ }}
8
+ ::-webkit-scrollbar-thumb {{
9
+ background: #282828;
10
+ }}
11
+ ::-webkit-scrollbar-thumb:hover {{
12
+ background: #333333;
13
+ }}
14
+ ::-webkit-scrollbar-corner {{
15
+ background: #232629;
16
+ }}
17
+ p {{
18
+ color: #fff;
19
+ }}
20
+ a {{
21
+ color: #b5c3cd !important;
22
+ }}
23
+ a:hover {{
24
+ color: #b8cad7 !important;
25
+ }}
26
+ .msg-user {{
27
+ background: #303030;
28
+ color: #fff;
29
+ }}
30
+ .msg-user p {{
31
+ color: #fff;
32
+ }}
33
+ .msg-bot {{
34
+ color: #fff;
35
+ }}
36
+ .msg-bot p {{
37
+ color: #fff;
38
+ }}
39
+ .cmd {{
40
+ color: #4d4d4d !important;
41
+ }}
42
+ .ts {{
43
+ color: #4d4d4d;
44
+ }}
45
+ .list {{
46
+ }}
47
+ code {{
48
+ color: {QTMATERIAL_PRIMARYLIGHTCOLOR};
49
+ }}
50
+ .code-header-wrapper {{
51
+ background-color: #303030;
52
+ }}
53
+ .code-header-action {{
54
+ color: silver !important;
55
+ }}
56
+ .code-header-action:hover {{
57
+ color: #fff;
58
+ }}
59
+ .code-header-action:hover img {{
60
+ filter: brightness(130%);
61
+ }}
62
+ .code-header-lang {{
63
+ color: #686868;
64
+ }}
65
+ .action-icons a:hover {{
66
+ filter: brightness(130%);
67
+ }}
68
+ .name-bot::before {{
69
+ background-color: {QTMATERIAL_PRIMARYLIGHTCOLOR};
70
+ }}
71
+ .name-user::before {{
72
+ background-color: silver;
73
+ }}
74
+ .tool-output .content {{
75
+ color: #4d4d4d !important;
76
+ }}
77
+
78
+ /* loader */
79
+ .lds-ring {{
80
+ color: #fff;
81
+ }}
82
+ .append_live {{
83
+ color: gray;
84
+ }}
85
+
86
+ .tips p {{
87
+ color: #5e5e5e;
88
+ }}
89
+ .msg-box .name-header.name-bot {{
90
+ color: #cfcfcf;
91
+ }}
@@ -18,7 +18,10 @@ p {{
18
18
  color: #000;
19
19
  }}
20
20
  a {{
21
- color: #3b7097 !important;
21
+ color: #2b4e67 !important;
22
+ }}
23
+ a:hover {{
24
+ color: #426f90 !important;
22
25
  }}
23
26
  .msg-user {{
24
27
  color: #000;
@@ -33,7 +36,7 @@ a {{
33
36
  color: #000;
34
37
  }}
35
38
  .cmd {{
36
- color: #4d4d4d;
39
+ color: #888787 !important;
37
40
  text-decoration: none;
38
41
  }}
39
42
  .ts {{
@@ -76,6 +79,9 @@ code {{
76
79
  .action-icons a:hover {{
77
80
  filter: brightness(60%);
78
81
  }}
82
+ .tool-output .content {{
83
+ color: #888787 !important;
84
+ }}
79
85
 
80
86
  /* loader */
81
87
  .lds-ring {{
@@ -55,10 +55,11 @@ p {{
55
55
 
56
56
  /* cmd */
57
57
  .cmd {{
58
- font-family: 'Lato';
58
+ font-family: 'Monaspace Neon';
59
59
  text-decoration: none;
60
+ padding-top: 5px;
60
61
  padding-bottom: 0px;
61
- font-size: 0.8rem;
62
+ font-size: 0.75rem;
62
63
  }}
63
64
 
64
65
  /* lists, code */
@@ -245,12 +246,14 @@ code {{
245
246
  color: gray;
246
247
  }}
247
248
  .tool-output .content {{
249
+ font-family: 'Monaspace Neon';
248
250
  padding: 10px;
249
251
  color: gray !important;
252
+ font-size: 0.75rem;
250
253
  }}
251
254
  .tool-output .toggle-cmd-output {{
252
255
  cursor: pointer;
253
- padding-top: 10px;
256
+ padding-top: 0px;
254
257
  display: block;
255
258
  color: gray;
256
259
  }}
@@ -303,7 +306,7 @@ code {{
303
306
  height: 150px;
304
307
  margin: 0;
305
308
  margin-bottom: 0px !important;
306
- border-radius: 5px;
309
+ border-radius: 0;
307
310
  width: auto;
308
311
  }}
309
312
  .extra-src-img-box .img-wrapper:hover {{
@@ -18,7 +18,7 @@ p {{
18
18
  color: #fff;
19
19
  }}
20
20
  a {{
21
- color: #a1b5c4 !important;
21
+ color: #b5c3cd !important;
22
22
  }}
23
23
  a:hover {{
24
24
  color: #b8cad7 !important;
@@ -37,7 +37,7 @@ a:hover {{
37
37
  color: #fff;
38
38
  }}
39
39
  .cmd {{
40
- color: #4d4d4d;
40
+ color: #4d4d4d !important;
41
41
  }}
42
42
  .ts {{
43
43
  color: #4d4d4d;
@@ -71,6 +71,9 @@ code {{
71
71
  .name-user::before {{
72
72
  background-color: silver;
73
73
  }}
74
+ .tool-output .content {{
75
+ color: #4d4d4d !important;
76
+ }}
74
77
 
75
78
  /* loader */
76
79
  .lds-ring {{
@@ -0,0 +1,91 @@
1
+ body {{
2
+ color: #fff;
3
+ background-color: #202020;
4
+ }}
5
+ ::-webkit-scrollbar {{
6
+ background: #1c1c1c;
7
+ }}
8
+ ::-webkit-scrollbar-thumb {{
9
+ background: #282828;
10
+ }}
11
+ ::-webkit-scrollbar-thumb:hover {{
12
+ background: #333333;
13
+ }}
14
+ ::-webkit-scrollbar-corner {{
15
+ background: #232629;
16
+ }}
17
+ p {{
18
+ color: #fff;
19
+ }}
20
+ a {{
21
+ color: #b5c3cd !important;
22
+ }}
23
+ a:hover {{
24
+ color: #b8cad7 !important;
25
+ }}
26
+ .msg-user {{
27
+ background: #303030;
28
+ color: #fff;
29
+ }}
30
+ .msg-user p {{
31
+ color: #fff;
32
+ }}
33
+ .msg-bot {{
34
+ color: #fff;
35
+ }}
36
+ .msg-bot p {{
37
+ color: #fff;
38
+ }}
39
+ .cmd {{
40
+ color: #4d4d4d !important;
41
+ }}
42
+ .ts {{
43
+ color: #4d4d4d;
44
+ }}
45
+ .list {{
46
+ }}
47
+ code {{
48
+ color: {QTMATERIAL_PRIMARYLIGHTCOLOR};
49
+ }}
50
+ .code-header-wrapper {{
51
+ background-color: #303030;
52
+ }}
53
+ .code-header-action {{
54
+ color: silver !important;
55
+ }}
56
+ .code-header-action:hover {{
57
+ color: #fff;
58
+ }}
59
+ .code-header-action:hover img {{
60
+ filter: brightness(130%);
61
+ }}
62
+ .code-header-lang {{
63
+ color: #686868;
64
+ }}
65
+ .action-icons a:hover {{
66
+ filter: brightness(130%);
67
+ }}
68
+ .name-bot::before {{
69
+ background-color: {QTMATERIAL_PRIMARYLIGHTCOLOR};
70
+ }}
71
+ .name-user::before {{
72
+ background-color: silver;
73
+ }}
74
+ .tool-output .content {{
75
+ color: #4d4d4d !important;
76
+ }}
77
+
78
+ /* loader */
79
+ .lds-ring {{
80
+ color: #fff;
81
+ }}
82
+ .append_live {{
83
+ color: gray;
84
+ }}
85
+
86
+ .tips p {{
87
+ color: #5e5e5e;
88
+ }}
89
+ .msg-box .name-header.name-bot {{
90
+ color: #cfcfcf;
91
+ }}
@@ -18,9 +18,13 @@ p {{
18
18
  color: #000;
19
19
  }}
20
20
  a {{
21
- color: #3b7097 !important;
21
+ color: #2b4e67 !important;
22
+ }}
23
+ a:hover {{
24
+ color: #426f90 !important;
22
25
  }}
23
26
  .msg-user {{
27
+ background-color: #f3f3f3;
24
28
  color: #000;
25
29
  }}
26
30
  .msg-user p {{
@@ -33,7 +37,7 @@ a {{
33
37
  color: #000;
34
38
  }}
35
39
  .cmd {{
36
- color: #4d4d4d;
40
+ color: #888787 !important;
37
41
  text-decoration: none;
38
42
  }}
39
43
  .ts {{
@@ -63,10 +67,6 @@ code {{
63
67
  .code-header-lang {{
64
68
  color: #5c5c5c;
65
69
  }}
66
- .msg-user {{
67
- background-color: #f3f3f3;
68
- color: #000;
69
- }}
70
70
  .name-bot::before {{
71
71
  background-color: #6b6b6b;
72
72
  }}
@@ -76,6 +76,9 @@ code {{
76
76
  .action-icons a:hover {{
77
77
  filter: brightness(60%);
78
78
  }}
79
+ .tool-output .content {{
80
+ color: #888787 !important;
81
+ }}
79
82
 
80
83
  /* loader */
81
84
  .lds-ring {{
@@ -1116,6 +1116,8 @@ settings.audio.input.backend = Backend für Audioeingabe
1116
1116
  settings.audio.input.backend.desc = Wählen Sie das Backend für die Audioeingabe.
1117
1117
  settings.audio.input.channels = Kanäle
1118
1118
  settings.audio.input.channels.desc = Eingabekanäle, Standard: 1
1119
+ settings.audio.input.continuous = Kontinuierliche Audioaufnahme (Stücke)
1120
+ settings.audio.input.continuous.desc = Aktivieren Sie die Aufnahme in Stücken für lange Audioaufnahmen im Notizblock (Sprachnotizen).
1119
1121
  settings.audio.input.device = Gerät für Audioeingabe
1120
1122
  settings.audio.input.device.desc = Wählen Sie das Gerät für Mikrofoneingang.
1121
1123
  settings.audio.input.rate = Abtastrate
@@ -1134,6 +1134,8 @@ settings.audio.input.backend = Audio Input Backend
1134
1134
  settings.audio.input.backend.desc = Select the audio input backend.
1135
1135
  settings.audio.input.channels = Channels
1136
1136
  settings.audio.input.channels.desc = Input channels, default: 1
1137
+ settings.audio.input.continuous = Continuous Audio Recording (Chunks)
1138
+ settings.audio.input.continuous.desc = Enable recording in chunks for long audio recordings in notepad (voice notes).
1137
1139
  settings.audio.input.device = Audio Input Device
1138
1140
  settings.audio.input.device.desc = Select the audio device for Microphone input.
1139
1141
  settings.audio.input.rate = Sampling Rate
@@ -1117,6 +1117,8 @@ settings.audio.input.backend = Backend para la entrada de audio
1117
1117
  settings.audio.input.backend.desc = Selecciona el backend para la entrada de audio.
1118
1118
  settings.audio.input.channels = Canaux
1119
1119
  settings.audio.input.channels.desc = Canaux d'entrée, par défaut : 1
1120
+ settings.audio.input.continuous = Grabación de Audio Continua (Fragmentos)
1121
+ settings.audio.input.continuous.desc = Habilitar grabación en fragmentos para grabaciones de audio largas en el bloc de notas (notas de voz).
1120
1122
  settings.audio.input.device = Dispositivo para la entrada de audio
1121
1123
  settings.audio.input.device.desc = Selecciona el dispositivo para la entrada del micrófono.
1122
1124
  settings.audio.input.rate = Taux d'échantillonnage
@@ -1116,6 +1116,8 @@ settings.audio.input.backend = Backend pour l'entrée audio
1116
1116
  settings.audio.input.backend.desc = Sélectionnez le backend pour l'entrée audio.
1117
1117
  settings.audio.input.channels = Canaux
1118
1118
  settings.audio.input.channels.desc = Canaux d'entrée, par défaut : 1
1119
+ settings.audio.input.continuous = Enregistrement Audio Continu (Morceaux)
1120
+ settings.audio.input.continuous.desc = Activer l'enregistrement en morceaux pour les longs enregistrements audio dans le bloc-notes (notes vocales).
1119
1121
  settings.audio.input.device = Périphérique pour l'entrée audio
1120
1122
  settings.audio.input.device.desc = Sélectionnez le périphérique pour l'entrée du microphone.
1121
1123
  settings.audio.input.rate = Taux d'échantillonnage
@@ -1116,6 +1116,8 @@ settings.audio.input.backend = Backend per l'ingresso audio
1116
1116
  settings.audio.input.backend.desc = Seleziona il backend per l'ingresso audio.
1117
1117
  settings.audio.input.channels = Canali
1118
1118
  settings.audio.input.channels.desc = Canali di ingresso, predefinito: 1
1119
+ settings.audio.input.continuous = Registrazione Audio Continua (Pezzi)
1120
+ settings.audio.input.continuous.desc = Abilita la registrazione a pezzi per lunghe registrazioni audio nei blocchi note (note vocali).
1119
1121
  settings.audio.input.device = Dispositivo per l'ingresso audio
1120
1122
  settings.audio.input.device.desc = Seleziona il dispositivo per l'ingresso del microfono.
1121
1123
  settings.audio.input.rate = Frequenza di campionamento