feat: add Requesty as an OpenAI-compatible chat model provider#1368
feat: add Requesty as an OpenAI-compatible chat model provider#1368Thibaultjaigu wants to merge 1 commit into
Conversation
WalkthroughAdds the Requesty OpenAI-compatible LLM gateway as a new language model provider. Changes span the ChangesRequesty provider integration
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/docs/configuration/language-model-providers.mdx`:
- Line 347: The sentence in the Requesty provider description uses third-person
phrasing; update the copy in the language-model-providers docs to address the
reader directly in second person and present tense. Reword the “Models are
referenced…” sentence so it speaks to “you” while keeping the same meaning, and
make sure the surrounding Requesty description still reads naturally with the
existing Requesty link and examples.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 09fc2c97-8d3e-4810-90ba-052a37c8d919
📒 Files selected for processing (13)
docs/docs/configuration/language-model-providers.mdxdocs/snippets/schemas/v3/index.schema.mdxdocs/snippets/schemas/v3/languageModel.schema.mdxpackages/schemas/src/v3/index.schema.tspackages/schemas/src/v3/index.type.tspackages/schemas/src/v3/languageModel.schema.tspackages/schemas/src/v3/languageModel.type.tspackages/setupWizard/src/models.tspackages/shared/src/env.server.tspackages/web/src/features/chat/components/chatBox/modelProviderLogo.tsxpackages/web/src/features/chat/llm.server.tspackages/web/src/features/chat/types.tsschemas/v3/languageModel.json
|
|
||
| ### Requesty | ||
|
|
||
| [Requesty](https://requesty.ai) is an OpenAI-compatible LLM gateway. Models are referenced in `provider/model` format (e.g. `openai/gpt-4o-mini`). See the [Requesty docs](https://docs.requesty.ai). |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Use second-person phrasing in this docs sentence.
Line 347 is written in third person (“Models are referenced…”). Reword it to address the reader directly.
✍️ Proposed edit
-[Requesty](https://requesty.ai) is an OpenAI-compatible LLM gateway. Models are referenced in `provider/model` format (e.g. `openai/gpt-4o-mini`). See the [Requesty docs](https://docs.requesty.ai).
+Use [Requesty](https://requesty.ai) as an OpenAI-compatible LLM gateway. You reference models in `provider/model` format (for example, `openai/gpt-4o-mini`). See the [Requesty docs](https://docs.requesty.ai).As per coding guidelines, "Write documentation in second person ('you') and present tense."
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| [Requesty](https://requesty.ai) is an OpenAI-compatible LLM gateway. Models are referenced in `provider/model` format (e.g. `openai/gpt-4o-mini`). See the [Requesty docs](https://docs.requesty.ai). | |
| Use [Requesty](https://requesty.ai) as an OpenAI-compatible LLM gateway. You reference models in `provider/model` format (for example, `openai/gpt-4o-mini`). See the [Requesty docs](https://docs.requesty.ai). |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/docs/configuration/language-model-providers.mdx` at line 347, The
sentence in the Requesty provider description uses third-person phrasing; update
the copy in the language-model-providers docs to address the reader directly in
second person and present tense. Reword the “Models are referenced…” sentence so
it speaks to “you” while keeping the same meaning, and make sure the surrounding
Requesty description still reads naturally with the existing Requesty link and
examples.
Source: Coding guidelines
Adds Requesty as an OpenAI-compatible chat model provider, mirroring the existing OpenRouter provider.
Requesty (requesty.ai) is an OpenAI-compatible LLM gateway — one API across many models, using the same
provider/modelnaming as OpenRouter (basehttps://router.requesty.ai/v1,REQUESTY_API_KEY). Since there's no Requesty-specific AI SDK package, it routes through@ai-sdk/openai-compatible(already a dependency).Changes
packages/web/src/features/chat/llm.server.ts—case 'requesty'building the model viacreateOpenAICompatible(default basehttps://router.requesty.ai/v1, overridable viaconfig.baseUrl; key fromconfig.token ?? env.REQUESTY_API_KEY; headers mirroring openrouter).packages/schemas/src/v3/languageModel.schema.ts—RequestyLanguageModelzod definition mirroringOpenRouterLanguageModel; regeneratedlanguageModel.json+ types viayarn generate(the diff is purely the Requesty addition).packages/shared/src/env.server.ts—REQUESTY_API_KEYoptional env.packages/web/src/features/chat/types.ts— provider type.packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsx—case 'requesty'(falls back to default; no asset fabricated).packages/setupWizard/src/models.ts— wizard entry.docs/docs/configuration/language-model-providers.mdx+ generated schema snippets — Requesty section in the existing per-provider docs table.Testing
tsc --noEmiton@sourcebot/schemas→ 0 errors; the edited web files (llm.server, types) → no new errors (remaining errors are pre-existing@/public/*.svg/*.pngmodule-decl + a test-prop issue, present for all providers).yarn generatereproduces the committed schema json (zod source and generated json are consistent).POST https://router.requesty.ai/v1/chat/completionswithmodel: openai/gpt-4o-mini→ HTTP 200 with a real completion.Docs: https://docs.requesty.ai • Keys: https://app.requesty.ai/api-keys
I work at Requesty. This mirrors the existing OpenRouter provider as closely as possible. Happy to adjust or close it if it's not a fit.
Summary by CodeRabbit
New Features
Documentation