Skip to content

feat: add Requesty as an OpenAI-compatible LLM provider#73

Open
Thibaultjaigu wants to merge 1 commit into
straylabs-ai:mainfrom
Thibaultjaigu:add-requesty-provider
Open

feat: add Requesty as an OpenAI-compatible LLM provider#73
Thibaultjaigu wants to merge 1 commit into
straylabs-ai:mainfrom
Thibaultjaigu:add-requesty-provider

Conversation

@Thibaultjaigu

Copy link
Copy Markdown

Summary

Adds Requesty as a first-class LLM provider. Requesty is an OpenAI-compatible
LLM gateway, so this provider is built on the existing OpenAI-compatible model path —
the same way the local and openrouter providers are constructed — rather than
introducing a new dependency or a provider-specific model class.

Models follow the provider/model naming convention (e.g. openai/gpt-4o-mini),
mirroring OpenRouter. The provider resolves to litellm's OpenAI-compatible path via the
existing {provider}/{model_name} identifier plus a base URL, so no new dependency is
required
(the OpenAI-compatible client already in the tree is reused).

Configuration

  • REQUESTY_API_KEY — API key sent as a Bearer token
  • REQUESTY_MODEL — default openai/gpt-4o-mini (uses provider/model naming)
  • REQUESTY_BASE_URL — default https://router.requesty.ai/v1

Wiring sites updated

  • deadend_cli/deadend_agent/src/deadend_agent/config/settings.py — new requesty_api_key,
    requesty_model (default openai/gpt-4o-mini), and requesty_base_url
    (default https://router.requesty.ai/v1) settings fields, mirroring the OpenRouter/Local
    fields; provider docstring updated to document Requesty.
  • deadend_cli/deadend_agent/src/deadend_agent/models/registry.py — provider docstring updated
    to include Requesty.
  • deadend_cli/src/deadend_cli/component_manager.py — added requesty to the provider
    help/enable lists (openai, anthropic, gemini, openrouter, requesty, local).
  • deadend_cli/.env.example — added commented REQUESTY_API_KEY / REQUESTY_MODEL /
    REQUESTY_BASE_URL example block.
  • README.md — added Requesty alongside OpenRouter in the supported-providers list.
  • cli/deadend/src/app/deadend-app.ts — added requesty to the setup-wizard provider example hint.

Verification

  • ast.parse syntax check passed on every edited Python file (settings.py, registry.py,
    component_manager.py).
  • Loaded settings.py in isolation and confirmed the new fields resolve with the expected
    defaults: requesty_model='openai/gpt-4o-mini', requesty_base_url='https://router.requesty.ai/v1',
    requesty_api_key=None when unset.
  • Live chat-completion smoke test against https://router.requesty.ai/v1/chat/completions with
    model openai/gpt-4o-mini returned HTTP 200 and a valid completion (model: gpt-4o-mini-2024-07-18),
    confirming the base URL, auth header, and provider/model naming work end-to-end.
  • I could not run the full uv sync test suite in this environment: the workspace declares a git
    submodule (simple-python-interpreter-sandbox) that is not checked out here, so uv sync fails
    on a missing workspace member's pyproject.toml — unrelated to this change. The changes are
    documentation/config/string additions plus three new settings fields, with no behavioral changes
    to existing providers.

Links

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.

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