pygpt-net 2.6.52__py3-none-any.whl → 2.6.53__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 (39) hide show
  1. pygpt_net/CHANGELOG.txt +5 -0
  2. pygpt_net/__init__.py +1 -1
  3. pygpt_net/controller/audio/audio.py +22 -1
  4. pygpt_net/controller/chat/chat.py +5 -1
  5. pygpt_net/controller/chat/remote_tools.py +116 -0
  6. pygpt_net/controller/lang/mapping.py +2 -1
  7. pygpt_net/controller/mode/mode.py +5 -2
  8. pygpt_net/controller/plugins/plugins.py +29 -3
  9. pygpt_net/controller/realtime/realtime.py +8 -3
  10. pygpt_net/controller/ui/mode.py +11 -5
  11. pygpt_net/core/render/web/renderer.py +3 -1
  12. pygpt_net/data/config/config.json +3 -2
  13. pygpt_net/data/config/models.json +2 -2
  14. pygpt_net/data/icons/web_off.svg +1 -0
  15. pygpt_net/data/icons/web_on.svg +1 -0
  16. pygpt_net/data/locale/locale.de.ini +1 -0
  17. pygpt_net/data/locale/locale.en.ini +3 -2
  18. pygpt_net/data/locale/locale.es.ini +1 -0
  19. pygpt_net/data/locale/locale.fr.ini +1 -0
  20. pygpt_net/data/locale/locale.it.ini +1 -0
  21. pygpt_net/data/locale/locale.pl.ini +1 -4
  22. pygpt_net/data/locale/locale.uk.ini +1 -0
  23. pygpt_net/data/locale/locale.zh.ini +1 -0
  24. pygpt_net/data/locale/plugin.mcp.en.ini +4 -4
  25. pygpt_net/icons.qrc +2 -0
  26. pygpt_net/icons_rc.py +232 -147
  27. pygpt_net/provider/api/anthropic/tools.py +4 -2
  28. pygpt_net/provider/api/google/__init__.py +3 -2
  29. pygpt_net/provider/api/openai/agents/remote_tools.py +14 -4
  30. pygpt_net/provider/api/openai/chat.py +14 -2
  31. pygpt_net/provider/api/openai/remote_tools.py +5 -2
  32. pygpt_net/provider/api/x_ai/remote.py +6 -1
  33. pygpt_net/provider/core/config/patch.py +8 -1
  34. pygpt_net/ui/layout/chat/output.py +7 -2
  35. {pygpt_net-2.6.52.dist-info → pygpt_net-2.6.53.dist-info}/METADATA +7 -2
  36. {pygpt_net-2.6.52.dist-info → pygpt_net-2.6.53.dist-info}/RECORD +39 -36
  37. {pygpt_net-2.6.52.dist-info → pygpt_net-2.6.53.dist-info}/LICENSE +0 -0
  38. {pygpt_net-2.6.52.dist-info → pygpt_net-2.6.53.dist-info}/WHEEL +0 -0
  39. {pygpt_net-2.6.52.dist-info → pygpt_net-2.6.53.dist-info}/entry_points.txt +0 -0
pygpt_net/icons_rc.py CHANGED
@@ -163,6 +163,42 @@ h205l-73-72 58-5\
163
163
  0v205l72-73 58 5\
164
164
  8L480-80Z\x22/></sv\
165
165
  g>\
166
+ \x00\x00\x02\x1f\
167
+ <\
168
+ svg xmlns=\x22http:\
169
+ //www.w3.org/200\
170
+ 0/svg\x22 height=\x222\
171
+ 4px\x22 viewBox=\x220 \
172
+ -960 960 960\x22 wi\
173
+ dth=\x2224px\x22 fill=\
174
+ \x22#686868\x22><path \
175
+ d=\x22M819-28 701-1\
176
+ 46q-48 32-103.5 \
177
+ 49T480-80q-83 0-\
178
+ 156-31.5T197-197\
179
+ q-54-54-85.5-127\
180
+ T80-480q0-62 17-\
181
+ 117.5T146-701L27\
182
+ -820l57-57L876-8\
183
+ 5l-57 57ZM440-16\
184
+ 2v-78q-33 0-56.5\
185
+ -23.5T360-320v-4\
186
+ 0L168-552q-3 18-\
187
+ 5.5 36t-2.5 36q0\
188
+ 121 79.5 212T44\
189
+ 0-162Zm374-99-58\
190
+ -58q21-37 32.5-7\
191
+ 7.5T800-480q0-98\
192
+ -54.5-179T600-77\
193
+ 6v16q0 33-23.5 5\
194
+ 6.5T520-680h-80v\
195
+ 45L261-814q48-31\
196
+ 103-48.5T480-88\
197
+ 0q83 0 156 31.5T\
198
+ 763-763q54 54 85\
199
+ .5 127T880-480q0\
200
+ 61-17.5 116T814\
201
+ -261Z\x22/></svg>\
166
202
  \x00\x00\x00\xfa\
167
203
  <\
168
204
  svg xmlns=\x22http:\
@@ -2489,6 +2525,45 @@ l=\x22#686868\x22 d=\x22M\
2489
2525
  1.5T700-440q0 17\
2490
2526
  11.5 28.5T740-4\
2491
2527
  00Z\x22/></svg>\
2528
+ \x00\x00\x02D\
2529
+ <\
2530
+ svg xmlns=\x22http:\
2531
+ //www.w3.org/200\
2532
+ 0/svg\x22 height=\x222\
2533
+ 4px\x22 viewBox=\x220 \
2534
+ -960 960 960\x22 wi\
2535
+ dth=\x2224px\x22 fill=\
2536
+ \x22#686868\x22><path \
2537
+ d=\x22M480-80q-83 0\
2538
+ -156-31.5T197-19\
2539
+ 7q-54-54-85.5-12\
2540
+ 7T80-480q0-83 31\
2541
+ .5-156T197-763q5\
2542
+ 4-54 127-85.5T48\
2543
+ 0-880q83 0 156 3\
2544
+ 1.5T763-763q54 5\
2545
+ 4 85.5 127T880-4\
2546
+ 80q0 83-31.5 156\
2547
+ T763-197q-54 54-\
2548
+ 127 85.5T480-80Z\
2549
+ m-40-82v-78q-33 \
2550
+ 0-56.5-23.5T360-\
2551
+ 320v-40L168-552q\
2552
+ -3 18-5.5 36t-2.\
2553
+ 5 36q0 121 79.5 \
2554
+ 212T440-162Zm276\
2555
+ -102q41-45 62.5-\
2556
+ 100.5T800-480q0-\
2557
+ 98-54.5-179T600-\
2558
+ 776v16q0 33-23.5\
2559
+ 56.5T520-680h-8\
2560
+ 0v80q0 17-11.5 2\
2561
+ 8.5T400-560h-80v\
2562
+ 80h240q17 0 28.5\
2563
+ 11.5T600-440v12\
2564
+ 0h40q26 0 47 15.\
2565
+ 5t29 40.5Z\x22/></s\
2566
+ vg>\
2492
2567
  \x00\x00\x01w\
