Repository navigation
feat(providers): add Requesty gateway provider - #185
Open
Thibaultjaigu wants to merge 1 commit into
Open
Thibaultjaigu wants to merge 1 commit into
Thibaultjaigu wants to merge 1 commit into
Conversation
Add a requesty entry next to openrouter in PROVIDERS. It uses the OpenAI-compatible endpoint at https://router.requesty.ai/v1 with the key from REQUESTY_API_KEY or /config requesty_api_key. Everything after requesty/ is passed through as the model ID, so both catalog paths (requesty/openai/gpt-4o-mini) and managed policy IDs (requesty/claude-sonnet-4-6, requesty/gpt-5-mini@eu) work. The curated /model list is seeded from the managed policy catalog. Docs, i18n READMEs and a test file mirror the OpenRouter coverage.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds Requesty as a built-in provider, set up the same way as the OpenRouter entry from #179. Requesty is an OpenAI-compatible LLM gateway (700+ models, one key) at
https://router.requesty.ai/v1.Changes
cheetahclaws/providers.py: newrequestyentry inPROVIDERSnext toopenrouter(typeopenai,REQUESTY_API_KEY,max_completion_tokenscap, curated model list for the/modelTab picker), plus the module docstring. No new request logic. Everything afterrequesty/goes out as the model ID, so the existing_provider_name,lookup_model_keyand context window handling apply as is.requesty/openai/gpt-4o-mini) or managed policy IDs with no vendor prefix (requesty/claude-sonnet-4-6). IDs ending in@euroute through EU providers only. The suffix belongs to the model ID and is not parsed like OpenRouter's@provider.cheetahclaws/commands/config_cmd.py: one/modelexample line.tests/test_requesty_provider.py: entry, prefix stripping, dispatch to the Requesty base URL, key from config and env, no DeepSeek-only fields onrequesty/deepseek-v4-flash,max_tokensinstead ofmax_completion_tokens, pricing and context window lookups, prompt overlay with@eu.docs/guides/usage.md(new Requesty section),reference.md,recipes.md,architecture.md, and the table row plus gateway note in the seven i18n READMEs. I leftdocs/news.mdalone since release notes look maintainer written.How to test
Validation
python -m pytest tests/test_requesty_provider.py tests/test_openrouter_provider.py tests/test_model_completion.py: 45 passed.test_kernel_sandbox::test_rlimit_as_kills_runaway_alloc,test_skill_nested::test_nested_SKILL_uppercase,test_vscode_setup::test_local_target_is_user_settings_when_the_editor_dir_exists) fail the same way on cleanmainon this machine and look macOS specific.providers.stream()with a real key:requesty/openai/gpt-4o-mini,requesty/claude-sonnet-4-6,requesty/gpt-5.4-mini,requesty/deepseek-v4-flashandrequesty/gpt-5-mini@euall streamed a reply, and a tool call came back asget_time. A direct call returned HTTP 200 with modelgpt-4o-mini-2024-07-18.GET /v1/modelsandGET /v1/models/managed.Disclosure: I work at Requesty. Happy to adjust anything to match project conventions.