Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
9b3d893
Rename ExaChat to Ayle and update documentation
OEvortex Dec 19, 2025
6563ff2
feat: add AI provider generation prompt and unified client for managi…
OEvortex Dec 19, 2025
7ab883e
feat: Add documentation and package structure for OpenAI-compatible p…
OEvortex Dec 19, 2025
54745dd
feat: Initialize Provider package by importing and exporting all prov…
OEvortex Dec 19, 2025
fcf586d
refactor: enhance unified client with robust model discovery and proa…
OEvortex Dec 19, 2025
a05dca6
removed: webscout/Provider/OPENAI/scirachat.py - Removed SciraChat pr…
OEvortex Dec 19, 2025
710bbec
feat: Add HadadXYZ provider with streaming support and model integrat…
OEvortex Dec 19, 2025
19465b6
feat: Add HadadXYZ as a new OpenAI-compatible provider with chat comp…
OEvortex Dec 19, 2025
ce01fc9
feat: Introduce Ayle API client for OpenAI-compatible chat completion…
OEvortex Dec 19, 2025
3ec4130
feat: Add ChatGPT reversed-engineered provider with session managemen…
OEvortex Dec 19, 2025
a7787fb
feat: Implement QwenTTS provider, initialize the TTS package structur…
OEvortex Dec 19, 2025
6690038
feat: Add SherpaTTS provider using Next-gen Kaldi (Sherpa-ONNX) HF Sp…
OEvortex Dec 19, 2025
7d545bd
TTI fixes: Updated VeniceAI and TogetherImage, marked dead providers,…
OEvortex Dec 19, 2025
8498744
feat: Introduce core Python API client, add new AISEARCH and TTI prov…
OEvortex Dec 19, 2025
d4a711d
feat: Add Miragic TTI provider, integrate several AI search providers…
OEvortex Dec 19, 2025
0854180
feat: Add Monica and EssentialAI search providers, integrate `sanitiz…
OEvortex Dec 19, 2025
700f3c8
feat: Implement GitAPI, CLI, EssentialAI, AIauto, and Monica search m…
OEvortex Dec 19, 2025
8858ed6
feat: introduce Algion and multiple AI search providers, add new `swi…
OEvortex Dec 20, 2025
2259a87
feat: Implement new `webscout` module for HTML parsing and web analys…
OEvortex Dec 20, 2025
4492e68
fix(scout): apply ruff fixes, remove direct BeautifulSoup mentions, a…
OEvortex Dec 20, 2025
7cc42d4
feat: Enhance ChatSandbox providers by expanding available models and…
OEvortex Dec 20, 2025
f1f6793
fix: Fixed TypefullyAI provider returning empty responses
OEvortex Dec 20, 2025
6b20fa9
feat: Implement Typefully AI as an OpenAI-compatible provider, delete…
OEvortex Dec 20, 2025
3e368fc
feat: implement Hugging Face provider (standalone & OpenAI-compatible)
OEvortex Dec 20, 2025
9a14346
feat: implement Nvidia NIM provider (standalone & OpenAI-compatible)
OEvortex Dec 20, 2025
31be6c1
feat: introduce new AI providers for Cohere, ChatHub, Youchat, cleeai…
OEvortex Dec 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,16 @@
.gitmodules

# -----------------------------------------------------------------------------
# Documentation
# Documentation (except essential files)
# -----------------------------------------------------------------------------
*.md
docs/
!README.md
!LICENSE.md
!LEGAL_NOTICE.md
!CHANGELOG.md
!CONTRIBUTING.md
!Provider.md
README*
CHANGELOG*
LICENSE*
Expand Down
8 changes: 6 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -90,14 +90,18 @@ ENV PYTHONUNBUFFERED=1 \
WEBSCOUT_PORT=8000 \
WEBSCOUT_WORKERS=1 \
WEBSCOUT_LOG_LEVEL=info \
WEBSCOUT_DEBUG=false \
WEBSCOUT_DATA_DIR=/app/data \
# FastAPI metadata (new)
WEBSCOUT_REQUEST_LOGGING=true \
# FastAPI metadata
WEBSCOUT_API_TITLE="Webscout OpenAI API" \
WEBSCOUT_API_DESCRIPTION="OpenAI API compatible interface for various LLM providers" \
WEBSCOUT_API_VERSION="0.2.0" \
WEBSCOUT_API_DOCS_URL="/docs" \
WEBSCOUT_API_REDOC_URL="/redoc" \
WEBSCOUT_API_OPENAPI_URL="/openapi.json"
WEBSCOUT_API_OPENAPI_URL="/openapi.json" \
# Dynamic configuration defaults
WEBSCOUT_CORS_ORIGINS="*"

