hermes - ✅(Solved) Fix [Bug] hermes doctor: MiniMax (China) health check returns HTTP 404 despite functional API [1 pull requests, 1 comments, 2 participants]

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…
GitHub stats
NousResearch/hermes-agent#12768Fetched 2026-04-20 12:17:04
View on GitHub
Comments
1
Participants
2
Timeline
2
Reactions
0
Author
Participants
Timeline (top)
commented ×1cross-referenced ×1

Root Cause

In hermes_cli/doctor.py, the health check for MiniMax (China) uses:

GET https://api.minimaxi.com/v1/models

However, the MiniMax /v1/models endpoint only accepts POST requests (it is a chat completions-style endpoint), not GET. Sending a GET request to this URL returns 404 page not found.

Fix Action

Fixed

PR fix notes

PR #12800: fix(doctor): skip MiniMax China models probe

Description (problem / solution / changelog)

Summary

  • treat MiniMax (China) as configured in hermes doctor instead of probing GET /v1/models
  • avoid a false HTTP 404 warning for a provider whose inference endpoint is functional
  • add a regression test ensuring doctor does not call httpx.get for MiniMax China

Fixes #12768.

Test plan

  • /Users/wentao/miniconda3/bin/python -m pytest -o addopts='' tests/hermes_cli/test_doctor.py -q
  • git diff --cached --check

Changed files

  • hermes_cli/doctor.py (modified, +3/-2)
  • tests/hermes_cli/test_doctor.py (modified, +37/-0)

Code Example

GET https://api.minimaxi.com/v1/models

---

curl -X POST "https://api.minimaxi.com/v1/chat/completions" \
  -H "Authorization: Bearer $MINIMAX_CN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"MiniMax-M2.7","messages":[{"role":"user","content":"hi"}],"max_tokens":5}'
# → HTTP 200, valid response
RAW_BUFFERClick to expand / collapse

Bug Description

hermes doctor reports ⚠ MiniMax (China) (HTTP 404) even though the MiniMax API is fully functional and all actual AI completions work correctly.

Root Cause

In hermes_cli/doctor.py, the health check for MiniMax (China) uses:

GET https://api.minimaxi.com/v1/models

However, the MiniMax /v1/models endpoint only accepts POST requests (it is a chat completions-style endpoint), not GET. Sending a GET request to this URL returns 404 page not found.

Verification

A direct POST to the chat completions endpoint works perfectly:

curl -X POST "https://api.minimaxi.com/v1/chat/completions" \
  -H "Authorization: Bearer $MINIMAX_CN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"MiniMax-M2.7","messages":[{"role":"user","content":"hi"}],"max_tokens":5}'
# → HTTP 200, valid response

But GET /v1/models returns 404.

Suggested Fix

For MiniMax (China) minimax-cn provider, either:

  1. Skip the /models health check (set supports_models_endpoint = False for this provider, like OpenCode Go), OR
  2. Use a POST-based health check — call POST /v1/chat/completions with a minimal request and check for 2xx response, OR
  3. Document this as a known false positive in the doctor output

Option 1 is the simplest and matches the existing pattern used for providers that do not support the /models endpoint.

Environment

  • Hermes version: 0.9.0 (latest main)
  • Platform: macOS
  • Provider: minimax-cn (MiniMax China)
  • API endpoint: https://api.minimaxi.com/anthropic

extent analysis

TL;DR

The hermes doctor health check for MiniMax (China) can be fixed by skipping the /models health check or using a POST-based health check.

Guidance

  • Verify that the MiniMax API is functioning correctly by sending a direct POST request to the chat completions endpoint using curl.
  • Consider setting supports_models_endpoint = False for the minimax-cn provider to skip the /models health check, similar to the existing pattern used for other providers.
  • Alternatively, implement a POST-based health check by calling POST /v1/chat/completions with a minimal request and checking for a 2xx response.
  • If neither of the above solutions is feasible, document this as a known false positive in the doctor output.

Example

# Example of skipping the /models health check
class MiniMaxCNProvider:
    supports_models_endpoint = False

Notes

The suggested fix assumes that the hermes_cli/doctor.py code can be modified to accommodate the changes. Additionally, the MINIMAX_CN_API_KEY environment variable should be set correctly for the health check to work.

Recommendation

Apply workaround: Skip the /models health check by setting supports_models_endpoint = False for the minimax-cn provider, as it is the simplest solution and matches the existing pattern used for other providers.

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