feat: add Requesty as an OpenAI-compatible chat model provider - #1368

Closed
Thibaultjaigu wants to merge 1 commit into
sourcebot-dev:mainfrom
Thibaultjaigu:add-requesty-provider
Closed

feat: add Requesty as an OpenAI-compatible chat model provider#1368
Thibaultjaigu wants to merge 1 commit into
sourcebot-dev:mainfrom
Thibaultjaigu:add-requesty-provider

Conversation

@Thibaultjaigu

@ThibaultjaiguThibaultjaigu commented Jun 24, 2026

Copy link
Copy Markdown

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/model naming as OpenRouter (base https://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.tscase 'requesty' building the model via createOpenAICompatible (default base https://router.requesty.ai/v1, overridable via config.baseUrl; key from config.token ?? env.REQUESTY_API_KEY; headers mirroring openrouter).
  • packages/schemas/src/v3/languageModel.schema.tsRequestyLanguageModel zod definition mirroring OpenRouterLanguageModel; regenerated languageModel.json + types via yarn generate (the diff is purely the Requesty addition).
  • packages/shared/src/env.server.tsREQUESTY_API_KEY optional env.
  • packages/web/src/features/chat/types.ts — provider type.
  • packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsxcase '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 --noEmit on @sourcebot/schemas → 0 errors; the edited web files (llm.server, types) → no new errors (remaining errors are pre-existing @/public/*.svg/*.png module-decl + a test-prop issue, present for all providers).
  • yarn generate reproduces the committed schema json (zod source and generated json are consistent).
  • Verified live: POST https://router.requesty.ai/v1/chat/completions with model: 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

    • Added support for the Requesty language model provider across setup, chat, and schema validation.
    • Requesty can now be selected as a provider and configured with a model name, API key, optional base URL, headers, and temperature.
    • Added UI support for displaying a Requesty provider icon.
  • Documentation

    • Updated configuration docs with Requesty setup details and an example configuration.

@coderabbitai

coderabbitaiBot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

Adds the Requesty OpenAI-compatible LLM gateway as a new language model provider. Changes span the RequestyLanguageModel TypeScript interface and JSON schemas, server-side model factory (llm.server.ts), REQUESTY_API_KEY env var registration, setup wizard provider list, a UI logo fallback, and documentation.

Changes

Requesty provider integration

Layer / File(s)Summary
RequestyLanguageModel type contracts and schemas
packages/schemas/src/v3/languageModel.type.ts, packages/schemas/src/v3/index.type.ts, packages/schemas/src/v3/languageModel.schema.ts, packages/schemas/src/v3/index.schema.ts, schemas/v3/languageModel.json
Defines the RequestyLanguageModel TypeScript interface with provider: "requesty", required model, optional token/baseUrl/temperature/headers, and adds it to the LanguageModel union. Extends JSON schema definitions and oneOf variant lists in all schema files.
Server-side runtime implementation
packages/shared/src/env.server.ts, packages/web/src/features/chat/types.ts, packages/web/src/features/chat/llm.server.ts
Registers REQUESTY_API_KEY as an optional env var, adds "requesty" to languageModelProviders, and implements a case 'requesty' in getAISDKLanguageModelAndOptions using createOpenAICompatible with the Requesty base URL.
Setup wizard and provider logo
packages/setupWizard/src/models.ts, packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsx
Maps requesty to REQUESTY_API_KEY in PROVIDER_ENV_KEYS, routes the requesty case through the openrouter config path in collectModelConfig, adds Requesty to the interactive provider choices, and returns a Box icon for requesty in ModelProviderLogo.
Documentation and schema reference docs
docs/docs/configuration/language-model-providers.mdx, docs/snippets/schemas/v3/languageModel.schema.mdx, docs/snippets/schemas/v3/index.schema.mdx
Adds a Requesty subsection with a JSON configuration example to the provider docs, and extends the rendered schema reference pages with the RequestyLanguageModel definition and oneOf variant.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • sourcebot-dev/sourcebot#424: Both PRs extend LanguageModel union and getAISDKLanguageModelAndOptions to support a new provider variant using createOpenAICompatible.
  • sourcebot-dev/sourcebot#449: The requesty schema adds headers with env/googleCloudSecret backing, directly touching the header-resolution plumbing introduced in that PR.
  • sourcebot-dev/sourcebot#1103: Both PRs modify getAISDKLanguageModelAndOptions and per-provider optional temperature configuration in the LLM pipeline.

Suggested reviewers

  • msukkari
  • brendan-kellam
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check nameStatusExplanationResolution
Docstring Coverage⚠️ WarningDocstring coverage is 0.00% which is insufficient. The required threshold is 80.00%.Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly summarizes the main change: adding Requesty as an OpenAI-compatible chat model provider.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 5e1b8ee and e60c3ad.

📒 Files selected for processing (13)
  • docs/docs/configuration/language-model-providers.mdx
  • docs/snippets/schemas/v3/index.schema.mdx
  • docs/snippets/schemas/v3/languageModel.schema.mdx
  • packages/schemas/src/v3/index.schema.ts
  • packages/schemas/src/v3/index.type.ts
  • packages/schemas/src/v3/languageModel.schema.ts
  • packages/schemas/src/v3/languageModel.type.ts
  • packages/setupWizard/src/models.ts
  • packages/shared/src/env.server.ts
  • packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsx
  • packages/web/src/features/chat/llm.server.ts
  • packages/web/src/features/chat/types.ts
  • schemas/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).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 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.

Suggested change
[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

@brendan-kellam

Copy link
Copy Markdown
Contributor

Heya - thanks for raising. Since Requesty is openai compatible, I think the best course of action here is for users to use the openai compatible provider directly

Sign up for freeto 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

@Thibaultjaigu@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

feat: add Requesty as an OpenAI-compatible chat model provider - #1368

Closed
Thibaultjaigu wants to merge 1 commit into
sourcebot-dev:mainfrom
Thibaultjaigu:add-requesty-provider
Closed

feat: add Requesty as an OpenAI-compatible chat model provider#1368
Thibaultjaigu wants to merge 1 commit into
sourcebot-dev:mainfrom
Thibaultjaigu:add-requesty-provider

Conversation

@Thibaultjaigu

@ThibaultjaiguThibaultjaigu commented Jun 24, 2026

Copy link
Copy Markdown

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/model naming as OpenRouter (base https://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.tscase 'requesty' building the model via createOpenAICompatible (default base https://router.requesty.ai/v1, overridable via config.baseUrl; key from config.token ?? env.REQUESTY_API_KEY; headers mirroring openrouter).
  • packages/schemas/src/v3/languageModel.schema.tsRequestyLanguageModel zod definition mirroring OpenRouterLanguageModel; regenerated languageModel.json + types via yarn generate (the diff is purely the Requesty addition).
  • packages/shared/src/env.server.tsREQUESTY_API_KEY optional env.
  • packages/web/src/features/chat/types.ts — provider type.
  • packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsxcase '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 --noEmit on @sourcebot/schemas → 0 errors; the edited web files (llm.server, types) → no new errors (remaining errors are pre-existing @/public/*.svg/*.png module-decl + a test-prop issue, present for all providers).
  • yarn generate reproduces the committed schema json (zod source and generated json are consistent).
  • Verified live: POST https://router.requesty.ai/v1/chat/completions with model: 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

    • Added support for the Requesty language model provider across setup, chat, and schema validation.
    • Requesty can now be selected as a provider and configured with a model name, API key, optional base URL, headers, and temperature.
    • Added UI support for displaying a Requesty provider icon.
  • Documentation

    • Updated configuration docs with Requesty setup details and an example configuration.

@coderabbitai

coderabbitaiBot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

Adds the Requesty OpenAI-compatible LLM gateway as a new language model provider. Changes span the RequestyLanguageModel TypeScript interface and JSON schemas, server-side model factory (llm.server.ts), REQUESTY_API_KEY env var registration, setup wizard provider list, a UI logo fallback, and documentation.

Changes

Requesty provider integration

Layer / File(s)Summary
RequestyLanguageModel type contracts and schemas
packages/schemas/src/v3/languageModel.type.ts, packages/schemas/src/v3/index.type.ts, packages/schemas/src/v3/languageModel.schema.ts, packages/schemas/src/v3/index.schema.ts, schemas/v3/languageModel.json
Defines the RequestyLanguageModel TypeScript interface with provider: "requesty", required model, optional token/baseUrl/temperature/headers, and adds it to the LanguageModel union. Extends JSON schema definitions and oneOf variant lists in all schema files.
Server-side runtime implementation
packages/shared/src/env.server.ts, packages/web/src/features/chat/types.ts, packages/web/src/features/chat/llm.server.ts
Registers REQUESTY_API_KEY as an optional env var, adds "requesty" to languageModelProviders, and implements a case 'requesty' in getAISDKLanguageModelAndOptions using createOpenAICompatible with the Requesty base URL.
Setup wizard and provider logo
packages/setupWizard/src/models.ts, packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsx
Maps requesty to REQUESTY_API_KEY in PROVIDER_ENV_KEYS, routes the requesty case through the openrouter config path in collectModelConfig, adds Requesty to the interactive provider choices, and returns a Box icon for requesty in ModelProviderLogo.
Documentation and schema reference docs
docs/docs/configuration/language-model-providers.mdx, docs/snippets/schemas/v3/languageModel.schema.mdx, docs/snippets/schemas/v3/index.schema.mdx
Adds a Requesty subsection with a JSON configuration example to the provider docs, and extends the rendered schema reference pages with the RequestyLanguageModel definition and oneOf variant.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • sourcebot-dev/sourcebot#424: Both PRs extend LanguageModel union and getAISDKLanguageModelAndOptions to support a new provider variant using createOpenAICompatible.
  • sourcebot-dev/sourcebot#449: The requesty schema adds headers with env/googleCloudSecret backing, directly touching the header-resolution plumbing introduced in that PR.
  • sourcebot-dev/sourcebot#1103: Both PRs modify getAISDKLanguageModelAndOptions and per-provider optional temperature configuration in the LLM pipeline.

Suggested reviewers

  • msukkari
  • brendan-kellam
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check nameStatusExplanationResolution
Docstring Coverage⚠️ WarningDocstring coverage is 0.00% which is insufficient. The required threshold is 80.00%.Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly summarizes the main change: adding Requesty as an OpenAI-compatible chat model provider.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 5e1b8ee and e60c3ad.

📒 Files selected for processing (13)
  • docs/docs/configuration/language-model-providers.mdx
  • docs/snippets/schemas/v3/index.schema.mdx
  • docs/snippets/schemas/v3/languageModel.schema.mdx
  • packages/schemas/src/v3/index.schema.ts
  • packages/schemas/src/v3/index.type.ts
  • packages/schemas/src/v3/languageModel.schema.ts
  • packages/schemas/src/v3/languageModel.type.ts
  • packages/setupWizard/src/models.ts
  • packages/shared/src/env.server.ts
  • packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsx
  • packages/web/src/features/chat/llm.server.ts
  • packages/web/src/features/chat/types.ts
  • schemas/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).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 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.

Suggested change
[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

@brendan-kellam

Copy link
Copy Markdown
Contributor

Heya - thanks for raising. Since Requesty is openai compatible, I think the best course of action here is for users to use the openai compatible provider directly

Sign up for freeto 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

@Thibaultjaigu@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: add Requesty as an OpenAI-compatible chat model provider - #1368

Closed
Thibaultjaigu wants to merge 1 commit into
sourcebot-dev:mainfrom
Thibaultjaigu:add-requesty-provider
Closed

feat: add Requesty as an OpenAI-compatible chat model provider#1368
Thibaultjaigu wants to merge 1 commit into
sourcebot-dev:mainfrom
Thibaultjaigu:add-requesty-provider

Conversation

@Thibaultjaigu

@ThibaultjaiguThibaultjaigu commented Jun 24, 2026

Copy link
Copy Markdown

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/model naming as OpenRouter (base https://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.tscase 'requesty' building the model via createOpenAICompatible (default base https://router.requesty.ai/v1, overridable via config.baseUrl; key from config.token ?? env.REQUESTY_API_KEY; headers mirroring openrouter).
  • packages/schemas/src/v3/languageModel.schema.tsRequestyLanguageModel zod definition mirroring OpenRouterLanguageModel; regenerated languageModel.json + types via yarn generate (the diff is purely the Requesty addition).
  • packages/shared/src/env.server.tsREQUESTY_API_KEY optional env.
  • packages/web/src/features/chat/types.ts — provider type.
  • packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsxcase '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 --noEmit on @sourcebot/schemas → 0 errors; the edited web files (llm.server, types) → no new errors (remaining errors are pre-existing @/public/*.svg/*.png module-decl + a test-prop issue, present for all providers).
  • yarn generate reproduces the committed schema json (zod source and generated json are consistent).
  • Verified live: POST https://router.requesty.ai/v1/chat/completions with model: 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

    • Added support for the Requesty language model provider across setup, chat, and schema validation.
    • Requesty can now be selected as a provider and configured with a model name, API key, optional base URL, headers, and temperature.
    • Added UI support for displaying a Requesty provider icon.
  • Documentation

    • Updated configuration docs with Requesty setup details and an example configuration.

@coderabbitai

coderabbitaiBot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

Adds the Requesty OpenAI-compatible LLM gateway as a new language model provider. Changes span the RequestyLanguageModel TypeScript interface and JSON schemas, server-side model factory (llm.server.ts), REQUESTY_API_KEY env var registration, setup wizard provider list, a UI logo fallback, and documentation.

Changes

Requesty provider integration

Layer / File(s)Summary
RequestyLanguageModel type contracts and schemas
packages/schemas/src/v3/languageModel.type.ts, packages/schemas/src/v3/index.type.ts, packages/schemas/src/v3/languageModel.schema.ts, packages/schemas/src/v3/index.schema.ts, schemas/v3/languageModel.json
Defines the RequestyLanguageModel TypeScript interface with provider: "requesty", required model, optional token/baseUrl/temperature/headers, and adds it to the LanguageModel union. Extends JSON schema definitions and oneOf variant lists in all schema files.
Server-side runtime implementation
packages/shared/src/env.server.ts, packages/web/src/features/chat/types.ts, packages/web/src/features/chat/llm.server.ts
Registers REQUESTY_API_KEY as an optional env var, adds "requesty" to languageModelProviders, and implements a case 'requesty' in getAISDKLanguageModelAndOptions using createOpenAICompatible with the Requesty base URL.
Setup wizard and provider logo
packages/setupWizard/src/models.ts, packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsx
Maps requesty to REQUESTY_API_KEY in PROVIDER_ENV_KEYS, routes the requesty case through the openrouter config path in collectModelConfig, adds Requesty to the interactive provider choices, and returns a Box icon for requesty in ModelProviderLogo.
Documentation and schema reference docs
docs/docs/configuration/language-model-providers.mdx, docs/snippets/schemas/v3/languageModel.schema.mdx, docs/snippets/schemas/v3/index.schema.mdx
Adds a Requesty subsection with a JSON configuration example to the provider docs, and extends the rendered schema reference pages with the RequestyLanguageModel definition and oneOf variant.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • sourcebot-dev/sourcebot#424: Both PRs extend LanguageModel union and getAISDKLanguageModelAndOptions to support a new provider variant using createOpenAICompatible.
  • sourcebot-dev/sourcebot#449: The requesty schema adds headers with env/googleCloudSecret backing, directly touching the header-resolution plumbing introduced in that PR.
  • sourcebot-dev/sourcebot#1103: Both PRs modify getAISDKLanguageModelAndOptions and per-provider optional temperature configuration in the LLM pipeline.

Suggested reviewers

  • msukkari
  • brendan-kellam
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check nameStatusExplanationResolution
Docstring Coverage⚠️ WarningDocstring coverage is 0.00% which is insufficient. The required threshold is 80.00%.Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly summarizes the main change: adding Requesty as an OpenAI-compatible chat model provider.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 5e1b8ee and e60c3ad.

📒 Files selected for processing (13)
  • docs/docs/configuration/language-model-providers.mdx
  • docs/snippets/schemas/v3/index.schema.mdx
  • docs/snippets/schemas/v3/languageModel.schema.mdx
  • packages/schemas/src/v3/index.schema.ts
  • packages/schemas/src/v3/index.type.ts
  • packages/schemas/src/v3/languageModel.schema.ts
  • packages/schemas/src/v3/languageModel.type.ts
  • packages/setupWizard/src/models.ts
  • packages/shared/src/env.server.ts
  • packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsx
  • packages/web/src/features/chat/llm.server.ts
  • packages/web/src/features/chat/types.ts
  • schemas/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).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 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.

Suggested change
[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

@brendan-kellam

Copy link
Copy Markdown
Contributor

Heya - thanks for raising. Since Requesty is openai compatible, I think the best course of action here is for users to use the openai compatible provider directly

Sign up for freeto 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

@Thibaultjaigu@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: add Requesty as an OpenAI-compatible chat model provider - #1368

Closed
Thibaultjaigu wants to merge 1 commit into
sourcebot-dev:mainfrom
Thibaultjaigu:add-requesty-provider
Closed

feat: add Requesty as an OpenAI-compatible chat model provider#1368
Thibaultjaigu wants to merge 1 commit into
sourcebot-dev:mainfrom
Thibaultjaigu:add-requesty-provider

Conversation

@Thibaultjaigu

@ThibaultjaiguThibaultjaigu commented Jun 24, 2026

Copy link
Copy Markdown

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/model naming as OpenRouter (base https://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.tscase 'requesty' building the model via createOpenAICompatible (default base https://router.requesty.ai/v1, overridable via config.baseUrl; key from config.token ?? env.REQUESTY_API_KEY; headers mirroring openrouter).
  • packages/schemas/src/v3/languageModel.schema.tsRequestyLanguageModel zod definition mirroring OpenRouterLanguageModel; regenerated languageModel.json + types via yarn generate (the diff is purely the Requesty addition).
  • packages/shared/src/env.server.tsREQUESTY_API_KEY optional env.
  • packages/web/src/features/chat/types.ts — provider type.
  • packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsxcase '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 --noEmit on @sourcebot/schemas → 0 errors; the edited web files (llm.server, types) → no new errors (remaining errors are pre-existing @/public/*.svg/*.png module-decl + a test-prop issue, present for all providers).
  • yarn generate reproduces the committed schema json (zod source and generated json are consistent).
  • Verified live: POST https://router.requesty.ai/v1/chat/completions with model: 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

    • Added support for the Requesty language model provider across setup, chat, and schema validation.
    • Requesty can now be selected as a provider and configured with a model name, API key, optional base URL, headers, and temperature.
    • Added UI support for displaying a Requesty provider icon.
  • Documentation

    • Updated configuration docs with Requesty setup details and an example configuration.

@coderabbitai

coderabbitaiBot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

Adds the Requesty OpenAI-compatible LLM gateway as a new language model provider. Changes span the RequestyLanguageModel TypeScript interface and JSON schemas, server-side model factory (llm.server.ts), REQUESTY_API_KEY env var registration, setup wizard provider list, a UI logo fallback, and documentation.

Changes

Requesty provider integration

Layer / File(s)Summary
RequestyLanguageModel type contracts and schemas
packages/schemas/src/v3/languageModel.type.ts, packages/schemas/src/v3/index.type.ts, packages/schemas/src/v3/languageModel.schema.ts, packages/schemas/src/v3/index.schema.ts, schemas/v3/languageModel.json
Defines the RequestyLanguageModel TypeScript interface with provider: "requesty", required model, optional token/baseUrl/temperature/headers, and adds it to the LanguageModel union. Extends JSON schema definitions and oneOf variant lists in all schema files.
Server-side runtime implementation
packages/shared/src/env.server.ts, packages/web/src/features/chat/types.ts, packages/web/src/features/chat/llm.server.ts
Registers REQUESTY_API_KEY as an optional env var, adds "requesty" to languageModelProviders, and implements a case 'requesty' in getAISDKLanguageModelAndOptions using createOpenAICompatible with the Requesty base URL.
Setup wizard and provider logo
packages/setupWizard/src/models.ts, packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsx
Maps requesty to REQUESTY_API_KEY in PROVIDER_ENV_KEYS, routes the requesty case through the openrouter config path in collectModelConfig, adds Requesty to the interactive provider choices, and returns a Box icon for requesty in ModelProviderLogo.
Documentation and schema reference docs
docs/docs/configuration/language-model-providers.mdx, docs/snippets/schemas/v3/languageModel.schema.mdx, docs/snippets/schemas/v3/index.schema.mdx
Adds a Requesty subsection with a JSON configuration example to the provider docs, and extends the rendered schema reference pages with the RequestyLanguageModel definition and oneOf variant.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • sourcebot-dev/sourcebot#424: Both PRs extend LanguageModel union and getAISDKLanguageModelAndOptions to support a new provider variant using createOpenAICompatible.
  • sourcebot-dev/sourcebot#449: The requesty schema adds headers with env/googleCloudSecret backing, directly touching the header-resolution plumbing introduced in that PR.
  • sourcebot-dev/sourcebot#1103: Both PRs modify getAISDKLanguageModelAndOptions and per-provider optional temperature configuration in the LLM pipeline.

Suggested reviewers

  • msukkari
  • brendan-kellam
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check nameStatusExplanationResolution
Docstring Coverage⚠️ WarningDocstring coverage is 0.00% which is insufficient. The required threshold is 80.00%.Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly summarizes the main change: adding Requesty as an OpenAI-compatible chat model provider.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 5e1b8ee and e60c3ad.

📒 Files selected for processing (13)
  • docs/docs/configuration/language-model-providers.mdx
  • docs/snippets/schemas/v3/index.schema.mdx
  • docs/snippets/schemas/v3/languageModel.schema.mdx
  • packages/schemas/src/v3/index.schema.ts
  • packages/schemas/src/v3/index.type.ts
  • packages/schemas/src/v3/languageModel.schema.ts
  • packages/schemas/src/v3/languageModel.type.ts
  • packages/setupWizard/src/models.ts
  • packages/shared/src/env.server.ts
  • packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsx
  • packages/web/src/features/chat/llm.server.ts
  • packages/web/src/features/chat/types.ts
  • schemas/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).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 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.

Suggested change
[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

@brendan-kellam

Copy link
Copy Markdown
Contributor

Heya - thanks for raising. Since Requesty is openai compatible, I think the best course of action here is for users to use the openai compatible provider directly

Sign up for freeto 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

@Thibaultjaigu@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

feat: add Requesty as an OpenAI-compatible chat model provider - #1368

Closed
Thibaultjaigu wants to merge 1 commit into
sourcebot-dev:mainfrom
Thibaultjaigu:add-requesty-provider
Closed

feat: add Requesty as an OpenAI-compatible chat model provider#1368
Thibaultjaigu wants to merge 1 commit into
sourcebot-dev:mainfrom
Thibaultjaigu:add-requesty-provider

Conversation

@Thibaultjaigu

@ThibaultjaiguThibaultjaigu commented Jun 24, 2026

Copy link
Copy Markdown

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/model naming as OpenRouter (base https://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.tscase 'requesty' building the model via createOpenAICompatible (default base https://router.requesty.ai/v1, overridable via config.baseUrl; key from config.token ?? env.REQUESTY_API_KEY; headers mirroring openrouter).
  • packages/schemas/src/v3/languageModel.schema.tsRequestyLanguageModel zod definition mirroring OpenRouterLanguageModel; regenerated languageModel.json + types via yarn generate (the diff is purely the Requesty addition).
  • packages/shared/src/env.server.tsREQUESTY_API_KEY optional env.
  • packages/web/src/features/chat/types.ts — provider type.
  • packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsxcase '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 --noEmit on @sourcebot/schemas → 0 errors; the edited web files (llm.server, types) → no new errors (remaining errors are pre-existing @/public/*.svg/*.png module-decl + a test-prop issue, present for all providers).
  • yarn generate reproduces the committed schema json (zod source and generated json are consistent).
  • Verified live: POST https://router.requesty.ai/v1/chat/completions with model: 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

    • Added support for the Requesty language model provider across setup, chat, and schema validation.
    • Requesty can now be selected as a provider and configured with a model name, API key, optional base URL, headers, and temperature.
    • Added UI support for displaying a Requesty provider icon.
  • Documentation

    • Updated configuration docs with Requesty setup details and an example configuration.

@coderabbitai

coderabbitaiBot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

Adds the Requesty OpenAI-compatible LLM gateway as a new language model provider. Changes span the RequestyLanguageModel TypeScript interface and JSON schemas, server-side model factory (llm.server.ts), REQUESTY_API_KEY env var registration, setup wizard provider list, a UI logo fallback, and documentation.

Changes

Requesty provider integration

Layer / File(s)Summary
RequestyLanguageModel type contracts and schemas
packages/schemas/src/v3/languageModel.type.ts, packages/schemas/src/v3/index.type.ts, packages/schemas/src/v3/languageModel.schema.ts, packages/schemas/src/v3/index.schema.ts, schemas/v3/languageModel.json
Defines the RequestyLanguageModel TypeScript interface with provider: "requesty", required model, optional token/baseUrl/temperature/headers, and adds it to the LanguageModel union. Extends JSON schema definitions and oneOf variant lists in all schema files.
Server-side runtime implementation
packages/shared/src/env.server.ts, packages/web/src/features/chat/types.ts, packages/web/src/features/chat/llm.server.ts
Registers REQUESTY_API_KEY as an optional env var, adds "requesty" to languageModelProviders, and implements a case 'requesty' in getAISDKLanguageModelAndOptions using createOpenAICompatible with the Requesty base URL.
Setup wizard and provider logo
packages/setupWizard/src/models.ts, packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsx
Maps requesty to REQUESTY_API_KEY in PROVIDER_ENV_KEYS, routes the requesty case through the openrouter config path in collectModelConfig, adds Requesty to the interactive provider choices, and returns a Box icon for requesty in ModelProviderLogo.
Documentation and schema reference docs
docs/docs/configuration/language-model-providers.mdx, docs/snippets/schemas/v3/languageModel.schema.mdx, docs/snippets/schemas/v3/index.schema.mdx
Adds a Requesty subsection with a JSON configuration example to the provider docs, and extends the rendered schema reference pages with the RequestyLanguageModel definition and oneOf variant.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • sourcebot-dev/sourcebot#424: Both PRs extend LanguageModel union and getAISDKLanguageModelAndOptions to support a new provider variant using createOpenAICompatible.
  • sourcebot-dev/sourcebot#449: The requesty schema adds headers with env/googleCloudSecret backing, directly touching the header-resolution plumbing introduced in that PR.
  • sourcebot-dev/sourcebot#1103: Both PRs modify getAISDKLanguageModelAndOptions and per-provider optional temperature configuration in the LLM pipeline.

Suggested reviewers

  • msukkari
  • brendan-kellam
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check nameStatusExplanationResolution
Docstring Coverage⚠️ WarningDocstring coverage is 0.00% which is insufficient. The required threshold is 80.00%.Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly summarizes the main change: adding Requesty as an OpenAI-compatible chat model provider.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 5e1b8ee and e60c3ad.

📒 Files selected for processing (13)
  • docs/docs/configuration/language-model-providers.mdx
  • docs/snippets/schemas/v3/index.schema.mdx
  • docs/snippets/schemas/v3/languageModel.schema.mdx
  • packages/schemas/src/v3/index.schema.ts
  • packages/schemas/src/v3/index.type.ts
  • packages/schemas/src/v3/languageModel.schema.ts
  • packages/schemas/src/v3/languageModel.type.ts
  • packages/setupWizard/src/models.ts
  • packages/shared/src/env.server.ts
  • packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsx
  • packages/web/src/features/chat/llm.server.ts
  • packages/web/src/features/chat/types.ts
  • schemas/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).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 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.

Suggested change
[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

@brendan-kellam

Copy link
Copy Markdown
Contributor

Heya - thanks for raising. Since Requesty is openai compatible, I think the best course of action here is for users to use the openai compatible provider directly

Sign up for freeto 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

@Thibaultjaigu@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: add Requesty as an OpenAI-compatible chat model provider - #1368

Closed
Thibaultjaigu wants to merge 1 commit into
sourcebot-dev:mainfrom
Thibaultjaigu:add-requesty-provider
Closed

feat: add Requesty as an OpenAI-compatible chat model provider#1368
Thibaultjaigu wants to merge 1 commit into
sourcebot-dev:mainfrom
Thibaultjaigu:add-requesty-provider

Conversation

@Thibaultjaigu

@ThibaultjaiguThibaultjaigu commented Jun 24, 2026

Copy link
Copy Markdown

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/model naming as OpenRouter (base https://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.tscase 'requesty' building the model via createOpenAICompatible (default base https://router.requesty.ai/v1, overridable via config.baseUrl; key from config.token ?? env.REQUESTY_API_KEY; headers mirroring openrouter).
  • packages/schemas/src/v3/languageModel.schema.tsRequestyLanguageModel zod definition mirroring OpenRouterLanguageModel; regenerated languageModel.json + types via yarn generate (the diff is purely the Requesty addition).
  • packages/shared/src/env.server.tsREQUESTY_API_KEY optional env.
  • packages/web/src/features/chat/types.ts — provider type.
  • packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsxcase '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 --noEmit on @sourcebot/schemas → 0 errors; the edited web files (llm.server, types) → no new errors (remaining errors are pre-existing @/public/*.svg/*.png module-decl + a test-prop issue, present for all providers).
  • yarn generate reproduces the committed schema json (zod source and generated json are consistent).
  • Verified live: POST https://router.requesty.ai/v1/chat/completions with model: 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

    • Added support for the Requesty language model provider across setup, chat, and schema validation.
    • Requesty can now be selected as a provider and configured with a model name, API key, optional base URL, headers, and temperature.
    • Added UI support for displaying a Requesty provider icon.
  • Documentation

    • Updated configuration docs with Requesty setup details and an example configuration.

@coderabbitai

coderabbitaiBot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

Adds the Requesty OpenAI-compatible LLM gateway as a new language model provider. Changes span the RequestyLanguageModel TypeScript interface and JSON schemas, server-side model factory (llm.server.ts), REQUESTY_API_KEY env var registration, setup wizard provider list, a UI logo fallback, and documentation.

Changes

Requesty provider integration

Layer / File(s)Summary
RequestyLanguageModel type contracts and schemas
packages/schemas/src/v3/languageModel.type.ts, packages/schemas/src/v3/index.type.ts, packages/schemas/src/v3/languageModel.schema.ts, packages/schemas/src/v3/index.schema.ts, schemas/v3/languageModel.json
Defines the RequestyLanguageModel TypeScript interface with provider: "requesty", required model, optional token/baseUrl/temperature/headers, and adds it to the LanguageModel union. Extends JSON schema definitions and oneOf variant lists in all schema files.
Server-side runtime implementation
packages/shared/src/env.server.ts, packages/web/src/features/chat/types.ts, packages/web/src/features/chat/llm.server.ts
Registers REQUESTY_API_KEY as an optional env var, adds "requesty" to languageModelProviders, and implements a case 'requesty' in getAISDKLanguageModelAndOptions using createOpenAICompatible with the Requesty base URL.
Setup wizard and provider logo
packages/setupWizard/src/models.ts, packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsx
Maps requesty to REQUESTY_API_KEY in PROVIDER_ENV_KEYS, routes the requesty case through the openrouter config path in collectModelConfig, adds Requesty to the interactive provider choices, and returns a Box icon for requesty in ModelProviderLogo.
Documentation and schema reference docs
docs/docs/configuration/language-model-providers.mdx, docs/snippets/schemas/v3/languageModel.schema.mdx, docs/snippets/schemas/v3/index.schema.mdx
Adds a Requesty subsection with a JSON configuration example to the provider docs, and extends the rendered schema reference pages with the RequestyLanguageModel definition and oneOf variant.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • sourcebot-dev/sourcebot#424: Both PRs extend LanguageModel union and getAISDKLanguageModelAndOptions to support a new provider variant using createOpenAICompatible.
  • sourcebot-dev/sourcebot#449: The requesty schema adds headers with env/googleCloudSecret backing, directly touching the header-resolution plumbing introduced in that PR.
  • sourcebot-dev/sourcebot#1103: Both PRs modify getAISDKLanguageModelAndOptions and per-provider optional temperature configuration in the LLM pipeline.

Suggested reviewers

  • msukkari
  • brendan-kellam
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check nameStatusExplanationResolution
Docstring Coverage⚠️ WarningDocstring coverage is 0.00% which is insufficient. The required threshold is 80.00%.Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly summarizes the main change: adding Requesty as an OpenAI-compatible chat model provider.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 5e1b8ee and e60c3ad.

📒 Files selected for processing (13)
  • docs/docs/configuration/language-model-providers.mdx
  • docs/snippets/schemas/v3/index.schema.mdx
  • docs/snippets/schemas/v3/languageModel.schema.mdx
  • packages/schemas/src/v3/index.schema.ts
  • packages/schemas/src/v3/index.type.ts
  • packages/schemas/src/v3/languageModel.schema.ts
  • packages/schemas/src/v3/languageModel.type.ts
  • packages/setupWizard/src/models.ts
  • packages/shared/src/env.server.ts
  • packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsx
  • packages/web/src/features/chat/llm.server.ts
  • packages/web/src/features/chat/types.ts
  • schemas/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).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 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.

Suggested change
[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

@brendan-kellam

Copy link
Copy Markdown
Contributor

Heya - thanks for raising. Since Requesty is openai compatible, I think the best course of action here is for users to use the openai compatible provider directly

Sign up for freeto 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

@Thibaultjaigu@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat: add Requesty as an OpenAI-compatible chat model provider - #1368

Closed
Thibaultjaigu wants to merge 1 commit into
sourcebot-dev:mainfrom
Thibaultjaigu:add-requesty-provider
Closed

feat: add Requesty as an OpenAI-compatible chat model provider#1368
Thibaultjaigu wants to merge 1 commit into
sourcebot-dev:mainfrom
Thibaultjaigu:add-requesty-provider

Conversation

@Thibaultjaigu

@ThibaultjaiguThibaultjaigu commented Jun 24, 2026

Copy link
Copy Markdown

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/model naming as OpenRouter (base https://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.tscase 'requesty' building the model via createOpenAICompatible (default base https://router.requesty.ai/v1, overridable via config.baseUrl; key from config.token ?? env.REQUESTY_API_KEY; headers mirroring openrouter).
  • packages/schemas/src/v3/languageModel.schema.tsRequestyLanguageModel zod definition mirroring OpenRouterLanguageModel; regenerated languageModel.json + types via yarn generate (the diff is purely the Requesty addition).
  • packages/shared/src/env.server.tsREQUESTY_API_KEY optional env.
  • packages/web/src/features/chat/types.ts — provider type.
  • packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsxcase '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 --noEmit on @sourcebot/schemas → 0 errors; the edited web files (llm.server, types) → no new errors (remaining errors are pre-existing @/public/*.svg/*.png module-decl + a test-prop issue, present for all providers).
  • yarn generate reproduces the committed schema json (zod source and generated json are consistent).
  • Verified live: POST https://router.requesty.ai/v1/chat/completions with model: 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

    • Added support for the Requesty language model provider across setup, chat, and schema validation.
    • Requesty can now be selected as a provider and configured with a model name, API key, optional base URL, headers, and temperature.
    • Added UI support for displaying a Requesty provider icon.
  • Documentation

    • Updated configuration docs with Requesty setup details and an example configuration.

@coderabbitai

coderabbitaiBot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

Adds the Requesty OpenAI-compatible LLM gateway as a new language model provider. Changes span the RequestyLanguageModel TypeScript interface and JSON schemas, server-side model factory (llm.server.ts), REQUESTY_API_KEY env var registration, setup wizard provider list, a UI logo fallback, and documentation.

Changes

Requesty provider integration

Layer / File(s)Summary
RequestyLanguageModel type contracts and schemas
packages/schemas/src/v3/languageModel.type.ts, packages/schemas/src/v3/index.type.ts, packages/schemas/src/v3/languageModel.schema.ts, packages/schemas/src/v3/index.schema.ts, schemas/v3/languageModel.json
Defines the RequestyLanguageModel TypeScript interface with provider: "requesty", required model, optional token/baseUrl/temperature/headers, and adds it to the LanguageModel union. Extends JSON schema definitions and oneOf variant lists in all schema files.
Server-side runtime implementation
packages/shared/src/env.server.ts, packages/web/src/features/chat/types.ts, packages/web/src/features/chat/llm.server.ts
Registers REQUESTY_API_KEY as an optional env var, adds "requesty" to languageModelProviders, and implements a case 'requesty' in getAISDKLanguageModelAndOptions using createOpenAICompatible with the Requesty base URL.
Setup wizard and provider logo
packages/setupWizard/src/models.ts, packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsx
Maps requesty to REQUESTY_API_KEY in PROVIDER_ENV_KEYS, routes the requesty case through the openrouter config path in collectModelConfig, adds Requesty to the interactive provider choices, and returns a Box icon for requesty in ModelProviderLogo.
Documentation and schema reference docs
docs/docs/configuration/language-model-providers.mdx, docs/snippets/schemas/v3/languageModel.schema.mdx, docs/snippets/schemas/v3/index.schema.mdx
Adds a Requesty subsection with a JSON configuration example to the provider docs, and extends the rendered schema reference pages with the RequestyLanguageModel definition and oneOf variant.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • sourcebot-dev/sourcebot#424: Both PRs extend LanguageModel union and getAISDKLanguageModelAndOptions to support a new provider variant using createOpenAICompatible.
  • sourcebot-dev/sourcebot#449: The requesty schema adds headers with env/googleCloudSecret backing, directly touching the header-resolution plumbing introduced in that PR.
  • sourcebot-dev/sourcebot#1103: Both PRs modify getAISDKLanguageModelAndOptions and per-provider optional temperature configuration in the LLM pipeline.

Suggested reviewers

  • msukkari
  • brendan-kellam
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check nameStatusExplanationResolution
Docstring Coverage⚠️ WarningDocstring coverage is 0.00% which is insufficient. The required threshold is 80.00%.Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly summarizes the main change: adding Requesty as an OpenAI-compatible chat model provider.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 5e1b8ee and e60c3ad.

📒 Files selected for processing (13)
  • docs/docs/configuration/language-model-providers.mdx
  • docs/snippets/schemas/v3/index.schema.mdx
  • docs/snippets/schemas/v3/languageModel.schema.mdx
  • packages/schemas/src/v3/index.schema.ts
  • packages/schemas/src/v3/index.type.ts
  • packages/schemas/src/v3/languageModel.schema.ts
  • packages/schemas/src/v3/languageModel.type.ts
  • packages/setupWizard/src/models.ts
  • packages/shared/src/env.server.ts
  • packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsx
  • packages/web/src/features/chat/llm.server.ts
  • packages/web/src/features/chat/types.ts
  • schemas/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).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 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.

Suggested change
[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

@brendan-kellam

Copy link
Copy Markdown
Contributor

Heya - thanks for raising. Since Requesty is openai compatible, I think the best course of action here is for users to use the openai compatible provider directly

Sign up for freeto 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

@Thibaultjaigu@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

feat: add Requesty as an OpenAI-compatible chat model provider - #1368

Closed
Thibaultjaigu wants to merge 1 commit into
sourcebot-dev:mainfrom
Thibaultjaigu:add-requesty-provider
Closed

feat: add Requesty as an OpenAI-compatible chat model provider#1368
Thibaultjaigu wants to merge 1 commit into
sourcebot-dev:mainfrom
Thibaultjaigu:add-requesty-provider

Conversation

@Thibaultjaigu

@ThibaultjaiguThibaultjaigu commented Jun 24, 2026

Copy link
Copy Markdown

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/model naming as OpenRouter (base https://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.tscase 'requesty' building the model via createOpenAICompatible (default base https://router.requesty.ai/v1, overridable via config.baseUrl; key from config.token ?? env.REQUESTY_API_KEY; headers mirroring openrouter).
  • packages/schemas/src/v3/languageModel.schema.tsRequestyLanguageModel zod definition mirroring OpenRouterLanguageModel; regenerated languageModel.json + types via yarn generate (the diff is purely the Requesty addition).
  • packages/shared/src/env.server.tsREQUESTY_API_KEY optional env.
  • packages/web/src/features/chat/types.ts — provider type.
  • packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsxcase '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 --noEmit on @sourcebot/schemas → 0 errors; the edited web files (llm.server, types) → no new errors (remaining errors are pre-existing @/public/*.svg/*.png module-decl + a test-prop issue, present for all providers).
  • yarn generate reproduces the committed schema json (zod source and generated json are consistent).
  • Verified live: POST https://router.requesty.ai/v1/chat/completions with model: 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

    • Added support for the Requesty language model provider across setup, chat, and schema validation.
    • Requesty can now be selected as a provider and configured with a model name, API key, optional base URL, headers, and temperature.
    • Added UI support for displaying a Requesty provider icon.
  • Documentation

    • Updated configuration docs with Requesty setup details and an example configuration.

@coderabbitai

coderabbitaiBot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

Adds the Requesty OpenAI-compatible LLM gateway as a new language model provider. Changes span the RequestyLanguageModel TypeScript interface and JSON schemas, server-side model factory (llm.server.ts), REQUESTY_API_KEY env var registration, setup wizard provider list, a UI logo fallback, and documentation.

Changes

Requesty provider integration

Layer / File(s)Summary
RequestyLanguageModel type contracts and schemas
packages/schemas/src/v3/languageModel.type.ts, packages/schemas/src/v3/index.type.ts, packages/schemas/src/v3/languageModel.schema.ts, packages/schemas/src/v3/index.schema.ts, schemas/v3/languageModel.json
Defines the RequestyLanguageModel TypeScript interface with provider: "requesty", required model, optional token/baseUrl/temperature/headers, and adds it to the LanguageModel union. Extends JSON schema definitions and oneOf variant lists in all schema files.
Server-side runtime implementation
packages/shared/src/env.server.ts, packages/web/src/features/chat/types.ts, packages/web/src/features/chat/llm.server.ts
Registers REQUESTY_API_KEY as an optional env var, adds "requesty" to languageModelProviders, and implements a case 'requesty' in getAISDKLanguageModelAndOptions using createOpenAICompatible with the Requesty base URL.
Setup wizard and provider logo
packages/setupWizard/src/models.ts, packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsx
Maps requesty to REQUESTY_API_KEY in PROVIDER_ENV_KEYS, routes the requesty case through the openrouter config path in collectModelConfig, adds Requesty to the interactive provider choices, and returns a Box icon for requesty in ModelProviderLogo.
Documentation and schema reference docs
docs/docs/configuration/language-model-providers.mdx, docs/snippets/schemas/v3/languageModel.schema.mdx, docs/snippets/schemas/v3/index.schema.mdx
Adds a Requesty subsection with a JSON configuration example to the provider docs, and extends the rendered schema reference pages with the RequestyLanguageModel definition and oneOf variant.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • sourcebot-dev/sourcebot#424: Both PRs extend LanguageModel union and getAISDKLanguageModelAndOptions to support a new provider variant using createOpenAICompatible.
  • sourcebot-dev/sourcebot#449: The requesty schema adds headers with env/googleCloudSecret backing, directly touching the header-resolution plumbing introduced in that PR.
  • sourcebot-dev/sourcebot#1103: Both PRs modify getAISDKLanguageModelAndOptions and per-provider optional temperature configuration in the LLM pipeline.

Suggested reviewers

  • msukkari
  • brendan-kellam
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check nameStatusExplanationResolution
Docstring Coverage⚠️ WarningDocstring coverage is 0.00% which is insufficient. The required threshold is 80.00%.Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly summarizes the main change: adding Requesty as an OpenAI-compatible chat model provider.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 5e1b8ee and e60c3ad.

📒 Files selected for processing (13)
  • docs/docs/configuration/language-model-providers.mdx
  • docs/snippets/schemas/v3/index.schema.mdx
  • docs/snippets/schemas/v3/languageModel.schema.mdx
  • packages/schemas/src/v3/index.schema.ts
  • packages/schemas/src/v3/index.type.ts
  • packages/schemas/src/v3/languageModel.schema.ts
  • packages/schemas/src/v3/languageModel.type.ts
  • packages/setupWizard/src/models.ts
  • packages/shared/src/env.server.ts
  • packages/web/src/features/chat/components/chatBox/modelProviderLogo.tsx
  • packages/web/src/features/chat/llm.server.ts
  • packages/web/src/features/chat/types.ts
  • schemas/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).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 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.

Suggested change
[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

@brendan-kellam

Copy link
Copy Markdown
Contributor

Heya - thanks for raising. Since Requesty is openai compatible, I think the best course of action here is for users to use the openai compatible provider directly

Sign up for freeto 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

@Thibaultjaigu@brendan-kellam