feat(llm): add Requesty provider support - #659
Thibaultjaigu wants to merge 1 commit into
Conversation
Adds Requesty as a shorthand provider next to OpenRouter and Kilo Gateway: requesty_key / REQUESTY_API_KEY config and secrets, onboarding, provider API and settings UI, model listing via models.dev, routing defaults, icon and docs.
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (17)
Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review. WalkthroughThis change adds Requesty as an LLM provider across configuration, provider discovery and status, interface presentation, and model routing. It also updates setup documentation. The README separately adds OpenCode Zen to the prerequisite provider list. ChangesRequesty Provider
OpenCode Zen Prerequisite
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Feature Suggested reviewers: Merge Risk: ⚪ Minimal · up to Requesty’s defaults are forwarded using model identifiers its router documents as supported. No actionable merge risk remains in the reviewed changes. Security Architecture ReviewSecurity architecture risk: 🟡 Moderate · up to Requesty introduces a new destination for agent conversations and tool context. It uses the established provider transport and a fixed HTTPS endpoint, and no security bypass was established. The main design question is whether selecting it from a configured credential alone meets the deployment’s data-handling expectations. Retained concerns
Security review detailsSecurity Blast Radius
Security Findings and Attack Paths
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 53.85% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 26 functions across 14 files. (3 skipped: 3 unsupported.)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
Summary
Adds Requesty as a built in provider. Requesty is an OpenAI compatible gateway, so it reuses the existing
OpenAiCompletionspath and follows the same shorthand provider pattern as Kilo Gateway and OpenRouter. No new dependencies and no new request code.Changes
src/config/providers.rs:REQUESTY_PROVIDER_BASE_URL(https://router.requesty.ai) and arequestyentry indefault_provider_config.src/config/{types,toml_schema,load}.rs:requesty_keyin[llm]withREQUESTY_API_KEYenv fallback, shorthand provider registration, onboarding env detection, redacted Debug output and secret field.src/config/onboarding.rs: Requesty in the CLI provider picker.src/api/providers.rs: provider status, toml key mapping, connection test config and provider id list.src/api/models.rs:requestymapped to the models.devrequestyprovider so the model picker lists its models.src/llm/routing.rs,src/llm/model.rs: routing defaults (requesty/anthropic/claude-sonnet-4-5channel,requesty/anthropic/claude-haiku-4-5worker, no fallbacks),requesty/prefix and display name.interface/: settings entry, model select label and order, icon, andrequestyin theProviderStatustype.Requesty is not added to the routing inference priority list, so it is only picked up automatically when it is the only configured provider (same fallback as custom providers).
How to test
Set
REQUESTY_API_KEY(key from https://app.requesty.ai/api-keys) and send a message, or use Settings, Providers, Requesty and run the connection test. Anyvendor/modelid from Requesty works after therequesty/prefix.Validation
cargo fmt --all -- --check: pass.cargo check, clippy andcargo test --libwere not run locally (not enough free disk for the full dependency tree). I reviewed every changed line by hand against the Kilo Gateway wiring (allLlmConfigandProviderStatusliterals, the onboarding index, match arms), so CI will be the first real compile.tscwas not run locally for the same reason; the changes are additive entries in existing typed maps and one inline SVG component.https://router.requesty.ai/v1/chat/completionswith the same body spacebot sends (system preamble, streaming, modelopenai/gpt-4o-miniafter strippingrequesty/): 200, streamed reply received. Default routing model ids were checked against the live/v1/modelslist.Disclosure: I work at Requesty. Happy to adjust anything to match project conventions.
Note
Adds Requesty as an OpenAI-compatible LLM provider with minimal changes—leveraging existing OpenAI integration path, adding config entries, frontend UI components, and routing defaults. Reuses the same shorthand provider pattern as other gateways. Includes config tests and documentation updates.
Written by Tembo for commit 42f2dda. This will update automatically on new commits.