hermes-hub/config/router_profiles.example.yaml

247 lines
6.4 KiB
YAML

# Hermes Hub: Multi-Provider Account Router Default Profiles Template
# Copy this file to %LOCALAPPDATA%\hermes\config\router_profiles.yaml if not present.
router:
enabled: true
default_role: "orchestrator"
max_failover_attempts: 3
cooldown_base_seconds: 300
cooldown_max_seconds: 3600
session_affinity_ttl_seconds: 1800
roles:
orchestrator:
role_name: "orchestrator"
preferred_chain:
- "codex-orch"
- "ag-orch-fallback"
- "opengo-3"
fallback_capabilities:
- "orchestrator"
- "reasoning"
max_failover_attempts: 3
session_affinity_enabled: true
default_model: "gemini-3.7-flash"
coder-primary:
role_name: "coder-primary"
preferred_chain:
- "codex-worker-1"
- "ag-w1"
- "opengo-3"
fallback_capabilities:
- "coding"
max_failover_attempts: 3
session_affinity_enabled: true
coder-secondary:
role_name: "coder-secondary"
preferred_chain:
- "codex-worker-2"
- "ag-w2"
- "opengo-2"
fallback_capabilities:
- "coding"
- "reviewer"
max_failover_attempts: 3
session_affinity_enabled: true
reviewer:
role_name: "reviewer"
preferred_chain:
- "codex-worker-2"
- "opengo-2"
- "ag-w2"
fallback_capabilities:
- "reviewer"
- "coding"
max_failover_attempts: 3
session_affinity_enabled: true
research:
role_name: "research"
preferred_chain:
- "opengo-1"
- "ag-w3"
- "ag-w4"
fallback_capabilities:
- "research"
- "fast"
max_failover_attempts: 3
session_affinity_enabled: true
fast:
role_name: "fast"
preferred_chain:
- "opengo-1"
- "ag-w4"
- "ag-spare-1"
fallback_capabilities:
- "fast"
- "coding"
max_failover_attempts: 3
session_affinity_enabled: false
profiles:
# Antigravity (10 accounts)
ag-orch-fallback:
profile_id: "ag-orch-fallback"
provider: "antigravity"
account_id: "ag-acc-orch"
enabled: true
capabilities: ["orchestrator", "reasoning", "coding"]
preferred_models: ["gemini-3.7-flash", "claude-sonnet-4-6", "gemini-3.5-flash"]
max_concurrency: 2
ag-w1:
profile_id: "ag-w1"
provider: "antigravity"
account_id: "ag-acc-w1"
enabled: true
capabilities: ["coding", "coder-primary", "reasoning"]
preferred_models: ["gemini-3.7-flash", "claude-sonnet-4-6", "gemini-3.5-flash"]
max_concurrency: 2
ag-w2:
profile_id: "ag-w2"
provider: "antigravity"
account_id: "ag-acc-w2"
enabled: true
capabilities: ["coding", "coder-secondary", "reviewer", "review"]
preferred_models: ["gemini-3.7-flash", "gemini-3.5-flash"]
max_concurrency: 2
ag-w3:
profile_id: "ag-w3"
provider: "antigravity"
account_id: "ag-acc-w3"
enabled: true
capabilities: ["research", "reasoning", "search"]
preferred_models: ["gemini-3.7-flash", "claude-sonnet-4-6"]
max_concurrency: 2
ag-w4:
profile_id: "ag-w4"
provider: "antigravity"
account_id: "ag-acc-w4"
enabled: true
capabilities: ["coding", "reasoning", "fast"]
preferred_models: ["gemini-3.5-flash", "gemini-3.7-flash"]
max_concurrency: 2
ag-spare-1:
profile_id: "ag-spare-1"
provider: "antigravity"
account_id: "ag-acc-sp1"
enabled: true
capabilities: ["hot-spare", "coding", "reasoning", "orchestrator", "research", "fast"]
preferred_models: ["gemini-3.7-flash", "gemini-3.5-flash"]
max_concurrency: 2
ag-spare-2:
profile_id: "ag-spare-2"
provider: "antigravity"
account_id: "ag-acc-sp2"
enabled: true
capabilities: ["hot-spare", "coding", "reasoning", "orchestrator", "research", "fast"]
preferred_models: ["gemini-3.7-flash", "gemini-3.5-flash"]
max_concurrency: 2
ag-cold-1:
profile_id: "ag-cold-1"
provider: "antigravity"
account_id: "ag-acc-cold1"
enabled: false
capabilities: ["cold-spare"]
preferred_models: []
max_concurrency: 1
ag-cold-2:
profile_id: "ag-cold-2"
provider: "antigravity"
account_id: "ag-acc-cold2"
enabled: false
capabilities: ["cold-spare"]
preferred_models: []
max_concurrency: 1
ag-cold-3:
profile_id: "ag-cold-3"
provider: "antigravity"
account_id: "ag-acc-cold3"
enabled: false
capabilities: ["cold-spare"]
preferred_models: []
max_concurrency: 1
# OpenAI Codex (3 accounts)
codex-orch:
profile_id: "codex-orch"
provider: "openai-codex"
account_id: "codex-acc-1"
enabled: true
capabilities: ["orchestrator", "coding", "reasoning"]
preferred_models: ["gpt-4o", "o3-mini", "codex"]
max_concurrency: 2
codex-worker-1:
profile_id: "codex-worker-1"
provider: "openai-codex"
account_id: "codex-acc-2"
enabled: true
capabilities: ["coding", "coder-primary", "reasoning"]
preferred_models: ["gpt-4o", "o3-mini", "codex"]
max_concurrency: 2
codex-worker-2:
profile_id: "codex-worker-2"
provider: "openai-codex"
account_id: "codex-acc-3"
enabled: true
capabilities: ["coding", "coder-secondary", "reviewer", "review"]
preferred_models: ["gpt-4o", "o3-mini", "codex"]
max_concurrency: 2
# OpenCode Go (3 accounts)
opengo-1:
profile_id: "opengo-1"
provider: "opencode-go"
account_id: "opengo-acc-1"
enabled: true
capabilities: ["research", "search", "fast", "review"]
preferred_models: ["qwen3.8-max", "glm-5.3", "deepseek-v4-flash", "grok-4.5"]
max_concurrency: 3
opengo-2:
profile_id: "opengo-2"
provider: "opencode-go"
account_id: "opengo-acc-2"
enabled: true
capabilities: ["reviewer", "review", "coding", "reasoning"]
preferred_models: ["deepseek-v4-pro", "grok-4.5", "qwen3.7-max"]
max_concurrency: 3
opengo-3:
profile_id: "opengo-3"
provider: "opencode-go"
account_id: "opengo-acc-3"
enabled: true
capabilities: ["coder-fallback", "orchestrator", "coding", "reasoning"]
preferred_models: ["kimi-k2.7-code", "deepseek-v4-pro", "qwen3.8-max"]
max_concurrency: 3
# Optional: User Model Pricing Table (USD per 1M tokens)
# Telemetry will compute call cost in USD only if a model price is defined below.
pricing:
gemini-2.5-pro:
input_cost_per_m: 1.25
output_cost_per_m: 5.00
gemini-2.5-flash:
input_cost_per_m: 0.15
output_cost_per_m: 0.60
gpt-4o:
input_cost_per_m: 2.50
output_cost_per_m: 10.00
claude-3-7-sonnet:
input_cost_per_m: 3.00
output_cost_per_m: 15.00