Skip to content

feat: add Requesty provider preset - #171

Merged
239573049 merged 1 commit into
AIDotNet:mainfrom
Thibaultjaigu:add-requesty-provider
Sep 28, 2026
Merged

239573049 merged 1 commit into
AIDotNet:mainfrom
Thibaultjaigu:add-requesty-provider

Conversation

@Thibaultjaigu

Copy link
Copy Markdown
Contributor

Summary

Adds Requesty (an OpenAI compatible LLM router) as a built in aggregator preset, shaped the same way as the OpenRouter entry. It is not marked as recommended.

Changes

  • src/shared/domain/presets.ts: new requesty preset next to openrouter with three endpoints: OpenAI Chat and Responses at https://router.requesty.ai/v1, Anthropic at https://router.requesty.ai (the client adds /v1/messages). Model list is enabled and marked public, since GET /v1/models returns 200 without a key. Includes docs and API key links, and a note about the EU base URL (router.eu.requesty.ai).
  • src/shared/domain/baseurl.ts: Requesty added to the /v1 row of the prefix table.
  • src/shared/domain/__tests__/presets.test.ts: Anthropic URL row for requesty, and requesty added to the modelListPublic set.
  • src/renderer/src/settings/pages/model/__tests__/preset-brands.test.ts: lobehub has no Requesty icon, so it falls back to initials like OhMyGPT. The expected table and the no icon list are updated.

How to test

  1. Settings, Model, add provider, pick Requesty under aggregators.
  2. Paste a key from https://app.requesty.ai/api-keys (or use REQUESTY_API_KEY in a script).
  3. Fetch the model list, or add openai/gpt-4o-mini manually and send a message.

Validation

  • npm run typecheck (node and web): pass
  • eslint on the touched files: pass
  • vitest for src/shared/domain, src/renderer/src/settings/pages/model, src/renderer/src/components/brand, src/main/kernel/upstream: 65 files, 1760 tests pass
  • Full vitest run: the failures I saw (document-engine native host, provider-registry, sftp, plugin document-rpc and document-scope) fail the same way on a clean main checkout on my machine. release-notes.test.ts timed out once during a full run and passed on rerun
  • Live check through UpstreamRouter built from the preset endpoints: openai-chat and openai-responses with openai/gpt-4o-mini, and anthropic with claude-fable-5.1 all streamed a reply to message_end. modelListRequest plus parseModelList returned 200 both without a key (717 models) and with a key.

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

与 OpenRouter 同构:OpenAI Chat、Responses、Anthropic 三种协议,
模型列表免鉴权可拉。Requesty 没有 lobehub 字形,退回首字母,
品牌对照表与免鉴权列表的断言同步更新。
@239573049
239573049 merged commit 7b0ed23 into AIDotNet:main Sep 28, 2026
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.

2 participants