From d31fa825e544f72e1e73d617670fe89173656828 Mon Sep 17 00:00:00 2001 From: XiaoHuo888 Date: Fri, 14 Aug 2026 02:47:53 +0800 Subject: [PATCH] feat: add OrcaRouter LLM provider Adds a named OrcaRouterProvider (OpenAI-compatible, base_url https://api.orcarouter.ai/v1, ORCAROUTER_API_KEY) mirroring the existing OpenRouterProvider, plus config and README docs. OrcaRouter model IDs are provider-prefixed (openai/gpt-5.5, anthropic/claude-sonnet-5, google/gemini-3.5-flash); aliases map short names to those IDs. Co-Authored-By: Claude --- README.md | 3 +++ os_computer_use/config.py | 1 + os_computer_use/providers.py | 10 ++++++++++ 3 files changed, 14 insertions(+) diff --git a/README.md b/README.md index 64b0a08..57469f1 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,8 @@ The providers are imported from [providers.py](/os_computer_use/providers.py) an - GPT-4o and GPT-4o mini (vision + action) - Anthropic: - Claude (vision + action) +- OrcaRouter: + - GPT-5.5, Claude Sonnet 5, Gemini 3.5 Flash (vision + action) - HuggingFace Spaces: - OS-Atlas (grounding) - ShowUI (grounding) @@ -98,6 +100,7 @@ Additionally, add API key(s) for any LLM providers you're using: # Hugging Face Spaces do not require an API key. FIREWORKS_API_KEY=... OPENROUTER_API_KEY=... +ORCAROUTER_API_KEY=... LLAMA_API_KEY=... GROQ_API_KEY=... GEMINI_API_KEY=... diff --git a/os_computer_use/config.py b/os_computer_use/config.py index 1b3d04b..9029c71 100644 --- a/os_computer_use/config.py +++ b/os_computer_use/config.py @@ -10,6 +10,7 @@ # vision_model = providers.AnthropicProvider("claude-3.5-sonnet") # vision_model = providers.MoonshotProvider("moonshot-v1-vision") # vision_model = providers.MistralProvider("pixtral") +# vision_model = providers.OrcaRouterProvider("gpt-5.5") #vision_model = providers.GroqProvider("llama-3.2") vision_model = providers.OpenRouterProvider("qwen-2.5-vl") diff --git a/os_computer_use/providers.py b/os_computer_use/providers.py index 9f25f48..d706030 100644 --- a/os_computer_use/providers.py +++ b/os_computer_use/providers.py @@ -29,6 +29,16 @@ class OpenRouterProvider(OpenAIBaseProvider): } +class OrcaRouterProvider(OpenAIBaseProvider): + base_url = "https://api.orcarouter.ai/v1" + api_key = os.getenv("ORCAROUTER_API_KEY") + aliases = { + "gpt-5.5": "openai/gpt-5.5", + "claude-sonnet": "anthropic/claude-sonnet-5", + "gemini-flash": "google/gemini-3.5-flash", + } + + class FireworksProvider(OpenAIBaseProvider): base_url = "https://api.fireworks.ai/inference/v1" api_key = os.getenv("FIREWORKS_API_KEY")