본문으로 건너뛰기

Fallback 제공자

Hermes Agent는 제공자가 문제점을 명중할 때 세션을 유지하는 탄력의 3개의 층을 가지고 있습니다:

  1. Credential Poolssame 제공자를 위한 다수 API 열쇠의 맞은편에 자전합니다 (첫째로 평가되는)
  2. ** 일기 모델 fallback** - different 제공자로 자동 전환:주요 모델이 실패했을 때 모델
  3. ** 보조 작업 fallback** - 비전, 압축 및 웹 추출과 같은 측면 작업에 대한 독립적 인 제공자 해결책

Credential 풀은 동일한 프로비저스 교체(예, 여러 OpenRouter 키)를 처리합니다. 이 페이지는 cross-provider fallback을 다룹니다. 둘 다 선택적이고 자주적으로 일합니다.

모델 Fallback

주요 LLM 제공자가 오류를 발생했을 때 - 속도 제한, 서버 과부하, auth 실패, 연결 방울 - Hermes는 자동으로 백업 제공자로 전환 할 수 있습니다: 대화를 잃지 않고 모델 쌍 중간 세션.

제품 설명

가장 쉬운 경로는 상호 작용하는 매니저입니다:

hermes fallback
``hermes fallback``hermes model`의 공급자 선택기를 재사용합니다. 동일한 공급자 목록, 동일한 자격 증명, 동일한 검증. subcommands `add`, `list` (alias `ls`), `remove` (alias `rm`), `clear`를 사용하여 체인을 관리합니다. 최고 수준의 `fallback_providers:` 목록에서 persist 변경 `config.yaml`.

YAML을 직접 편집하면 `fallback_model` 섹션을 `~/.hermes/config.yaml`에 추가합니다

```yaml
fallback_model:
provider: openrouter
model: anthropic/claude-sonnet-4

둘 다 providermodel는 ** 필요. 누락 된 경우, fallback은 비활성화됩니다.

fallback_model vs fallback_providersfallback_model (singular)는 레거시 단일 낙하 키입니다. - 헤르메스는 여전히 back-compat를 위해 그것을 존중합니다. fallback_providers (plural, list)는 순서에서 시도한 여러 가지 낙하를 지원합니다. hermes fallback는 이 키에 쓰입니다. 둘 다 놓을 때, 헤르메스는 fallback_providers 우선 순위로 병합합니다.

지원되는 공급자

회사 소개주요 특징제품 정보
AI 게이트웨이ai-gatewayAI_GATEWAY_API_KEY
열린RouteropenrouterOPENROUTER_API_KEY
Nous 포털noushermes auth (오우)
OpenAI 코드openai-codexhermes model (ChatGPT OAuth)
프로젝트copilotCOPILOT_GITHUB_TOKEN, GH_TOKEN, 또는 GITHUB_TOKEN
프로젝트copilot-acp외부 공정(editor Integration)
인기 카테고리anthropicANTHROPIC_API_KEY 또는 Claude 코드 자격 증명
z.ai / GLM의 특징zaiGLM_API_KEY
김이 / 문샷kimi-codingKIMI_API_KEY
미니 맥스minimaxMINIMAX_API_KEY
MiniMax (중국)minimax-cnMINIMAX_CN_API_KEY
딥스카이deepseekDEEPSEEK_API_KEY
NVIDIA의 NIMnvidiaNVIDIA_API_KEY (선택 사항: NVIDIA_BASE_URL)
사이트맵 클라우드gmiGMI_API_KEY (선택 사항: GMI_BASE_URL)
사이트맵stepfunSTEPFUN_API_KEY (선택 사항: STEPFUN_BASE_URL)
Ollama 클라우드ollama-cloudOLLAMA_API_KEY
구글 젬니 (OAuth)google-gemini-clihermes model (Google OAuth; 선택 사항: HERMES_GEMINI_PROJECT_ID)
Google AI 스튜디오geminiGOOGLE_API_KEY ( 별칭: GEMINI_API_KEY)
xAI (그라크)xai (알리아 grok)XAI_API_KEY (선택 사항: XAI_BASE_URL)
XAI Grok OAuth (슈퍼그라크)xai-oauth (알리아 grok-oauth)hermes model → xAI Grok OAuth (브라우저 로그인; SuperGrok 구독)
AWS 베드록bedrock표준 boto3 auth (AWS_REGION + AWS_PROFILE 또는 AWS_ACCESS_KEY_ID)
Qwen 포털 (OAuth)qwen-oauthhermes model (Qwen Portal OAuth; 옵션: HERMES_QWEN_BASE_URL)
미니 맥스 (OAuth)minimax-oauthhermes model (미니맥스 OAuth)
OpenCode 젠opencode-zenOPENCODE_ZEN_API_KEY
OpenCode 바로가기opencode-goOPENCODE_GO_API_KEY
킬로 코드kilocodeKILOCODE_API_KEY
샤오 미모xiaomiXIAOMI_API_KEY
미디어센터arceeARCEEAI_API_KEY
사이트맵 클라우드gmiGMI_API_KEY
Alibaba/대시스코프alibabaDASHSCOPE_API_KEY
Alibaba 코딩 계획alibaba-coding-planALIBABA_CODING_PLAN_API_KEY (DASHSCOPE_API_KEY로 돌아가십시오)
김이 / 문샷 (중국)kimi-coding-cnKIMI_CN_API_KEY
사이트맵stepfunSTEPFUN_API_KEY
Tencent 토큰tencent-tokenhubTOKENHUB_API_KEY
Azure AI 설립자azure-foundryAZURE_FOUNDRY_API_KEY + AZURE_FOUNDRY_BASE_URL
LM Studio (현지)lmstudioLM_API_KEY (또는 로컬) + LM_BASE_URL
Hugging 얼굴huggingfaceHF_TOKEN
주문 endpointcustombase_url + key_env (아래 참조)

