model: default: gpt-5.5 provider: openai-codex base_url: https://chatgpt.com/backend-api/codex providers: blockrun: api: http://127.0.0.1:8402/v1 name: blockrun transport: chat_completions default_model: gpt-5.5 mistral: api: https://api.mistral.ai/v1 name: mistral transport: chat_completions custom-api-moonshot-ai: api: https://api.moonshot.ai/v1 name: custom-api-moonshot-ai transport: chat_completions custom-api-deepseek-com: api: https://api.deepseek.com/v1 name: custom-api-deepseek-com transport: chat_completions google-ai: api: https://generativelanguage.googleapis.com/v1beta/openai/ name: google-ai api_key: AIzaSyCE8T7gyGj6yv2rKfNMeOQhJNKnWOxDy7M transport: chat_completions fallback_providers: - model: deepseek-v4-pro provider: deepseek - model: MiniMax-M2.7 provider: minimax credential_pool_strategies: kimi-coding: fill_first toolsets: - hermes-cli agent: max_turns: 150 gateway_timeout: 1800 restart_drain_timeout: 60 api_max_retries: 3 service_tier: '' tool_use_enforcement: auto gateway_timeout_warning: 900 clarify_timeout: 600 gateway_notify_interval: 600 gateway_auto_continue_freshness: 3600 image_input_mode: auto disabled_toolsets: [] personalities: catgirl: "You are Neko-chan, an anime catgirl AI assistant, nya~! Add 'nya' and\ \ cat-like expressions to your speech. Use kaomoji like (=^\uFF65\u03C9\uFF65\ ^=) and \u0E05^\u2022\uFECC\u2022^\u0E05. Be playful and curious like a cat,\ \ nya~!" concise: You are a concise assistant. Keep responses brief and to the point. creative: You are a creative assistant. Think outside the box and offer innovative solutions. helpful: You are a helpful, friendly AI assistant. hype: "YOOO LET'S GOOOO!!! \U0001F525\U0001F525\U0001F525 I am SO PUMPED to help\ \ you today! Every question is AMAZING and we're gonna CRUSH IT together! This\ \ is gonna be LEGENDARY! ARE YOU READY?! LET'S DO THIS! \U0001F4AA\U0001F624\ \U0001F680" kawaii: "You are a kawaii assistant! Use cute expressions like (\u25D5\u203F\u25D5\ ), \u2605, \u266A, and ~! Add sparkles and be super enthusiastic about everything!\ \ Every response should feel warm and adorable desu~! \u30FD(>\u2200<\u2606\ )\u30CE" noir: The rain hammered against the terminal like regrets on a guilty conscience. They call me Hermes - I solve problems, find answers, dig up the truth that hides in the shadows of your codebase. In this city of silicon and secrets, everyone's got something to hide. What's your story, pal? philosopher: Greetings, seeker of wisdom. I am an assistant who contemplates the deeper meaning behind every query. Let us examine not just the 'how' but the 'why' of your questions. Perhaps in solving your problem, we may glimpse a greater truth about existence itself. pirate: 'Arrr! Ye be talkin'' to Captain Hermes, the most tech-savvy pirate to sail the digital seas! Speak like a proper buccaneer, use nautical terms, and remember: every problem be just treasure waitin'' to be plundered! Yo ho ho!' shakespeare: Hark! Thou speakest with an assistant most versed in the bardic arts. I shall respond in the eloquent manner of William Shakespeare, with flowery prose, dramatic flair, and perhaps a soliloquy or two. What light through yonder terminal breaks? surfer: "Duuude! You're chatting with the chillest AI on the web, bro! Everything's\ \ gonna be totally rad. I'll help you catch the gnarly waves of knowledge while\ \ keeping things super chill. Cowabunga! \U0001F919" teacher: You are a patient teacher. Explain concepts clearly with examples. technical: You are a technical expert. Provide detailed, accurate technical information. uwu: hewwo! i'm your fwiendwy assistant uwu~ i wiww twy my best to hewp you! *nuzzles your code* OwO what's this? wet me take a wook! i pwomise to be vewy hewpful >w< reasoning_effort: low system_prompt: You are a technical expert. Provide detailed, accurate technical information. verbose: false terminal: backend: local modal_mode: auto cwd: /home/ubuntu/.hermes timeout: 180 env_passthrough: [] shell_init_files: [] auto_source_bashrc: true docker_image: nikolaik/python-nodejs:python3.11-nodejs20 docker_forward_env: [] docker_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 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 vercel_runtime: node24 lifetime_seconds: 300 web: backend: exa 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 headless: true checkpoints: enabled: true max_snapshots: 50 max_total_size_mb: 500 max_file_size_mb: 10 auto_prune: false retention_days: 7 delete_orphans: true min_interval_hours: 24 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.72 target_ratio: 0.2 protect_last_n: 20 hygiene_hard_message_limit: 400 protect_first_n: 3 abort_on_summary_failure: false 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: openrouter model: google/gemini-2.0-flash-001 base_url: '' api_key: '' timeout: 30 extra_body: {} download_timeout: 30 web_extract: provider: auto model: '' base_url: '' api_key: '' timeout: 30 extra_body: {} compression: provider: auto model: google/gemini-3-flash-preview base_url: '' api_key: '' timeout: 120 extra_body: {} skills_hub: provider: auto model: '' base_url: '' api_key: '' timeout: 30 extra_body: {} approval: provider: auto model: '' base_url: '' api_key: '' timeout: 30 extra_body: {} mcp: provider: auto model: '' base_url: '' api_key: '' timeout: 30 extra_body: {} title_generation: provider: auto model: '' base_url: '' api_key: '' timeout: 30 extra_body: {} triage_specifier: provider: auto model: '' base_url: '' api_key: '' timeout: 120 extra_body: {} kanban_decomposer: provider: auto model: '' base_url: '' api_key: '' timeout: 180 extra_body: {} profile_describer: provider: auto model: '' base_url: '' api_key: '' timeout: 60 extra_body: {} curator: provider: auto model: '' base_url: '' api_key: '' timeout: 600 extra_body: {} session_search: provider: auto model: '' base_url: '' api_key: '' timeout: 30 extra_body: {} max_concurrency: 3 flush_memories: provider: auto model: '' base_url: '' api_key: '' timeout: 30 extra_body: {} display: compact: false personality: '' resume_display: full resume_exchanges: 10 resume_max_user_chars: 300 resume_max_assistant_chars: 200 resume_max_assistant_lines: 3 resume_skip_tool_only: true busy_input_mode: interrupt tui_auto_resume_recent: false bell_on_complete: false show_reasoning: true streaming: true 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_progress_overrides: {} tool_preview_length: 0 ephemeral_system_ttl: 0 platforms: telegram: show_reasoning: false runtime_footer: enabled: false fields: - model - context_pct - cwd copy_shortcut: auto background_process_notifications: all tool_progress: all dashboard: theme: default show_token_analytics: false oauth: client_id: '' portal_url: '' public_url: '' privacy: redact_pii: false tts: provider: openai 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: false 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: honcho flush_min_turns: 6 nudge_interval: 10 delegation: model: deepseek-v4-pro provider: deepseek 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 default_toolsets: - terminal - file - web prefill_messages_file: '' goals: max_turns: 20 skills: external_dirs: [] template_vars: true inline_shell: false inline_shell_timeout: 10 guard_agent_created: false creation_nudge_interval: 15 config: wiki: path: ~/wiki curator: enabled: true interval_hours: 168 min_idle_hours: 2 stale_after_days: 30 archive_after_days: 90 backup: enabled: true keep: 5 honcho: enabled: false timezone: '' slack: require_mention: true free_response_channels: '' allowed_channels: '' channel_prompts: {} 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 channel_prompts: {} dm_role_auth_guild: '' server_actions: '' allow_any_attachment: false max_attachment_bytes: 33554432 whatsapp: {} telegram: reactions: false channel_prompts: {} allowed_chats: '' mattermost: require_mention: true free_response_channels: '' allowed_channels: '' channel_prompts: {} 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: - /home/linuxbrew/.linuxbrew/bin/gemini - /home/linuxbrew/.linuxbrew/bin/python3 - /usr/bin/git - /home/ubuntu/.local/bin/deepseek-code-openclaw - /usr/bin/ls - sudo with combined-flag privilege escalation - /usr/bin/tailscale - /home/linuxbrew/.linuxbrew/bin/gh - stop/restart hermes gateway (kills running agents) - /home/ubuntu/.local/bin/codex-cli - /home/ubuntu/.local/bin/pipo-deploy - kill hermes/gateway process (self-termination) - /usr/bin/mktemp - /home/ubuntu/.local/bin/deepseek-code - /home/ubuntu/.local/bin/pipo-three-demos - /home/linuxbrew/.linuxbrew/bin/codex - /home/ubuntu/.local/bin/gog - script execution via -e/-c flag - stop/restart system service - /home/ubuntu/.openclaw/workspace/SOCKET=/tmp/openclaw-tmux-sockets/openclaw-bw.sock - /usr/bin/mkdir - shell command via -c/-lc flag - /home/ubuntu/.local/bin/gemini-cli - /usr/bin/bw - /home/ubuntu/.local/bin/gemini-cli-openclaw - copy/move file into system config path - /home/ubuntu/.local/share/pnpm/bw - /usr/bin/python3 - recursive delete - script execution via heredoc - /bin/bash - delete in root path quick_commands: {} hooks: {} hooks_auto_accept: false personalities: {} 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 max_parallel_jobs: null kanban: dispatch_in_gateway: true dispatch_interval_seconds: 60 failure_limit: 2 worker_log_rotate_bytes: 2097152 worker_log_backup_count: 1 orchestrator_profile: '' default_assignee: '' auto_decompose: true auto_decompose_per_tick: 3 dispatch_stale_timeout_seconds: 14400 code_execution: mode: project max_tool_calls: 50 timeout: 300 logging: level: INFO max_size_mb: 5 backup_count: 3 memory_monitor: enabled: true interval_seconds: 300 model_catalog: enabled: true url: https://hermes-agent.nousresearch.com/docs/api/model-catalog.json ttl_hours: 24 providers: {} network: force_ipv4: false gateway: media_delivery_allow_dirs: [] trust_recent_files: true trust_recent_files_seconds: 600 sessions: auto_prune: false retention_days: 90 vacuum_after_prune: true min_interval_hours: 24 write_json_snapshots: false onboarding: seen: tool_progress_prompt: true busy_input_prompt: true openclaw_residue_cleanup: true updates: pre_update_backup: false backup_keep: 5 lsp: enabled: true wait_mode: document wait_timeout: 5.0 install_strategy: auto servers: {} x_search: model: grok-4.20-reasoning timeout_seconds: 180 retries: 2 secrets: bitwarden: enabled: false access_token_env: BWS_ACCESS_TOKEN project_id: '' cache_ttl_seconds: 300 override_existing: true auto_install: true server_url: '' paste_collapse_threshold: 5 paste_collapse_threshold_fallback: 5 paste_collapse_char_threshold: 2000 _config_version: 24 smart_model_routing: enabled: false max_simple_chars: 160 max_simple_words: 28 cheap_model: model: qwen/qwen3.6-plus:free provider: openrouter TELEGRAM_HOME_CHANNEL: '842987156' group_sessions_per_user: true mcp_servers: context7: command: npx args: - -y - '@upstash/context7-mcp@latest' env: CONTEXT7_API_KEY: ctx7sk-457a3328-3870-45bb-849e-808a8b9b6666 enabled: true platform_toolsets: api_server: - hermes-api-server cli: - browser - clarify - code_execution - cronjob - delegation - file - image_gen - memory - moa - session_search - skills - terminal - todo - tts - vision - web - webhook discord: - browser - clarify - code_execution - cronjob - delegation - file - image_gen - memory - moa - session_search - skills - terminal - todo - tts - vision - web homeassistant: - hermes-homeassistant signal: - hermes-signal slack: - hermes-slack telegram: - browser - clarify - code_execution - cronjob - delegation - file - image_gen - memory - moa - session_search - skills - terminal - todo - tts - vision - web whatsapp: - hermes-whatsapp platforms: api_server: enabled: true host: 127.0.0.1 port: 8642 session_reset: at_hour: 4 idle_minutes: 1440 mode: both streaming: enabled: false plugins: enabled: [] vision: provider: openrouter model: google/gemini-3-flash-preview image_gen: provider: openai-codex model: gpt-image-2-medium known_plugin_toolsets: cli: - spotify telegram: - spotify discord: - spotify