# Install only runtime dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
Expand Down
113 changes: 113 additions & 0 deletions Prompts/ReverseEngineering.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
# Reverse Engineering Mode - Provider Class Generator

You are an expert reverse engineer. When given a website or API, you **automatically** generate complete, production-ready Python Provider classes.

## Core Directive

**Generate complete, executable Python Provider classes immediately.** No explanations, no step-by-step guides—just working code that follows the discovered API patterns.

## Automatic Workflow

When tasked with reverse engineering a target:

1. **Silently use chrome-devtools** to inspect the target website
2. **Extract all API patterns**: endpoints, headers, payloads, authentication
3. **Analyze the response structure** for streaming and non-streaming patterns
4. **Generate the complete Provider class** using the discovered patterns
5. **Output the working Python code** with appropriate structure

## Provider Class Essentials

Every generated Provider class should be:

- **Self-contained**: All necessary imports and dependencies
- **Fully functional**: Working methods for API interaction
- **Well-documented**: Clear docstrings and comments
- **Production-ready**: Error handling, type hints, edge cases
- **Testable**: Include test code to verify functionality

### Core Components to Include

**Class Definition**
- Inherit from appropriate base class (if using framework) or standalone
- Define class attributes (models list, auth requirements, etc.)

**Initialization**
- Accept common parameters: api_key, timeout, proxies, etc.
- Setup HTTP session with proper headers and configuration
- Initialize any state management (conversation history, etc.)

**Request Methods**
- Implement both streaming and non-streaming request handling
- Use appropriate HTTP library (curl_cffi, httpx, requests, etc.)
- Handle different response formats (JSON, SSE, chunked)
- Include proper error handling and retries

**Helper Methods**
- Message extraction/parsing functions
- Stream processing utilities
- User-friendly wrapper methods

**Testing Block**
- Comprehensive test cases in `__main__`
- Test multiple scenarios (streaming, non-streaming, errors)
- Verify all available models/endpoints

## Flexible Implementation

Adapt the implementation based on:

- **Framework compatibility**: webscout, g4f, or standalone
- **HTTP library choice**: curl_cffi (for anti-bot), httpx (async), requests (simple)
- **Response format**: JSON, Server-Sent Events, chunked transfer
- **Authentication**: API keys, tokens, cookies, or none
- **Session management**: Stateful conversations or stateless requests

## Code Generation Standards

1. **No code templates** - Generate based on actual API inspection
2. **Complete implementation** - Every method must be fully functional
3. **Real patterns** - Use discovered endpoints, headers, and payload structures
4. **Comprehensive documentation** - Docstrings for class and all methods
5. **Working tests** - Executable test suite that validates functionality
6. **Production quality** - Handle errors, edge cases, rate limiting
7. **Ethical compliance** - Include warnings, respect ToS, no illegal bypasses

## Output Requirements

- **Start immediately with code** - No preamble or explanations
- **Complete implementation** - No placeholders or TODOs
- **Header comment** - Brief description of source, features, and requirements
- **Proper structure** - Organized imports, class definition, methods, tests
- **Documentation** - Docstrings and inline comments where helpful
- **Usage example** - Brief example showing how to use the class (optional)

## Quality Checklist

✓ **Zero placeholders** - Every function is complete
✓ **Real API patterns** - Actual endpoints discovered from inspection
✓ **Accurate headers** - Exact headers needed for access
✓ **Error handling** - Try-except blocks with meaningful messages
✓ **Type hints** - Proper typing annotations
✓ **Verified patterns** - Based on actual API behavior

## Automatic Behavior

When a user requests reverse engineering:

**DO:**
- Use chrome-devtools to inspect automatically
- Extract all necessary API information silently
- Generate complete Python Provider class immediately
- Output production-ready code
- Include comprehensive tests

**DON'T:**
- Ask for clarification unless URL/target is missing
- Provide step-by-step explanations
- Output partial or incomplete code
- Include tutorial text before code
- Wait for user confirmation between steps
- Lock to specific framework if not requested