사용자 정의 Endpoint Fallback

사용자 정의 OpenAI 호환 엔드 포인트에 대한, 추가 base_url 및 옵션으로 key_env:

fallback_model:
provider: custom
model: my-local-model
base_url: http://localhost:8000/v1
key_env: MY_LOCAL_KEY # env var name containing the API key

할 때 Fallback 트리거

fallback는 1 차 모델이 실패했을 때 자동으로 활성화합니다

  • ** 제한 ** (HTTP 429) - 배기 구출 시도 후
  • **서버 오류 ** (HTTP 500, 502, 503) - 배기 구출 시도 후
  • **Auth 실패 ** (HTTP 401, 403) - 즉시 (포인트 복원 없음)
  • ** 발견되지 않음 ** (HTTP 404) - 즉시
  • Invalid responses — API가 변형되거나 빈 응답을 반복적으로 반환할 때

트리거 할 때, 헤르메스:

  1. fallback 공급자를 위한 자격
  2. 새로운 API 클라이언트 구축
  3. 모델, 공급자 및 클라이언트를 교환
  4. retry 카운터를 재설정하고 대화를 계속합니다

스위치는 완벽합니다 - 대화 기록, 도구 통화 및 컨텍스트가 보존됩니다. 이 에이전트는 정확히에서 왼쪽, 그냥 다른 모델을 사용.

Per-Turn, Not Per-Session

Fallback은 turn-scoped: 각 새로운 사용자 메시지는 1차 모델로 복원됩니다. 1 차가 중간 회전을 실패하면, fallback은 그 차례로 활성화합니다. 다음 메시지에서 Hermes는 다시 한 번 시도합니다. 단일 차례 안에, fallback은 한 번에 활성화합니다. 가을이 실패하면, 일반 오류 처리는 (문자, 오류 메시지). 이 턴 내의 캐스케이드 장애 루프를 방지하고 각 턴을 신선한 기회를 부여합니다.

이름 *

Anthropic native를 위한 fallback으로 OpenRouter:

model:
provider: anthropic
default: claude-sonnet-4-6

fallback_model:
provider: openrouter
model: anthropic/claude-sonnet-4

** OpenRouter에 대한 fallback으로의 포털: **

model:
provider: openrouter
default: anthropic/claude-opus-4

fallback_model:
provider: nous
model: nous-hermes-3

*Local 모델은 클라우드에 대한 fallback으로: * 이름

fallback_model:
provider: custom
model: llama-3.1-70b
base_url: http://localhost:8000/v1
key_env: LOCAL_API_KEY

** 코덱 OAuth 로 fallback:**

fallback_model:
provider: openai-codex
model: gpt-5.3-codex

Fallback 작품

설정하기지원되는 Fallback
CLI 세션
메시징 게이트웨이(Telegram, Discord 등)
시약 위임⊙ (subagents는 fallback config를 상속하지 않습니다)
Cron 작업⊙ (고정 공급자로 실행)
보조 작업 (vision, 압축)⊙ (자본 공급자 체인 사용 — 아래 참조)

