pygpt-net 2.7.4__py3-none-any.whl → 2.7.5__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 (133) hide show
  1. pygpt_net/CHANGELOG.txt +7 -0
  2. pygpt_net/__init__.py +3 -3
  3. pygpt_net/app_core.py +4 -2
  4. pygpt_net/controller/__init__.py +5 -1
  5. pygpt_net/controller/assistant/assistant.py +1 -4
  6. pygpt_net/controller/assistant/batch.py +5 -504
  7. pygpt_net/controller/assistant/editor.py +5 -5
  8. pygpt_net/controller/assistant/files.py +16 -16
  9. pygpt_net/controller/chat/handler/google_stream.py +307 -1
  10. pygpt_net/controller/chat/handler/worker.py +8 -1
  11. pygpt_net/controller/chat/image.py +2 -2
  12. pygpt_net/controller/dialogs/confirm.py +73 -101
  13. pygpt_net/controller/lang/mapping.py +9 -9
  14. pygpt_net/controller/painter/capture.py +50 -1
  15. pygpt_net/controller/presets/presets.py +2 -1
  16. pygpt_net/controller/remote_store/__init__.py +12 -0
  17. pygpt_net/{provider/core/assistant_file/db_sqlite → controller/remote_store/google}/__init__.py +2 -2
  18. pygpt_net/controller/remote_store/google/batch.py +402 -0
  19. pygpt_net/controller/remote_store/google/store.py +615 -0
  20. pygpt_net/controller/remote_store/openai/__init__.py +12 -0
  21. pygpt_net/controller/remote_store/openai/batch.py +524 -0
  22. pygpt_net/controller/{assistant → remote_store/openai}/store.py +63 -60
  23. pygpt_net/controller/remote_store/remote_store.py +35 -0
  24. pygpt_net/controller/ui/ui.py +20 -1
  25. pygpt_net/core/assistants/assistants.py +3 -15
  26. pygpt_net/core/db/database.py +5 -3
  27. pygpt_net/core/locale/placeholder.py +35 -0
  28. pygpt_net/core/remote_store/__init__.py +12 -0
  29. pygpt_net/core/remote_store/google/__init__.py +11 -0
  30. pygpt_net/core/remote_store/google/files.py +224 -0
  31. pygpt_net/core/remote_store/google/store.py +248 -0
  32. pygpt_net/core/remote_store/openai/__init__.py +11 -0
  33. pygpt_net/core/{assistants → remote_store/openai}/files.py +26 -19
  34. pygpt_net/core/{assistants → remote_store/openai}/store.py +32 -15
  35. pygpt_net/core/remote_store/remote_store.py +24 -0
  36. pygpt_net/data/config/config.json +8 -4
  37. pygpt_net/data/config/models.json +77 -3
  38. pygpt_net/data/config/settings.json +45 -0
  39. pygpt_net/data/locale/locale.de.ini +41 -41
  40. pygpt_net/data/locale/locale.en.ini +53 -43
  41. pygpt_net/data/locale/locale.es.ini +41 -41
  42. pygpt_net/data/locale/locale.fr.ini +41 -41
  43. pygpt_net/data/locale/locale.it.ini +41 -41
  44. pygpt_net/data/locale/locale.pl.ini +42 -42
  45. pygpt_net/data/locale/locale.uk.ini +41 -41
  46. pygpt_net/data/locale/locale.zh.ini +41 -41
  47. pygpt_net/data/locale/plugin.cmd_history.de.ini +1 -1
  48. pygpt_net/data/locale/plugin.cmd_history.en.ini +1 -1
  49. pygpt_net/data/locale/plugin.cmd_history.es.ini +1 -1
  50. pygpt_net/data/locale/plugin.cmd_history.fr.ini +1 -1
  51. pygpt_net/data/locale/plugin.cmd_history.it.ini +1 -1
  52. pygpt_net/data/locale/plugin.cmd_history.pl.ini +1 -1
  53. pygpt_net/data/locale/plugin.cmd_history.uk.ini +1 -1
  54. pygpt_net/data/locale/plugin.cmd_history.zh.ini +1 -1
  55. pygpt_net/data/locale/plugin.cmd_mouse_control.en.ini +14 -0
  56. pygpt_net/data/locale/plugin.cmd_web.de.ini +1 -1
  57. pygpt_net/data/locale/plugin.cmd_web.en.ini +1 -1
  58. pygpt_net/data/locale/plugin.cmd_web.es.ini +1 -1
  59. pygpt_net/data/locale/plugin.cmd_web.fr.ini +1 -1
  60. pygpt_net/data/locale/plugin.cmd_web.it.ini +1 -1
  61. pygpt_net/data/locale/plugin.cmd_web.pl.ini +1 -1
  62. pygpt_net/data/locale/plugin.cmd_web.uk.ini +1 -1
  63. pygpt_net/data/locale/plugin.cmd_web.zh.ini +1 -1
  64. pygpt_net/data/locale/plugin.idx_llama_index.de.ini +2 -2
  65. pygpt_net/data/locale/plugin.idx_llama_index.en.ini +2 -2
  66. pygpt_net/data/locale/plugin.idx_llama_index.es.ini +2 -2
  67. pygpt_net/data/locale/plugin.idx_llama_index.fr.ini +2 -2
  68. pygpt_net/data/locale/plugin.idx_llama_index.it.ini +2 -2
  69. pygpt_net/data/locale/plugin.idx_llama_index.pl.ini +2 -2
  70. pygpt_net/data/locale/plugin.idx_llama_index.uk.ini +2 -2
  71. pygpt_net/data/locale/plugin.idx_llama_index.zh.ini +2 -2
  72. pygpt_net/item/assistant.py +1 -211
  73. pygpt_net/item/ctx.py +3 -1
  74. pygpt_net/item/store.py +238 -0
  75. pygpt_net/migrations/Version20260102190000.py +35 -0
  76. pygpt_net/migrations/__init__.py +3 -1
  77. pygpt_net/plugin/cmd_mouse_control/config.py +470 -1
  78. pygpt_net/plugin/cmd_mouse_control/plugin.py +488 -22
  79. pygpt_net/plugin/cmd_mouse_control/worker.py +464 -87
  80. pygpt_net/plugin/cmd_mouse_control/worker_sandbox.py +729 -0
  81. pygpt_net/plugin/idx_llama_index/config.py +2 -2
  82. pygpt_net/provider/api/google/__init__.py +16 -54
  83. pygpt_net/provider/api/google/chat.py +546 -129
  84. pygpt_net/provider/api/google/computer.py +190 -0
  85. pygpt_net/provider/api/google/realtime/realtime.py +2 -2
  86. pygpt_net/provider/api/google/remote_tools.py +93 -0
  87. pygpt_net/provider/api/google/store.py +546 -0
  88. pygpt_net/provider/api/google/worker/__init__.py +0 -0
  89. pygpt_net/provider/api/google/worker/importer.py +392 -0
  90. pygpt_net/provider/api/openai/computer.py +10 -1
  91. pygpt_net/provider/api/openai/store.py +6 -6
  92. pygpt_net/provider/api/openai/worker/importer.py +24 -24
  93. pygpt_net/provider/core/config/patch.py +16 -1
  94. pygpt_net/provider/core/config/patches/patch_before_2_6_42.py +3 -3
  95. pygpt_net/provider/core/model/patch.py +17 -3
  96. pygpt_net/provider/core/preset/json_file.py +13 -7
  97. pygpt_net/provider/core/{assistant_file → remote_file}/__init__.py +1 -1
  98. pygpt_net/provider/core/{assistant_file → remote_file}/base.py +9 -9
  99. pygpt_net/provider/core/remote_file/db_sqlite/__init__.py +12 -0
  100. pygpt_net/provider/core/{assistant_file → remote_file}/db_sqlite/patch.py +1 -1
  101. pygpt_net/provider/core/{assistant_file → remote_file}/db_sqlite/provider.py +23 -20
  102. pygpt_net/provider/core/{assistant_file → remote_file}/db_sqlite/storage.py +35 -27
  103. pygpt_net/provider/core/{assistant_file → remote_file}/db_sqlite/utils.py +5 -4
  104. pygpt_net/provider/core/{assistant_store → remote_store}/__init__.py +1 -1
  105. pygpt_net/provider/core/{assistant_store → remote_store}/base.py +10 -10
  106. pygpt_net/provider/core/{assistant_store → remote_store}/db_sqlite/__init__.py +1 -1
  107. pygpt_net/provider/core/{assistant_store → remote_store}/db_sqlite/patch.py +1 -1
  108. pygpt_net/provider/core/{assistant_store → remote_store}/db_sqlite/provider.py +16 -15
  109. pygpt_net/provider/core/{assistant_store → remote_store}/db_sqlite/storage.py +30 -23
  110. pygpt_net/provider/core/{assistant_store → remote_store}/db_sqlite/utils.py +5 -4
  111. pygpt_net/provider/core/{assistant_store → remote_store}/json_file.py +9 -9
  112. pygpt_net/provider/llms/google.py +2 -2
  113. pygpt_net/ui/base/config_dialog.py +3 -2
  114. pygpt_net/ui/dialog/assistant.py +3 -3
  115. pygpt_net/ui/dialog/plugins.py +3 -1
  116. pygpt_net/ui/dialog/remote_store_google.py +539 -0
  117. pygpt_net/ui/dialog/{assistant_store.py → remote_store_openai.py} +95 -95
  118. pygpt_net/ui/dialogs.py +5 -3
  119. pygpt_net/ui/layout/chat/attachments_uploaded.py +3 -3
  120. pygpt_net/ui/layout/toolbox/computer_env.py +26 -8
  121. pygpt_net/ui/menu/tools.py +13 -5
  122. pygpt_net/ui/widget/dialog/remote_store_google.py +56 -0
  123. pygpt_net/ui/widget/dialog/{assistant_store.py → remote_store_openai.py} +9 -9
  124. pygpt_net/ui/widget/element/button.py +4 -4
  125. pygpt_net/ui/widget/lists/remote_store_google.py +248 -0
  126. pygpt_net/ui/widget/lists/{assistant_store.py → remote_store_openai.py} +21 -21
  127. pygpt_net/ui/widget/option/checkbox_list.py +47 -9
  128. pygpt_net/ui/widget/option/combo.py +39 -3
  129. {pygpt_net-2.7.4.dist-info → pygpt_net-2.7.5.dist-info}/METADATA +33 -2
  130. {pygpt_net-2.7.4.dist-info → pygpt_net-2.7.5.dist-info}/RECORD +133 -108
  131. {pygpt_net-2.7.4.dist-info → pygpt_net-2.7.5.dist-info}/LICENSE +0 -0
  132. {pygpt_net-2.7.4.dist-info → pygpt_net-2.7.5.dist-info}/WHEEL +0 -0
  133. {pygpt_net-2.7.4.dist-info → pygpt_net-2.7.5.dist-info}/entry_points.txt +0 -0
