pygpt-net 2.4.41__py3-none-any.whl → 2.4.44__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 (183) hide show
  1. CHANGELOG.md +19 -0
  2. README.md +151 -71
  3. pygpt_net/CHANGELOG.txt +19 -0
  4. pygpt_net/__init__.py +3 -3
  5. pygpt_net/app.py +3 -1
  6. pygpt_net/controller/attachment.py +31 -3
  7. pygpt_net/controller/audio/__init__.py +2 -2
  8. pygpt_net/controller/camera.py +1 -10
  9. pygpt_net/controller/chat/attachment.py +37 -36
  10. pygpt_net/controller/chat/audio.py +2 -2
  11. pygpt_net/controller/config/placeholder.py +20 -4
  12. pygpt_net/controller/idx/common.py +7 -3
  13. pygpt_net/controller/ui/mode.py +16 -21
  14. pygpt_net/core/attachments/__init__.py +7 -2
  15. pygpt_net/core/attachments/context.py +52 -34
  16. pygpt_net/core/audio/__init__.py +4 -1
  17. pygpt_net/core/audio/whisper.py +37 -0
  18. pygpt_net/core/bridge/worker.py +2 -2
  19. pygpt_net/core/db/__init__.py +2 -1
  20. pygpt_net/core/debug/attachments.py +1 -0
  21. pygpt_net/core/debug/events.py +22 -10
  22. pygpt_net/core/debug/tabs.py +6 -3
  23. pygpt_net/core/history.py +3 -2
  24. pygpt_net/core/idx/__init__.py +23 -6
  25. pygpt_net/core/idx/chat.py +15 -5
  26. pygpt_net/core/idx/indexing.py +47 -14
  27. pygpt_net/core/idx/ui/__init__.py +22 -0
  28. pygpt_net/core/idx/ui/loaders.py +217 -0
  29. pygpt_net/core/installer.py +2 -4
  30. pygpt_net/core/models.py +62 -17
  31. pygpt_net/core/modes.py +11 -13
  32. pygpt_net/core/notepad.py +4 -4
  33. pygpt_net/core/plugins.py +27 -16
  34. pygpt_net/core/presets.py +20 -9
  35. pygpt_net/core/profile.py +11 -3
  36. pygpt_net/core/render/web/parser.py +3 -1
  37. pygpt_net/core/settings.py +5 -5
  38. pygpt_net/core/tabs/tab.py +10 -2
  39. pygpt_net/core/tokens.py +8 -6
  40. pygpt_net/core/web/__init__.py +105 -0
  41. pygpt_net/core/{web.py → web/helpers.py} +93 -67
  42. pygpt_net/data/config/config.json +4 -4
  43. pygpt_net/data/config/models.json +3 -3
  44. pygpt_net/data/config/modes.json +3 -3
  45. pygpt_net/data/config/settings.json +5 -5
  46. pygpt_net/data/locale/locale.de.ini +3 -3
  47. pygpt_net/data/locale/locale.en.ini +12 -9
  48. pygpt_net/data/locale/locale.es.ini +3 -3
  49. pygpt_net/data/locale/locale.fr.ini +3 -3
  50. pygpt_net/data/locale/locale.it.ini +3 -3
  51. pygpt_net/data/locale/locale.pl.ini +3 -3
  52. pygpt_net/data/locale/locale.uk.ini +3 -3
  53. pygpt_net/data/locale/locale.zh.ini +3 -3
  54. pygpt_net/data/locale/plugin.cmd_web.en.ini +2 -0
  55. pygpt_net/data/locale/plugin.mailer.en.ini +21 -0
  56. pygpt_net/item/attachment.py +5 -1
  57. pygpt_net/item/ctx.py +111 -3
  58. pygpt_net/migrations/Version20241215110000.py +25 -0
  59. pygpt_net/migrations/__init__.py +3 -1
  60. pygpt_net/plugin/agent/__init__.py +7 -2
  61. pygpt_net/plugin/audio_output/__init__.py +6 -1
  62. pygpt_net/plugin/base/plugin.py +58 -26
  63. pygpt_net/plugin/base/worker.py +20 -17
  64. pygpt_net/plugin/cmd_files/__init__.py +3 -2
  65. pygpt_net/plugin/cmd_history/config.py +2 -2
  66. pygpt_net/plugin/cmd_web/__init__.py +3 -4
  67. pygpt_net/plugin/cmd_web/config.py +71 -3
  68. pygpt_net/plugin/cmd_web/websearch.py +20 -12
  69. pygpt_net/plugin/cmd_web/worker.py +67 -4
  70. pygpt_net/plugin/idx_llama_index/config.py +3 -3
  71. pygpt_net/plugin/mailer/__init__.py +123 -0
  72. pygpt_net/plugin/mailer/config.py +149 -0
  73. pygpt_net/plugin/mailer/runner.py +285 -0
  74. pygpt_net/plugin/mailer/worker.py +123 -0
  75. pygpt_net/provider/agents/base.py +5 -2
  76. pygpt_net/provider/agents/openai.py +4 -2
  77. pygpt_net/provider/agents/openai_assistant.py +4 -2
  78. pygpt_net/provider/agents/planner.py +4 -2
  79. pygpt_net/provider/agents/react.py +4 -2
  80. pygpt_net/provider/audio_output/openai_tts.py +5 -11
  81. pygpt_net/provider/core/assistant/base.py +5 -3
  82. pygpt_net/provider/core/assistant/json_file.py +8 -5
  83. pygpt_net/provider/core/assistant_file/base.py +4 -3
  84. pygpt_net/provider/core/assistant_file/db_sqlite/__init__.py +4 -3
  85. pygpt_net/provider/core/assistant_file/db_sqlite/storage.py +3 -2
  86. pygpt_net/provider/core/assistant_store/base.py +6 -4
  87. pygpt_net/provider/core/assistant_store/db_sqlite/__init__.py +5 -4
  88. pygpt_net/provider/core/assistant_store/db_sqlite/storage.py +5 -3
  89. pygpt_net/provider/core/attachment/base.py +5 -3
  90. pygpt_net/provider/core/attachment/json_file.py +7 -3
  91. pygpt_net/provider/core/calendar/base.py +5 -3
  92. pygpt_net/provider/core/calendar/db_sqlite/__init__.py +6 -5
  93. pygpt_net/provider/core/calendar/db_sqlite/storage.py +5 -4
  94. pygpt_net/provider/core/config/base.py +8 -6
  95. pygpt_net/provider/core/config/json_file.py +9 -7
  96. pygpt_net/provider/core/config/patch.py +6 -0
  97. pygpt_net/provider/core/ctx/base.py +27 -25
  98. pygpt_net/provider/core/ctx/db_sqlite/__init__.py +51 -35
  99. pygpt_net/provider/core/ctx/db_sqlite/storage.py +92 -38
  100. pygpt_net/provider/core/ctx/db_sqlite/utils.py +37 -11
  101. pygpt_net/provider/core/index/base.py +129 -23
  102. pygpt_net/provider/core/index/db_sqlite/__init__.py +130 -23
  103. pygpt_net/provider/core/index/db_sqlite/storage.py +130 -23
  104. pygpt_net/provider/core/index/db_sqlite/utils.py +4 -2
  105. pygpt_net/provider/core/mode/base.py +5 -3
  106. pygpt_net/provider/core/mode/json_file.py +7 -6
  107. pygpt_net/provider/core/model/base.py +6 -4
  108. pygpt_net/provider/core/model/json_file.py +9 -7
  109. pygpt_net/provider/core/notepad/base.py +5 -3
  110. pygpt_net/provider/core/notepad/db_sqlite/__init__.py +5 -4
  111. pygpt_net/provider/core/notepad/db_sqlite/storage.py +4 -3
  112. pygpt_net/provider/core/plugin_preset/base.py +4 -2
  113. pygpt_net/provider/core/plugin_preset/json_file.py +5 -3
  114. pygpt_net/provider/core/preset/base.py +6 -4
  115. pygpt_net/provider/core/preset/json_file.py +9 -9
  116. pygpt_net/provider/core/prompt/base.py +6 -3
  117. pygpt_net/provider/core/prompt/json_file.py +11 -6
  118. pygpt_net/provider/gpt/assistants.py +15 -6
  119. pygpt_net/provider/gpt/audio.py +5 -5
  120. pygpt_net/provider/gpt/chat.py +7 -5
  121. pygpt_net/provider/gpt/completion.py +8 -4
  122. pygpt_net/provider/gpt/image.py +3 -3
  123. pygpt_net/provider/gpt/store.py +46 -12
  124. pygpt_net/provider/gpt/vision.py +16 -11
  125. pygpt_net/provider/llms/anthropic.py +7 -2
  126. pygpt_net/provider/llms/azure_openai.py +26 -5
  127. pygpt_net/provider/llms/base.py +47 -9
  128. pygpt_net/provider/llms/google.py +7 -2
  129. pygpt_net/provider/llms/hugging_face.py +13 -3
  130. pygpt_net/provider/llms/hugging_face_api.py +18 -4
  131. pygpt_net/provider/llms/local.py +7 -2
  132. pygpt_net/provider/llms/ollama.py +30 -6
  133. pygpt_net/provider/llms/openai.py +32 -6
  134. pygpt_net/provider/loaders/base.py +14 -0
  135. pygpt_net/provider/loaders/hub/yt/base.py +5 -0
  136. pygpt_net/provider/loaders/web_database.py +13 -5
  137. pygpt_net/provider/loaders/web_github_issues.py +5 -1
  138. pygpt_net/provider/loaders/web_google_calendar.py +9 -1
  139. pygpt_net/provider/loaders/web_google_docs.py +6 -1
  140. pygpt_net/provider/loaders/web_google_drive.py +10 -1
  141. pygpt_net/provider/loaders/web_google_gmail.py +2 -1
  142. pygpt_net/provider/loaders/web_google_keep.py +5 -1
  143. pygpt_net/provider/loaders/web_google_sheets.py +5 -1
  144. pygpt_net/provider/loaders/web_microsoft_onedrive.py +15 -1
  145. pygpt_net/provider/loaders/web_page.py +4 -2
  146. pygpt_net/provider/loaders/web_rss.py +2 -1
  147. pygpt_net/provider/loaders/web_sitemap.py +2 -1
  148. pygpt_net/provider/loaders/web_twitter.py +4 -2
  149. pygpt_net/provider/loaders/web_yt.py +17 -2
  150. pygpt_net/provider/vector_stores/__init__.py +45 -14
  151. pygpt_net/provider/vector_stores/base.py +35 -8
  152. pygpt_net/provider/vector_stores/chroma.py +13 -3
  153. pygpt_net/provider/vector_stores/ctx_attachment.py +32 -13
  154. pygpt_net/provider/vector_stores/elasticsearch.py +12 -3
  155. pygpt_net/provider/vector_stores/pinecode.py +12 -3
  156. pygpt_net/provider/vector_stores/redis.py +12 -3
  157. pygpt_net/provider/vector_stores/simple.py +12 -3
  158. pygpt_net/provider/vector_stores/temp.py +16 -4
  159. pygpt_net/provider/web/base.py +10 -3
  160. pygpt_net/provider/web/google_custom_search.py +9 -3
  161. pygpt_net/provider/web/microsoft_bing.py +9 -3
  162. pygpt_net/tools/__init__.py +13 -5
  163. pygpt_net/tools/audio_transcriber/__init__.py +4 -3
  164. pygpt_net/tools/base.py +15 -8
  165. pygpt_net/tools/code_interpreter/__init__.py +4 -3
  166. pygpt_net/tools/html_canvas/__init__.py +4 -3
  167. pygpt_net/tools/image_viewer/__init__.py +10 -4
  168. pygpt_net/tools/indexer/__init__.py +15 -46
  169. pygpt_net/tools/indexer/ui/web.py +20 -78
  170. pygpt_net/tools/media_player/__init__.py +4 -3
  171. pygpt_net/tools/text_editor/__init__.py +36 -10
  172. pygpt_net/ui/layout/chat/output.py +2 -2
  173. pygpt_net/ui/layout/ctx/ctx_list.py +86 -18
  174. pygpt_net/ui/menu/audio.py +12 -1
  175. pygpt_net/ui/widget/dialog/url.py +151 -14
  176. pygpt_net/ui/widget/element/group.py +15 -2
  177. pygpt_net/ui/widget/lists/context.py +23 -9
  178. pygpt_net/utils.py +1 -1
  179. {pygpt_net-2.4.41.dist-info → pygpt_net-2.4.44.dist-info}/METADATA +152 -72
  180. {pygpt_net-2.4.41.dist-info → pygpt_net-2.4.44.dist-info}/RECORD +183 -173
  181. {pygpt_net-2.4.41.dist-info → pygpt_net-2.4.44.dist-info}/LICENSE +0 -0
  182. {pygpt_net-2.4.41.dist-info → pygpt_net-2.4.44.dist-info}/WHEEL +0 -0
  183. {pygpt_net-2.4.41.dist-info → pygpt_net-2.4.44.dist-info}/entry_points.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pygpt-net