Generate complete, working, framework-agnostic code that can be adapted to any Python project.
101 changes: 51 additions & 50 deletions Provider.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,37 +29,39 @@ These providers have both standard and OpenAI-compatible implementations, giving
| 2 | **AkashGPT** | `webscout/Provider/akashgpt.py` | `webscout/Provider/OPENAI/akashgpt.py` |
| 3 | **Algion** | `webscout/Provider/Algion.py` | `webscout/Provider/OPENAI/algion.py` |
| 4 | **Cerebras** | `webscout/Provider/cerebras.py` | `webscout/Provider/OPENAI/cerebras.py` |
| 5 | **ChatGPTClone** | `webscout/Provider/ChatGPTClone.py` | `webscout/Provider/OPENAI/chatgptclone.py` |
| 6 | **ChatSandbox** | `webscout/Provider/ChatSandbox.py` | `webscout/Provider/OPENAI/chatsandbox.py` |
| 7 | **DeepAI** | `webscout/Provider/DeepAI.py` | `webscout/Provider/OPENAI/DeepAI.py` |
| 8 | **DeepInfra** | `webscout/Provider/Deepinfra.py` | `webscout/Provider/OPENAI/deepinfra.py` |
| 9 | **Elmo** | `webscout/Provider/elmo.py` | `webscout/Provider/OPENAI/elmo.py` |
| 10 | **ExaAI** | `webscout/Provider/ExaAI.py` | `webscout/Provider/OPENAI/exaai.py` |
| 11 | **ExaChat** | `webscout/Provider/ExaChat.py` | `webscout/Provider/OPENAI/exachat.py` |
| 12 | **Groq** | `webscout/Provider/Groq.py` | `webscout/Provider/OPENAI/groq.py` |
| 13 | **HeckAI** | `webscout/Provider/HeckAI.py` | `webscout/Provider/OPENAI/heckai.py` |
| 14 | **IBM** | `webscout/Provider/IBM.py` | `webscout/Provider/OPENAI/ibm.py` |
| 15 | **K2Think** | `webscout/Provider/K2Think.py` | `webscout/Provider/OPENAI/K2Think.py` |
| 16 | **LLMChatCo** | `webscout/Provider/llmchatco.py` | `webscout/Provider/OPENAI/llmchatco.py` |
| 5 | **DeepAI** | `webscout/Provider/DeepAI.py` | `webscout/Provider/OPENAI/DeepAI.py` |
| 6 | **DeepInfra** | `webscout/Provider/Deepinfra.py` | `webscout/Provider/OPENAI/deepinfra.py` |
| 7 | **Elmo** | `webscout/Provider/elmo.py` | `webscout/Provider/OPENAI/elmo.py` |
| 8 | **ExaAI** | `webscout/Provider/ExaAI.py` | `webscout/Provider/OPENAI/exaai.py` |
| 9 | **Ayle** | `webscout/Provider/Ayle.py` | `webscout/Provider/OPENAI/ayle.py` |
| 10 | **Groq** | `webscout/Provider/Groq.py` | `webscout/Provider/OPENAI/groq.py` |
| 11 | **HeckAI** | `webscout/Provider/HeckAI.py` | `webscout/Provider/OPENAI/heckai.py` |
| 12 | **HuggingFace** | `webscout/Provider/HuggingFace.py` | `webscout/Provider/OPENAI/huggingface.py` |
| 13 | **IBM** | `webscout/Provider/IBM.py` | `webscout/Provider/OPENAI/ibm.py` |
| 14 | **K2Think** | `webscout/Provider/K2Think.py` | `webscout/Provider/OPENAI/K2Think.py` |
| 15 | **LLMChatCo** | `webscout/Provider/llmchatco.py` | `webscout/Provider/OPENAI/llmchatco.py` |
| 17 | **Netwrck** | `webscout/Provider/Netwrck.py` | `webscout/Provider/OPENAI/netwrck.py` |
| 18 | **OIVSCode** | `webscout/Provider/oivscode.py` | `webscout/Provider/OPENAI/oivscode.py` |
| 19 | **PI** | `webscout/Provider/PI.py` | `webscout/Provider/OPENAI/PI.py` |
| 20 | **Sonus** | `webscout/Provider/sonus.py` | `webscout/Provider/OPENAI/sonus.py` |
| 21 | **TextPollinationsAI** | `webscout/Provider/TextPollinationsAI.py` | `webscout/Provider/OPENAI/textpollinations.py` |
| 22 | **TogetherAI** | `webscout/Provider/TogetherAI.py` | `webscout/Provider/OPENAI/TogetherAI.py` |
| 23 | **Toolbaz** | `webscout/Provider/toolbaz.py` | `webscout/Provider/OPENAI/toolbaz.py` |
| 24 | **TwoAI** | `webscout/Provider/TwoAI.py` | `webscout/Provider/OPENAI/TwoAI.py` |
| 25 | **Typefully** | `webscout/Provider/typefully.py` | `webscout/Provider/OPENAI/typefully.py` |
| 26 | **Venice** | `webscout/Provider/Venice.py` | `webscout/Provider/OPENAI/venice.py` |
| 27 | **WiseCat** | `webscout/Provider/WiseCat.py` | `webscout/Provider/OPENAI/wisecat.py` |
| 28 | **X0GPT** | `webscout/Provider/x0gpt.py` | `webscout/Provider/OPENAI/x0gpt.py` |
| 29 | **Yep** | `webscout/Provider/yep.py` | `webscout/Provider/OPENAI/yep.py` |
| 30 | **Gradient** | `webscout/Provider/Gradient.py` | `webscout/Provider/OPENAI/gradient.py` |
| 31 | **Sambanova** | `webscout/Provider/Sambanova.py` | `webscout/Provider/OPENAI/sambanova.py` |
| 32 | **Meta** | `webscout/Provider/meta.py` | `webscout/Provider/OPENAI/meta.py` |
| 33 | **TypliAI** | `webscout/Provider/TypliAI.py` | `webscout/Provider/OPENAI/typliai.py` |

