

0 / 2 embers
0 / 3000 xp
click for more info
Complete a lesson to start your streak
click for more info
Difficulty: 3
click for more info
Not enough gems
Cost: 6 gems
1: Providers and Models
incomplete
2: Model Costs
incomplete
3: Open-Weight Models
incomplete
4: Self-Hosting Models
incomplete
5: Reasoning Models
incomplete
6: Payment Strategies
incomplete
7: Cost Effectiveness
incomplete
Back
ctrl+,
Next
ctrl+.
This lesson's interactive features are locked, please to keep using them
OpenCode is an agent. The "brain" behind it (scare-quotes intended) comes from the provider and the model you connect it to. If you don't understand the distinction, discussions about AI-tools can get dumb fast.
You'll hear people say stuff like, "Claude is sooo much better than Gemini," and then, when asked which model, they'll say, "I don't know, I just use the Claude app."
Claude Fable 5.1 (slow, expensive, powerful) and GPT-6 Luna (cheap, fast, less powerful) are very different and have different purposes. It's very important to know the strengths and weaknesses of the models you're using.
gpt-5, claude-sonnet-4-5, gemini-3.1-pro, or deepseek-v4.1-flash-free.In OpenCode's config, the full model ID uses the format provider_id/model_id:
opencode/deepseek-v4.1-flash-freeopenai/gpt-5anthropic/claude-sonnet-4-5So when you choose a model in OpenCode, you're really choosing a provider/model pair.
The same model can be available through several different providers. The company that trained it isn't necessarily the provider you access it through. For example, anthropic/claude-sonnet-4-5 and opencode/claude-sonnet-4-5 are both valid provider/model pairs.
Model determines raw capability. Provider determines the experience around that capability, things like authentication, pricing, rate limits, latency, uptime, and privacy promises.
Tell OpenCode to run and submit the CLI tests from the project root.