pygpt-net 2.6.56__py3-none-any.whl → 2.6.57__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 +6 -0
- pygpt_net/__init__.py +1 -1
- pygpt_net/config.py +44 -0
- pygpt_net/controller/chat/remote_tools.py +5 -3
- pygpt_net/controller/ui/mode.py +5 -3
- pygpt_net/core/models/models.py +2 -1
- pygpt_net/core/plugins/plugins.py +60 -0
- pygpt_net/data/config/config.json +3 -2
- pygpt_net/data/config/models.json +2 -2
- pygpt_net/data/config/settings.json +14 -0
- pygpt_net/data/locale/locale.de.ini +3 -1
- pygpt_net/data/locale/locale.en.ini +8 -7
- pygpt_net/data/locale/locale.es.ini +2 -0
- pygpt_net/data/locale/locale.fr.ini +2 -0
- pygpt_net/data/locale/locale.it.ini +2 -0
- pygpt_net/data/locale/locale.pl.ini +3 -1
- pygpt_net/data/locale/locale.uk.ini +3 -1
- pygpt_net/data/locale/locale.zh.ini +2 -0
- pygpt_net/data/locale/plugin.agent.de.ini +0 -0
- pygpt_net/data/locale/plugin.agent.en.ini +0 -0
- pygpt_net/data/locale/plugin.agent.es.ini +0 -0
- pygpt_net/data/locale/plugin.agent.fr.ini +0 -0
- pygpt_net/data/locale/plugin.agent.it.ini +0 -0
- pygpt_net/data/locale/plugin.agent.pl.ini +0 -0
- pygpt_net/data/locale/plugin.agent.uk.ini +0 -0
- pygpt_net/data/locale/plugin.agent.zh.ini +0 -0
- pygpt_net/data/locale/plugin.audio_input.de.ini +0 -0
- pygpt_net/data/locale/plugin.audio_input.en.ini +0 -0
- pygpt_net/data/locale/plugin.audio_input.es.ini +0 -0
- pygpt_net/data/locale/plugin.audio_input.fr.ini +0 -0
- pygpt_net/data/locale/plugin.audio_input.it.ini +0 -0
- pygpt_net/data/locale/plugin.audio_input.pl.ini +0 -0
- pygpt_net/data/locale/plugin.audio_input.uk.ini +0 -0
- pygpt_net/data/locale/plugin.audio_input.zh.ini +0 -0
- pygpt_net/data/locale/plugin.audio_output.de.ini +0 -0
- pygpt_net/data/locale/plugin.audio_output.en.ini +0 -0
- pygpt_net/data/locale/plugin.audio_output.es.ini +0 -0
- pygpt_net/data/locale/plugin.audio_output.fr.ini +0 -0
- pygpt_net/data/locale/plugin.audio_output.it.ini +0 -0
- pygpt_net/data/locale/plugin.audio_output.pl.ini +0 -0
- pygpt_net/data/locale/plugin.audio_output.uk.ini +0 -0
- pygpt_net/data/locale/plugin.audio_output.zh.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_api.de.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_api.en.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_api.es.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_api.fr.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_api.it.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_api.pl.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_api.uk.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_api.zh.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_code_interpreter.de.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_code_interpreter.en.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_code_interpreter.es.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_code_interpreter.fr.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_code_interpreter.it.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_code_interpreter.pl.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_code_interpreter.uk.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_code_interpreter.zh.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_custom.de.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_custom.en.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_custom.es.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_custom.fr.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_custom.it.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_custom.pl.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_custom.uk.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_custom.zh.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_files.de.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_files.en.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_files.es.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_files.fr.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_files.it.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_files.pl.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_files.uk.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_files.zh.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_history.de.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_history.en.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_history.es.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_history.fr.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_history.it.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_history.pl.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_history.uk.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_history.zh.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_mouse_control.de.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_mouse_control.en.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_mouse_control.es.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_mouse_control.fr.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_mouse_control.it.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_mouse_control.pl.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_mouse_control.uk.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_mouse_control.zh.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_serial.de.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_serial.en.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_serial.es.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_serial.fr.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_serial.it.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_serial.pl.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_serial.uk.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_serial.zh.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_system.de.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_system.en.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_system.es.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_system.fr.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_system.it.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_system.pl.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_system.uk.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_system.zh.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_web.de.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_web.en.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_web.es.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_web.fr.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_web.it.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_web.pl.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_web.uk.ini +0 -0
- pygpt_net/data/locale/plugin.cmd_web.zh.ini +0 -0
- pygpt_net/data/locale/plugin.crontab.de.ini +0 -0
- pygpt_net/data/locale/plugin.crontab.en.ini +0 -0
- pygpt_net/data/locale/plugin.crontab.es.ini +0 -0
- pygpt_net/data/locale/plugin.crontab.fr.ini +0 -0
- pygpt_net/data/locale/plugin.crontab.it.ini +0 -0
- pygpt_net/data/locale/plugin.crontab.pl.ini +0 -0
- pygpt_net/data/locale/plugin.crontab.uk.ini +0 -0
- pygpt_net/data/locale/plugin.crontab.zh.ini +0 -0
- pygpt_net/data/locale/plugin.experts.de.ini +0 -0
- pygpt_net/data/locale/plugin.experts.en.ini +0 -0
- pygpt_net/data/locale/plugin.experts.es.ini +0 -0
- pygpt_net/data/locale/plugin.experts.fr.ini +0 -0
- pygpt_net/data/locale/plugin.experts.it.ini +0 -0
- pygpt_net/data/locale/plugin.experts.pl.ini +0 -0
- pygpt_net/data/locale/plugin.experts.uk.ini +0 -0
- pygpt_net/data/locale/plugin.experts.zh.ini +0 -0
- pygpt_net/data/locale/plugin.extra_prompt.de.ini +0 -0
- pygpt_net/data/locale/plugin.extra_prompt.en.ini +0 -0
- pygpt_net/data/locale/plugin.extra_prompt.es.ini +0 -0
- pygpt_net/data/locale/plugin.extra_prompt.fr.ini +0 -0
- pygpt_net/data/locale/plugin.extra_prompt.it.ini +0 -0
- pygpt_net/data/locale/plugin.extra_prompt.pl.ini +0 -0
- pygpt_net/data/locale/plugin.extra_prompt.uk.ini +0 -0
- pygpt_net/data/locale/plugin.extra_prompt.zh.ini +0 -0
- pygpt_net/data/locale/plugin.idx_llama_index.de.ini +0 -0
- pygpt_net/data/locale/plugin.idx_llama_index.en.ini +0 -0
- pygpt_net/data/locale/plugin.idx_llama_index.es.ini +0 -0
- pygpt_net/data/locale/plugin.idx_llama_index.fr.ini +0 -0
- pygpt_net/data/locale/plugin.idx_llama_index.it.ini +0 -0
- pygpt_net/data/locale/plugin.idx_llama_index.pl.ini +0 -0
- pygpt_net/data/locale/plugin.idx_llama_index.uk.ini +0 -0
- pygpt_net/data/locale/plugin.idx_llama_index.zh.ini +0 -0
- pygpt_net/data/locale/plugin.mailer.en.ini +0 -0
- pygpt_net/data/locale/plugin.mcp.en.ini +0 -0
- pygpt_net/data/locale/plugin.openai_dalle.de.ini +0 -0
- pygpt_net/data/locale/plugin.openai_dalle.en.ini +0 -0
- pygpt_net/data/locale/plugin.openai_dalle.es.ini +0 -0
- pygpt_net/data/locale/plugin.openai_dalle.fr.ini +0 -0
- pygpt_net/data/locale/plugin.openai_dalle.it.ini +0 -0
- pygpt_net/data/locale/plugin.openai_dalle.pl.ini +0 -0
- pygpt_net/data/locale/plugin.openai_dalle.uk.ini +0 -0
- pygpt_net/data/locale/plugin.openai_dalle.zh.ini +0 -0
- pygpt_net/data/locale/plugin.openai_vision.de.ini +0 -0
- pygpt_net/data/locale/plugin.openai_vision.en.ini +0 -0
- pygpt_net/data/locale/plugin.openai_vision.es.ini +0 -0
- pygpt_net/data/locale/plugin.openai_vision.fr.ini +0 -0
- pygpt_net/data/locale/plugin.openai_vision.it.ini +0 -0
- pygpt_net/data/locale/plugin.openai_vision.pl.ini +0 -0
- pygpt_net/data/locale/plugin.openai_vision.uk.ini +0 -0
- pygpt_net/data/locale/plugin.openai_vision.zh.ini +0 -0
- pygpt_net/data/locale/plugin.osm.en.ini +24 -24
- pygpt_net/data/locale/plugin.real_time.de.ini +0 -0
- pygpt_net/data/locale/plugin.real_time.en.ini +0 -0
- pygpt_net/data/locale/plugin.real_time.es.ini +0 -0
- pygpt_net/data/locale/plugin.real_time.fr.ini +0 -0
- pygpt_net/data/locale/plugin.real_time.it.ini +0 -0
- pygpt_net/data/locale/plugin.real_time.pl.ini +0 -0
- pygpt_net/data/locale/plugin.real_time.uk.ini +0 -0
- pygpt_net/data/locale/plugin.real_time.zh.ini +0 -0
- pygpt_net/data/locale/plugin.voice_control.de.ini +0 -0
- pygpt_net/data/locale/plugin.voice_control.en.ini +0 -0
- pygpt_net/data/locale/plugin.voice_control.es.ini +0 -0
- pygpt_net/data/locale/plugin.voice_control.fr.ini +0 -0
- pygpt_net/data/locale/plugin.voice_control.it.ini +0 -0
- pygpt_net/data/locale/plugin.voice_control.pl.ini +0 -0
- pygpt_net/data/locale/plugin.voice_control.uk.ini +0 -0
- pygpt_net/data/locale/plugin.voice_control.zh.ini +0 -0
- pygpt_net/data/locale/plugin.wolfram.en.ini +9 -9
- pygpt_net/plugin/cmd_web/config.py +17 -17
- pygpt_net/plugin/cmd_web/worker.py +325 -171
- pygpt_net/provider/api/x_ai/__init__.py +2 -0
- pygpt_net/provider/core/config/patch.py +15 -0
- pygpt_net/provider/core/config/patches/patch_before_2_6_42.py +1 -0
- pygpt_net/provider/llms/anthropic.py +4 -0
- pygpt_net/provider/llms/base.py +2 -0
- pygpt_net/provider/llms/deepseek_api.py +2 -0
- pygpt_net/provider/llms/google.py +2 -0
- pygpt_net/provider/llms/hugging_face_api.py +4 -0
- pygpt_net/provider/llms/hugging_face_router.py +2 -0
- pygpt_net/provider/llms/mistral.py +4 -0
- pygpt_net/provider/llms/perplexity.py +2 -0
- pygpt_net/provider/llms/x_ai.py +2 -0
- pygpt_net/ui/layout/chat/output.py +5 -5
- pygpt_net/ui/widget/dialog/base.py +4 -1
- pygpt_net/ui/widget/textarea/html.py +1 -0
- pygpt_net/ui/widget/textarea/input.py +19 -3
- pygpt_net/ui/widget/textarea/web.py +2 -1
- {pygpt_net-2.6.56.dist-info → pygpt_net-2.6.57.dist-info}/METADATA +10 -2
- {pygpt_net-2.6.56.dist-info → pygpt_net-2.6.57.dist-info}/RECORD +44 -44
- {pygpt_net-2.6.56.dist-info → pygpt_net-2.6.57.dist-info}/LICENSE +0 -0
- {pygpt_net-2.6.56.dist-info → pygpt_net-2.6.57.dist-info}/WHEEL +0 -0
- {pygpt_net-2.6.56.dist-info → pygpt_net-2.6.57.dist-info}/entry_points.txt +0 -0
pygpt_net/CHANGELOG.txt
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
2.6.57 (2025-09-22)
|
|
2
|
+
|
|
3
|
+
- Changed: The web search icon has been moved to the input area.
|
|
4
|
+
- Improved: The local web search plugin has been enhanced to retrieve multiple URLs at once.
|
|
5
|
+
- Added: Use proxy switch in Settings.
|
|
6
|
+
|
|
1
7
|
2.6.56 (2025-09-22)
|
|
2
8
|
|
|
3
9
|
- Optimized: Memory usage and performance in streaming and rendering large contexts.
|
pygpt_net/__init__.py
CHANGED
|
@@ -13,7 +13,7 @@ __author__ = "Marcin Szczygliński"
|
|
|
13
13
|
__copyright__ = "Copyright 2025, Marcin Szczygliński"
|
|
14
14
|
__credits__ = ["Marcin Szczygliński"]
|
|
15
15
|
__license__ = "MIT"
|
|
16
|
-
__version__ = "2.6.
|
|
16
|
+
__version__ = "2.6.57"
|
|
17
17
|
__build__ = "2025-09-22"
|
|
18
18
|
__maintainer__ = "Marcin Szczygliński"
|
|
19
19
|
__github__ = "https://github.com/szczyglis-dev/py-gpt"
|
pygpt_net/config.py
CHANGED
|
@@ -208,6 +208,50 @@ class Config:
|
|
|
208
208
|
workdir = "/data"
|
|
209
209
|
return workdir
|
|
210
210
|
|
|
211
|
+
def remove_plugin_config(self, plugin: str, key: str = None) -> bool:
|
|
212
|
+
"""
|
|
213
|
+
Remove plugin config or specific key
|
|
214
|
+
|
|
215
|
+
:param plugin: plugin name
|
|
216
|
+
:param key: key name (optional)
|
|
217
|
+
:return: True if removed
|
|
218
|
+
"""
|
|
219
|
+
try:
|
|
220
|
+
if plugin not in self.data['plugins']:
|
|
221
|
+
return False
|
|
222
|
+
if key is None:
|
|
223
|
+
del self.data['plugins'][plugin]
|
|
224
|
+
self.window.core.plugins.remove_plugin_param_from_presets(plugin)
|
|
225
|
+
return True
|
|
226
|
+
if plugin in self.data['plugins'] \
|
|
227
|
+
and key in self.data['plugins'][plugin]:
|
|
228
|
+
del self.data['plugins'][plugin][key]
|
|
229
|
+
self.window.core.plugins.remove_plugin_param_from_presets(plugin, key)
|
|
230
|
+
return True
|
|
231
|
+
except Exception as e:
|
|
232
|
+
print(f"Error removing plugin config: {e}")
|
|
233
|
+
return False
|
|
234
|
+
|
|
235
|
+
def update_plugin_config(self, plugin: str, key: str, value: any) -> bool:
|
|
236
|
+
"""
|
|
237
|
+
Update plugin config key with value
|
|
238
|
+
|
|
239
|
+
:param plugin: plugin name
|
|
240
|
+
:param key: key name
|
|
241
|
+
:param value: value
|
|
242
|
+
:return: True if updated
|
|
243
|
+
"""
|
|
244
|
+
try:
|
|
245
|
+
if 'plugins' not in self.data:
|
|
246
|
+
self.data['plugins'] = {}
|
|
247
|
+
if plugin not in self.data['plugins']:
|
|
248
|
+
self.data['plugins'][plugin] = {}
|
|
249
|
+
self.data['plugins'][plugin][key] = value
|
|
250
|
+
return True
|
|
251
|
+
except Exception as e:
|
|
252
|
+
print(f"Error updating plugin config: {e}")
|
|
253
|
+
return False
|
|
254
|
+
|
|
211
255
|
def get_app_path(self) -> str:
|
|
212
256
|
"""
|
|
213
257
|
Return app data path
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
|
7
7
|
# MIT License #
|
|
8
8
|
# Created By : Marcin Szczygliński #
|
|
9
|
-
# Updated Date: 2025.09.
|
|
9
|
+
# Updated Date: 2025.09.22 12:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
from typing import Union
|
|
@@ -87,9 +87,11 @@ class RemoteTools:
|
|
|
87
87
|
"""
|
|
88
88
|
state = self.enabled_global["web_search"]
|
|
89
89
|
if state:
|
|
90
|
-
self.window.ui.nodes['
|
|
90
|
+
self.window.ui.nodes['input'].set_icon_state("web", True)
|
|
91
|
+
# self.window.ui.nodes['icon.remote_tool.web'].set_icon(":/icons/web_on.svg")
|
|
91
92
|
else:
|
|
92
|
-
self.window.ui.nodes['
|
|
93
|
+
self.window.ui.nodes['input'].set_icon_state("web", False)
|
|
94
|
+
# self.window.ui.nodes['icon.remote_tool.web'].set_icon(":/icons/web_off.svg")
|
|
93
95
|
|
|
94
96
|
def toggle(self, tool_name: str):
|
|
95
97
|
"""
|
pygpt_net/controller/ui/mode.py
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
|
7
7
|
# MIT License #
|
|
8
8
|
# Created By : Marcin Szczygliński #
|
|
9
|
-
# Updated Date: 2025.09.
|
|
9
|
+
# Updated Date: 2025.09.22 12:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
from pygpt_net.core.types import (
|
|
@@ -197,9 +197,11 @@ class Mode:
|
|
|
197
197
|
|
|
198
198
|
# remote tools icon visibility
|
|
199
199
|
if not is_image and not is_completion:
|
|
200
|
-
|
|
200
|
+
self.window.ui.nodes['input'].set_icon_visible("web", True)
|
|
201
|
+
# ui_nodes['icon.remote_tool.web'].setVisible(True)
|
|
201
202
|
else:
|
|
202
|
-
|
|
203
|
+
self.window.ui.nodes['input'].set_icon_visible("web", False)
|
|
204
|
+
# ui_nodes['icon.remote_tool.web'].setVisible(False)
|
|
203
205
|
|
|
204
206
|
ui_tabs['input'].setTabVisible(2, is_assistant)
|
|
205
207
|
ui_tabs['input'].setTabVisible(3, (not is_assistant) and (not is_image))
|
pygpt_net/core/models/models.py
CHANGED
|
@@ -475,7 +475,8 @@ class Models:
|
|
|
475
475
|
|
|
476
476
|
if cfg.has('api_proxy'):
|
|
477
477
|
proxy = cfg.get('api_proxy')
|
|
478
|
-
if proxy:
|
|
478
|
+
if proxy and cfg.get('api_proxy.enabled', False):
|
|
479
|
+
args["api_proxy"] = proxy
|
|
479
480
|
transport = SyncProxyTransport.from_url(proxy)
|
|
480
481
|
args["http_client"] = DefaultHttpxClient(transport=transport)
|
|
481
482
|
|
|
@@ -357,6 +357,66 @@ class Plugins:
|
|
|
357
357
|
"""Load presets"""
|
|
358
358
|
self.presets = self.provider.load()
|
|
359
359
|
|
|
360
|
+
def remove_plugin_param_from_presets(self, plugin_id: str, param: str = None) -> bool:
|
|
361
|
+
"""
|
|
362
|
+
Remove plugin param from all presets
|
|
363
|
+
|
|
364
|
+
:param plugin_id: plugin id
|
|
365
|
+
:param param: param key
|
|
366
|
+
:return: True if updated
|
|
367
|
+
"""
|
|
368
|
+
updated = False
|
|
369
|
+
if self.presets is None:
|
|
370
|
+
self.load_presets()
|
|
371
|
+
|
|
372
|
+
if self.presets is None:
|
|
373
|
+
return False
|
|
374
|
+
|
|
375
|
+
if param is None:
|
|
376
|
+
# remove all params for plugin
|
|
377
|
+
for _preset_id, preset in self.presets.items():
|
|
378
|
+
preset_config = preset["config"]
|
|
379
|
+
if plugin_id in preset_config:
|
|
380
|
+
preset_config.pop(plugin_id)
|
|
381
|
+
updated = True
|
|
382
|
+
if updated:
|
|
383
|
+
self.save_presets()
|
|
384
|
+
return updated
|
|
385
|
+
|
|
386
|
+
for _preset_id, preset in self.presets.items():
|
|
387
|
+
preset_config = preset["config"]
|
|
388
|
+
if plugin_id in preset_config and param in preset_config[plugin_id]:
|
|
389
|
+
preset_config[plugin_id].pop(param)
|
|
390
|
+
updated = True
|
|
391
|
+
if updated:
|
|
392
|
+
self.save_presets()
|
|
393
|
+
return updated
|
|
394
|
+
|
|
395
|
+
def update_param_in_presets(self, plugin_id: str, param: str, value: Any) -> bool:
|
|
396
|
+
"""
|
|
397
|
+
Update plugin param in all presets
|
|
398
|
+
|
|
399
|
+
:param plugin_id: plugin id
|
|
400
|
+
:param param: param key
|
|
401
|
+
:param value: param value
|
|
402
|
+
:return: True if updated
|
|
403
|
+
"""
|
|
404
|
+
updated = False
|
|
405
|
+
if self.presets is None:
|
|
406
|
+
self.load_presets()
|
|
407
|
+
|
|
408
|
+
if self.presets is None:
|
|
409
|
+
return False
|
|
410
|
+
|
|
411
|
+
for _preset_id, preset in self.presets.items():
|
|
412
|
+
preset_config = preset["config"]
|
|
413
|
+
if plugin_id in preset_config and param in preset_config[plugin_id]:
|
|
414
|
+
preset_config[plugin_id][param] = value
|
|
415
|
+
updated = True
|
|
416
|
+
if updated:
|
|
417
|
+
self.save_presets()
|
|
418
|
+
return updated
|
|
419
|
+
|
|
360
420
|
def get_presets(self) -> Dict[str, Any]:
|
|
361
421
|
"""
|
|
362
422
|
Return all presets
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"__meta__": {
|
|
3
|
-
"version": "2.6.
|
|
4
|
-
"app.version": "2.6.
|
|
3
|
+
"version": "2.6.57",
|
|
4
|
+
"app.version": "2.6.57",
|
|
5
5
|
"updated_at": "2025-09-22T00:00:00"
|
|
6
6
|
},
|
|
7
7
|
"access.audio.event.speech": false,
|
|
@@ -96,6 +96,7 @@
|
|
|
96
96
|
"api_native_google.use_vertex": false,
|
|
97
97
|
"api_native_xai": true,
|
|
98
98
|
"api_proxy": "",
|
|
99
|
+
"api_proxy.enabled": false,
|
|
99
100
|
"api_use_responses": true,
|
|
100
101
|
"api_use_responses_llama": true,
|
|
101
102
|
"app.env": [
|
|
@@ -579,6 +579,20 @@
|
|
|
579
579
|
"step": 1,
|
|
580
580
|
"advanced": false
|
|
581
581
|
},
|
|
582
|
+
"api_proxy.enabled": {
|
|
583
|
+
"section": "general",
|
|
584
|
+
"type": "bool",
|
|
585
|
+
"slider": false,
|
|
586
|
+
"label": "settings.api_proxy.enabled",
|
|
587
|
+
"description": "settings.api_proxy.enabled.desc",
|
|
588
|
+
"value": true,
|
|
589
|
+
"min": null,
|
|
590
|
+
"max": null,
|
|
591
|
+
"multiplier": null,
|
|
592
|
+
"step": null,
|
|
593
|
+
"secret": false,
|
|
594
|
+
"advanced": false
|
|
595
|
+
},
|
|
582
596
|
"api_proxy": {
|
|
583
597
|
"section": "general",
|
|
584
598
|
"type": "text",
|
|
@@ -1106,8 +1106,10 @@ settings.api_key.perplexity = Perplexity API-SCHLÜSSEL
|
|
|
1106
1106
|
settings.api_key.perplexity.desc = Erforderlich für die Perplexity API.
|
|
1107
1107
|
settings.api_key.xai = xAI API-SCHLÜSSEL
|
|
1108
1108
|
settings.api_key.xai.desc = Erforderlich für die xAI API und Grok-Modelle.
|
|
1109
|
-
settings.api_proxy = Proxy
|
|
1109
|
+
settings.api_proxy = Proxy verwenden
|
|
1110
|
+
settings.api_proxy.enabled = Proxy-Adresse
|
|
1110
1111
|
settings.api_proxy.desc = Optional, Proxy für API SDK, z.B. http://proxy.example.com oder socks5://user:pass@host:port
|
|
1112
|
+
settings.api_proxy.enabled.desc = Aktivieren Sie diese Option, um einen Proxy für Verbindungen zu APIs zu verwenden
|
|
1111
1113
|
settings.api_use_responses = Verwenden Sie die Responses API im Chat-Modus
|
|
1112
1114
|
settings.api_use_responses.desc = Verwenden Sie die Responses API anstelle der ChatCompletions API im Chat-Modus
|
|
1113
1115
|
settings.api_use_responses_llama = Verwenden Sie die Responses API im Chat mit Dateien Modus (LlamaIndex)
|
|
@@ -72,6 +72,10 @@ action.use.read_cmd = Ask for reading this file...
|
|
|
72
72
|
action.video.open = Open video or audio...
|
|
73
73
|
action.video.play = Play video or audio...
|
|
74
74
|
action.video.transcribe = Transcribe audio...
|
|
75
|
+
agent.builder.confirm.clear.msg = Do you really want to clear the graph?
|
|
76
|
+
agent.builder.confirm.clear.title = Clear
|
|
77
|
+
agent.builder.confirm.delete.msg = Do you really want to delete the agent?
|
|
78
|
+
agent.builder.title = Agent Builder
|
|
75
79
|
agent.coder.additional.label = Additional prompt
|
|
76
80
|
agent.coder.additional.prompt.desc = Additional prompt for agent (will be added to the base prompt)
|
|
77
81
|
agent.coder.base.label = Base prompt
|
|
@@ -776,6 +780,7 @@ menu.config.save = Save config
|
|
|
776
780
|
menu.config.settings = Settings...
|
|
777
781
|
menu.debug = Debug
|
|
778
782
|
menu.debug.agent = Agent...
|
|
783
|
+
menu.debug.agent_builder = Agent Builder
|
|
779
784
|
menu.debug.app.log = View log file (app.log)
|
|
780
785
|
menu.debug.assistants = Assistants...
|
|
781
786
|
menu.debug.attachments = Files / attachments...
|
|
@@ -830,6 +835,7 @@ menu.theme.style = Style...
|
|
|
830
835
|
menu.theme.syntax = Code syntax highlight...
|
|
831
836
|
menu.theme.tooltips = Show tooltips
|
|
832
837
|
menu.tools = Tools
|
|
838
|
+
menu.tools.agent.builder = Agent Builder
|
|
833
839
|
menu.tools.audio.transcribe = Transcribe Audio/Video Files
|
|
834
840
|
menu.tools.html_canvas = HTML/JS Canvas
|
|
835
841
|
menu.tools.image.viewer = Image Viewer
|
|
@@ -1143,7 +1149,9 @@ settings.api_native_google.use_vertex.desc = Enable to use VertexAI in Google Ge
|
|
|
1143
1149
|
settings.api_native_xai = Use native API SDK
|
|
1144
1150
|
settings.api_native_xai.desc = Use native xAI SDK instead of compatible OpenAI client
|
|
1145
1151
|
settings.api_proxy = Proxy address
|
|
1152
|
+
settings.api_proxy.enabled = Use proxy
|
|
1146
1153
|
settings.api_proxy.desc = Optional, proxy for API SDKs, e.g. http://proxy.example.com or socks5://user:pass@host:port
|
|
1154
|
+
settings.api_proxy.enabled.desc = Enable this option to use a proxy for connections to APIs
|
|
1147
1155
|
settings.api_use_responses = Use Responses API in Chat mode
|
|
1148
1156
|
settings.api_use_responses.desc = Use Responses API instead of ChatCompletions API in Chat mode
|
|
1149
1157
|
settings.api_use_responses_llama = Use Responses API in Chat with Files mode (LlamaIndex)
|
|
@@ -1652,10 +1660,3 @@ vision.capture.manual.captured.success = Image captured from the camera:
|
|
|
1652
1660
|
vision.capture.name.prefix = Camera capture:
|
|
1653
1661
|
vision.capture.options.title = Video capture
|
|
1654
1662
|
vision.checkbox.tooltip = If checked, the vision model is active. It will be automatically activated upon image upload. You can deactivate it in real-time.
|
|
1655
|
-
|
|
1656
|
-
menu.tools.agent.builder = Agent Builder
|
|
1657
|
-
agent.builder.title = Agent Builder
|
|
1658
|
-
agent.builder.confirm.clear.title = Clear
|
|
1659
|
-
agent.builder.confirm.clear.msg = Do you really want to clear the graph?
|
|
1660
|
-
agent.builder.confirm.delete.msg = Do you really want to delete the agent?
|
|
1661
|
-
menu.debug.agent_builder = Agent Builder
|
|
@@ -1108,7 +1108,9 @@ settings.api_key.perplexity.desc = Requerido para la API Perplexity.
|
|
|
1108
1108
|
settings.api_key.xai = CLAVE API xAI
|
|
1109
1109
|
settings.api_key.xai.desc = Requerido para la API xAI y modelos Grok.
|
|
1110
1110
|
settings.api_proxy = Dirección proxy
|
|
1111
|
+
settings.api_proxy.enabled = Usar proxy
|
|
1111
1112
|
settings.api_proxy.desc = Opcional, proxy para API SDK, por ej. http://proxy.example.com o socks5://user:pass@host:port
|
|
1113
|
+
settings.api_proxy.enabled.desc = Habilita esta opción para usar un proxy para las conexiones a las API
|
|
1112
1114
|
settings.api_use_responses = Usar API de Respuestas en modo Chat
|
|
1113
1115
|
settings.api_use_responses.desc = Usar API de Respuestas en lugar de ChatCompletions API en modo Chat
|
|
1114
1116
|
settings.api_use_responses_llama = Usar Responses API en modo Chat con Archivos (LlamaIndex)
|
|
@@ -1107,7 +1107,9 @@ settings.api_key.perplexity.desc = Requis pour l'API Perplexity.
|
|
|
1107
1107
|
settings.api_key.xai = Clé API xAI
|
|
1108
1108
|
settings.api_key.xai.desc = Requis pour l'API xAI et les modèles Grok.
|
|
1109
1109
|
settings.api_proxy = Adresse proxy
|
|
1110
|
+
settings.api_proxy.enabled = Utiliser un proxy
|
|
1110
1111
|
settings.api_proxy.desc = Optionnel, proxy pour l'API SDK, par ex. http://proxy.example.com ou socks5://user:pass@host:port
|
|
1112
|
+
settings.api_proxy.enabled.desc = Activez cette option pour utiliser un proxy pour les connexions aux API
|
|
1111
1113
|
settings.api_use_responses = Utiliser l'API Responses en mode chat
|
|
1112
1114
|
settings.api_use_responses.desc = Utiliser l'API Responses au lieu de l'API ChatCompletions en mode chat
|
|
1113
1115
|
settings.api_use_responses_llama = Utiliser Responses API en mode Chat avec des Fichiers (LlamaIndex)
|
|
@@ -1107,7 +1107,9 @@ settings.api_key.perplexity.desc = Necessario per l'API Perplexity.
|
|
|
1107
1107
|
settings.api_key.xai = Chiave API xAI
|
|
1108
1108
|
settings.api_key.xai.desc = Necessario per l'API xAI e i modelli Grok.
|
|
1109
1109
|
settings.api_proxy = Indirizzo proxy
|
|
1110
|
+
settings.api_proxy.enabled = Usa proxy
|
|
1110
1111
|
settings.api_proxy.desc = Opzionale, proxy per l'API SDK, es. http://proxy.example.com o socks5://user:pass@host:port
|
|
1112
|
+
settings.api_proxy.enabled.desc = Abilita questa opzione per utilizzare un proxy per le connessioni alle API
|
|
1111
1113
|
settings.api_use_responses = Utilizzare l'API delle Risposte in modalità chat
|
|
1112
1114
|
settings.api_use_responses.desc = Utilizzare l'API delle Risposte invece dell'API ChatCompletions in modalità chat
|
|
1113
1115
|
settings.api_use_responses_llama = Usa il Responses API in modalità Chat con File (LlamaIndex)
|
|
@@ -678,7 +678,7 @@ html_canvas.btn.edit = Edytuj kod źródłowy
|
|
|
678
678
|
html_canvas.clear.confirm = Wyczyścić wynik płótna HTML?
|
|
679
679
|
icon.audio.input = Włącz/wyłącz wejście audio
|
|
680
680
|
icon.audio.output = Włącz/wyłącz wyjście audio
|
|
681
|
-
icon.remote_tool.web = Wyszukiwanie w sieci (narzędzie zdalne, nie lokalne)
|
|
681
|
+
icon.remote_tool.web = Wyszukiwanie w sieci (narzędzie zdalne, nie lokalne)
|
|
682
682
|
icon.video.capture = Włącz/wyłącz przechwytywanie wideo z kamery
|
|
683
683
|
idx.btn.clear = Wyczyść indeks
|
|
684
684
|
idx.btn.index_all = Indeksuj wszystko
|
|
@@ -1108,7 +1108,9 @@ settings.api_key.perplexity.desc = Wymagane do Perplexity API.
|
|
|
1108
1108
|
settings.api_key.xai = Klucz API xAI
|
|
1109
1109
|
settings.api_key.xai.desc = Wymagane do xAI API i modeli Grok.
|
|
1110
1110
|
settings.api_proxy = Adres proxy
|
|
1111
|
+
settings.api_proxy.enabled = Użyj proxy
|
|
1111
1112
|
settings.api_proxy.desc = Opcjonalnie, proxy dla API SDK, np. http://proxy.example.com lub socks5://user:pass@host:port
|
|
1113
|
+
settings.api_proxy.enabled.desc = Włącz tę opcję, aby używać proxy do połączeń z API
|
|
1112
1114
|
settings.api_use_responses = Używaj Responses API w trybie czatu
|
|
1113
1115
|
settings.api_use_responses.desc = Używaj Responses API zamiast ChatCompletions API w trybie czatu
|
|
1114
1116
|
settings.api_use_responses_llama = Używaj Responses API w trybie Chat z Plikami (LlamaIndex)
|
|
@@ -1106,8 +1106,10 @@ settings.api_key.perplexity = КЛЮЧ API Perplexity
|
|
|
1106
1106
|
settings.api_key.perplexity.desc = Обов'язковий для Perplexity API.
|
|
1107
1107
|
settings.api_key.xai = КЛЮЧ API xAI
|
|
1108
1108
|
settings.api_key.xai.desc = Обов'язковий для xAI API та моделей Grok.
|
|
1109
|
-
settings.api_proxy =
|
|
1109
|
+
settings.api_proxy = Використовувати проксі
|
|
1110
|
+
settings.api_proxy.enabled = Проксі-адреса
|
|
1110
1111
|
settings.api_proxy.desc = Опціонально, проксі для API SDK, наприклад, http://proxy.example.com або socks5://user:pass@host:port
|
|
1112
|
+
settings.api_proxy.enabled.desc = Увімкніть цю опцію, щоб використовувати проксі для підключень до API
|
|
1111
1113
|
settings.api_use_responses = Використовувати API відповідей у режимі чату
|
|
1112
1114
|
settings.api_use_responses.desc = Використовувати API відповідей замість API ChatCompletions у режимі чату
|
|
1113
1115
|
settings.api_use_responses_llama = Використовувати Responses API в режимі Чат з Файлами (LlamaIndex)
|
|
@@ -1107,7 +1107,9 @@ settings.api_key.perplexity.desc = Perplexity API 所需。
|
|
|
1107
1107
|
settings.api_key.xai = xAI API 密钥
|
|
1108
1108
|
settings.api_key.xai.desc = xAI API 和 Grok 模型所需。
|
|
1109
1109
|
settings.api_proxy = 代理地址
|
|
1110
|
+
settings.api_proxy.enabled = 使用代理
|
|
1110
1111
|
settings.api_proxy.desc = 可选,用于 API SDK 的代理,例如 http://proxy.example.com 或 socks5://user:pass@host:port
|
|
1112
|
+
settings.api_proxy.enabled.desc = 启用此选项以使用代理进行 API 连接
|
|
1111
1113
|
settings.api_use_responses = 在聊天模式中使用 Responses API
|
|
1112
1114
|
settings.api_use_responses.desc = 在聊天模式中使用 Responses API 而不是 ChatCompletions API
|
|
1113
1115
|
settings.api_use_responses_llama = 在Chat with Files模式(LlamaIndex)下使用Responses API
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|