Skip to content

[ENHANCEMENT] Add Opper as a provider #1890

Open

Description

@Felixkw12

Problem (one or two sentences)

Zoo Code users who want to use Opper, an EU-hosted AI gateway, have to set it up as a generic OpenAI-compatible endpoint by hand: base URL, key and model ids. There is no Opper entry in the provider list.

Context (who is affected and when)

Teams that need EU data residency, or that want one key and one bill across model vendors. Opper is an EU-hosted gateway with one OpenAI-compatible API and one key for 700+ models from 50+ providers. These users hit the gap the first time they open the provider settings.

Desired behavior (conceptual, not technical)

Opper appears in the provider list next to the other gateways. The user pastes an Opper API key, picks a model from a list that is loaded automatically, and starts working. Nothing else to configure.

Constraints / preferences (optional)

Same shape as the existing gateway providers: no new dependencies, no change to defaults, and a model list fetched live so nobody has to maintain a model table by hand.

Request checklist

  • I've searched existing Issues and Discussions for duplicates
  • This describes a specific problem with clear context and impact

Zoo Code Task Links (optional)

No response

Acceptance criteria (optional)

  • Opper is selectable in the provider dropdown.
  • With a valid key, the model picker lists Opper's models from GET https://api.opper.ai/v3/compat/models.
  • Chat requests go to https://api.opper.ai/v3/compat/chat/completions with the selected model id.
  • A missing or invalid key is reported the same way as for the other providers.

Proposed approach (optional)

Follow the NanoGPT provider added in #1239: provider and settings types in packages/types, a handler and a live model fetcher in src/api/providers, a settings component in webview-ui, the settings strings across the locales, and tests mirroring the NanoGPT specs. Model ids are bare pool names such as claude-sonnet-4-6, and Opper picks the route per request.

I would like to implement this and will comment to claim it.

Disclosure: I work at Opper.

Trade-offs / risks (optional)

A provider/model id such as azure/gpt-5.5 pins one route instead of letting Opper choose; it is passed through unchanged, so both forms work. Otherwise Opper behaves like the other OpenAI-compatible gateways.

Activity

  1. Felixkw12 commented on Oct 5, 2026

    @Felixkw12
    Author

    Claiming

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions