{
"$schema": "https://opencode.ai/config.json",
"provider": {
"test-website": {
"npm": "@ai-sdk/openai",
"options": {
"baseURL": "https://test.website.com",
"apiKey": "test-key"
},
"models": {
"gpt-5.6-luna": {
"name": "GPT-5.6 Luna","family": "gpt-luna","release_date": "2026-07-09",
"attachment": true,"reasoning": true,"temperature": false,"tool_call": true,
"modalities": {"input": ["text","image","pdf"],"output": ["text"]},
"limit": {"context": 1050000,"input": 922000,"output": 128000}
},
"gpt-5.6-terra": {
"name": "GPT-5.6 Terra","family": "gpt-terra","release_date": "2026-07-09",
"attachment": true,"reasoning": true,"temperature": false,"tool_call": true,
"modalities": {"input": ["text","image","pdf"],"output": ["text"]},
"limit": {"context": 1050000,"input": 922000,"output": 128000}
},
"gpt-5.6-sol": {
"name": "GPT-5.6 Sol","family": "gpt-sol","release_date": "2026-07-09",
"attachment": true,"reasoning": true,"temperature": false,"tool_call": true,
"modalities": {"input": ["text","image","pdf"],"output": ["text"]},
"limit": {"context": 1050000,"input": 922000,"output": 128000}
},
"deepseek-v4-flash": {
"name": "DeepSeek V4 Flash","family": "deepseek-flash","release_date": "2026-04-24",
"attachment": false,"reasoning": false,"temperature": true,"tool_call": true,
"modalities": {"input": ["text"],"output": ["text"]},
"limit": {"context": 1000000,"output": 65536},
"provider": {
"npm": "@ai-sdk/openai-compatible"
},
"variants": {
"low": {"reasoningEffort": "low"},
"medium": {"reasoningEffort": "medium"},
"high": {"reasoningEffort": "high"},
"none": {"reasoningEffort": "none"}
}
}
}
}
}
}
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"test-website": {
"npm": "@ai-sdk/openai",
"options": {
"baseURL": "https://test.website.com",
"apiKey": "test-key"
},
"models": {
"gpt-5.6-luna": {
"extends": {
"url": "https://raw.githubusercontent.com/anomalyco/models.dev/refs/heads/dev/models/openai/gpt-5.6-luna.toml"
}
},
"gpt-5.6-terra": {
"extends": {
"url": "https://raw.githubusercontent.com/anomalyco/models.dev/refs/heads/dev/models/openai/gpt-5.6-terra.toml"
}
},
"gpt-5.6-sol": {
"extends": {
"url": "https://raw.githubusercontent.com/anomalyco/models.dev/refs/heads/dev/models/openai/gpt-5.6-sol.toml"
}
},
"deepseek-v4-flash": {
"extends": {
"url": "https://raw.githubusercontent.com/anomalyco/models.dev/refs/heads/dev/models/deepseek/deepseek-v4-flash.toml",
"override": {
"reasoning": false,
"limit": {
"output": 65536
}
}
},
"provider": {
"npm": "@ai-sdk/openai-compatible"
},
"variants": {
"low": {"reasoningEffort": "low"},
"medium": {"reasoningEffort": "medium"},
"high": {"reasoningEffort": "high"},
"none": {"reasoningEffort": "none"}
}
}
}
}
}
}
Feature hasn't been suggested before.
Describe the enhancement you want to request
opencode.jsoncshould support inheriting data fromanomalyco/models.devvia properties when configuring provider models. This current issue was inspired by Minimax-M3 on NVIDIA NIM models.dev#2671 and fix(provider): correct MiniMax M3 thinking variants #38330 .opencodethat includes both GPT and DeepSeek models, it is easy to end up with a configuration like this in~/.config/opencode/opencode.jsonc.{ "$schema": "https://opencode.ai/config.json", "provider": { "test-website": { "npm": "@ai-sdk/openai", "options": { "baseURL": "https://test.website.com", "apiKey": "test-key" }, "models": { "gpt-5.6-luna": { "name": "GPT-5.6 Luna","family": "gpt-luna","release_date": "2026-07-09", "attachment": true,"reasoning": true,"temperature": false,"tool_call": true, "modalities": {"input": ["text","image","pdf"],"output": ["text"]}, "limit": {"context": 1050000,"input": 922000,"output": 128000} }, "gpt-5.6-terra": { "name": "GPT-5.6 Terra","family": "gpt-terra","release_date": "2026-07-09", "attachment": true,"reasoning": true,"temperature": false,"tool_call": true, "modalities": {"input": ["text","image","pdf"],"output": ["text"]}, "limit": {"context": 1050000,"input": 922000,"output": 128000} }, "gpt-5.6-sol": { "name": "GPT-5.6 Sol","family": "gpt-sol","release_date": "2026-07-09", "attachment": true,"reasoning": true,"temperature": false,"tool_call": true, "modalities": {"input": ["text","image","pdf"],"output": ["text"]}, "limit": {"context": 1050000,"input": 922000,"output": 128000} }, "deepseek-v4-flash": { "name": "DeepSeek V4 Flash","family": "deepseek-flash","release_date": "2026-04-24", "attachment": false,"reasoning": false,"temperature": true,"tool_call": true, "modalities": {"input": ["text"],"output": ["text"]}, "limit": {"context": 1000000,"output": 65536}, "provider": { "npm": "@ai-sdk/openai-compatible" }, "variants": { "low": {"reasoningEffort": "low"}, "medium": {"reasoningEffort": "medium"}, "high": {"reasoningEffort": "high"}, "none": {"reasoningEffort": "none"} } } } } } }gpt-5.6-luna.toml,gpt-5.6-terra.toml,gpt-5.6-sol.toml, anddeepseek-v4-flash.toml—from TOML format into the JSON format required byopencode.jsonc.anomalyco/opencodelacks a mechanism for directly referencing configurations fromanomalyco/models.dev. I believe it would be entirely feasible to support configurations withextendsandoverridedirectives, allowingopencode.jsoncto inherit from and override configurations fromanomalyco/models.dev. This would significantly simplify the mental burden of maintaining configurations.{ "$schema": "https://opencode.ai/config.json", "provider": { "test-website": { "npm": "@ai-sdk/openai", "options": { "baseURL": "https://test.website.com", "apiKey": "test-key" }, "models": { "gpt-5.6-luna": { "extends": { "url": "https://raw.githubusercontent.com/anomalyco/models.dev/refs/heads/dev/models/openai/gpt-5.6-luna.toml" } }, "gpt-5.6-terra": { "extends": { "url": "https://raw.githubusercontent.com/anomalyco/models.dev/refs/heads/dev/models/openai/gpt-5.6-terra.toml" } }, "gpt-5.6-sol": { "extends": { "url": "https://raw.githubusercontent.com/anomalyco/models.dev/refs/heads/dev/models/openai/gpt-5.6-sol.toml" } }, "deepseek-v4-flash": { "extends": { "url": "https://raw.githubusercontent.com/anomalyco/models.dev/refs/heads/dev/models/deepseek/deepseek-v4-flash.toml", "override": { "reasoning": false, "limit": { "output": 65536 } } }, "provider": { "npm": "@ai-sdk/openai-compatible" }, "variants": { "low": {"reasoningEffort": "low"}, "medium": {"reasoningEffort": "medium"}, "high": {"reasoningEffort": "high"}, "none": {"reasoningEffort": "none"} } } } } } }