Files
hermes-profile/config.yaml
T

411 lines
8.9 KiB
YAML

model:
api_key: ${CUSTOM_API_KEY}
base_url: https://coding.dashscope.aliyuncs.com/v1
default: qwen3.5-plus
provider: custom
fallback_providers: []
toolsets:
- hermes-cli
agent:
max_turns: 90
gateway_timeout: 1800
restart_drain_timeout: 180
api_max_retries: 3
service_tier: ''
tool_use_enforcement: auto
gateway_timeout_warning: 900
clarify_timeout: 600
gateway_notify_interval: 180
gateway_auto_continue_freshness: 3600
image_input_mode: auto
disabled_toolsets: []
terminal:
backend: local
modal_mode: auto
cwd: /opt/data/workspace
timeout: 180
env_passthrough: []
shell_init_files: []
auto_source_bashrc: true
docker_image: nikolaik/python-nodejs:python3.11-nodejs20
docker_forward_env: []
singularity_image: docker://nikolaik/python-nodejs:python3.11-nodejs20
modal_image: nikolaik/python-nodejs:python3.11-nodejs20
daytona_image: nikolaik/python-nodejs:python3.11-nodejs20
vercel_runtime: node24
container_cpu: 1
container_memory: 5120
container_disk: 51200
container_persistent: true
docker_volumes: []
docker_mount_cwd_to_workspace: false
docker_extra_args: []
docker_run_as_host_user: false
persistent_shell: true
web:
backend: ''
search_backend: ''
extract_backend: ''
browser:
inactivity_timeout: 120
command_timeout: 30
record_sessions: false
allow_private_urls: false
engine: auto
auto_local_for_private_urls: true
cdp_url: ''
dialog_policy: must_respond
dialog_timeout_s: 300
camofox:
managed_persistence: false
user_id: ''
session_key: ''
adopt_existing_tab: false
checkpoints:
enabled: false
max_snapshots: 20
max_total_size_mb: 500
max_file_size_mb: 10
auto_prune: true
retention_days: 7
min_interval_hours: 24
delete_orphans: true
file_read_max_chars: 100000
tool_output:
max_bytes: 50000
max_lines: 2000
max_line_length: 2000
tool_loop_guardrails:
warnings_enabled: true
hard_stop_enabled: false
warn_after:
exact_failure: 2
same_tool_failure: 3
idempotent_no_progress: 2
hard_stop_after:
exact_failure: 5
same_tool_failure: 8
idempotent_no_progress: 5
compression:
enabled: true
threshold: 0.5
target_ratio: 0.2
protect_last_n: 20
hygiene_hard_message_limit: 400
protect_first_n: 3
prompt_caching:
cache_ttl: 5m
openrouter:
response_cache: true
response_cache_ttl: 300
min_coding_score: 0.65
bedrock:
region: ''
discovery:
enabled: true
provider_filter: []
refresh_interval: 3600
guardrail:
guardrail_identifier: ''
guardrail_version: ''
stream_processing_mode: async
trace: disabled
auxiliary:
vision:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 120
download_timeout: 30
web_extract:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 360
compression:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 120
skills_hub:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 30
approval:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 30
mcp:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 30
title_generation:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 30
triage_specifier:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 120
curator:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 600
session_search:
provider: auto
model: ''
base_url: ''
api_key: ''
timeout: 30
extra_body: {}
max_concurrency: 3
display:
compact: false
personality: kawaii
resume_display: full
busy_input_mode: interrupt
tui_auto_resume_recent: false
bell_on_complete: false
show_reasoning: false
streaming: false
timestamps: false
final_response_markdown: strip
persistent_output: true
persistent_output_max_lines: 200
inline_diffs: true
file_mutation_verifier: true
show_cost: false
skin: default
language: en
tui_status_indicator: kaomoji
user_message_preview:
first_lines: 2
last_lines: 2
interim_assistant_messages: true
tool_progress_command: false
tool_preview_length: 0
ephemeral_system_ttl: 0
runtime_footer:
enabled: false
fields:
- model
- context_pct
- cwd
copy_shortcut: auto
tool_progress_overrides: {}
dashboard:
theme: default
show_token_analytics: false
privacy:
redact_pii: false
tts:
provider: edge
edge:
voice: en-US-AriaNeural
elevenlabs:
voice_id: pNInz6obpgDQGcFmaJgB
model_id: eleven_multilingual_v2
openai:
model: gpt-4o-mini-tts
voice: alloy
xai:
voice_id: eve
language: en
sample_rate: 24000
bit_rate: 128000
mistral:
model: voxtral-mini-tts-2603
voice_id: c69964a6-ab8b-4f8a-9465-ec0925096ec8
neutts:
ref_audio: ''
ref_text: ''
model: neuphonic/neutts-air-q4-gguf
device: cpu
piper:
voice: en_US-lessac-medium
stt:
enabled: true
provider: local
local:
model: base
language: ''
openai:
model: whisper-1
mistral:
model: voxtral-mini-latest
voice:
record_key: ctrl+b
max_recording_seconds: 120
auto_tts: false
beep_enabled: true
silence_threshold: 200
silence_duration: 3
human_delay:
mode: 'off'
min_ms: 800
max_ms: 2500
context:
engine: compressor
memory:
memory_enabled: true
user_profile_enabled: true
memory_char_limit: 2200
user_char_limit: 1375
provider: ''
delegation:
model: ''
provider: ''
base_url: ''
api_key: ''
api_mode: ''
inherit_mcp_toolsets: true
max_iterations: 50
child_timeout_seconds: 600
reasoning_effort: ''
max_concurrent_children: 3
max_spawn_depth: 1
orchestrator_enabled: true
subagent_auto_approve: false
prefill_messages_file: ''
goals:
max_turns: 20
skills:
external_dirs: []
template_vars: true
inline_shell: false
inline_shell_timeout: 10
guard_agent_created: false
curator:
enabled: true
interval_hours: 168
min_idle_hours: 2
stale_after_days: 30
archive_after_days: 90
backup:
enabled: true
keep: 5
timezone: Asia/Shanghai
slack:
require_mention: true
free_response_channels: ''
allowed_channels: ''
discord:
require_mention: true
free_response_channels: ''
allowed_channels: ''
auto_thread: true
thread_require_mention: false
history_backfill: true
history_backfill_limit: 50
reactions: true
dm_role_auth_guild: ''
server_actions: ''
telegram:
reactions: false
allowed_chats: ''
mattermost:
require_mention: true
free_response_channels: ''
allowed_channels: ''
matrix:
require_mention: true
free_response_rooms: ''
allowed_rooms: ''
approvals:
mode: manual
timeout: 60
cron_mode: deny
mcp_reload_confirm: true
destructive_slash_confirm: true
command_allowlist:
- script execution via -e/-c flag
- execute_code
- stop/restart hermes gateway (kills running agents)
hooks_auto_accept: false
security:
allow_private_urls: false
redact_secrets: true
tirith_enabled: true
tirith_path: tirith
tirith_timeout: 5
tirith_fail_open: true
website_blocklist:
enabled: false
domains: []
shared_files: []
acked_advisories: []
allow_lazy_installs: true
cron:
wrap_response: true
kanban:
dispatch_in_gateway: true
dispatch_interval_seconds: 60
failure_limit: 2
code_execution:
mode: project
logging:
level: INFO
max_size_mb: 5
backup_count: 3
model_catalog:
enabled: true
url: https://hermes-agent.nousresearch.com/docs/api/model-catalog.json
ttl_hours: 24
network:
force_ipv4: false
sessions:
auto_prune: false
retention_days: 90
vacuum_after_prune: true
min_interval_hours: 24
updates:
pre_update_backup: false
backup_keep: 5
lsp:
enabled: true
wait_mode: document
wait_timeout: 5
install_strategy: auto
x_search:
model: grok-4.20-reasoning
timeout_seconds: 180
retries: 2
_config_version: 33
# ── Fallback Model ────────────────────────────────────────────────────
# Automatic provider failover when primary is unavailable.
# Uncomment and configure to enable. Triggers on rate limits (429),
# overload (529), service errors (503), or connection failures.
#
# Supported providers:
# openrouter (OPENROUTER_API_KEY) — routes to any model
# openai-codex (OAuth — hermes auth) — OpenAI Codex
# nous (OAuth — hermes auth) — Nous Portal
# zai (ZAI_API_KEY) — Z.AI / GLM
# kimi-coding (KIMI_API_KEY) — Kimi / Moonshot
# kimi-coding-cn (KIMI_CN_API_KEY) — Kimi / Moonshot (China)
# minimax (MINIMAX_API_KEY) — MiniMax
# minimax-cn (MINIMAX_CN_API_KEY) — MiniMax (China)
# bedrock (AWS IAM / boto3) — AWS Bedrock (Converse API)
#
# For custom OpenAI-compatible endpoints, add base_url and key_env.
#
# fallback_model:
# provider: openrouter
# model: anthropic/claude-sonnet-4