**Total: 33 providers with dual implementations**
| 18 | **Nvidia** | `webscout/Provider/Nvidia.py` | `webscout/Provider/OPENAI/nvidia.py` |
| 19 | **OIVSCode** | `webscout/Provider/oivscode.py` | `webscout/Provider/OPENAI/oivscode.py` |
| 20 | **PI** | `webscout/Provider/PI.py` | `webscout/Provider/OPENAI/PI.py` |
| 21 | **Sonus** | `webscout/Provider/sonus.py` | `webscout/Provider/OPENAI/sonus.py` |
| 22 | **TextPollinationsAI** | `webscout/Provider/TextPollinationsAI.py` | `webscout/Provider/OPENAI/textpollinations.py` |
| 23 | **TogetherAI** | `webscout/Provider/TogetherAI.py` | `webscout/Provider/OPENAI/TogetherAI.py` |
| 24 | **Toolbaz** | `webscout/Provider/toolbaz.py` | `webscout/Provider/OPENAI/toolbaz.py` |
| 25 | **TwoAI** | `webscout/Provider/TwoAI.py" | `webscout/Provider/OPENAI/TwoAI.py` |
| 26 | **Typefully** | `webscout/Provider/typefully.py` | `webscout/Provider/OPENAI/typefully.py` |
| 27 | **Venice** | `webscout/Provider/Venice.py` | `webscout/Provider/OPENAI/venice.py` |
| 28 | **WiseCat** | `webscout/Provider/WiseCat.py` | `webscout/Provider/OPENAI/wisecat.py` |
| 29 | **X0GPT** | `webscout/Provider/x0gpt.py` | `webscout/Provider/OPENAI/x0gpt.py` |
| 30 | **Yep** | `webscout/Provider/yep.py` | `webscout/Provider/OPENAI/yep.py` |
| 31 | **Gradient** | `webscout/Provider/Gradient.py` | `webscout/Provider/OPENAI/gradient.py` |
| 32 | **Sambanova** | `webscout/Provider/Sambanova.py` | `webscout/Provider/OPENAI/sambanova.py` |
| 33 | **Meta** | `webscout/Provider/meta.py` | `webscout/Provider/OPENAI/meta.py` |
| 34 | **TypliAI** | `webscout/Provider/TypliAI.py` | `webscout/Provider/OPENAI/typliai.py` |
| 35 | **LLMChat** | `webscout/Provider/llmchat.py` | `webscout/Provider/OPENAI/llmchat.py` |
| 36 | **HadadXYZ** | `webscout/Provider/HadadXYZ.py` | `webscout/Provider/OPENAI/hadadxyz.py` |

**Total: 36 providers with dual implementations**

---

Expand All @@ -74,15 +76,15 @@ These providers are only available in the standard implementation format.
| 3 | **ClaudeOnline** | `webscout/Provider/ClaudeOnline.py` |
| 4 | **CleeAI** | `webscout/Provider/cleeai.py` |
| 5 | **Cohere** | `webscout/Provider/Cohere.py` |
| 6 | **Gemini** | `webscout/Provider/Gemini.py` |
| 7 | **GeminiAPI** | `webscout/Provider/geminiapi.py` |
| 8 | **GithubChat** | `webscout/Provider/GithubChat.py` |
| 9 | **Jadve** | `webscout/Provider/Jadve.py` |
| 10 | **Julius** | `webscout/Provider/julius.py` |
| 11 | **KoboldAI** | `webscout/Provider/Koboldai.py` |
| 12 | **LearnFastAI** | `webscout/Provider/learnfastai.py` |
| 13 | **Llama3Mitril** | `webscout/Provider/llama3mitril.py` |
| 14 | **LLMChat** | `webscout/Provider/llmchat.py` |
| 6 | **EssentialAI** | `webscout/Provider/EssentialAI.py` |
| 7 | **Gemini** | `webscout/Provider/Gemini.py` |
| 8 | **GeminiAPI** | `webscout/Provider/geminiapi.py` |
| 9 | **GithubChat** | `webscout/Provider/GithubChat.py` |
| 10 | **Jadve** | `webscout/Provider/Jadve.py` |
| 11 | **Julius** | `webscout/Provider/julius.py` |
| 12 | **KoboldAI** | `webscout/Provider/Koboldai.py` |
| 13 | **LearnFastAI** | `webscout/Provider/learnfastai.py` |
| 14 | **Llama3Mitril** | `webscout/Provider/llama3mitril.py` |
| 15 | **OpenAI** | `webscout/Provider/Openai.py` |
| 16 | **QwenLM** | `webscout/Provider/QwenLM.py` |
| 17 | **SearchChat** | `webscout/Provider/searchchat.py` |
Expand All @@ -103,11 +105,10 @@ These providers are only available in the OpenAI-compatible format and have no s
| 1 | **ChatGPT** | `webscout/Provider/OPENAI/chatgpt.py` |
| 2 | **E2B** | `webscout/Provider/OPENAI/e2b.py` |
| 3 | **FreeAssist** | `webscout/Provider/OPENAI/freeassist.py` |
| 4 | **SciraChat** | `webscout/Provider/OPENAI/scirachat.py` |
| 5 | **WriteCream** | `webscout/Provider/OPENAI/writecream.py` |
| 6 | **Zenmux** | `webscout/Provider/OPENAI/zenmux.py` |
| 4 | **WriteCream** | `webscout/Provider/OPENAI/writecream.py` |
| 5 | **Zenmux** | `webscout/Provider/OPENAI/zenmux.py" |

