anomalyco / anomalyco/opencode

[FEATURE]: `opencode.jsonc` should support inheriting data from `anomalyco/models.dev` via properties when configuring provider models

Open
#40,156 2 comments 0 reactions 1 assignee View on GitHub

@rekram1-node is already working on this.

Since Aug 2, 2026.

Dominant language
TypeScript
Stars
209k
Forks
27.5k
PR merge metrics
PR metrics pending

Description

Feature hasn't been suggested before.
  • I have verified this feature I'm about to request hasn't been suggested before.
Describe the enhancement you want to request
{
  "$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"}
          }
        }
      }
    }
  }
}
  • Currently, users are forced to visit https://github.com/anomalyco/models.dev to find configuration details for each model and manually convert model attributes—such as those found in gpt-5.6-luna.toml, gpt-5.6-terra.toml, gpt-5.6-sol.toml, and deepseek-v4-flash.toml—from TOML format into the JSON format required by opencode.jsonc.
  • anomalyco/opencode lacks a mechanism for directly referencing configurations from anomalyco/models.dev. I believe it would be entirely feasible to support configurations with extends and override directives, allowing opencode.jsonc to inherit from and override configurations from anomalyco/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",
              "https://github.com/anomalyco/models.dev/raw/refs/heads/dev/providers/openai/models/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",
              "https://raw.githubusercontent.com/anomalyco/models.dev/refs/heads/dev/providers/openai/models/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"
            "url": [
              "https://raw.githubusercontent.com/anomalyco/models.dev/refs/heads/dev/models/openai/gpt-5.6-sol.toml",
              "https://raw.githubusercontent.com/anomalyco/models.dev/refs/heads/dev/providers/openai/models/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",
              "https://raw.githubusercontent.com/anomalyco/models.dev/refs/heads/dev/providers/deepseek/models/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"}
          }
        }
      }
    }
  }
}

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.