Skip to content

feat: add Requesty as an OpenAI-compatible provider - #449

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

Thibaultjaigu wants to merge 1 commit into
droidrun:mainfrom
Thibaultjaigu:add-requesty-provider

Conversation

@Thibaultjaigu

Copy link
Copy Markdown

Summary

Adds Requesty (one OpenAI-compatible API across 700+ models from OpenAI, Anthropic, Google, xAI and others) as a provider. It follows the existing MiniMax / ZAI pattern: a first-class provider family that reuses the OpenAILike transport, plus a load_llm branch alongside OpenRouter and DeepSeek. That way mobilerun configure offers Requesty with a base URL prompt and a model menu without any wizard changes, since the wizard is registry driven.

Changes

  • New mobilerun/agent/providers/requesty.py: base URLs (global, EU, US, AP), REQUESTY_API_KEY and REQUESTY_BASE_URL handling via resolve_requesty_base_url, default model openai/gpt-4o-mini, and a model list seeded from Requesty managed policy ids (GET /v1/models/managed, verified live on 2026-09-11). Full <vendor>/<model> catalog ids work as well.
  • registry.py: requesty ProviderFamilySpec and env key slot. env_keys.py: REQUESTY_API_KEY.
  • llm_picker.py: Requesty in SUPPORTED_PROVIDERS, requesty alias, dispatch branch that resolves the key, default model and base URL and routes to OpenAILike.
  • cli/main.py: help strings for --provider, --base_url and configure --provider.
  • Docs: provider and environment variable tables in README.md, SKILL.md, docs/quickstart.mdx, docs/guides/cli.mdx (with a region table including the EU endpoint) and docs/sdk/configuration.mdx.
  • Tests: tests/test_requesty_configuration.py (17 tests mirroring test_minimax_configuration.py) covering the registry entry, setup profile generation, key source resolution, picker defaults and base URL overrides.

No new dependency: Requesty rides on the always installed llama-index-llms-openai-like. Not added to any automatic provider preference.

Validation

  • ruff check and black --check clean on all touched files.
  • Full test suite: 967 passed. The only failure, test_legacy_minimax_profile_warns_once_without_migration, fails identically on clean main and is unrelated.
  • Live check: load_llm("Requesty", model="openai/gpt-4o-mini") (the mobilerun run --provider Requesty path) and the configure profile path (apply_selection_to_roles to load_llms_from_profiles) both completed a real chat call. Every model id in the menu was confirmed present in the live /v1/models/managed and /v1/models catalogs.

Disclosure: I work at Requesty. Happy to adjust anything to match project conventions.

Adds a Requesty provider family following the MiniMax/ZAI pattern (OpenAILike
transport, base https://router.requesty.ai/v1) plus a load_llm branch next to
OpenRouter and DeepSeek. Handles REQUESTY_API_KEY and REQUESTY_BASE_URL (for
the EU, US and AP regional routers), seeds the model menu from Requesty
managed policy ids, and documents the provider, env vars and regions.

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