Skip to content

feat(settings): add Opper provider preset - #165

Merged
Blankll merged 1 commit into
geek-fun:masterfrom
Felixkw12:feat/opper-provider
Oct 8, 2026
Merged

Blankll merged 1 commit into
geek-fun:masterfrom
Felixkw12:feat/opper-provider

Conversation

@Felixkw12

Copy link
Copy Markdown
Contributor

Adds Opper (https://opper.ai) as a provider preset in AI settings, right after Requesty. Opper is an EU-hosted AI gateway: 700+ models from 50+ providers behind one OpenAI-compatible API, with one key. It goes through the existing generic openai path with no backend changes, the same way as the OpenRouter and Requesty presets.

  • src/views/setting/provider-form-dialog.vue: opper preset (apiCompatibility 'openai', base URL https://api.opper.ai/v3/compat)
  • CHANGELOG.md: one line under Unreleased / Added

How to test: Settings > AI > Add provider, pick Opper, paste a key from https://platform.opper.ai, sync models (GET /v3/compat/models), then chat with a pool id such as claude-sonnet-4-6 or gpt-5.4-mini.

Not run locally: npm run lint:check, vue-tsc and the test suite. The change is one preset line in the existing array.

Disclosure: Opper is my startup.

Adds Opper (https://opper.ai) as a provider preset in AI settings, right
after Requesty. Opper is an EU-hosted AI gateway: 700+ models from 50+
providers behind one OpenAI-compatible API, with one key. It goes
through the existing generic `openai` path with no backend changes,
the same way as the OpenRouter and Requesty presets.

- src/views/setting/provider-form-dialog.vue: `opper` preset
  (apiCompatibility 'openai', base URL https://api.opper.ai/v3/compat)
- CHANGELOG.md: one line under Unreleased / Added

How to test: Settings > AI > Add provider, pick Opper, paste a key from
https://platform.opper.ai, sync models (GET /v3/compat/models), then
chat with a pool id such as claude-sonnet-4-6 or gpt-5.4-mini.

Not run locally: npm run lint:check, vue-tsc and the test suite. The
change is one preset line in the existing array.

Disclosure: Opper is my startup.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@codecov

codecov Bot commented Oct 7, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (master@fd7b953). Learn more about missing BASE report.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #165   +/-   ##
=========================================
  Coverage          ?   68.42%           
=========================================
  Files             ?       43           
  Lines             ?     2432           
  Branches          ?      596           
=========================================
  Hits              ?     1664           
  Misses            ?      594           
  Partials          ?      174           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Blankll added a commit that referenced this pull request Oct 8, 2026
Picks up the base-URL compatibility fix (geek-fun/data-studio-agent#32):
normalize_base_url no longer force-appends /v1 to URLs that already
carry their own version segment. This makes the Opper preset
(#165, api.opper.ai/v3/compat) work and un-breaks the Gemini
preset (generativelanguage.googleapis.com/v1beta/openai), which was
being mangled to /v1beta/openai/v1. All other provider presets keep
byte-identical resolved URLs.

Cargo.lock updated minimally (dependency entry only) — a scoped
cargo update on a resolver with different MSRV-fallback policy churns
unrelated transitive versions, so the entry was bumped by hand and
validated with cargo metadata/check --locked.
@Blankll
Blankll merged commit c78b01f into geek-fun:master Oct 8, 2026
5 checks passed
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