pygpt-net 2.6.60__py3-none-any.whl → 2.6.62__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 (87) hide show
  1. pygpt_net/CHANGELOG.txt +14 -0
  2. pygpt_net/__init__.py +3 -3
  3. pygpt_net/controller/chat/common.py +115 -6
  4. pygpt_net/controller/chat/input.py +4 -1
  5. pygpt_net/controller/chat/response.py +8 -2
  6. pygpt_net/controller/presets/presets.py +121 -6
  7. pygpt_net/controller/settings/editor.py +0 -15
  8. pygpt_net/controller/settings/profile.py +16 -4
  9. pygpt_net/controller/settings/workdir.py +30 -5
  10. pygpt_net/controller/theme/common.py +4 -2
  11. pygpt_net/controller/theme/markdown.py +4 -7
  12. pygpt_net/controller/theme/theme.py +2 -1
  13. pygpt_net/controller/ui/ui.py +32 -7
  14. pygpt_net/core/agents/custom/__init__.py +7 -1
  15. pygpt_net/core/agents/custom/llama_index/factory.py +17 -6
  16. pygpt_net/core/agents/custom/llama_index/runner.py +52 -4
  17. pygpt_net/core/agents/custom/llama_index/utils.py +12 -1
  18. pygpt_net/core/agents/custom/router.py +45 -6
  19. pygpt_net/core/agents/custom/runner.py +11 -5
  20. pygpt_net/core/agents/custom/schema.py +3 -1
  21. pygpt_net/core/agents/custom/utils.py +13 -1
  22. pygpt_net/core/agents/runners/llama_workflow.py +65 -5
  23. pygpt_net/core/agents/runners/openai_workflow.py +2 -1
  24. pygpt_net/core/db/viewer.py +11 -5
  25. pygpt_net/core/node_editor/graph.py +18 -9
  26. pygpt_net/core/node_editor/models.py +9 -2
  27. pygpt_net/core/node_editor/types.py +15 -1
  28. pygpt_net/core/presets/presets.py +216 -29
  29. pygpt_net/core/render/markdown/parser.py +0 -2
  30. pygpt_net/core/render/web/renderer.py +76 -11
  31. pygpt_net/data/config/config.json +5 -6
  32. pygpt_net/data/config/models.json +3 -3
  33. pygpt_net/data/config/settings.json +2 -38
  34. pygpt_net/data/css/style.dark.css +18 -0
  35. pygpt_net/data/css/style.light.css +20 -1
  36. pygpt_net/data/locale/locale.de.ini +66 -1
  37. pygpt_net/data/locale/locale.en.ini +64 -3
  38. pygpt_net/data/locale/locale.es.ini +66 -1
  39. pygpt_net/data/locale/locale.fr.ini +66 -1
  40. pygpt_net/data/locale/locale.it.ini +66 -1
  41. pygpt_net/data/locale/locale.pl.ini +67 -2
  42. pygpt_net/data/locale/locale.uk.ini +66 -1
  43. pygpt_net/data/locale/locale.zh.ini +66 -1
  44. pygpt_net/data/locale/plugin.cmd_system.en.ini +62 -66
  45. pygpt_net/item/ctx.py +23 -1
  46. pygpt_net/provider/agents/llama_index/flow_from_schema.py +2 -2
  47. pygpt_net/provider/agents/llama_index/workflow/codeact.py +9 -6
  48. pygpt_net/provider/agents/llama_index/workflow/openai.py +38 -11
  49. pygpt_net/provider/agents/llama_index/workflow/planner.py +36 -16
  50. pygpt_net/provider/agents/llama_index/workflow/supervisor.py +60 -10
  51. pygpt_net/provider/agents/openai/agent.py +3 -1
  52. pygpt_net/provider/agents/openai/agent_b2b.py +13 -9
  53. pygpt_net/provider/agents/openai/agent_planner.py +6 -2
  54. pygpt_net/provider/agents/openai/agent_with_experts.py +4 -1
  55. pygpt_net/provider/agents/openai/agent_with_experts_feedback.py +4 -2
  56. pygpt_net/provider/agents/openai/agent_with_feedback.py +4 -2
  57. pygpt_net/provider/agents/openai/evolve.py +6 -2
  58. pygpt_net/provider/agents/openai/supervisor.py +3 -1
  59. pygpt_net/provider/api/openai/agents/response.py +1 -0
  60. pygpt_net/provider/core/config/patch.py +18 -1
  61. pygpt_net/provider/core/config/patches/patch_before_2_6_42.py +0 -6
  62. pygpt_net/tools/agent_builder/tool.py +48 -26
  63. pygpt_net/tools/agent_builder/ui/dialogs.py +36 -28
  64. pygpt_net/ui/__init__.py +2 -4
  65. pygpt_net/ui/dialog/about.py +58 -38
  66. pygpt_net/ui/dialog/db.py +142 -3
  67. pygpt_net/ui/dialog/preset.py +47 -8
  68. pygpt_net/ui/layout/toolbox/presets.py +64 -16
  69. pygpt_net/ui/main.py +2 -2
  70. pygpt_net/ui/widget/dialog/confirm.py +27 -3
  71. pygpt_net/ui/widget/dialog/db.py +0 -0
  72. pygpt_net/ui/widget/draw/painter.py +90 -1
  73. pygpt_net/ui/widget/lists/preset.py +908 -60
  74. pygpt_net/ui/widget/node_editor/command.py +10 -10
  75. pygpt_net/ui/widget/node_editor/config.py +157 -0
  76. pygpt_net/ui/widget/node_editor/editor.py +223 -153
  77. pygpt_net/ui/widget/node_editor/item.py +12 -11
  78. pygpt_net/ui/widget/node_editor/node.py +246 -13
  79. pygpt_net/ui/widget/node_editor/view.py +179 -63
  80. pygpt_net/ui/widget/tabs/output.py +1 -1
  81. pygpt_net/ui/widget/textarea/input.py +157 -23
  82. pygpt_net/utils.py +114 -2
  83. {pygpt_net-2.6.60.dist-info → pygpt_net-2.6.62.dist-info}/METADATA +26 -100
  84. {pygpt_net-2.6.60.dist-info → pygpt_net-2.6.62.dist-info}/RECORD +86 -85
  85. {pygpt_net-2.6.60.dist-info → pygpt_net-2.6.62.dist-info}/LICENSE +0 -0
  86. {pygpt_net-2.6.60.dist-info → pygpt_net-2.6.62.dist-info}/WHEEL +0 -0
  87. {pygpt_net-2.6.60.dist-info → pygpt_net-2.6.62.dist-info}/entry_points.txt +0 -0
@@ -43,6 +43,7 @@ action.profile.delete = Видалити профіль (лише зі спис
43
43
  action.profile.delete_all = Видалити профіль (і всі файли користувача)
44
44
  action.redo = Повторити
45
45
  action.refresh = Оновити
46
+ action.reload: Перезавантажити
46
47
  action.rename = Перейменувати
47
48
  action.reset = Скинути
48
49
  action.restore = Відновити
@@ -50,7 +51,8 @@ action.save = Зберегти
50
51
  action.save_as = Зберегти як...
51
52
  action.save_selection_as = Зберегти вибір як...
52
53
  action.select_all = Вибрати все
53
- action.tab.add.chat = Додати новий чат
54
+ action.tab.add.chat: Додати новий чат
55
+ action.tab.add.chat.tooltip: Додати новий чат (ПКМ для більше опцій...)
54
56
  action.tab.add.notepad = Додати новий блокнот
55
57
  action.tab.add.tool = Додати новий інструмент
56
58
  action.tab.close = Закрити
@@ -72,6 +74,8 @@ action.use.read_cmd = Попросіть прочитати цей файл...
72
74
  action.video.open = Відкрити відео або аудіо...
73
75
  action.video.play = Відтворити відео або аудіо...
74
76
  action.video.transcribe = Транскрибувати аудіо...
77
+ agent.builder.title = Редактор Агентів
78
+ agent.builder.tooltip = Відкрити Редактор Агентів
75
79
  agent.coder.additional.label = Додаткова підказка
76
80
  agent.coder.additional.prompt.desc = Додаткова підказка для агента (буде додано до базової підказки)
77
81
  agent.coder.base.label = Базова підказка
@@ -101,6 +105,7 @@ agent.option.prompt.planner.desc = Підказка для планувальн
101
105
  agent.option.prompt.search.desc = Підказка для пошукового агента
102
106
  agent.option.prompt.supervisor.desc = Підказка для супервізора
103
107
  agent.option.prompt.worker.desc = Підказка для працівника
108
+ agent.option.role = Короткий опис роботи агента для інструкцій моделі (необов'язково)
104
109
  agent.option.section.base = Базовий агент
105
110
  agent.option.section.chooser = Вибирач
106
111
  agent.option.section.feedback = Відгук
@@ -239,6 +244,8 @@ clipboard.copied_to = Скопійовано до буфера обміну:
239
244
  cmd.enabled = + Інструменти
240
245
  cmd.tip = Порада: Щоб увімкнути виконання інструментів із плагінів, ви повинні увімкнути опцію "+ Інструменти".
241
246
  coming_soon = Незабаром...
247
+ common.down = Перемістити вниз
248
+ common.up = Перемістити вгору
242
249
  confirm.assistant.delete = Видалити помічника?
243
250
  confirm.assistant.files.clear = Очистити файли (лише локально)?
244
251
  confirm.assistant.files.truncate = Ви впевнені, що хочете видалити усі файли з усіх баз?
@@ -651,6 +658,7 @@ event.control.voice_cmd.toggle = Керування голосом: Перемк
651
658
  event.control.voice_msg.start = Голосовий вхід: Розпочати
652
659
  event.control.voice_msg.stop = Голосовий вхід: Зупинити
653
660
  event.control.voice_msg.toggle = Голосовий вхід: Перемкнути
661
+ exit.msg = Вам подобається PyGPT? Підтримайте розвиток проєкту:
654
662
  expert.wait.failed: Виклик експерта не вдався
655
663
  expert.wait.status: Очікування експерта...
656
664
  files.delete.confirm = Видалити файл/директорію?
@@ -678,6 +686,8 @@ html_canvas.clear.confirm = Очистити вихідні дані HTML-кан
678
686
  icon.audio.input = Увімкнути/вимкнути аудіовхід
679
687
  icon.audio.output = Увімкнути/вимкнути аудіовихід
680
688
  icon.remote_tool.web = Пошук у мережі (віддалений інструмент, не локальний інструмент)
689
+ icon.remote_tool.web.disabled: Пошук в Інтернеті (віддалений інструмент, не локальний) - вимкнено
690
+ icon.remote_tool.web.enabled: Пошук в Інтернеті (віддалений інструмент, не локальний) - увімкнено
681
691
  icon.video.capture = Увімкнути/вимкнути захоплення відео з камери
682
692
  idx.btn.clear = Очистити індекс
683
693
  idx.btn.index_all = Індексувати все
@@ -725,6 +735,7 @@ input.search.placeholder = Пошук...
725
735
  input.send_clear = Очистити після відправлення
726
736
  input.stream = Потік
727
737
  input.tab = Введення
738
+ input.tab.tooltip = {chars} символів (~{tokens} токенів)
728
739
  interpreter.all = Виконати історію (все)
729
740
  interpreter.auto_clear = Очистити при відправці
730
741
  interpreter.btn.clear = Очистити вивід
@@ -773,6 +784,7 @@ menu.config.save = Зберегти конфігурацію
773
784
  menu.config.settings = Налаштування...
774
785
  menu.debug = Відладка
775
786
  menu.debug.agent = Агент...
787
+ menu.debug.agent_builder = Редактор Агентів
776
788
  menu.debug.app.log = Переглянути файл логів (app.log)
777
789
  menu.debug.assistants = Помічники...
778
790
  menu.debug.attachments = Файли / вкладення...
@@ -826,6 +838,7 @@ menu.theme.style = Стиль...
826
838
  menu.theme.syntax = Підсвітка синтаксису коду...
827
839
  menu.theme.tooltips = Показувати підказки
828
840
  menu.tools = Інструменти
841
+ menu.tools.agent.builder = Редактор Агентів
829
842
  menu.tools.audio.transcribe = Транскрибувати аудіо/відео файли
830
843
  menu.tools.html_canvas = HTML/JS Canvas
831
844
  menu.tools.image.viewer = Переглядач зображень
@@ -933,6 +946,57 @@ multimodal.audio = Аудіо
933
946
  multimodal.image = Зображення
934
947
  multimodal.text = Текст
935
948
  multimodal.video = Відео
949
+ node.editor.bottom.tip: Правий клік: додати вузол / скасувати / повторити • Середній клік: панорамування • Ctrl + колесо миші: зум; Лівий клік на порт: створити з'єднання • Ctrl + лівий клік на порт: перепід'єднати або від'єднати • Правий клік або DEL вузол/з'єднання: видалити
950
+ node.editor.cap.na: н/д
951
+ node.editor.cap.unlimited: необмежено (∞)
952
+ node.editor.cmd.add: Додати
953
+ node.editor.cmd.clear: Очистити
954
+ node.editor.cmd.connect: Підключити
955
+ node.editor.cmd.delete_connection: Видалити з'єднання
956
+ node.editor.cmd.delete_node: Видалити вузол
957
+ node.editor.cmd.move_node: Перемістити вузол
958
+ node.editor.cmd.resize_node: Змінити розмір вузла
959
+ node.editor.cmd.rewire_connection: Перепід'єднати
960
+ node.editor.edge.delete: Видалити з'єднання
961
+ node.editor.hint.click_start: Клік: почати нове з'єднання
962
+ node.editor.hint.ctrl_rewire: Ctrl+Клік: перепід'єднати/від'єднати існуюче
963
+ node.editor.label.id: ID
964
+ node.editor.lbl.allowed: Дозволені з'єднання:
965
+ node.editor.lbl.node: Вузол:
966
+ node.editor.lbl.port: Порт:
967
+ node.editor.list.tip: Список доданих користувацьких агентів
968
+ node.editor.macro.delete_selection: Видалити вибране
969
+ node.editor.menu.add: Додати
970
+ node.editor.menu.clear: Очистити
971
+ node.editor.menu.redo: Повторити
972
+ node.editor.menu.undo: Скасувати
973
+ node.editor.node.delete: Видалити
974
+ node.editor.node.rename: Перейменувати
975
+ node.editor.overlay.grab: Схопити: перемикнути глобальне панорамування з ЛКМ
976
+ node.editor.overlay.zoom_in: Збільшити
977
+ node.editor.overlay.zoom_out: Зменшити
978
+ node.editor.property.agent.name = Агент
979
+ node.editor.property.input.name = Вхід
980
+ node.editor.property.instruction.name = Інструкція
981
+ node.editor.property.instruction.placeholder = Системна інструкція для агента
982
+ node.editor.property.local_tools.name = Локальні інструменти
983
+ node.editor.property.memory.name = Пам'ять
984
+ node.editor.property.name.name = Ім'я
985
+ node.editor.property.name.placeholder = Ім'я агента
986
+ node.editor.property.output.name = Вивід
987
+ node.editor.property.remote_tools.name = Віддалені інструменти
988
+ node.editor.property.role.name = Роль
989
+ node.editor.property.role.placeholder = Необов'язковий короткий опис призначення агента
990
+ node.editor.rename.label: Ім'я:
991
+ node.editor.rename.title: Перейменувати вузол
992
+ node.editor.side.input: Вхід
993
+ node.editor.side.output: Вихід
994
+ node.editor.spec.agent.title = Агент
995
+ node.editor.spec.end.title = Кінець
996
+ node.editor.spec.memory.title = Пам'ять (Контекст)
997
+ node.editor.spec.start.title = Початок
998
+ node.editor.status.no_nodes: Немає вузлів
999
+ node.editor.type.unknown: Невідомо
936
1000
  notify.agent.goal.content = Агент: мету досягнуто.
937
1001
  notify.agent.goal.title = Мету досягнуто
938
1002
  notify.agent.stop.content = Агент: зупинено
@@ -1418,6 +1482,7 @@ settings.vision.capture.idx = Пристрій Камери
1418
1482
  settings.vision.capture.idx.desc = Виберіть пристрій камери для відеозйомки в реальному часі
1419
1483
  settings.vision.capture.quality = Якість зйомки (%)
1420
1484
  settings.vision.capture.width = Ширина зйомки (у пікселях)
1485
+ settings.zero.limit.desc: Встановіть 0, щоб вимкнути обмеження.
1421
1486
  settings.zoom = Збільшення вікна виводу чату
1422
1487
  speech.enable = Говоріть
1423
1488
  speech.listening = Говоріть зараз...
@@ -43,6 +43,7 @@ action.profile.delete = 删除个人资料(仅从列表中删除)
43
43
  action.profile.delete_all = 删除个人资料(及所有用户文件)
44
44
  action.redo = 重做
45
45
  action.refresh = 刷新
46
+ action.reload: 重新加载
46
47
  action.rename = 重命名
47
48
  action.reset = 重置
48
49
  action.restore = 恢復
@@ -50,7 +51,8 @@ action.save = 保存
50
51
  action.save_as = 另存為...
51
52
  action.save_selection_as = 将选择保存为...
52
53
  action.select_all = 选择全部
53
- action.tab.add.chat = 添加新聊天
54
+ action.tab.add.chat: 添加新聊天
55
+ action.tab.add.chat.tooltip: 添加新聊天(右键单击获取更多选项...)
54
56
  action.tab.add.notepad = 添加新记事本
55
57
  action.tab.add.tool = 添加新工具
56
58
  action.tab.close = 关闭
@@ -72,6 +74,8 @@ action.use.read_cmd = 請求讀取此文件...
72
74
  action.video.open = 打开视频或音频...
73
75
  action.video.play = 播放视频或音频...
74
76
  action.video.transcribe = 转录音频...
77
+ agent.builder.title = 代理编辑器
78
+ agent.builder.tooltip = 打开代理编辑器
75
79
  agent.coder.additional.label = 额外提示
76
80
  agent.coder.additional.prompt.desc = 代理的额外提示(将添加到基础提示)
77
81
  agent.coder.base.label = 基础提示
@@ -101,6 +105,7 @@ agent.option.prompt.planner.desc = 规划代理的提示
101
105
  agent.option.prompt.search.desc = 搜索代理的提示
102
106
  agent.option.prompt.supervisor.desc = 监督者的提示
103
107
  agent.option.prompt.worker.desc = 工作者的提示
108
+ agent.option.role = 用于指导模型的代理操作简要说明(可选)
104
109
  agent.option.section.base = 基础代理
105
110
  agent.option.section.chooser = 选择器
106
111
  agent.option.section.feedback = 反馈
@@ -239,6 +244,8 @@ clipboard.copied_to = 已複製到剪貼板:
239
244
  cmd.enabled = + 工具
240
245
  cmd.tip = 提示:要启用从插件中执行工具,您必须启用“+ 工具”选项。
241
246
  coming_soon = 即將推出...
247
+ common.down = 下移
248
+ common.up = 上移
242
249
  confirm.assistant.delete = 删除助手?
243
250
  confirm.assistant.files.clear = 清除文件(仅本地)?
244
251
  confirm.assistant.files.truncate = 确定要从所有存储中移除所有文件吗?
@@ -651,6 +658,7 @@ event.control.voice_cmd.toggle = 语音控制:切换
651
658
  event.control.voice_msg.start = 语音输入:开始
652
659
  event.control.voice_msg.stop = 语音输入:停止
653
660
  event.control.voice_msg.toggle = 语音输入:切换
661
+ exit.msg = 你喜欢PyGPT吗?支持项目的发展:
654
662
  expert.wait.failed: 调用专家失败
655
663
  expert.wait.status: 等待专家...
656
664
  files.delete.confirm = 刪除文件/目錄?
@@ -678,6 +686,8 @@ html_canvas.clear.confirm = 清除HTML画布输出?
678
686
  icon.audio.input = 啟用/禁用音頻輸入
679
687
  icon.audio.output = 啟用/禁用音頻輸出
680
688
  icon.remote_tool.web = 网页搜索(远程工具,非本地工具)
689
+ icon.remote_tool.web.disabled: 网络搜索(远程工具,非本地工具)- 禁用
690
+ icon.remote_tool.web.enabled: 网络搜索(远程工具,非本地工具)- 启用
681
691
  icon.video.capture = 啟用/禁用相機捕捉
682
692
  idx.btn.clear = 清除索引
683
693
  idx.btn.index_all = 全部索引
@@ -725,6 +735,7 @@ input.search.placeholder = 搜索...
725
735
  input.send_clear = 發送後清除
726
736
  input.stream = 流
727
737
  input.tab = 輸入
738
+ input.tab.tooltip = {chars} 字符 (~{tokens} 令牌)
728
739
  interpreter.all = 执行历史记录(全部)
729
740
  interpreter.auto_clear = 发送时清除
730
741
  interpreter.btn.clear = 清除输出
@@ -773,6 +784,7 @@ menu.config.save = 保存配置
773
784
  menu.config.settings = 設置...
774
785
  menu.debug = 調試
775
786
  menu.debug.agent = 代理...
787
+ menu.debug.agent_builder = 代理编辑器
776
788
  menu.debug.app.log = 查看日誌文件(app.log)
777
789
  menu.debug.assistants = 助手...
778
790
  menu.debug.attachments = 文件/附件...
@@ -826,6 +838,7 @@ menu.theme.style = 风格...
826
838
  menu.theme.syntax = 代码语法高亮显示...
827
839
  menu.theme.tooltips = 顯示工具提示
828
840
  menu.tools = 工具
841
+ menu.tools.agent.builder = 代理编辑器
829
842
  menu.tools.audio.transcribe = 转录音频/视频文件
830
843
  menu.tools.html_canvas = HTML/JS 画布
831
844
  menu.tools.image.viewer = 图片查看器
@@ -933,6 +946,57 @@ multimodal.audio = 音频
933
946
  multimodal.image = 图像
934
947
  multimodal.text = 文本
935
948
  multimodal.video = 视频
949
+ node.editor.bottom.tip: 右键单击: 添加节点 / 撤销 / 重做 • 中键单击: 平移视图 • Ctrl + 滚轮: 缩放; 左键单击一个端口: 创建连接 • Ctrl + 左键单击一个端口: 重新连接或断开 • 右键单击或删除键删除节点/连接
950
+ node.editor.cap.na: 不适用
951
+ node.editor.cap.unlimited: 无限 (∞)
952
+ node.editor.cmd.add: 添加
953
+ node.editor.cmd.clear: 清除
954
+ node.editor.cmd.connect: 连接
955
+ node.editor.cmd.delete_connection: 删除连接
956
+ node.editor.cmd.delete_node: 删除节点
957
+ node.editor.cmd.move_node: 移动节点
958
+ node.editor.cmd.resize_node: 调整节点大小
959
+ node.editor.cmd.rewire_connection: 重新连接
960
+ node.editor.edge.delete: 删除连接
961
+ node.editor.hint.click_start: 点击: 开始新的连接
962
+ node.editor.hint.ctrl_rewire: Ctrl+点击: 重新连接/断开现有
963
+ node.editor.label.id: ID
964
+ node.editor.lbl.allowed: 允许连接:
965
+ node.editor.lbl.node: 节点:
966
+ node.editor.lbl.port: 端口:
967
+ node.editor.list.tip: 添加的自定义代理工作流列表
968
+ node.editor.macro.delete_selection: 删除选择
969
+ node.editor.menu.add: 添加
970
+ node.editor.menu.clear: 清除
971
+ node.editor.menu.redo: 重做
972
+ node.editor.menu.undo: 撤销
973
+ node.editor.node.delete: 删除
974
+ node.editor.node.rename: 重命名
975
+ node.editor.overlay.grab: 抓取: 用鼠标左键切换全局平移
976
+ node.editor.overlay.zoom_in: 放大
977
+ node.editor.overlay.zoom_out: 缩小
978
+ node.editor.property.agent.name = 代理
979
+ node.editor.property.input.name = 输入
980
+ node.editor.property.instruction.name = 指令
981
+ node.editor.property.instruction.placeholder = 系统为代理提供的指令
982
+ node.editor.property.local_tools.name = 本地工具
983
+ node.editor.property.memory.name = 内存
984
+ node.editor.property.name.name = 名称
985
+ node.editor.property.name.placeholder = 代理的名称
986
+ node.editor.property.output.name = 输出
987
+ node.editor.property.remote_tools.name = 远程工具
988
+ node.editor.property.role.name = 角色
989
+ node.editor.property.role.placeholder = 代理的目的的可选简短描述
990
+ node.editor.rename.label: 名称:
991
+ node.editor.rename.title: 重命名节点
992
+ node.editor.side.input: 输入
993
+ node.editor.side.output: 输出
994
+ node.editor.spec.agent.title = 代理
995
+ node.editor.spec.end.title = 结束
996
+ node.editor.spec.memory.title = 内存(上下文)
997
+ node.editor.spec.start.title = 开始
998
+ node.editor.status.no_nodes: 无节点
999
+ node.editor.type.unknown: 未知
936
1000
  notify.agent.goal.content = 代理:目標已達成。
937
1001
  notify.agent.goal.title = 目標達成
938
1002
  notify.agent.stop.content = 代理:已停止
@@ -1418,6 +1482,7 @@ settings.vision.capture.idx = 摄像设备
1418
1482
  settings.vision.capture.idx.desc = 选择实时视频捕捉的摄像设备
1419
1483
  settings.vision.capture.quality = 拍摄质量(%)
1420
1484
  settings.vision.capture.width = 拍摄宽度(像素)
1485
+ settings.zero.limit.desc: 设为0以禁用限制。
1421
1486
  settings.zoom = 聊天输出窗口缩放
1422
1487
  speech.enable = 启用语音
1423
1488
  speech.listening = 现在说话...
@@ -3,6 +3,60 @@ auto_cwd.description = Automatically append the current working directory to the
3
3
  auto_cwd.label = Auto-append CWD to sys_exec
4
4
  cmd.sys_exec.description = Enable the execution of system commands via sys_exec. When enabled, allows the execution of system commands.
5
5
  cmd.sys_exec.label = Enable: System Command Execution
6
+ cmd.win_always_on_top.description = Toggles topmost flag of a window.
7
+ cmd.win_always_on_top.label = Enable: Always On Top
8
+ cmd.win_area_screenshot.description = Captures a rectangular area of the screen to PNG file.
9
+ cmd.win_area_screenshot.label = Enable: Area Screenshot
10
+ cmd.win_children.description = Lists child windows for a parent HWND.
11
+ cmd.win_children.label = Enable: List Child Windows
12
+ cmd.win_click.description = Sends a mouse click at given coordinates.
13
+ cmd.win_click.label = Enable: Mouse Click
14
+ cmd.win_clipboard_get.description = Gets text from clipboard.
15
+ cmd.win_clipboard_get.label = Enable: Clipboard Get
16
+ cmd.win_clipboard_set.description = Sets text to clipboard.
17
+ cmd.win_clipboard_set.label = Enable: Clipboard Set
18
+ cmd.win_close.description = Closes a window using WM_CLOSE.
19
+ cmd.win_close.label = Enable: Close Window
20
+ cmd.win_cursor_get.description = Gets the cursor position.
21
+ cmd.win_cursor_get.label = Enable: Cursor Get
22
+ cmd.win_cursor_set.description = Sets the cursor position.
23
+ cmd.win_cursor_set.label = Enable: Cursor Set
24
+ cmd.win_drag.description = Performs a mouse drag from one point to another.
25
+ cmd.win_drag.label = Enable: Mouse Drag
26
+ cmd.win_find.description = Finds windows by title/class/exe/pid.
27
+ cmd.win_find.label = Enable: Find Windows
28
+ cmd.win_focus.description = Brings a selected window to the foreground.
29
+ cmd.win_focus.label = Enable: Focus Window
30
+ cmd.win_foreground.description = Returns information about the current foreground window.
31
+ cmd.win_foreground.label = Enable: Foreground Window Info
32
+ cmd.win_get_state.description = Returns window metadata and flags.
33
+ cmd.win_get_state.label = Enable: Get Window State
34
+ cmd.win_hide.description = Hides a window.
35
+ cmd.win_hide.label = Enable: Hide Window
36
+ cmd.win_keys_send.description = Sends key combinations to active window.
37
+ cmd.win_keys_send.label = Enable: Send Key Combos
38
+ cmd.win_keys_text.description = Types Unicode text into active window.
39
+ cmd.win_keys_text.label = Enable: Type Text
40
+ cmd.win_list.description = Lists top-level windows (HWND, title, class, PID, EXE, rect, etc.)
41
+ cmd.win_list.label = Enable: List Windows
42
+ cmd.win_maximize.description = Maximizes a window.
43
+ cmd.win_maximize.label = Enable: Maximize Window
44
+ cmd.win_minimize.description = Minimizes a window.
45
+ cmd.win_minimize.label = Enable: Minimize Window
46
+ cmd.win_monitors.description = Lists monitors/screens and their geometry.
47
+ cmd.win_monitors.label = Enable: List Monitors
48
+ cmd.win_move_resize.description = Moves and resizes a window.
49
+ cmd.win_move_resize.label = Enable: Move/Resize Window
50
+ cmd.win_rect.description = Returns window rectangle (geometry).
51
+ cmd.win_rect.label = Enable: Get Window Rect
52
+ cmd.win_restore.description = Restores a window to normal state.
53
+ cmd.win_restore.label = Enable: Restore Window
54
+ cmd.win_screenshot.description = Captures a window to PNG file.
55
+ cmd.win_screenshot.label = Enable: Window Screenshot
56
+ cmd.win_set_opacity.description = Sets window opacity via layered window attributes.
57
+ cmd.win_set_opacity.label = Enable: Set Opacity
58
+ cmd.win_show.description = Shows a window.
59
+ cmd.win_show.label = Enable: Show Window
6
60
  container_name.description = Custom container name
7
61
  container_name.label = Docker container name
8
62
  docker_entrypoint.description = Command to run when starting the container
@@ -21,71 +75,13 @@ sandbox_docker.description = Executes all system commands within a sandbox envir
21
75
  sandbox_docker_image.description = Specifies the Docker image to use for the sandbox.
22
76
  sandbox_docker_image.label = Docker Image
23
77
  sandbox_docker.label = Sandbox (Docker Container)
24
-
25
- # WinAPI tab/options
26
- winapi_enabled.label = Enable WinAPI
27
78
  winapi_enabled.description = Enable Windows API features on Microsoft Windows.
28
- win_keys_per_char_delay_ms.label = Keys: per-char delay (ms)
29
- win_keys_per_char_delay_ms.description = Delay between characters for win_keys_text.
30
- win_keys_hold_ms.label = Keys: hold (ms)
31
- win_keys_hold_ms.description = Hold duration for modifiers in win_keys_send.
32
- win_keys_gap_ms.label = Keys: gap (ms)
33
- win_keys_gap_ms.description = Gap between normal key taps in win_keys_send.
34
- win_drag_step_delay_ms.label = Drag: step delay (ms)
79
+ winapi_enabled.label = Enable WinAPI
35
80
  win_drag_step_delay_ms.description = Delay between intermediate drag steps in win_drag.
36
-
37
- # WinAPI commands labels/descriptions
38
- cmd.win_list.label = Enable: List Windows
39
- cmd.win_list.description = Lists top-level windows (HWND, title, class, PID, EXE, rect, etc.)
40
- cmd.win_find.label = Enable: Find Windows
41
- cmd.win_find.description = Finds windows by title/class/exe/pid.
42
- cmd.win_children.label = Enable: List Child Windows
43
- cmd.win_children.description = Lists child windows for a parent HWND.
44
- cmd.win_foreground.label = Enable: Foreground Window Info
45
- cmd.win_foreground.description = Returns information about the current foreground window.
46
- cmd.win_rect.label = Enable: Get Window Rect
47
- cmd.win_rect.description = Returns window rectangle (geometry).
48
- cmd.win_get_state.label = Enable: Get Window State
49
- cmd.win_get_state.description = Returns window metadata and flags.
50
- cmd.win_focus.label = Enable: Focus Window
51
- cmd.win_focus.description = Brings a selected window to the foreground.
52
- cmd.win_move_resize.label = Enable: Move/Resize Window
53
- cmd.win_move_resize.description = Moves and resizes a window.
54
- cmd.win_minimize.label = Enable: Minimize Window
55
- cmd.win_minimize.description = Minimizes a window.
56
- cmd.win_maximize.label = Enable: Maximize Window
57
- cmd.win_maximize.description = Maximizes a window.
58
- cmd.win_restore.label = Enable: Restore Window
59
- cmd.win_restore.description = Restores a window to normal state.
60
- cmd.win_close.label = Enable: Close Window
61
- cmd.win_close.description = Closes a window using WM_CLOSE.
62
- cmd.win_show.label = Enable: Show Window
63
- cmd.win_show.description = Shows a window.
64
- cmd.win_hide.label = Enable: Hide Window
65
- cmd.win_hide.description = Hides a window.
66
- cmd.win_always_on_top.label = Enable: Always On Top
67
- cmd.win_always_on_top.description = Toggles topmost flag of a window.
68
- cmd.win_set_opacity.label = Enable: Set Opacity
69
- cmd.win_set_opacity.description = Sets window opacity via layered window attributes.
70
- cmd.win_screenshot.label = Enable: Window Screenshot
71
- cmd.win_screenshot.description = Captures a window to PNG file.
72
- cmd.win_area_screenshot.label = Enable: Area Screenshot
73
- cmd.win_area_screenshot.description = Captures a rectangular area of the screen to PNG file.
74
- cmd.win_clipboard_get.label = Enable: Clipboard Get
75
- cmd.win_clipboard_get.description = Gets text from clipboard.
76
- cmd.win_clipboard_set.label = Enable: Clipboard Set
77
- cmd.win_clipboard_set.description = Sets text to clipboard.
78
- cmd.win_cursor_get.label = Enable: Cursor Get
79
- cmd.win_cursor_get.description = Gets the cursor position.
80
- cmd.win_cursor_set.label = Enable: Cursor Set
81
- cmd.win_cursor_set.description = Sets the cursor position.
82
- cmd.win_keys_text.label = Enable: Type Text
83
- cmd.win_keys_text.description = Types Unicode text into active window.
84
- cmd.win_keys_send.label = Enable: Send Key Combos
85
- cmd.win_keys_send.description = Sends key combinations to active window.
86
- cmd.win_click.label = Enable: Mouse Click
87
- cmd.win_click.description = Sends a mouse click at given coordinates.
88
- cmd.win_drag.label = Enable: Mouse Drag
89
- cmd.win_drag.description = Performs a mouse drag from one point to another.
90
- cmd.win_monitors.label = Enable: List Monitors
91
- cmd.win_monitors.description = Lists monitors/screens and their geometry.
81
+ win_drag_step_delay_ms.label = Drag: step delay (ms)
82
+ win_keys_gap_ms.description = Gap between normal key taps in win_keys_send.
83
+ win_keys_gap_ms.label = Keys: gap (ms)
84
+ win_keys_hold_ms.description = Hold duration for modifiers in win_keys_send.
85
+ win_keys_hold_ms.label = Keys: hold (ms)
86
+ win_keys_per_char_delay_ms.description = Delay between characters for win_keys_text.
87
+ win_keys_per_char_delay_ms.label = Keys: per-char delay (ms)
pygpt_net/item/ctx.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.05 18:00:00 #
9
+ # Updated Date: 2025.09.26 17:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  import copy
@@ -209,6 +209,28 @@ class CtxItem:
209
209
  if src:
210
210
  setattr(self, name, dp(src))
211
211
 
212
+ def set_agent_name(self, name: Optional[str]):
213
+ """
214
+ Set AI/agent name
215
+
216
+ :param name: name
217
+ """
218
+ self.ai_name = name
219
+ if name:
220
+ if self.extra is None:
221
+ self.extra = {}
222
+ self.extra['agent_name'] = name
223
+
224
+ def get_agent_name(self) -> Optional[str]:
225
+ """
226
+ Get AI/agent name
227
+
228
+ :return: name
229
+ """
230
+ if self.extra and isinstance(self.extra, dict):
231
+ return self.extra.get('agent_name', None)
232
+ return None
233
+
212
234
  def is_empty(self) -> bool:
213
235
  """
214
236
  Check if context item is empty
@@ -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.24 23:00:00 #
9
+ # Updated Date: 2025.09.25 14:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  from __future__ import annotations
@@ -85,7 +85,7 @@ class Agent(BaseAgent):
85
85
  stream=stream,
86
86
  base_prompt=base_prompt,
87
87
  timeout=120,
88
- verbose=True,
88
+ verbose=verbose,
89
89
  )
90
90
 
91
91
  async def run(self, *args, **kwargs) -> Tuple[Any, str, str]:
@@ -5,7 +5,7 @@
5
5
  # GitHub: https://github.com/szczyglis-dev/py-gpt #
6
6
  # MIT License #
7
7
  # Created By : Marcin Szczygliński #
8
- # Updated Date: 2025.08.14 01:00:00 #
8
+ # Updated Date: 2025.09.26 14:00:00 #
9
9
  # ================================================== #
10
10
 
11
11
  # >>> Based on LlamaIndex CodeActAgent implementation, with custom plugin tool support <<<
@@ -124,6 +124,9 @@ class CodeActAgent(BaseWorkflowAgent):
124
124
  _plugin_tool_fn: Union[Callable, Awaitable] = PrivateAttr(default=None)
125
125
  _on_stop: Optional[Callable] = PrivateAttr(default=None)
126
126
 
127
+ # Always emit this human-friendly agent name in workflow events for UI consumption.
128
+ _display_agent_name: str = PrivateAttr(default="CodeAct")
129
+
127
130
  def __init__(
128
131
  self,
129
132
  code_execute_fn: Union[Callable, Awaitable],
@@ -296,13 +299,13 @@ class CodeActAgent(BaseWorkflowAgent):
296
299
  StepEvent(name=name, index=index, total=total, meta=meta or {})
297
300
  )
298
301
  except Exception:
299
- # Fallback for older versions of AgentStream
302
+ # Fallback for environments lacking StepEvent wiring.
300
303
  try:
301
304
  ctx.write_event_to_stream(
302
305
  AgentStream(
303
306
  delta="",
304
307
  response="",
305
- current_agent_name="PlannerWorkflow",
308
+ current_agent_name=self._display_agent_name, # always "CodeAct"
306
309
  tool_calls=[],
307
310
  raw={"StepEvent": {"name": name, "index": index, "total": total, "meta": meta or {}}}
308
311
  )
@@ -367,7 +370,7 @@ class CodeActAgent(BaseWorkflowAgent):
367
370
  current_llm_input.insert(0, ChatMessage(role="system", content=system_prompt))
368
371
 
369
372
  ctx.write_event_to_stream(
370
- AgentInput(input=current_llm_input, current_agent_name=self.name)
373
+ AgentInput(input=current_llm_input, current_agent_name=self._display_agent_name) # always "CodeAct"
371
374
  )
372
375
 
373
376
  if any(tool.metadata.name == "handoff" for tool in tools):
@@ -400,7 +403,7 @@ class CodeActAgent(BaseWorkflowAgent):
400
403
  response=full_response_text,
401
404
  tool_calls=[],
402
405
  raw=raw,
403
- current_agent_name=self.name,
406
+ current_agent_name=self._display_agent_name, # always "CodeAct"
404
407
  )
405
408
  )
406
409
 
@@ -443,7 +446,7 @@ class CodeActAgent(BaseWorkflowAgent):
443
446
  response=message,
444
447
  tool_calls=tool_calls,
445
448
  raw=raw,
446
- current_agent_name=self.name,
449
+ current_agent_name=self._display_agent_name, # always "CodeAct"
447
450
  )
448
451
 
449
452
  async def handle_tool_call_results(