feat(provider): add Nexus provider#2784
Open
hcastc00 wants to merge 1 commit into
Open
Conversation
Collaborator
|
AUTOMATED REVIEW: Blocking merge: the sync hardcodes unsupported reasoning controls, assumes every router supports reasoning/tools/structured output, and has already generated prices differing from its source. Derive only advertised capabilities, use audited reasoning options or |
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.
What is Nexus?
Nexus is an OpenAI-compatible inference provider from Dappnode. It exposes public, private, and routed chat-completion models through the Nexus API.
NEXUS_API_KEY@ai-sdk/openai-compatibleModels included in this branch (12)
Adds the current chat-completion catalog exposed by Nexus:
deepseek/deepseek-v4-flashdeepseek/deepseek-v4-prominimax/minimax-m2.7minimax/minmax-m3moonshotai/kimi-k2.6moonshotai/kimi-k2.7-codenexus/autoprivate/deepseek-v4-proprivate/gemma4-31bprivate/glm-5.1private/kimi-k2.6zai-org/glm-5.2Where possible, model files use canonical
base_modelmetadata and keep only Nexus-specific pricing, limits, and capability overrides.Sync behavior
SyncProviderregistry and the aggregator sync target.nexus:syncpackage script.GET https://nexus-api.dappnode.com/v1/models.base_modelvalues from Nexus/v1/modelsto canonical metadata inmodels/when possible, including bare aliases such askimi-k2-6.Notes
nexus/autois a router model, so it intentionally has no fixed per-token cost.private/*and use- Privatedisplay names.private/deepseek-v4-pro->deepseek/deepseek-v4-proprivate/gemma4-31b->google/gemma-4-31b-itprivate/glm-5.1->zhipuai/glm-5.1private/kimi-k2.6->moonshotai/kimi-k2.6providers/nexus/models.Structure
Follows the standard provider layout and sync-provider pattern:
providers/nexus/provider.tomlproviders/nexus/models/**/*.tomlproviders/nexus/logo.svgpackages/core/src/sync/providers/nexus.tspackages/core/src/sync/index.tspackage.jsonVerification
git diff --checkbun ./packages/core/script/validate.tsbun ./packages/core/script/sync-models.ts nexus