mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-06 12:52:11 +00:00
A custom_providers config that names the model under model.name (or model.model) resolved to an empty model, so the API request went out with model= — HTTP 400 from OpenAI-compatible backends. Display paths (hermes status/dump) already read model.name and showed the model, making the failure silent. The model id was read via 'default or model' at ~14 independent sites (cli, gateway, cron, curator, oneshot, fallback, profiles, ...), none of which honored 'name'. Rather than patch every site, canonicalize at the single load/save chokepoint: _normalize_root_model_keys() now promotes model.model/model.name -> model.default (precedence default > model > name) and drops the stale alias, so every reader — present and future — sees a populated default and config.yaml is migrated canonical on next save. The gateway, which bypasses load_config(), replays the same normalization in _load_gateway_config(). Co-authored-by: Bartok9 <danielrpike9@gmail.com> Credit: root-cause analysis and fix direction from @Bartok9 (#34502, first) and @v86861062 (#34527). |
||
|---|---|---|
| .. | ||
| auth-login-hint-fix | ||
| clarify-expiry-32762 | ||
| content-filter-fallback | ||
| discord-no-bot2bot | ||
| eager-fallback-transport | ||
| intent-ack-continuation | ||
| model-name-canon | ||
| model-picker-fixes | ||
| partial-stream-recovery | ||
| pr-27539 | ||
| pr-29285-provider-precedence | ||
| skills-sync-external-dirs | ||
| standalone-plugin-policy | ||
| state-db-fullfsync | ||
| telegram-send-path-35205 | ||
| vision-any-provider | ||
| whatsapp-send-queue | ||