Skip to content

Add Requesty as an OpenAI-compatible AI provider - #1720

Open
Thibaultjaigu wants to merge 2 commits into
eyaltoledano:mainfrom
thibault-forks:add-requesty-provider
Open

Thibaultjaigu wants to merge 2 commits into
eyaltoledano:mainfrom
thibault-forks:add-requesty-provider

Conversation

@Thibaultjaigu

@Thibaultjaigu Thibaultjaigu commented Jul 16, 2026 •

Copy link
Copy Markdown

Add Requesty as an OpenAI-compatible AI provider

This adds Requesty as a supported AI provider by mirroring the existing dedicated OpenAI-compatible providers.

Requesty is an OpenAI-compatible LLM router that exposes 400+ upstream models behind a single endpoint using the provider/model naming convention (the same convention as OpenRouter), so it fits the existing provider architecture directly.

Changes

  • New src/ai-providers/requesty.js, RequestyProvider extending OpenAICompatibleProvider (same pattern as the existing Z.ai provider), base URL https://router.requesty.ai/v1, REQUESTY_API_KEY auth.
  • src/ai-providers/index.js: export RequestyProvider.
  • scripts/modules/ai-services-unified.js: register requesty in the PROVIDERS map.
  • scripts/modules/config-manager.js: add requesty: 'REQUESTY_API_KEY' to the API-key map.
  • packages/tm-core/src/common/constants/providers.ts: add requesty to VALIDATED_PROVIDERS and CUSTOM_PROVIDERS.
  • scripts/modules/supported-models.json: add a requesty model block (mirrors the openrouter schema exactly) with openai/gpt-4o-mini, openai/gpt-4o, openai/gpt-4.1-mini, anthropic/claude-sonnet-4-5, google/gemini-2.5-flash, deepseek/deepseek-chat.
  • Docs / env: README.md, docs/models.md, docs/configuration.md, llms-install.md, assets/env.example, .env.example.
  • Added a changeset.

Testing

  • npm run turbo:typecheck: passes (9/9 tasks, includes the full tm-core + extension compile).
  • supported-models.json validated as JSON; the requesty block has the same key shape as the openrouter block.
  • Verified live against the Requesty endpoint (the same base URL + Bearer auth the provider uses): a call to openai/gpt-4o-mini returned the expected completion with HTTP 200.

