Skip to content

v1.10.0

Choose a tag to compare

@github-actions github-actions released this 11 Oct 16:17
· 84 commits to dev since this release
42869b0

Release v1.10.0

v1.10.0 strengthens the OpenCode v2 integration with native Integration
credentials, hidden API key handling, interactive model inspection, and
host-managed discovery cache operations. OpenCode v1 behavior and
configuration remain compatible.

Highlights

OpenCode v2 Integration Credentials

OpenCode v2 providers can now use credentials managed by the native /connect
workflow through the host Integration API. API keys do not need to be written
into opencode.json.

{
  "providers": {
    "deepseek-custom": {
      "name": "DeepSeek Custom",
      "package": "@opencode-ai/ai/providers/openai-compatible",
      "settings": {
        "baseURL": "https://api.deepseek.com",
        "modelsDiscovery": {
          "enabled": true,
          "endpoint": "/models"
        }
      }
    }
  }
}

After configuring the provider:

  1. Run /connect in the OpenCode v2 TUI.
  2. Select the provider.
  3. Enter the API key.
  4. Model discovery uses the managed credential.
  5. Runtime model requests use the same Integration-backed credential.

Providers can optionally reuse a credential from another Integration by
setting settings.integrationID.

Hidden API Key Handling

Integration credentials are resolved only when needed for discovery and runtime
requests. Resolved API keys are:

  • not written back to opencode.json;
  • not stored in discovery cache records;
  • not returned by status tools or TUI diagnostics;
  • not included in logs; and
  • injected into runtime request headers only in memory.

When a credential is disconnected or revoked, the adapter reacts to the host
credential event and removes the in-memory authorization binding.

Unified Discovery Console

The new native TUI command is:

/models-discovery-console

It combines interactive model inspection with discovery cache management. The
standalone quick-refresh command remains available:

/models-discovery-refresh

The console provides:

  • Provider → Model → Details browsing;
  • Provider and model metadata inspection;
  • Cache status inspection;
  • Force refresh while bypassing valid cache entries;
  • Provider cache clearing; and
  • Clearing all discovery caches.

A Provider filter is supported:

/models-discovery-console status --provider <provider-id>

Added

Integration-Aware Credential Resolution

The V2 adapter resolves provider credentials with the following precedence:

  1. Explicit providers.<id>.settings.apiKey;
  2. An active Integration credential referenced by settings.integrationID;
  3. The provider's default Integration credential; and
  4. Unauthenticated access for providers that do not require credentials.

Credential Lifecycle Reactivity

The plugin reacts to OpenCode v2 credential and configuration lifecycle events,
including credential updates, credential switching, Integration updates, and
configuration updates. Discovery and runtime authentication can therefore be
refreshed without restarting OpenCode.

Structured Discovery Status

The models_discovery_status Agent Tool and native TUI console expose
structured Provider and model information, including:

  • Provider identity;
  • Model counts;
  • Model metadata;
  • Limits;
  • Capabilities;
  • Variants; and
  • Cache state.

Credentials and authorization headers are excluded from these responses.

Changed

Improved Model Detail Presentation

Model details are shown in structured sections instead of a single
unformatted report. Limits, capabilities, modalities, reasoning support,
attachments, and variants are easier to inspect.

Improved Provider Model Counts

Provider summaries now report the resolved model count directly, including
providers with zero available models.

Workspace-Aware RPC Routing

Discovery status, refresh, and cache operations use the active OpenCode
workspace location, improving behavior in multi-workspace sessions.

Compatibility

  • Existing OpenCode v1 configuration and discovery behavior remain supported.
  • Existing V1 cache behavior remains unchanged.
  • OpenCode v2 continues to use the plugins, providers, package, and
    settings configuration model.
  • V1 and V2 use separate cache formats.
  • Explicit settings.apiKey configuration remains supported.
  • OpenCode v2 Integration credentials require a compatible OpenCode v2 host.
  • OpenCode v2 discovery and cache operations remain beta features.
  • The models_discovery_refresh and models_discovery_status Agent Tools
    remain available for automation.

Deferred

Model-level overrides remain deferred for a future release. This includes:

  • Custom model renaming;
  • Model disabling;
  • Manual limit overrides;
  • Manual capability overrides; and
  • Provider-specific model metadata corrections.