Konfigurasi Agent
config.yaml adalah konfigurasi utama Hermes Agent. Semua perilaku, model, tools, integrasi platform, dan pengaturan lanjutan diatur di sini.
File config.yaml berada di ~/.hermes/config.yaml. Di bawah ini adalah penjelasan setiap section berdasarkan struktur asli config.
Model & Provider
Model default
model: default: "your-model-name" provider: "custom" base_url: "https://api.example.com/v1"
default: model yang dipakai untuk semua percakapan. provider: custom kalau pakai endpoint sendiri, atau openrouter/openai/anthropic untuk provider bawaan. base_url: endpoint API (hanya untuk custom provider).
Custom providers
custom_providers:
- name: MyProvider
base_url: "https://api.example.com/v1"
api_key: "sk-..."
models:
my-model-name:
context_length: 128000Tambahkan provider custom OpenAI-compatible. Setiap model perlu context_length agar agent tahu batas context window. Bisa tambahkan banyak model dari provider berbeda (Groq, Fireworks, Gemini, dll).
Fallback model
# fallback_model: # provider: openrouter # model: anthropic/claude-sonnet-4
Auto-failover kalau model utama tidak tersedia. Trigger pada rate limit (429), overload (529), service error (503), atau connection failure. Uncomment untuk aktifkan.
Perilaku Agent
Agent
agent: max_turns: 300 gateway_timeout: 1800 restart_drain_timeout: 180 api_max_retries: 3 tool_use_enforcement: auto reasoning_effort: medium image_input_mode: auto verbose: false
max_turns: maksimum iterasi per sesi. gateway_timeout: timeout total gateway (detik). restart_drain_timeout: waktu tunggu sebelum restart. api_max_retries: retry kalau API gagal. tool_use_enforcement: auto = agent putuskan sendiri kapan pakai tools. reasoning_effort: kedalaman berpikir (low/medium/high). image_input_mode: auto = proses gambar jika ada. verbose: log detail.
Personalities
agent:
personalities:
helpful: You are a helpful, friendly AI assistant.
concise: You are a concise assistant. Keep responses brief.
technical: You are a technical expert.
creative: You are a creative assistant.
kawaii: "You are a kawaii assistant! Use cute expressions..."Define personality presets yang bisa dipakai agent. Setiap personality adalah system prompt singkat. Agent bisa switch personality berdasarkan konteks atau user request.
Approval Mode
Approvals
approvals: mode: yolo timeout: 60 cron_mode: deny mcp_reload_confirm: true
mode: yolo = agent langsung eksekusi tanpa izin. smart = agent putuskan berdasarkan risiko. always = selalu minta izin. timeout: detik sebelum auto-deny. cron_mode: approval khusus untuk scheduled tasks. mcp_reload_confirm: minta konfirmasi saat reload MCP servers.
Terminal & Eksekusi
Terminal
terminal: backend: local timeout: 180 persistent_shell: true lifetime_seconds: 300 docker_image: nikolaik/python-nodejs:python3.11-nodejs20 container_cpu: 1 container_memory: 5120 container_disk: 51200 container_persistent: true
backend: local = langsung di mesin, docker = container terisolasi. persistent_shell: true = shell tetap hidup antar command. lifetime_seconds: umur shell session. docker_image: image untuk Docker backend. container_*: resource limits untuk Docker.
Code execution
code_execution: mode: project timeout: 300 max_tool_calls: 50
mode: project = jalankan code di working directory project. timeout: detik maksimum per eksekusi. max_tool_calls: batas maksimum tool calls per sesi.
Browser
Browser
browser:
engine: auto
cdp_url: ws://localhost:9222
inactivity_timeout: 120
command_timeout: 30
allow_private_urls: true
record_sessions: true
dialog_policy: must_respond
dialog_timeout_s: 300
camofox:
managed_persistence: true
cloud_provider: camofoxengine: auto = pilih yang tersedia (camofox/playwright/cdp). cdp_url: WebSocket endpoint untuk Chrome DevTools Protocol. allow_private_urls: izinkan akses URL private (localhost, intranet). record_sessions: simpan rekaman sesi browser. dialog_policy: must_respond = agent wajib respon dialog browser. camofox.managed_persistence: persistensi session Camofox.
Memory
Memory
memory: memory_enabled: true user_profile_enabled: true memory_char_limit: 1000000 user_char_limit: 1000000 provider: holographic nudge_interval: 10 flush_min_turns: 6
memory_enabled: aktifkan memory persisten. user_profile_enabled: simpan profil user (preferensi, kebiasaan). provider: holographic = deep structured memory dengan entity resolution. nudge_interval: interval nudge untuk save memory. flush_min_turns: minimum turns sebelum flush memory ke disk.
Delegation (Sub-agent)
Delegation
delegation: max_concurrent_children: 3 max_spawn_depth: 1 orchestrator_enabled: true subagent_auto_approve: true inherit_mcp_toolsets: true max_iterations: 50 child_timeout_seconds: 600
max_concurrent_children: sub-agent paralel maksimal. max_spawn_depth: kedalaman spawn (1 = sub-agent tidak bisa spawn sub-sub-agent). orchestrator_enabled: izinkan sub-agent jadi orchestrator. subagent_auto_approve: sub-agent langsung jalan tanpa approval. inherit_mcp_toolsets: sub-agent mewarisi MCP tools dari parent. max_iterations: batas iterasi per sub-agent. child_timeout_seconds: timeout per sub-agent.
Platform Messaging
Telegram
telegram:
reactions: false
channel_prompts: {}
allowed_chats: ""Telegram auto-detect dari TELEGRAM_BOT_TOKEN env var. reactions: izinkan agent react ke pesan. channel_prompts: system prompt khusus per channel. allowed_chats: kosongkan untuk izinkan semua, atau isi chat ID spesifik.
Discord
discord:
require_mention: true
auto_thread: true
reactions: true
channel_prompts: {}
allowed_channels: ""Token di DISCORD_TOKEN env var. require_mention: agent hanya merespons saat di-mention. auto_thread: buat thread otomatis. reactions: izinkan agent react ke pesan. channel_prompts: system prompt khusus per channel.
Platform lain
slack:
require_mention: true
free_response_channels: ""
allowed_channels: ""
whatsapp: {}
mattermost:
require_mention: true
matrix:
require_mention: trueHermes mendukung Slack, WhatsApp, Mattermost, dan Matrix. Setiap platform punya konfigurasi serupa: require_mention, allowed_channels, dan channel_prompts. Token di environment variable masing-masing.
Context Compression
Compression
compression: enabled: true threshold: 0.2 target_ratio: 0.2 protect_last_n: 20 hygiene_hard_message_limit: 400
enabled: aktifkan context compression. threshold: 0.2 = mulai compress saat context 80% penuh. target_ratio: 0.2 = compress sampai 20% terpakai. protect_last_n: 20 pesan terakhir tidak di-compress. hygiene_hard_message_limit: batas pesan sebelum hard compression.
Auxiliary (Model Tambahan)
Section auxiliary mengatur model tambahan untuk tugas spesifik: vision, web extraction, compression, session search, dll. Bisa pakai model berbeda dari model utama.
Auxiliary
auxiliary:
vision:
provider: custom:myprovider
model: your-vision-model
timeout: 120
web_extract:
provider: auto
timeout: 360
compression:
provider: auto
timeout: 120
session_search:
provider: auto
timeout: 30
max_concurrency: 3vision: model untuk analisis gambar. web_extract: model untuk extract konten web. compression: model untuk compress context. session_search: model untuk search session history. provider: auto = pakai model default, atau specify provider:model.
Skills
Skills
skills:
external_dirs: []
template_vars: true
inline_shell: false
inline_shell_timeout: 10
guard_agent_created: false
creation_nudge_interval: 15
disabled:
- airtable
- notion
- obsidian
- codexexternal_dirs: directory skill custom tambahan. template_vars: aktifkan variabel template di skills. inline_shell: izinkan shell command langsung di skill. disabled: nonaktifkan skills yang tidak dipakai untuk hemat context window.
Display & Tampilan
Display
display: compact: false personality: kawaii streaming: true language: en inline_diffs: true show_cost: false skin: default bell_on_complete: false show_reasoning: false
compact: tampilan lebih ringkas. personality: personality aktif (harus ada di agent.personalities). streaming: tampilkan response secara streaming. language: bahasa UI. inline_diffs: tampilkan diff saat edit file. show_cost: tampilkan biaya per request. skin: tema visual.
Security
Security & Privacy
security: allow_private_urls: true redact_secrets: true tirith_enabled: true tirith_timeout: 5 tirith_fail_open: true privacy: redact_pii: true
allow_private_urls: izinkan akses URL private (localhost, 192.168.x.x). redact_secrets: otomatis sembunyikan API keys dan secrets di output. tirith_enabled: aktifkan security scanning (Tirith). privacy.redact_pii: sembunyikan data pribadi.
Voice (TTS/STT)
TTS & STT
tts:
provider: edge
edge:
voice: en-US-AriaNeural
stt:
enabled: true
provider: local
local:
model: baseTTS: text-to-speech. Provider: edge (gratis), elevenlabs, openai, xai, mistral, piper. STT: speech-to-text. Provider: local (whisper), openai, mistral. voice.record_key: shortcut untuk mulai rekam (default: ctrl+b).
Pengaturan Lainnya
Scheduling & Cron
cron: wrap_response: true max_parallel_jobs: null kanban: dispatch_in_gateway: true dispatch_interval_seconds: 60 failure_limit: 2
cron: pengaturan scheduled tasks. wrap_response: bungkus output dengan metadata. max_parallel_jobs: null = unlimited. kanban: sistem task board internal. dispatch_in_gateway: dispatch tasks dari gateway. dispatch_interval_seconds: interval pengecekan task baru.
Sessions & Logging
sessions: auto_prune: false retention_days: 90 logging: level: INFO max_size_mb: 5 backup_count: 3
sessions: auto_prune = otomatis hapus session lama. retention_days: simpan session berapa hari. logging.level: INFO/DEBUG/WARNING/ERROR. max_size_mb: batas ukuran log file.
Contoh Config Minimal
Di bawah ini adalah contoh config minimal untuk agent otonom. Sesuaikan model, provider, dan platform sesuai kebutuhan.
model: default: "your-model-name" provider: "custom" base_url: "https://api.example.com/v1" agent: max_turns: 300 tool_use_enforcement: auto reasoning_effort: medium approvals: mode: yolo cron_mode: deny terminal: backend: local timeout: 180 persistent_shell: true browser: engine: auto memory: memory_enabled: true user_profile_enabled: true delegation: max_concurrent_children: 3 orchestrator_enabled: true subagent_auto_approve: true compression: enabled: true telegram: reactions: false
Config ini memberikan agent otonom penuh: model custom, approval yolo, terminal lokal, browser auto-detect, memory aktif, dan sub-agent yang langsung jalan. Tinggal tambahkan platform credentials di .env.
Hermes SOUL Guide — membuat agent pintar itu proses, bukan prompt instan.