fallback_model에 대한 환경 변수가 없습니다. config.yaml를 통해서만 구성됩니다. 이것은 의도적입니다: fallback 윤곽은 stale 포탄 수출이 override이어야 하지 않는 deliberate 선택입니다.


보조 작업 Fallback

Hermes는 측면 작업을 위한 별도의 경량 모델을 사용합니다. 각 작업에는 내장 된 fallback 시스템으로 작동하는 자체 공급 업체의 해결 체인이 있습니다.

독립적 인 공급자 해결과 작업

기타그것은 무엇입니까Config 열쇠
- 연혁이미지 분석, 브라우저 스크린샷auxiliary.vision
웹 추출웹 페이지 요약auxiliary.web_extract
압축Context 압축 summariesauxiliary.compression
세션 검색지난 세션 요약auxiliary.session_search
기술 허브기술 검색 및 발견auxiliary.skills_hub
사이트맵MCP 헬퍼 운영auxiliary.mcp
이름 *Smart command-approval 분류auxiliary.approval
제목 생성세션 제목 요약auxiliary.title_generation
공급 업체hermes kanban specify / 대시보드 ✨ 버튼 - 실제 사양으로 한 라이너 삼가 작업에서 살짝auxiliary.triage_specifier

Auto-Detection 체인

작업 제공자가 "auto" (기본값)로 설정되면, Hermes는 1개의 작품까지 주문할 수 있습니다:

** 텍스트 작업 (압축, 웹 추출물 등): * 이름 * 이름

OpenRouter → Nous Portal → Custom endpoint → Codex OAuth →
API-key providers (z.ai, Kimi, MiniMax, Xiaomi MiMo, Hugging Face, Anthropic) → give up

시력 작업:

Main provider (if vision-capable) → OpenRouter → Nous Portal →
Codex OAuth → Anthropic → Custom endpoint → give up

해결된 공급자가 호출 시간에 실패하면, Hermes는 또한 내부 재량이 있습니다. 공급자가 OpenRouter가 아니며 명시되지 않은 경우 base_url가 설정되어, OpenRouter를 마지막 리조트로 해제합니다.

Auxiliary 공급자 구성

각 작업은 config.yaml에서 독립적으로 구성될 수 있습니다

auxiliary:
vision:
provider: "auto" # auto | openrouter | nous | codex | main | anthropic
model: "" # e.g. "openai/gpt-4o"
base_url: "" # direct endpoint (takes precedence over provider)
api_key: "" # API key for base_url

web_extract:
provider: "auto"
model: ""

compression:
provider: "auto"
model: ""

session_search:
provider: "auto"
model: ""
timeout: 30
max_concurrency: 3
extra_body: {}

skills_hub:
provider: "auto"
model: ""

mcp:
provider: "auto"
model: ""

위의 모든 작업은 같은 ** 프로바이더 / 모델 / base_url** 패턴을 따릅니다. Context 압축은 auxiliary.compression의 밑에 형성됩니다:

auxiliary:
compression:
provider: main # Same provider options as other auxiliary tasks
model: google/gemini-3-flash-preview
base_url: null # Custom OpenAI-compatible endpoint

그리고 fallback 모형 용도:

fallback_model:
provider: openrouter
model: anthropic/claude-sonnet-4
# base_url: http://localhost:8000/v1 # Optional custom endpoint
``auxiliary.session_search`를 위해, Hermes는 또한 지원합니다:

- `max_concurrency`는 한 번에 여러 세션 요약이 실행되는 방법을 제한합니다
- `extra_body`는 summarization 호출을 통해 제공자 별 OpenAI 호환 요청 필드를 전달합니다

:

```yaml
auxiliary:
session_search:
provider: main
model: glm-4.5-air
max_concurrency: 2
extra_body:
enable_thinking: false

만약 당신의 제공자가 기본 OpenAI 호환되는 reasoning-control 필드를 지원하지 않는 경우, extra_body는 그 부분에 도움이되지 않습니다; 그 경우 max_concurrency는 여전히 request-burst 429s를 줄이기 위해 유용합니다.

모든 세 가지 - 보조, 압축, 낙하 - 같은 방법을 작동: 요청을 처리하는 것을 선택하기 위해 provider를 설정, model 어떤 모델을 선택, 그리고 base_url 사용자 정의 엔드 포인트에 포인트 (배당 제공 업체).