3
- Version: 2.4.41
3
+ Version: 2.4.44
4
4
  Summary: Desktop AI Assistant powered by models: OpenAI o1, GPT-4o, GPT-4, GPT-4 Vision, GPT-3.5, DALL-E 3, Llama 3, Mistral, Gemini, Claude, Bielik, and other models supported by Langchain, Llama Index, and Ollama. Features include chatbot, text completion, image generation, vision analysis, speech-to-text, internet access, file handling, command execution and more.
5
5
  Home-page: https://pygpt.net
6
6
  License: MIT
@@ -92,7 +92,7 @@ Description-Content-Type: text/markdown
92
92
 
93
93
  [![pygpt](https://snapcraft.io/pygpt/badge.svg)](https://snapcraft.io/pygpt)
94
94
 
95
- Release: **2.4.41** | build: **2024.12.14** | Python: **>=3.10, <3.12**
95
+ Release: **2.4.44** | build: **2024.12.16** | Python: **>=3.10, <3.12**
96
96
 
97
97
  > Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io
98
98
  >
@@ -875,6 +875,8 @@ You can use your own files (for example, to analyze them) during any conversatio
875
875
 
876
876
  **PyGPT** makes it simple for users to upload files and send them to the model for tasks like analysis, similar to attaching files in `ChatGPT`. There's a separate `Attachments` tab next to the text input area specifically for managing file uploads.
877
877
 
878
+ **Tip: Attachments uploaded in group are available in all contexts in group**.
879
+
878
880
  ![v2_file_input](https://github.com/user-attachments/assets/db8467b6-2d07-4e20-a795-430fc09443a7)
879
881
 
880
882
  You can use attachments to provide additional context to the conversation. Uploaded files will be converted into text using loaders from LlamaIndex, and then embedded into the vector store. You can upload any file format supported by the application through LlamaIndex. Supported formats include:
@@ -1157,6 +1159,8 @@ as well as list and create directories.
1157
1159
 
1158
1160
  - `Voice Control (inline)` - provides voice control command execution within a conversation.
1159
1161
 
1162
+ - `Mailer` - Provides the ability to send, receive and read emails.
1163
+
1160
1164
  ## Audio Input
1161
1165
 
1162
1166
  The plugin facilitates speech recognition (by default using the `Whisper` model from OpenAI, `Google` and `Bing` are also available). It allows for voice commands to be relayed to the AI using your own voice. Whisper doesn't require any extra API keys or additional configurations; it uses the main OpenAI key. In the plugin's configuration options, you should adjust the volume level (min energy) at which the plugin will respond to your microphone. Once the plugin is activated, a new `Speak` option will appear at the bottom near the `Send` button - when this is enabled, the application will respond to the voice received from the microphone.
@@ -1583,15 +1587,15 @@ sudo snap connect pygpt:docker docker:docker-daemon
1583
1587
 
1584
1588
  Automatically attach code input/output to the Python Code Interpreter window. *Default:* `True`
1585
1589
 
1586
- - `Enable: get_python_output` *cmd.get_python_output*
1590
+ - `Tool: get_python_output` *cmd.get_python_output*
1587
1591
 
1588
1592
  Allows `get_python_output` command execution. If enabled, it allows retrieval of the output from the Python Code Interpreter window. *Default:* `True`
1589
1593
 
1590
- - `Enable: get_python_input` *cmd.get_python_input*
1594
+ - `Tool: get_python_input` *cmd.get_python_input*
1591
1595
 
1592
1596
  Allows `get_python_input` command execution. If enabled, it allows retrieval all input code (from edit section) from the Python Code Interpreter window. *Default:* `True`
1593
1597
 
1594
- - `Enable: clear_python_output` *cmd.clear_python_output*
1598
+ - `Tool: clear_python_output` *cmd.clear_python_output*
1595
1599
 
1596
1600
  Allows `clear_python_output` command execution. If enabled, it allows clear the output of the Python Code Interpreter window. *Default:* `True`
1597
1601
 
@@ -1643,11 +1647,11 @@ Default: 5558
1643
1647
  Default: 5559
1644
1648
 
1645
1649
 
1646
- - `Enable: ipython_execute` *cmd.ipython_execute*
1650
+ - `Tool: ipython_execute` *cmd.ipython_execute*
1647
1651
 
1648
1652
  Allows Python code execution in IPython interpreter (in current kernel). *Default:* `True`
1649
1653
 
1650
- - `Enable: python_kernel_restart` *cmd.ipython_kernel_restart*
1654
+ - `Tool: python_kernel_restart` *cmd.ipython_kernel_restart*
1651
1655
 
1652
1656
  Allows to restart IPython kernel. *Default:* `True`
1653
1657
 
@@ -1674,26 +1678,26 @@ Custom Docker image name
1674
1678
 
1675
1679
  Custom Docker container name
1676
1680
 
1677
- - `Enable: code_execute` *cmd.code_execute*
1681
+ - `Tool: code_execute` *cmd.code_execute*
1678
1682
 
1679
1683
  Allows `code_execute` command execution. If enabled, provides Python code execution (generate and execute from file). *Default:* `True`
1680
1684
 
1681
- - `Enable: code_execute_all` *cmd.code_execute_all*
1685
+ - `Tool: code_execute_all` *cmd.code_execute_all*
1682
1686
 
1683
1687
  Allows `code_execute_all` command execution. If enabled, provides execution of all the Python code in interpreter window. *Default:* `True`
1684
1688
 
1685
- - `Enable: code_execute_file` *cmd.code_execute_file*
1689
+ - `Tool: code_execute_file` *cmd.code_execute_file*
1686
1690
 
1687
1691
  Allows `code_execute_file` command execution. If enabled, provides Python code execution from existing .py file. *Default:* `True`
1688
1692
 
1689
1693
 
1690
1694
  **HTML Canvas**
1691
1695
 
1692
- - `Enable: render_html_output` *cmd.render_html_output*
1696
+ - `Tool: render_html_output` *cmd.render_html_output*
1693
1697
 
1694
1698
  Allows `render_html_output` command execution. If enabled, it allows to render HTML/JS code in built-it HTML/JS browser (HTML Canvas). *Default:* `True`
1695
1699
 
1696
- - `Enable: get_html_output` *cmd.get_html_output*
1700
+ - `Tool: get_html_output` *cmd.get_html_output*
1697
1701
 
1698
1702
  Allows `get_html_output` command execution. If enabled, it allows retrieval current output from HTML Canvas. *Default:* `True`
1699
1703
 
@@ -1796,79 +1800,79 @@ If a file being created (with the same name) already exists, a prefix including
1796
1800
 
1797
1801
  **General**
1798
1802
 
1799
- - `Enable: send (upload) file as attachment` *cmd.send_file*
1803
+ - `Tool: send (upload) file as attachment` *cmd.send_file*
1800
1804
 
1801
1805
  Allows `cmd.send_file` command execution. *Default:* `True`
1802
1806
 
1803
- - `Enable: read file` *cmd.read_file*
1807
+ - `Tool: read file` *cmd.read_file*
1804
1808
 
1805
1809
  Allows `read_file` command execution. *Default:* `True`
1806
1810
 
1807
- - `Enable: append to file` *cmd.append_file*
1811
+ - `Tool: append to file` *cmd.append_file*
1808
1812
 
1809
1813
  Allows `append_file` command execution. Text-based files only (plain text, JSON, CSV, etc.) *Default:* `True`
1810
1814
 
1811
- - `Enable: save file` *cmd.save_file*
1815
+ - `Tool: save file` *cmd.save_file*
1812
1816
 
1813
1817
  Allows `save_file` command execution. Text-based files only (plain text, JSON, CSV, etc.) *Default:* `True`
1814
1818
 
1815
- - `Enable: delete file` *cmd.delete_file*
1819
+ - `Tool: delete file` *cmd.delete_file*
1816
1820
 
1817
1821
  Allows `delete_file` command execution. *Default:* `True`
1818
1822
 
1819
- - `Enable: list files (ls)` *cmd.list_files*
1823
+ - `Tool: list files (ls)` *cmd.list_files*
1820
1824
 
1821
1825
  Allows `list_dir` command execution. *Default:* `True`
1822
1826
 
1823
- - `Enable: list files in dirs in directory (ls)` *cmd.list_dir*
1827
+ - `Tool: list files in dirs in directory (ls)` *cmd.list_dir*
1824
1828
 
1825
1829
  Allows `mkdir` command execution. *Default:* `True`
1826
1830
 
1827
- - `Enable: downloading files` *cmd.download_file*
1831
+ - `Tool: downloading files` *cmd.download_file*
1828
1832
 
1829
1833
  Allows `download_file` command execution. *Default:* `True`
1830
1834
 
1831
- - `Enable: removing directories` *cmd.rmdir*
1835
+ - `Tool: removing directories` *cmd.rmdir*
1832
1836
 
1833
1837
  Allows `rmdir` command execution. *Default:* `True`
1834
1838
 
1835
- - `Enable: copying files` *cmd.copy_file*
1839
+ - `Tool: copying files` *cmd.copy_file*
1836
1840
 
1837
1841
  Allows `copy_file` command execution. *Default:* `True`
1838
1842
 
1839
- - `Enable: copying directories (recursive)` *cmd.copy_dir*
1843
+ - `Tool: copying directories (recursive)` *cmd.copy_dir*
1840
1844
 
1841
1845
  Allows `copy_dir` command execution. *Default:* `True`
1842
1846
 
1843
- - `Enable: move files and directories (rename)` *cmd.move*
1847
+ - `Tool: move files and directories (rename)` *cmd.move*
1844
1848
 
1845
1849
  Allows `move` command execution. *Default:* `True`
1846
1850
 
1847
- - `Enable: check if path is directory` *cmd.is_dir*
1851
+ - `Tool: check if path is directory` *cmd.is_dir*
1848
1852
 
1849
1853
  Allows `is_dir` command execution. *Default:* `True`
1850
1854
 
1851
- - `Enable: check if path is file` *cmd.is_file*
1855
+ - `Tool: check if path is file` *cmd.is_file*
1852
1856
 
1853
1857
  Allows `is_file` command execution. *Default:* `True`
1854
1858
 
1855
- - `Enable: check if file or directory exists` *cmd.file_exists*
1859
+ - `Tool: check if file or directory exists` *cmd.file_exists*
1856
1860
 
1857
1861
  Allows `file_exists` command execution. *Default:* `True`
1858
1862
 
1859
- - `Enable: get file size` *cmd.file_size*
1863
+ - `Tool: get file size` *cmd.file_size*
1860
1864
 
1861
1865
  Allows `file_size` command execution. *Default:* `True`
1862
1866
 
1863
- - `Enable: get file info` *cmd.file_info*
1867
+ - `Tool: get file info` *cmd.file_info*
1864
1868
 
1865
1869
  Allows `file_info` command execution. *Default:* `True`
1866
1870
 
1867
- - `Enable: find file or directory` *cmd.find*
1871
+ - `Tool: find file or directory` *cmd.find*
1868
1872
 
1869
1873
  Allows `find` command execution. *Default:* `True`
1870
1874
 
1871
- - `Enable: get current working directory` *cmd.cwd*
1875
+ - `Tool: get current working directory` *cmd.cwd*
1872
1876
 
1873
1877
  Allows `cwd` command execution. *Default:* `True`
1874
1878
 
@@ -1878,7 +1882,7 @@ Use data loaders from LlamaIndex for file reading (`read_file` command). *Defaul
1878
1882
 
1879
1883
  **Indexing**
1880
1884
 
1881
- - `Enable: quick query the file with LlamaIndex` *cmd.query_file*
1885
+ - `Tool: quick query the file with LlamaIndex` *cmd.query_file*
1882
1886
 
1883
1887
  Allows `query_file` command execution (in-memory index). If enabled, model will be able to quick index file into memory and query it for data (in-memory index) *Default:* `True`
1884
1888
 
@@ -1886,7 +1890,7 @@ Allows `query_file` command execution (in-memory index). If enabled, model will
1886
1890
 
1887
1891
  Model used for query temporary index for `query_file` command (in-memory index). *Default:* `gpt-3.5-turbo`
1888
1892
 
1889
- - `Enable: indexing files to persistent index` *cmd.file_index*
1893
+ - `Tool: indexing files to persistent index` *cmd.file_index*
1890
1894
 
1891
1895
  Allows `file_index` command execution. If enabled, model will be able to index file or directory using LlamaIndex (persistent index). *Default:* `True`
1892
1896
 
@@ -1914,7 +1918,7 @@ The plugin provides access to the operating system and executes system commands.
1914
1918
 
1915
1919
  Automatically append current working directory to `sys_exec` command. *Default:* `True`
1916
1920
 
1917
- - `Enable: sys_exec` *cmd.sys_exec*
1921
+ - `Tool: sys_exec` *cmd.sys_exec*
1918
1922
 
1919
1923
  Allows `sys_exec` command execution. If enabled, provides system commands execution. *Default:* `True`
1920
1924
 
@@ -1966,35 +1970,35 @@ Allows keyboard typing. *Default:* `True`
1966
1970
 
1967
1971
  Allows making screenshots. *Default:* `True`
1968
1972
 
1969
- - `Enable: mouse_get_pos` *cmd.mouse_get_pos*
1973
+ - `Tool: mouse_get_pos` *cmd.mouse_get_pos*
1970
1974
 
1971
1975
  Allows `mouse_get_pos` command execution. *Default:* `True`
1972
1976
 
1973
- - `Enable: mouse_set_pos` *cmd.mouse_set_pos*
1977
+ - `Tool: mouse_set_pos` *cmd.mouse_set_pos*
1974
1978
 
1975
1979
  Allows `mouse_set_pos` command execution. *Default:* `True`
1976
1980
 
1977
- - `Enable: make_screenshot` *cmd.make_screenshot*
1981
+ - `Tool: make_screenshot` *cmd.make_screenshot*
1978
1982
 
1979
1983
  Allows `make_screenshot` command execution. *Default:* `True`
1980
1984
 
1981
- - `Enable: mouse_click` *cmd.mouse_click*
1985
+ - `Tool: mouse_click` *cmd.mouse_click*
1982
1986
 
1983
1987
  Allows `mouse_click` command execution. *Default:* `True`
1984
1988
 
1985
- - `Enable: mouse_move` *cmd.mouse_move*
1989
+ - `Tool: mouse_move` *cmd.mouse_move*
1986
1990
 
1987
1991
  Allows `mouse_move` command execution. *Default:* `True`
1988
1992
 
1989
- - `Enable: mouse_scroll` *cmd.mouse_scroll*
1993
+ - `Tool: mouse_scroll` *cmd.mouse_scroll*
1990
1994
 
1991
1995
  Allows `mouse_scroll` command execution. *Default:* `True`
1992
1996
 
1993
- - `Enable: keyboard_key` *cmd.keyboard_key*
1997
+ - `Tool: keyboard_key` *cmd.keyboard_key*
1994
1998
 
1995
1999
  Allows `keyboard_key` command execution. *Default:* `True`
1996
2000
 
1997
- - `Enable: keyboard_type` *cmd.keyboard_type*
2001
+ - `Tool: keyboard_type` *cmd.keyboard_type*
1998
2002
 
1999
2003
  Allows `keyboard_type` command execution. *Default:* `True`
2000
2004
 
@@ -2094,41 +2098,35 @@ Max length of the summarized or raw result (characters). *Default:* `50000`
2094
2098
 
2095
2099
  Max tokens in output when generating summary. *Default:* `1500`
2096
2100
 
2097
- - `Enable: search the Web` *cmd.web_search*
2101
+ - `Tool: web_search` *cmd.web_search*
2098
2102
 
2099
2103
  Allows `web_search` command execution. If enabled, model will be able to search the Web. *Default:* `True`
2100
2104
 
2101
- - `Enable: opening URLs` *cmd.web_url_open*
2105
+ - `Tool: web_url_open` *cmd.web_url_open*
2102
2106
 
2103
2107
  Allows `web_url_open` command execution. If enabled, model will be able to open specified URL and summarize content. *Default:* `True`
2104
2108
 
2105
- - `Enable: reading the raw content from URLs` *cmd.web_url_raw*
2109
+ - `Tool: web_url_raw` *cmd.web_url_raw*
2106
2110
 
2107
2111
  Allows `web_url_raw` command execution. If enabled, model will be able to open specified URL and get the raw content. *Default:* `True`
2108
2112
 
2109
- - `Enable: getting a list of URLs from search results` *cmd.web_urls*
2113
+ - `Tool: web_request` *cmd.web_request*
2110
2114
 
2111
- Allows `web_urls` command execution. If enabled, model will be able to search the Web and get founded URLs list. *Default:* `True`
2115
+ Allows `web_request` command execution. If enabled, model will be able to send any HTTP request to specified URL or API endpoint. *Default:* `True`
2112
2116
 
2113
- - `Enable: indexing web and external content` *cmd.web_index*
2114
-
2115
- Allows `web_index` command execution. If enabled, model will be able to index pages and external content using LlamaIndex (persistent index). *Default:* `True`
2117
+ - `Tool: web_extract_links` *cmd.web_extract_links*
2116
2118
 
2117
- - `Enable: quick query the web and external content` *cmd.web_index_query*
2119
+ Allows `web_extract_links` command execution. If enabled, model will be able to open URL and get list of all links from it. *Default:* `True`
2118
2120
 
2119
- Allows `web_index_query` command execution. If enabled, model will be able to quick index and query web content using LlamaIndex (in-memory index). *Default:* `True`
2121
+ - `Tool: web_extract_images` *cmd.web_extract_images*
2120
2122
 
2121
- - `Auto-index all used URLs using LlamaIndex` *auto_index*
2123
+ Allows `web_extract_images` command execution. If enabled, model will be able to open URL and get list of all images from it.. *Default:* `True`
2122
2124
 
2123
- If enabled, every URL used by the model will be automatically indexed using LlamaIndex (persistent index). *Default:* `False`
2124
-
2125
- - `Index to use` *idx*
2126
-
2127
- ID of index to use for web page indexing (persistent index). *Default:* `base`
2125
+ **Advanced**
2128
2126
 
2129
2127
  - `Model used for web page summarize` *summary_model*
2130
2128
 
2131
- Model used for web page summarize. *Default:* `gpt-3.5-turbo-1106`
2129
+ Model used for web page summarize. *Default:* `gpt-4o-mini`
2132
2130
 
2133
2131
  - `Summarize prompt` *prompt_summarize*
2134
2132
 
@@ -2138,6 +2136,24 @@ Prompt used for web search results summarize, use {query} as a placeholder for s
2138
2136
 
2139
2137
  Prompt used for specified URL page summarize.
2140
2138
 
2139
+ **Indexing**
2140
+
2141
+ - `Tool: web_index` *cmd.web_index*
2142
+
2143
+ Allows `web_index` command execution. If enabled, model will be able to index pages and external content using LlamaIndex (persistent index). *Default:* `True`
2144
+
2145
+ - `Tool: web_index_query` *cmd.web_index_query*
2146
+
2147
+ Allows `web_index_query` command execution. If enabled, model will be able to quick index and query web content using LlamaIndex (in-memory index). *Default:* `True`
2148
+
2149
+ - `Auto-index all used URLs using LlamaIndex` *auto_index*
2150
+
2151
+ If enabled, every URL used by the model will be automatically indexed using LlamaIndex (persistent index). *Default:* `False`
2152
+
2153
+ - `Index to use` *idx*
2154
+
2155
+ ID of index to use for web page indexing (persistent index). *Default:* `base`
2156
+
2141
2157
  ## Serial port / USB
2142
2158
 
2143
2159
  Provides commands for reading and sending data to USB ports.
@@ -2185,15 +2201,15 @@ Timeout in seconds. *Default:* `1`
2185
2201
 
2186
2202
  Sleep in seconds after connection *Default:* `2`
2187
2203
 
2188
- - `Enable: Send text commands to USB port` *cmd.serial_send*
2204
+ - `Tool: Send text commands to USB port` *cmd.serial_send*
2189
2205
 
2190
2206
  Allows `serial_send` command execution. *Default:* `True`
2191
2207
 
2192
- - `Enable: Send raw bytes to USB port` *cmd.serial_send_bytes*
2208
+ - `Tool: Send raw bytes to USB port` *cmd.serial_send_bytes*
2193
2209
 
2194
2210
  Allows `serial_send_bytes` command execution. *Default:* `True`
2195
2211
 
2196
- - `Enable: Read data from USB port` *cmd.serial_read*
2212
+ - `Tool: Read data from USB port` *cmd.serial_read*
2197
2213
 
2198
2214
  Allows `serial_read` command execution. *Default:* `True`
2199
2215
 
@@ -2232,31 +2248,31 @@ Where `123` is the ID of previous context (conversation) in database, example of
2232
2248
 
2233
2249
  When enabled, it allows to automatically retrieve context history using @ tags, e.g. use @123 in question to use summary of context with ID 123 as additional context. *Default:* `False`
2234
2250
 
2235
- - `Enable: get date range context list` *cmd.get_ctx_list_in_date_range*
2251
+ - `Tool: get date range context list` *cmd.get_ctx_list_in_date_range*
2236
2252
 
2237
2253
  Allows `get_ctx_list_in_date_range` command execution. If enabled, it allows getting the list of context history (previous conversations). *Default:* `True
2238
2254
 
2239
- - `Enable: get context content by ID` *cmd.get_ctx_content_by_id*
2255
+ - `Tool: get context content by ID` *cmd.get_ctx_content_by_id*
2240
2256
 
2241
2257
  Allows `get_ctx_content_by_id` command execution. If enabled, it allows getting summarized content of context with defined ID. *Default:* `True`
2242
2258
 
2243
- - `Enable: count contexts in date range` *cmd.count_ctx_in_date*
2259
+ - `Tool: count contexts in date range` *cmd.count_ctx_in_date*
2244
2260
 
2245
2261
  Allows `count_ctx_in_date` command execution. If enabled, it allows counting contexts in date range. *Default:* `True`
2246
2262
 
2247
- - `Enable: get day note` *cmd.get_day_note*
2263
+ - `Tool: get day note` *cmd.get_day_note*
2248
2264
 
2249
2265
  Allows `get_day_note` command execution. If enabled, it allows retrieving day note for specific date. *Default:* `True`
2250
2266
 
2251
- - `Enable: add day note` *cmd.add_day_note*
2267
+ - `Tool: add day note` *cmd.add_day_note*
2252
2268
 
2253
2269
  Allows `add_day_note` command execution. If enabled, it allows adding day note for specific date. *Default:* `True`
2254
2270
 
2255
- - `Enable: update day note` *cmd.update_day_note*
2271
+ - `Tool: update day note` *cmd.update_day_note*
2256
2272
 
2257
2273
  Allows `update_day_note` command execution. If enabled, it allows updating day note for specific date. *Default:* `True`
2258
2274
 
2259
- - `Enable: remove day note` *cmd.remove_day_note*
2275
+ - `Tool: remove day note` *cmd.remove_day_note*
2260
2276
 
2261
2277
  Allows `remove_day_note` command execution. If enabled, it allows removing day note for specific date. *Default:* `True`
2262
2278
 
@@ -2348,14 +2364,57 @@ The prompt used for vision mode. It will append or replace current system prompt
2348
2364
 
2349
2365
  Replace whole system prompt with vision prompt against appending it to the current prompt. *Default:* `False`
2350
2366
 
2351
- - `Enable: capturing images from camera` *cmd.camera_capture*
2367
+ - `Tool: capturing images from camera` *cmd.camera_capture*
2352
2368
 
2353
2369
  Allows `capture` command execution. If enabled, model will be able to capture images from camera itself. The `+ Tools` option must be enabled. *Default:* `False`
2354
2370
 
2355
- - `Enable: making screenshots` *cmd.make_screenshot*
2371
+ - `Tool: making screenshots` *cmd.make_screenshot*
2356
2372
 
2357
2373
  Allows `screenshot` command execution. If enabled, model will be able to making screenshots itself. The `+ Tools` option must be enabled. *Default:* `False`
2358
2374
 
2375
+ ## Mailer
2376
+
2377
+ Enables the sending, receiving, and reading of emails from the inbox. Currently, only SMTP is supported. More options coming soon.
2378
+
2379
+ **Options**
2380
+
2381
+ - `From (email)` *from_email*
2382
+
2383
+ From (email), e.g. me@domain.com
2384
+
2385
+ - `Tool: send_mail` *cmd.send_mail*
2386
+
2387
+ Allows `send_mail` command execution. If enabled, model will be able to sending emails.
2388
+
2389
+ - `Tool: receive_emails` *cmd.receive_emails*
2390
+
2391
+ Allows `receive_emails` command execution. If enabled, model will be able to receive emails from the server.
2392
+
2393
+ - `Tool: get_email_body` *cmd.get_email_body*
2394
+
2395
+ Allows `get_email_body` command execution. If enabled, model will be able to receive message body from the server.
2396
+
2397
+ - `SMTP Host` *smtp_host*
2398
+
2399
+ SMTP Host, e.g. smtp.domain.com
2400
+
2401
+ - `SMTP Port (Inbox)` *smtp_port_inbox*
2402
+
2403
+ SMTP Port, default: 995
2404
+
2405
+ - `SMTP Port (Outbox)` *smtp_port_outbox*
2406
+
2407
+ SMTP Port, default: 465
2408
+
2409
+ - `SMTP User` *smtp_user*
2410
+
2411
+ SMTP User, e.g. user@domain.com
2412
+
2413
+ - `SMTP Password` *smtp_password*
2414
+
2415
+ SMTP Password.
2416
+
2417
+
2359
2418
  ## Real Time
2360
2419
 
2361
2420
  This plugin automatically adds the current date and time to each system prompt you send.
@@ -3293,8 +3352,10 @@ Allowed additional keyword arguments for built-in data loaders (Web and external
3293
3352
 
3294
3353
  **SQL Database** (web_database)
3295
3354
 
3296
- - `engine` - str, default: `None`
3297
3355
  - `uri` - str, default: `None`
3356
+
3357
+ You can provide a single URI in the form of: `{scheme}://{user}:{password}@{host}:{port}/{dbname}`, or you can provide each field manually:
3358
+
3298
3359
  - `scheme` - str, default: `None`
3299
3360
  - `host` - str, default: `None`
3300
3361
  - `port` - str, default: `None`
@@ -3967,6 +4028,25 @@ may consume additional tokens that are not displayed in the main window.
3967
4028
 
3968
4029
  ## Recent changes:
3969
4030
 
4031
+ **2.4.44 (2024-12-16)**
4032
+
4033
+ - Enhanced web data loaders.
4034
+ - Web loaders have been added to attachments, allowing external web content to be attached to context via the "+Web" button in the Attachments tab.
4035
+ - Improved handling of attachments in groups and added an attachment icon when a group contains attachments.
4036
+
4037
+ **2.4.43 (2024-12-15)**
4038
+
4039
+ - Fix: Bug on attachment upload.
4040
+ - Added: Attachments uploaded in groups are now available for all contexts in the group (beta).
4041
+
4042
+ **2.4.42 (2024-12-15)**
4043
+
4044
+ - Added Mailer plugin, which allows sending and retrieving emails from the server, and reading them. It currently supports only SMTP.
4045
+ - Added 'web_request' command to the Web Search plugin, enabling GET/POST/PUT and other connections to any address and API endpoint. It also supports sending POST data, files, headers, cookies, and more.
4046
+ - Improved audio output.
4047
+ - Enhanced visibility of the Video menu.
4048
+ - Other fixes.
4049
+
3970
4050
  **2.4.41 (2024-12-14)**
3971
4051
 
3972
4052
  - Improved switching between columns on a split screen.