Skip to content

Releases: yuhp/opencode-models-discovery

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 20 Jul 03:38
fdffd8b

Added

  • Add opt-in vLLM model info enrichment with:
  {
    "modelsDiscovery": {
      "modelInfoFormat": "vllm"
    }
  }
  • When a vLLM-compatible /v1/models response exposes the non-standard
    max_model_len field, discovered models receive matching limit.context
    and limit.output values.

Notes

  • vLLM enrichment only uses max_model_len; it does not infer model
    capabilities such as reasoning, tools, or modalities.
  • Models remain discoverable when max_model_len is unavailable.

v1.0.2

Choose a tag to compare

@github-actions github-actions released this 14 Jul 03:00
ee9da82

🎉 Release v1.0.2

Changes since v1.0.1.

What's Changed

Models.dev Compatibility

  • Improved models.dev metadata lookup for gateway-prefixed model IDs and provider variant suffixes, such as openrouter/moonshotai/kimi-k2.6:free.
  • Metadata enrichment now reliably applies display names, limits, tool support, reasoning support, and declared modalities when a matching models.dev entry is available.

Safer Discovered Model Defaults

  • Discovered non-embedding models now receive safe fallback modalities of text input and text output.
  • This fixes missing modality declarations for chat models outside the previous name-based whitelist, including DeepSeek-style model IDs.
  • When models.dev metadata is available, its declared model capabilities continue to override the fallback.

Release Infrastructure

  • Updated release workflows to use Node.js 24.18.0 and current npm, ensuring compatibility with npm trusted publishing.

Verification

  • Full test suite and TypeScript type checking pass.

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 07 Jul 10:01
5af0724

Release v1.0.1

v1.0.1 improves models.dev enrichment for custom providers and updates the README Star History embed.

Fixed

models.dev Matching for Custom Provider IDs

models.dev enrichment now matches by model id segment rather than requiring the provider prefix to match.

This allows custom provider ids such as:

custom/gpt-4o

to safely match models.dev metadata for:

openai/gpt-4o

when the model id segment is unambiguous.

The matcher still avoids unsafe metadata assignment:

  • duplicate exact model id segment matches return no metadata
  • tied prefix matches return no metadata
  • weak prefix matches are rejected

This behavior only applies when models.dev enrichment is explicitly enabled:

{
  "modelsDiscovery": {
    "modelInfoFormat": "models.dev"
  }
}

Smart Model Names

When smartModelName is enabled and models.dev provides a display name, the plugin can use the models.dev display name for enriched models.

When smartModelName is disabled, discovered models keep their raw ids even if models.dev provides a display name.

Documentation

Updated documentation to clarify that models.dev matching is based on model id segments, not provider ids or display names.

Updated README Star History image URLs to use a public Star History embed token.

Validation

Validated with:

npm run test:run -- test/models-dev-fetcher.test.ts test/plugin.test.ts
npm run typecheck
npm run test:run

Test result:

3 test files passed
68 tests passed

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 03 Jul 14:49
deedf82

Release v1.0.0

v1.0.0 completes the provider-level configuration migration introduced in v0.12.0.

This release includes a breaking change: plugin-level global discovery configuration is no longer applied at runtime. Discovery settings should now be configured under each provider at provider.<id>.options.modelsDiscovery.

Breaking Change

Plugin-level global discovery config is now ignored:

{
  "plugin": [
    [
      "opencode-models-discovery",
      {
        "discovery": {
          "enabled": false
        },
        "models": {
          "includeRegex": ["^deepseek"]
        },
        "smartModelName": true
      }
    ]
  ]
}

Move settings to provider-level config:

{
  "provider": {
    "example": {
      "options": {
        "modelsDiscovery": {
          "enabled": false,
          "smartModelName": true,
          "models": {
            "includeBy": [
              { "field": "id", "match": "^deepseek" }
            ]
          }
        }
      }
    }
  }
}

The plugin still detects legacy global config. When detected, it logs a warning, shows a migration toast, and injects /models-discovery:migrate.

New

Provider-Level Dynamic Filters

Added provider-level models.includeBy and models.excludeBy under:

provider.<id>.options.modelsDiscovery.models

Rules support two modes:

{
  "field": "available",
  "equals": false
}
{
  "field": "id",
  "match": "^deepseek"
}

Use equals for strict equality against:

  • string
  • number
  • boolean
  • null

Use match for regex matching against string field values.

Example:

{
  "modelsDiscovery": {
    "models": {
      "includeBy": [
        { "field": "id", "match": "^deepseek" }
      ],
      "excludeBy": [
        { "field": "available", "equals": false },
        { "field": "id", "match": "embedding" }
      ]
    }
  }
}

Default Discovery Environment Variable

Added OPENCODE_MODELS_DISCOVERY_DEFAULT_ENABLED.

Supported truthy values:

  • true
  • 1
  • yes
  • on

Supported falsy values:

  • false
  • 0
  • no
  • off

Provider-level modelsDiscovery.enabled takes precedence over the environment variable.

Example:

OPENCODE_MODELS_DISCOVERY_DEFAULT_ENABLED=false opencode

This disables discovery by default only for providers without explicit modelsDiscovery.enabled.

Config Helper Updates

Updated /models-discovery:config to recommend provider-level configuration and the new includeBy / excludeBy filters.

Updated /models-discovery:migrate to guide migration from legacy global config to provider-level config.

Changed

Legacy Global Config Handling

Legacy global config is still detected, but no longer applied.

Updated warning message:

Global opencode-models-discovery config is no longer applied in v1.0.0. Move settings to provider.<name>.options.modelsDiscovery or run /models-discovery:migrate.

Model Regex Filters

Provider-level models.includeRegex and models.excludeRegex remain supported as id-only shortcuts.

For new configs, prefer:

{
  "includeBy": [
    { "field": "id", "match": "^qwen/" }
  ],
  "excludeBy": [
    { "field": "id", "match": "embedding|rerank" }
  ]
}

Existing includeRegex / excludeRegex shortcut behavior is preserved.

Documentation

Updated:

  • README.md
  • docs/configuration.md
  • docs/upgrading.md

Added:

  • docs/config_example/README.md
  • docs/config_example/deepseek.md
  • docs/issues/v1.0.0-provider-level-config-prd.md

Validation

Validated with:

npm run typecheck
npm run test:run
npm run build
npm pack --dry-run

Test result:

3 test files passed
64 tests passed

Upgrade Notes

If you use only provider-level modelsDiscovery config, no action should be required.

If you use plugin-level global config, migrate it to each provider.

Old:

{
  "plugin": [
    [
      "opencode-models-discovery",
      {
        "models": {
          "includeRegex": ["^qwen"]
        }
      }
    ]
  ]
}

New:

{
  "provider": {
    "example": {
      "options": {
        "modelsDiscovery": {
          "models": {
            "includeBy": [
              { "field": "id", "match": "^qwen" }
            ]
          }
        }
      }
    }
  }
}

After changing OpenCode config, restart OpenCode.

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 26 Jun 04:41
53c0104

Release v0.12.0

v0.12.0 is a transition release for the provider-level discovery configuration model. Existing plugin-level discovery config continues to work in 0.12.x, but it is now deprecated and will be removed in 1.0.0.

Highlights

  • Added /models-discovery:config for assistant-guided provider-level setup.
  • Added /models-discovery:migrate when deprecated plugin-level discovery config is detected.
  • Added one-time legacy config warnings and migration guidance.
  • Kept existing discovery behavior compatible for 0.12.x.
  • Removed an unused chat.params hook.
  • Updated release automation to sync package-lock.json versions and use Publish vX.Y.Z release PR titles.

Configuration Migration

Deprecated plugin-level options still work in 0.12.x, but should be moved to provider.<name>.options.modelsDiscovery:

  • discovery.enabled
  • providers.include
  • providers.exclude
  • models.includeRegex
  • models.excludeRegex
  • smartModelName

Recommended provider-level shape:

{
  "provider": {
    "lmstudio": {
      "options": {
        "modelsDiscovery": {
          "enabled": true
        }
      }
    }
  }
}

v1.0 Compatibility Boundary

Planned 1.0.0 behavior:

  • Plugin-level discovery config will be removed.
  • Discovery will remain enabled by default for compatible providers.
  • Set provider.<name>.options.modelsDiscovery.enabled = false to disable discovery for one provider.
  • OPENCODE_MODELS_DISCOVERY_DEFAULT_ENABLED=false is planned for users who want unspecified providers to default to disabled.

Validation

The release workflow passed:

npm run build

Result:

Test Files  3 passed
Tests       56 passed

Installation

npm install opencode-models-discovery@0.12.0
# or
bun add opencode-models-discovery@0.12.0

v0.11.1

Choose a tag to compare

@github-actions github-actions released this 25 Jun 02:47
b344470

🎉 Release v0.11.1

Changes since v0.11.0.

Maintenance

  • Merge pull request #30 from yuhp/release/v0.11.1 (b344470)
  • Merge pull request #29 from yuhp/refactor/openai-discovery-http-client (6fa40ee)
  • ci: release from dev by default (5458a54)
  • refactor: remove unused provider auto-detection (c114872)
  • refactor: use low-level http client for discovery (86b6b33)

Installation

npm install opencode-models-discovery@0.11.1
# or
bun add opencode-models-discovery@0.11.1

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 24 Jun 11:01
44a492b

🎉 Release v0.11.0

Changes since v0.10.3.

Features

  • feat: add Level 4 prefix-based matching for model variants (98e79a2)
  • feat: extend models.dev fallback with all metadata fields (55703af)
  • feat: add models.dev fallback with 3-level matching (dbb14e6)
  • feat: add default fallback values for model limits (7dfa5e9)

Fixes

  • fix: ensure default context limits are always set with correct fallback sequence (f7e48bd)

Maintenance

  • Merge pull request #28 from yuhp/release/v0.11.0 (44a492b)
  • Merge remote-tracking branch 'origin/main' into release/v0.11.0 (89d9f5a)
  • Merge pull request #26 from rajebdev/feat/upgrade-features (e151121)
  • refactor: make models.dev metadata enrichment explicit (19bb4c7)
  • chore: update gitignore and dependencies - Update .gitignore patterns - Refresh package-lock.json with latest dependencies (e20e2d0)

Installation

npm install opencode-models-discovery@0.11.0
# or
bun add opencode-models-discovery@0.11.0

v0.10.3

Choose a tag to compare

@github-actions github-actions released this 22 Jun 02:20
6345868

🎉 Release v0.10.3

Changes since v0.10.2.

Fixes

  • fix: fallback when fetch fails during discovery (cc77cdf)

Maintenance

  • Merge pull request #23 from yuhp/release/v0.10.3 (6345868)
  • Merge pull request #22 from yuhp/pr-20-fetch-fallback-patch (e06eac3)

Installation

npm install opencode-models-discovery@0.10.3
# or
bun add opencode-models-discovery@0.10.3

v0.10.2

Choose a tag to compare

@github-actions github-actions released this 18 Jun 02:45
726f553

🎉 Release v0.10.2

Changes since v0.10.1.

Maintenance

  • Merge pull request #17 from yuhp/release/v0.10.2 (726f553)
  • Merge pull request #16 from yuhp/host-env-auth-store (d57f12c)
  • Support host-specific auth stores for Mimocode compatibility (3290d14)

Installation

npm install opencode-models-discovery@0.10.2
# or
bun add opencode-models-discovery@0.10.2

v0.10.1

Choose a tag to compare

@github-actions github-actions released this 15 Jun 07:59
d2847d5

🎉 Release v0.10.1

Changes since v0.10.0.

Fixes

  • fix: align plugin peer dependency with opencode engine (ea623a9)

Documentation

  • docs: reorganize README and guides (06127f0)

Maintenance

  • Merge pull request #15 from yuhp/release/v0.10.1 (d2847d5)
  • Merge pull request #14 from yuhp/dev (811f09d)
  • refactor(deps): move @opencode-ai/plugin to peerDependencies (48ac86f)

Installation

npm install opencode-models-discovery@0.10.1
# or
bun add opencode-models-discovery@0.10.1