feat(external-llm): standardize tiers and optimize model selection

- Rename tiers: opus/sonnet/haiku → frontier/mid-tier/lightweight
- Align with industry benchmarks (MMLU, GPQA, Chatbot Arena)
- Add /external command for LLM mode control
- Fix invoke.py timeout passthrough (now 600s default)

Tier changes:
- Promote gemini-2.5-pro to frontier (benchmark-validated)
- Demote glm-4.7 to mid-tier then removed (unreliable)
- Promote gemini-2.5-flash to mid-tier

New models added:
- gpt-5-mini, gpt-5-nano (GPT family coverage)
- grok-code (Grok/X family)
- glm-4.5-air (lightweight GLM)

Removed (redundant/unreliable):
- o3 (not available)
- glm-4.7 (timeouts)
- gpt-4o, big-pickle, glm-4.5-flash (redundant)

Final: 11 models across 3 tiers, 4 model families

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
OpenCode Test
2026-01-12 03:30:51 -08:00
parent ff111ef278
commit f63172c4cf
7 changed files with 325 additions and 37 deletions

View File

@@ -119,72 +119,79 @@
"cli": "opencode",
"cli_args": ["-m", "github-copilot/gpt-5.2"],
"use_cases": ["reasoning", "fallback"],
"tier": "opus-equivalent"
"tier": "frontier"
},
"github-copilot/claude-sonnet-4.5": {
"cli": "opencode",
"cli_args": ["-m", "github-copilot/claude-sonnet-4.5"],
"use_cases": ["general", "fallback"],
"tier": "sonnet-equivalent"
"tier": "mid-tier"
},
"github-copilot/claude-haiku-4.5": {
"cli": "opencode",
"cli_args": ["-m", "github-copilot/claude-haiku-4.5"],
"use_cases": ["simple"],
"tier": "haiku-equivalent"
},
"zai-coding-plan/glm-4.7": {
"cli": "opencode",
"cli_args": ["-m", "zai-coding-plan/glm-4.7"],
"use_cases": ["code-generation"],
"tier": "opus-equivalent"
"tier": "lightweight"
},
"github-copilot/gemini-3-pro-preview": {
"cli": "opencode",
"cli_args": ["-m", "github-copilot/gemini-3-pro-preview"],
"use_cases": ["long-context", "reasoning"],
"tier": "opus-equivalent"
"tier": "frontier"
},
"github-copilot/gemini-3-flash-preview": {
"cli": "opencode",
"cli_args": ["-m", "github-copilot/gemini-3-flash-preview"],
"use_cases": ["fast", "general"],
"tier": "sonnet-equivalent"
},
"github-copilot/o3": {
"cli": "opencode",
"cli_args": ["-m", "github-copilot/o3"],
"use_cases": ["complex-reasoning"],
"tier": "sonnet-equivalent"
},
"opencode/big-pickle": {
"cli": "opencode",
"cli_args": ["-m", "opencode/big-pickle"],
"use_cases": ["general"],
"tier": "sonnet-equivalent"
"tier": "mid-tier"
},
"gemini/gemini-2.5-pro": {
"cli": "gemini",
"cli_args": ["-m", "gemini-2.5-pro"],
"use_cases": ["long-context", "reasoning"],
"tier": "sonnet-equivalent"
"tier": "frontier"
},
"gemini/gemini-2.5-flash": {
"cli": "gemini",
"cli_args": ["-m", "gemini-2.5-flash"],
"use_cases": ["fast", "general"],
"tier": "haiku-equivalent"
"tier": "mid-tier"
},
"github-copilot/gpt-5-mini": {
"cli": "opencode",
"cli_args": ["-m", "github-copilot/gpt-5-mini"],
"use_cases": ["fast", "general"],
"tier": "mid-tier"
},
"opencode/gpt-5-nano": {
"cli": "opencode",
"cli_args": ["-m", "opencode/gpt-5-nano"],
"use_cases": ["fast", "simple"],
"tier": "lightweight"
},
"zai-coding-plan/glm-4.5-air": {
"cli": "opencode",
"cli_args": ["-m", "zai-coding-plan/glm-4.5-air"],
"use_cases": ["simple", "fast"],
"tier": "lightweight"
},
"opencode/grok-code": {
"cli": "opencode",
"cli_args": ["-m", "opencode/grok-code"],
"use_cases": ["code-generation", "general"],
"tier": "mid-tier"
}
},
"claude_to_external_map": {
"opus": "github-copilot/gpt-5.2",
"sonnet": "github-copilot/claude-sonnet-4.5",
"haiku": "github-copilot/claude-haiku-4.5"
"tier_to_external_map": {
"frontier": "github-copilot/gpt-5.2",
"mid-tier": "github-copilot/gpt-5-mini",
"lightweight": "opencode/gpt-5-nano"
},
"task_routing": {
"reasoning": "github-copilot/gpt-5.2",
"code-generation": "zai-coding-plan/glm-4.7",
"code-generation": "github-copilot/gemini-3-pro-preview",
"long-context": "gemini/gemini-2.5-pro",
"fast": "github-copilot/gemini-3-flash-preview",
"default": "github-copilot/claude-sonnet-4.5"
}
}