hermes - 💡(How to fix) Fix feat: add Zenmux as a native provider

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
RAW_BUFFERClick to expand / collapse

Feature Description

Add a native Zenmux provider to Hermes Agent, alongside the existing providers (OpenRouter, Anthropic, DeepSeek, xAI, etc.).

What is Zenmux?

Zenmux is an enterprise-grade LLM gateway that provides unified OpenAI-compatible API access to 94+ models from major AI providers through a single account. Key features:

  • 94+ models across OpenAI, Anthropic, DeepSeek, xAI, Google, Z.AI, Moonshot, MiniMax, and more
  • OpenAI-compatible API at https://zenmux.ai/api/v1 — standard /v1/chat/completions, /v1/models endpoints
  • Auto-routingzenmux/auto selects the most cost-effective available model per request
  • Result compensation — built-in insurance policy when AI disappoints
  • Multi-modal I/O — text, image, audio, video, and file across compatible models
  • Full visibility — per-token, per-cost tracking for every request

Motivation

Zenmux is a legitimate, production-grade provider with a growing user base. It's referenced in the Mastra AI framework's provider docs, listed on Product Hunt, and used by developers who need multi-model access without managing multiple provider accounts.

Currently, Hermes users can only use Zenmux via the generic custom provider mechanism (custom_providers in config.yaml). This works but lacks:

  • First-class /model picker integration like OpenRouter/Anthropic/DeepSeek get
  • Automatic model discovery (their /v1/models returns rich metadata including context_length, capabilities, pricing, and modality info)
  • Native auth setup via hermes setup or hermes model
  • Credential pool support via hermes auth
  • Proper provider name in the UI and system prompt (shows as "custom" currently)

Proposed Solution

Add a native zenmux provider class that:

  1. Base URL: https://zenmux.ai/api/v1
  2. Auth: API key via ZENMUX_API_KEY env var, passed as Authorization: Bearer <key>
  3. Model discovery: Fetch from GET /v1/models which returns structured metadata
  4. Standard chat completions — OpenAI-compatible, no special handling needed
  5. Include in hermes setup provider wizard and hermes model picker
  6. Credential pool support via hermes auth add

Alternatives Considered

  • Stay on custom provider — works but degraded UX. Users miss out on model discovery, credential pooling, and native provider status.
  • Use OpenRouter instead — OpenRouter covers many of the same models, but Zenmux offers the unique auto-routing and compensation features some users prefer.

Additional Context

  • Zenmux website: https://zenmux.ai/
  • Mastra provider reference (confirms API shape): https://mastra.ai/models/providers/zenmux
  • Already tested working as a custom_providers entry in Hermes config with base_url: https://zenmux.ai/api/v1
  • The model ID format uses provider/model-name convention (e.g., deepseek/deepseek-v4-pro, x-ai/grok-4.3)
  • Related: #26578 (custom providers not recognized as aggregators — this issue covers first-class provider support)

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - 💡(How to fix) Fix feat: add Zenmux as a native provider