From 4f8dd2404decc7680dbd99261172c922b5f00684 Mon Sep 17 00:00:00 2001 From: Evan Date: Wed, 15 Apr 2026 22:18:01 +0900 Subject: [PATCH] feat(providers): expand ollama catalog with thinking-capable models (#58) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(providers): expand ollama model catalog with thinking-capable models Add commonly used local models with accurate capability flags: - gemma4, gemma3: supports_thinking, supports_vision - deepseek-r1: supports_thinking (fix missing flag) - deepseek-v3: supports_tools - qwen3, qwq: supports_thinking - llama4: supports_vision - llama3.3: supports_tools - phi4: supports_tools Previously only 6 models were listed and none had supports_thinking (except deepseek-r1), causing the dashboard to hide thinking toggles for models that actually support it. * chore(providers): major cleanup — remove defunct providers and old models Delete 21 defunct/obscure providers: aion-labs, arcee-ai, deepcogito, eleutherai, essentialai, ibm-granite, inception, inflection, kwaipilot, lemonade, liquid, morph, nex-agi, nousresearch, prime-intellect, reka, relace, switchpoint, tngtech, upstage, writer Clean up 10 major providers — keep only latest generation models: - anthropic: remove claude-3.5-sonnet (superseded by 4.x) - openai: remove gpt-4o/4-turbo/3.5/o1/o3-mini (superseded by gpt-5/4.1/o3/o4-mini) - gemini: remove 1.5-*/2.0-flash (superseded by 2.5/3.x) - deepseek: remove coder/chat-v3-0324 (superseded by r1/v3) - qwen: remove turbo/2.5-coder (superseded by qwen3) - groq: remove old llama/mixtral/gemma (keep latest only) - mistral: remove medium/nemo/pixtral-large (keep large/small/codestral) - xai: remove grok-2 (superseded by grok-3/4) - meta-llama: remove 3.x/guard (keep llama-4 + 3.3) - ollama: rewrite with current models (gemma4, qwen3, qwq, llama4, etc) Total: 90 → 48 models across major providers. All thinking-capable models now have supports_thinking = true. * chore: add pre-commit hook for automatic TOML formatting - .githooks/pre-commit: runs taplo fmt on staged .toml files - Makefile: add setup target + auto-configure hooks on first make - .gitignore: add .make-setup-done and .sync_marker --- .githooks/pre-commit | 22 ++++++ .gitignore | 2 + .sync_marker | 0 Makefile | 13 ++++ agents/hello-world/agent.toml | 4 +- providers/aion-labs.toml | 48 ------------ providers/anthropic.toml | 16 +--- providers/arcee-ai.toml | 79 ------------------- providers/deepcogito.toml | 18 ----- providers/deepseek.toml | 28 +------ providers/eleutherai.toml | 18 ----- providers/essentialai.toml | 18 ----- providers/gemini.toml | 58 +------------- providers/groq.toml | 101 ++---------------------- providers/ibm-granite.toml | 18 ----- providers/inception.toml | 38 --------- providers/inflection.toml | 28 ------- providers/kwaipilot.toml | 18 ----- providers/lemonade.toml | 9 --- providers/liquid.toml | 59 -------------- providers/meta-llama.toml | 107 +------------------------- providers/mistral.toml | 41 +--------- providers/morph.toml | 28 ------- providers/nex-agi.toml | 18 ----- providers/nousresearch.toml | 68 ----------------- providers/ollama.toml | 136 ++++++++++++++++++--------------- providers/openai.toml | 68 +---------------- providers/prime-intellect.toml | 18 ----- providers/qwen.toml | 75 +++++------------- providers/reka.toml | 28 ------- providers/relace.toml | 28 ------- providers/switchpoint.toml | 18 ----- providers/tngtech.toml | 19 ----- providers/upstage.toml | 18 ----- providers/writer.toml | 61 --------------- providers/xai.toml | 28 +------ 36 files changed, 151 insertions(+), 1203 deletions(-) create mode 100755 .githooks/pre-commit create mode 100644 .sync_marker delete mode 100644 providers/aion-labs.toml delete mode 100644 providers/arcee-ai.toml delete mode 100644 providers/deepcogito.toml delete mode 100644 providers/eleutherai.toml delete mode 100644 providers/essentialai.toml delete mode 100644 providers/ibm-granite.toml delete mode 100644 providers/inception.toml delete mode 100644 providers/inflection.toml delete mode 100644 providers/kwaipilot.toml delete mode 100644 providers/lemonade.toml delete mode 100644 providers/liquid.toml delete mode 100644 providers/morph.toml delete mode 100644 providers/nex-agi.toml delete mode 100644 providers/nousresearch.toml delete mode 100644 providers/prime-intellect.toml delete mode 100644 providers/reka.toml delete mode 100644 providers/relace.toml delete mode 100644 providers/switchpoint.toml delete mode 100644 providers/tngtech.toml delete mode 100644 providers/upstage.toml delete mode 100644 providers/writer.toml diff --git a/.githooks/pre-commit b/.githooks/pre-commit new file mode 100755 index 0000000..e0af7d6 --- /dev/null +++ b/.githooks/pre-commit @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +# Pre-commit hook: format staged TOML files with taplo + +STAGED=$(git diff --cached --name-only --diff-filter=ACM | grep '\.toml$') +if [ -z "$STAGED" ]; then + exit 0 +fi + +if ! command -v taplo &>/dev/null; then + echo "taplo not found — install with: cargo install taplo-cli" + exit 1 +fi + +for f in $STAGED; do + if [ -f "$f" ]; then + taplo fmt "$f" 2>/dev/null + if ! git diff --quiet "$f"; then + echo "Formatted $f" + git add "$f" + fi + fi +done diff --git a/.gitignore b/.gitignore index fd6467b..64379d0 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ __pycache__/ *.pyc .env +.make-setup-done +.sync_marker diff --git a/.sync_marker b/.sync_marker new file mode 100644 index 0000000..e69de29 diff --git a/Makefile b/Makefile index a542e7a..4588180 100644 --- a/Makefile +++ b/Makefile @@ -12,6 +12,19 @@ SKILLS_DIR := skills PLUGINS_DIR := plugins PROVIDERS_DIR := providers +# ── Setup ──────────────────────────────────────────────────────────────────── + +.PHONY: setup +setup: ## Configure git hooks for auto-formatting + git config core.hooksPath .githooks + @echo "Git hooks installed (.githooks/pre-commit)" + +# Auto-configure hooks on first make invocation +-include .make-setup-done +.make-setup-done: + @git config core.hooksPath .githooks 2>/dev/null || true + @touch .make-setup-done + # ── Validation ──────────────────────────────────────────────────────────────── .PHONY: validate diff --git a/agents/hello-world/agent.toml b/agents/hello-world/agent.toml index 388d072..1e18ebc 100644 --- a/agents/hello-world/agent.toml +++ b/agents/hello-world/agent.toml @@ -26,7 +26,9 @@ Answer questions directly. If you can look something up to give a better answer, When the user asks a factual question, use web_search to find current information rather than relying on potentially outdated knowledge. Present findings clearly without dumping raw search results. -Keep responses brief (2-4 paragraphs max) unless the user asks for detail.""" +Keep responses brief (2-4 paragraphs max) unless the user asks for detail. + +Always reply in the same language the user uses. Never literally translate proper nouns, product names, or technical terms (e.g. "Hello World", "LibreFang", "Agent OS" stay as-is).""" [resources] max_llm_tokens_per_hour = 100000 diff --git a/providers/aion-labs.toml b/providers/aion-labs.toml deleted file mode 100644 index f15bf9e..0000000 --- a/providers/aion-labs.toml +++ /dev/null @@ -1,48 +0,0 @@ -# aion-labs — auto-generated from OpenRouter API - -[provider] -id = "aion-labs" -display_name = "Aion Labs" -api_key_env = "AION_LABS_API_KEY" -base_url = "https://api.aionlabs.ai/v1" -key_required = true - -[[models]] -id = "aion-1.0" -display_name = "AionLabs: Aion-1.0" -tier = "frontier" -context_window = 131072 -max_output_tokens = 32768 -input_cost_per_m = 4.0 -output_cost_per_m = 8.0 -supports_streaming = true - -[[models]] -id = "aion-1.0-mini" -display_name = "AionLabs: Aion-1.0-Mini" -tier = "smart" -context_window = 131072 -max_output_tokens = 32768 -input_cost_per_m = 0.7 -output_cost_per_m = 1.4 -supports_streaming = true - -[[models]] -id = "aion-2.0" -display_name = "AionLabs: Aion-2.0" -tier = "smart" -context_window = 131072 -max_output_tokens = 32768 -input_cost_per_m = 0.8 -output_cost_per_m = 1.6 -supports_streaming = true - -[[models]] -id = "aion-rp-llama-3.1-8b" -display_name = "AionLabs: Aion-RP 1.0 (8B)" -tier = "smart" -context_window = 32768 -max_output_tokens = 32768 -input_cost_per_m = 0.8 -output_cost_per_m = 1.6 -supports_streaming = true diff --git a/providers/anthropic.toml b/providers/anthropic.toml index 1ef56d5..38b69c7 100644 --- a/providers/anthropic.toml +++ b/providers/anthropic.toml @@ -1,5 +1,5 @@ # Anthropic — https://anthropic.com -# Models: 7 +# Models: 6 [provider] id = "anthropic" @@ -91,17 +91,3 @@ supports_vision = true supports_streaming = true supports_thinking = true aliases = [] - -[[models]] -id = "claude-3-5-sonnet-20241022" -display_name = "Claude 3.5 Sonnet" -tier = "smart" -context_window = 200000 -max_output_tokens = 8192 -input_cost_per_m = 3.0 -output_cost_per_m = 15.0 -supports_tools = true -supports_vision = true -supports_streaming = true -supports_thinking = true -aliases = [] diff --git a/providers/arcee-ai.toml b/providers/arcee-ai.toml deleted file mode 100644 index b5560e5..0000000 --- a/providers/arcee-ai.toml +++ /dev/null @@ -1,79 +0,0 @@ -# arcee-ai — auto-generated from OpenRouter API - -[provider] -id = "arcee-ai" -display_name = "Arcee Ai" -api_key_env = "ARCEE_API_KEY" -base_url = "https://api.arcee.ai/v1" -key_required = true - -[[models]] -id = "coder-large" -display_name = "Arcee AI: Coder Large" -tier = "smart" -context_window = 32768 -max_output_tokens = 8192 -input_cost_per_m = 0.5 -output_cost_per_m = 0.8 -supports_streaming = true - -[[models]] -id = "maestro-reasoning" -display_name = "Arcee AI: Maestro Reasoning" -tier = "smart" -context_window = 131072 -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" -display_name = "Arcee AI: Spotlight" -tier = "fast" -context_window = 131072 -max_output_tokens = 65537 -input_cost_per_m = 0.18 -output_cost_per_m = 0.18 -supports_streaming = true - -[[models]] -id = "trinity-large-preview:free" -display_name = "Arcee AI: Trinity Large Preview (free)" -tier = "fast" -context_window = 131000 -max_output_tokens = 16384 -input_cost_per_m = 0.0 -output_cost_per_m = 0.0 -supports_streaming = true - -[[models]] -id = "trinity-mini" -display_name = "Arcee AI: Trinity Mini" -tier = "fast" -context_window = 131072 -max_output_tokens = 131072 -input_cost_per_m = 0.045 -output_cost_per_m = 0.15 -supports_streaming = true - -[[models]] -id = "trinity-mini:free" -display_name = "Arcee AI: Trinity Mini (free)" -tier = "fast" -context_window = 131072 -max_output_tokens = 16384 -input_cost_per_m = 0.0 -output_cost_per_m = 0.0 -supports_streaming = true - -[[models]] -id = "virtuoso-large" -display_name = "Arcee AI: Virtuoso Large" -tier = "smart" -context_window = 131072 -max_output_tokens = 64000 -input_cost_per_m = 0.75 -output_cost_per_m = 1.2 -supports_streaming = true diff --git a/providers/deepcogito.toml b/providers/deepcogito.toml deleted file mode 100644 index 4c6479d..0000000 --- a/providers/deepcogito.toml +++ /dev/null @@ -1,18 +0,0 @@ -# deepcogito — auto-generated from OpenRouter API - -[provider] -id = "deepcogito" -display_name = "Deepcogito" -api_key_env = "OPENROUTER_API_KEY" -base_url = "https://openrouter.ai/api/v1" -key_required = true - -[[models]] -id = "cogito-v2.1-671b" -display_name = "Deep Cogito: Cogito v2.1 671B" -tier = "smart" -context_window = 128000 -max_output_tokens = 16384 -input_cost_per_m = 1.25 -output_cost_per_m = 1.25 -supports_streaming = true diff --git a/providers/deepseek.toml b/providers/deepseek.toml index 51f7ff0..57fe073 100644 --- a/providers/deepseek.toml +++ b/providers/deepseek.toml @@ -1,5 +1,5 @@ # DeepSeek — https://deepseek.com -# Models: 4 +# Models: 2 [provider] id = "deepseek" @@ -34,29 +34,3 @@ supports_vision = false supports_streaming = true supports_thinking = true aliases = ["deepseek-r1"] - -[[models]] -id = "deepseek-coder" -display_name = "DeepSeek Coder V2" -tier = "balanced" -context_window = 128000 -max_output_tokens = 8192 -input_cost_per_m = 0.14 -output_cost_per_m = 0.28 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = [] - -[[models]] -id = "deepseek-chat-v3-0324" -display_name = "DeepSeek V3 0324" -tier = "smart" -context_window = 64000 -max_output_tokens = 8192 -input_cost_per_m = 0.19999999999999998 -output_cost_per_m = 0.77 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = [] diff --git a/providers/eleutherai.toml b/providers/eleutherai.toml deleted file mode 100644 index 2ad4c7d..0000000 --- a/providers/eleutherai.toml +++ /dev/null @@ -1,18 +0,0 @@ -# eleutherai — auto-generated from OpenRouter API - -[provider] -id = "eleutherai" -display_name = "Eleutherai" -api_key_env = "KRATER_API_KEY" -base_url = "https://api.krater.ai/v1" -key_required = true - -[[models]] -id = "llemma_7b" -display_name = "EleutherAI: Llemma 7b" -tier = "smart" -context_window = 4096 -max_output_tokens = 4096 -input_cost_per_m = 0.8 -output_cost_per_m = 1.2 -supports_streaming = true diff --git a/providers/essentialai.toml b/providers/essentialai.toml deleted file mode 100644 index 4fc46d9..0000000 --- a/providers/essentialai.toml +++ /dev/null @@ -1,18 +0,0 @@ -# essentialai — auto-generated from OpenRouter API - -[provider] -id = "essentialai" -display_name = "Essentialai" -api_key_env = "OPENROUTER_API_KEY" -base_url = "https://openrouter.ai/api/v1" -key_required = true - -[[models]] -id = "rnj-1-instruct" -display_name = "EssentialAI: Rnj 1 Instruct" -tier = "fast" -context_window = 32768 -max_output_tokens = 8192 -input_cost_per_m = 0.15 -output_cost_per_m = 0.15 -supports_streaming = true diff --git a/providers/gemini.toml b/providers/gemini.toml index 64d1055..ba4b120 100644 --- a/providers/gemini.toml +++ b/providers/gemini.toml @@ -1,5 +1,5 @@ # Google Gemini — https://ai.google.dev -# Models: 10 +# Models: 6 [provider] id = "gemini" @@ -57,8 +57,8 @@ display_name = "Gemini 2.5 Flash Lite" tier = "fast" context_window = 1048576 max_output_tokens = 8192 -input_cost_per_m = 0.09999999999999999 -output_cost_per_m = 0.39999999999999997 +input_cost_per_m = 0.1 +output_cost_per_m = 0.4 supports_tools = true supports_vision = true supports_streaming = true @@ -92,55 +92,3 @@ supports_vision = true supports_streaming = true supports_thinking = true aliases = ["flash"] - -[[models]] -id = "gemini-2.0-flash" -display_name = "Gemini 2.0 Flash" -tier = "fast" -context_window = 1048576 -max_output_tokens = 8192 -input_cost_per_m = 0.075 -output_cost_per_m = 0.3 -supports_tools = true -supports_vision = true -supports_streaming = true -aliases = [] - -[[models]] -id = "gemini-2.0-flash-lite" -display_name = "Gemini 2.0 Flash Lite" -tier = "fast" -context_window = 1048576 -max_output_tokens = 8192 -input_cost_per_m = 0.075 -output_cost_per_m = 0.30 -supports_tools = true -supports_vision = true -supports_streaming = true -aliases = [] - -[[models]] -id = "gemini-1.5-pro" -display_name = "Gemini 1.5 Pro" -tier = "smart" -context_window = 2097152 -max_output_tokens = 8192 -input_cost_per_m = 1.25 -output_cost_per_m = 5.00 -supports_tools = true -supports_vision = true -supports_streaming = true -aliases = [] - -[[models]] -id = "gemini-1.5-flash" -display_name = "Gemini 1.5 Flash" -tier = "fast" -context_window = 1048576 -max_output_tokens = 8192 -input_cost_per_m = 0.075 -output_cost_per_m = 0.30 -supports_tools = true -supports_vision = true -supports_streaming = true -aliases = [] diff --git a/providers/groq.toml b/providers/groq.toml index 52c2958..3f08795 100644 --- a/providers/groq.toml +++ b/providers/groq.toml @@ -1,5 +1,5 @@ # Groq — https://groq.com -# Models: 10 +# Models: 3 [provider] id = "groq" @@ -22,96 +22,18 @@ supports_streaming = true aliases = ["llama", "llama-70b"] [[models]] -id = "llama-3.1-8b-instant" -display_name = "Llama 3.1 8B" -tier = "fast" -context_window = 128000 -max_output_tokens = 8192 -input_cost_per_m = 0.05 -output_cost_per_m = 0.08 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = [] - -[[models]] -id = "llama-3.2-90b-vision-preview" -display_name = "Llama 3.2 90B Vision" -tier = "smart" -context_window = 128000 -max_output_tokens = 8192 -input_cost_per_m = 0.90 -output_cost_per_m = 0.90 -supports_tools = true -supports_vision = true -supports_streaming = true -aliases = [] - -[[models]] -id = "llama-3.2-11b-vision-preview" -display_name = "Llama 3.2 11B Vision" +id = "meta-llama/llama-4-scout-17b-16e-instruct" +display_name = "Llama 4 Scout 17B" tier = "balanced" context_window = 128000 max_output_tokens = 8192 -input_cost_per_m = 0.18 -output_cost_per_m = 0.18 +input_cost_per_m = 0.11 +output_cost_per_m = 0.34 supports_tools = true supports_vision = true supports_streaming = true aliases = [] -[[models]] -id = "llama-3.2-3b-preview" -display_name = "Llama 3.2 3B" -tier = "fast" -context_window = 128000 -max_output_tokens = 8192 -input_cost_per_m = 0.06 -output_cost_per_m = 0.06 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = [] - -[[models]] -id = "llama-3.2-1b-preview" -display_name = "Llama 3.2 1B" -tier = "fast" -context_window = 128000 -max_output_tokens = 8192 -input_cost_per_m = 0.04 -output_cost_per_m = 0.04 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = [] - -[[models]] -id = "mixtral-8x7b-32768" -display_name = "Mixtral 8x7B" -tier = "balanced" -context_window = 32768 -max_output_tokens = 4096 -input_cost_per_m = 0.024 -output_cost_per_m = 0.024 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = ["mixtral"] - -[[models]] -id = "gemma2-9b-it" -display_name = "Gemma 2 9B" -tier = "fast" -context_window = 8192 -max_output_tokens = 4096 -input_cost_per_m = 0.02 -output_cost_per_m = 0.02 -supports_tools = false -supports_vision = false -supports_streaming = true -aliases = [] - [[models]] id = "qwen-qwq-32b" display_name = "Qwen QWQ 32B" @@ -125,16 +47,3 @@ supports_vision = false supports_streaming = true supports_thinking = true aliases = [] - -[[models]] -id = "meta-llama/llama-4-scout-17b-16e-instruct" -display_name = "Llama 4 Scout 17B" -tier = "balanced" -context_window = 128000 -max_output_tokens = 8192 -input_cost_per_m = 0.11 -output_cost_per_m = 0.34 -supports_tools = true -supports_vision = true -supports_streaming = true -aliases = [] diff --git a/providers/ibm-granite.toml b/providers/ibm-granite.toml deleted file mode 100644 index 58658e2..0000000 --- a/providers/ibm-granite.toml +++ /dev/null @@ -1,18 +0,0 @@ -# ibm-granite — auto-generated from OpenRouter API - -[provider] -id = "ibm-granite" -display_name = "Ibm Granite" -api_key_env = "WATSONX_API_KEY" -base_url = "https://us-south.ml.cloud.ibm.com/ml/v1" -key_required = true - -[[models]] -id = "granite-4.0-h-micro" -display_name = "IBM: Granite 4.0 Micro" -tier = "fast" -context_window = 131000 -max_output_tokens = 16384 -input_cost_per_m = 0.017 -output_cost_per_m = 0.11 -supports_streaming = true diff --git a/providers/inception.toml b/providers/inception.toml deleted file mode 100644 index c8ae324..0000000 --- a/providers/inception.toml +++ /dev/null @@ -1,38 +0,0 @@ -# inception — auto-generated from OpenRouter API - -[provider] -id = "inception" -display_name = "Inception" -api_key_env = "INCEPTION_API_KEY" -base_url = "https://api.inceptionlabs.ai/v1" -key_required = true - -[[models]] -id = "mercury" -display_name = "Inception: Mercury" -tier = "fast" -context_window = 128000 -max_output_tokens = 32000 -input_cost_per_m = 0.25 -output_cost_per_m = 0.75 -supports_streaming = true - -[[models]] -id = "mercury-2" -display_name = "Inception: Mercury 2" -tier = "fast" -context_window = 128000 -max_output_tokens = 50000 -input_cost_per_m = 0.25 -output_cost_per_m = 0.75 -supports_streaming = true - -[[models]] -id = "mercury-coder" -display_name = "Inception: Mercury Coder" -tier = "fast" -context_window = 128000 -max_output_tokens = 32000 -input_cost_per_m = 0.25 -output_cost_per_m = 0.75 -supports_streaming = true diff --git a/providers/inflection.toml b/providers/inflection.toml deleted file mode 100644 index 5c5fc4b..0000000 --- a/providers/inflection.toml +++ /dev/null @@ -1,28 +0,0 @@ -# inflection — auto-generated from OpenRouter API - -[provider] -id = "inflection" -display_name = "Inflection" -api_key_env = "OPENROUTER_API_KEY" -base_url = "https://openrouter.ai/api/v1" -key_required = true - -[[models]] -id = "inflection-3-pi" -display_name = "Inflection: Inflection 3 Pi" -tier = "smart" -context_window = 8000 -max_output_tokens = 1024 -input_cost_per_m = 2.5 -output_cost_per_m = 10.0 -supports_streaming = true - -[[models]] -id = "inflection-3-productivity" -display_name = "Inflection: Inflection 3 Productivity" -tier = "smart" -context_window = 8000 -max_output_tokens = 1024 -input_cost_per_m = 2.5 -output_cost_per_m = 10.0 -supports_streaming = true diff --git a/providers/kwaipilot.toml b/providers/kwaipilot.toml deleted file mode 100644 index 3b328de..0000000 --- a/providers/kwaipilot.toml +++ /dev/null @@ -1,18 +0,0 @@ -# kwaipilot — auto-generated from OpenRouter API - -[provider] -id = "kwaipilot" -display_name = "Kwaipilot" -api_key_env = "OPENROUTER_API_KEY" -base_url = "https://openrouter.ai/api/v1" -key_required = true - -[[models]] -id = "kat-coder-pro" -display_name = "Kwaipilot: KAT-Coder-Pro V1" -tier = "fast" -context_window = 256000 -max_output_tokens = 128000 -input_cost_per_m = 0.3 -output_cost_per_m = 1.2 -supports_streaming = true diff --git a/providers/lemonade.toml b/providers/lemonade.toml deleted file mode 100644 index a8b92e2..0000000 --- a/providers/lemonade.toml +++ /dev/null @@ -1,9 +0,0 @@ -# Lemonade — local NPU accelerated inference -# Models: 0 (all models discovered dynamically at runtime) - -[provider] -id = "lemonade" -display_name = "Lemonade" -api_key_env = "LEMONADE_API_KEY" -base_url = "http://localhost:8888/api/v1" -key_required = false diff --git a/providers/liquid.toml b/providers/liquid.toml deleted file mode 100644 index 2fa73f6..0000000 --- a/providers/liquid.toml +++ /dev/null @@ -1,59 +0,0 @@ -# liquid — auto-generated from OpenRouter API - -[provider] -id = "liquid" -display_name = "Liquid" -api_key_env = "OPENROUTER_API_KEY" -base_url = "https://openrouter.ai/api/v1" -key_required = true - -[[models]] -id = "lfm-2-24b-a2b" -display_name = "LiquidAI: LFM2-24B-A2B" -tier = "fast" -context_window = 32768 -max_output_tokens = 8192 -input_cost_per_m = 0.03 -output_cost_per_m = 0.12 -supports_streaming = true - -[[models]] -id = "lfm-2.2-6b" -display_name = "LiquidAI: LFM2-2.6B" -tier = "fast" -context_window = 32768 -max_output_tokens = 8192 -input_cost_per_m = 0.01 -output_cost_per_m = 0.02 -supports_streaming = true - -[[models]] -id = "lfm-2.5-1.2b-instruct:free" -display_name = "LiquidAI: LFM2.5-1.2B-Instruct (free)" -tier = "fast" -context_window = 32768 -max_output_tokens = 8192 -input_cost_per_m = 0.0 -output_cost_per_m = 0.0 -supports_streaming = true - -[[models]] -id = "lfm-2.5-1.2b-thinking:free" -display_name = "LiquidAI: LFM2.5-1.2B-Thinking (free)" -tier = "fast" -context_window = 32768 -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" -display_name = "LiquidAI: LFM2-8B-A1B" -tier = "fast" -context_window = 32768 -max_output_tokens = 8192 -input_cost_per_m = 0.01 -output_cost_per_m = 0.02 -supports_streaming = true diff --git a/providers/meta-llama.toml b/providers/meta-llama.toml index 4f1a9c1..2eb0d96 100644 --- a/providers/meta-llama.toml +++ b/providers/meta-llama.toml @@ -1,4 +1,5 @@ -# meta-llama — auto-generated from OpenRouter API +# meta-llama — https://llama.com +# Models: 5 [provider] id = "meta-llama" @@ -7,106 +8,6 @@ api_key_env = "LLAMA_API_KEY" base_url = "https://api.llama.com/v1" key_required = true -[[models]] -id = "llama-3-70b-instruct" -display_name = "Meta: Llama 3 70B Instruct" -tier = "smart" -context_window = 8192 -max_output_tokens = 8000 -input_cost_per_m = 0.51 -output_cost_per_m = 0.74 -supports_streaming = true - -[[models]] -id = "llama-3-8b-instruct" -display_name = "Meta: Llama 3 8B Instruct" -tier = "fast" -context_window = 8192 -max_output_tokens = 16384 -input_cost_per_m = 0.03 -output_cost_per_m = 0.04 -supports_streaming = true - -[[models]] -id = "llama-3.1-70b-instruct" -display_name = "Meta: Llama 3.1 70B Instruct" -tier = "fast" -context_window = 131072 -max_output_tokens = 16384 -input_cost_per_m = 0.4 -output_cost_per_m = 0.4 -supports_streaming = true - -[[models]] -id = "llama-3.1-8b-instruct" -display_name = "Meta: Llama 3.1 8B Instruct" -tier = "fast" -context_window = 16384 -max_output_tokens = 16384 -input_cost_per_m = 0.02 -output_cost_per_m = 0.05 -supports_streaming = true - -[[models]] -id = "llama-3.2-11b-vision-instruct" -display_name = "Meta: Llama 3.2 11B Vision Instruct" -tier = "fast" -context_window = 131072 -max_output_tokens = 16384 -input_cost_per_m = 0.245 -output_cost_per_m = 0.245 -supports_streaming = true - -[[models]] -id = "llama-3.2-1b-instruct" -display_name = "Meta: Llama 3.2 1B Instruct" -tier = "fast" -context_window = 60000 -max_output_tokens = 15000 -input_cost_per_m = 0.027 -output_cost_per_m = 0.2 -supports_streaming = true - -[[models]] -id = "llama-3.2-3b-instruct" -display_name = "Meta: Llama 3.2 3B Instruct" -tier = "fast" -context_window = 80000 -max_output_tokens = 16384 -input_cost_per_m = 0.051 -output_cost_per_m = 0.34 -supports_streaming = true - -[[models]] -id = "llama-3.2-3b-instruct:free" -display_name = "Meta: Llama 3.2 3B Instruct (free)" -tier = "fast" -context_window = 131072 -max_output_tokens = 16384 -input_cost_per_m = 0.0 -output_cost_per_m = 0.0 -supports_streaming = true - -[[models]] -id = "llama-3.3-70b-instruct" -display_name = "Meta: Llama 3.3 70B Instruct" -tier = "fast" -context_window = 131072 -max_output_tokens = 16384 -input_cost_per_m = 0.1 -output_cost_per_m = 0.32 -supports_streaming = true - -[[models]] -id = "llama-3.3-70b-instruct:free" -display_name = "Meta: Llama 3.3 70B Instruct (free)" -tier = "fast" -context_window = 65536 -max_output_tokens = 16384 -input_cost_per_m = 0.0 -output_cost_per_m = 0.0 -supports_streaming = true - [[models]] id = "llama-4-maverick" display_name = "Meta: Llama 4 Maverick" @@ -128,8 +29,8 @@ output_cost_per_m = 0.3 supports_streaming = true [[models]] -id = "llama-guard-3-8b" -display_name = "Llama Guard 3 8B" +id = "llama-3.3-70b-instruct" +display_name = "Meta: Llama 3.3 70B Instruct" tier = "fast" context_window = 131072 max_output_tokens = 16384 diff --git a/providers/mistral.toml b/providers/mistral.toml index 2f3fcf9..204efbb 100644 --- a/providers/mistral.toml +++ b/providers/mistral.toml @@ -1,5 +1,5 @@ # Mistral AI — https://mistral.ai -# Models: 6 +# Models: 3 [provider] id = "mistral" @@ -21,19 +21,6 @@ supports_vision = false supports_streaming = true aliases = ["mistral"] -[[models]] -id = "mistral-medium-latest" -display_name = "Mistral Medium" -tier = "balanced" -context_window = 128000 -max_output_tokens = 8192 -input_cost_per_m = 2.70 -output_cost_per_m = 8.10 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = [] - [[models]] id = "mistral-small-latest" display_name = "Mistral Small" @@ -59,29 +46,3 @@ supports_tools = true supports_vision = false supports_streaming = true aliases = ["codestral"] - -[[models]] -id = "open-mistral-nemo" -display_name = "Mistral Nemo" -tier = "fast" -context_window = 128000 -max_output_tokens = 8192 -input_cost_per_m = 0.15 -output_cost_per_m = 0.15 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = ["mistral-nemo"] - -[[models]] -id = "pixtral-large-latest" -display_name = "Pixtral Large" -tier = "smart" -context_window = 128000 -max_output_tokens = 8192 -input_cost_per_m = 2.00 -output_cost_per_m = 6.00 -supports_tools = true -supports_vision = true -supports_streaming = true -aliases = ["pixtral"] diff --git a/providers/morph.toml b/providers/morph.toml deleted file mode 100644 index c8245df..0000000 --- a/providers/morph.toml +++ /dev/null @@ -1,28 +0,0 @@ -# morph — auto-generated from OpenRouter API - -[provider] -id = "morph" -display_name = "Morph" -api_key_env = "MORPH_API_KEY" -base_url = "https://api.morphllm.com/v1" -key_required = true - -[[models]] -id = "morph-v3-fast" -display_name = "Morph: Morph V3 Fast" -tier = "smart" -context_window = 81920 -max_output_tokens = 38000 -input_cost_per_m = 0.8 -output_cost_per_m = 1.2 -supports_streaming = true - -[[models]] -id = "morph-v3-large" -display_name = "Morph: Morph V3 Large" -tier = "smart" -context_window = 262144 -max_output_tokens = 131072 -input_cost_per_m = 0.9 -output_cost_per_m = 1.9 -supports_streaming = true diff --git a/providers/nex-agi.toml b/providers/nex-agi.toml deleted file mode 100644 index ed681c9..0000000 --- a/providers/nex-agi.toml +++ /dev/null @@ -1,18 +0,0 @@ -# nex-agi — auto-generated from OpenRouter API - -[provider] -id = "nex-agi" -display_name = "Nex Agi" -api_key_env = "OPENROUTER_API_KEY" -base_url = "https://openrouter.ai/api/v1" -key_required = true - -[[models]] -id = "deepseek-v3.1-nex-n1" -display_name = "Nex AGI: DeepSeek V3.1 Nex N1" -tier = "fast" -context_window = 131072 -max_output_tokens = 163840 -input_cost_per_m = 0.135 -output_cost_per_m = 0.5 -supports_streaming = true diff --git a/providers/nousresearch.toml b/providers/nousresearch.toml deleted file mode 100644 index aaab52c..0000000 --- a/providers/nousresearch.toml +++ /dev/null @@ -1,68 +0,0 @@ -# nousresearch — auto-generated from OpenRouter API - -[provider] -id = "nousresearch" -display_name = "Nousresearch" -api_key_env = "OPENROUTER_API_KEY" -base_url = "https://openrouter.ai/api/v1" -key_required = true - -[[models]] -id = "hermes-2-pro-llama-3-8b" -display_name = "NousResearch: Hermes 2 Pro - Llama-3 8B" -tier = "fast" -context_window = 8192 -max_output_tokens = 8192 -input_cost_per_m = 0.14 -output_cost_per_m = 0.14 -supports_streaming = true - -[[models]] -id = "hermes-3-llama-3.1-405b" -display_name = "Nous: Hermes 3 405B Instruct" -tier = "smart" -context_window = 131072 -max_output_tokens = 16384 -input_cost_per_m = 1.0 -output_cost_per_m = 1.0 -supports_streaming = true - -[[models]] -id = "hermes-3-llama-3.1-405b:free" -display_name = "Nous: Hermes 3 405B Instruct (free)" -tier = "fast" -context_window = 131072 -max_output_tokens = 16384 -input_cost_per_m = 0.0 -output_cost_per_m = 0.0 -supports_streaming = true - -[[models]] -id = "hermes-3-llama-3.1-70b" -display_name = "Nous: Hermes 3 70B Instruct" -tier = "fast" -context_window = 131072 -max_output_tokens = 16384 -input_cost_per_m = 0.3 -output_cost_per_m = 0.3 -supports_streaming = true - -[[models]] -id = "hermes-4-405b" -display_name = "Nous: Hermes 4 405B" -tier = "smart" -context_window = 131072 -max_output_tokens = 16384 -input_cost_per_m = 1.0 -output_cost_per_m = 3.0 -supports_streaming = true - -[[models]] -id = "hermes-4-70b" -display_name = "Nous: Hermes 4 70B" -tier = "fast" -context_window = 131072 -max_output_tokens = 16384 -input_cost_per_m = 0.13 -output_cost_per_m = 0.4 -supports_streaming = true diff --git a/providers/ollama.toml b/providers/ollama.toml index 70ae0ad..da887fb 100644 --- a/providers/ollama.toml +++ b/providers/ollama.toml @@ -1,5 +1,5 @@ # Ollama — https://ollama.com -# Models: 6 (static entries; additional models discovered dynamically at runtime) +# Current-generation models only. Additional models are discovered dynamically at runtime. [provider] id = "ollama" @@ -9,80 +9,96 @@ base_url = "http://localhost:11434/v1" key_required = false [[models]] -id = "llama3.2" -display_name = "Llama 3.2 (Ollama)" +id = "gemma4" +display_name = "Gemma 4" tier = "local" context_window = 128000 -max_output_tokens = 4096 +max_output_tokens = 8192 input_cost_per_m = 0.0 output_cost_per_m = 0.0 supports_tools = true -supports_vision = false +supports_vision = true supports_streaming = true -aliases = [] - -[[models]] -id = "llama3.1" -display_name = "Llama 3.1 (Ollama)" -tier = "local" -context_window = 128000 -max_output_tokens = 4096 -input_cost_per_m = 0.0 -output_cost_per_m = 0.0 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = [] - -[[models]] -id = "mistral:latest" -display_name = "Mistral (Ollama)" -tier = "local" -context_window = 32768 -max_output_tokens = 4096 -input_cost_per_m = 0.0 -output_cost_per_m = 0.0 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = [] - -[[models]] -id = "qwen2.5" -display_name = "Qwen 2.5 (Ollama)" -tier = "local" -context_window = 32768 -max_output_tokens = 4096 -input_cost_per_m = 0.2 -output_cost_per_m = 0.6 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = [] - -[[models]] -id = "phi3" -display_name = "Phi-3 (Ollama)" -tier = "local" -context_window = 128000 -max_output_tokens = 4096 -input_cost_per_m = 0.0 -output_cost_per_m = 0.0 -supports_tools = false -supports_vision = false -supports_streaming = true -aliases = [] +supports_thinking = true +aliases = ["gemma4:latest"] [[models]] id = "deepseek-r1:latest" -display_name = "DeepSeek R1 (Ollama)" +display_name = "DeepSeek R1" tier = "local" context_window = 64000 -max_output_tokens = 4096 +max_output_tokens = 8192 input_cost_per_m = 0.0 output_cost_per_m = 0.0 supports_tools = false supports_vision = false supports_streaming = true supports_thinking = true +aliases = ["deepseek-r1"] + +[[models]] +id = "qwen3" +display_name = "Qwen 3" +tier = "local" +context_window = 40960 +max_output_tokens = 8192 +input_cost_per_m = 0.0 +output_cost_per_m = 0.0 +supports_tools = true +supports_vision = false +supports_streaming = true +supports_thinking = true +aliases = ["qwen3:latest"] + +[[models]] +id = "qwq" +display_name = "QwQ" +tier = "local" +context_window = 40960 +max_output_tokens = 8192 +input_cost_per_m = 0.0 +output_cost_per_m = 0.0 +supports_tools = true +supports_vision = false +supports_streaming = true +supports_thinking = true +aliases = ["qwq:latest"] + +[[models]] +id = "llama4" +display_name = "Llama 4" +tier = "local" +context_window = 128000 +max_output_tokens = 8192 +input_cost_per_m = 0.0 +output_cost_per_m = 0.0 +supports_tools = true +supports_vision = true +supports_streaming = true +aliases = ["llama4:latest"] + +[[models]] +id = "mistral:latest" +display_name = "Mistral" +tier = "local" +context_window = 32768 +max_output_tokens = 4096 +input_cost_per_m = 0.0 +output_cost_per_m = 0.0 +supports_tools = true +supports_vision = false +supports_streaming = true aliases = [] + +[[models]] +id = "phi4" +display_name = "Phi-4" +tier = "local" +context_window = 16384 +max_output_tokens = 4096 +input_cost_per_m = 0.0 +output_cost_per_m = 0.0 +supports_tools = true +supports_vision = false +supports_streaming = true +aliases = ["phi4:latest"] diff --git a/providers/openai.toml b/providers/openai.toml index 45ad83a..dc95d3c 100644 --- a/providers/openai.toml +++ b/providers/openai.toml @@ -1,5 +1,5 @@ # OpenAI — https://openai.com -# Models: 18 (including 2 Codex variants) +# Models: 13 (including 2 Codex variants) [provider] id = "openai" @@ -9,32 +9,6 @@ base_url = "https://api.openai.com/v1" key_required = true media_capabilities = ["image_generation", "text_to_speech"] -[[models]] -id = "gpt-4o" -display_name = "GPT-4o" -tier = "smart" -context_window = 128000 -max_output_tokens = 16384 -input_cost_per_m = 2.50 -output_cost_per_m = 10.0 -supports_tools = true -supports_vision = true -supports_streaming = true -aliases = ["gpt4", "gpt4o"] - -[[models]] -id = "gpt-4o-mini" -display_name = "GPT-4o Mini" -tier = "fast" -context_window = 128000 -max_output_tokens = 16384 -input_cost_per_m = 0.15 -output_cost_per_m = 0.60 -supports_tools = true -supports_vision = true -supports_streaming = true -aliases = ["gpt4-mini"] - [[models]] id = "gpt-4.1" display_name = "GPT-4.1" @@ -88,20 +62,6 @@ supports_streaming = true supports_thinking = true aliases = [] -[[models]] -id = "o3-mini" -display_name = "o3-mini" -tier = "smart" -context_window = 200000 -max_output_tokens = 100000 -input_cost_per_m = 1.10 -output_cost_per_m = 4.40 -supports_tools = true -supports_vision = false -supports_streaming = true -supports_thinking = true -aliases = [] - [[models]] id = "o4-mini" display_name = "o4-mini" @@ -116,32 +76,6 @@ supports_streaming = true supports_thinking = true aliases = [] -[[models]] -id = "gpt-4-turbo" -display_name = "GPT-4 Turbo" -tier = "smart" -context_window = 128000 -max_output_tokens = 4096 -input_cost_per_m = 10.00 -output_cost_per_m = 30.00 -supports_tools = true -supports_vision = true -supports_streaming = true -aliases = [] - -[[models]] -id = "gpt-3.5-turbo" -display_name = "GPT-3.5 Turbo" -tier = "fast" -context_window = 16385 -max_output_tokens = 4096 -input_cost_per_m = 0.5 -output_cost_per_m = 1.5 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = [] - [[models]] id = "gpt-5" display_name = "GPT-5" diff --git a/providers/prime-intellect.toml b/providers/prime-intellect.toml deleted file mode 100644 index 0799d9e..0000000 --- a/providers/prime-intellect.toml +++ /dev/null @@ -1,18 +0,0 @@ -# prime-intellect — auto-generated from OpenRouter API - -[provider] -id = "prime-intellect" -display_name = "Prime Intellect" -api_key_env = "OPENROUTER_API_KEY" -base_url = "https://openrouter.ai/api/v1" -key_required = true - -[[models]] -id = "intellect-3" -display_name = "Prime Intellect: INTELLECT-3" -tier = "fast" -context_window = 131072 -max_output_tokens = 131072 -input_cost_per_m = 0.2 -output_cost_per_m = 1.1 -supports_streaming = true diff --git a/providers/qwen.toml b/providers/qwen.toml index 79ba436..daaf999 100644 --- a/providers/qwen.toml +++ b/providers/qwen.toml @@ -1,5 +1,5 @@ # Qwen / Alibaba — https://dashscope.aliyuncs.com -# Models: 11 +# Models: 9 # Regions: china (default), intl (Singapore), us (Virginia) [provider] @@ -41,19 +41,6 @@ supports_vision = false supports_streaming = true aliases = ["qwen"] -[[models]] -id = "qwen-turbo" -display_name = "Qwen Turbo" -tier = "fast" -context_window = 131072 -max_output_tokens = 8192 -input_cost_per_m = 0.0325 -output_cost_per_m = 0.13 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = [] - [[models]] id = "qwen-vl-plus" display_name = "Qwen VL Plus" @@ -61,15 +48,28 @@ tier = "smart" context_window = 32768 max_output_tokens = 8192 input_cost_per_m = 0.1365 -output_cost_per_m = 0.40950000000000003 +output_cost_per_m = 0.4095 supports_tools = false supports_vision = true supports_streaming = true aliases = [] [[models]] -id = "qwen-coder-plus" -display_name = "Qwen Coder Plus" +id = "qwen-vl-max" +display_name = "Qwen VL Max" +tier = "frontier" +context_window = 32768 +max_output_tokens = 8192 +input_cost_per_m = 0.52 +output_cost_per_m = 2.08 +supports_tools = false +supports_vision = true +supports_streaming = true +aliases = [] + +[[models]] +id = "qwen-coder-plus-latest" +display_name = "Qwen Coder Plus (Latest)" tier = "smart" context_window = 131072 max_output_tokens = 8192 @@ -78,7 +78,7 @@ output_cost_per_m = 2.00 supports_tools = true supports_vision = false supports_streaming = true -aliases = [] +aliases = ["qwen-coder"] [[models]] id = "qwen-long" @@ -121,45 +121,6 @@ supports_streaming = true supports_thinking = true aliases = [] -[[models]] -id = "qwen-coder-plus-latest" -display_name = "Qwen Coder Plus (Latest)" -tier = "smart" -context_window = 131072 -max_output_tokens = 8192 -input_cost_per_m = 0.80 -output_cost_per_m = 2.00 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = ["qwen-coder"] - -[[models]] -id = "qwen2.5-coder-32b-instruct" -display_name = "Qwen 2.5 Coder 32B" -tier = "balanced" -context_window = 131072 -max_output_tokens = 8192 -input_cost_per_m = 0.80 -output_cost_per_m = 2.00 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = [] - -[[models]] -id = "qwen-vl-max" -display_name = "Qwen VL Max" -tier = "frontier" -context_window = 32768 -max_output_tokens = 8192 -input_cost_per_m = 0.52 -output_cost_per_m = 2.08 -supports_tools = false -supports_vision = true -supports_streaming = true -aliases = [] - [[models]] id = "tongyi-deepresearch-30b-a3b" display_name = "Tongyi DeepResearch 30B A3B" diff --git a/providers/reka.toml b/providers/reka.toml deleted file mode 100644 index 47d369d..0000000 --- a/providers/reka.toml +++ /dev/null @@ -1,28 +0,0 @@ -# reka — auto-generated from OpenRouter API - -[provider] -id = "reka" -display_name = "Reka" -api_key_env = "REKA_API_KEY" -base_url = "https://api.reka.ai/v1" -key_required = true - -[[models]] -id = "reka-edge" -display_name = "Reka Edge" -tier = "fast" -context_window = 16384 -max_output_tokens = 16384 -input_cost_per_m = 0.1 -output_cost_per_m = 0.1 -supports_streaming = true - -[[models]] -id = "reka-flash-3" -display_name = "Reka: Flash 3" -tier = "fast" -context_window = 131072 -max_output_tokens = 32768 -input_cost_per_m = 0.1 -output_cost_per_m = 0.2 -supports_streaming = true diff --git a/providers/relace.toml b/providers/relace.toml deleted file mode 100644 index 7224915..0000000 --- a/providers/relace.toml +++ /dev/null @@ -1,28 +0,0 @@ -# relace — auto-generated from OpenRouter API - -[provider] -id = "relace" -display_name = "Relace" -api_key_env = "OPENROUTER_API_KEY" -base_url = "https://openrouter.ai/api/v1" -key_required = true - -[[models]] -id = "relace-apply-3" -display_name = "Relace: Relace Apply 3" -tier = "smart" -context_window = 256000 -max_output_tokens = 128000 -input_cost_per_m = 0.85 -output_cost_per_m = 1.25 -supports_streaming = true - -[[models]] -id = "relace-search" -display_name = "Relace: Relace Search" -tier = "smart" -context_window = 256000 -max_output_tokens = 128000 -input_cost_per_m = 1.0 -output_cost_per_m = 3.0 -supports_streaming = true diff --git a/providers/switchpoint.toml b/providers/switchpoint.toml deleted file mode 100644 index cda8660..0000000 --- a/providers/switchpoint.toml +++ /dev/null @@ -1,18 +0,0 @@ -# switchpoint — auto-generated from OpenRouter API - -[provider] -id = "switchpoint" -display_name = "Switchpoint" -api_key_env = "OPENROUTER_API_KEY" -base_url = "https://openrouter.ai/api/v1" -key_required = true - -[[models]] -id = "router" -display_name = "Switchpoint Router" -tier = "smart" -context_window = 131072 -max_output_tokens = 16384 -input_cost_per_m = 0.85 -output_cost_per_m = 3.4 -supports_streaming = true diff --git a/providers/tngtech.toml b/providers/tngtech.toml deleted file mode 100644 index a771214..0000000 --- a/providers/tngtech.toml +++ /dev/null @@ -1,19 +0,0 @@ -# tngtech — auto-generated from OpenRouter API - -[provider] -id = "tngtech" -display_name = "Tngtech" -api_key_env = "OPENROUTER_API_KEY" -base_url = "https://openrouter.ai/api/v1" -key_required = true - -[[models]] -id = "deepseek-r1t2-chimera" -display_name = "TNG: DeepSeek R1T2 Chimera" -tier = "fast" -context_window = 163840 -max_output_tokens = 163840 -input_cost_per_m = 0.3 -output_cost_per_m = 1.1 -supports_streaming = true -supports_thinking = true diff --git a/providers/upstage.toml b/providers/upstage.toml deleted file mode 100644 index 6c31405..0000000 --- a/providers/upstage.toml +++ /dev/null @@ -1,18 +0,0 @@ -# upstage — auto-generated from OpenRouter API - -[provider] -id = "upstage" -display_name = "Upstage" -api_key_env = "UPSTAGE_API_KEY" -base_url = "https://api.upstage.ai/v1" -key_required = true - -[[models]] -id = "solar-pro-3" -display_name = "Upstage: Solar Pro 3" -tier = "fast" -context_window = 128000 -max_output_tokens = 16384 -input_cost_per_m = 0.15 -output_cost_per_m = 0.6 -supports_streaming = true diff --git a/providers/writer.toml b/providers/writer.toml deleted file mode 100644 index 9c6d8ad..0000000 --- a/providers/writer.toml +++ /dev/null @@ -1,61 +0,0 @@ -# Writer — https://writer.com -# Models: 4 - -[provider] -id = "writer" -display_name = "Writer" -api_key_env = "WRITER_API_KEY" -base_url = "https://api.writer.com/v1" -key_required = true - -[[models]] -id = "palmyra-x5" -display_name = "Palmyra X5" -tier = "frontier" -context_window = 1048576 -max_output_tokens = 8192 -input_cost_per_m = 0.60 -output_cost_per_m = 6.00 -supports_tools = true -supports_vision = true -supports_streaming = true -aliases = ["palmyra-x5", "writer-x5"] - -[[models]] -id = "palmyra-x4" -display_name = "Palmyra X4" -tier = "smart" -context_window = 131072 -max_output_tokens = 4096 -input_cost_per_m = 2.50 -output_cost_per_m = 10.00 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = ["palmyra-x4", "writer-x4"] - -[[models]] -id = "palmyra-med" -display_name = "Palmyra Med" -tier = "smart" -context_window = 32768 -max_output_tokens = 4096 -input_cost_per_m = 5.00 -output_cost_per_m = 12.00 -supports_tools = false -supports_vision = false -supports_streaming = true -aliases = ["palmyra-med", "writer-med"] - -[[models]] -id = "palmyra-fin" -display_name = "Palmyra Fin" -tier = "smart" -context_window = 131072 -max_output_tokens = 4096 -input_cost_per_m = 5.00 -output_cost_per_m = 12.00 -supports_tools = false -supports_vision = false -supports_streaming = true -aliases = ["palmyra-fin", "writer-fin"] diff --git a/providers/xai.toml b/providers/xai.toml index 993ea87..4ace5ce 100644 --- a/providers/xai.toml +++ b/providers/xai.toml @@ -1,5 +1,5 @@ # xAI — https://x.ai -# Models: 9 +# Models: 7 [provider] id = "xai" @@ -100,29 +100,3 @@ supports_tools = true supports_vision = false supports_streaming = true aliases = [] - -[[models]] -id = "grok-2" -display_name = "Grok 2" -tier = "smart" -context_window = 131072 -max_output_tokens = 32768 -input_cost_per_m = 2.0 -output_cost_per_m = 10.0 -supports_tools = true -supports_vision = true -supports_streaming = true -aliases = [] - -[[models]] -id = "grok-2-mini" -display_name = "Grok 2 Mini" -tier = "fast" -context_window = 131072 -max_output_tokens = 32768 -input_cost_per_m = 0.30 -output_cost_per_m = 0.50 -supports_tools = true -supports_vision = false -supports_streaming = true -aliases = ["grok-mini"]