Auxiliary Tasks에 대한 제공자 옵션

이 옵션은 auxiliary:, compression:fallback_model: configs에만 적용됩니다. - "main"는 ****** 의 최고 수준의 model.provider의 유효 값입니다. 사용자 정의 엔드포인트의 경우, provider: custommodel: 섹션에서 사용(AI Providers).

회사 소개설명제품 정보
"auto"한 작품까지 주문하는 제공자를 시도하세요 (과태)적어도 1개의 제공자는 형성했습니다
"openrouter"힘 OpenRouterOPENROUTER_API_KEY
"nous"힘 Nous 포털hermes auth
"codex"힘 코덱 OAuthhermes model → 코덱
"main"주요 에이전트 용도(auxiliary task only)를 어떤 제공자든지 사용하세요Active main 제공 업체 구성
"anthropic"힘 Anthropic 본래ANTHROPIC_API_KEY 또는 Claude 코드 자격 증명

직접 엔드포인트 Override

어떤 보조 작업을 위해 base_url를 설정하면 제공자의 해상도를 완전히 우회하고 그 엔드포인트에 직접 요청을 보냅니다

auxiliary:
vision:
base_url: "http://localhost:1234/v1"
api_key: "local-key"
model: "qwen2.5-vl"
``base_url`는 `provider`에 대한 선행을 합니다. Hermes는 설정하지 않는 경우 `api_key`를 사용하며, `OPENAI_API_KEY`로 돌아갑니다. 커스텀 엔드포인트를 위해 `OPENROUTER_API_KEY`를 재사용하지 않습니다.

---

## Context 압축 Fallback \{#context-compression-fallback}

Context 압축은 `auxiliary.compression` config 블록을 사용하여 모델 및 공급자가 요약을 처리 할 수 있습니다

```yaml
auxiliary:
compression:
provider: "auto" # auto | openrouter | nous | main
model: "google/gemini-3-flash-preview"
Legacy migration

compression.summary_model / compression.summary_provider / compression.summary_base_url 의 이전 구성은 auxiliary.compression.* 로 자동 마이그레이션됩니다.

공급자가 압축을 위해 사용할 수없는 경우 Hermes는 세션을 실패하지 않고 요약을 생성하지 않고 중간 대화를 떨어뜨립니다.


위임 공급자 Override

delegate_task donot에 의해 스팸이 발생했습니다. 그러나, 그들은 다른 공급자에 노선될 수 있습니다: 비용 최적화를 위한 모형 쌍:

delegation:
provider: "openrouter" # 재정의 provider for all subagents
model: "google/gemini-3-flash-preview" # 재정의 model
# base_url: "http://localhost:1234/v1" # or use a direct endpoint
# api_key: "local-key"

전체 구성 세부 사항에 대한 Subagent Delegation를 참조하십시오.


Cron 작업 제공자

Cron 작업은 모든 공급자가 실행 시간에 구성됩니다. 그들은 fallback 모델을 지원하지 않습니다. cron 작업에 대한 다른 제공 업체를 사용하려면 providermodel는 cron 작업 자체에 배속합니다

cronjob(
action="create",
schedule="every 2h",
prompt="Check server status",
provider="openrouter",
model="google/gemini-3-flash-preview"
)

전체 구성 세부 사항에 대한 Scheduled Task (Cron)를 참조하십시오.


요약

기능폴백 메커니즘설정 위치
메인 에이전트 모델config.yamlfallback_model. 오류가 난 turn에서만 failover하고 다음 turn에는 primary로 돌아갑니다.fallback_model: (최상위)
비전자동 감지 체인 + 내부 OpenRouter 재시도auxiliary.vision
웹 추출자동 감지 체인 + 내부 OpenRouter 재시도auxiliary.web_extract
컨텍스트 압축자동 감지 체인. 사용할 수 없으면 요약 없이 degradeauxiliary.compression
세션 검색자동 감지 체인auxiliary.session_search
스킬 허브자동 감지 체인auxiliary.skills_hub
MCP 헬퍼자동 감지 체인auxiliary.mcp
승인 분류자동 감지 체인auxiliary.approval
제목 생성자동 감지 체인auxiliary.title_generation
제공자 입력 정리자동 감지 체인auxiliary.triage_specifier
위임제공자 override만 사용. 자동 fallback 없음delegation.provider / delegation.model
Cron 작업작업별 제공자/모델 override만 사용. 자동 fallback 없음작업의 provider / model