feat(providers): add supports_thinking to thinking-capable models (#53)
* feat(providers): add supports_thinking field to thinking-capable models Mark models that support extended thinking / reasoning with supports_thinking = true so the dashboard can conditionally show thinking toggles. Providers updated: anthropic (8), codex-cli (7), gemini (6), openai (3), qwen (2), deepseek (1). Schema updated accordingly. * feat(providers): add supports_thinking to remaining thinking-capable models Cover 19 additional providers: alibaba-coding-plan, allenai, arcee-ai, fireworks, gemini-cli, groq, liquid, nvidia-nim, ollama, openai (codex), openrouter, perplexity, qwen-code, replicate, sambanova, tngtech, venice, vertex-ai, xai. Total: 62 models across 24 providers now have supports_thinking = true. * feat(providers): add supports_thinking to chutes, huggingface, together Missed in prior commits: DeepSeek-R1 on chutes/huggingface/together, Qwen3-235B on chutes. Total now 66 models across 27 providers. * feat(providers): add supports_thinking to bedrock, claude-code, aider, moonshot, stepfun - bedrock: all 5 Claude models - claude-code: all 3 models (opus/sonnet/haiku wrappers) - aider: aider/sonnet (Claude-backed) - moonshot: kimi-k2.5 (reasoning mode) - stepfun: step-1o-turbo-vision (reasoning model) Total: 77 models across 32 providers. * feat(providers): add supports_thinking to alibaba kimi-k2.5, openrouter claude-sonnet-4
This commit is contained in:
33 files changed
+83
No files matched your search
@@ -17,6 +17,7 @@ output_cost_per_m = 0.0
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = false
|
||||
supports_thinking = true
|
||||
aliases = ["aider-sonnet"]
|
||||
|
||||
[[models]]
|
||||
|
||||
@@ -21,6 +21,7 @@ output_cost_per_m = 0.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -34,6 +35,7 @@ output_cost_per_m = 0.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -47,6 +49,7 @@ output_cost_per_m = 0.0
|
||||
supports_tools = true
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -60,6 +63,7 @@ output_cost_per_m = 0.0
|
||||
supports_tools = true
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -73,6 +77,7 @@ output_cost_per_m = 0.0
|
||||
supports_tools = true
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -125,4 +130,5 @@ output_cost_per_m = 0.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
@@ -26,6 +26,7 @@ max_output_tokens = 65536
|
||||
input_cost_per_m = 0.15
|
||||
output_cost_per_m = 0.5
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
|
||||
[[models]]
|
||||
id = "olmo-3.1-32b-instruct"
|
||||
@@ -46,3 +47,4 @@ max_output_tokens = 65536
|
||||
input_cost_per_m = 0.15
|
||||
output_cost_per_m = 0.5
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
@@ -19,6 +19,7 @@ output_cost_per_m = 25.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["opus", "claude-opus"]
|
||||
|
||||
[[models]]
|
||||
@@ -32,6 +33,7 @@ output_cost_per_m = 15.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["sonnet", "claude-sonnet"]
|
||||
|
||||
[[models]]
|
||||
@@ -45,6 +47,7 @@ output_cost_per_m = 75.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -58,6 +61,7 @@ output_cost_per_m = 15.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -71,6 +75,7 @@ output_cost_per_m = 1.25
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["haiku", "claude-haiku"]
|
||||
|
||||
[[models]]
|
||||
@@ -84,6 +89,7 @@ output_cost_per_m = 15.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -97,4 +103,5 @@ output_cost_per_m = 15.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
@@ -26,6 +26,7 @@ max_output_tokens = 32000
|
||||
input_cost_per_m = 0.9
|
||||
output_cost_per_m = 3.3
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
|
||||
[[models]]
|
||||
id = "spotlight"
|
||||
|
||||
@@ -19,6 +19,7 @@ output_cost_per_m = 25.00
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -32,6 +33,7 @@ output_cost_per_m = 15.00
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -45,6 +47,7 @@ output_cost_per_m = 75.00
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -58,6 +61,7 @@ output_cost_per_m = 15.00
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -71,6 +75,7 @@ output_cost_per_m = 1.25
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
|
||||
@@ -32,6 +32,7 @@ output_cost_per_m = 2.19
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["chutes-deepseek-r1"]
|
||||
|
||||
[[models]]
|
||||
@@ -58,6 +59,7 @@ output_cost_per_m = 0.35
|
||||
supports_tools = true
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["chutes-qwen3"]
|
||||
|
||||
[[models]]
|
||||
|
||||
@@ -19,6 +19,7 @@ output_cost_per_m = 25.0
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["claude-code-opus"]
|
||||
|
||||
[[models]]
|
||||
@@ -32,6 +33,7 @@ output_cost_per_m = 15.0
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["claude-code", "claude-code-sonnet"]
|
||||
|
||||
[[models]]
|
||||
@@ -45,4 +47,5 @@ output_cost_per_m = 1.25
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["claude-code-haiku"]
|
||||
@@ -23,6 +23,7 @@ output_cost_per_m = 0.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["codex-cli-gpt-5.4"]
|
||||
|
||||
[[models]]
|
||||
@@ -37,6 +38,7 @@ output_cost_per_m = 0.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["codex-cli-gpt-5.3-codex"]
|
||||
|
||||
[[models]]
|
||||
@@ -51,6 +53,7 @@ output_cost_per_m = 0.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["codex-cli-gpt-5.2"]
|
||||
|
||||
[[models]]
|
||||
@@ -65,6 +68,7 @@ output_cost_per_m = 0.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["codex-cli-gpt-5.2-codex"]
|
||||
|
||||
[[models]]
|
||||
@@ -79,6 +83,7 @@ output_cost_per_m = 0.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["codex-cli-gpt-5.1-codex-max"]
|
||||
|
||||
[[models]]
|
||||
@@ -93,4 +98,5 @@ output_cost_per_m = 0.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["codex-cli-gpt-5.1-codex-mini"]
|
||||
@@ -32,6 +32,7 @@ output_cost_per_m = 2.19
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["deepseek-r1"]
|
||||
|
||||
[[models]]
|
||||
|
||||
@@ -45,6 +45,7 @@ output_cost_per_m = 8.00
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
|
||||
@@ -17,6 +17,7 @@ output_cost_per_m = 0.0
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = false
|
||||
supports_thinking = true
|
||||
aliases = ["gemini-cli-pro"]
|
||||
|
||||
[[models]]
|
||||
@@ -31,4 +32,5 @@ output_cost_per_m = 0.0
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = false
|
||||
supports_thinking = true
|
||||
aliases = ["gemini-cli-flash"]
|
||||
@@ -20,6 +20,7 @@ output_cost_per_m = 12.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["gemini-pro"]
|
||||
|
||||
[[models]]
|
||||
@@ -33,6 +34,7 @@ output_cost_per_m = 3.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["gemini-flash"]
|
||||
|
||||
[[models]]
|
||||
@@ -46,6 +48,7 @@ output_cost_per_m = 1.5
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -59,6 +62,7 @@ output_cost_per_m = 0.39999999999999997
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -72,6 +76,7 @@ output_cost_per_m = 10.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -85,6 +90,7 @@ output_cost_per_m = 2.5
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["flash"]
|
||||
|
||||
[[models]]
|
||||
|
||||
@@ -123,6 +123,7 @@ output_cost_per_m = 0.20
|
||||
supports_tools = true
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
|
||||
@@ -32,6 +32,7 @@ output_cost_per_m = 0.30
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
|
||||
@@ -46,6 +46,7 @@ max_output_tokens = 8192
|
||||
input_cost_per_m = 0.0
|
||||
output_cost_per_m = 0.0
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
|
||||
[[models]]
|
||||
id = "lfm2-8b-a1b"
|
||||
|
||||
@@ -71,4 +71,5 @@ output_cost_per_m = 1.72
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["kimi-k2.5-0711"]
|
||||
@@ -222,6 +222,7 @@ output_cost_per_m = 0.10
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["deepseek-r1-32b"]
|
||||
|
||||
# ── Qwen models ──────────────────────────────────────────────────
|
||||
@@ -237,6 +238,7 @@ output_cost_per_m = 2.34
|
||||
supports_tools = true
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["qwen3.5"]
|
||||
|
||||
[[models]]
|
||||
@@ -263,6 +265,7 @@ output_cost_per_m = 0.58
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
# ── Google Gemma models ──────────────────────────────────────────
|
||||
|
||||
@@ -84,4 +84,5 @@ output_cost_per_m = 0.0
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
@@ -85,6 +85,7 @@ output_cost_per_m = 8.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -98,6 +99,7 @@ output_cost_per_m = 4.40
|
||||
supports_tools = true
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -111,6 +113,7 @@ output_cost_per_m = 4.4
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -243,4 +246,5 @@ output_cost_per_m = 4.40
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["codex-o4"]
|
||||
@@ -22,6 +22,7 @@ output_cost_per_m = 0.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -35,6 +36,7 @@ output_cost_per_m = 0.60
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -48,6 +50,7 @@ output_cost_per_m = 15.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -113,6 +116,7 @@ output_cost_per_m = 10.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -152,6 +156,7 @@ output_cost_per_m = 2.19
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
# Free models — verified against openrouter.ai/api/v1/models on 2026-04-10.
|
||||
@@ -184,6 +189,7 @@ output_cost_per_m = 0.0
|
||||
supports_tools = true
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
|
||||
@@ -32,6 +32,7 @@ output_cost_per_m = 8.0
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -45,6 +46,7 @@ output_cost_per_m = 8.0
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
|
||||
@@ -19,6 +19,7 @@ output_cost_per_m = 0.0
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["qwen-code"]
|
||||
|
||||
[[models]]
|
||||
@@ -45,4 +46,5 @@ output_cost_per_m = 0.0
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["qwen-code-qwq"]
|
||||
@@ -104,6 +104,7 @@ output_cost_per_m = 1.82
|
||||
supports_tools = true
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["qwen3"]
|
||||
|
||||
[[models]]
|
||||
@@ -117,6 +118,7 @@ output_cost_per_m = 0.28
|
||||
supports_tools = true
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
|
||||
@@ -32,6 +32,7 @@ output_cost_per_m = 0.40
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
|
||||
@@ -32,6 +32,7 @@ output_cost_per_m = 0.06
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
|
||||
@@ -58,4 +58,5 @@ output_cost_per_m = 1.14
|
||||
supports_tools = false
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["stepfun-vision"]
|
||||
@@ -16,3 +16,4 @@ max_output_tokens = 163840
|
||||
input_cost_per_m = 0.3
|
||||
output_cost_per_m = 1.1
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
@@ -71,6 +71,7 @@ output_cost_per_m = 7.00
|
||||
supports_tools = false
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
|
||||
@@ -45,4 +45,5 @@ output_cost_per_m = 0.90
|
||||
supports_tools = true
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
@@ -18,6 +18,7 @@ output_cost_per_m = 10.0
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -32,6 +33,7 @@ output_cost_per_m = 0.6
|
||||
supports_tools = true
|
||||
supports_vision = true
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
|
||||
@@ -32,6 +32,7 @@ output_cost_per_m = 5.0
|
||||
supports_tools = true
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = []
|
||||
|
||||
[[models]]
|
||||
@@ -58,6 +59,7 @@ output_cost_per_m = 0.50
|
||||
supports_tools = true
|
||||
supports_vision = false
|
||||
supports_streaming = true
|
||||
supports_thinking = true
|
||||
aliases = ["grok-fast"]
|
||||
|
||||
[[models]]
|
||||
|
||||
@@ -114,6 +114,12 @@ required = false
|
||||
description = "Streaming response support"
|
||||
default = true
|
||||
|
||||
[provider.sections.models.fields.supports_thinking]
|
||||
type = "bool"
|
||||
required = false
|
||||
description = "Extended thinking / reasoning support"
|
||||
default = false
|
||||
|
||||
[provider.sections.models.fields.aliases]
|
||||
type = "array"
|
||||
required = false
|
||||
|
||||
Reference in new issue
Block a user