Repository navigation
Conversation
|
All contributors on this pull request have signed the VoiceStudio CLA. Thank you! |
|
I have read the VoiceStudio CLA 1.0 and I hereby sign it. |
|
[Medium risk] Adds Opper as an optional LLM provider choice. The PR appears safe to merge; no actionable issue remains. SummaryAdds Opper through the existing OpenAI-compatible provider registry.
Reviews (3) · Last reviewed commit: "feat(llm-providers): add Opper as a name..." · Reviewed by Greptile |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe provider registry now includes Opper with a compatibility endpoint, default model, environment-variable settings, and signup URL. Tests cover its configuration. Documentation, settings search, and the changelog include Opper. ChangesOpper provider support
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Feature · Severity of issue fixed: Medium Suggested reviewers: Merge Risk: ⚪ Minimal · up to Users can configure Opper through the existing provider settings, and the reviewed changes align with its documented endpoint and credentials. No actionable merge-blocking mismatch was found. 🚥 Pre-merge checks | ✅ 8 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (8 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 3 files. (1 skipped: 1 unsupported.)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
4327b63 to
6b6e208
Compare
Adds Opper as a named provider in Settings → LLM Providers. Opper is an EU-hosted AI gateway with 700+ models from 50+ providers behind one OpenAI-compatible API and one key. The entry follows the OpenRouter and Cheaper Inference entries and only adds configuration on top of the existing OpenAI-compatible transport, with no new dependency. - `backend/services/llm_providers.py`: new `opper` provider after Cheaper Inference. - base URL `https://api.opper.ai/v3/compat`, default model `claude-sonnet-4-6` - `OPPER_API_KEY` and `OPPER_MODEL`, sign-up link `https://platform.opper.ai` - no `base_url_env`. Opper's own SDKs and examples read `OPPER_BASE_URL` as the API root (`https://api.opper.ai`), not the OpenAI-compatible path, so a user who already exports it would otherwise get a broken endpoint. The URL can still be changed in Settings. - `docs/dubbing/translation-engines.md`: Opper in the supported list, a setup paragraph, and the `LLM_DEFAULT_PROVIDER` ids. - `electron/src/shared/components/settings/settingsCategories.jsx`: `opper` search keyword. - `tests/test_llm_providers.py`: registry id plus a contract test for the defaults, the env overrides, and that `OPPER_BASE_URL` does not replace the endpoint. - [x] ✨ New feature - `python3 -m py_compile` on both changed Python files. - `claude-sonnet-4-6` and `gpt-5.4-mini` are pooled models in Opper's public catalogue (`GET https://api.opper.ai/v3/models`). - Not run: the pytest suites and `bun run check:electron`. The new contract test was checked by reading `resolve_api_key`, `resolve_model` and `resolve_base_url`, not by running it. - [ ] I've tested this locally - [ ] Every commit author has signed the CLA (the **CLA** check tells you how) - [x] I've updated relevant documentation (if applicable) - [x] No local machine paths, logs, or personal env details in this PR Closes debpalash#2667 Disclosure: Opper is my startup. Signed-off-by: Felix Wunderlich <felix@opper.ai>
6b6e208 to
f111224
Compare
|
Rebased on main after the 0.5.7 release. The changelog line now sits under Unreleased with the contributor credit Greptile asked for. |
Summary
Adds Opper as a named provider in Settings → LLM Providers. Opper is an EU-hosted AI gateway with 700+ models from 50+ providers behind one OpenAI-compatible API and one key. The entry follows the OpenRouter and Cheaper Inference entries and only adds configuration on top of the existing OpenAI-compatible transport, with no new dependency.
Changes
backend/services/llm_providers.py: newopperprovider after Cheaper Inference.https://api.opper.ai/v3/compat, default modelclaude-sonnet-4-6OPPER_API_KEYandOPPER_MODEL, sign-up linkhttps://platform.opper.aibase_url_env. Opper's own SDKs and examples readOPPER_BASE_URLas the API root (https://api.opper.ai), not the OpenAI-compatible path, so a user who already exports it would otherwise get a broken endpoint. The URL can still be changed in Settings.docs/dubbing/translation-engines.md: Opper in the supported list, a setup paragraph, and theLLM_DEFAULT_PROVIDERids.electron/src/shared/components/settings/settingsCategories.jsx:oppersearch keyword.tests/test_llm_providers.py: registry id plus a contract test for the defaults, the env overrides, and thatOPPER_BASE_URLdoes not replace the endpoint.Type
Testing
python3 -m py_compileon both changed Python files.claude-sonnet-4-6andgpt-5.4-miniare pooled models in Opper's public catalogue (GET https://api.opper.ai/v3/models).bun run check:electron. The new contract test was checked by readingresolve_api_key,resolve_modelandresolve_base_url, not by running it.Checklist
tests/fixtures/omnivoice_data/(not applicable, no change to the voice runtime)Closes #2667
Disclosure: Opper is my startup.
Adds Opper as a named OpenAI-compatible LLM provider with a default endpoint and model,
OPPER_API_KEYandOPPER_MODELsupport, documentation, a Settings search keyword, and tests. This lets users select Opper without manually configuring the Custom provider; the endpoint remains editable in Settings and does not useOPPER_BASE_URL. The pytest suites andbun run check:electronwere not run.