Skip to content

[codex] Add Modelsell provider preset - #562

Closed
modelsell wants to merge 1 commit into
lidge-jun:devfrom
modelsell:feat/modelsell-provider
Closed

[codex] Add Modelsell provider preset#562
modelsell wants to merge 1 commit into
lidge-jun:devfrom
modelsell:feat/modelsell-provider

Conversation

@modelsell

Copy link
Copy Markdown

Summary

  • add Modelsell as a built-in API-key provider using the existing openai-chat adapter
  • use the canonical https://modelsell.com/v1 endpoint and authenticated live model discovery
  • expose Modelsell consistently in CLI/dashboard metadata, provider naming, tests, and localized docs

Closes #561.

Verification

  • bun run typecheck
  • bun test tests/modelsell-provider.test.ts tests/provider-registry-parity.test.ts (34 passed)
  • bun run lint:gui
  • bun run build:gui
  • bun run privacy:scan
  • git diff --check

The full bun run prepush suite was also attempted. It did not complete cleanly in this environment because unrelated existing child-process tests timed out and test-only hosts resolved to 198.18.x, which triggered destination-policy blocks. The Modelsell-focused tests and checks above pass.

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Docs or release notes were updated when needed.
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults.

@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: cf3b9148-6ab9-480f-9ac7-27669dd21904

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@Wibias

Wibias commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

Please change the PR to ready for review once you are finished @modelsell

@lidge-jun

Copy link
Copy Markdown
Owner

Thank you for the implementation work here — the code itself is in good shape. The registry entry, docs, and localized copy are consistent, and tests/modelsell-provider.test.ts plus tests/provider-registry-parity.test.ts pass locally (34 pass).

I am closing this as not-ready rather than merging, because a canonical registry entry is a credential-destination change: opencodex would be shipping the endpoint that a user's API key is sent to. Reviewing against that bar, the following evidence is still missing.

  1. Documented OpenAI-compatible GET /v1/models. The description cites https://modelsell.com/docs/api-reference as evidence, but the reachable developer docs live at docs.modelsell.com, and I could not locate a page documenting an OpenAI-compatible GET /v1/models. The docs do state the service URL "usually ends with /v1", and https://modelsell.com/v1 appears in an official integration example, so the base URL is supported — but liveModels: true in this entry depends on the model-listing contract specifically. Please link the exact page.
  2. Terms of service and operating legal entity. https://modelsell.com/privacy-policy currently renders as a placeholder ("Read the privacy policy for Modelsell") with no policy body, and I could not find a ToS, company entity, or address.
  3. Resale or routing authorization. The pricing catalog offers Claude, Gemini, GPT, Grok, Kimi, DeepSeek, MiniMax and others. A built-in preset reads to users as a maintained route, so please indicate the authorization to route to those upstreams.
  4. Named maintenance owner. This was already requested on [Provider] Add Modelsell as a built-in OpenAI-compatible provider #561: who updates the preset when the base URL, authentication, or catalog contract changes, and how a break gets reported.
  5. A citable verification date. A primary source plus the date it was checked, in the same spirit as lastVerified in src/providers/free-directory.ts.

To be explicit: this is not about who submitted it. Contributors adding their own service are welcome here, and existing presets arrived that way with an affiliation disclosure. Affiliation does not disqualify a preset and does not lower the evidence bar.

Two paths forward, both open:

  • Reopen or open a follow-up PR once the evidence above is attached, and it gets a normal review.
  • If some items cannot be produced yet, a reference row in src/providers/free-directory.ts is the better fit today. Directory rows carry an explicit verification grade and are inert, so users can still reach Modelsell through the custom OpenAI-compatible flow while opencodex avoids advertising a preset it cannot stand behind. Promotion to the registry stays available later.

I have documented this bar in CONTRIBUTING and MAINTAINERS.md so it applies uniformly to every future provider PR, including ones from maintainers. Thanks again for the contribution and for the clean test coverage.

@lidge-jun lidge-jun closed this Jul 29, 2026
lidge-jun added a commit that referenced this pull request Jul 29, 2026
A registry entry ships the destination a user's API key is sent to, so it
needs primary-source evidence rather than a passing fixture test. Write the
bar down once, in the public contributing guide and the maintainer policy,
so it applies uniformly to every provider PR.

Required for a canonical preset: documented OpenAI-compatible endpoints
(including authenticated GET /v1/models when the entry declares liveModels),
terms of service and operating legal entity, resale/routing authorization
for aggregators reselling third-party models, a named maintenance owner, and
a citable verification date in the spirit of free-directory's lastVerified.

Contributor affiliation with the service is disclosed, not disqualifying,
and it does not lower the evidence bar — several current presets arrived
that way. When evidence is incomplete, an inert free-directory.ts reference
row is the honest home: users still reach the service through the custom
OpenAI-compatible flow, without opencodex advertising a preset it cannot
stand behind.

Prompted by the review of #562 (Modelsell), closed as not-ready for missing
endpoint, legal-entity, authorization, ownership, and verification evidence.
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.

[Provider] Add Modelsell as a built-in OpenAI-compatible provider

3 participants