**Total: 6 providers with only OpenAI-compatible implementation**
**Total: 5 providers with only OpenAI-compatible implementation**

---

Expand All @@ -119,19 +120,19 @@ These providers are only available in the OpenAI-compatible format and have no s
┌─────────────────────────────────────────┬───────┐
│ Category │ Count │
├─────────────────────────────────────────┼───────┤
│ Both Normal & OpenAI-Compatible │ 33
│ Both Normal & OpenAI-Compatible │ 36
│ Only Normal Version │ 20 │
│ Only OpenAI-Compatible Version │ 6
│ Only OpenAI-Compatible Version │ 5
├─────────────────────────────────────────┼───────┤
│ TOTAL UNIQUE PROVIDERS │ 59
│ TOTAL UNIQUE PROVIDERS │ 61
└─────────────────────────────────────────┴───────┘
```

### Implementation Coverage

- **Total Normal Implementations**: 53 (33 hybrid + 20 normal-only)
- **Total OpenAI Implementations**: 39 (33 hybrid + 6 OpenAI-only)
- **Providers with Multiple Options**: 33 (55% of all providers)
- **Total Normal Implementations**: 56 (36 hybrid + 20 normal-only)
- **Total OpenAI Implementations**: 41 (36 hybrid + 5 OpenAI-only)
- **Providers with Multiple Options**: 36 (59% of all providers)

---

Expand Down Expand Up @@ -244,4 +245,4 @@ This documentation is part of the Webscout project. See LICENSE.md for details.

**Last Updated**: 2025
**Version**: 1.0
**Maintained by**: Webscout Development Team
**Maintained by**: Webscout Development Team
Loading