2493
2568
  <\
2494
2569
  svg xmlns=\x22http:\
@@ -4115,6 +4190,10 @@ qt_resource_name = b"\
4115
4190
  \x08zW\xa7\
4116
4191
  \x00d\
4117
4192
  \x00r\x00a\x00g\x00.\x00s\x00v\x00g\
4193
+ \x00\x0b\
4194
+ \x052*\x07\
4195
+ \x00w\
4196
+ \x00e\x00b\x00_\x00o\x00f\x00f\x00.\x00s\x00v\x00g\
4118
4197
  \x00\x09\
4119
4198
  \x0c\x98\xb7\xc7\
4120
4199
  \x00p\
@@ -4463,6 +4542,10 @@ qt_resource_name = b"\
4463
4542
  \x01\xccZ'\
4464
4543
  \x00k\
4465
4544
  \x00e\x00y\x00.\x00s\x00v\x00g\
4545
+ \x00\x0a\
4546
+ \x06n\xed\xc7\
4547
+ \x00w\
4548
+ \x00e\x00b\x00_\x00o\x00n\x00.\x00s\x00v\x00g\
4466
4549
  \x00\x0e\
4467
4550
  \x02\xda@\xe7\
4468
4551
  \x00w\
@@ -4709,159 +4792,161 @@ qt_resource_name = b"\
4709
4792
 
4710
4793
  qt_resource_struct = b"\
4711
4794
  \x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
