Skip to content

feat(provider): add Nexus provider#2784

Open
hcastc00 wants to merge 1 commit into
anomalyco:devfrom
dappnode:feat/nexus-provider
Open

feat(provider): add Nexus provider#2784
hcastc00 wants to merge 1 commit into
anomalyco:devfrom
dappnode:feat/nexus-provider

Conversation

@hcastc00

Copy link
Copy Markdown

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.

Models included in this branch (12)

Adds the current chat-completion catalog exposed by Nexus:

  • deepseek/deepseek-v4-flash
  • deepseek/deepseek-v4-pro
  • minimax/minimax-m2.7
  • minimax/minmax-m3
  • moonshotai/kimi-k2.6
  • moonshotai/kimi-k2.7-code
  • nexus/auto
  • private/deepseek-v4-pro
  • private/gemma4-31b
  • private/glm-5.1
  • private/kimi-k2.6
  • zai-org/glm-5.2

Where possible, model files use canonical base_model metadata and keep only Nexus-specific pricing, limits, and capability overrides.

Sync behavior

  • Adds Nexus to the shared SyncProvider registry and the aggregator sync target.
  • Adds the nexus:sync package script.
  • Syncs chat-completion models from GET https://nexus-api.dappnode.com/v1/models.
  • Uses Nexus-provided USD pricing, context limits, output limits, base-model hints, and advertised features.
  • Resolves base_model values from Nexus /v1/models to canonical metadata in models/ when possible, including bare aliases such as kimi-k2-6.

Notes

  • nexus/auto is a router model, so it intentionally has no fixed per-token cost.
  • Private Nexus models remain separate model IDs under private/* and use - Private display names.
  • Private model canonical mappings:
    • private/deepseek-v4-pro -> deepseek/deepseek-v4-pro
    • private/gemma4-31b -> google/gemma-4-31b-it
    • private/glm-5.1 -> zhipuai/glm-5.1
    • private/kimi-k2.6 -> moonshotai/kimi-k2.6
  • Nexus model IDs map directly to TOML paths under providers/nexus/models.

Structure

Follows the standard provider layout and sync-provider pattern:

  • providers/nexus/provider.toml
  • providers/nexus/models/**/*.toml
  • providers/nexus/logo.svg
  • packages/core/src/sync/providers/nexus.ts
  • packages/core/src/sync/index.ts
  • package.json

Verification

  • git diff --check
  • bun ./packages/core/script/validate.ts
  • bun ./packages/core/script/sync-models.ts nexus

@hcastc00 hcastc00 marked this pull request as ready for review June 25, 2026 14:15
@rekram1-node

Copy link
Copy Markdown
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 [], and regenerate before merge.

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