Skip to content

DeepSeek missing from _API_KEY_PROVIDER_AUX_MODELS_FALLBACK — misleading "No auxiliary LLM provider" warning #26924

@kriscolab

Description

@kriscolab

Summary

When provider = "deepseek" is set as the main provider, Hermes emits the following warning at startup and during auxiliary operations:

WARNING: No auxiliary LLM provider configured — falling back to main provider for compression

This happens because deepseek is missing from _API_KEY_PROVIDER_AUX_MODELS_FALLBACK in agent/auxiliary_client.py, and DeepSeek is a direct API-key provider (no ProviderProfile plugin with default_aux_model).

Impact

  • All auxiliary tasks (context compression, vision, web extraction, session search) fall back to the main provider model
  • For DeepSeek users with deepseek-chat as aux model, the fallback works but the warning is misleading — it implies a misconfiguration when none exists
  • For users with a reasoning model as primary (e.g., deepseek-reasoner / deepseek-v4-pro), the fallback sends aux tasks to the reasoning model instead of the cheaper chat model, wasting tokens

Root Cause

_get_aux_model_for_provider() in agent/auxiliary_client.py:255 returns "" for deepseek because:

  1. DeepSeek has no ProviderProfile.default_aux_model (it's a direct provider, not a plugin)
  2. _API_KEY_PROVIDER_AUX_MODELS_FALLBACK does not include "deepseek"

Steps to Reproduce

  1. Set provider: deepseek and model: deepseek-chat in config.yaml
  2. Leave auxiliary models unset (or set to deepseek-chat explicitly)
  3. Start Hermes or run any cron job
  4. Observe: "No auxiliary LLM provider configured" warning

Proposed Fix

Add one line to _API_KEY_PROVIDER_AUX_MODELS_FALLBACK in agent/auxiliary_client.py:

"deepseek": "deepseek-chat",

This is consistent with how other direct API-key providers (minimax, stepfun, kimi-coding) are handled in the same dict.

Environment

  • Hermes commit: 9fb40e6
  • Python: 3.11
  • Provider: deepseek
  • Model: deepseek-v4-pro

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium — degraded but workaround existscomp/agentCore agent loop, run_agent.py, prompt builderprovider/deepseekDeepSeek APItype/bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions