Repository navigation
v0.2.0
Changed
- Model discovery now uses stale-while-revalidate: on startup the plugin registers the last discovered catalog immediately from its cache and refreshes it in the background, replaying the catalog transform only when the server's catalog changed. Cold starts no longer block the model picker on network discovery; the first-ever run simply populates the picker when discovery completes.
- The cached catalog is also revalidated on an interval, default every five minutes, so long-running sessions pick up server-side model changes. Set
"refreshMs": 0to revalidate only at startup; concurrent polls are coalesced, so a slow discovery never stacks requests. - A revalidation can no longer strip a model's reasoning variants. CLIProxyAPI's reasoning-level endpoint can fail outright or briefly serve an incomplete model list, and both read as "this model has no levels"; committing that reading removed variants from the picker and cached the loss, so it survived a restart. The previous catalog's variants are now carried forward instead. Genuine level changes still apply; a real removal needs the cache cleared.
- A missing Codex client catalog (
404) is now treated as a genuine empty answer rather than an error, keeping it distinguishable from an endpoint that is merely broken. - The cached catalog no longer stores the API key. Providers restored from cache authenticate through the integration until the next revalidation resolves the credential again.
- The npm package now ships the root
index.jsentrypoint wrapper required by OpenCode 2's plugin directory scan.
Breaking
- Migrated to the OpenCode 2 plugin API. This release requires OpenCode 2 (
opencode2) and no longer works with OpenCode 1. Use the0.1.xline for OpenCode 1. - The plugin entry moves from
plugintopluginsand from the["package", {options}]tuple to{"package": ..., "options": {...}}. - Provider and model registration now use the V2 catalog transform API and V2 schema shapes:
npmbecomespackagewith anaisdk:prefix,optionsbecomessettings, andtool_call/modalitiesbecomecapabilities. - User
providers.cliproxyapiconfig is now applied by OpenCode after the plugin and takes precedence, replacing the plugin's own model merge.
Full Changelog: v0.1.2...v0.2.0