@@ -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: 2024.12.14 08:00:00 #
9
+ # Updated Date: 2026.01.02 20:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  import datetime
@@ -14,24 +14,31 @@ from typing import Optional, List, Dict, Any
14
14
 
15
15
  from packaging.version import Version
16
16
 
17
- from pygpt_net.item.assistant import AssistantStoreItem, AssistantItem
18
- from pygpt_net.provider.core.assistant_store.db_sqlite import DbSqliteProvider
17
+ from pygpt_net.item.store import RemoteStoreItem
18
+ from pygpt_net.provider.core.remote_store.db_sqlite import DbSqliteProvider
19
+
20
+ from .files import Files
19
21
 
20
22
 
21
23
  class Store:
24
+
25
+ PROVIDER_NAME = "openai"
26
+
22
27
  def __init__(self, window=None):
23
28
  """
24
- Assistant vector store core
29
+ OpenAI vector store core
25
30
 
26
31
  :param window: Window instance
27
32
  """
28
33
  self.window = window
29
34
  self.provider = DbSqliteProvider(window)
35
+ self.files = Files(window)
30
36
  self.items = {}
31
37
 
32
38
  def install(self):
33
39
  """Install provider data"""
34
40
  self.provider.install()
41
+ self.files.install()
35
42
 
36
43
  def patch(self, app_version: Version) -> bool:
37
44
  """
@@ -40,9 +47,11 @@ class Store:
40
47
  :param app_version: app version
41
48
  :return: True if data was patched
42
49
  """
43
- return self.provider.patch(app_version)
50
+ res1 = self.files.patch(app_version)
51
+ res2 = self.provider.patch(app_version)
52
+ return res1 or res2
44
53
 
45
- def get(self, id: str) -> AssistantStoreItem:
54
+ def get(self, id: str) -> RemoteStoreItem:
46
55
  """
47
56
  Get store item by store_id
48
57
 
@@ -61,7 +70,7 @@ class Store:
61
70
  return list(self.items.keys())
62
71
 
63
72
 
64
- def get_all(self) -> Dict[str, AssistantStoreItem]:
73
+ def get_all(self) -> Dict[str, RemoteStoreItem]:
65
74
  """
66
75
  Return all stores
67
76
 
@@ -99,7 +108,7 @@ class Store:
99
108
  """
100
109
  return id in self.items
101
110
 
102
- def create(self) -> Optional[AssistantStoreItem]:
111
+ def create(self) -> Optional[RemoteStoreItem]:
103
112
  """
104
113
  Create new store
105
114
 
@@ -109,15 +118,16 @@ class Store:
109
118
  vector_store = self.window.core.api.openai.store.create_store(name, 0)
110
119
  if vector_store is None:
111
120
  return None
112
- store = AssistantStoreItem()
121
+ store = RemoteStoreItem()
113
122
  store.id = vector_store.id
114
123
  store.name = name
124
+ store.provider = self.PROVIDER_NAME
115
125
  store.is_thread = False
116
126
  store.record_id = self.provider.create(store)
117
127
  self.items[store.id] = store
118
128
  return store
119
129
 
120
- def update(self, store: AssistantStoreItem) -> Optional[AssistantStoreItem]:
130
+ def update(self, store: RemoteStoreItem) -> Optional[RemoteStoreItem]:
121
131
  """
122
132
  Update store
123
133
 
@@ -184,12 +194,13 @@ class Store:
184
194
  if tmp_name is None:
185
195
  tmp_name = ""
186
196
  store.name = tmp_name
197
+ store.provider = self.PROVIDER_NAME
187
198
  self.append_status(store, status) # append to store
188
199
  self.update(store) # save to db
189
200
 
190
201
  def append_status(
191
202
  self,
192
- store: AssistantStoreItem,
203
+ store: RemoteStoreItem,
193
204
  status: Dict[str, Any]
194
205
  ):
195
206
  """
@@ -241,7 +252,7 @@ class Store:
241
252
  return True
242
253
  return False
243
254
 
244
- def import_items(self, items: Dict[str, AssistantStoreItem]):
255
+ def import_items(self, items: Dict[str, RemoteStoreItem]):
245
256
  """
246
257
  Insert items
247
258
 
@@ -249,6 +260,7 @@ class Store:
249
260
  """
250
261
  self.items = items
251
262
  for item in items.values():
263
+ item.provider = self.PROVIDER_NAME
252
264
  item.record_id = self.provider.create(item)
253
265
 
254
266
  def clear(self):
@@ -263,7 +275,7 @@ class Store:
263
275
  :return: True if store is hidden
264
276
  """
265
277
  if id in self.items:
266
- if (self.window.core.config.get("assistant.store.hide_threads")
278
+ if (self.window.core.config.get("remote_store.openai.hide_threads")
267
279
  and (self.items[id].name is None or self.items[id].name == "")):
268
280
  return True
269
281
  return False
@@ -274,15 +286,20 @@ class Store:
274
286
 
275
287
  :return: True if truncated
276
288
  """
277
- self.provider.truncate()
289
+ self.provider.truncate(self.PROVIDER_NAME)
278
290
  self.items = {}
279
291
  return True
280
292
 
281
293
  def load(self):
282
294
  """Load store"""
283
- self.items = self.provider.load_all()
295
+ self.items = self.provider.load_all(self.PROVIDER_NAME)
284
296
  self.sort_items()
285
297
 
298
+ def load_all(self):
299
+ """Load store"""
300
+ self.load()
301
+ self.files.load()
302
+
286
303
  def sort_items(self):
287
304
  """Sort items"""
288
305
  pass
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+ # ================================================== #
4
+ # This file is a part of PYGPT package #
5
+ # Website: https://pygpt.net #
6
+ # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
+ # MIT License #
8
+ # Created By : Marcin Szczygliński #
9
+ # Updated Date: 2026.01.02 20:00:00 #
10
+ # ================================================== #
11
+
12
+ from .openai import Store as OpenAIStore
13
+ from .google import Store as GoogleStore
14
+
15
+ class RemoteStore:
16
+ def __init__(self, window=None):
17
+ """
18
+ Remote vector stores core
19
+
20
+ :param window: Window instance
21
+ """
22
+ self.window = window
23
+ self.openai = OpenAIStore(self.window)
24
+ self.google = GoogleStore(self.window)
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "__meta__": {
3
- "version": "2.7.4",
4
- "app.version": "2.7.4",
5
- "updated_at": "2025-12-31T00:00:00"
3
+ "version": "2.7.5",
4
+ "app.version": "2.7.5",
5
+ "updated_at": "2026-01-03T00:00:00"
6
6
  },
7
7
  "access.audio.event.speech": false,
8
8
  "access.audio.event.speech.disabled": [],
@@ -106,7 +106,7 @@
106
106
  }
107
107
  ],
108
108
  "assistant": "",
109
- "assistant.store.hide_threads": true,
109
+ "remote_store.openai.hide_threads": true,
110
110
  "assistant_thread": "",
