| from __future__ import annotations | |
| import secrets | |
| import string | |
| from .template import OpenaiTemplate | |
| class OIVSCodeSer0501(OpenaiTemplate): | |
| label = "OI VSCode Server 0501" | |
| url = "https://oi-vscode-server-0501.onrender.com" | |
| api_base = "https://oi-vscode-server-0501.onrender.com/v1" | |
| api_endpoint = "https://oi-vscode-server-0501.onrender.com/v1/chat/completions" | |
| working = True | |
| needs_auth = False | |
| supports_stream = True | |
| supports_system_message = True | |
| supports_message_history = True | |
| default_model = "gpt-4.1-mini" | |
| default_vision_model = default_model | |
| vision_models = [default_vision_model] | |
| models = vision_models | |
| def get_headers(cls, stream: bool, api_key: str = None, headers: dict = None) -> dict: | |
| # Generate a random user ID similar to the JavaScript code | |
| userid = ''.join(secrets.choice(string.ascii_letters + string.digits) for _ in range(21)) | |
| return { | |
| "Accept": "text/event-stream" if stream else "application/json", | |
| "Content-Type": "application/json", | |
| "userid": userid, | |
| **( | |
| {"Authorization": f"Bearer {api_key}"} | |
| if api_key else {} | |
| ), | |
| **({} if headers is None else headers) | |
| } | |