Skip to content

feat: improve BYOK provider configuration and model management#1111

Closed
mrcfps wants to merge 15 commits intomainfrom
fix/provider-issues
Closed

feat: improve BYOK provider configuration and model management#1111
mrcfps wants to merge 15 commits intomainfrom
fix/provider-issues

Conversation

@mrcfps
Copy link
Copy Markdown
Contributor

@mrcfps mrcfps commented Apr 15, 2026

What

Improve BYOK provider setup and model management across the controller, web UI, shared schemas, and generated SDK.

Why

Provider configuration and model selection had several rough edges in daily use. Some providers needed compatibility fixes, model discovery and availability checks were incomplete, and the UI still exposed model-management actions even when a provider was not configured.

How

  • add provider compatibility fixes for Google AI Studio, Anthropic-compatible discovery fallbacks, and related runtime/config handling
  • add backend support and shared schema updates for richer provider/model management flows
  • add BYOK model availability checks and seed popular default provider models
  • improve the models page flow for selecting and managing provider models
  • hide add / test / delete model actions when the provider has not been configured yet
  • regenerate OpenAPI and frontend SDK outputs for the route/schema changes
  • add and update regression coverage for provider config, runtime wiring, and desktop/controller behavior

Affected areas

  • Desktop app (Electron shell)
  • Controller (backend / API)
  • Web dashboard (React UI)
  • OpenClaw runtime
  • Skills
  • Shared schemas / packages
  • Build / CI / Tooling

Checklist

  • pnpm typecheck passes
  • pnpm lint passes
  • pnpm test passes
  • pnpm generate-types run (if API routes/schemas changed)
  • No credentials or tokens in code or logs
  • No any types introduced (use unknown with narrowing)

Notes for reviewers

This PR now includes both provider compatibility fixes and the broader BYOK model-management work already accumulated on fix/provider-issues, so the scope is wider than the original PR title/body suggested.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

πŸ’‘ Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 196864584e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with πŸ‘.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/controller/src/services/model-provider-service.ts Outdated
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Apr 15, 2026

Deploying nexu-docs with Β Cloudflare Pages Β Cloudflare Pages

Latest commit: cbd78c8
Status:Β βœ…Β  Deploy successful!
Preview URL: https://096f0f40.nexu-docs.pages.dev
Branch Preview URL: https://fix-provider-issues.nexu-docs.pages.dev

View logs

mrcfps added 4 commits April 15, 2026 17:17
Prevent unconfigured providers from showing model management actions and avoid emitting empty API keys in compiled provider configs.
@mrcfps mrcfps changed the title fix: resolve provider compatibility regressions feat: improve BYOK provider configuration and model management Apr 15, 2026
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

πŸ’‘ Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e201adc7cc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with πŸ‘.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/controller/src/services/model-provider-service.ts Outdated
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

πŸ’‘ Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: aa95d4cc23

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with πŸ‘.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +28 to +29
id: "gpt-5.4",
name: "GPT 5.4",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Deduplicate bundled OpenAI model IDs

The OpenAI bundled list repeats gpt-5.4, and this now propagates into runtime behavior because empty provider model sets are backfilled from getBundledProviderModelIds(...) (used by resolveInventoryModelIds in model-provider-service and buildProviderConfig in nexu-config-store). In that scenario users get duplicate OpenAI model entries and duplicated saved model rows, which is a regression in model-management correctness.

Useful? React with πŸ‘Β / πŸ‘Ž.

Comment on lines +278 to +279
id: "MiniMax-M2.7",
name: "MiniMax M2.7",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Deduplicate bundled MiniMax model IDs

The MiniMax bundled defaults include MiniMax-M2.7 twice, so any flow that falls back to bundled IDs when a provider has no explicit model list will surface duplicate MiniMax models. Since those fallbacks are now used in provider inventory and config seeding, this introduces duplicate UI/API model options and unnecessary duplicate persisted entries.

Useful? React with πŸ‘Β / πŸ‘Ž.

@mrcfps mrcfps closed this Apr 21, 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.

1 participant