OpenCode Setup Guide
Add dabboUno as a custom provider in OpenCode and pick any model as the active agent.
Overview
OpenCode reads providers from a JSON config. Add dabboUno with the OpenAI-compatible adapter to use any dabboUno model.
Quick Config
Paste these into the client. Your key auto-fills when signed in.
Base URL: https://newapi.c.dabbo.net/v1
API Key: YOUR_API_KEYCompatibility
Step-by-step setup
- 1Open the OpenCode config file
Open your OpenCode config in a text editor. Create the file if it does not exist.
powershell$f = "$env:USERPROFILE\.config\opencode\opencode.json" md -Force (Split-Path $f) | Out-Null; New-Item $f -ea 0 | Out-Null; Invoke-Item $f - 2Replace the file contents
Add the dabboUno provider block to your config. Merge it into the existing file, keeping any mcp or agent blocks you already have.
json{ "$schema": "https://opencode.ai/config.json", "provider": { "dabbouno-live": { "name": "dabboUno", "npm": "@ai-sdk/openai-compatible", "options": { "apiKey": "YOUR_API_KEY", "baseURL": "https://newapi.c.dabbo.net/v1" }, "models": { } } } } - 3Verify the models load
Save the file and run opencode models in a terminal. Every id you listed should appear, prefixed with your provider key.
bashopencode models - 4Pick a model
Open the model picker and switch to your new model. The adapter handles streaming and tool calling.
Recommended models
Free models that work here. Paste any model id into the client.
Gotchas
- OpenCode has no live model discovery for OpenAI-compatible providers. Every model you want must be listed in the "models" block by exact id.
- Do not name the provider key "unorouter" on its own. That id already exists in the models.dev registry, and OpenCode uses the registry list instead of yours, so newer models will be missing. The "-live" suffix above avoids the clash.
- Use exact model ids from the dabboUno catalog. Strip any leading provider prefix a copy-paste added, and keep the :free suffix where the id has one.
- A custom provider key with no "models" block loads zero models, so the provider disappears from the picker entirely.