111
111
  "attachments_auto_index": true,
112
112
  "attachments_capture_clear": true,
@@ -419,10 +419,14 @@
419
419
  "remote_tools.anthropic.web_search": true,
420
420
  "remote_tools.code_interpreter": false,
421
421
  "remote_tools.computer_use.env": "",
422
+ "remote_tools.computer_use.sandbox": false,
422
423
  "remote_tools.file_search": false,
423
424
  "remote_tools.file_search.args": "",
424
425
  "remote_tools.global.web_search": true,
425
426
  "remote_tools.google.code_interpreter": false,
427
+ "remote_tools.google.file_search": false,
428
+ "remote_tools.google.file_search.args": "",
429
+ "remote_tools.google.maps": false,
426
430
  "remote_tools.google.url_ctx": false,
427
431
  "remote_tools.google.web_search": true,
428
432
  "remote_tools.image": false,
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "__meta__": {
3
- "version": "2.7.4",
4
- "app.version": "2.7.4",
5
- "updated_at": "2025-12-31T00:00:00"
3
+ "version": "2.7.5",
4
+ "app.version": "2.7.5",
5
+ "updated_at": "2026-01-03T00:00:00"
6
6
  },
7
7
  "items": {
8
8
  "SpeakLeash/bielik-11b-v2.3-instruct:Q4_K_M": {
@@ -570,6 +570,44 @@
570
570
  "provider": "openai",
571
571
  "tool_calls": false
572
572
  },
573
+ "deep-research-pro-preview-12-2025": {
574
+ "id": "deep-research-pro-preview-12-2025",
575
+ "name": "deep-research-pro-preview-12-2025",
576
+ "mode": [
577
+ "research"
578
+ ],
579
+ "llama_index": {
580
+ "args": [
581
+ {
582
+ "name": "model",
583
+ "value": "models/deep-research-pro-preview-12-2025",
584
+ "type": "str"
585
+ }
586
+ ],
587
+ "env": [
588
+ {
589
+ "name": "GOOGLE_API_KEY",
590
+ "value": "{api_key_google}",
591
+ "type": "str"
592
+ }
593
+ ]
594
+ },
595
+ "ctx": 1000000,
596
+ "tokens": 0,
597
+ "default": false,
598
+ "input": [
599
+ "text",
600
+ "image"
601
+ ],
602
+ "output": [
603
+ "text",
604
+ "image"
605
+ ],
606
+ "extra": {},
607
+ "imported": false,
608
+ "provider": "google",
609
+ "tool_calls": true
610
+ },
573
611
  "deepseek_api_reasoner": {
574
612
  "id": "deepseek-reasoner",
575
613
  "name": "DeepSeek API (R1, reasoner)",
@@ -912,6 +950,42 @@
912
950
  "provider": "google",
913
951
  "tool_calls": true
914
952
  },
953
+ "gemini-2.5-computer-use-preview-10-2025": {
954
+ "id": "gemini-2.5-computer-use-preview-10-2025",
955
+ "name": "gemini-2.5-computer-use-preview-10-2025",
956
+ "mode": [
957
+ "computer"
958
+ ],
959
+ "llama_index": {
960
+ "args": [
961
+ {
962
+ "name": "model",
963
+ "value": "models/gemini-2.5-computer-use-preview-10-2025",
964
+ "type": "str"
965
+ }
966
+ ],
967
+ "env": [
968
+ {
969
+ "name": "GOOGLE_API_KEY",
970
+ "value": "{api_key_google}",
971
+ "type": "str"
972
+ }
973
+ ]
974
+ },
975
+ "ctx": 128000,
976
+ "tokens": 0,
977
+ "default": false,
978
+ "input": [
979
+ "text"
980
+ ],
981
+ "output": [
982
+ "text"
983
+ ],
984
+ "extra": {},
985
+ "imported": false,
986
+ "provider": "google",
987
+ "tool_calls": true
988
+ },
915
989
  "gemini-2.5-flash": {
916
990
  "id": "gemini-2.5-flash",
917
991
  "name": "gemini-2.5-flash",
@@ -1962,6 +1962,20 @@
1962
1962
  "advanced": false,
1963
1963
  "tab": "Google"
1964
1964
  },
1965
+ "remote_tools.google.maps": {
1966
+ "section": "remote_tools",
1967
+ "type": "bool",
1968
+ "slider": false,
1969
+ "label": "settings.remote_tools.google.maps",
1970
+ "description": "settings.remote_tools.google.maps.desc",
1971
+ "value": true,
1972
+ "min": null,
1973
+ "max": null,
1974
+ "multiplier": null,
1975
+ "step": null,
1976
+ "advanced": false,
1977
+ "tab": "Google"
1978
+ },
1965
1979
  "remote_tools.google.code_interpreter": {
1966
1980
  "section": "remote_tools",
1967
1981
  "type": "bool",
@@ -1990,6 +2004,37 @@
1990
2004
  "advanced": false,
1991
2005
  "tab": "Google"
1992
2006
  },
2007
+ "remote_tools.google.file_search": {
2008
+ "section": "remote_tools",
2009
+ "type": "bool",
2010
+ "slider": false,
2011
+ "label": "settings.remote_tools.google.file_search",
2012
+ "description": "settings.remote_tools.google.file_search.desc",
2013
+ "value": true,
2014
+ "min": null,
2015
+ "max": null,
2016
+ "multiplier": null,
2017
+ "step": null,
2018
+ "advanced": false,
2019
+ "tab": "Google"
2020
+ },
2021
+ "remote_tools.google.file_search.args": {
2022
+ "section": "remote_tools",
2023
+ "type": "text",
2024
+ "slider": false,
2025
+ "label": "settings.remote_tools.google.file_search.args",
2026
+ "description": "settings.remote_tools.google.file_search.args.desc",
2027
+ "value": "",
2028
+ "min": null,
2029
+ "max": null,
2030
+ "multiplier": null,
2031
+ "step": null,
2032
+ "advanced": false,
2033
+ "tab": "Google",
2034
+ "urls": {
2035
+ "Google Docs": "https://ai.google.dev/gemini-api/docs/file-search?hl=pl#metadata"
2036
+ }
2037
+ },
1993
2038
  "remote_tools.anthropic.web_search": {
1994
2039
  "section": "remote_tools",
1995
2040
  "type": "bool",
@@ -180,14 +180,6 @@ assistant.run.completed = Ausführung: Abgeschlossen
180
180
  assistant.run.failed = Ausführung: Fehlgeschlagen
181
181
  assistant.run.func.call = Ausführen: Funktionsaufruf...
182
182
  assistant.run.listening = Ausführung: in Bearbeitung...
183
- assistant.store.expire_days = Ablauftage
184
- assistant.store.expire_days.desc = 0 = Niemals
185
- assistant.store.files.suffix = Dateien
186
- assistant.store.hide_threads = Thread-Vektor-Speicher verbergen
187
- assistant.store.id = ID
188
- assistant.store.name = Name
189
- assistant.store.status = Status
190
- assistant.store.thread_only = (nur aktueller Thread)
191
183
  assistant.tool.code_interpreter = Code-Interpreter
192
184
  assistant.tool.file_search = Chat mit Dateien
193
185
  assistant.tool.function = Werkzeug: Funktion
@@ -284,17 +276,9 @@ common.down = Nach unten verschieben
284
276
  common.up = Nach oben verschieben
285
277
  confirm.assistant.delete = Assistent löschen?
286
278
  confirm.assistant.files.clear = Dateien löschen (nur lokal)?
287
- confirm.assistant.files.truncate = Sind Sie sicher, dass Sie alle Dateien von allen Speichern entfernen möchten?
288
- confirm.assistant.files.truncate.store = Sind Sie sicher, dass Sie alle Dateien aus dem ausgewählten Speicher entfernen möchten?
289
279
  confirm.assistant.functions.clear = Möchten Sie die Funktionsliste wirklich löschen?
290
280
  confirm.assistant.functions.import = Funktionen von AKTIVEN Plugins importieren?\nINFO: Alle Funktionen in der Liste mit denselben Namen werden ersetzt!
291
281
  confirm.assistant.import = Alle Assistenten von API importieren?
292
- confirm.assistant.import_files = Alle Dateien von API importieren?
293
- confirm.assistant.import_files.store = Aktuelle Speicherdateien von API importieren?
294
- confirm.assistant.store.clear = Vektor-Speicher leeren (nur lokal)?
295
- confirm.assistant.store.import = Alle Vektor-Speicher von API importieren?
296
- confirm.assistant.store.refresh = Alle Speicher aktualisieren?
297
- confirm.assistant.store.truncate = Alle Vektor-Speicher in der API löschen?
298
282
  confirm.ctx.delete = Gruppe löschen?
299
283
  confirm.ctx.delete.all = Gruppe und alle Elemente löschen?
300
284
  confirm.img.delete = Datei von der Festplatte löschen?
@@ -306,6 +290,14 @@ confirm.preset.restore = Standard-Preset für diesen Modus wiederherstellen?
306
290
  confirm.profile.delete = Sind Sie sicher, dass Sie das Profil löschen möchten? Es wird nur aus der Liste entfernt.
307
291
  confirm.profile.delete_all = Sind Sie sicher, dass Sie das Profil samt aller Konfigurationsdateien und Benutzerdateien im Profil-Arbeitsverzeichnis löschen möchten?
308
292
  confirm.profile.reset = Sind Sie sicher, dass Sie das Profil auf die Standardeinstellungen zurücksetzen möchten? WARNUNG: Alle Konfigurationsdateien und die Kontext-Datenbank werden entfernt! Das Datenverzeichnis wird beibehalten - um es zu entfernen, müssen Sie es manuell löschen oder die Lösch-Option verwenden.
293
+ confirm.remote_store.clear = Vektor-Speicher leeren (nur lokal)?
294
+ confirm.remote_store.import = Alle Vektor-Speicher von API importieren?
295
+ confirm.remote_store.import_files = Alle Dateien von API importieren?
296
+ confirm.remote_store.import_files.store = Aktuelle Speicherdateien von API importieren?
297
+ confirm.remote_store.openai.files.truncate = Sind Sie sicher, dass Sie alle Dateien von allen Speichern entfernen möchten?
298
+ confirm.remote_store.openai.files.truncate.store = Sind Sie sicher, dass Sie alle Dateien aus dem ausgewählten Speicher entfernen möchten?
299
+ confirm.remote_store.refresh = Alle Speicher aktualisieren?
300
+ confirm.remote_store.truncate = Alle Vektor-Speicher in der API löschen?
309
301
  context.btn.clear = Erinnerung löschen
310
302
  context.items = Elemente
311
303
  context.label = Kontext
@@ -364,30 +356,6 @@ dialog.assistant.btn.current = Aktuelle verwenden
364
356
  dialog.assistant.btn.import_func = Funktionen importieren
365
357
  dialog.assistant.btn.save = Speichern
366
358
  dialog.assistant.btn.store = Vektor Speicher
367
- dialog.assistant.store = OpenAI Vektordatenbanken
368
- dialog.assistant.store.alert.assign = Bitte zuerst einen Vektor-Speicher dem Assistenten zuweisen.
369
- dialog.assistant.store.alert.select = Bitte zuerst Vektor-Speicher auswählen.
370
- dialog.assistant.store.btn.close = Abbrechen
371
- dialog.assistant.store.btn.new = Erstellen
372
- dialog.assistant.store.btn.refresh_status = Status aktualisieren
373
- dialog.assistant.store.btn.save = Speichern
374
- dialog.assistant.store.btn.upload.dir = + Verzeichnis
375
- dialog.assistant.store.btn.upload.files = + Dateien
376
- dialog.assistant.store.delete.confirm = Sind Sie sicher, dass Sie die OpenAI-Vektordatenbank löschen wollen?
377
- dialog.assistant.store.menu.all = Alle Speicher...
378
- dialog.assistant.store.menu.all.clear_files = Dateien löschen (alle, nur lokal)
379
- dialog.assistant.store.menu.all.clear_store = Vektor-Speicher leeren (alle, nur lokal)
380
- dialog.assistant.store.menu.all.import_all = Alles importieren (alle, Speicher + Dateien)
381
- dialog.assistant.store.menu.all.import_files = Nur Dateien importieren (alle)
382
- dialog.assistant.store.menu.all.refresh_store = Alle Status aktualisieren
383
- dialog.assistant.store.menu.all.truncate_files = Dateien kürzen (alle, lokal + fern)
384
- dialog.assistant.store.menu.all.truncate_store = Vektor-Speicher kürzen (alle, lokal + fern)
385
- dialog.assistant.store.menu.current = Aktueller Speicher...
386
- dialog.assistant.store.menu.current.clear_files = Dateien löschen (nur lokal)
387
- dialog.assistant.store.menu.current.delete = Speicher löschen (+ Dateien, lokal + fern)
388
- dialog.assistant.store.menu.current.import_files = Dateien importieren
389
- dialog.assistant.store.menu.current.refresh_store = Status aktualisieren
390
- dialog.assistant.store.menu.current.truncate_files = Dateien kürzen (lokal + fern)
391
359
  dialog.changelog.title = Änderungsprotokoll
392
360
  dialog.confirm.no = Nein
393
361
  dialog.confirm.title = Bestätigung
@@ -468,6 +436,30 @@ dialog.profile.status.removed = Profil von der Liste entfernt
468
436
  dialog.profile.status.updated = Profil aktualisiert.
469
437
  dialog.profile.tip = Durch das Erstellen neuer Profile können Sie separate Einstellungen, unterschiedliche Kontexthistorien und Benutzerdaten verwenden und schnell zwischen ihnen wechseln.
470
438
  dialog.profile.workdir.label = Arbeitsverzeichnis (Verzeichnis für Konfigurationsdateien und Benutzerdaten)
439
+ dialog.remote_store.alert.assign = Bitte zuerst einen Vektor-Speicher dem Assistenten zuweisen.
440
+ dialog.remote_store.alert.select = Bitte zuerst Vektor-Speicher auswählen.
441
+ dialog.remote_store.btn.close = Abbrechen
442
+ dialog.remote_store.btn.new = Erstellen
443
+ dialog.remote_store.btn.refresh_status = Status aktualisieren
444
+ dialog.remote_store.btn.save = Speichern
445
+ dialog.remote_store.btn.upload.dir = + Verzeichnis
446
+ dialog.remote_store.btn.upload.files = + Dateien
447
+ dialog.remote_store.delete.confirm = Sind Sie sicher, dass Sie die OpenAI-Vektordatenbank löschen wollen?
448
+ dialog.remote_store.menu.all = Alle Speicher...
449
+ dialog.remote_store.menu.all.clear_files = Dateien löschen (alle, nur lokal)
450
+ dialog.remote_store.menu.all.clear_store = Vektor-Speicher leeren (alle, nur lokal)
451
+ dialog.remote_store.menu.all.import_all = Alles importieren (alle, Speicher + Dateien)
452
+ dialog.remote_store.menu.all.import_files = Nur Dateien importieren (alle)
453
+ dialog.remote_store.menu.all.refresh_store = Alle Status aktualisieren
454
+ dialog.remote_store.menu.all.truncate_files = Dateien kürzen (alle, lokal + fern)
455
+ dialog.remote_store.menu.all.truncate_store = Vektor-Speicher kürzen (alle, lokal + fern)
456
+ dialog.remote_store.menu.current = Aktueller Speicher...
457
+ dialog.remote_store.menu.current.clear_files = Dateien löschen (nur lokal)
458
+ dialog.remote_store.menu.current.delete = Speicher löschen (+ Dateien, lokal + fern)
459
+ dialog.remote_store.menu.current.import_files = Dateien importieren
460
+ dialog.remote_store.menu.current.refresh_store = Status aktualisieren
461
+ dialog.remote_store.menu.current.truncate_files = Dateien kürzen (lokal + fern)
462
+ dialog.remote_store.openai = OpenAI Vektordatenbanken
471
463
  dialog.rename.dismiss = Abbrechen
472
464
  dialog.rename.title = Name ändern
473
465
  dialog.rename.update = Namen aktualisieren
@@ -529,7 +521,7 @@ dictionary.config.llama.idx.embeddings.args.value = Wert des Schlüsselwort-Argu
529
521
  dictionary.config.llama.idx.embeddings.env.name = ENV-Name (mit os.environ festlegen)
530
522
  dictionary.config.llama.idx.embeddings.env.value = ENV-Wert, verwende {config_key} als Platzhalter, um den Wert aus der Anwendungs-Konfiguration zu verwenden.
531
523
  dictionary.config.llama.idx.list.id = ID (Verzeichnisname für Index)
532
- dictionary.config.llama.idx.list.model_embed = Modell für Einbettung (Indexierung), Standard: gpt-3.5-turbo
524
+ dictionary.config.llama.idx.list.model_embed = Modell für Einbettung (Indexierung), Standard: %MODEL_DEFAULT_MINI%
533
525
  dictionary.config.llama.idx.list.model_query = Modell für Abfragen
534
526
  dictionary.config.llama.idx.list.name = Name
535
527
  dictionary.config.llama.idx.storage.args.name = Name des Schlüsselwort-Arguments
@@ -1142,6 +1134,14 @@ preset.use = Verwenden
1142
1134
  preset.user_name = Benutzername
1143
1135
  preset.vision = Vision
1144
1136
  profile.current.suffix = (aktuell)
1137
+ remote_store.expire_days = Ablauftage
1138
+ remote_store.expire_days.desc = 0 = Niemals
1139
+ remote_store.files.suffix = Dateien
1140
+ remote_store.id = ID
1141
+ remote_store.name = Name
1142
+ remote_store.openai.hide_threads = Thread-Vektor-Speicher verbergen
1143
+ remote_store.status = Status
1144
+ remote_store.thread_only = (nur aktueller Thread)
1145
1145
  reset.description = Beschreibung
1146
1146
  screenshot.capture.name.prefix = Screenshot von
1147
1147
  settings.access.audio.event.speech = Sprachsynthese zur Beschreibung von Ereignissen auf dem Bildschirm verwenden.
@@ -191,15 +191,6 @@ assistant.run.completed = Run: Completed
191
191
  assistant.run.failed = Run: Failed
192
192
  assistant.run.func.call = Run: func call...
193
193
  assistant.run.listening = Run: in progress...
194
- assistant.store.expire_days = Expire days
195
- assistant.store.expire_days.desc = 0 = Never
196
- assistant.store.files.suffix = files
197
- assistant.store.hide_threads = Hide threads vector stores
198
- assistant.store.id = ID
199
- assistant.store.menu.file.delete = Delete file
200
- assistant.store.name = Name
201
- assistant.store.status = Status
202
- assistant.store.thread_only = (current thread only)
203
194
  assistant.tool.code_interpreter = Code Interpreter
204
195
  assistant.tool.file_search = Chat with Files
205
196
  assistant.tool.function = Function
@@ -295,20 +286,13 @@ cmd.tip = Tip: To enable the execution of tools from plugins you must enable the
295
286
  coming_soon = Coming soon...
296
287
  common.down = Move down
297
288
  common.up = Move up
289
+ computer_use.sandbox = Sandbox (Playwright)
290
+ computer_use.sandbox.tooltip = Run web automation in sandboxed environment using Playwright - recommended for better security.\nINFO: Playwright must be installed and set up properly.
298
291
  confirm.assistant.delete = Delete assistant?
299
292
  confirm.assistant.files.clear = Clear files (local only)?
300
- confirm.assistant.files.truncate = Are you sure you want to remove all files from all Assistants?
301
- confirm.assistant.files.truncate.store = Are you sure you want to remove all files from the selected store?
302
293
  confirm.assistant.functions.clear = Are you sure you want to clear the functions list?
303
294
  confirm.assistant.functions.import = Import functions from ACTIVE plugins?\nINFO: All functions in the list with the same names will be replaced!
304
295
  confirm.assistant.import = Import all assistants from API?
305
- confirm.assistant.import_files = Import all files from API?
306
- confirm.assistant.import_files.store = Import current store files from API?
307
- confirm.assistant.store.clear = Clear vector stores (local only)?
308
- confirm.assistant.store.file.delete = Delete selected file in API?
309
- confirm.assistant.store.import = Import all vector stores from API?
310
- confirm.assistant.store.refresh = Refresh all stores?
311
- confirm.assistant.store.truncate = Delete all vector stores in API?
312
296
  confirm.ctx.delete = Delete group?
313
297
  confirm.ctx.delete.all = Delete group and all items?
314
298
  confirm.img.delete = Delete file from disk?
@@ -320,6 +304,15 @@ confirm.preset.restore = Restore default preset for this mode?
320
304
  confirm.profile.delete = Are you sure you want to delete the profile? It will only be removed from the list.
321
305
  confirm.profile.delete_all = Are you sure you want to delete the profile with all config files and user data files in the profile working directory?
322
306
  confirm.profile.reset = Are you sure you want to restore the profile to default settings? WARNING: All configuration files and context database will be removed! The data directory will be kept - to remove it, you must delete it manually or use the delete option.
307
+ confirm.remote_store.clear = Clear vector stores (local only)?
308
+ confirm.remote_store.file.delete = Delete selected file in API?
309
+ confirm.remote_store.import = Import all vector stores from API?
310
+ confirm.remote_store.import_files = Import all files from API?
311
+ confirm.remote_store.import_files.store = Import current store files from API?
312
+ confirm.remote_store.openai.files.truncate = Are you sure you want to remove all files from all Assistants?
313
+ confirm.remote_store.openai.files.truncate.store = Are you sure you want to remove all files from the selected store?
314
+ confirm.remote_store.refresh = Refresh all stores?
315
+ confirm.remote_store.truncate = Delete all vector stores in API?
323
316
  context.btn.clear = Clear memory
324
317
  context.items = items
325
318
  context.label = Context
@@ -378,30 +371,6 @@ dialog.assistant.btn.current = Use current
378
371
  dialog.assistant.btn.import_func = Import functions
379
372
  dialog.assistant.btn.save = Save
380
373
  dialog.assistant.btn.store = Vector Stores
381
- dialog.assistant.store = OpenAI Vector Stores
382
- dialog.assistant.store.alert.assign = Please assign a vector store for the Assistant first.
383
- dialog.assistant.store.alert.select = Please select a vector store first.
384
- dialog.assistant.store.btn.close = Cancel
385
- dialog.assistant.store.btn.new = Create
386
- dialog.assistant.store.btn.refresh_status = Refresh status
387
- dialog.assistant.store.btn.save = Save
388
- dialog.assistant.store.btn.upload.dir = + Directory
389
- dialog.assistant.store.btn.upload.files = + Files
390
- dialog.assistant.store.delete.confirm = Are you sure you want to delete the OpenAI Vector Store?
391
- dialog.assistant.store.menu.all = All stores...
392
- dialog.assistant.store.menu.all.clear_files = Clear files (all, local only)
393
- dialog.assistant.store.menu.all.clear_store = Clear vector stores (all, local only)
394
- dialog.assistant.store.menu.all.import_all = Import everything (all, stores + files)
395
- dialog.assistant.store.menu.all.import_files = Import files only (all)
396
- dialog.assistant.store.menu.all.refresh_store = Refresh all statuses
397
- dialog.assistant.store.menu.all.truncate_files = Truncate files (all, local + remote)
398
- dialog.assistant.store.menu.all.truncate_store = Truncate vector stores (all, local + remote)
399
- dialog.assistant.store.menu.current = Current store...
400
- dialog.assistant.store.menu.current.clear_files = Clear files (local only)
401
- dialog.assistant.store.menu.current.delete = Delete store (+ files, local + remote)
402
- dialog.assistant.store.menu.current.import_files = Import files
403
- dialog.assistant.store.menu.current.refresh_store = Refresh status
404
- dialog.assistant.store.menu.current.truncate_files = Truncate files (local + remote)
405
374
  dialog.changelog.title = Changelog
406
375
  dialog.confirm.no = No
407
376
  dialog.confirm.title = Confirmation
@@ -482,6 +451,31 @@ dialog.profile.status.removed = Profile removed from list
482
451
  dialog.profile.status.updated = Profile updated.
483
452
  dialog.profile.tip = By creating new profiles, you can use separate settings, different context histories, and user data, and quickly switch between them.
484
453
  dialog.profile.workdir.label = Workdir (directory for config files and user data)
454
+ dialog.remote_store.alert.assign = Please assign a vector store for the Assistant first.
455
+ dialog.remote_store.alert.select = Please select a vector store first.
456
+ dialog.remote_store.btn.close = Cancel
457
+ dialog.remote_store.btn.new = Create
458
+ dialog.remote_store.btn.refresh_status = Refresh status
459
+ dialog.remote_store.btn.save = Save
460
+ dialog.remote_store.btn.upload.dir = + Directory
461
+ dialog.remote_store.btn.upload.files = + Files
462
+ dialog.remote_store.delete.confirm = Are you sure you want to delete the OpenAI Vector Store?
463
+ dialog.remote_store.google = Google Vector Stores
464
+ dialog.remote_store.menu.all = All stores...
465
+ dialog.remote_store.menu.all.clear_files = Clear files (all, local only)
466
+ dialog.remote_store.menu.all.clear_store = Clear vector stores (all, local only)
467
+ dialog.remote_store.menu.all.import_all = Import everything (all, stores + files)
468
+ dialog.remote_store.menu.all.import_files = Import files only (all)
469
+ dialog.remote_store.menu.all.refresh_store = Refresh all statuses
470
+ dialog.remote_store.menu.all.truncate_files = Truncate files (all, local + remote)
471
+ dialog.remote_store.menu.all.truncate_store = Truncate vector stores (all, local + remote)
472
+ dialog.remote_store.menu.current = Current store...
473
+ dialog.remote_store.menu.current.clear_files = Clear files (local only)
474
+ dialog.remote_store.menu.current.delete = Delete store (+ files, local + remote)
475
+ dialog.remote_store.menu.current.import_files = Import files
476
+ dialog.remote_store.menu.current.refresh_store = Refresh status
477
+ dialog.remote_store.menu.current.truncate_files = Truncate files (local + remote)
478
+ dialog.remote_store.openai = OpenAI Vector Stores
485
479
  dialog.rename.dismiss = Cancel
486
480
  dialog.rename.title = Change name
487
481
  dialog.rename.update = Update name
@@ -543,7 +537,7 @@ dictionary.config.llama.idx.embeddings.args.value = Value of keyword argument
543
537
  dictionary.config.llama.idx.embeddings.env.name = ENV name (to set with os.environ)
544
538
  dictionary.config.llama.idx.embeddings.env.value = ENV value, use {config_key} as a placeholder to use the value from the application configuration.
545
539
  dictionary.config.llama.idx.list.id = ID (directory name for index)
546
- dictionary.config.llama.idx.list.model_embed = Model to use for embedding (indexing), default: gpt-3.5-turbo
540
+ dictionary.config.llama.idx.list.model_embed = Model to use for embedding (indexing), default: %MODEL_DEFAULT_MINI%
547
541
  dictionary.config.llama.idx.list.model_query = Model for querying
548
542
  dictionary.config.llama.idx.list.name = Name
549
543
  dictionary.config.llama.idx.storage.args.name = Name of keyword argument
@@ -1158,6 +1152,16 @@ preset.use = Use
1158
1152
  preset.user_name = User name
1159
1153
  preset.vision = Vision
1160
1154
  profile.current.suffix = (current)
1155
+ remote_store.expire_days = Expire days
1156
+ remote_store.expire_days.desc = 0 = Never
1157
+ remote_store.files.suffix = files
1158
+ remote_store.google.hide_threads = Hide threads vector stores
1159
+ remote_store.id = ID
1160
+ remote_store.menu.file.delete = Delete file
1161
+ remote_store.name = Name
1162
+ remote_store.openai.hide_threads = Hide threads vector stores
1163
+ remote_store.status = Status
1164
+ remote_store.thread_only = (current thread only)
1161
1165
  remote_tool.openai.code_interpreter = Code Interpreter
1162
1166
  remote_tool.openai.computer_use = Computer use
1163
1167
  remote_tool.openai.file_search = File search
@@ -1481,6 +1485,12 @@ settings.remote_tools.file_search.args.desc = Vector store IDs, separated by com
1481
1485
  settings.remote_tools.file_search.desc = Enable `file_search` remote tool - Responses API only.
1482
1486
  settings.remote_tools.google.code_interpreter = Code Interpreter
1483
1487
  settings.remote_tools.google.code_interpreter.desc = Enable Code Interpreter remote tool.
1488
+ settings.remote_tools.google.file_search = File search
1489
+ settings.remote_tools.google.file_search.args = File search vector store IDs
1490
+ settings.remote_tools.google.file_search.args.desc = Vector store IDs, separated by comma (,)
1491
+ settings.remote_tools.google.file_search.desc = Enable `file_search` remote tool - Responses API only.
1492
+ settings.remote_tools.google.maps = Google Maps
1493
+ settings.remote_tools.google.maps.desc = Enable Google Maps remote tool.
1484
1494
  settings.remote_tools.google.url_ctx = URL Context
1485
1495
  settings.remote_tools.google.url_ctx.desc = Enable URL Context remote tool.
1486
1496
  settings.remote_tools.google.web_search = Google Search