Note on the OpenRouter provider: it uses the OpenRouter-specific @openrouter/ai-sdk-provider SDK, which isn't appropriate for a different endpoint, so Requesty is implemented via the repo's own OpenAICompatibleProvider base, the established form here for dedicated OpenAI-compatible brands. The OpenRouter-specific live model-fetching UI in apps/cli/src/commands/models/* (which hits openrouter.ai/api) was intentionally left untouched; Requesty models are served through the committed supported-models.json list.

Config: get a key at https://app.requesty.ai/api-keys, model list at https://app.requesty.ai/router/list, docs at https://docs.requesty.ai.


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 Requesty as a supported OpenAI-compatible AI provider.
    • Configure access with REQUESTY_API_KEY.
    • Added support for selecting OpenAI, Anthropic, Google, and DeepSeek models through Requesty using provider/model names.
    • Added Requesty model availability, pricing, and performance details.
  • Documentation

    • Updated setup, configuration, installation, and MCP examples with Requesty configuration guidance.

Add Requesty, an OpenAI-compatible LLM router that exposes upstream models
via provider/model naming (the same convention as OpenRouter). Mirrors the
existing dedicated OpenAI-compatible providers (e.g. Z.ai): a RequestyProvider
extending OpenAICompatibleProvider with base URL https://router.requesty.ai/v1
and REQUESTY_API_KEY auth.

Wires it through the provider index, the PROVIDERS registry in
ai-services-unified.js, the api-key map in config-manager.js, the
VALIDATED_PROVIDERS / CUSTOM_PROVIDERS constants in tm-core, and adds a
requesty model block to supported-models.json. Documents it in the README,
docs/models.md, docs/configuration.md, llms-install.md, and env examples.

Signed-off-by: Thibault Jaigu <thibault.jaigu@gmail.com>
@changeset-bot

changeset-bot Bot commented Jul 16, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: ebaa1c4

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
task-master-ai Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai

coderabbitai Bot commented Jul 16, 2026 •

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 8785e867-93ed-49df-b494-ba79e0a10eff

📥 Commits

Reviewing files that changed from the base of the PR and between d597e72 and ebaa1c4.

📒 Files selected for processing (1)
  • scripts/modules/config-manager.js
🚧 Files skipped from review as they are similar to previous changes (1)
  • scripts/modules/config-manager.js

Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

Requesty is added as an OpenAI-compatible provider with API-key configuration, runtime registration, supported model metadata, documentation, and a Changesets release note.

Changes

Requesty provider support

Layer / File(s) Summary
Provider implementation and runtime wiring
src/ai-providers/requesty.js, src/ai-providers/index.js, scripts/modules/ai-services-unified.js, scripts/modules/config-manager.js, packages/tm-core/src/common/constants/providers.ts
Defines RequestyProvider with its API key and base URL, exports and registers it, maps REQUESTY_API_KEY, and expands provider constants and derived types.
Provider model catalog
scripts/modules/supported-models.json, docs/models.md
Adds Requesty entries for OpenAI, Anthropic, Google, and DeepSeek models to the supported and fallback model listings.
Configuration and release documentation
.env.example, assets/env.example, docs/configuration.md, README.md, llms-install.md, .changeset/requesty-provider.md
Adds Requesty API-key examples, requirements, MCP configuration entries, installation guidance, and release metadata.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Feature

Sequence Diagram(s)

sequenceDiagram
  participant UnifiedService
  participant RequestyProvider
  participant RequestyAPI
  UnifiedService->>RequestyProvider: Resolve provider key requesty
  RequestyProvider->>RequestyAPI: Send OpenAI-compatible request
  RequestyAPI-->>RequestyProvider: Return model response
Loading

Merge Risk: ⚪ Minimal · up to ebaa1

The reviewed change adds the Requesty API-key status branch without an established merge-blocking risk.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: adding Requesty as an OpenAI-compatible AI provider.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@coderabbitai coderabbitai Bot 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: 2

🤖 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 `@scripts/modules/config-manager.js`:
- Line 903: Update the MCP provider switch in getMcpApiKeyStatus to add a
requesty case that uses the existing REQUESTY_API_KEY mapping and isApiKeySet
handling, preventing it from falling through to unknown-provider handling.
Preserve the behavior of all other providers.

In `@src/ai-providers/requesty.js`:
- Around line 15-24: The Requesty provider currently uses the class-based
architecture while the coding guidelines require legacy function-based
providers. In src/ai-providers/requesty.js lines 15-24, replace RequestyProvider
with standalone generateRequestyText, streamRequestyText, and
generateRequestyObject wrappers using Vercel AI SDK adapters and imports from ai
and the log utility; in scripts/modules/ai-services-unified.js line 75, register
those functions in PROVIDER_FUNCTIONS instead of PROVIDERS. If class-based
providers are now intentional, update the coding guidelines instead and preserve
the corresponding registry architecture.
🪄 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: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 9a23afc0-0888-4e51-b26c-05a64f3a2bab

📥 Commits

Reviewing files that changed from the base of the PR and between c0c98d3 and d597e72.

📒 Files selected for processing (13)
  • .changeset/requesty-provider.md
  • .env.example
  • README.md
  • assets/env.example
  • docs/configuration.md
  • docs/models.md
  • llms-install.md
  • packages/tm-core/src/common/constants/providers.ts
  • scripts/modules/ai-services-unified.js
  • scripts/modules/config-manager.js
  • scripts/modules/supported-models.json
  • src/ai-providers/index.js
  • src/ai-providers/requesty.js

Comment thread scripts/modules/config-manager.js Resolved
Comment thread src/ai-providers/requesty.js Resolved

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant