Skip to content

feat(providers): add Opper as an OpenAI-compatible gateway - #242

Merged
Zongwei9888 merged 1 commit into
HKUDS:mainfrom
Felixkw12:feat/opper-provider
Sep 28, 2026
Merged

Zongwei9888 merged 1 commit into
HKUDS:mainfrom
Felixkw12:feat/opper-provider

Conversation

@Felixkw12

@Felixkw12 Felixkw12 commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Opper is an EU hosted gateway. One key reaches models from OpenAI, Anthropic, Google, Mistral, DeepSeek, Moonshot and open weight vendors at https://api.opper.ai/v3/compat.

Mirrors the Requesty provider added in #159: a ProviderSpec on the generic openai_compat gateway path, the matching ProviderConfig block, and tests pinning the wiring.

Two provider specific decisions, both covered by tests. Prompt caching is on, because Opper serves Anthropic models and prices cached input separately, and bare pool names start with claude so the existing trigger applies. strip_model_prefix stays off, unlike Forge: Opper ids are bare pool names, but a provider/model id such as azure/gpt-5.5 deliberately pins one route, so stripping the prefix would silently change routing.

Description

[Briefly describe the changes made in this pull request.]

Related Issues

[Reference any related issues or tasks addressed by this pull request.]

Changes Made

[List the specific changes made in this pull request.]

Checklist

  • Changes tested locally
  • Code reviewed
  • Documentation updated (if necessary)
  • Unit tests added (if applicable)

Additional Notes

[Add any additional notes or context for the reviewer(s).]


Disclosure: I work at Opper. Opper is an OpenAI-compatible gateway hosted in the EU, and a good part of what it adds over a generic endpoint is European native routes, so requests can be pinned to EU-hosted regions. Happy to adjust anything here to match project conventions, or to close it if a named provider is not wanted.

Opper is an EU hosted gateway. One key reaches models from OpenAI,
Anthropic, Google, Mistral, DeepSeek, Moonshot and open weight vendors
at https://api.opper.ai/v3/compat.

Mirrors the Requesty provider added in HKUDS#159: a ProviderSpec on the
generic openai_compat gateway path, the matching ProviderConfig block,
and tests pinning the wiring.

Two provider specific decisions, both covered by tests. Prompt caching
is on, because Opper serves Anthropic models and prices cached input
separately, and bare pool names start with claude so the existing
trigger applies. strip_model_prefix stays off, unlike Forge: Opper ids
are bare pool names, but a provider/model id such as azure/gpt-5.5
deliberately pins one route, so stripping the prefix would silently
change routing.
@Zongwei9888

Copy link
Copy Markdown
Collaborator

Merged into main as ab088e6. Thank you @Felixkw12 — and thank you for the upfront disclosure, which made this easy to review. The template follows the Requesty shape from #159, and both provider-specific choices are well argued: prompt caching on because Opper prices cached Anthropic input separately, and provider/model prefixes kept because they pin a route. Your tests pass locally along with the full suite.

One small addition on our side: opper is now listed in the endpoint-class table in tests/test_provider_egress.py, so the egress policy's classification of the template is pinned like the other gateways.

Zongwei9888 added a commit that referenced this pull request Sep 28, 2026
Adds an opper ProviderSpec on the generic openai_compat gateway path
(https://api.opper.ai/v3/compat, OPPER_API_KEY) and the matching
ProvidersConfig block. Prompt caching is on because Opper serves Anthropic
models and prices cached input separately; provider/model prefixes are kept
because they pin a route. Repair: list opper in the endpoint-class test table.
Contributed by Felixkw12.
@Zongwei9888
Zongwei9888 merged commit a85d0d5 into HKUDS:main Sep 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants