Repository navigation
[Provider] Add Modelsell as a built-in OpenAI-compatible provider #561
Description
Area
Provider adapters, dashboard, CLI, and documentation.
What are you trying to accomplish?
Make Modelsell available as a built-in provider so OpenCodex users can select it from ocx init or the dashboard, paste a Modelsell API key, discover the models available to that key, and route Codex or Claude Code requests through modelsell/<model-id>.
Modelsell is a unified AI API gateway for OpenAI, Anthropic, Gemini, DeepSeek, Kimi, GLM, MiniMax, Grok, and other model families.
What prevents this today?
Modelsell is not in the canonical provider registry. Users must choose the custom-provider flow and manually enter the adapter and endpoint, so the dashboard cannot link directly to the Modelsell token console or identify the provider as a known preset.
I searched the existing provider and compatibility issues and found no Modelsell request.
What should OpenCodex do?
Expose a modelsell API-key preset with:
- Adapter:
openai-chat - Base URL:
https://modelsell.com/v1 - API key page:
https://modelsell.com/console/token - Live model discovery through
GET /v1/models - OpenAI-compatible chat, streaming, multimodal input, and tool-call translation through the existing adapter
The provider should be derived from the canonical registry so it appears consistently in ocx init, the dashboard catalog, key validation, and routing.
Example usage or interface
ocx provider add modelsell --api-key '${MODELSELL_API_KEY}' --set-default --sync
codex -m 'modelsell/gpt-5.4-mini' 'Review this change'Equivalent config:
{
"defaultProvider": "modelsell",
"providers": {
"modelsell": {
"adapter": "openai-chat",
"baseUrl": "https://modelsell.com/v1",
"authMode": "key",
"apiKey": "${MODELSELL_API_KEY}",
"liveModels": true
}
}
}Alternatives or workarounds
Use a custom OpenAI-compatible provider with the same base URL. This works as a protocol-level workaround but omits the built-in provider identity and direct token-console link.
Additional context
- Product: https://modelsell.com
- API reference: https://modelsell.com/docs/api-reference
- API key management: https://modelsell.com/console/token
- Public unauthenticated requests to
GET /v1/modelsandPOST /v1/chat/completionscurrently reach the API and return the expected structured401 Invalid tokenresponse, confirming the routes and authentication boundary without exposing credentials. - A focused implementation and regression test are being prepared against the required
devbranch.
Checks
- I searched existing issues and documentation.
- This request describes a concrete OpenCodex workflow rather than merely naming a desired technology.
- I removed secrets and personal data.
Activity
github-actions commentedon Jul 27, 2026
Automated translation bookkeeping — detected language: unknown.
Ingwannu commentedon Jul 28, 2026
Thanks — I confirmed that
modelsellis not present in the current canonical registry and that the custom OpenAI-compatible provider flow is the existing workaround. This is therefore a provider-preset enhancement rather than a protocol bug.PR #562 is the correct implementation thread and already targets
dev, but it is still a draft; this comment is not approval to merge the provider yet. Before marking it ready, please make the review surface explicit and fixture-backed: registry/CLI/dashboard parity, API-key validation and model discovery behavior, bounded/filtered model-list handling, provider-id migration safety, representative streaming/tool-call/error propagation coverage, and documentation that does not claim capabilities beyond the upstream contract.Please also keep live network probes out of CI and document who will maintain the preset if the endpoint or catalog contract changes. I am assigning the issue to you and will keep the implementation review on #562 once it is ready.
lidge-jun commentedon Jul 29, 2026
Keeping this open — the request itself is reasonable and Modelsell is a real, active service.
PR #562 is closed as not-ready, not rejected. The blocking gap is evidence for a credential destination rather than code quality: a documented OpenAI-compatible
GET /v1/modelspage, terms of service and operating legal entity, routing/resale authorization for the third-party models in the catalog, a named maintenance owner (already requested above), and a citable verification date. Details are in the closing comment on #562.The evidence bar is now written down in
CONTRIBUTINGandMAINTAINERS.mdso it applies to every provider PR uniformly. If the items above are hard to produce right now, an inertfree-directory.tsreference row is a reasonable interim home.lidge-jun commentedon Aug 2, 2026
Triage status: we can consider Modelsell as a built-in preset once the canonical-preset evidence bar is met (see the contributing guide). Please provide: (1) API documentation URL for the OpenAI-compatible endpoints, (2) the operating legal entity and your resale/routing authorization, (3) a verification date, and (4) a named maintenance owner for the preset. Without those we would add, at most, an inert free-directory reference row.