pygpt-net 2.7.4__py3-none-any.whl → 2.7.6__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.
- pygpt_net/CHANGELOG.txt +15 -0
- pygpt_net/__init__.py +4 -4
- pygpt_net/app_core.py +4 -2
- pygpt_net/controller/__init__.py +5 -1
- pygpt_net/controller/assistant/assistant.py +1 -4
- pygpt_net/controller/assistant/batch.py +5 -504
- pygpt_net/controller/assistant/editor.py +5 -5
- pygpt_net/controller/assistant/files.py +16 -16
- pygpt_net/controller/chat/handler/google_stream.py +307 -1
- pygpt_net/controller/chat/handler/worker.py +10 -25
- pygpt_net/controller/chat/handler/xai_stream.py +621 -52
- pygpt_net/controller/chat/image.py +2 -2
- pygpt_net/controller/debug/fixtures.py +3 -2
- pygpt_net/controller/dialogs/confirm.py +73 -101
- pygpt_net/controller/files/files.py +65 -4
- pygpt_net/controller/lang/mapping.py +9 -9
- pygpt_net/controller/painter/capture.py +50 -1
- pygpt_net/controller/presets/presets.py +2 -1
- pygpt_net/controller/remote_store/__init__.py +12 -0
- pygpt_net/{provider/core/assistant_file/db_sqlite → controller/remote_store/google}/__init__.py +2 -2
- pygpt_net/controller/remote_store/google/batch.py +402 -0
- pygpt_net/controller/remote_store/google/store.py +615 -0
- pygpt_net/controller/remote_store/openai/__init__.py +12 -0
- pygpt_net/controller/remote_store/openai/batch.py +524 -0
- pygpt_net/controller/{assistant → remote_store/openai}/store.py +63 -60
- pygpt_net/controller/remote_store/remote_store.py +35 -0
- pygpt_net/controller/ui/ui.py +20 -1
- pygpt_net/core/assistants/assistants.py +3 -15
- pygpt_net/core/db/database.py +5 -3
- pygpt_net/core/filesystem/url.py +4 -1
- pygpt_net/core/locale/placeholder.py +35 -0
- pygpt_net/core/remote_store/__init__.py +12 -0
- pygpt_net/core/remote_store/google/__init__.py +11 -0
- pygpt_net/core/remote_store/google/files.py +224 -0
- pygpt_net/core/remote_store/google/store.py +248 -0
- pygpt_net/core/remote_store/openai/__init__.py +11 -0
- pygpt_net/core/{assistants → remote_store/openai}/files.py +26 -19
- pygpt_net/core/{assistants → remote_store/openai}/store.py +32 -15
- pygpt_net/core/remote_store/remote_store.py +24 -0
- pygpt_net/core/render/web/body.py +3 -2
- pygpt_net/core/types/chunk.py +27 -0
- pygpt_net/data/config/config.json +8 -4
- pygpt_net/data/config/models.json +77 -3
- pygpt_net/data/config/settings.json +45 -0
- pygpt_net/data/js/app/template.js +1 -1
- pygpt_net/data/js/app.min.js +2 -2
- pygpt_net/data/locale/locale.de.ini +44 -41
- pygpt_net/data/locale/locale.en.ini +56 -43
- pygpt_net/data/locale/locale.es.ini +44 -41
- pygpt_net/data/locale/locale.fr.ini +44 -41
- pygpt_net/data/locale/locale.it.ini +44 -41
- pygpt_net/data/locale/locale.pl.ini +45 -42
- pygpt_net/data/locale/locale.uk.ini +44 -41
- pygpt_net/data/locale/locale.zh.ini +44 -41
- pygpt_net/data/locale/plugin.cmd_history.de.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_history.en.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_history.es.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_history.fr.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_history.it.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_history.pl.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_history.uk.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_history.zh.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_mouse_control.en.ini +14 -0
- pygpt_net/data/locale/plugin.cmd_web.de.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_web.en.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_web.es.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_web.fr.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_web.it.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_web.pl.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_web.uk.ini +1 -1
- pygpt_net/data/locale/plugin.cmd_web.zh.ini +1 -1
- pygpt_net/data/locale/plugin.idx_llama_index.de.ini +2 -2
- pygpt_net/data/locale/plugin.idx_llama_index.en.ini +2 -2
- pygpt_net/data/locale/plugin.idx_llama_index.es.ini +2 -2
- pygpt_net/data/locale/plugin.idx_llama_index.fr.ini +2 -2
- pygpt_net/data/locale/plugin.idx_llama_index.it.ini +2 -2
- pygpt_net/data/locale/plugin.idx_llama_index.pl.ini +2 -2
- pygpt_net/data/locale/plugin.idx_llama_index.uk.ini +2 -2
- pygpt_net/data/locale/plugin.idx_llama_index.zh.ini +2 -2
- pygpt_net/item/assistant.py +1 -211
- pygpt_net/item/ctx.py +3 -3
- pygpt_net/item/store.py +238 -0
- pygpt_net/js_rc.py +2449 -2447
- pygpt_net/migrations/Version20260102190000.py +35 -0
- pygpt_net/migrations/__init__.py +3 -1
- pygpt_net/plugin/cmd_mouse_control/config.py +471 -1
- pygpt_net/plugin/cmd_mouse_control/plugin.py +487 -22
- pygpt_net/plugin/cmd_mouse_control/worker.py +464 -87
- pygpt_net/plugin/cmd_mouse_control/worker_sandbox.py +729 -0
- pygpt_net/plugin/idx_llama_index/config.py +2 -2
- pygpt_net/provider/api/anthropic/__init__.py +10 -8
- pygpt_net/provider/api/google/__init__.py +21 -58
- pygpt_net/provider/api/google/chat.py +545 -129
- pygpt_net/provider/api/google/computer.py +190 -0
- pygpt_net/provider/api/google/realtime/realtime.py +2 -2
- pygpt_net/provider/api/google/remote_tools.py +93 -0
- pygpt_net/provider/api/google/store.py +546 -0
- pygpt_net/provider/api/google/worker/__init__.py +0 -0
- pygpt_net/provider/api/google/worker/importer.py +392 -0
- pygpt_net/provider/api/openai/__init__.py +7 -3
- pygpt_net/provider/api/openai/computer.py +10 -1
- pygpt_net/provider/api/openai/responses.py +0 -0
- pygpt_net/provider/api/openai/store.py +6 -6
- pygpt_net/provider/api/openai/worker/importer.py +24 -24
- pygpt_net/provider/api/x_ai/__init__.py +10 -9
- pygpt_net/provider/api/x_ai/chat.py +272 -102
- pygpt_net/provider/core/config/patch.py +16 -1
- pygpt_net/provider/core/config/patches/patch_before_2_6_42.py +3 -3
- pygpt_net/provider/core/model/patch.py +17 -3
- pygpt_net/provider/core/preset/json_file.py +13 -7
- pygpt_net/provider/core/{assistant_file → remote_file}/__init__.py +1 -1
- pygpt_net/provider/core/{assistant_file → remote_file}/base.py +9 -9
- pygpt_net/provider/core/remote_file/db_sqlite/__init__.py +12 -0
- pygpt_net/provider/core/{assistant_file → remote_file}/db_sqlite/patch.py +1 -1
- pygpt_net/provider/core/{assistant_file → remote_file}/db_sqlite/provider.py +23 -20
- pygpt_net/provider/core/{assistant_file → remote_file}/db_sqlite/storage.py +35 -27
- pygpt_net/provider/core/{assistant_file → remote_file}/db_sqlite/utils.py +5 -4
- pygpt_net/provider/core/{assistant_store → remote_store}/__init__.py +1 -1
- pygpt_net/provider/core/{assistant_store → remote_store}/base.py +10 -10
- pygpt_net/provider/core/{assistant_store → remote_store}/db_sqlite/__init__.py +1 -1
- pygpt_net/provider/core/{assistant_store → remote_store}/db_sqlite/patch.py +1 -1
- pygpt_net/provider/core/{assistant_store → remote_store}/db_sqlite/provider.py +16 -15
- pygpt_net/provider/core/{assistant_store → remote_store}/db_sqlite/storage.py +30 -23
- pygpt_net/provider/core/{assistant_store → remote_store}/db_sqlite/utils.py +5 -4
- pygpt_net/provider/core/{assistant_store → remote_store}/json_file.py +9 -9
- pygpt_net/provider/llms/google.py +2 -2
- pygpt_net/tools/image_viewer/ui/dialogs.py +298 -12
- pygpt_net/tools/text_editor/ui/widgets.py +5 -1
- pygpt_net/ui/base/config_dialog.py +3 -2
- pygpt_net/ui/base/context_menu.py +44 -1
- pygpt_net/ui/dialog/assistant.py +3 -3
- pygpt_net/ui/dialog/plugins.py +3 -1
- pygpt_net/ui/dialog/remote_store_google.py +539 -0
- pygpt_net/ui/dialog/{assistant_store.py → remote_store_openai.py} +95 -95
- pygpt_net/ui/dialogs.py +5 -3
- pygpt_net/ui/layout/chat/attachments_uploaded.py +3 -3
- pygpt_net/ui/layout/toolbox/computer_env.py +26 -8
- pygpt_net/ui/layout/toolbox/indexes.py +22 -19
- pygpt_net/ui/layout/toolbox/model.py +28 -5
- pygpt_net/ui/menu/tools.py +13 -5
- pygpt_net/ui/widget/dialog/remote_store_google.py +56 -0
- pygpt_net/ui/widget/dialog/{assistant_store.py → remote_store_openai.py} +9 -9
- pygpt_net/ui/widget/element/button.py +4 -4
- pygpt_net/ui/widget/image/display.py +25 -8
- pygpt_net/ui/widget/lists/remote_store_google.py +248 -0
- pygpt_net/ui/widget/lists/{assistant_store.py → remote_store_openai.py} +21 -21
- pygpt_net/ui/widget/option/checkbox_list.py +47 -9
- pygpt_net/ui/widget/option/combo.py +39 -3
- pygpt_net/ui/widget/tabs/output.py +9 -1
- pygpt_net/ui/widget/textarea/editor.py +14 -1
- pygpt_net/ui/widget/textarea/input.py +20 -7
- pygpt_net/ui/widget/textarea/notepad.py +24 -1
- pygpt_net/ui/widget/textarea/output.py +23 -1
- pygpt_net/ui/widget/textarea/web.py +16 -1
- {pygpt_net-2.7.4.dist-info → pygpt_net-2.7.6.dist-info}/METADATA +41 -2
- {pygpt_net-2.7.4.dist-info → pygpt_net-2.7.6.dist-info}/RECORD +158 -132
- {pygpt_net-2.7.4.dist-info → pygpt_net-2.7.6.dist-info}/LICENSE +0 -0
- {pygpt_net-2.7.4.dist-info → pygpt_net-2.7.6.dist-info}/WHEEL +0 -0
- {pygpt_net-2.7.4.dist-info → pygpt_net-2.7.6.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:
|
|
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.
|
|
18
|
-
from pygpt_net.provider.core.
|
|
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
|
-
|
|
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
|
-
|
|
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) ->
|
|
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,
|
|
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[
|
|
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 =
|
|
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:
|
|
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:
|
|
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,
|
|
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("
|
|
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)
|
|
@@ -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:
|
|
9
|
+
# Updated Date: 2026.01.03 17:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
import os
|
|
@@ -410,7 +410,8 @@ class Body:
|
|
|
410
410
|
<p><a href="bridge://play_video/{url}" class="title">{elide_filename(basename)}</a></p>
|
|
411
411
|
</div>
|
|
412
412
|
'''
|
|
413
|
-
|
|
413
|
+
url_preview = f"bridge://open_image/{url}"
|
|
414
|
+
return f'<div class="extra-src-img-box" title="{url}"><div class="img-outer"><div class="img-wrapper"><a href="{url_preview}"><img src="{path}" class="image"></a></div><a href="{url}" class="title">{elide_filename(basename)}</a></div></div><br/>'
|
|
414
415
|
|
|
415
416
|
def get_url_html(
|
|
416
417
|
self,
|
|
@@ -0,0 +1,27 @@
|
|
|
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.03 17:00:00 #
|
|
10
|
+
# ================================================== #
|
|
11
|
+
|
|
12
|
+
from enum import Enum
|
|
13
|
+
|
|
14
|
+
class ChunkType(str, Enum):
|
|
15
|
+
"""
|
|
16
|
+
Enum for chunk type classification.
|
|
17
|
+
"""
|
|
18
|
+
API_CHAT = "api_chat" # OpenAI Chat Completions / or compatible
|
|
19
|
+
API_CHAT_RESPONSES = "api_chat_responses" # OpenAI Responses
|
|
20
|
+
API_COMPLETION = "api_completion" # OpenAI Completions
|
|
21
|
+
LANGCHAIN_CHAT = "langchain_chat" # LangChain chat (deprecated)
|
|
22
|
+
LLAMA_CHAT = "llama_chat" # LlamaIndex chat
|
|
23
|
+
GOOGLE = "google" # Google SDK
|
|
24
|
+
GOOGLE_INTERACTIONS_API = "api_google_interactions" # Google SDK, deep research - interactions API
|
|
25
|
+
ANTHROPIC = "anthropic" # Anthropic SDK
|
|
26
|
+
XAI_SDK = "xai_sdk" # xAI SDK
|
|
27
|
+
RAW = "raw" # Raw string fallback
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"__meta__": {
|
|
3
|
-
"version": "2.7.
|
|
4
|
-
"app.version": "2.7.
|
|
5
|
-
"updated_at": "
|
|
3
|
+
"version": "2.7.6",
|
|
4
|
+
"app.version": "2.7.6",
|
|
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
|
-
"
|
|
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
|
-
"app.version": "2.7.
|
|
5
|
-
"updated_at": "
|
|
3
|
+
"version": "2.7.6",
|
|
4
|
+
"app.version": "2.7.6",
|
|
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#metadata"
|
|
2036
|
+
}
|
|
2037
|
+
},
|
|
1993
2038
|
"remote_tools.anthropic.web_search": {
|
|
1994
2039
|
"section": "remote_tools",
|
|
1995
2040
|
"type": "bool",
|
|
@@ -91,7 +91,7 @@ class NodeTemplateEngine {
|
|
|
91
91
|
} else {
|
|
92
92
|
parts.push(
|
|
93
93
|
`<div class="extra-src-img-box" title="${url}">` +
|
|
94
|
-
`<div class="img-outer"><div class="img-wrapper"><a href="
|
|
94
|
+
`<div class="img-outer"><div class="img-wrapper"><a href="bridge://open_image/${path}"><img src="${path}" class="image"></a></div>` +
|
|
95
95
|
`<a href="${url}" class="title">${this._escapeHtml(bn)}</a></div>` +
|
|
96
96
|
`</div><br/>`
|
|
97
97
|
);
|
pygpt_net/data/js/app.min.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* app.min.js — generated on
|
|
1
|
+
/* app.min.js — generated on 2026-01-03 18:07:50 by bin/minify_js.py using rjsmin */
|
|
2
2
|
|
|
3
3
|
/* data/js/app/async.js */
|
|
4
4
|
class AsyncRunner{constructor(cfg,raf){this.cfg=cfg||{};this.raf=raf||null;const A=this.cfg.ASYNC||{};this.SLICE_MS=Utils.g('ASYNC_SLICE_MS',A.SLICE_MS??12);this.SLICE_HIDDEN_MS=Utils.g('ASYNC_SLICE_HIDDEN_MS',A.SLICE_HIDDEN_MS??Math.min(this.SLICE_MS,6));this.MIN_YIELD_MS=Utils.g('ASYNC_MIN_YIELD_MS',A.MIN_YIELD_MS??0);this._opGen=new Map();}
|
|
@@ -776,7 +776,7 @@ _esc(s){return(s==null)?'':String(s);}
|
|
|
776
776
|
_escapeHtml(s){return(typeof Utils!=='undefined')?Utils.escapeHtml(s):String(s).replace(/[&<>"']/g,m=>({'&':'&','<':'<','>':'>','"':'"',"'":'''}[m]));}
|
|
777
777
|
_nameHeader(role,name,avatarUrl){if(!name&&!avatarUrl)return'';const cls=(role==='user')?'name-user':'name-bot';const img=avatarUrl?`<img src="${this._esc(avatarUrl)}" class="avatar"> `:'';return`<div class="name-header ${cls}">${img}${this._esc(name || '')}</div>`;}
|
|
778
778
|
_renderUser(block){const id=block.id;const inp=block.input||{};const msgId=`msg-user-${id}`;const personalize=!!(block&&block.extra&&block.extra.personalize===true);const nameHeader=personalize?this._nameHeader('user',inp.name||'',inp.avatar_img||null):'';const content=this._escapeHtml(inp.text||'').replace(/\r?\n/g,'<br>');const I=(this.cfg&&this.cfg.ICONS)||{};const L=(this.cfg&&this.cfg.LOCALE)||{};const copyIcon=I.CODE_COPY||'';const copyTitle=L.COPY||'Copy';const copyBtn=`<a href="empty:${this._esc(id)}" class="msg-copy-btn" data-id="${this._esc(id)}" data-tip="${this._escapeHtml(copyTitle)}" title="${this._escapeHtml(copyTitle)}" aria-label="${this._escapeHtml(copyTitle)}" role="button"><img src="${this._esc(copyIcon)}" class="copy-img" alt="${this._escapeHtml(copyTitle)}" data-id="${this._esc(id)}"></a>`;return`<div class="msg-box msg-user" id="${msgId}">${nameHeader}<div class="msg">${copyBtn}<p style="margin:0">${content}</p></div></div>`;}
|
|
779
|
-
_renderExtras(block){const parts=[];const images=block.images||{};const keysI=Object.keys(images);if(keysI.length){keysI.forEach((k)=>{const it=images[k];if(!it)return;const url=this._esc(it.url);const path=this._esc(it.path);const bn=this._esc(it.basename||'');if(it.is_video){const src=(it.ext==='.webm'||!it.webm_path)?path:this._esc(it.webm_path);const ext=(src.endsWith('.webm')?'webm':(path.split('.').pop()||'mp4'));parts.push(`<div class="extra-src-video-box" title="${url}">`+`<video class="video-player" controls>`+`<source src="${src}" type="video/${ext}">`+`</video>`+`<p><a href="bridge://play_video/${url}" class="title">${this._escapeHtml(bn)}</a></p>`+`</div>`);}else{parts.push(`<div class="extra-src-img-box" title="${url}">`+`<div class="img-outer"><div class="img-wrapper"><a href="
|
|
779
|
+
_renderExtras(block){const parts=[];const images=block.images||{};const keysI=Object.keys(images);if(keysI.length){keysI.forEach((k)=>{const it=images[k];if(!it)return;const url=this._esc(it.url);const path=this._esc(it.path);const bn=this._esc(it.basename||'');if(it.is_video){const src=(it.ext==='.webm'||!it.webm_path)?path:this._esc(it.webm_path);const ext=(src.endsWith('.webm')?'webm':(path.split('.').pop()||'mp4'));parts.push(`<div class="extra-src-video-box" title="${url}">`+`<video class="video-player" controls>`+`<source src="${src}" type="video/${ext}">`+`</video>`+`<p><a href="bridge://play_video/${url}" class="title">${this._escapeHtml(bn)}</a></p>`+`</div>`);}else{parts.push(`<div class="extra-src-img-box" title="${url}">`+`<div class="img-outer"><div class="img-wrapper"><a href="bridge://open_image/${path}"><img src="${path}" class="image"></a></div>`+`<a href="${url}" class="title">${this._escapeHtml(bn)}</a></div>`+`</div><br/>`);}});}
|
|
780
780
|
const files=block.files||{};const kF=Object.keys(files);if(kF.length){const rows=[];kF.forEach((k)=>{const it=files[k];if(!it)return;const url=this._esc(it.url);const path=this._esc(it.path);const icon=(typeof window!=='undefined'&&window.ICON_ATTACHMENTS)?`<img src="${window.ICON_ATTACHMENTS}" class="extra-src-icon">`:'';rows.push(`${icon} <b> [${k}] </b> <a href="${url}">${path}</a>`);});if(rows.length)parts.push(`<div>${rows.join("<br/><br/>")}</div>`);}
|
|
781
781
|
const urls=block.urls||{};const kU=Object.keys(urls);if(kU.length){const rows=[];kU.forEach((k)=>{const it=urls[k];if(!it)return;const url=this._esc(it.url);const icon=(typeof window!=='undefined'&&window.ICON_URL)?`<img src="${window.ICON_URL}" class="extra-src-icon">`:'';rows.push(`${icon}<a href="${url}" title="${url}">${url}</a> <small> [${k}] </small>`);});if(rows.length)parts.push(`<div>${rows.join("<br/><br/>")}</div>`);}
|
|
782
782
|
const extra=block.extra||{};const docsRaw=Array.isArray(extra.docs)?extra.docs:null;if(docsRaw&&docsRaw.length){const icon=(typeof window!=='undefined'&&window.ICON_DB)?`<img src="${window.ICON_DB}" class="extra-src-icon">`:'';const prefix=(typeof window!=='undefined'&&window.LOCALE_DOC_PREFIX)?String(window.LOCALE_DOC_PREFIX):'Doc:';const limit=3;const normalized=[];docsRaw.forEach((it)=>{if(!it||typeof it!=='object')return;if('uuid'in it&&'meta'in it&&typeof it.meta==='object'){normalized.push({uuid:String(it.uuid),meta:it.meta||{}});}else{const keys=Object.keys(it);if(keys.length===1){const uuid=keys[0];const meta=it[uuid];if(meta&&typeof meta==='object'){normalized.push({uuid:String(uuid),meta});}}}});const rows=[];for(let i=0;i<Math.min(limit,normalized.length);i++){const d=normalized[i];const meta=d.meta||{};const entries=Object.keys(meta).map(k=>`<b>${this._escapeHtml(k)}:</b> ${this._escapeHtml(String(meta[k]))}`).join(', ');rows.push(`<p><small>[${i + 1}] ${this._escapeHtml(d.uuid)}: ${entries}</small></p>`);}
|
|
@@ -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,9 +290,20 @@ 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
|
|
304
|
+
context_menu.zoom = Zoom
|
|
305
|
+
context_menu.zoom.in = Vergrößern
|
|
306
|
+
context_menu.zoom.out = Verkleinern
|
|
312
307
|
context.tokens = Tokens
|
|
313
308
|
ctx.delete.all.confirm = Sind Sie sicher, dass Sie ALLE Verlaufskontexte löschen möchten?
|
|
314
309
|
ctx.delete.confirm = Sind Sie sicher, dass Sie löschen möchten?
|
|
@@ -364,30 +359,6 @@ dialog.assistant.btn.current = Aktuelle verwenden
|
|
|
364
359
|
dialog.assistant.btn.import_func = Funktionen importieren
|
|
365
360
|
dialog.assistant.btn.save = Speichern
|
|
366
361
|
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
362
|
dialog.changelog.title = Änderungsprotokoll
|
|
392
363
|
dialog.confirm.no = Nein
|
|
393
364
|
dialog.confirm.title = Bestätigung
|
|
@@ -468,6 +439,30 @@ dialog.profile.status.removed = Profil von der Liste entfernt
|
|
|
468
439
|
dialog.profile.status.updated = Profil aktualisiert.
|
|
469
440
|
dialog.profile.tip = Durch das Erstellen neuer Profile können Sie separate Einstellungen, unterschiedliche Kontexthistorien und Benutzerdaten verwenden und schnell zwischen ihnen wechseln.
|
|
470
441
|
dialog.profile.workdir.label = Arbeitsverzeichnis (Verzeichnis für Konfigurationsdateien und Benutzerdaten)
|
|
442
|
+
dialog.remote_store.alert.assign = Bitte zuerst einen Vektor-Speicher dem Assistenten zuweisen.
|
|
443
|
+
dialog.remote_store.alert.select = Bitte zuerst Vektor-Speicher auswählen.
|
|
444
|
+
dialog.remote_store.btn.close = Abbrechen
|
|
445
|
+
dialog.remote_store.btn.new = Erstellen
|
|
446
|
+
dialog.remote_store.btn.refresh_status = Status aktualisieren
|
|
447
|
+
dialog.remote_store.btn.save = Speichern
|
|
448
|
+
dialog.remote_store.btn.upload.dir = + Verzeichnis
|
|
449
|
+
dialog.remote_store.btn.upload.files = + Dateien
|
|
450
|
+
dialog.remote_store.delete.confirm = Sind Sie sicher, dass Sie die OpenAI-Vektordatenbank löschen wollen?
|
|
451
|
+
dialog.remote_store.menu.all = Alle Speicher...
|
|
452
|
+
dialog.remote_store.menu.all.clear_files = Dateien löschen (alle, nur lokal)
|
|
453
|
+
dialog.remote_store.menu.all.clear_store = Vektor-Speicher leeren (alle, nur lokal)
|
|
454
|
+
dialog.remote_store.menu.all.import_all = Alles importieren (alle, Speicher + Dateien)
|
|
455
|
+
dialog.remote_store.menu.all.import_files = Nur Dateien importieren (alle)
|
|
456
|
+
dialog.remote_store.menu.all.refresh_store = Alle Status aktualisieren
|
|
457
|
+
dialog.remote_store.menu.all.truncate_files = Dateien kürzen (alle, lokal + fern)
|
|
458
|
+
dialog.remote_store.menu.all.truncate_store = Vektor-Speicher kürzen (alle, lokal + fern)
|
|
459
|
+
dialog.remote_store.menu.current = Aktueller Speicher...
|
|
460
|
+
dialog.remote_store.menu.current.clear_files = Dateien löschen (nur lokal)
|
|
461
|
+
dialog.remote_store.menu.current.delete = Speicher löschen (+ Dateien, lokal + fern)
|
|
462
|
+
dialog.remote_store.menu.current.import_files = Dateien importieren
|
|
463
|
+
dialog.remote_store.menu.current.refresh_store = Status aktualisieren
|
|
464
|
+
dialog.remote_store.menu.current.truncate_files = Dateien kürzen (lokal + fern)
|
|
465
|
+
dialog.remote_store.openai = OpenAI Vektordatenbanken
|
|
471
466
|
dialog.rename.dismiss = Abbrechen
|
|
472
467
|
dialog.rename.title = Name ändern
|
|
473
468
|
dialog.rename.update = Namen aktualisieren
|
|
@@ -529,7 +524,7 @@ dictionary.config.llama.idx.embeddings.args.value = Wert des Schlüsselwort-Argu
|
|
|
529
524
|
dictionary.config.llama.idx.embeddings.env.name = ENV-Name (mit os.environ festlegen)
|
|
530
525
|
dictionary.config.llama.idx.embeddings.env.value = ENV-Wert, verwende {config_key} als Platzhalter, um den Wert aus der Anwendungs-Konfiguration zu verwenden.
|
|
531
526
|
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:
|
|
527
|
+
dictionary.config.llama.idx.list.model_embed = Modell für Einbettung (Indexierung), Standard: %MODEL_DEFAULT_MINI%
|
|
533
528
|
dictionary.config.llama.idx.list.model_query = Modell für Abfragen
|
|
534
529
|
dictionary.config.llama.idx.list.name = Name
|
|
535
530
|
dictionary.config.llama.idx.storage.args.name = Name des Schlüsselwort-Arguments
|
|
@@ -1142,6 +1137,14 @@ preset.use = Verwenden
|
|
|
1142
1137
|
preset.user_name = Benutzername
|
|
1143
1138
|
preset.vision = Vision
|
|
1144
1139
|
profile.current.suffix = (aktuell)
|
|
1140
|
+
remote_store.expire_days = Ablauftage
|
|
1141
|
+
remote_store.expire_days.desc = 0 = Niemals
|
|
1142
|
+
remote_store.files.suffix = Dateien
|
|
1143
|
+
remote_store.id = ID
|
|
1144
|
+
remote_store.name = Name
|
|
1145
|
+
remote_store.openai.hide_threads = Thread-Vektor-Speicher verbergen
|
|
1146
|
+
remote_store.status = Status
|
|
1147
|
+
remote_store.thread_only = (nur aktueller Thread)
|
|
1145
1148
|
reset.description = Beschreibung
|
|
1146
1149
|
screenshot.capture.name.prefix = Screenshot von
|
|
1147
1150
|
settings.access.audio.event.speech = Sprachsynthese zur Beschreibung von Ereignissen auf dem Bildschirm verwenden.
|