From d4c8d057e4ae7b487ba8ac1c7c5b3fb9fa23c83c Mon Sep 17 00:00:00 2001 From: Kujtim Hoxha Date: Wed, 4 Jun 2025 16:50:17 +0200 Subject: [PATCH] add openrouter deepseek free --- internal/llm/models/openrouter.go | 14 ++ opencode-schema.json | 210 +++++++++++++++--------------- 2 files changed, 122 insertions(+), 102 deletions(-) diff --git a/internal/llm/models/openrouter.go b/internal/llm/models/openrouter.go index 6fc2a2119a68e7699c351d68c09da114d5c8f791..10ad5a0409937e060616eda6c188991d979e3ea1 100644 --- a/internal/llm/models/openrouter.go +++ b/internal/llm/models/openrouter.go @@ -22,6 +22,7 @@ const ( OpenRouterClaude37Sonnet ModelID = "openrouter.claude-3.7-sonnet" OpenRouterClaude35Haiku ModelID = "openrouter.claude-3.5-haiku" OpenRouterClaude3Opus ModelID = "openrouter.claude-3-opus" + OpenRouterDeepSeekR1Free ModelID = "openrouter.deepseek-r1-free" ) var OpenRouterModels = map[ModelID]Model{ @@ -259,4 +260,17 @@ var OpenRouterModels = map[ModelID]Model{ ContextWindow: AnthropicModels[Claude3Opus].ContextWindow, DefaultMaxTokens: AnthropicModels[Claude3Opus].DefaultMaxTokens, }, + + OpenRouterDeepSeekR1Free: { + ID: OpenRouterDeepSeekR1Free, + Name: "OpenRouter – DeepSeek R1 Free", + Provider: ProviderOpenRouter, + APIModel: "deepseek/deepseek-r1-0528:free", + CostPer1MIn: 0, + CostPer1MInCached: 0, + CostPer1MOut: 0, + CostPer1MOutCached: 0, + ContextWindow: 163_840, + DefaultMaxTokens: 10000, + }, } diff --git a/opencode-schema.json b/opencode-schema.json index b31312c0b7e271be38f660dc4499fb755e461514..dc139fda374964b1254d5df12c42751c84d29e7a 100644 --- a/opencode-schema.json +++ b/opencode-schema.json @@ -12,69 +12,72 @@ "model": { "description": "Model ID for the agent", "enum": [ - "grok-3-fast-beta", - "claude-3-opus", - "gemini-2.5", - "openrouter.claude-3-haiku", - "grok-3-beta", "gpt-4.1", - "azure.gpt-4o-mini", + "llama-3.3-70b-versatile", + "azure.gpt-4.1", "openrouter.gpt-4o", - "openrouter.o4-mini", - "openrouter.o1-pro", - "gpt-4.1-nano", - "azure.gpt-4.5-preview", - "openrouter.gpt-4o-mini", - "claude-3.5-sonnet", - "claude-3-haiku", - "qwen-qwq", - "openrouter.claude-3.7-sonnet", - "gemini-2.5-flash", - "azure.o4-mini", - "openrouter.gpt-4.1-mini", + "openrouter.o1-mini", + "openrouter.claude-3-haiku", + "claude-3-opus", "gpt-4o", - "openrouter.gemini-2.5", - "gpt-4.1-mini", - "azure.gpt-4.1", - "azure.o1-mini", - "o1-pro", - "claude-3.7-sonnet", - "o3", - "gpt-4.5-preview", + "gpt-4o-mini", + "o1", + "meta-llama/llama-4-maverick-17b-128e-instruct", "azure.o3-mini", - "grok-3-mini-beta", - "openrouter.o1-mini", - "meta-llama/llama-4-scout-17b-16e-instruct", + "openrouter.gpt-4o-mini", + "openrouter.o1", + "claude-3.5-haiku", + "o4-mini", + "azure.gpt-4.1-mini", + "openrouter.o3", + "grok-3-beta", + "o3-mini", + "qwen-qwq", "azure.o1", "openrouter.gemini-2.5-flash", - "openrouter.claude-3-opus", + "openrouter.gemini-2.5", "o1-mini", - "gemini-2.0-flash", - "openrouter.gpt-4.1", - "openrouter.claude-3.5-haiku", - "deepseek-r1-distill-llama-70b", - "claude-3.5-haiku", - "o3-mini", - "llama-3.3-70b-versatile", - "azure.gpt-4.1-nano", - "openrouter.gpt-4.5-preview", - "gemini-2.0-flash-lite", "azure.gpt-4o", + "openrouter.gpt-4.1-mini", + "openrouter.claude-3.5-sonnet", "openrouter.o3-mini", - "openrouter.o1", - "openrouter.gpt-4.1-nano", + "gpt-4.1-mini", + "gpt-4.5-preview", + "gpt-4.1-nano", + "deepseek-r1-distill-llama-70b", + "azure.gpt-4o-mini", + "openrouter.gpt-4.1", + "bedrock.claude-3.7-sonnet", + "claude-3-haiku", + "o3", + "gemini-2.0-flash-lite", + "azure.o3", + "azure.gpt-4.5-preview", + "openrouter.claude-3-opus", "grok-3-mini-fast-beta", + "claude-4-sonnet", + "azure.o4-mini", + "grok-3-fast-beta", + "claude-3.5-sonnet", + "azure.o1-mini", + "openrouter.claude-3.7-sonnet", + "openrouter.gpt-4.5-preview", + "grok-3-mini-beta", + "claude-3.7-sonnet", + "gemini-2.0-flash", + "openrouter.deepseek-r1-free", "vertexai.gemini-2.5-flash", - "o4-mini", - "azure.o3", - "azure.gpt-4.1-mini", - "openrouter.o3", - "gpt-4o-mini", - "o1", "vertexai.gemini-2.5", - "bedrock.claude-3.7-sonnet", - "meta-llama/llama-4-maverick-17b-128e-instruct", - "openrouter.claude-3.5-sonnet" + "o1-pro", + "gemini-2.5", + "meta-llama/llama-4-scout-17b-16e-instruct", + "azure.gpt-4.1-nano", + "openrouter.gpt-4.1-nano", + "gemini-2.5-flash", + "openrouter.o4-mini", + "openrouter.claude-3.5-haiku", + "claude-4-opus", + "openrouter.o1-pro" ], "type": "string" }, @@ -108,69 +111,72 @@ "model": { "description": "Model ID for the agent", "enum": [ - "grok-3-fast-beta", - "claude-3-opus", - "gemini-2.5", - "openrouter.claude-3-haiku", - "grok-3-beta", "gpt-4.1", - "azure.gpt-4o-mini", + "llama-3.3-70b-versatile", + "azure.gpt-4.1", "openrouter.gpt-4o", - "openrouter.o4-mini", - "openrouter.o1-pro", - "gpt-4.1-nano", - "azure.gpt-4.5-preview", - "openrouter.gpt-4o-mini", - "claude-3.5-sonnet", - "claude-3-haiku", - "qwen-qwq", - "openrouter.claude-3.7-sonnet", - "gemini-2.5-flash", - "azure.o4-mini", - "openrouter.gpt-4.1-mini", + "openrouter.o1-mini", + "openrouter.claude-3-haiku", + "claude-3-opus", "gpt-4o", - "openrouter.gemini-2.5", - "gpt-4.1-mini", - "azure.gpt-4.1", - "azure.o1-mini", - "o1-pro", - "claude-3.7-sonnet", - "o3", - "gpt-4.5-preview", + "gpt-4o-mini", + "o1", + "meta-llama/llama-4-maverick-17b-128e-instruct", "azure.o3-mini", - "grok-3-mini-beta", - "openrouter.o1-mini", - "meta-llama/llama-4-scout-17b-16e-instruct", + "openrouter.gpt-4o-mini", + "openrouter.o1", + "claude-3.5-haiku", + "o4-mini", + "azure.gpt-4.1-mini", + "openrouter.o3", + "grok-3-beta", + "o3-mini", + "qwen-qwq", "azure.o1", "openrouter.gemini-2.5-flash", - "openrouter.claude-3-opus", + "openrouter.gemini-2.5", "o1-mini", - "gemini-2.0-flash", - "openrouter.gpt-4.1", - "openrouter.claude-3.5-haiku", - "deepseek-r1-distill-llama-70b", - "claude-3.5-haiku", - "o3-mini", - "llama-3.3-70b-versatile", - "azure.gpt-4.1-nano", - "openrouter.gpt-4.5-preview", - "gemini-2.0-flash-lite", "azure.gpt-4o", + "openrouter.gpt-4.1-mini", + "openrouter.claude-3.5-sonnet", "openrouter.o3-mini", - "openrouter.o1", - "openrouter.gpt-4.1-nano", + "gpt-4.1-mini", + "gpt-4.5-preview", + "gpt-4.1-nano", + "deepseek-r1-distill-llama-70b", + "azure.gpt-4o-mini", + "openrouter.gpt-4.1", + "bedrock.claude-3.7-sonnet", + "claude-3-haiku", + "o3", + "gemini-2.0-flash-lite", + "azure.o3", + "azure.gpt-4.5-preview", + "openrouter.claude-3-opus", "grok-3-mini-fast-beta", + "claude-4-sonnet", + "azure.o4-mini", + "grok-3-fast-beta", + "claude-3.5-sonnet", + "azure.o1-mini", + "openrouter.claude-3.7-sonnet", + "openrouter.gpt-4.5-preview", + "grok-3-mini-beta", + "claude-3.7-sonnet", + "gemini-2.0-flash", + "openrouter.deepseek-r1-free", "vertexai.gemini-2.5-flash", - "o4-mini", - "azure.o3", - "azure.gpt-4.1-mini", - "openrouter.o3", - "gpt-4o-mini", - "o1", "vertexai.gemini-2.5", - "bedrock.claude-3.7-sonnet", - "meta-llama/llama-4-maverick-17b-128e-instruct", - "openrouter.claude-3.5-sonnet" + "o1-pro", + "gemini-2.5", + "meta-llama/llama-4-scout-17b-16e-instruct", + "azure.gpt-4.1-nano", + "openrouter.gpt-4.1-nano", + "gemini-2.5-flash", + "openrouter.o4-mini", + "openrouter.claude-3.5-haiku", + "claude-4-opus", + "openrouter.o1-pro" ], "type": "string" },