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:
- Skip the /models health check (set
supports_models_endpoint = False for this provider, like OpenCode Go), OR
- Use a POST-based health check — call
POST /v1/chat/completions with a minimal request and check for 2xx response, OR
- 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
Bug Description
hermes doctorreports ⚠ 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:However, the MiniMax
/v1/modelsendpoint only accepts POST requests (it is a chat completions-style endpoint), not GET. Sending a GET request to this URL returns404 page not found.Verification
A direct POST to the chat completions endpoint works perfectly:
But
GET /v1/modelsreturns 404.Suggested Fix
For MiniMax (China)
minimax-cnprovider, either:supports_models_endpoint = Falsefor this provider, like OpenCode Go), ORPOST /v1/chat/completionswith a minimal request and check for 2xx response, OROption 1 is the simplest and matches the existing pattern used for providers that do not support the
/modelsendpoint.Environment
minimax-cn(MiniMax China)https://api.minimaxi.com/anthropic