webscout 7.6__py3-none-any.whl → 7.8__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.
Potentially problematic release.
This version of webscout might be problematic. Click here for more details.
- webscout/AIutel.py +2 -1
- webscout/Bard.py +14 -11
- webscout/DWEBS.py +431 -415
- webscout/Extra/autocoder/autocoder_utiles.py +183 -47
- webscout/Extra/autocoder/rawdog.py +848 -649
- webscout/Extra/gguf.py +682 -652
- webscout/Provider/AI21.py +1 -1
- webscout/Provider/AISEARCH/DeepFind.py +2 -2
- webscout/Provider/AISEARCH/ISou.py +2 -23
- webscout/Provider/AISEARCH/felo_search.py +6 -6
- webscout/Provider/AISEARCH/genspark_search.py +1 -1
- webscout/Provider/Aitopia.py +292 -0
- webscout/Provider/AllenAI.py +5 -22
- webscout/Provider/Andi.py +3 -3
- webscout/Provider/C4ai.py +1 -1
- webscout/Provider/ChatGPTClone.py +226 -0
- webscout/Provider/ChatGPTES.py +3 -5
- webscout/Provider/ChatGPTGratis.py +4 -4
- webscout/Provider/Chatify.py +2 -2
- webscout/Provider/Cloudflare.py +3 -2
- webscout/Provider/DARKAI.py +3 -2
- webscout/Provider/DeepSeek.py +2 -2
- webscout/Provider/Deepinfra.py +1 -1
- webscout/Provider/EDITEE.py +1 -1
- webscout/Provider/ElectronHub.py +178 -96
- webscout/Provider/ExaChat.py +310 -0
- webscout/Provider/Free2GPT.py +2 -2
- webscout/Provider/Gemini.py +5 -19
- webscout/Provider/GithubChat.py +1 -1
- webscout/Provider/Glider.py +12 -8
- webscout/Provider/Groq.py +3 -3
- webscout/Provider/HF_space/qwen_qwen2.py +1 -1
- webscout/Provider/HeckAI.py +1 -1
- webscout/Provider/HuggingFaceChat.py +1 -1
- webscout/Provider/Hunyuan.py +272 -0
- webscout/Provider/Jadve.py +3 -3
- webscout/Provider/Koboldai.py +3 -3
- webscout/Provider/LambdaChat.py +391 -0
- webscout/Provider/Llama.py +3 -5
- webscout/Provider/Llama3.py +4 -12
- webscout/Provider/Marcus.py +3 -3
- webscout/Provider/OLLAMA.py +260 -36
- webscout/Provider/Openai.py +7 -3
- webscout/Provider/PI.py +1 -1
- webscout/Provider/Perplexitylabs.py +1 -1
- webscout/Provider/Phind.py +1 -1
- webscout/Provider/PizzaGPT.py +1 -1
- webscout/Provider/QwenLM.py +4 -7
- webscout/Provider/TTI/FreeAIPlayground/async_freeaiplayground.py +21 -46
- webscout/Provider/TTI/FreeAIPlayground/sync_freeaiplayground.py +37 -49
- webscout/Provider/TTI/ImgSys/__init__.py +23 -0
- webscout/Provider/TTI/ImgSys/async_imgsys.py +202 -0
- webscout/Provider/TTI/ImgSys/sync_imgsys.py +195 -0
- webscout/Provider/TTI/__init__.py +3 -1
- webscout/Provider/TTI/artbit/async_artbit.py +4 -33
- webscout/Provider/TTI/artbit/sync_artbit.py +4 -32
- webscout/Provider/TTI/fastflux/async_fastflux.py +6 -2
- webscout/Provider/TTI/fastflux/sync_fastflux.py +7 -2
- webscout/Provider/TTI/huggingface/async_huggingface.py +1 -1
- webscout/Provider/TTI/huggingface/sync_huggingface.py +1 -1
- webscout/Provider/TTI/pixelmuse/__init__.py +4 -0
- webscout/Provider/TTI/pixelmuse/async_pixelmuse.py +249 -0
- webscout/Provider/TTI/pixelmuse/sync_pixelmuse.py +182 -0
- webscout/Provider/TTI/talkai/sync_talkai.py +1 -1
- webscout/Provider/TTS/utils.py +1 -1
- webscout/Provider/TeachAnything.py +1 -1
- webscout/Provider/TextPollinationsAI.py +4 -4
- webscout/Provider/TwoAI.py +1 -2
- webscout/Provider/Venice.py +4 -2
- webscout/Provider/VercelAI.py +234 -0
- webscout/Provider/WebSim.py +228 -0
- webscout/Provider/WiseCat.py +10 -12
- webscout/Provider/Youchat.py +1 -1
- webscout/Provider/__init__.py +22 -1
- webscout/Provider/ai4chat.py +1 -1
- webscout/Provider/aimathgpt.py +2 -6
- webscout/Provider/akashgpt.py +1 -1
- webscout/Provider/askmyai.py +4 -4
- webscout/Provider/asksteve.py +203 -0
- webscout/Provider/bagoodex.py +2 -2
- webscout/Provider/cerebras.py +1 -1
- webscout/Provider/chatglm.py +4 -4
- webscout/Provider/cleeai.py +1 -0
- webscout/Provider/copilot.py +427 -415
- webscout/Provider/elmo.py +1 -1
- webscout/Provider/flowith.py +14 -3
- webscout/Provider/freeaichat.py +57 -31
- webscout/Provider/gaurish.py +3 -5
- webscout/Provider/geminiprorealtime.py +1 -1
- webscout/Provider/granite.py +4 -4
- webscout/Provider/hermes.py +5 -5
- webscout/Provider/julius.py +1 -1
- webscout/Provider/koala.py +1 -1
- webscout/Provider/labyrinth.py +239 -0
- webscout/Provider/learnfastai.py +28 -15
- webscout/Provider/lepton.py +1 -1
- webscout/Provider/llama3mitril.py +4 -4
- webscout/Provider/llamatutor.py +1 -1
- webscout/Provider/llmchat.py +3 -3
- webscout/Provider/meta.py +1 -1
- webscout/Provider/multichat.py +10 -10
- webscout/Provider/promptrefine.py +1 -1
- webscout/Provider/searchchat.py +293 -0
- webscout/Provider/sonus.py +208 -0
- webscout/Provider/talkai.py +2 -2
- webscout/Provider/turboseek.py +1 -1
- webscout/Provider/tutorai.py +1 -1
- webscout/Provider/typegpt.py +6 -43
- webscout/Provider/uncovr.py +299 -0
- webscout/Provider/x0gpt.py +1 -1
- webscout/__init__.py +36 -36
- webscout/cli.py +293 -283
- webscout/litagent/agent.py +14 -9
- webscout/tempid.py +11 -11
- webscout/utils.py +2 -2
- webscout/version.py +1 -1
- webscout/webscout_search.py +1282 -1223
- webscout/webscout_search_async.py +813 -692
- {webscout-7.6.dist-info → webscout-7.8.dist-info}/METADATA +76 -44
- {webscout-7.6.dist-info → webscout-7.8.dist-info}/RECORD +124 -106
- {webscout-7.6.dist-info → webscout-7.8.dist-info}/LICENSE.md +0 -0
- {webscout-7.6.dist-info → webscout-7.8.dist-info}/WHEEL +0 -0
- {webscout-7.6.dist-info → webscout-7.8.dist-info}/entry_points.txt +0 -0
- {webscout-7.6.dist-info → webscout-7.8.dist-info}/top_level.txt +0 -0
|
@@ -133,6 +133,52 @@ def get_intro_prompt(name: str = "Vortex") -> str:
|
|
|
133
133
|
- **IMPORTANT**: ALWAYS Return your SCRIPT inside of a single pair of \`\`\` delimiters. Only the console output of the first such SCRIPT is visible to the user, so make sure that it's complete and don't bother returning anything else.
|
|
134
134
|
</conventions>
|
|
135
135
|
|
|
136
|
+
<examples>
|
|
137
|
+
<example>
|
|
138
|
+
<user_request>Kill the process running on port 3000</user_request>
|
|
139
|
+
<rawdog_response>
|
|
140
|
+
```python
|
|
141
|
+
import os
|
|
142
|
+
os.system("kill $(lsof -t -i:3000)")
|
|
143
|
+
print("Process killed")
|
|
144
|
+
```
|
|
145
|
+
</rawdog_response>
|
|
146
|
+
</example>
|
|
147
|
+
<example>
|
|
148
|
+
<user_request>Summarize my essay</user_request>
|
|
149
|
+
<rawdog_response>
|
|
150
|
+
```python
|
|
151
|
+
import glob
|
|
152
|
+
files = glob.glob("*essay*.*")
|
|
153
|
+
with open(files[0], "r") as f:
|
|
154
|
+
print(f.read())
|
|
155
|
+
```
|
|
156
|
+
CONTINUE
|
|
157
|
+
</rawdog_response>
|
|
158
|
+
<user_response>
|
|
159
|
+
LAST SCRIPT OUTPUT:
|
|
160
|
+
John Smith
|
|
161
|
+
Essay 2021-09-01
|
|
162
|
+
...
|
|
163
|
+
</user_response>
|
|
164
|
+
<rawdog_response>
|
|
165
|
+
```python
|
|
166
|
+
print("The essay is about...")
|
|
167
|
+
```
|
|
168
|
+
</rawdog_response>
|
|
169
|
+
</example>
|
|
170
|
+
<example>
|
|
171
|
+
<user_request>Weather in qazigund</user_request>
|
|
172
|
+
<rawdog_response>
|
|
173
|
+
```python
|
|
174
|
+
from webscout import weather as w
|
|
175
|
+
weather = w.get("Qazigund")
|
|
176
|
+
w.print_weather(weather)
|
|
177
|
+
```
|
|
178
|
+
</rawdog_response>
|
|
179
|
+
</example>
|
|
180
|
+
</examples>
|
|
181
|
+
|
|
136
182
|
<environment_info>
|
|
137
183
|
- System: {platform.system()}
|
|
138
184
|
- Python: {python_version}
|
|
@@ -143,54 +189,144 @@ def get_intro_prompt(name: str = "Vortex") -> str:
|
|
|
143
189
|
</system_context>
|
|
144
190
|
"""
|
|
145
191
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
<
|
|
150
|
-
<
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
<
|
|
160
|
-
<
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
</
|
|
190
|
-
</
|
|
191
|
-
|
|
192
|
+
def get_thinking_intro() -> str:
|
|
193
|
+
return """
|
|
194
|
+
<instructions>
|
|
195
|
+
<instruction>You are a Thought Process Generation Engine. Your role is to meticulously analyze a given task and outline a step-by-step plan (a thought process) for how an autocoder or automated system should approach it.</instruction>
|
|
196
|
+
<instruction>DO NOT EXECUTE any actions or code. Your sole output is the structured thought process itself.</instruction>
|
|
197
|
+
<instruction>Decompose the provided task into the smallest logical, sequential, and atomic thoughts required to achieve the overall goal.</instruction>
|
|
198
|
+
<instruction>For each individual thought, you MUST provide:
|
|
199
|
+
- A clear `<description>` of the specific action or check.
|
|
200
|
+
- The `<required_packages>` or tools needed for this specific step (e.g., specific libraries, OS commands, APIs, software applications). If none are needed (e.g., a purely logical step), state "None".
|
|
201
|
+
- Concrete `<code_suggestions>` or specific commands relevant to executing this thought. Provide language-agnostic pseudocode or specific examples if a language context is implied or provided. For non-coding steps (like UI interaction), describe the action precisely (e.g., "Click 'File' menu", "Type 'search query' into element ID 'search-box'").
|
|
202
|
+
- The immediate `<result>` expected after successfully executing this single thought.
|
|
203
|
+
</instruction>
|
|
204
|
+
<instruction>Identify any `<prerequisites>` necessary before starting the *entire* task (e.g., internet connection, specific software installed, user logged in, necessary files exist).</instruction>
|
|
205
|
+
<instruction>Structure the thoughts logically. The result of one thought should often enable the next.</instruction>
|
|
206
|
+
<instruction>Briefly consider potential issues or basic error handling within the description or result where relevant (e.g., "Check if file exists before attempting to read", "Result: File content loaded, or error if file not found").</instruction>
|
|
207
|
+
<instruction>Conclude with the final `<expected_outcome>` of the entire task sequence.</instruction>
|
|
208
|
+
<instruction>Output your response strictly adhering to the XML structure defined in the `<response_format>` section.</instruction>
|
|
209
|
+
</instructions>
|
|
210
|
+
|
|
211
|
+
<response_format>
|
|
212
|
+
<thought_process>
|
|
213
|
+
<goal>The user's original request, summarized.</goal>
|
|
214
|
+
<prerequisites>
|
|
215
|
+
<prerequisite>Prerequisite 1</prerequisite>
|
|
216
|
+
<prerequisite>Prerequisite 2</prerequisite>
|
|
217
|
+
{{...more prerequisites}}
|
|
218
|
+
</prerequisites>
|
|
219
|
+
<thoughts>
|
|
220
|
+
<thought>
|
|
221
|
+
<description>Description of the first atomic step.</description>
|
|
222
|
+
<required_packages>Package/Tool/Library needed for this step, or "None".</required_packages>
|
|
223
|
+
<code_suggestions>Code snippet, command, or specific action description.</code_suggestions>
|
|
224
|
+
<result>Expected state or outcome immediately after this step.</result>
|
|
225
|
+
</thought>
|
|
226
|
+
<thought>
|
|
227
|
+
<description>Description of the second atomic step.</description>
|
|
228
|
+
<required_packages>Package/Tool/Library needed for this step, or "None".</required_packages>
|
|
229
|
+
<code_suggestions>Code snippet, command, or specific action description.</code_suggestions>
|
|
230
|
+
<result>Expected state or outcome immediately after this step.</result>
|
|
231
|
+
</thought>
|
|
232
|
+
{{...more thoughts}}
|
|
233
|
+
</thoughts>
|
|
234
|
+
<expected_outcome>The final desired state after all thoughts are successfully executed.</expected_outcome>
|
|
235
|
+
</thought_process>
|
|
236
|
+
</response_format>
|
|
237
|
+
|
|
238
|
+
<examples>
|
|
239
|
+
<example>
|
|
240
|
+
<input>Check if the file 'config.json' exists in the current directory and print its content if it does.</input>
|
|
241
|
+
<output>
|
|
242
|
+
<thought_process>
|
|
243
|
+
<goal>Check for 'config.json' and print its content if it exists.</goal>
|
|
244
|
+
<prerequisites>
|
|
245
|
+
<prerequisite>Access to the file system in the current directory.</prerequisite>
|
|
246
|
+
<prerequisite>A terminal or execution environment capable of running file system commands/code.</prerequisite>
|
|
247
|
+
<prerequisite>Permissions to read files in the current directory.</prerequisite>
|
|
248
|
+
</prerequisites>
|
|
249
|
+
<thoughts>
|
|
250
|
+
<thought>
|
|
251
|
+
<description>Check if the file 'config.json' exists in the current working directory.</description>
|
|
252
|
+
<required_packages>OS-specific file system module (e.g., `os` in Python, `fs` in Node.js, `System.IO` in C#)</required_packages>
|
|
253
|
+
<code_suggestions>Python: `import os; os.path.exists('config.json')` | Node.js: `require('fs').existsSync('config.json')` | Bash: `[ -f config.json ]`</code_suggestions>
|
|
254
|
+
<result>Boolean status indicating if 'config.json' exists (True/False or exit code 0/1).</result>
|
|
255
|
+
</thought>
|
|
256
|
+
<thought>
|
|
257
|
+
<description>If the file exists, open 'config.json' for reading.</description>
|
|
258
|
+
<required_packages>OS-specific file system module (same as above).</required_packages>
|
|
259
|
+
<code_suggestions>Python: `file = open('config.json', 'r')` | Node.js: `const fileContent = require('fs').readFileSync('config.json', 'utf8')` | Bash: `cat config.json` (implicitly opens and reads)</code_suggestions>
|
|
260
|
+
<result>File handle obtained or file content read into memory, contingent on existence check being true. No action if file doesn't exist.</result>
|
|
261
|
+
</thought>
|
|
262
|
+
<thought>
|
|
263
|
+
<description>If the file was opened, read its entire content.</description>
|
|
264
|
+
<required_packages>OS-specific file system module (if using file handle).</required_packages>
|
|
265
|
+
<code_suggestions>Python: `content = file.read()` | Node.js: (Already done in previous step suggestion) | Bash: (Already done in previous step suggestion)</code_suggestions>
|
|
266
|
+
<result>String variable `content` holds the text from 'config.json'. No action if file doesn't exist.</result>
|
|
267
|
+
</thought>
|
|
268
|
+
<thought>
|
|
269
|
+
<description>If content was read, print the content to the standard output.</description>
|
|
270
|
+
<required_packages>Standard output library/function (e.g., `print` in Python, `console.log` in Node.js, `echo` in Bash).</required_packages>
|
|
271
|
+
<code_suggestions>Python: `print(content)` | Node.js: `console.log(fileContent)` | Bash: `cat config.json` (already prints)</code_suggestions>
|
|
272
|
+
<result>The content of 'config.json' is displayed on the console/terminal. No action if file doesn't exist.</result>
|
|
273
|
+
</thought>
|
|
274
|
+
<thought>
|
|
275
|
+
<description>If the file was opened with a handle, close the file.</description>
|
|
276
|
+
<required_packages>OS-specific file system module (if using file handle).</required_packages>
|
|
277
|
+
<code_suggestions>Python: `file.close()` (Or use `with open(...)` for automatic closing)</code_suggestions>
|
|
278
|
+
<result>File handle is released. No action if file doesn't exist or wasn't opened with a handle.</result>
|
|
279
|
+
</thought>
|
|
280
|
+
</thoughts>
|
|
281
|
+
<expected_outcome>If 'config.json' exists in the current directory, its contents are printed to the standard output. Otherwise, nothing is printed.</expected_outcome>
|
|
282
|
+
</thought_process>
|
|
283
|
+
</output>
|
|
284
|
+
</example>
|
|
285
|
+
|
|
286
|
+
<example>
|
|
287
|
+
<input>Open Chrome, go to example.com, find the text "More information..." and click it.</input>
|
|
288
|
+
<output>
|
|
289
|
+
<thought_process>
|
|
290
|
+
<goal>Open Chrome, navigate to example.com, find and click the "More information..." link.</goal>
|
|
291
|
+
<prerequisites>
|
|
292
|
+
<prerequisite>Google Chrome browser installed.</prerequisite>
|
|
293
|
+
<prerequisite>Internet connection.</prerequisite>
|
|
294
|
+
<prerequisite>Ability to launch applications (GUI or command line).</prerequisite>
|
|
295
|
+
<prerequisite>Web automation tool/library if doing programmatically (e.g., Selenium, Playwright).</prerequisite>
|
|
296
|
+
</prerequisites>
|
|
297
|
+
<thoughts>
|
|
298
|
+
<thought>
|
|
299
|
+
<description>Launch the Google Chrome browser.</description>
|
|
300
|
+
<required_packages>OS (for launching apps), or specific automation library like Selenium/Playwright.</required_packages>
|
|
301
|
+
<code_suggestions>Command Line: `google-chrome` or `start chrome` | Selenium(Python): `from selenium import webdriver; driver = webdriver.Chrome()`</code_suggestions>
|
|
302
|
+
<result>A new Chrome browser window opens.</result>
|
|
303
|
+
</thought>
|
|
304
|
+
<thought>
|
|
305
|
+
<description>Navigate to the URL 'http://example.com'.</description>
|
|
306
|
+
<required_packages>Chrome browser UI, or automation library.</required_packages>
|
|
307
|
+
<code_suggestions>Manual: Type 'example.com' in address bar and press Enter | Selenium(Python): `driver.get('http://example.com')`</code_suggestions>
|
|
308
|
+
<result>The browser loads and displays the content of example.com.</result>
|
|
309
|
+
</thought>
|
|
310
|
+
<thought>
|
|
311
|
+
<description>Locate the link element containing the exact text "More information...".</description>
|
|
312
|
+
<required_packages>Browser DOM inspection tools, or automation library selectors.</required_packages>
|
|
313
|
+
<code_suggestions>Manual: Visually scan page | Selenium(Python): `link_element = driver.find_element(By.LINK_TEXT, 'More information...')` | CSS Selector: `a:contains("More information...")` (depends on library)</code_suggestions>
|
|
314
|
+
<result>Reference to the link element is obtained, or an error if not found.</result>
|
|
315
|
+
</thought>
|
|
316
|
+
<thought>
|
|
317
|
+
<description>Click the located link element.</description>
|
|
318
|
+
<required_packages>Browser interaction capability, or automation library.</required_packages>
|
|
319
|
+
<code_suggestions>Manual: Mouse click | Selenium(Python): `link_element.click()`</code_suggestions>
|
|
320
|
+
<result>The browser navigates to the target page of the "More information..." link.</result>
|
|
321
|
+
</thought>
|
|
322
|
+
</thoughts>
|
|
323
|
+
<expected_outcome>The browser is open to the page linked by the "More information..." text on example.com.</expected_outcome>
|
|
324
|
+
</thought_process>
|
|
325
|
+
</output>
|
|
326
|
+
</example>
|
|
327
|
+
</examples>
|
|
192
328
|
"""
|
|
193
329
|
|
|
194
330
|
if __name__ == "__main__":
|
|
195
331
|
# Simple test harness to print the current active window title.
|
|
196
|
-
print("Current Active Window/Application: ", get_current_app())
|
|
332
|
+
print("Current Active Window/Application: ", get_current_app())
|