Repository navigation
v1.9.0
Release v1.9.0
v1.9.0 strengthens the shared V1/V2 discovery core and adds provider-scoped host-managed caching for OpenCode v2, while preserving the existing OpenCode v1 configuration and cache behavior.
Added
OpenCode v2 Host-Managed Discovery Cache
OpenCode v2 providers can opt into discovery caching through the host-provided storage API:
{
"modelsDiscovery": {
"enabled": true,
"cache": {
"enabled": true,
"ttlSeconds": 86400
}
}
}The V2 cache stores raw provider models and enrichment results. Fresh cache entries are reprocessed through the shared discovery pipeline so current filtering, classification, naming, and mapping rules remain effective. Caching is disabled by default.
The models_discovery_status tool can inspect cached data with:
{
"details": true,
"rawCache": true
}V2 uses a separate host-managed cache and does not import the V1 XDG disk-cache format. V2 cache-associated model overrides and /models-discovery:config cache management remain deferred.
Shared Discovery And Projection Core
The shared core now provides consistent behavior across OpenCode v1 and v2 for:
- raw model validation and normalization;
- model filtering and classification;
- smart naming and duplicate-name disambiguation;
- model-info enricher resolution;
- limit normalization and safe context-only output defaults;
- V1/V2 model projection parity.
V1 cache hits with raw model data are reprocessed through the shared pipeline, keeping cached and freshly discovered models consistent when filters, naming, or enrichment settings change.
Provider Metadata Improvements
- Bifrost reasoning efforts are exposed as standard
reasoningEffortvariants. - Bifrost context-only model limits are preserved.
- OmniRoute context-only limits and service-tier variants are supported.
- Reasoning capabilities are no longer guessed from model IDs.
Changed
Discovery Status
models_discovery_status now reports provider model details, context/output limits, capabilities, cache status, and optionally raw cached models and enrichment results.
Documentation
- docs: align V2 cache and validation guidance (2760727)
- docs: document V2 discovery cache (85383ee)
- docs: explain AIProxy metadata discovery (12aa2f5)
Maintenance
- Merge pull request #114 from dkattan/fix/bifrost-reasoning-variants-and-context-limit (9b9c492)
- fix(bifrost): map reasoning efforts to variants and emit context-only limits (1925331)
- Merge pull request #130 from Avinash99b/prob-omniroute-context-injection (ed657de)
- feat(omniroute): preserve context limit without output tokens and discover service tier variants (7864a83)
- Merge pull request #138 from yuhp/refactor/phase5-shared-contract-fixes (4cd850e)
- docs(prd): record removal of heuristic reasoning guessing in Phase 5 (d46e958)
- fix(core): remove heuristic name-based reasoning guessing (02e15d1)
- test(core): add end-to-end V1/V2 adapter parity tests and finalize Phase 5 PRD (ab6707d)
- refactor(core): share model-info enricher resolution across V1 and V2 (99aee65)
- feat(v2): enhance models_discovery_status with limits and cache inspection (6782d89)
- refactor(cache): isolate V2 storage backend from cache policy (097632c)
- feat(v2): persist discovery cache through host storage (ed8e1cd)
- fix(v1): reprocess cached models through shared discovery pipeline (a7fde6c)
- refactor(core): share model projections across V1 and V2 (94813ed)
- Revert "refactor(v1): extract shared draft model mapper" (0c28655)
- refactor(v1): extract shared draft model mapper (dd767e1)
- refactor(core): enforce strict NormalizedModelLimit and remove loose index signature (99159df)
- refactor(core): unify model validity, owner resolution, and safe limit fallback semantics (d7dfc40)
- Merge pull request #137 from yuhp/refactor/shared-runtime-bundle (4c32a6c)
- refactor: share runtime bundle across plugin entries (defeff4)
- merge: integrate v2 shared-core refactor into dev (420b98a)
- chore: silence logger console lint warnings (295c340)
- refactor: remove legacy model enricher compatibility (9a63e58)
- refactor: simplify v2 model mapper inputs (a414f84)
- refactor: map native model enrichers (1ef0916)
- merge: integrate AIProxy metadata discovery into v2 (b24f06c)
- Merge pull request #129 from github-nicolas-stadler/feat/aiproxy-metadata-enrichment (3545a60)
- chore: ignore opencode config variants (e7098c0)
- refactor: migrate built-in model enrichers (a802c6a)
- chore: ignore OpenCode worktrees (ab9f83d)
- refactor: verify shared core parity (12e5ccc)
- refactor: extract shared discovery pipeline (dc40e1f)
- refactor: add shared model enrichment contract (fe96f3f)
- refactor: add shared model filtering and naming core (80e8357)
- Merge remote-tracking branch 'origin/main' into dev (de48d06)