4712
- \x00\x00\x00\x00\x00\x02\x00\x00\x00\x98\x00\x00\x00\x02\
4713
- \x00\x00\x0d\xb6\x00\x00\x00\x00\x00\x01\x00\x00\xca\xac\
4714
- \x00\x00\x0f\xe0\x00\x00\x00\x00\x00\x01\x00\x00\xe9\x02\
4715
- \x00\x00\x0b\xe2\x00\x00\x00\x00\x00\x01\x00\x00\xae\xde\
4716
- \x00\x00\x0cB\x00\x00\x00\x00\x00\x01\x00\x00\xb5\xb0\
4717
- \x00\x00\x07~\x00\x00\x00\x00\x00\x01\x00\x00jD\
4718
- \x00\x00\x03>\x00\x00\x00\x00\x00\x01\x00\x00-=\
4719
- \x00\x00\x03T\x00\x00\x00\x00\x00\x01\x00\x00/,\
4795
+ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x9a\x00\x00\x00\x02\
4796
+ \x00\x00\x0d\xec\x00\x00\x00\x00\x00\x01\x00\x00\xcf\x17\
4797
+ \x00\x00\x10\x16\x00\x00\x00\x00\x00\x01\x00\x00\xedm\
4798
+ \x00\x00\x0c\x18\x00\x00\x00\x00\x00\x01\x00\x00\xb3I\
4799
+ \x00\x00\x0cx\x00\x00\x00\x00\x00\x01\x00\x00\xba\x1b\
4800
+ \x00\x00\x07\x9a\x00\x00\x00\x00\x00\x01\x00\x00lg\
4801
+ \x00\x00\x03Z\x00\x00\x00\x00\x00\x01\x00\x00/`\
4802
+ \x00\x00\x03p\x00\x00\x00\x00\x00\x01\x00\x001O\
4720
4803
  \x00\x00\x00V\x00\x00\x00\x00\x00\x01\x00\x00\x04\xc3\
4721
- \x00\x00\x0aT\x00\x00\x00\x00\x00\x01\x00\x00\x96}\
4722
- \x00\x00\x09\x94\x00\x00\x00\x00\x00\x01\x00\x00\x8c\x82\
4723
- \x00\x00\x09z\x00\x00\x00\x00\x00\x01\x00\x00\x8a\xee\
4724
- \x00\x00\x08\xde\x00\x00\x00\x00\x00\x01\x00\x00\x7f\xc7\
4725
- \x00\x00\x09\xa8\x00\x00\x00\x00\x00\x01\x00\x00\x8e\xa3\
4726
- \x00\x00\x07^\x00\x00\x00\x00\x00\x01\x00\x00i7\
4727
- \x00\x00\x09.\x00\x00\x00\x00\x00\x01\x00\x00\x83v\
4728
- \x00\x00\x07\xf8\x00\x00\x00\x00\x00\x01\x00\x00sp\
4729
- \x00\x00\x02\xb6\x00\x00\x00\x00\x00\x01\x00\x00%P\
4730
- \x00\x00\x0e\x1c\x00\x00\x00\x00\x00\x01\x00\x00\xd1\xd6\
4731
- \x00\x00\x0b\xb6\x00\x00\x00\x00\x00\x01\x00\x00\xab\xce\
4732
- \x00\x00\x02F\x00\x00\x00\x00\x00\x01\x00\x00\x1d>\
4804
+ \x00\x00\x0a\x8a\x00\x00\x00\x00\x00\x01\x00\x00\x9a\xe8\
4805
+ \x00\x00\x09\xb0\x00\x00\x00\x00\x00\x01\x00\x00\x8e\xa5\
4806
+ \x00\x00\x09\x96\x00\x00\x00\x00\x00\x01\x00\x00\x8d\x11\
4807
+ \x00\x00\x08\xfa\x00\x00\x00\x00\x00\x01\x00\x00\x81\xea\
4808
+ \x00\x00\x09\xde\x00\x00\x00\x00\x00\x01\x00\x00\x93\x0e\
4809
+ \x00\x00\x07z\x00\x00\x00\x00\x00\x01\x00\x00kZ\
4810
+ \x00\x00\x09J\x00\x00\x00\x00\x00\x01\x00\x00\x85\x99\
4811
+ \x00\x00\x08\x14\x00\x00\x00\x00\x00\x01\x00\x00u\x93\
4812
+ \x00\x00\x02\xd2\x00\x00\x00\x00\x00\x01\x00\x00's\
4813
+ \x00\x00\x0eR\x00\x00\x00\x00\x00\x01\x00\x00\xd6A\
4814
+ \x00\x00\x0b\xec\x00\x00\x00\x00\x00\x01\x00\x00\xb09\
4815
+ \x00\x00\x02b\x00\x00\x00\x00\x00\x01\x00\x00\x1fa\
4733
4816
  \x00\x00\x00@\x00\x00\x00\x00\x00\x01\x00\x00\x03\xa5\
4734
- \x00\x00\x04\xd4\x00\x00\x00\x00\x00\x01\x00\x00D\x9e\
4735
- \x00\x00\x01^\x00\x00\x00\x00\x00\x01\x00\x00\x10_\
4736
- \x00\x00\x08\x22\x00\x00\x00\x00\x00\x01\x00\x00v\xeb\
4737
- \x00\x00\x06\xcc\x00\x00\x00\x00\x00\x01\x00\x00a9\
4738
- \x00\x00\x06>\x00\x00\x00\x00\x00\x01\x00\x00X\xa6\
4739
- \x00\x00\x08T\x00\x00\x00\x00\x00\x01\x00\x00z\x19\
4740
- \x00\x00\x08\xf4\x00\x00\x00\x00\x00\x01\x00\x00\x80\x85\
4741
- \x00\x00\x03p\x00\x00\x00\x00\x00\x01\x00\x000f\
4742
- \x00\x00\x01\xc2\x00\x00\x00\x00\x00\x01\x00\x00\x16\xff\
4743
- \x00\x00\x0b\xfa\x00\x00\x00\x00\x00\x01\x00\x00\xb0\xc0\
4744
- \x00\x00\x02\x82\x00\x00\x00\x00\x00\x01\x00\x00 \x9c\
4745
- \x00\x00\x01\xda\x00\x00\x00\x00\x00\x01\x00\x00\x18\x9e\
4746
- \x00\x00\x0bN\x00\x00\x00\x00\x00\x01\x00\x00\xa7\xa8\
4817
+ \x00\x00\x04\xf0\x00\x00\x00\x00\x00\x01\x00\x00F\xc1\
4818
+ \x00\x00\x01z\x00\x00\x00\x00\x00\x01\x00\x00\x12\x82\
4819
+ \x00\x00\x08>\x00\x00\x00\x00\x00\x01\x00\x00y\x0e\
4820
+ \x00\x00\x06\xe8\x00\x00\x00\x00\x00\x01\x00\x00c\x5c\
4821
+ \x00\x00\x00\xac\x00\x00\x00\x00\x00\x01\x00\x00\x08\xf3\
4822
+ \x00\x00\x06Z\x00\x00\x00\x00\x00\x01\x00\x00Z\xc9\
4823
+ \x00\x00\x08p\x00\x00\x00\x00\x00\x01\x00\x00|<\
4824
+ \x00\x00\x09\x10\x00\x00\x00\x00\x00\x01\x00\x00\x82\xa8\
4825
+ \x00\x00\x03\x8c\x00\x00\x00\x00\x00\x01\x00\x002\x89\
4826
+ \x00\x00\x01\xde\x00\x00\x00\x00\x00\x01\x00\x00\x19\x22\
4827
+ \x00\x00\x0c0\x00\x00\x00\x00\x00\x01\x00\x00\xb5+\
4828
+ \x00\x00\x02\x9e\x00\x00\x00\x00\x00\x01\x00\x00\x22\xbf\
4829
+ \x00\x00\x01\xf6\x00\x00\x00\x00\x00\x01\x00\x00\x1a\xc1\
4830
+ \x00\x00\x0b\x84\x00\x00\x00\x00\x00\x01\x00\x00\xac\x13\
4747
4831
  \x00\x00\x00\x10\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
4748
- \x00\x00\x0d^\x00\x00\x00\x00\x00\x01\x00\x00`\x87\
4749
- \x00\x00\x0d\x02\x00\x00\x00\x00\x00\x01\x00\x00\xc2\xf1\
4750
- \x00\x00\x02\x18\x00\x00\x00\x00\x00\x01\x00\x00\x1a\x82\
4751
- \x00\x00\x0c\xa4\x00\x00\x00\x00\x00\x01\x00\x00\xbcG\
4752
- \x00\x00\x03$\x00\x00\x00\x00\x00\x01\x00\x00+\x8a\
4753
- \x00\x00\x0e>\x00\x00\x00\x00\x00\x01\x00\x00\xd2\xd3\
4754
- \x00\x00\x05\x94\x00\x00\x00\x00\x00\x01\x00\x00N\xcd\
4755
- \x00\x00\x09L\x00\x00\x00\x00\x00\x01\x00\x00\x84\xc3\
4756
- \x00\x00\x0cr\x00\x00\x00\x00\x00\x01\x00\x00\xb8\xfd\
4757
- \x00\x00\x0fr\x00\x00\x00\x00\x00\x01\x00\x00\xe4\x0c\
4758
- \x00\x00\x0f\xa4\x00\x00\x00\x00\x00\x01\x00\x00\xe6c\
4759
- \x00\x00\x0eT\x00\x00\x00\x00\x00\x01\x00\x00\xd3\x94\
4760
- \x00\x00\x0d\x8a\x00\x00\x00\x00\x00\x01\x00\x00\xc9\x01\
4761
- \x00\x00\x05\xca\x00\x00\x00\x00\x00\x01\x00\x00Pg\
4762
- \x00\x00\x07\xda\x00\x00\x00\x00\x00\x01\x00\x00q\x97\
4763
- \x00\x00\x01>\x00\x00\x00\x00\x00\x01\x00\x00\x0e\xd0\
4764
- \x00\x00\x0a\xba\x00\x00\x00\x00\x00\x01\x00\x00\x9a\xe0\
4765
- \x00\x00\x0c.\x00\x00\x00\x00\x00\x01\x00\x00\xb3\x92\
4766
- \x00\x00\x0a\x9c\x00\x00\x00\x00\x00\x01\x00\x00\x99\xb2\
4767
- \x00\x00\x0dt\x00\x00\x00\x00\x00\x01\x00\x00\xc8D\
4768
- \x00\x00\x03\xb4\x00\x00\x00\x00\x00\x01\x00\x004\x0e\
4769
- \x00\x00\x06X\x00\x00\x00\x00\x00\x01\x00\x00Y\xf3\
4770
- \x00\x00\x06 \x00\x00\x00\x00\x00\x01\x00\x00U\x03\
4771
- \x00\x00\x0c\xea\x00\x00\x00\x00\x00\x01\x00\x00\xc1\x9c\
4772
- \x00\x00\x05H\x00\x00\x00\x00\x00\x01\x00\x00J\xdd\
4773
- \x00\x00\x06\x9c\x00\x00\x00\x00\x00\x01\x00\x00_@\
4774
- \x00\x00\x07\x1a\x00\x00\x00\x00\x00\x01\x00\x00g'\
4775
- \x00\x00\x07@\x00\x00\x00\x00\x00\x01\x00\x00h!\
4776
- \x00\x00\x0bz\x00\x00\x00\x00\x00\x01\x00\x00\xa9k\
4777
- \x00\x00\x0a\xfe\x00\x00\x00\x00\x00\x01\x00\x00\xa4-\
4778
- \x00\x00\x09\xe4\x00\x00\x00\x00\x00\x01\x00\x00\x911\
4779
- \x00\x00\x02.\x00\x00\x00\x00\x00\x01\x00\x00\x1b\xd6\
4780
- \x00\x00\x0b\xca\x00\x00\x00\x00\x00\x01\x00\x00\xad\x91\
4781
- \x00\x00\x0fZ\x00\x00\x00\x00\x00\x01\x00\x00\xe2\xdd\
4832
+ \x00\x00\x0d\x94\x00\x00\x00\x00\x00\x01\x00\x00b\xaa\
4833
+ \x00\x00\x0d8\x00\x00\x00\x00\x00\x01\x00\x00\xc7\x5c\
4834
+ \x00\x00\x09\xc4\x00\x00\x00\x00\x00\x01\x00\x00\x90\xc6\
4835
+ \x00\x00\x024\x00\x00\x00\x00\x00\x01\x00\x00\x1c\xa5\
4836
+ \x00\x00\x0c\xda\x00\x00\x00\x00\x00\x01\x00\x00\xc0\xb2\
4837
+ \x00\x00\x03@\x00\x00\x00\x00\x00\x01\x00\x00-\xad\
4838
+ \x00\x00\x0et\x00\x00\x00\x00\x00\x01\x00\x00\xd7>\
4839
+ \x00\x00\x05\xb0\x00\x00\x00\x00\x00\x01\x00\x00P\xf0\
4840
+ \x00\x00\x09h\x00\x00\x00\x00\x00\x01\x00\x00\x86\xe6\
4841
+ \x00\x00\x0c\xa8\x00\x00\x00\x00\x00\x01\x00\x00\xbdh\
4842
+ \x00\x00\x0f\xa8\x00\x00\x00\x00\x00\x01\x00\x00\xe8w\
4843
+ \x00\x00\x0f\xda\x00\x00\x00\x00\x00\x01\x00\x00\xea\xce\
4844
+ \x00\x00\x0e\x8a\x00\x00\x00\x00\x00\x01\x00\x00\xd7\xff\
4845
+ \x00\x00\x0d\xc0\x00\x00\x00\x00\x00\x01\x00\x00\xcdl\
4846
+ \x00\x00\x05\xe6\x00\x00\x00\x00\x00\x01\x00\x00R\x8a\
4847
+ \x00\x00\x07\xf6\x00\x00\x00\x00\x00\x01\x00\x00s\xba\
4848
+ \x00\x00\x01Z\x00\x00\x00\x00\x00\x01\x00\x00\x10\xf3\
4849
+ \x00\x00\x0a\xf0\x00\x00\x00\x00\x00\x01\x00\x00\x9fK\
4850
+ \x00\x00\x0cd\x00\x00\x00\x00\x00\x01\x00\x00\xb7\xfd\
4851
+ \x00\x00\x0a\xd2\x00\x00\x00\x00\x00\x01\x00\x00\x9e\x1d\
4852
+ \x00\x00\x0d\xaa\x00\x00\x00\x00\x00\x01\x00\x00\xcc\xaf\
4853
+ \x00\x00\x03\xd0\x00\x00\x00\x00\x00\x01\x00\x0061\
4854
+ \x00\x00\x06t\x00\x00\x00\x00\x00\x01\x00\x00\x5c\x16\
4855
+ \x00\x00\x06<\x00\x00\x00\x00\x00\x01\x00\x00W&\
4856
+ \x00\x00\x0d \x00\x00\x00\x00\x00\x01\x00\x00\xc6\x07\
4857
+ \x00\x00\x05d\x00\x00\x00\x00\x00\x01\x00\x00M\x00\
4858
+ \x00\x00\x06\xb8\x00\x00\x00\x00\x00\x01\x00\x00ac\
4859
+ \x00\x00\x076\x00\x00\x00\x00\x00\x01\x00\x00iJ\
4860
+ \x00\x00\x07\x5c\x00\x00\x00\x00\x00\x01\x00\x00jD\
4861
+ \x00\x00\x0b\xb0\x00\x00\x00\x00\x00\x01\x00\x00\xad\xd6\
4862
+ \x00\x00\x0b4\x00\x00\x00\x00\x00\x01\x00\x00\xa8\x98\
4863
+ \x00\x00\x0a\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x95\x9c\
4864
+ \x00\x00\x02J\x00\x00\x00\x00\x00\x01\x00\x00\x1d\xf9\
4865
+ \x00\x00\x0c\x00\x00\x00\x00\x00\x00\x01\x00\x00\xb1\xfc\
4866
+ \x00\x00\x0f\x90\x00\x00\x00\x00\x00\x01\x00\x00\xe7H\
4782
4867
  \x00\x00\x00\x96\x00\x00\x00\x00\x00\x01\x00\x00\x07\xac\
