ModelSaar

Hermes Agent

Rendered from docs/clients/hermes.md at commit b9d69f7299ed. The repository file is authoritative.

Verified against hermes-agent.nousresearch.com docs and cli-config.yaml.example on 2026-10-11 (sources in research/clients-2026-10-11.md, §4). Test status: configuration keys documented; live Hermes tool round trip NOT RUN in this build.

Generate the snippet: modelsaar client-config hermes (--apply merges into ~/.hermes/config.yaml with a backup, preserving unrelated keys).

Key facts

# ~/.hermes/config.yaml
model:
  default: auto
  provider: custom
  base_url: http://127.0.0.1:8484/v1
  key_env: MODELSAAR_API_KEY
  context_length: 32768          # use the alias contract minimum printed by client-config
providers:
  modelsaar:
    api: http://127.0.0.1:8484/v1
    key_env: MODELSAAR_API_KEY
    transport: chat_completions
    default_model: auto
    context_length: 32768
    session_affinity_header: X-ModelSaar-Session
# ~/.hermes/.env
MODELSAAR_API_KEY=<first line of ~/.modelsaar/keys/api_keys>

Interactive alternative: hermes model → Custom endpoint → URL http://127.0.0.1:8484/v1, key, model auto, context length, API mode chat completions.

Tools

Hermes uses native tools over Chat Completions and documents backend requirements (llama.cpp --jinja, vLLM --enable-auto-tool-choice --tool-call-parser hermes). ModelSaar only routes tool requests to deployments whose tool support is verified (modelsaar probe). Whether Hermes sends tool_choice or parallel calls is not documented; a required tool choice would make Ollama-backed deployments ineligible (422 with blocker).

Model listing

/model custom queries GET /v1/models; ModelSaar's entries include a modelsaar object with context_length/tools/vision metadata. Which field Hermes parses for context length is not documented, so set context_length in config.yaml explicitly.