hermes - 💡(How to fix) Fix Feature Request: Per-platform model configuration [2 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#14327Fetched 2026-04-24 06:17:45
View on GitHub
Comments
2
Participants
2
Timeline
6
Reactions
0
Timeline (top)
labeled ×4commented ×2

Fix Action

Fix / Workaround

Current Workaround

Code Example

platforms:
  feishu:
    model: mimo-v2.5
    provider: Token-plan-cn.xiaomimimo.com
  cli:
    model: MiniMax-M2.7
    provider: minimax-cn
RAW_BUFFERClick to expand / collapse

Problem

Currently Hermes Agent uses a single global model configuration (model.provider and model.default in config.yaml). All messaging platforms share the same model, with only per-session overrides via /model <name>.

Use case: A user wants Feishu to use mimo-v2.5 on a custom provider, while keeping CLI on MiniMax-M2.7.

Current Workaround

Using /model <name> --provider <provider> in a session sets a per-session override (stored in _session_model_overrides), but it does not persist and does not allow platform-wide defaults.

Desired Behavior

Allow per-platform model configuration in config.yaml:

platforms:
  feishu:
    model: mimo-v2.5
    provider: Token-plan-cn.xiaomimimo.com
  cli:
    model: MiniMax-M2.7
    provider: minimax-cn

Technical Notes

  • GatewayConfig (gateway/config.py) has PlatformConfig per platform but lacks model/provider fields
  • _session_model_overrides in gateway/run.py provides per-session switching, not per-platform
  • Model switching pipeline: hermes_cli/model_switch.py (switch_model()) handles resolution
  • Session override system already in place at gateway/run.py:1050-1122 (_resolve_session_agent_runtime)

extent analysis

TL;DR

To achieve per-platform model configuration, update the GatewayConfig to include model and provider fields for each platform.

Guidance

  • Modify the GatewayConfig class in gateway/config.py to include model and provider fields for each platform, allowing for per-platform configuration.
  • Update the hermes_cli/model_switch.py (switch_model() function) to handle the new per-platform model configuration.
  • Integrate the per-platform model configuration with the existing session override system in gateway/run.py.
  • Verify the changes by testing the model configuration for each platform, ensuring that the desired models are used.

Example

class PlatformConfig:
    def __init__(self, model, provider):
        self.model = model
        self.provider = provider

class GatewayConfig:
    def __init__(self):
        self.platforms = {
            'feishu': PlatformConfig('mimo-v2.5', 'Token-plan-cn.xiaomimimo.com'),
            'cli': PlatformConfig('MiniMax-M2.7', 'minimax-cn')
        }

Notes

The proposed solution assumes that the existing session override system can be extended to accommodate per-platform model configuration. Further testing and validation may be required to ensure seamless integration.

Recommendation

Apply the workaround by updating the GatewayConfig to include per-platform model configuration, as this allows for more flexibility and customization in model selection for each platform.

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