4783
- \x00\x00\x0a\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x9e\xe7\
4784
- \x00\x00\x0e\xa8\x00\x00\x00\x00\x00\x01\x00\x00\xd8c\
4785
- \x00\x00\x0e\xc0\x00\x00\x00\x00\x00\x01\x00\x00\xda\x95\
4786
- \x00\x00\x04\xa8\x00\x00\x00\x00\x00\x01\x00\x00AO\
4787
- \x00\x00\x02\xce\x00\x00\x00\x00\x00\x01\x00\x00'3\
4788
- \x00\x00\x0d\x1e\x00\x00\x00\x00\x00\x01\x00\x00\xc5\x89\
4789
- \x00\x00\x04|\x00\x00\x00\x00\x00\x01\x00\x00?p\
4790
- \x00\x00\x08>\x00\x00\x00\x00\x00\x01\x00\x00x\x95\
4791
- \x00\x00\x0c\x18\x00\x00\x00\x00\x00\x01\x00\x00\xb1\xc3\
4792
- \x00\x00\x03\x9e\x00\x00\x00\x00\x00\x01\x00\x003\x02\
4793
- \x00\x00\x08\xb2\x00\x00\x00\x00\x00\x01\x00\x00|.\
4794
- \x00\x00\x07\x02\x00\x00\x00\x00\x00\x01\x00\x00d\xbc\
4795
- \x00\x00\x01\xfe\x00\x00\x00\x00\x00\x01\x00\x00\x19R\
4796
- \x00\x00\x02\x98\x00\x00\x00\x00\x00\x01\x00\x00!\x80\
4797
- \x00\x00\x04@\x00\x00\x00\x00\x00\x01\x00\x00=*\
4798
- \x00\x00\x05\x10\x00\x00\x00\x00\x00\x01\x00\x00H\xcd\
4799
- \x00\x00\x03\x0a\x00\x00\x00\x00\x00\x01\x00\x00*T\
4800
- \x00\x00\x06\xe8\x00\x00\x00\x00\x00\x01\x00\x00c\x22\
4801
- \x00\x00\x05`\x00\x00\x00\x00\x00\x01\x00\x00K\xfc\
4802
- \x00\x00\x0f8\x00\x00\x00\x00\x00\x01\x00\x00\xe1M\
4803
- \x00\x00\x0c\x90\x00\x00\x00\x00\x00\x01\x00\x00\xbb\x06\
4804
- \x00\x00\x0f \x00\x00\x00\x00\x00\x01\x00\x00\xdf\xbb\
4805
- \x00\x00\x0ex\x00\x00\x00\x00\x00\x01\x00\x00\xd5H\
4806
- \x00\x00\x01\x94\x00\x00\x00\x00\x00\x01\x00\x00\x14k\
4807
- \x00\x00\x03\xcc\x00\x00\x00\x00\x00\x01\x00\x005\x94\
4808
- \x00\x00\x05|\x00\x00\x00\x00\x00\x01\x00\x00M\x88\
4809
- \x00\x00\x06\x84\x00\x00\x00\x00\x00\x01\x00\x00]\x8d\
4810
- \x00\x00\x02n\x00\x00\x00\x00\x00\x01\x00\x00\x1e\xaa\
4811
- \x00\x00\x04\x14\x00\x00\x00\x00\x00\x01\x00\x0095\
4812
- \x00\x00\x04,\x00\x00\x00\x00\x00\x01\x00\x00:\x8c\
4813
- \x00\x00\x0c\xd0\x00\x00\x00\x00\x00\x01\x00\x00\xc0o\
4814
- \x00\x00\x07\x9a\x00\x00\x00\x00\x00\x01\x00\x00l\xa2\
4815
- \x00\x00\x05\xac\x00\x00\x00\x00\x00\x01\x00\x00O\xab\
4816
- \x00\x00\x00\xc4\x00\x00\x00\x00\x00\x01\x00\x00\x09\xf1\
4817
- \x00\x00\x08n\x00\x00\x00\x00\x00\x01\x00\x00{1\
4868
+ \x00\x00\x0b\x06\x00\x00\x00\x00\x00\x01\x00\x00\xa3R\
4869
+ \x00\x00\x0e\xde\x00\x00\x00\x00\x00\x01\x00\x00\xdc\xce\
4870
+ \x00\x00\x0e\xf6\x00\x00\x00\x00\x00\x01\x00\x00\xdf\x00\
4871
+ \x00\x00\x04\xc4\x00\x00\x00\x00\x00\x01\x00\x00Cr\
4872
+ \x00\x00\x02\xea\x00\x00\x00\x00\x00\x01\x00\x00)V\
4873
+ \x00\x00\x0dT\x00\x00\x00\x00\x00\x01\x00\x00\xc9\xf4\
4874
+ \x00\x00\x04\x98\x00\x00\x00\x00\x00\x01\x00\x00A\x93\
4875
+ \x00\x00\x08Z\x00\x00\x00\x00\x00\x01\x00\x00z\xb8\
4876
+ \x00\x00\x0cN\x00\x00\x00\x00\x00\x01\x00\x00\xb6.\
4877
+ \x00\x00\x03\xba\x00\x00\x00\x00\x00\x01\x00\x005%\
4878
+ \x00\x00\x08\xce\x00\x00\x00\x00\x00\x01\x00\x00~Q\
4879
+ \x00\x00\x07\x1e\x00\x00\x00\x00\x00\x01\x00\x00f\xdf\
4880
+ \x00\x00\x02\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x1bu\
4881
+ \x00\x00\x02\xb4\x00\x00\x00\x00\x00\x01\x00\x00#\xa3\
4882
+ \x00\x00\x04\x5c\x00\x00\x00\x00\x00\x01\x00\x00?M\
4883
+ \x00\x00\x05,\x00\x00\x00\x00\x00\x01\x00\x00J\xf0\
4884
+ \x00\x00\x03&\x00\x00\x00\x00\x00\x01\x00\x00,w\
4885
+ \x00\x00\x07\x04\x00\x00\x00\x00\x00\x01\x00\x00eE\
4886
+ \x00\x00\x05|\x00\x00\x00\x00\x00\x01\x00\x00N\x1f\
4887
+ \x00\x00\x0fn\x00\x00\x00\x00\x00\x01\x00\x00\xe5\xb8\
4888
+ \x00\x00\x0c\xc6\x00\x00\x00\x00\x00\x01\x00\x00\xbfq\
4889
+ \x00\x00\x0fV\x00\x00\x00\x00\x00\x01\x00\x00\xe4&\
4890
+ \x00\x00\x0e\xae\x00\x00\x00\x00\x00\x01\x00\x00\xd9\xb3\
4891
+ \x00\x00\x01\xb0\x00\x00\x00\x00\x00\x01\x00\x00\x16\x8e\
4892
+ \x00\x00\x03\xe8\x00\x00\x00\x00\x00\x01\x00\x007\xb7\
4893
+ \x00\x00\x05\x98\x00\x00\x00\x00\x00\x01\x00\x00O\xab\
4894
+ \x00\x00\x06\xa0\x00\x00\x00\x00\x00\x01\x00\x00_\xb0\
4895
+ \x00\x00\x02\x8a\x00\x00\x00\x00\x00\x01\x00\x00 \xcd\
4896
+ \x00\x00\x040\x00\x00\x00\x00\x00\x01\x00\x00;X\
4897
+ \x00\x00\x04H\x00\x00\x00\x00\x00\x01\x00\x00<\xaf\
4898
+ \x00\x00\x0d\x06\x00\x00\x00\x00\x00\x01\x00\x00\xc4\xda\
4899
+ \x00\x00\x07\xb6\x00\x00\x00\x00\x00\x01\x00\x00n\xc5\
4900
+ \x00\x00\x05\xc8\x00\x00\x00\x00\x00\x01\x00\x00Q\xce\
4901
+ \x00\x00\x00\xe0\x00\x00\x00\x00\x00\x01\x00\x00\x0c\x14\
4902
+ \x00\x00\x08\x8a\x00\x00\x00\x00\x00\x01\x00\x00}T\
4818
4903
  \x00\x00\x00p\x00\x00\x00\x00\x00\x01\x00\x00\x06X\
4819
- \x00\x00\x0e\xda\x00\x00\x00\x00\x00\x01\x00\x00\xdc\x0d\
4820
- \x00\x00\x09^\x00\x00\x00\x00\x00\x01\x00\x00\x87\x9c\
4821
- \x00\x00\x03\x88\x00\x00\x00\x00\x00\x01\x00\x002B\
4822
- \x00\x00\x03\xfa\x00\x00\x00\x00\x00\x01\x00\x007\xe1\
4823
- \x00\x00\x04b\x00\x00\x00\x00\x00\x01\x00\x00=\xf3\
4824
- \x00\x00\x09\xfc\x00\x00\x00\x00\x00\x01\x00\x00\x92E\
4825
- \x00\x00\x00\xda\x00\x00\x00\x00\x00\x01\x00\x00\x0b:\
4826
- \x00\x00\x00\xf4\x00\x00\x00\x00\x00\x01\x00\x00\x0cB\
4827
- \x00\x00\x06\xb4\x00\x00\x00\x00\x00\x01\x00\x00`\x87\
4828
- \x00\x00\x050\x00\x00\x00\x00\x00\x01\x00\x00I\x94\
4829
- \x00\x00\x0c\x5c\x00\x00\x00\x00\x00\x01\x00\x00\xb7\xde\
4904
+ \x00\x00\x0f\x10\x00\x00\x00\x00\x00\x01\x00\x00\xe0x\
4905
+ \x00\x00\x09z\x00\x00\x00\x00\x00\x01\x00\x00\x89\xbf\
4906
+ \x00\x00\x03\xa4\x00\x00\x00\x00\x00\x01\x00\x004e\
4907
+ \x00\x00\x04\x16\x00\x00\x00\x00\x00\x01\x00\x00:\x04\
4908
+ \x00\x00\x04~\x00\x00\x00\x00\x00\x01\x00\x00@\x16\
4909
+ \x00\x00\x0a2\x00\x00\x00\x00\x00\x01\x00\x00\x96\xb0\
4910
+ \x00\x00\x00\xf6\x00\x00\x00\x00\x00\x01\x00\x00\x0d]\
4911
+ \x00\x00\x01\x10\x00\x00\x00\x00\x00\x01\x00\x00\x0ee\
4912
+ \x00\x00\x06\xd0\x00\x00\x00\x00\x00\x01\x00\x00b\xaa\
4913
+ \x00\x00\x05L\x00\x00\x00\x00\x00\x01\x00\x00K\xb7\
4914
+ \x00\x00\x0c\x92\x00\x00\x00\x00\x00\x01\x00\x00\xbcI\
4830
4915
  \x00\x00\x00,\x00\x00\x00\x00\x00\x01\x00\x00\x01\xbc\
