Add OpenCode Go model evals site, model guide and Cloudflare Pages deploy
Deploy to Cloudflare Pages / deploy (push) Failing after 23s

- Task matrix (12 task families x 23 Go models) from Artificial Analysis evals
- Price/value scatter and value ranking
- Model guide: what each model is targeted for (agentic, coding, data analysis,
  image understanding, research, free tier) with pricing and caveats
- MODELS.md markdown version, README, MIT license
- wrangler.toml + Gitea Actions workflow deploying site/ to Cloudflare Pages
This commit is contained in:
2026-10-21 15:09:39 +00:00
parent f834f3dd60
commit 9943adab09
12 changed files with 1480 additions and 1 deletions
+33
View File
@@ -0,0 +1,33 @@
name: Deploy to Cloudflare Pages
on:
push:
branches: [main]
workflow_dispatch:
permissions:
contents: read
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Install Wrangler
run: npm install --no-save wrangler@^4
- name: Stage markdown copy
run: cp MODELS.md site/MODELS.md
- name: Deploy to Cloudflare Pages
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
run: npx wrangler pages deploy site --project-name opencodogoevals --branch main --commit-hash ${{ gitea.sha }}
+5
View File
@@ -0,0 +1,5 @@
node_modules/
.wrangler/
.dev.vars
.DS_Store
*.log
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2026 James Wallace
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+495
View File
@@ -0,0 +1,495 @@
# OpenCode Go — what each model is for
Short, practical notes on the 23 models in the OpenCode Go catalog: what each one is targeted for (agentic work, coding, data analysis, image understanding, deep research, high-volume chores), what it costs, and what to watch out for.
Evaluated scores come from Artificial Analysis (single consistent harness) plus vendor model cards, retrieved 2026-10-21. The interactive version with the full task matrix lives at `site/index.html`.
> No model in the Go catalog generates images. Every Go model is text-output; several accept image, video, PDF or audio as **input**.
## Quick picks
| If you need… | Use |
|---|---|
| The strongest model overall, for hard agentic + coding work | Gemini 4 Argon Contributor |
| The best value per token for everyday coding agents | DeepSeek V4.1 Flash |
| Zero-cost exploration (limited time) | MiniMax M3.1 Flash Free, Beam Free, LongCat 2.5 Preview Free |
| Long-horizon agent runs with multimodal input | Muse Spark 1.3 Contributor, MiMo-V2.6-Pro |
| Repo-scale code changes | Kimi K2.7 Code, GLM-5.3, Qwen3.8 Max |
| Spreadsheets / data analysis deliverables | Kimi K3 (SpreadsheetBench 34.8), Qwen3.8 Max (GDPval 58.2) |
| Reading screenshots, charts and documents | Qwen3.8 Flash, GLM-5.3-Flash, MiniMax M3 |
| High-volume, latency-sensitive work | Claude Haiku 5.5, GPT-6 Luna, MiMo-V2.5 |
## The catalog
### MiniMax M3.1 Flash Free
**MiniMax** · released 2026-10-19 · $0 in / $0 out per 1M tokens · **free tier (limited time)** · 1M context
I/O: text, image, video in → text out
Targeted for: **Coding, Multimodal, Agentic, Free tier**
Frontier multimodal coding model with a 1M-token context window and tunable thinking depth. The newest model to land in Go (released 19 Oct 2026) and the fastest-growing free option in the catalog.
Day-to-day coding-agent work on real repositories: reading long codebases, editing files, running tools. Image and video input make it usable for UI/screenshot-driven work (reading a rendered page, describing an asset). Because thinking depth is tunable, it can be dialed down for cheap, high-volume turns and up for hard problems.
*Evaluated:* Intelligence Index 42.7 · FrontierCode 38.6 · TB4.0 25.8 · AutomationBench 72.5 · HLE 48.0
**Caveats**
- Free for a limited time, then billed like the rest of the catalog.
- Text output only — it analyses images/video but does not generate them.
### Beam Free
**Reflection AI** · released 2026-10-05 · $0 in / $0 out per 1M tokens · **free tier (limited time)** · 1M context
I/O: text only
Targeted for: **Coding, Reasoning, Long-horizon agents, Free tier**
Reflection's first open-weight model: a 501B-parameter sparse Mixture-of-Experts with 23B active per token, built for coding, reasoning and long-horizon agentic workloads.
Cost-efficient coding and agent loops. The MoE design activates only 23B parameters per token, so it is a cheap way to run a lot of terminal work, tool calls and multi-step reasoning. Text-only, so it is a pure code/reasoning worker rather than a perception model.
*Evaluated:* Intelligence Index 30.3 · SciCode 48.5 · TB4.0 3.0 · AutomationBench 48.5 · HLE 34.7
**Caveats**
- Free for a limited time and unavailable in a long list of countries (see the OpenCode Go docs for the exclusion list).
- Weights are slated for an Apache 2.0 release, with the technical report and model card following.
### LongCat 2.5 Preview Free
**Meituan** · released 2026-09-25 · $0 in / $0 out per 1M tokens · **free tier (limited time)** · 1M context
I/O: text, image in → text out
Targeted for: **Coding, Agentic, Image understanding, Free tier**
Meituan's multimodal reasoning model for coding and agent tasks, with image understanding and a 1M-token context window.
Agents that have to read a picture to act: UI automation, screenshot-to-code, chart and document understanding, then long runs of tool use against a 1M-token window. Pairs well with a free-tier workflow — long exploratory sessions without burning a paid model's allowance.
*Evaluated:* no public third-party evaluation published yet.
**Caveats**
- Free for a limited time.
- Preview release: scores and behaviour may shift.
- Text output only — no image generation.
### Gemini 4 Argon Contributor
**Google** · released 2026-10-13 · $4 in / $20 out per 1M tokens · 1M context
I/O: text, image, video, audio, PDF in → text out
Targeted for: **Frontier coding, Deep research, Legal & financial work, Security, Multimodal**
Google's flagship reasoning model for complex software engineering, deep math and science, and long-horizon autonomous agents. The highest overall score in the Go catalog.
Hardest frontier work: large codebase refactors and optimisation (Google used it to optimise a 200,000-line Python codebase overnight), financial research, legal drafting, deep math/science, and autonomous security work such as vulnerability patching. It is also the model to reach for when a task needs to stay coherent across a very long autonomous run — the 1M window and long max-output budgets are the point, not the per-token price.
*Evaluated:* Intelligence Index 52.6 · FrontierCode 43.5 · SciCode 61.8 · TB4.0 57.1 · AutomationBench 77.5 · HLE 57.1
**Caveats**
- Contributor tier: your prompts and completions may be used to train future Google models. Not zero-data-retention.
- Most expensive model in Go at $4 / $20 per 1M tokens.
- Currently priced at a promotional 2× allowance for a limited time.
### Grok 4.7
**xAI** · released 2026-09-21 · $2 in / $6 out per 1M tokens · 500K context
I/O: text, image, PDF in → text out
Targeted for: **Long-running agents, Coding, Knowledge work, Visual projects**
xAI's frontier model for long-running agents, coding, knowledge work, and visual projects.
Sustained agent sessions that mix code and document/visual inputs — research that ends in a written deliverable, codebase work with images in the loop, or an analysis that has to survive a long run without losing the thread. Priced at the top of the open-model tier but with a 500K window that suits multi-file, multi-hour tasks.
*Evaluated:* Intelligence Index 46.4 · FrontierCode 33.8 · TB4.0 25.8 · AutomationBench 65.6 · GDPval 60.6
**Caveats**
- Premium price ($2 / $6) with a lower $15 monthly allowance in the Go plan.
- Price doubles above 200K tokens of context.
### GPT-6 Luna
**OpenAI** · released 2026-09-22 · $0.1 in / $0.5 out per 1M tokens · 1.05M context
I/O: text, image, PDF in → text out
Targeted for: **High-volume coding, Agents, Document work, Cheap**
OpenAI's most efficient model for focused, high-volume tasks, at the price of a small open model.
The default workhorse when you want GPT-class behaviour without GPT-class spend: everyday coding-agent turns, small refactors, summarising long documents (1.05M window), classifying and routing. In Go it is one of the best price/performance points, so it is a good default for background agents and a fallback when a heavier model is unnecessary.
*Evaluated:* Intelligence Index 38.1 · FrontierCode 41.9 · AutomationBench 53.2 · LCR 83.3 · MMMU-Pro 79.7
**Caveats**
- Price steps up above 272K tokens of context.
- Not a reasoning-tier model — deep analysis work should go to a stronger model.
### Claude Haiku 5.5
**Anthropic** · released 2026-10-07 · $0.1 in / $0.5 out per 1M tokens · 1M context
I/O: text, image, PDF in → text out
Targeted for: **Fast agents, Classification, Responsive UX, Cheap**
Fast Claude model for responsive assistance, classification, and lightweight agents.
Anything that has to answer fast and often: interactive completions, classification and extraction, lightweight sub-agents, and UI-style assistance where latency matters more than depth. Anthropic's tool-calling behaviour is the draw for lightweight agents.
*Evaluated:* Intelligence Index 43.4 · FrontierCode 41.8 · TB4.0 32.8 · Analyst Agent 53.8 · GDPval 55.9
**Caveats**
- Price steps up above 100K tokens of context (5×).
- Requests are retained for 30 days under Anthropic's data policy — not zero-data-retention.
### Muse Spark 1.3 Contributor
**Meta** · released 2026-09-02 · $0.1 in / $0.2 out per 1M tokens · 1M context
I/O: text, image, video, PDF, audio in → text out
Targeted for: **Long-horizon agents, Multi-agent workflows, Coding, Multimodal, Cheap**
Meta's multimodal reasoning model for long-running agentic, multi-agent and coding workflows, improved over 1.2 for long-horizon agent collaboration, instruction following and coding efficiency.
Multi-agent and long-horizon pipelines: several specialised agents handing work to each other over a 1M window, with the widest input surface in Go (image, video, PDF and audio all accepted). Cheap enough ($0.10 / $0.20) to keep several agents running at once — it is the pick when the architecture, not the single call, is doing the work.
*Evaluated:* Intelligence Index 48.1 · TB2.1 84.3 · AutomationBench 57.9 · GPQA 93.5 · GDPval 59.0
**Caveats**
- Contributor tier: your prompts and completions may be used to train future Meta models, and availability is limited to regions permitted by Meta's Geographic Use Policy.
- Text output only.
### Step 5 Preview
**StepFun** · released 2026-09-16 · $1 in / $2.7 out per 1M tokens · 1M context
I/O: text, image, video in → text out
Targeted for: **Coding, Professional knowledge work, Multimodal, Open weights**
StepFun's next-generation flagship base model for coding and professional knowledge work, with native text, image and video input and a 1M-token context window.
Coding plus deliverables: a base model strong enough to write production code and also produce the spreadsheets, reports and documents that surround it. Native image and video input support it works from screenshots and clips directly.
*Evaluated:* Intelligence Index 43.7 · FrontierCode 38.4 · TB4.0 33.3 · AutomationBench 51.0 · LCR 88.3
**Caveats**
- Preview release — expect the numbers to move.
- Currently priced with a promotional 4× allowance for a limited time.
### DeepSeek V4.1 Flash
**DeepSeek** · released 2026-09-10 · $0.15 in / $0.6 out per 1M tokens · 1M context
I/O: text, image in → text out
Targeted for: **Agentic coding, Reasoning, Cheap, High volume**
DeepSeek's V4.1 Flash: built for reasoning and agentic coding, and the single most-used model in OpenCode by token volume.
The default engine for long coding-agent runs. DeepSeek's own card lists Terminal-Bench, DeepSWE, CyberGym and AutomationBench scores, i.e. it is tuned for terminal work, repo-level fixes and security tasks rather than chat. With cache reads at ~0.3¢/1M it is also the cheapest way to move large volumes of agent traffic.
*Evaluated:* Intelligence Index 39.5 · FrontierCode 44.0 · AutomationBench 68.9 · TB4.0 26.8 · LCR 84.0
**Caveats**
- Text output only.
- Price doubles during DeepSeek's peak hours (01:00–04:00 and 06:00–10:00 UTC, Mon–Fri).
### DeepSeek V4 Pro
**DeepSeek** · released 2026-04-24 · $0.66 in / $1.98 out per 1M tokens · 1M context
I/O: text only
Targeted for: **Long agent runs, Coding, Math & science, Open weights**
Open MiE flagship with million-token context for coding and long agent runs.
The heavier DeepSeek: multi-hour agent sessions and research runs that need a large window, plus the maths and science scores (IMOAnswerBench, HMMT, LiveCodeBench) for technical work. Text-only, so it is a reasoning/code model rather than a perception model.
*Evaluated:* Intelligence Index 36 · FrontierCode 38.8 · TB2.1 78.7 · GPQA 92.8 · AutomationBench 56.7
**Caveats**
- Text input only.
- Price doubles during DeepSeek's peak hours.
### Hy4 preview
**Tencent** · released 2026-08-28 · $0.834 in / $2.501 out per 1M tokens · 1M context
I/O: text only
Targeted for: **Agentic workflows, Productivity, Complex task execution, Open weights**
A next-generation productivity model with significantly enhanced agent and complex task execution capabilities.
Productivity and workflow automation: multi-step office/enterprise tasks, tool orchestration and long-running assistants. Tencent positions it around agentic capability and complex task execution rather than raw chat quality, with a 1M window for large corpora.
*Evaluated:* no public third-party evaluation published yet.
**Caveats**
- Preview release with no third-party evaluations published yet, so performance is unverified outside the vendor's own numbers.
- Text input only.
### GLM-5.3
**Zhipu** · released 2026-08-14 · $1.4 in / $4.4 out per 1M tokens · 1M context
I/O: text only
Targeted for: **Long-horizon coding, Agents, Project delivery, Cyber/security**
Flagship GLM model for long-horizon coding, agents, and complex project delivery.
Owning a project rather than a ticket: sustained multi-file work, terminal and repo tasks, and the security-agent track (CyberGym, ExploitGym, ExploitBench) where GLM scores are among the strongest in Go. Text-only, and one of the pricier models, so it is aimed at the tasks that genuinely need a flagship.
*Evaluated:* Intelligence Index 44.8 · FrontierCode 40.1 · TB2.1 83.9 · AutomationBench 62.2 · GPQA 91.7
**Caveats**
- Text input only.
- Expensive per token ($1.40 / $4.40) with a $15 monthly allowance in the Go plan.
### GLM-5.3-Flash
**Zhipu** · released 2026-08-26 · $0.15 in / $0.5 out per 1M tokens · 1M context
I/O: text, image, video, PDF in → text out
Targeted for: **Efficient coding, Long-horizon agents, Multimodal, Cheap**
Native multimodal GLM model for efficient coding and long-horizon agent tasks.
The cheap twin of the flagship: same family behaviour, multimodal input, and one of the better Terminal-Bench scores in Go per dollar. It is the sensible pick for long agent loops that need to see images, documents or video but do not need frontier depth.
*Evaluated:* Intelligence Index 41.8 · FrontierCode 41.0 · TB2.1 84.3 · AutomationBench 60.4 · GPQA 91.2
**Caveats**
- Text output only.
- Loses a little strength on the hardest reasoning tasks compared with GLM-5.3.
### Qwen3.8 Max
**Alibaba** · released 2026-08-03 · $2 in / $6 out per 1M tokens · 1M context
I/O: text, image, video, PDF in → text out
Targeted for: **Coding, Professional work, Multimodal, Long-horizon agents**
A 2.4-trillion-parameter MoE flagship for coding, professional work, multimodal understanding, and long-horizon agentic workflows.
Broad, heavy-duty work where a single model has to cover the whole job: writing code, producing professional deliverables (the GDPval/JobBench scores are strong), and reasoning over images, video and PDFs in the same session. Also the strongest general agent in Go on the terminal and tool-use benchmarks.
*Evaluated:* Intelligence Index 45.4 · FrontierCode 43.2 · TB2.1 88.8 · GPQA 92.8 · MMMU-Pro 82.8
**Caveats**
- Priced at $2 / $6 with a $15 monthly allowance.
- Cache writes are charged ($2.50 / 1M), so long sessions with big prompt churn cost more than the headline rate.
### Qwen3.8 Flash
**Alibaba** · released 2026-08-26 · $0.15 in / $0.47 out per 1M tokens · 1M context
I/O: text, image, video in → text out
Targeted for: **Visual reasoning, Documents, Agent tasks, Cheap**
Qwen vision-language model for visual reasoning, documents, and agent tasks.
Perception-heavy work at a low price: reading screenshots and diagrams, extracting from documents, and driving agents that need to see what is on screen. It pairs a 1M window with sub-20¢ input pricing, which makes it a good bulk worker for visual pipelines.
*Evaluated:* Intelligence Index 39.8 · TB2.1 86.1 · GPQA 92.3 · MMMU-Pro 79.8 · GDPval 56.4
**Caveats**
- Text output only — no image generation.
- Evaluated publicly as 'Qwen3.8-Flash-Next' in third-party benchmark tables.
### Qwen3.7 Plus
**Alibaba** · released 2026-06-02 · $0.4 in / $1.6 out per 1M tokens · 1M context
I/O: text, image, video in → text out
Targeted for: **Long-context agents, Visual inputs, Coding, Multimodal**
Multimodal Qwen workhorse for long-context agents, visual inputs, and coding.
A steady middle tier: long-context agent sessions, image/video understanding and ordinary coding, without the flagship price. Instruction-following scores are its standout metric, which matters for agents driven by precise specs.
*Evaluated:* Intelligence Index 25.2 · TB2.1 61.0 · GPQA 90.0 · IFBench 78.0 · τ²-bench 93.0
**Caveats**
- Text output only.
- Public evaluations are thinner than for the Qwen3.8 line, so treat third-party comparisons with care.
### Kimi K3
**Moonshot** · released 2026-07-16 · $3 in / $15 out per 1M tokens · 1M context
I/O: text, image, video in → text out
Targeted for: **Long-horizon agents, Coding, Web research, Spreadsheets, Open weights**
Multimodal Kimi model with a 1M context and toggleable max-effort thinking for long-horizon agent work.
The Kimi tier built for endurance: long-horizon agent runs, web research (BrowseComp), coding (FrontierSWE, DeepSWE, Terminal-Bench), and office deliverables — it scores well on SpreadsheetBench, which makes it the pick for data-analysis and spreadsheet work in Go. Thinking effort can be turned up for hard problems or down for speed.
*Evaluated:* Intelligence Index 43.6 · FrontierCode 43.6 · TB2.1 85.0 · GPQA 93.5 · BrowseComp 91.2
**Caveats**
- Most expensive model in Go at $3 / $15 per 1M tokens.
- Terminal-Bench 4.0 is much weaker than its Terminal-Bench 2.1 result — hard-shell tasks still cost it a lot.
- Text output only.
### Kimi K2.7 Code
**Moonshot** · released 2026-06-12 · $0.95 in / $4 out per 1M tokens · 256K context
I/O: text, image, video in → text out
Targeted for: **Repo-scale coding, Long-horizon repo work, Tool use**
Coding-focused Kimi model, stronger on long-horizon repo work with less overthinking.
Purpose-built for code: sustained repository work, refactors and multi-file changes where a general model wastes tokens deliberating. The tool-use (τ-bench) score is very high, so it is also good at driving MCP servers and CLI tools. Use it when the deliverable is a diff, not an essay.
*Evaluated:* Intelligence Index 25.8 · TB2.1 67.4 · τ²-bench 90.1 · GPQA 89.6
**Caveats**
- 256K context — roughly a quarter of the 1M models.
- Narrower general-purpose ability than the flagship Kimi.
### MiMo-V2.6-Pro
**Xiaomi** · released 2026-09-22 · $0.435 in / $0.87 out per 1M tokens · 1M context
I/O: text, image, audio, video in → text out
Targeted for: **Coding agents, Multimodal, Automation, Long context**
Stronger MiMo Pro tier for multimodal reasoning and coding-agent execution.
Coding agents that also have to look at things: screenshots, video, audio alongside code. Xiaomi's own card highlights strong AutomationBench and terminal scores, so it is aimed at long mechanical agent loops as much as at authoring code.
*Evaluated:* Intelligence Index 46.3 · FrontierCode 45.4 · TB4.0 34.8 · AutomationBench 58.6 · LCR 86.3
**Caveats**
- Text output only.
- The Free tier of this family (MiMo-V2.6-Flash) sits outside the Go plan — check the default provider list.
### MiMo-V2.5-Pro
**Xiaomi** · released 2026-04-22 · $0.435 in / $0.87 out per 1M tokens · 1M context
I/O: text, image, audio, video in → text out
Targeted for: **Multimodal coding agents, Long-context automation**
Previous-generation MiMo Pro tier for multimodal reasoning and coding-agent execution.
Now the value option in the MiMo line — same interface as 2.6 Pro with materially weaker agentic and cyber benchmarks. Reasonable when you need multimodal input cheaply and the task is not frontier-hard.
*Evaluated:* Intelligence Index 26 · TB2.1 65.2 · τ²-bench 94.2 · GPQA 86.6
**Caveats**
- Superseded by MiMo-V2.6-Pro; scores are materially lower on agentic and security tasks.
- Text output only.
### MiMo-V2.5
**Xiaomi** · released 2026-04-22 · $0.14 in / $0.28 out per 1M tokens · 1M context
I/O: text, image, audio, video in → text out
Targeted for: **Budget multimodal agents, Long context**
Open MiMo model for multimodal coding agents and long-context automation.
The cheapest way to get multimodal, long-context agent behaviour in Go: 14¢/28¢ per 1M. Best suited to bulk automation — many small steps over a large context — rather than to hard single-shot questions.
*Evaluated:* Intelligence Index 21.8 · TB2.1 63.7 · τ²-bench 90.6 · GPQA 84.9
**Caveats**
- Lowest tier of the MiMo line; weak on the hardest agentic benchmarks.
- Text output only.
### MiniMax M3
**MiniMax** · released 2026-06-01 · $0.3 in / $1.2 out per 1M tokens · 1M context
I/O: text, image, video in → text out
Targeted for: **Long-context coding, Perception, Agent planning, SWE tasks**
MiniMax multimodal model for long-context coding, perception, and agent planning.
Repo-scale SWE work with perception in the loop: MiniMax reports one of the strongest SWE-Bench Verified results in Go, plus good browser and desktop-computer scores (BrowseComp, MCP Atlas, OSWorld). Use it when the agent has to look at a screen and then change code.
*Evaluated:* Intelligence Index 29.2 · SWE-Bench Verified 80.5 · Terminal-Bench 66.0 · BrowseComp 83.5 · OSWorld 70.1
**Caveats**
- Text output only.
- Weaker than MiniMax M3.1 Flash on frontier reasoning and long-horizon tasks.
## Free models outside the Go plan
### MiMo-V2.6-Flash Free (Xiaomi)
*Where:* Default OpenCode provider (not in the Go plan)
Multimodal coding agents and long-context automation at no token cost — the free counterpart to MiMo-V2.6-Pro. Text, image, audio and video in; text out.
_Unlimited-style free tier; use it for exploration and bulk mechanical work._
### Nemotron 3.5 Lightning Free (NVIDIA)
*Where:* Default OpenCode provider
Fast, reliable agentic tasks across enterprise workloads — an MoE tuned for dependable tool use rather than flash reasoning, at 256K context.
_Text only; good fit for internal automation and routing._
### Big Pickle (Unclear / community)
*Where:* Default OpenCode provider
An inexpensive general-purpose slot with no vendor model card published. Treat as an experiment, not as a recommended production model.
_No published benchmark card — verify behaviour before depending on it._
## Sources
- [OpenCode Go docs](https://opencode.ai/docs/go) — pricing, allowances, privacy and retention per model
- [OpenCode Data](https://opencode.ai/data) — catalog metadata, context windows, usage
- [Artificial Analysis](https://artificialanalysis.ai) — benchmark scores and Intelligence Index
- Vendor announcements: Google (Gemini 4 Argon), Reflection AI (Beam), Meituan (LongCat), MiniMax (M3.1 Flash), xAI (Grok 4.7), StepFun (Step 5)
+92 -1
View File
@@ -1,3 +1,94 @@
# OpenCodeGoEvals
OpenCode Go model evaluation charts (task matrix, cost/value) and per-model capability descriptions.
Benchmarks and plain-language notes for every model in the **OpenCode Go** catalog:
a task-by-task performance matrix, cost/value analysis, and a description of what each
model is actually targeted for (agentic work, coding, data analysis, image understanding,
deep research, high-volume chores).
Static site, no build step — it is plain HTML/CSS/ES modules, deployed to **Cloudflare Pages**.
## What's here
| Path | What it is |
|---|---|
| `site/index.html` | The site: performance matrix, price/value charts, model guide |
| `site/assets/data.js` | Model catalogue — pricing, context, modality, target descriptions, caveats |
| `site/assets/evals.js` | Benchmark scores (0–100) per model per task family |
| `site/assets/app.js` | Rendering logic for the matrix, charts and guide |
| `site/assets/style.css` | Styling |
| `MODELS.md` | The same model descriptions in Markdown |
| `wrangler.toml` | Cloudflare Pages project configuration |
| `.gitea/workflows/pages.yml` | CI: builds and deploys to Cloudflare Pages on every push to `main` |
## Data sources
- [OpenCode Go docs](https://opencode.ai/docs/go) — pricing, monthly allowances, privacy/retention, client support
- [OpenCode Data](https://opencode.ai/data) — catalog metadata, context windows, usage and retention stats
- [Artificial Analysis](https://artificialanalysis.ai) — benchmark scores and the Intelligence Index
- Vendor announcements — Google (Gemini 4 Argon), Reflection AI (Beam), Meituan (LongCat),
MiniMax (M3.1 Flash), xAI (Grok 4.7), StepFun (Step 5), Qwen, Zhipu, Moonshot, DeepSeek, Xiaomi, Tencent
Data snapshot date: **2026-10-21**. Re-run the collection script to refresh.
## Publishing to Cloudflare Pages
### 1. Create the Pages project
```bash
npm install
npx wrangler login # or export CLOUDFLARE_API_TOKEN
npx wrangler pages project create opencodogoevals
```
### 2. Give CI the credentials
Add these as repository secrets (Gitea: *Settings → Actions → Secrets*):
| Secret | Value |
|---|---|
| `CLOUDFLARE_API_TOKEN` | Cloudflare API token with **Cloudflare Pages: Edit** (and Account Settings: Read) |
| `CLOUDFLARE_ACCOUNT_ID` | The Cloudflare account that owns the Pages project |
The workflow in `.gitea/workflows/pages.yml` then deploys `site/` on every push to `main`.
### 3. Deploy manually (optional)
```bash
npm run deploy # wrangler pages deploy site --project-name opencodogoevals
npm run dev # local preview on http://localhost:8788
```
### Custom domain
Set it in Cloudflare Pages → *Custom domains*, then add a CNAME record pointing at
`<project>.pages.dev`.
## Local development
The site is static — open `site/index.html` directly, or use `npm run dev` for a
Cloudflare-compatible local server.
## Updating the data
1. Benchmark scores come from each model's Artificial Analysis page
(`https://artificialanalysis.ai/models/<slug>`) — the embedded JSON payload in the page
contains the full evaluation set per model.
2. Catalog facts (pricing, context window, modalities, release date) come from
`https://opencode.ai/data/<lab>/<model>.json` and the Go docs.
3. Edit `site/assets/evals.js` and `site/assets/data.js`, then regenerate `MODELS.md`
from `data.js` and re-commit.
## Caveats
- Task-matrix cells use the best published evaluation per task family; when a model has
not been run on a benchmark the column falls back to another one, so the underlying
benchmark can differ between rows in a column. Hover a cell to see which one it is.
- Free-tier models (MiniMax M3.1 Flash Free, Beam Free, LongCat 2.5 Preview Free) are
limited-time offers.
- Contributor-tier models (Gemini 4 Argon, Muse Spark 1.3) may use your prompts and
completions for training — check the Go docs' privacy table.
- No Go model generates images; they are all text-output.
## License
MIT — see [LICENSE](LICENSE).
+15
View File
@@ -0,0 +1,15 @@
{
"name": "opencodegoevals",
"version": "1.0.0",
"private": true,
"description": "OpenCode Go model evaluation charts and per-model capability descriptions",
"type": "module",
"scripts": {
"dev": "wrangler pages dev site --port 8788",
"deploy": "wrangler pages deploy site --project-name opencodegoevals --branch main",
"project:create": "wrangler pages project create opencodogoevals"
},
"devDependencies": {
"wrangler": "^4.0.0"
}
}
+255
View File
@@ -0,0 +1,255 @@
import { RAW } from "./evals.js";
import { GO_MODELS, FREE_NOTES, CATEGORIES } from "./data.js";
/* ---------- shared helpers ---------- */
const el = (id) => document.getElementById(id);
const tip = el("tip");
function showTip(html, e) {
tip.style.display = "block";
tip.style.left = Math.min(e.clientX + 14, window.innerWidth - 260) + "px";
tip.style.top = Math.min(e.clientY + 14, window.innerHeight - 140) + "px";
tip.innerHTML = html;
}
const hideTip = () => (tip.style.display = "none");
function color(v) {
if (v === null || v === undefined) return "transparent";
const stops = [
[14, 16, 26], [28, 50, 80], [31, 106, 143], [47, 163, 160],
[87, 204, 138], [182, 227, 106], [242, 214, 75], [243, 156, 61], [239, 83, 80]
];
const p = Math.max(0, Math.min(0.999, v / 100)) * (stops.length - 1);
const i = Math.floor(p), f = p - i, a = stops[i], b = stops[i + 1] || a;
const c = a.map((x, k) => Math.round(x + (b[k] - x) * f));
return `rgb(${c[0]},${c[1]},${c[2]})`;
}
const txtCol = (v) => (v >= 62 ? "#101319" : "#e6e9f2");
const TASKS = [
{ key: "coding", label: "Frontier coding", picks: [["fc", "FrontierCode"]] },
{ key: "scicode", label: "Sci coding", picks: [["scicode", "SciCode"]] },
{ key: "terminal", label: "Terminal agent", picks: [["tb21", "Terminal-Bench 2.1"], ["tb40", "Terminal-Bench 4.0"], ["tbh", "Terminal-Bench Hard"]] },
{ key: "tools", label: "Tool use (τ-bench)", picks: [["tau2", "τ²-bench"], ["taub", "τ-bench Banking"]] },
{ key: "agentic", label: "Agent workflows", picks: [["apex", "APEX-Agents"], ["analyst", "Analyst Agent"]] },
{ key: "auto", label: "Automation", picks: [["auto", "AutomationBench"]] },
{ key: "science", label: "Science reasoning", picks: [["gpqa", "GPQA Diamond"], ["critpt", "CritPt"]] },
{ key: "hle", label: "Knowledge (HLE)", picks: [["hle", "Humanity's Last Exam"]] },
{ key: "lcr", label: "Long context", picks: [["lcr", "AA Long-Context Reasoning"]] },
{ key: "ifbench", label: "Instruction following", picks: [["ifbench", "IFBench"]] },
{ key: "vision", label: "Vision (MMMU-Pro)", picks: [["mmmu", "MMMU-Pro"]] },
{ key: "pro", label: "Professional work", picks: [["gdpv", "GDPval-AA"], ["gdppdf", "GDP-PDF"]] }
];
RAW.forEach((m) => {
m.tasks = {}; m.src = {};
TASKS.forEach((t) => {
for (const [f, label] of t.picks) {
const v = m[f];
if (v !== null && v !== undefined) { m.tasks[t.key] = v; m.src[t.key] = label; break; }
}
});
m.blend = m.free ? 0 : 0.7 * m.pi + 0.3 * m.po;
});
const byId = Object.fromEntries(RAW.map((m) => [m.id, m]));
/* ---------- header cards ---------- */
const scored = RAW.filter((m) => m.ii !== null);
const topOverall = scored.slice().sort((a, b) => b.ii - a.ii)[0];
const bestValue = scored.filter((m) => !m.free).slice().sort((a, b) => b.ii / b.blend - a.ii / a.blend)[0];
el("cards").innerHTML = [
["Models in Go", RAW.length, "in the Go catalog"],
["With public evals", scored.length, "Artificial Analysis harness"],
["Top overall", topOverall.n, "index " + topOverall.ii.toFixed(1)],
["Best value", bestValue.n, "index " + bestValue.ii.toFixed(1) + " at $" + bestValue.blend.toFixed(2) + "/1M"],
["Free tier", RAW.filter((m) => m.free).length, "limited-time free models"]
].map(([k, v, s]) => `<div class="card"><div class="k">${k}</div><div class="v">${v}</div><div class="sub" style="font-size:11px">${s}</div></div>`).join("");
/* ---------- matrix ---------- */
const cols = [
{ key: "name", label: "Model", get: (m) => m.n, txt: true },
{ key: "ii", label: "Index", get: (m) => m.ii },
{ key: "blend", label: "Price $/1M", get: (m) => m.blend, price: true },
...TASKS.map((t) => ({ key: t.key, label: t.label, get: (m) => m.tasks[t.key] }))
];
let sortKey = "ii", sortDir = -1;
function renderMatrix() {
const best = {};
cols.forEach((c) => {
if (c.key === "name" || c.key === "blend") return;
const vals = RAW.map((m) => c.get(m)).filter((v) => v !== null && v !== undefined);
best[c.key] = vals.length ? Math.max(...vals) : null;
});
const rows = RAW.slice().sort((a, b) => {
const c = cols.find((x) => x.key === sortKey);
const va = c.get(a), vb = c.get(b);
if (sortKey === "name") return String(va).localeCompare(String(vb)) * sortDir;
if (va === null || va === undefined) return 1;
if (vb === null || vb === undefined) return -1;
return (va - vb) * sortDir;
});
let h = "<thead><tr>";
cols.forEach((c) => {
h += `<th class="${c.txt ? "tl" : ""} ${c.key === sortKey ? "sorted" : ""}" data-k="${c.key}">${c.label}${c.key === sortKey ? (sortDir < 0 ? " ▾" : " ▴") : ""}</th>`;
});
h += "</tr></thead><tbody>";
rows.forEach((m) => {
h += `<tr><td class="name">${m.n}${m.free ? '<span class="tag free">free</span>' : ""}<div class="price">${m.lab} · $${m.pi}/${m.po} · ${(m.ctx / 1e6).toFixed(m.ctx % 1e6 ? 2 : 0)}M ctx${m.ii === null ? " · no public evals" : ""}</div></td>`;
cols.forEach((c) => {
if (c.key === "name") return;
const v = c.get(m);
if (c.key === "ii") {
h += `<td><div class="cell" style="background:${v === null ? "transparent" : "#1b2233"}">${v === null ? '<span class="na">n/a</span>' : `<b>${v.toFixed(1)}</b>`}</div></td>`;
return;
}
if (c.key === "blend") { h += `<td class="price">${m.free ? "$0" : "$" + v.toFixed(2)}</td>`; return; }
if (v === null || v === undefined) { h += `<td><div class="cell na">–</div></td>`; return; }
const isBest = best[c.key] !== null && Math.abs(v - best[c.key]) < 0.001;
h += `<td><div class="cell ${isBest ? "best" : ""}" style="background:${color(v)};color:${txtCol(v)}" data-m="${m.n}" data-t="${c.label}" data-src="${m.src[c.key]}">${v.toFixed(0)}<div class="bar" style="width:${v}%"></div></div></td>`;
});
h += "</tr>";
});
h += "</tbody>";
const t = el("tbl");
t.innerHTML = h;
t.querySelectorAll("th").forEach((th) => {
th.onclick = () => {
const k = th.dataset.k;
if (k === sortKey) sortDir *= -1; else { sortKey = k; sortDir = k === "name" ? 1 : -1; }
renderMatrix();
};
});
t.querySelectorAll(".cell[data-m]").forEach((c) => {
c.onmousemove = (e) => showTip(`<b>${c.dataset.m}</b><br>${c.dataset.t} — ${c.dataset.src}`, e);
c.onmouseleave = hideTip;
});
}
renderMatrix();
/* ---------- svg helpers ---------- */
function svgEl(tag, attrs, parent) {
const e = document.createElementNS("http://www.w3.org/2000/svg", tag);
for (const k in attrs) e.setAttribute(k, attrs[k]);
if (parent) parent.appendChild(e);
return e;
}
/* ---------- scatter ---------- */
(function scatter() {
const box = el("scatter"); box.innerHTML = "";
const W = 520, H = 340, m = { l: 52, r: 16, t: 16, b: 44 };
const svg = svgEl("svg", { viewBox: `0 0 ${W} ${H}`, width: "100%", height: "auto" }, box);
const pts = scored.filter((x) => x.ii !== null);
const maxX = Math.max(...pts.map((p) => p.blend)) * 1.1 || 1, maxY = 60;
const X = (v) => m.l + (v / maxX) * (W - m.l - m.r);
const Y = (v) => H - m.b - (v / maxY) * (H - m.t - m.b);
for (let g = 0; g <= maxY; g += 10) {
svgEl("line", { x1: m.l, y1: Y(g), x2: W - m.r, y2: Y(g), stroke: "#232838" }, svg);
svgEl("text", { x: m.l - 8, y: Y(g) + 4, fill: "#8b93a7", "font-size": 10, "text-anchor": "end" }, svg).textContent = g;
}
for (let g = 0; g <= maxX; g += 2) {
svgEl("line", { x1: X(g), y1: m.t, x2: X(g), y2: H - m.b, stroke: "#1c2130" }, svg);
svgEl("text", { x: X(g), y: H - m.b + 16, fill: "#8b93a7", "font-size": 10, "text-anchor": "middle" }, svg).textContent = "$" + g;
}
svgEl("text", { x: (m.l + W - m.r) / 2, y: H - 6, fill: "#8b93a7", "font-size": 11, "text-anchor": "middle" }, svg).textContent = "blended price $/1M tokens";
svgEl("text", { x: 14, y: (m.t + H - m.b) / 2, fill: "#8b93a7", "font-size": 11, "text-anchor": "middle", transform: `rotate(-90 14 ${(m.t + H - m.b) / 2})` }, svg).textContent = "Intelligence Index";
pts.forEach((p) => {
const c = svgEl("circle", { cx: X(p.blend), cy: Y(p.ii), r: 5, fill: p.free ? "#2ecc71" : "#7cc4ff", "fill-opacity": 0.85, stroke: "#0b0d12", "stroke-width": 1.5 }, svg);
const lbl = svgEl("text", { x: X(p.blend) + 8, y: Y(p.ii) + 3, fill: "#c8cede", "font-size": 10 }, svg);
lbl.textContent = p.n.length > 22 ? p.n.slice(0, 21) + "…" : p.n;
c.onmousemove = (e) => showTip(`<b>${p.n}</b><br>Index ${p.ii.toFixed(1)}<br>${p.free ? "Free" : `$${p.pi} in / $${p.po} out per 1M`}`, e);
c.onmouseleave = hideTip;
});
})();
/* ---------- value ranking ---------- */
(function valueChart() {
const box = el("value"); box.innerHTML = "";
const W = 520, H = 340, m = { l: 96, r: 16, t: 12, b: 28 };
const svg = svgEl("svg", { viewBox: `0 0 ${W} ${H}`, width: "100%", height: "auto" }, box);
const pts = scored.filter((p) => !p.free).map((p) => ({ ...p, v: p.ii / p.blend })).sort((a, b) => b.v - a.v);
const maxV = Math.max(...pts.map((p) => p.v)) * 1.08;
const step = (H - m.t - m.b) / Math.max(pts.length, 1);
pts.forEach((p, i) => {
const y = 26 + i * step;
const w = Math.max(2, (p.v / maxV) * (W - m.l - m.r));
svgEl("rect", { x: m.l, y: y - 9, width: w, height: 15, rx: 3, fill: "#7cc4ff", "fill-opacity": 0.85 }, svg);
svgEl("text", { x: m.l - 8, y: y + 3, fill: "#c8cede", "font-size": 11, "text-anchor": "end" }, svg).textContent = p.n.length > 17 ? p.n.slice(0, 16) + "…" : p.n;
svgEl("text", { x: m.l + w + 6, y: y + 3, fill: "#8b93a7", "font-size": 10 }, svg).textContent = p.v.toFixed(0) + " pts/$";
});
const free = scored.filter((p) => p.free);
svgEl("text", { x: m.l, y: H - 6, fill: "#2ecc71", "font-size": 11 }, svg).textContent = "Free models (not ranked): " + free.map((f) => f.n).join(", ");
})();
/* ---------- model guide ---------- */
function modelCard(m) {
const tags = (m.best || []).map((b) => {
const key = Object.keys(CATEGORIES).find((k) => CATEGORIES[k].label.toLowerCase() === b.toLowerCase());
const cls = key === "free" ? "tag free" : key === "imagegen" ? "tag warn" : "tag";
return `<span class="${cls}">${b}</span>`;
}).join("");
const ev = byId[m.id];
const idx = ev && ev.ii !== null ? `index ${ev.ii.toFixed(1)}` : "no public evals";
return `<div class="card2">
<div class="hd"><h3>${m.name}</h3><span class="lab">${m.lab}</span></div>
<div class="meta">released ${m.released} · $${m.price.in}/${m.price.out} per 1M · ${m.ctx} context · ${m.modalities} · ${idx}</div>
<div>${tags}</div>
<p class="blurb">${m.blurb}</p>
<p><b>Targeted for:</b> ${m.target}</p>
${m.caveats && m.caveats.length ? `<div class="caveats"><b>Caveats</b><ul>${m.caveats.map((c) => `<li>${c}</li>`).join("")}</ul></div>` : ""}
</div>`;
}
// loose keyword matching so a model's plain-language tags still hit the right filter
const FILTER_WORDS = {
agentic: ["agent"],
coding: ["cod", "repo"],
data: ["data", "spreadsheet", "analys"],
vision: ["vision", "image", "multimodal", "perception", "visual"],
imagegen: ["generation", "generat"],
research: ["research", "knowledge work", "document", "deep"],
fast: ["cheap", "fast", "high-volume", "efficient", "budget"]
};
function renderGuide(filter) {
const list = GO_MODELS.filter((m) => {
if (!filter || filter === "all") return true;
if (filter === "free") return m.free;
if (filter === "new") return m.released >= "2026-08-01";
const words = FILTER_WORDS[filter] || [];
const hay = m.best.join(" ").toLowerCase();
return words.some((w) => hay.includes(w));
});
const extra = filter === "all" || filter === "free" ? `
<div class="note"><b>Also free outside the Go plan</b><br>${FREE_NOTES.map((f) => `<b>${f.name}</b> (${f.lab}, ${f.where}) — ${f.target} <i>${f.note}</i>`).join("<br>")}</div>` : "";
const none = list.length ? "" : `<div class="note">No model in the Go catalog matches this category. Every Go model is text-output — none of them generate images, so image generation needs a different provider.</div>`;
el("guide").innerHTML = list.map(modelCard).join("") + extra + none;
}
const filters = [
["all", "All models"], ["free", "Free tier"], ["new", "New (since Aug 2026)"],
["agentic", "Agentic"], ["coding", "Coding"], ["data", "Data analysis"],
["vision", "Image understanding"], ["imagegen", "Image generation"],
["research", "Deep research"], ["fast", "Fast & cheap"]
];
el("filters").innerHTML = filters.map(([k, l]) => `<div class="chip${k === "all" ? " on" : ""}" data-f="${k}">${l}</div>`).join("");
el("filters").querySelectorAll(".chip").forEach((c) => {
c.onclick = () => {
el("filters").querySelectorAll(".chip").forEach((x) => x.classList.remove("on"));
c.classList.add("on");
renderGuide(c.dataset.f);
};
});
renderGuide("all");
el("foot").innerHTML = `
<b>How to read the matrix</b><br>
• Each cell is the highest-scoring published evaluation for that task family on a 0–100 scale; the benchmark behind it is named in the hover tooltip.<br>
• Terminal-agent, tool-use, science and professional-work columns fall back to a second benchmark when a model has not been run on the first (Terminal-Bench 2.1 → 4.0 → Hard; τ²-bench → τ-bench Banking; GPQA → CritPt; GDPval → GDP-PDF). Scores are comparable within a column, but the underlying benchmark can differ per row — hover to check.<br>
• "Index" is the Artificial Analysis Intelligence Index, a weighted composite of those evaluations.<br>
• Prices are OpenCode Go list prices per 1M tokens (input/output). Blended price = 70% input / 30% output.<br>
• Free-tier models (MiniMax M3.1 Flash Free, Beam Free, LongCat 2.5 Preview Free) are limited-time offers with unlimited included usage.<br>
• Hy4 preview and LongCat 2.5 Preview Free have no public third-party evaluations yet, so they show as "n/a". Qwen3.8 Flash maps to Artificial Analysis' "Qwen3.8-Flash-Next" entry.<br>
• No model in the Go catalog generates images — all Go models are text-output. "Image understanding" rows mean the model can read images, video, PDFs or screenshots as input.<br><br>
Sources: <a href="https://artificialanalysis.ai">Artificial Analysis</a> (benchmarks, Intelligence Index), <a href="https://opencode.ai/data">OpenCode Data</a> (catalog, usage, context windows) and <a href="https://opencode.ai/docs/go">OpenCode Go docs</a> (pricing, allowances, privacy). Vendor announcements for model positioning. Retrieved 2026-10-21.`;
+411
View File
@@ -0,0 +1,411 @@
// Model catalogue for OpenCode Go — identity, pricing, capability targets and caveats.
// Sources: opencode.ai/docs/go, opencode.ai/data, Artificial Analysis, vendor announcements.
// Retrieved 2026-10-21.
export const GO_MODELS = [
{
id: "minimax-m3.1-flash-free",
name: "MiniMax M3.1 Flash Free",
lab: "MiniMax",
released: "2026-10-19",
price: { in: 0, out: 0 },
free: true,
ctx: "1M",
modalities: "text, image, video in → text out",
best: ["Coding", "Multimodal", "Agentic", "Free tier"],
blurb:
"Frontier multimodal coding model with a 1M-token context window and tunable thinking depth. The newest model to land in Go (released 19 Oct 2026) and the fastest-growing free option in the catalog.",
target:
"Day-to-day coding-agent work on real repositories: reading long codebases, editing files, running tools. Image and video input make it usable for UI/screenshot-driven work (reading a rendered page, describing an asset). Because thinking depth is tunable, it can be dialed down for cheap, high-volume turns and up for hard problems.",
caveats: ["Free for a limited time, then billed like the rest of the catalog.", "Text output only — it analyses images/video but does not generate them."]
},
{
id: "beam-free",
name: "Beam Free",
lab: "Reflection AI",
released: "2026-10-05",
price: { in: 0, out: 0 },
free: true,
ctx: "1M",
modalities: "text only",
best: ["Coding", "Reasoning", "Long-horizon agents", "Free tier"],
blurb:
"Reflection's first open-weight model: a 501B-parameter sparse Mixture-of-Experts with 23B active per token, built for coding, reasoning and long-horizon agentic workloads.",
target:
"Cost-efficient coding and agent loops. The MoE design activates only 23B parameters per token, so it is a cheap way to run a lot of terminal work, tool calls and multi-step reasoning. Text-only, so it is a pure code/reasoning worker rather than a perception model.",
caveats: [
"Free for a limited time and unavailable in a long list of countries (see the OpenCode Go docs for the exclusion list).",
"Weights are slated for an Apache 2.0 release, with the technical report and model card following."
]
},
{
id: "longcat-2.5-preview-free",
name: "LongCat 2.5 Preview Free",
lab: "Meituan",
released: "2026-09-25",
price: { in: 0, out: 0 },
free: true,
ctx: "1M",
modalities: "text, image in → text out",
best: ["Coding", "Agentic", "Image understanding", "Free tier"],
blurb:
"Meituan's multimodal reasoning model for coding and agent tasks, with image understanding and a 1M-token context window.",
target:
"Agents that have to read a picture to act: UI automation, screenshot-to-code, chart and document understanding, then long runs of tool use against a 1M-token window. Pairs well with a free-tier workflow — long exploratory sessions without burning a paid model's allowance.",
caveats: [
"Free for a limited time.",
"Preview release: scores and behaviour may shift.",
"Text output only — no image generation."
]
},
{
id: "gemini-4-argon-contributor",
name: "Gemini 4 Argon Contributor",
lab: "Google",
released: "2026-10-13",
price: { in: 4, out: 20 },
ctx: "1M",
modalities: "text, image, video, audio, PDF in → text out",
best: ["Frontier coding", "Deep research", "Legal & financial work", "Security", "Multimodal"],
blurb:
"Google's flagship reasoning model for complex software engineering, deep math and science, and long-horizon autonomous agents. The highest overall score in the Go catalog.",
target:
"Hardest frontier work: large codebase refactors and optimisation (Google used it to optimise a 200,000-line Python codebase overnight), financial research, legal drafting, deep math/science, and autonomous security work such as vulnerability patching. It is also the model to reach for when a task needs to stay coherent across a very long autonomous run — the 1M window and long max-output budgets are the point, not the per-token price.",
caveats: [
"Contributor tier: your prompts and completions may be used to train future Google models. Not zero-data-retention.",
"Most expensive model in Go at $4 / $20 per 1M tokens.",
"Currently priced at a promotional 2× allowance for a limited time."
]
},
{
id: "grok-4.7",
name: "Grok 4.7",
lab: "xAI",
released: "2026-09-21",
price: { in: 2, out: 6 },
ctx: "500K",
modalities: "text, image, PDF in → text out",
best: ["Long-running agents", "Coding", "Knowledge work", "Visual projects"],
blurb:
"xAI's frontier model for long-running agents, coding, knowledge work, and visual projects.",
target:
"Sustained agent sessions that mix code and document/visual inputs — research that ends in a written deliverable, codebase work with images in the loop, or an analysis that has to survive a long run without losing the thread. Priced at the top of the open-model tier but with a 500K window that suits multi-file, multi-hour tasks.",
caveats: ["Premium price ($2 / $6) with a lower $15 monthly allowance in the Go plan.", "Price doubles above 200K tokens of context."]
},
{
id: "gpt-6-luna",
name: "GPT-6 Luna",
lab: "OpenAI",
released: "2026-09-22",
price: { in: 0.1, out: 0.5 },
ctx: "1.05M",
modalities: "text, image, PDF in → text out",
best: ["High-volume coding", "Agents", "Document work", "Cheap"],
blurb:
"OpenAI's most efficient model for focused, high-volume tasks, at the price of a small open model.",
target:
"The default workhorse when you want GPT-class behaviour without GPT-class spend: everyday coding-agent turns, small refactors, summarising long documents (1.05M window), classifying and routing. In Go it is one of the best price/performance points, so it is a good default for background agents and a fallback when a heavier model is unnecessary.",
caveats: ["Price steps up above 272K tokens of context.", "Not a reasoning-tier model — deep analysis work should go to a stronger model."]
},
{
id: "claude-haiku-5-5",
name: "Claude Haiku 5.5",
lab: "Anthropic",
released: "2026-10-07",
price: { in: 0.1, out: 0.5 },
ctx: "1M",
modalities: "text, image, PDF in → text out",
best: ["Fast agents", "Classification", "Responsive UX", "Cheap"],
blurb:
"Fast Claude model for responsive assistance, classification, and lightweight agents.",
target:
"Anything that has to answer fast and often: interactive completions, classification and extraction, lightweight sub-agents, and UI-style assistance where latency matters more than depth. Anthropic's tool-calling behaviour is the draw for lightweight agents.",
caveats: ["Price steps up above 100K tokens of context (5×).", "Requests are retained for 30 days under Anthropic's data policy — not zero-data-retention."]
},
{
id: "muse-spark-1.3-contributor",
name: "Muse Spark 1.3 Contributor",
lab: "Meta",
released: "2026-09-02",
price: { in: 0.1, out: 0.2 },
ctx: "1M",
modalities: "text, image, video, PDF, audio in → text out",
best: ["Long-horizon agents", "Multi-agent workflows", "Coding", "Multimodal", "Cheap"],
blurb:
"Meta's multimodal reasoning model for long-running agentic, multi-agent and coding workflows, improved over 1.2 for long-horizon agent collaboration, instruction following and coding efficiency.",
target:
"Multi-agent and long-horizon pipelines: several specialised agents handing work to each other over a 1M window, with the widest input surface in Go (image, video, PDF and audio all accepted). Cheap enough ($0.10 / $0.20) to keep several agents running at once — it is the pick when the architecture, not the single call, is doing the work.",
caveats: [
"Contributor tier: your prompts and completions may be used to train future Meta models, and availability is limited to regions permitted by Meta's Geographic Use Policy.",
"Text output only."
]
},
{
id: "step-5-preview",
name: "Step 5 Preview",
lab: "StepFun",
released: "2026-09-16",
price: { in: 1, out: 2.7 },
ctx: "1M",
modalities: "text, image, video in → text out",
best: ["Coding", "Professional knowledge work", "Multimodal", "Open weights"],
blurb:
"StepFun's next-generation flagship base model for coding and professional knowledge work, with native text, image and video input and a 1M-token context window.",
target:
"Coding plus deliverables: a base model strong enough to write production code and also produce the spreadsheets, reports and documents that surround it. Native image and video input support it works from screenshots and clips directly.",
caveats: ["Preview release — expect the numbers to move.", "Currently priced with a promotional 4× allowance for a limited time."]
},
{
id: "deepseek-v4.1-flash",
name: "DeepSeek V4.1 Flash",
lab: "DeepSeek",
released: "2026-09-10",
price: { in: 0.15, out: 0.6 },
ctx: "1M",
modalities: "text, image in → text out",
best: ["Agentic coding", "Reasoning", "Cheap", "High volume"],
blurb:
"DeepSeek's V4.1 Flash: built for reasoning and agentic coding, and the single most-used model in OpenCode by token volume.",
target:
"The default engine for long coding-agent runs. DeepSeek's own card lists Terminal-Bench, DeepSWE, CyberGym and AutomationBench scores, i.e. it is tuned for terminal work, repo-level fixes and security tasks rather than chat. With cache reads at ~0.3¢/1M it is also the cheapest way to move large volumes of agent traffic.",
caveats: ["Text output only.", "Price doubles during DeepSeek's peak hours (01:00–04:00 and 06:00–10:00 UTC, Mon–Fri)."]
},
{
id: "deepseek-v4-pro",
name: "DeepSeek V4 Pro",
lab: "DeepSeek",
released: "2026-04-24",
price: { in: 0.66, out: 1.98 },
ctx: "1M",
modalities: "text only",
best: ["Long agent runs", "Coding", "Math & science", "Open weights"],
blurb:
"Open MiE flagship with million-token context for coding and long agent runs.",
target:
"The heavier DeepSeek: multi-hour agent sessions and research runs that need a large window, plus the maths and science scores (IMOAnswerBench, HMMT, LiveCodeBench) for technical work. Text-only, so it is a reasoning/code model rather than a perception model.",
caveats: ["Text input only.", "Price doubles during DeepSeek's peak hours."]
},
{
id: "hy4-preview",
name: "Hy4 preview",
lab: "Tencent",
released: "2026-08-28",
price: { in: 0.834, out: 2.501 },
ctx: "1M",
modalities: "text only",
best: ["Agentic workflows", "Productivity", "Complex task execution", "Open weights"],
blurb:
"A next-generation productivity model with significantly enhanced agent and complex task execution capabilities.",
target:
"Productivity and workflow automation: multi-step office/enterprise tasks, tool orchestration and long-running assistants. Tencent positions it around agentic capability and complex task execution rather than raw chat quality, with a 1M window for large corpora.",
caveats: ["Preview release with no third-party evaluations published yet, so performance is unverified outside the vendor's own numbers.", "Text input only."]
},
{
id: "glm-5.3",
name: "GLM-5.3",
lab: "Zhipu",
released: "2026-08-14",
price: { in: 1.4, out: 4.4 },
ctx: "1M",
modalities: "text only",
best: ["Long-horizon coding", "Agents", "Project delivery", "Cyber/security"],
blurb:
"Flagship GLM model for long-horizon coding, agents, and complex project delivery.",
target:
"Owning a project rather than a ticket: sustained multi-file work, terminal and repo tasks, and the security-agent track (CyberGym, ExploitGym, ExploitBench) where GLM scores are among the strongest in Go. Text-only, and one of the pricier models, so it is aimed at the tasks that genuinely need a flagship.",
caveats: ["Text input only.", "Expensive per token ($1.40 / $4.40) with a $15 monthly allowance in the Go plan."]
},
{
id: "glm-5.3-flash",
name: "GLM-5.3-Flash",
lab: "Zhipu",
released: "2026-08-26",
price: { in: 0.15, out: 0.5 },
ctx: "1M",
modalities: "text, image, video, PDF in → text out",
best: ["Efficient coding", "Long-horizon agents", "Multimodal", "Cheap"],
blurb:
"Native multimodal GLM model for efficient coding and long-horizon agent tasks.",
target:
"The cheap twin of the flagship: same family behaviour, multimodal input, and one of the better Terminal-Bench scores in Go per dollar. It is the sensible pick for long agent loops that need to see images, documents or video but do not need frontier depth.",
caveats: ["Text output only.", "Loses a little strength on the hardest reasoning tasks compared with GLM-5.3."]
},
{
id: "qwen3.8-max",
name: "Qwen3.8 Max",
lab: "Alibaba",
released: "2026-08-03",
price: { in: 2, out: 6 },
ctx: "1M",
modalities: "text, image, video, PDF in → text out",
best: ["Coding", "Professional work", "Multimodal", "Long-horizon agents"],
blurb:
"A 2.4-trillion-parameter MoE flagship for coding, professional work, multimodal understanding, and long-horizon agentic workflows.",
target:
"Broad, heavy-duty work where a single model has to cover the whole job: writing code, producing professional deliverables (the GDPval/JobBench scores are strong), and reasoning over images, video and PDFs in the same session. Also the strongest general agent in Go on the terminal and tool-use benchmarks.",
caveats: ["Priced at $2 / $6 with a $15 monthly allowance.", "Cache writes are charged ($2.50 / 1M), so long sessions with big prompt churn cost more than the headline rate."]
},
{
id: "qwen3.8-flash",
name: "Qwen3.8 Flash",
lab: "Alibaba",
released: "2026-08-26",
price: { in: 0.15, out: 0.47 },
ctx: "1M",
modalities: "text, image, video in → text out",
best: ["Visual reasoning", "Documents", "Agent tasks", "Cheap"],
blurb:
"Qwen vision-language model for visual reasoning, documents, and agent tasks.",
target:
"Perception-heavy work at a low price: reading screenshots and diagrams, extracting from documents, and driving agents that need to see what is on screen. It pairs a 1M window with sub-20¢ input pricing, which makes it a good bulk worker for visual pipelines.",
caveats: ["Text output only — no image generation.", "Evaluated publicly as 'Qwen3.8-Flash-Next' in third-party benchmark tables."]
},
{
id: "qwen3.7-plus",
name: "Qwen3.7 Plus",
lab: "Alibaba",
released: "2026-06-02",
price: { in: 0.4, out: 1.6 },
ctx: "1M",
modalities: "text, image, video in → text out",
best: ["Long-context agents", "Visual inputs", "Coding", "Multimodal"],
blurb:
"Multimodal Qwen workhorse for long-context agents, visual inputs, and coding.",
target:
"A steady middle tier: long-context agent sessions, image/video understanding and ordinary coding, without the flagship price. Instruction-following scores are its standout metric, which matters for agents driven by precise specs.",
caveats: ["Text output only.", "Public evaluations are thinner than for the Qwen3.8 line, so treat third-party comparisons with care."]
},
{
id: "kimi-k3",
name: "Kimi K3",
lab: "Moonshot",
released: "2026-07-16",
price: { in: 3, out: 15 },
ctx: "1M",
modalities: "text, image, video in → text out",
best: ["Long-horizon agents", "Coding", "Web research", "Spreadsheets", "Open weights"],
blurb:
"Multimodal Kimi model with a 1M context and toggleable max-effort thinking for long-horizon agent work.",
target:
"The Kimi tier built for endurance: long-horizon agent runs, web research (BrowseComp), coding (FrontierSWE, DeepSWE, Terminal-Bench), and office deliverables — it scores well on SpreadsheetBench, which makes it the pick for data-analysis and spreadsheet work in Go. Thinking effort can be turned up for hard problems or down for speed.",
caveats: [
"Most expensive model in Go at $3 / $15 per 1M tokens.",
"Terminal-Bench 4.0 is much weaker than its Terminal-Bench 2.1 result — hard-shell tasks still cost it a lot.",
"Text output only."
]
},
{
id: "kimi-k2.7-code",
name: "Kimi K2.7 Code",
lab: "Moonshot",
released: "2026-06-12",
price: { in: 0.95, out: 4 },
ctx: "256K",
modalities: "text, image, video in → text out",
best: ["Repo-scale coding", "Long-horizon repo work", "Tool use"],
blurb:
"Coding-focused Kimi model, stronger on long-horizon repo work with less overthinking.",
target:
"Purpose-built for code: sustained repository work, refactors and multi-file changes where a general model wastes tokens deliberating. The tool-use (τ-bench) score is very high, so it is also good at driving MCP servers and CLI tools. Use it when the deliverable is a diff, not an essay.",
caveats: ["256K context — roughly a quarter of the 1M models.", "Narrower general-purpose ability than the flagship Kimi."]
},
{
id: "mimo-v2.6-pro",
name: "MiMo-V2.6-Pro",
lab: "Xiaomi",
released: "2026-09-22",
price: { in: 0.435, out: 0.87 },
ctx: "1M",
modalities: "text, image, audio, video in → text out",
best: ["Coding agents", "Multimodal", "Automation", "Long context"],
blurb:
"Stronger MiMo Pro tier for multimodal reasoning and coding-agent execution.",
target:
"Coding agents that also have to look at things: screenshots, video, audio alongside code. Xiaomi's own card highlights strong AutomationBench and terminal scores, so it is aimed at long mechanical agent loops as much as at authoring code.",
caveats: ["Text output only.", "The Free tier of this family (MiMo-V2.6-Flash) sits outside the Go plan — check the default provider list."]
},
{
id: "mimo-v2.5-pro",
name: "MiMo-V2.5-Pro",
lab: "Xiaomi",
released: "2026-04-22",
price: { in: 0.435, out: 0.87 },
ctx: "1M",
modalities: "text, image, audio, video in → text out",
best: ["Multimodal coding agents", "Long-context automation"],
blurb:
"Previous-generation MiMo Pro tier for multimodal reasoning and coding-agent execution.",
target:
"Now the value option in the MiMo line — same interface as 2.6 Pro with materially weaker agentic and cyber benchmarks. Reasonable when you need multimodal input cheaply and the task is not frontier-hard.",
caveats: ["Superseded by MiMo-V2.6-Pro; scores are materially lower on agentic and security tasks.", "Text output only."]
},
{
id: "mimo-v2.5",
name: "MiMo-V2.5",
lab: "Xiaomi",
released: "2026-04-22",
price: { in: 0.14, out: 0.28 },
ctx: "1M",
modalities: "text, image, audio, video in → text out",
best: ["Budget multimodal agents", "Long context"],
blurb:
"Open MiMo model for multimodal coding agents and long-context automation.",
target:
"The cheapest way to get multimodal, long-context agent behaviour in Go: 14¢/28¢ per 1M. Best suited to bulk automation — many small steps over a large context — rather than to hard single-shot questions.",
caveats: ["Lowest tier of the MiMo line; weak on the hardest agentic benchmarks.", "Text output only."]
},
{
id: "minimax-m3",
name: "MiniMax M3",
lab: "MiniMax",
released: "2026-06-01",
price: { in: 0.3, out: 1.2 },
ctx: "1M",
modalities: "text, image, video in → text out",
best: ["Long-context coding", "Perception", "Agent planning", "SWE tasks"],
blurb:
"MiniMax multimodal model for long-context coding, perception, and agent planning.",
target:
"Repo-scale SWE work with perception in the loop: MiniMax reports one of the strongest SWE-Bench Verified results in Go, plus good browser and desktop-computer scores (BrowseComp, MCP Atlas, OSWorld). Use it when the agent has to look at a screen and then change code.",
caveats: ["Text output only.", "Weaker than MiniMax M3.1 Flash on frontier reasoning and long-horizon tasks."]
}
];
// Free and newly-added models that are worth calling out even when they are not in the Go plan.
export const FREE_NOTES = [
{
name: "MiMo-V2.6-Flash Free",
lab: "Xiaomi",
where: "Default OpenCode provider (not in the Go plan)",
target:
"Multimodal coding agents and long-context automation at no token cost — the free counterpart to MiMo-V2.6-Pro. Text, image, audio and video in; text out.",
note: "Unlimited-style free tier; use it for exploration and bulk mechanical work."
},
{
name: "Nemotron 3.5 Lightning Free",
lab: "NVIDIA",
where: "Default OpenCode provider",
target:
"Fast, reliable agentic tasks across enterprise workloads — an MoE tuned for dependable tool use rather than flash reasoning, at 256K context.",
note: "Text only; good fit for internal automation and routing."
},
{
name: "Big Pickle",
lab: "Unclear / community",
where: "Default OpenCode provider",
target:
"An inexpensive general-purpose slot with no vendor model card published. Treat as an experiment, not as a recommended production model.",
note: "No published benchmark card — verify behaviour before depending on it."
}
];
export const CATEGORIES = {
"agentic": { label: "Agentic work", note: "terminal, tool use, multi-step automation, long-horizon agents" },
"coding": { label: "Coding", note: "code generation, repo-level fixes, SWE tasks" },
"data": { label: "Data analysis", note: "spreadsheets, quantitative work, professional deliverables" },
"vision": { label: "Image understanding", note: "screenshots, documents, charts, video" },
"imagegen": { label: "Image generation", note: "producing images" },
"research": { label: "Deep research", note: "web research, long-horizon investigation, legal/financial work" },
"fast": { label: "Fast & cheap", note: "high-volume, latency-sensitive, classification" },
"free": { label: "Free tier", note: "no token cost inside the included usage" }
};
+27
View File
@@ -0,0 +1,27 @@
// Evaluation data scraped from Artificial Analysis model pages (single consistent harness).
// Values are already scaled to 0-100. Retrieved 2026-10-21.
export const RAW = [
{id:"minimax-m3.1-flash-free",n:"MiniMax M3.1 Flash Free",lab:"MiniMax",free:true,pi:0,po:0,ii:42.7,fc:38.6,scicode:53.4,tb21:null,tb40:25.8,tbh:null,tau2:null,taub:null,apex:null,analyst:null,auto:72.5,gpqa:null,critpt:22.3,hle:48.0,lcr:79.7,ifbench:null,mmmu:79.1,gdpv:47.9,gdppdf:20.8,ctx:1048576},
{id:"gemini-4-argon-contributor",n:"Gemini 4 Argon Contributor",lab:"Google",pi:4,po:20,ii:52.6,fc:43.5,scicode:61.8,tb21:null,tb40:57.1,tbh:null,tau2:null,taub:null,apex:null,analyst:48.7,auto:77.5,gpqa:null,critpt:27.1,hle:57.1,lcr:79.7,ifbench:null,mmmu:null,gdpv:56.2,gdppdf:21.8,ctx:1048576},
{id:"claude-haiku-5-5",n:"Claude Haiku 5.5",lab:"Anthropic",pi:0.1,po:0.5,ii:43.4,fc:41.8,scicode:55.0,tb21:null,tb40:32.8,tbh:null,tau2:null,taub:null,apex:null,analyst:53.8,auto:35.4,gpqa:null,critpt:18.9,hle:44.4,lcr:82.7,ifbench:null,mmmu:null,gdpv:55.9,gdppdf:20.8,ctx:1000000},
{id:"beam-free",n:"Beam Free",lab:"Reflection",free:true,pi:0,po:0,ii:30.3,fc:null,scicode:48.5,tb21:null,tb40:3.0,tbh:null,tau2:null,taub:null,apex:null,analyst:null,auto:48.5,gpqa:null,critpt:13.1,hle:34.7,lcr:78.0,ifbench:null,mmmu:null,gdpv:33.9,gdppdf:11.6,ctx:1048576},
{id:"longcat-2.5-preview-free",n:"LongCat 2.5 Preview Free",lab:"Meituan",free:true,pi:0,po:0,ii:null,ctx:1000000},
{id:"mimo-v2.6-pro",n:"MiMo-V2.6-Pro",lab:"Xiaomi",pi:0.435,po:0.87,ii:46.3,fc:45.4,scicode:60.9,tb21:null,tb40:34.8,tbh:null,tau2:null,taub:null,apex:null,analyst:37.5,auto:58.6,gpqa:null,critpt:26.6,hle:49.4,lcr:86.3,ifbench:null,mmmu:null,gdpv:59.2,gdppdf:19.2,ctx:1048576},
{id:"gpt-6-luna",n:"GPT-6 Luna",lab:"OpenAI",pi:0.1,po:0.5,ii:38.1,fc:41.9,scicode:54.6,tb21:null,tb40:12.6,tbh:null,tau2:null,taub:null,apex:null,analyst:43.8,auto:53.2,gpqa:null,critpt:19.4,hle:38.5,lcr:83.3,ifbench:null,mmmu:79.7,gdpv:46.6,gdppdf:22.8,ctx:1050000},
{id:"grok-4.7",n:"Grok 4.7",lab:"xAI",pi:2,po:6,ii:46.4,fc:33.8,scicode:57.4,tb21:null,tb40:25.8,tbh:null,tau2:null,taub:null,apex:null,analyst:52.5,auto:65.6,gpqa:null,critpt:17.7,hle:43.1,lcr:76.7,ifbench:null,mmmu:null,gdpv:60.6,gdppdf:20.0,ctx:500000},
{id:"step-5-preview",n:"Step 5 Preview",lab:"StepFun",pi:1,po:2.7,ii:43.7,fc:38.4,scicode:58.9,tb21:null,tb40:33.3,tbh:null,tau2:null,taub:null,apex:38.0,analyst:35.0,auto:51.0,gpqa:null,critpt:20.9,hle:46.5,lcr:88.3,ifbench:null,mmmu:76.4,gdpv:54.3,gdppdf:14.8,ctx:1000000},
{id:"deepseek-v4.1-flash",n:"DeepSeek V4.1 Flash",lab:"DeepSeek",pi:0.15,po:0.6,ii:39.5,fc:44.0,scicode:51.9,tb21:null,tb40:26.8,tbh:null,tau2:null,taub:null,apex:null,analyst:35.0,auto:68.9,gpqa:null,critpt:14.3,hle:39.2,lcr:84.0,ifbench:null,mmmu:77.0,gdpv:55.0,gdppdf:12.8,ctx:1000000},
{id:"muse-spark-1.3-contributor",n:"Muse Spark 1.3 Contributor",lab:"Meta",pi:0.1,po:0.2,ii:48.1,fc:40.6,scicode:58.8,tb21:84.3,tb40:33.3,tbh:null,tau2:null,taub:50.5,apex:null,analyst:37.5,auto:57.9,gpqa:93.5,critpt:24.9,hle:48.7,lcr:83.0,ifbench:null,mmmu:null,gdpv:59.0,gdppdf:26.6,ctx:1048576},
{id:"hy4-preview",n:"Hy4 preview",lab:"Tencent",pi:0.834,po:2.501,ii:null,ctx:1024000},
{id:"qwen3.8-flash",n:"Qwen3.8 Flash",lab:"Alibaba",pi:0.15,po:0.47,ii:39.8,fc:null,scicode:50.6,tb21:86.1,tb40:25.3,tbh:null,tau2:null,taub:45.4,apex:null,analyst:null,auto:55.9,gpqa:92.3,critpt:11.1,hle:38.0,lcr:79.7,ifbench:null,mmmu:79.8,gdpv:56.4,gdppdf:15.6,ctx:1000000,note:"AA entry: Qwen3.8-Flash-Next"},
{id:"glm-5.3-flash",n:"GLM-5.3-Flash",lab:"Zhipu",pi:0.15,po:0.5,ii:41.8,fc:41.0,scicode:51.6,tb21:84.3,tb40:32.8,tbh:null,tau2:null,taub:47.2,apex:null,analyst:25.0,auto:60.4,gpqa:91.2,critpt:15.4,hle:39.9,lcr:80.0,ifbench:null,mmmu:null,gdpv:57.1,gdppdf:15.4,ctx:1000000},
{id:"glm-5.3",n:"GLM-5.3",lab:"Zhipu",pi:1.4,po:4.4,ii:44.8,fc:40.1,scicode:59.0,tb21:83.9,tb40:41.9,tbh:null,tau2:null,taub:50.3,apex:null,analyst:38.8,auto:62.2,gpqa:91.7,critpt:19.1,hle:42.3,lcr:79.7,ifbench:null,mmmu:null,gdpv:57.5,gdppdf:11.2,ctx:1000000},
{id:"qwen3.8-max",n:"Qwen3.8 Max",lab:"Alibaba",pi:2,po:6,ii:45.4,fc:43.2,scicode:52.1,tb21:88.8,tb40:38.9,tbh:null,tau2:null,taub:47.8,apex:42.4,analyst:45.0,auto:56.2,gpqa:92.8,critpt:17.7,hle:43.1,lcr:80.3,ifbench:null,mmmu:82.8,gdpv:58.2,gdppdf:22.8,ctx:1000000},
{id:"kimi-k3",n:"Kimi K3",lab:"Moonshot",pi:3,po:15,ii:43.6,fc:43.6,scicode:59.5,tb21:85.0,tb40:12.6,tbh:null,tau2:null,taub:46.0,apex:41.3,analyst:38.8,auto:58.3,gpqa:93.5,critpt:23.4,hle:46.9,lcr:88.7,ifbench:null,mmmu:80.5,gdpv:51.6,gdppdf:22.0,ctx:1048576},
{id:"kimi-k2.7-code",n:"Kimi K2.7 Code",lab:"Moonshot",pi:0.95,po:4,ii:25.8,fc:null,scicode:47.8,tb21:67.4,tb40:1.0,tbh:44.7,tau2:90.1,taub:20.2,apex:null,analyst:null,auto:24.5,gpqa:89.6,critpt:10.0,hle:35.0,lcr:79.3,ifbench:63.1,mmmu:null,gdpv:26.9,gdppdf:11.2,ctx:262144},
{id:"qwen3.7-plus",n:"Qwen3.7 Plus",lab:"Alibaba",pi:0.4,po:1.6,ii:25.2,fc:null,scicode:46.1,tb21:61.0,tb40:1.0,tbh:47.0,tau2:93.0,taub:17.5,apex:22.4,analyst:null,auto:17.4,gpqa:90.0,critpt:9.1,hle:35.6,lcr:73.0,ifbench:78.0,mmmu:80.5,gdpv:13.4,gdppdf:12.2,ctx:1000000},
{id:"minimax-m3",n:"MiniMax M3",lab:"MiniMax",pi:0.3,po:1.2,ii:29.2,fc:23.0,scicode:47.1,tb21:65.2,tb40:2.0,tbh:42.4,tau2:88.9,taub:15.3,apex:null,analyst:10.0,auto:21.3,gpqa:92.9,critpt:3.7,hle:39.0,lcr:83.0,ifbench:82.9,mmmu:78.6,gdpv:37.1,gdppdf:9.8,ctx:1048576},
{id:"deepseek-v4-pro",n:"DeepSeek V4 Pro",lab:"DeepSeek",pi:0.66,po:1.98,ii:36.0,fc:38.8,scicode:51.0,tb21:78.7,tb40:14.1,tbh:null,tau2:null,taub:39.6,apex:null,analyst:null,auto:56.7,gpqa:92.8,critpt:18.0,hle:41.0,lcr:80.3,ifbench:null,mmmu:null,gdpv:47.4,gdppdf:11.4,ctx:1000000},
{id:"mimo-v2.5-pro",n:"MiMo-V2.5-Pro",lab:"Xiaomi",pi:0.435,po:0.87,ii:26.0,fc:null,scicode:50.6,tb21:65.2,tb40:0.0,tbh:43.2,tau2:94.2,taub:9.9,apex:2.4,analyst:20.0,auto:13.7,gpqa:86.6,critpt:4.0,hle:35.7,lcr:79.7,ifbench:79.9,mmmu:null,gdpv:31.0,gdppdf:4.0,ctx:1048576},
{id:"mimo-v2.5",n:"MiMo-V2.5",lab:"Xiaomi",pi:0.14,po:0.28,ii:21.8,fc:null,scicode:43.9,tb21:63.7,tb40:0.0,tbh:41.7,tau2:90.6,taub:8.7,apex:null,analyst:null,auto:18.4,gpqa:84.9,critpt:3.7,hle:27.2,lcr:73.0,ifbench:67.1,mmmu:75.4,gdpv:24.9,gdppdf:4.0,ctx:1048576}
];
+59
View File
@@ -0,0 +1,59 @@
:root{
--bg:#0b0d12; --panel:#12151d; --line:#232838; --txt:#e6e9f2; --dim:#8b93a7; --accent:#7cc4ff;
--free:#2ecc71; --warn:#f2c14e;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--txt);font:14px/1.5 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--accent)}
header{padding:28px 28px 8px;border-bottom:1px solid var(--line)}
h1{margin:0 0 6px;font-size:24px;letter-spacing:-.2px}
h2{font-size:17px;margin:30px 0 10px;font-weight:600;letter-spacing:-.1px}
h3{font-size:14px;margin:0 0 4px;font-weight:600}
.sub{color:var(--dim);font-size:13px;max-width:1000px}
.wrap{padding:18px 28px 70px;max-width:1600px}
nav{display:flex;gap:16px;margin-top:14px;flex-wrap:wrap}
nav a{color:var(--dim);text-decoration:none;font-size:13px;border:1px solid var(--line);padding:5px 11px;border-radius:99px}
nav a:hover{color:var(--accent);border-color:var(--accent)}
.cards{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px;min-width:150px}
.card .k{color:var(--dim);font-size:10.5px;text-transform:uppercase;letter-spacing:.09em}
.card .v{font-size:20px;font-weight:600;margin-top:2px}
table{border-collapse:separate;border-spacing:0;width:100%;font-size:12.5px}
th,td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}
th{color:var(--dim);font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;position:sticky;top:0;background:#0e1118;z-index:3}
th:hover{color:var(--accent)}
th.sorted{color:var(--accent)}
td.name,th.name{text-align:left;position:sticky;left:0;background:#0e1118;z-index:2;min-width:230px}
td.name{font-weight:500}
.cell{border-radius:5px;padding:5px 4px;font-variant-numeric:tabular-nums}
.na{color:#3d4353}
.best{outline:1.5px solid #fff;outline-offset:-1.5px;font-weight:600}
.bar{height:3px;border-radius:2px;background:#ffffff22;margin-top:3px}
.price{color:var(--dim)}
.tag{display:inline-block;font-size:10px;padding:1px 6px;border-radius:99px;border:1px solid var(--line);color:var(--dim);margin:2px 3px 0 0}
.tag.free{color:var(--free);border-color:#2ecc7155}
.tag.new{color:#ffd479;border-color:#ffd47955}
.tag.warn{color:var(--warn);border-color:#f2c14e55}
.legend{display:flex;align-items:center;gap:8px;color:var(--dim);font-size:12px;margin:10px 0;flex-wrap:wrap}
.scale{width:220px;height:12px;border-radius:3px;background:linear-gradient(90deg,#141824,#1c3550,#1f6a8f,#2fa3a0,#57cc8a,#b6e36a,#f2d64b,#f39c3d,#ef5350)}
#tip{position:fixed;pointer-events:none;background:#171b25;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:12px;max-width:340px;display:none;z-index:50;box-shadow:0 8px 24px #0008}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:1150px){.grid2{grid-template-columns:1fr}}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}
.foot{color:var(--dim);font-size:12px;margin-top:30px;line-height:1.7;border-top:1px solid var(--line);padding-top:16px}
.tl{text-align:left}
/* model guide */
.guide{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}
.card2{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.card2 .hd{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.card2 .lab{color:var(--dim);font-size:11.5px}
.card2 .meta{color:var(--dim);font-size:11.5px;margin:6px 0 8px}
.card2 p{margin:0 0 8px;font-size:13px;color:#cfd5e4}
.card2 .blurb{color:var(--txt);font-weight:500}
.card2 .caveats{color:#e0b7a0;font-size:12px}
.card2 .caveats li{margin:3px 0}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 16px}
.chip{border:1px solid var(--line);border-radius:99px;padding:5px 12px;font-size:12.5px;color:var(--dim);cursor:pointer;background:#12151d}
.chip.on{color:#0b0d12;background:var(--accent);border-color:var(--accent);font-weight:600}
.note{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;padding:10px 14px;margin:14px 0;font-size:13px;color:#cfd5e4}
+59
View File
@@ -0,0 +1,59 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>OpenCode Go — model evals &amp; what each model is for</title>
<meta name="description" content="Performance matrix, cost/value analysis and per-model capability descriptions for every model in the OpenCode Go catalog.">
<link rel="stylesheet" href="assets/style.css">
</head>
<body>
<header>
<h1>OpenCode Go — model evals &amp; what each model is for</h1>
<div class="sub">Every model currently served by OpenCode Go: a task-by-task performance matrix, cost/value analysis, and plain-language notes on what each model is actually targeted for — agentic work, coding, data analysis, image understanding, research, or high-volume chores.</div>
<nav>
<a href="#matrix">Performance matrix</a>
<a href="#value">Capability vs. price</a>
<a href="#guide">What each model is for</a>
<a href="MODELS.md">Markdown version</a>
</nav>
</header>
<div class="wrap">
<div class="cards" id="cards"></div>
<h2 id="matrix">Task matrix</h2>
<div class="legend">
<span>0</span><div class="scale"></div><span>100</span>
<span style="margin-left:12px">White outline = best model for that task · click a column header to sort · hover a cell for the source benchmark</span>
</div>
<div style="overflow:auto;max-height:78vh;border:1px solid var(--line);border-radius:12px">
<table id="tbl"></table>
</div>
<h2 id="value">Capability vs. price</h2>
<div class="grid2">
<div class="panel">
<div style="font-weight:600;margin-bottom:6px">Overall index vs. blended Go price</div>
<div class="sub" style="margin-bottom:6px">x = blended $/1M tokens (70% input / 30% output), y = Artificial Analysis Intelligence Index. Up and to the left is better.</div>
<div id="scatter"></div>
</div>
<div class="panel">
<div style="font-weight:600;margin-bottom:6px">Value: Intelligence Index per dollar</div>
<div class="sub" style="margin-bottom:6px">Index points per blended $1M tokens. Free models are excluded from the ranking but listed underneath.</div>
<div id="value"></div>
</div>
</div>
<h2 id="guide">What each model is for</h2>
<div class="sub" style="margin-bottom:6px">Short answers, written for people choosing a model for a job rather than reading a leaderboard. Filter by the kind of work you need.</div>
<div class="filters" id="filters"></div>
<div class="guide" id="guide"></div>
<div class="foot" id="foot"></div>
</div>
<div id="tip"></div>
<script type="module" src="assets/app.js"></script>
</body>
</html>
+8
View File
@@ -0,0 +1,8 @@
name = "opencodegoevals"
compatibility_date = "2026-10-21"
pages_build_output_dir = "site"
# Cloudflare Pages project settings live in the dashboard (or via `wrangler pages project list`).
# Required account secrets for deploying (set as Gitea Actions secrets, see README):
# CLOUDFLARE_API_TOKEN - Cloudflare API token with "Cloudflare Pages: Edit" permission
# CLOUDFLARE_ACCOUNT_ID - the account that owns the Pages project