npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

opencode-provider-orvix

v0.3.1

Published

OpenCode plugin for the Orvix AI model provider with live model discovery

Readme

Features

  • Live model discovery — fetches the current model catalog from the Orvix API at startup, with a sensible fallback catalog when the API is unreachable.
  • OpenAI-compatible — uses @ai-sdk/openai-compatible under the hood, so streaming, tool calls, and JSON mode work out of the box.
  • API key management — built-in auth hook for storing and loading your Orvix API key via OpenCode's /connect command.
  • Managed + BYOK — orvix/* models spend Orvix Credits; unprefixed IDs use upstream credentials configured in Orvix and are billed by that provider.
  • Reasoning support — models with verified reasoning_effort profiles expose their supported none, minimal, low, medium, high, xhigh, and max modes through OpenCode's variant picker.
  • Zero config — add the plugin to your opencode.json and you're ready to go.

Quick start

1. Install the plugin

Add the package to your OpenCode config. OpenCode installs it automatically:

OpenCode 2.x:

// ~/.config/opencode/opencode.json  or  .opencode/opencode.json
{
  "plugins": ["opencode-provider-orvix"]
}

OpenCode 1.x (1.18.29+):

// ~/.config/opencode/opencode.json  or  .opencode/opencode.json
{
  "plugin": ["opencode-provider-orvix"]
}

The same package supports both plugin APIs. The V1 object entrypoint requires OpenCode 1.18.29 or newer; for older 1.x releases use [email protected].

The legacy opencode-provider-orvix/server entry point remains supported.

2. Get an Orvix API key

Create a project API key with the ai:invoke scope at platform.orvix.id.

3. Connect your API key

In OpenCode, run:

/connect orvix

Follow the prompts to enter your API key. OpenCode stores it securely and the plugin loads it automatically.

Alternatively, set the environment variable:

export ORVIX_API_KEY="orv-sk_live_your-key"

4. Start using Orvix models

opencode -m orvix/muse-spark-1.3

Or set a default model in your config:

{
  "model": "orvix/muse-spark-1.3",
  "small_model": "orvix/auto"
}

Available models

| Model | Context | Max output | Reasoning | |---|---:|---:|---| | orvix/auto | 450,000 | 16,384 | — | | orvix/muse-spark-1.2 | 450,000 | 80,000 | minimal–xhigh | | orvix/muse-spark-1.3 | 450,000 | 80,000 | minimal–xhigh | | orvix/mimo-v2.5 | 450,000 | 128,000 | — | | orvix/mimo-v2.5-pro | 450,000 | 128,000 | — | | orvix/glm-5.2 | 450,000 | 32,768 | none–max | | orvix/glm-5.3-flash | 450,000 | 131,072 | — | | orvix/gpt-5.6-luna | 450,000 | 128,000 | none–max | | orvix/gpt-5.6-sol | 450,000 | 128,000 | none–max | | orvix/gpt-5.6-terra | 450,000 | 128,000 | none–max | | orvix/grok-4.6 | 450,000 | 32,768 | — | | orvix/deepseek-v4-flash | 450,000 | 384,000 | — | | orvix/deepseek-v4-pro | 450,000 | 384,000 | none, low, high, max | | orvix/gemini-3.7-flash | 450,000 | 32,000 | — | | orvix/gemini-3.8-flash | 450,000 | 32,000 | — | | orvix/minimax-m3 | 450,000 | 32,768 | — | | orvix/qwen-3.8-flash | 450,000 | 65,536 | — | | orvix/qwen-3.8-max | 450,000 | 32,768 | — | | orvix/kimi-k3 | 450,000 | 16,384 | — |

The static catalog uses Orvix's enforced per-request ceilings. Authenticated model discovery enriches the catalog with live capabilities and pricing, while preserving these limits when the /models response is incomplete or stale. Unprefixed BYOK model IDs from your Orvix project appear automatically after discovery. Image-generation routes listed by the API (e.g. orvix/flux-2-pro, orvix/midjourney) are filtered out of the chat catalog.

Configuration

OpenCode 2.x

In OpenCode 2.x the plugin registers the provider, models, and credential methods through the plugin provider and integration APIs. You can still override fields it does not manage:

{
  "providers": {
    "orvix": {
      "name": "Orvix",
      "package": "aisdk:@ai-sdk/openai-compatible",
      "settings": {
        "baseURL": "https://api.orvix.id/v1"
      }
    }
  }
}

Model entries the plugin registers never overwrite models you have configured under providers.orvix.models.

OpenCode 1.x

The plugin sets these defaults automatically, but you can override them in your config:

{
  "provider": {
    "orvix": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Orvix",
      "env": ["ORVIX_API_KEY"],
      "options": {
        "baseURL": "https://api.orvix.id/v1"
      }
    }
  }
}

Environment variable

export ORVIX_API_KEY="orv-sk_live_your-key"

How it works

On startup the plugin:

  1. Registers the provider — orvix with @ai-sdk/openai-compatible (V1: config hook; V2: provider transform), the https://api.orvix.id/v1 base URL, and the ORVIX_API_KEY environment variable.
  2. Model discovery — If ORVIX_API_KEY is available, the plugin fetches the live model list from https://api.orvix.id/v1/models. If the API is unreachable, it falls back to a static catalog of known Orvix models; verified limits remain in place if the endpoint reports stale values.
  3. Model aliases — OpenCode exposes managed models as orvix/<name> while sending Orvix's required orvix/<name> upstream IDs without duplicating the provider prefix. BYOK IDs without a prefix are passed through verbatim.
  4. Auth — V1 provides an API key auth hook; V2 registers env and key methods on the orvix integration so both ORVIX_API_KEY and OpenCode's /connect orvix resolve your credential.

Plugin API versions

The package ships the dual V1/V2 entrypoint recommended by OpenCode's plugin migration guide: the default export is a V2 Plugin.define({ id: "orvix", setup }) definition spread together with a V1 server() function returning the classic config and auth hooks. OpenCode 1.x calls server(); OpenCode 2.x reads id and setup.

Related projects

Unofficial project; not affiliated with Orvix or OpenCode. Orvix and upstream-provider usage limits and charges still apply. Licensed under MIT.