4831
- \x00\x00\x04\xf2\x00\x00\x00\x00\x00\x01\x00\x00E\xca\
4832
- \x00\x00\x0d8\x00\x00\x00\x00\x00\x01\x00\x00\xc7I\
4833
- \x00\x00\x03\xe4\x00\x00\x00\x00\x00\x01\x00\x007\x1b\
4834
- \x00\x00\x0c\xba\x00\x00\x00\x00\x00\x01\x00\x00\xbd\xb8\
4835
- \x00\x00\x0a\x14\x00\x00\x00\x00\x00\x01\x00\x00\x93\x08\
4836
- \x00\x00\x0e\xf8\x00\x00\x00\x00\x00\x01\x00\x00\xdda\
4837
- \x00\x00\x01\xac\x00\x00\x00\x00\x00\x01\x00\x00\x15\xc7\
4838
- \x00\x00\x0b8\x00\x00\x00\x00\x00\x01\x00\x00\xa6\xe7\
4839
- \x00\x00\x0ax\x00\x00\x00\x00\x00\x01\x00\x00\x98'\
4840
- \x00\x00\x08\xca\x00\x00\x00\x00\x00\x01\x00\x00~G\
4841
- \x00\x00\x0e\x8e\x00\x00\x00\x00\x00\x01\x00\x00\xd6o\
4842
- \x00\x00\x00\xac\x00\x00\x00\x00\x00\x01\x00\x00\x08\xf3\
4843
- \x00\x00\x0d\xf0\x00\x00\x00\x00\x00\x01\x00\x00\xce\x8e\
4844
- \x00\x00\x08\x0c\x00\x00\x00\x00\x00\x01\x00\x00t\xfc\
4845
- \x00\x00\x09\xca\x00\x00\x00\x00\x00\x01\x00\x00\x90\x1e\
4846
- \x00\x00\x01t\x00\x00\x00\x00\x00\x01\x00\x00\x12v\
4847
- \x00\x00\x08\x96\x00\x00\x00\x00\x00\x01\x00\x00q\x97\
4848
- \x00\x00\x0bd\x00\x00\x00\x00\x00\x01\x00\x00\xa8\x9b\
4849
- \x00\x00\x0e\x08\x00\x00\x00\x00\x00\x01\x00\x00\xd09\
4850
- \x00\x00\x09\x0a\x00\x00\x00\x00\x00\x01\x00\x00\x82x\
4851
- \x00\x00\x0b\x1a\x00\x00\x00\x00\x00\x01\x00\x00\xa4\xeb\
4852
- \x00\x00\x07\xb4\x00\x00\x00\x00\x00\x01\x00\x00o\xcd\
4853
- \x00\x00\x0a.\x00\x00\x00\x00\x00\x01\x00\x00\x94\x82\
4854
- \x00\x00\x0f\xc2\x00\x00\x00\x00\x00\x01\x00\x00\xe7\xf3\
4855
- \x00\x00\x0f\x8c\x00\x00\x00\x00\x00\x01\x00\x00\xe5!\
4856
- \x00\x00\x02\xe4\x00\x00\x00\x00\x00\x01\x00\x00(\x85\
4857
- \x00\x00\x04\xbe\x00\x00\x00\x00\x00\x01\x00\x00CJ\
4858
- \x00\x00\x0b\x94\x00\x00\x00\x00\x00\x01\x00\x00\xaa\x1d\
4859
- \x00\x00\x0d\xce\x00\x00\x00\x00\x00\x01\x00\x00\xcc\xbb\
4860
- \x00\x00\x05\xfe\x00\x00\x00\x00\x00\x01\x00\x00S\xa3\
4861
- \x00\x00\x01 \x00\x00\x00\x00\x00\x01\x00\x00\x0d\xba\
4862
- \x00\x00\x06l\x00\x00\x00\x00\x00\x01\x00\x00Z\xa9\
4863
- \x00\x00\x05\xde\x00\x00\x00\x00\x00\x01\x00\x00R$\
4864
- \x00\x00\x0a\xe8\x00\x00\x00\x00\x00\x01\x00\x00\xa2\x03\
4916
+ \x00\x00\x05\x0e\x00\x00\x00\x00\x00\x01\x00\x00G\xed\
4917
+ \x00\x00\x0dn\x00\x00\x00\x00\x00\x01\x00\x00\xcb\xb4\
4918
+ \x00\x00\x04\x00\x00\x00\x00\x00\x00\x01\x00\x009>\
4919
+ \x00\x00\x0c\xf0\x00\x00\x00\x00\x00\x01\x00\x00\xc2#\
4920
+ \x00\x00\x0aJ\x00\x00\x00\x00\x00\x01\x00\x00\x97s\
4921
+ \x00\x00\x0f.\x00\x00\x00\x00\x00\x01\x00\x00\xe1\xcc\
4922
+ \x00\x00\x01\xc8\x00\x00\x00\x00\x00\x01\x00\x00\x17\xea\
4923
+ \x00\x00\x0bn\x00\x00\x00\x00\x00\x01\x00\x00\xabR\
4924
+ \x00\x00\x0a\xae\x00\x00\x00\x00\x00\x01\x00\x00\x9c\x92\
4925
+ \x00\x00\x08\xe6\x00\x00\x00\x00\x00\x01\x00\x00\x80j\
4926
+ \x00\x00\x0e\xc4\x00\x00\x00\x00\x00\x01\x00\x00\xda\xda\
4927
+ \x00\x00\x00\xc8\x00\x00\x00\x00\x00\x01\x00\x00\x0b\x16\
4928
+ \x00\x00\x0e&\x00\x00\x00\x00\x00\x01\x00\x00\xd2\xf9\
4929
+ \x00\x00\x08(\x00\x00\x00\x00\x00\x01\x00\x00w\x1f\
4930
+ \x00\x00\x0a\x00\x00\x00\x00\x00\x00\x01\x00\x00\x94\x89\
4931
+ \x00\x00\x01\x90\x00\x00\x00\x00\x00\x01\x00\x00\x14\x99\
4932
+ \x00\x00\x08\xb2\x00\x00\x00\x00\x00\x01\x00\x00s\xba\
4933
+ \x00\x00\x0b\x9a\x00\x00\x00\x00\x00\x01\x00\x00\xad\x06\
4934
+ \x00\x00\x0e>\x00\x00\x00\x00\x00\x01\x00\x00\xd4\xa4\
4935
+ \x00\x00\x09&\x00\x00\x00\x00\x00\x01\x00\x00\x84\x9b\
4936
+ \x00\x00\x0bP\x00\x00\x00\x00\x00\x01\x00\x00\xa9V\
4937
+ \x00\x00\x07\xd0\x00\x00\x00\x00\x00\x01\x00\x00q\xf0\
4938
+ \x00\x00\x0ad\x00\x00\x00\x00\x00\x01\x00\x00\x98\xed\
4939
+ \x00\x00\x0f\xf8\x00\x00\x00\x00\x00\x01\x00\x00\xec^\
4940
+ \x00\x00\x0f\xc2\x00\x00\x00\x00\x00\x01\x00\x00\xe9\x8c\
4941
+ \x00\x00\x03\x00\x00\x00\x00\x00\x00\x01\x00\x00*\xa8\
4942
+ \x00\x00\x04\xda\x00\x00\x00\x00\x00\x01\x00\x00Em\
4943
+ \x00\x00\x0b\xca\x00\x00\x00\x00\x00\x01\x00\x00\xae\x88\
4944
+ \x00\x00\x0e\x04\x00\x00\x00\x00\x00\x01\x00\x00\xd1&\
4945
+ \x00\x00\x06\x1a\x00\x00\x00\x00\x00\x01\x00\x00U\xc6\
4946
+ \x00\x00\x01<\x00\x00\x00\x00\x00\x01\x00\x00\x0f\xdd\
4947
+ \x00\x00\x06\x88\x00\x00\x00\x00\x00\x01\x00\x00\x5c\xcc\
4948
+ \x00\x00\x05\xfa\x00\x00\x00\x00\x00\x01\x00\x00TG\
4949
+ \x00\x00\x0b\x1e\x00\x00\x00\x00\x00\x01\x00\x00\xa6n\
4865
4950
  "
4866
4951
 
4867
4952
  def qInitResources():
@@ -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 01:00:00 #
9
+ # Updated Date: 2025.09.17 05:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  import json
@@ -177,8 +177,10 @@ class Tools:
177
177
  if model and model.id and model.id.startswith("claude-3-5"):
178
178
  return tools
179
179
 
180
+ is_web = self.window.controller.chat.remote_tools.enabled(model, "web_search") # get global config
181
+
180
182
  # Web Search tool
181
- if cfg.get("remote_tools.anthropic.web_search"):
183
+ if is_web:
182
184
  ttype = cfg.get("remote_tools.anthropic.web_search.type", "web_search_20250305") # stable as of docs
183
185
  tname = "web_search"
184
186
 
@@ -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.15 01:00:00 #
9
+ # Updated Date: 2025.09.17 05:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  import os
@@ -260,9 +260,10 @@ class ApiGoogle:
260
260
  tools: list = []
261
261
  cfg = self.window.core.config
262
262
  model_id = (model.id if model and getattr(model, "id", None) else "").lower()
263
+ is_web = self.window.controller.chat.remote_tools.enabled(model, "web_search") # get global config
263
264
 
264
265
  # Google Search tool
265
- if cfg.get("remote_tools.google.web_search") and "image" not in model.id:
266
+ if is_web and "image" not in model.id:
266
267
  try:
267
268
  if not model_id.startswith("gemini-1.5") and not model_id.startswith("models/gemini-1.5"):
268
269
  # Gemini 2.x uses GoogleSearch
@@ -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.08.01 03:00:00 #
9
+ # Updated Date: 2025.09.17 05:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  import json
@@ -135,9 +135,11 @@ def get_remote_tools(
135
135
  "computer_use": False,
136
136
  }
137
137
 
138
+ enabled_global = window.controller.chat.remote_tools.enabled # get global config
139
+
138
140
  # from global config if not expert call
139
141
  if not is_expert_call:
140
- enabled["web_search"] = window.core.config.get("remote_tools.web_search", False)
142
+ enabled["web_search"] = enabled_global(model, "web_search") # <-- from global config
141
143
  enabled["image"] = window.core.config.get("remote_tools.image", False)
142
144
  enabled["code_interpreter"] = window.core.config.get("remote_tools.code_interpreter", False)
143
145
  enabled["mcp"] = window.core.config.get("remote_tools.mcp", False)
@@ -147,8 +149,16 @@ def get_remote_tools(
147
149
  # for expert call, get from preset config
148
150
  if preset:
149
151
  if preset.remote_tools:
150
- tools_list = [preset_remote_tool.strip() for preset_remote_tool in preset.remote_tools.split(",") if
151
- preset_remote_tool.strip()]
152
+ if isinstance(preset.remote_tools, str):
153
+ tools_list = [preset_remote_tool.strip() for preset_remote_tool in preset.remote_tools.split(",") if
154
+ preset_remote_tool.strip()]
155
+ elif isinstance(preset.remote_tools, list):
156
+ tools_list = [str(preset_remote_tool).strip() for preset_remote_tool in preset.remote_tools if
157
+ str(preset_remote_tool).strip()]
158
+ else:
159
+ tools_list = []
160
+ if "web_search" not in tools_list:
161
+ enabled["web_search"] = enabled_global(model, "web_search") # <-- from global config
152
162
  for item in tools_list:
153
163
  if item in enabled:
154
164
  enabled[item] = True
@@ -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.08.28 09:00:00 #
9
+ # Updated Date: 2025.09.17 05:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  import json
@@ -145,9 +145,21 @@ class Chat:
145
145
  if stream:
146
146
  response_kwargs['stream_options'] = {"include_usage": True}
147
147
 
148
+ # OpenRouter: add web search remote tool (if enabled)
149
+ # https://openrouter.ai/docs/features/web-search
150
+ model_id = model.id
151
+ if model.provider == "open_router":
152
+ is_web = self.window.controller.chat.remote_tools.enabled(model, "web_search") # web search config
153
+ if is_web:
154
+ if not model_id.endswith(":online"):
155
+ model_id += ":online"
156
+ else:
157
+ if model_id.endswith(":online"):
158
+ model_id = model_id.replace(":online", "")
159
+
148
160
  response = client.chat.completions.create(
149
161
  messages=messages,
150
- model=model.id,
162
+ model=model_id,
151
163
  stream=stream,
152
164
  **response_kwargs,
153
165
  )
@@ -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.07.30 00:00:00 #
9
+ # Updated Date: 2025.09.17 05:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  import json
@@ -87,10 +87,11 @@ class RemoteTools:
87
87
  "file_search": False,
88
88
  "computer_use": False,
89
89
  }
90
+ enabled_global = self.window.controller.chat.remote_tools.enabled # get global config
90
91
 
91
92
  # from global config if not expert call
92
93
  if not is_expert_call:
93
- enabled["web_search"] = self.window.core.config.get("remote_tools.web_search", False)
94
+ enabled["web_search"] = enabled_global(model, "web_search") # <-- from global config
94
95
  enabled["image"] = self.window.core.config.get("remote_tools.image", False)
95
96
  enabled["code_interpreter"] = self.window.core.config.get("remote_tools.code_interpreter", False)
96
97
  enabled["mcp"] = self.window.core.config.get("remote_tools.mcp", False)
@@ -101,6 +102,8 @@ class RemoteTools:
101
102
  if preset:
102
103
  if preset.remote_tools:
103
104
  tools_list = [preset_remote_tool.strip() for preset_remote_tool in preset.remote_tools.split(",") if preset_remote_tool.strip()]
105
+ if "web_search" not in tools_list:
106
+ enabled["web_search"] = enabled_global(model, "web_search") # <-- from global config
104
107
  for item in tools_list:
105
108
  if item in enabled:
106
109
  enabled[item] = True
@@ -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 01:00:00 #
9
+ # Updated Date: 2025.09.17 05:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  from __future__ import annotations
@@ -57,11 +57,16 @@ class Remote:
57
57
  :return: Dict with 'sdk' and 'http' keys
58
58
  """
59
59
  cfg = self.window.core.config
60
+ is_web = self.window.controller.chat.remote_tools.enabled(model, "web_search") # get global config
60
61
 
61
62
  mode = str(cfg.get("remote_tools.xai.mode") or "auto").lower()
62
63
  if mode not in ("auto", "on", "off"):
63
64
  mode = "auto"
64
65
 
66
+ if mode == "off":
67
+ if is_web:
68
+ mode = "auto" # override off if global web_search enabled
69
+
65
70
  # sources toggles
66
71
  s_web = bool(cfg.get("remote_tools.xai.sources.web", True))
67
72
  s_x = bool(cfg.get("remote_tools.xai.sources.x", True))
@@ -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.16 11:00:00 #
9
+ # Updated Date: 2025.09.17 05:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  import copy
@@ -104,6 +104,13 @@ class Patch:
104
104
  patch_css('style.dark.css', True)
105
105
  updated = True
106
106
 
107
+ # < 2.6.53
108
+ if old < parse_version("2.6.53"):
109
+ print("Migrating config from < 2.6.53...")
110
+ if "remote_tools.global.web_search" not in data:
111
+ data["remote_tools.global.web_search"] = True
112
+ updated = True
113
+
107
114
  # update file
108
115
  migrated = False
109
116
  if updated: