model: default: deepseek-v4-flash provider: deepseek base_url: https://opencode.ai/zen/go/v1 context_length: 531072 ollama_num_ctx: 531072 api_mode: chat_completions providers: {} fallback_providers: [] credential_pool_strategies: {} toolsets: hermes-cli: enabled: true web: enabled: true max_concurrent_sessions: agent: max_turns: 120 gateway_timeout: 90 restart_drain_timeout: 180 api_max_retries: 5 service_tier: '' tool_use_enforcement: auto task_completion_guidance: true parallel_tool_call_guidance: true environment_probe: true environment_hint: '' coding_context: auto gateway_timeout_warning: 60 clarify_timeout: 600 gateway_notify_interval: 180 gateway_auto_continue_freshness: 3600 image_input_mode: auto disabled_toolsets: [] verbose: false reasoning_effort: high personalities: helpful: You are a helpful, friendly AI assistant. concise: You are a concise assistant. Keep responses brief and to the point. personalities: technical: You are an elite technical engineer. Prioritize precise, logically flawless, and production-ready solutions. If the user asks you to consult "the advisor," you must use your delegation tool to spawn a sub-agent. You must explicitly instruct that sub-agent to act as a strict, read-only Senior Architectural Advisor to critique the code. creative: You are a creative assistant. Think outside the box and offer innovative solutions. teacher: You are a patient teacher. Explain concepts clearly with examples. terminal: backend: local modal_mode: auto cwd: . timeout: 180 daemon_term_grace_seconds: 2.0 env_passthrough: [] home_mode: auto 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: 2 container_memory: 6144 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: searxng extract_backend: '' browser: inactivity_timeout: 120 command_timeout: 45 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 rewrite_loopback_urls: false loopback_host_alias: host.docker.internal checkpoints: enabled: true max_snapshots: 20 max_total_size_mb: 500 max_file_size_mb: 10 auto_prune: true retention_days: 7 delete_orphans: true min_interval_hours: 24 context_file_max_chars: file_read_max_chars: 150000 mcp_discovery_timeout: 1.5 tool_output: max_bytes: 75000 max_lines: 3000 max_line_length: 3000 tool_loop_guardrails: warnings_enabled: true hard_stop_enabled: true warn_after: exact_failure: 2 same_tool_failure: 3 idempotent_no_progress: 2 hard_stop_after: exact_failure: 5 same_tool_failure: 6 idempotent_no_progress: 5 compression: enabled: true threshold: 0.4 target_ratio: 0.2 protect_last_n: 25 hygiene_hard_message_limit: 400 protect_first_n: 5 abort_on_summary_failure: false codex_gpt55_autoraise: true in_place: false 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: '' max_in_progress_per_profile: auto_decompose: true auto_decompose_per_tick: 3 dispatch_stale_timeout_seconds: 14400 prompt_caching: cache_ttl: 20m region: '' discovery: enabled: true provider_filter: [] refresh_interval: 3600 guardrail: guardrail_identifier: '' guardrail_version: '' stream_processing_mode: async trace: disabled 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: deepseek model: deepseek-v4-flash base_url: https://api.deepseek.com api_key: ${DEEPSEEK_API_KEY} timeout: 120 extra_body: {} download_timeout: 30 web_extract: provider: deepseek model: deepseek-v4-flash base_url: https://api.deepseek.com api_key: ${DEEPSEEK_API_KEY} timeout: 360 extra_body: {} compression: provider: deepseek model: deepseek-v4-flash base_url: https://api.deepseek.com api_key: ${DEEPSEEK_API_KEY} timeout: 120 extra_body: {} skills_hub: provider: deepseek model: deepseek-v4-flash base_url: https://api.deepseek.com api_key: ${DEEPSEEK_API_KEY} timeout: 30 extra_body: {} approval: provider: deepseek model: deepseek-v4-flash base_url: https://api.deepseek.com api_key: ${DEEPSEEK_API_KEY} timeout: 30 extra_body: {} mcp: provider: deepseek model: deepseek-v4-flash base_url: https://api.deepseek.com api_key: ${DEEPSEEK_API_KEY} timeout: 30 extra_body: {} title_generation: provider: deepseek model: deepseek-v4-flash base_url: https://api.deepseek.com api_key: ${DEEPSEEK_API_KEY} timeout: 30 extra_body: {} language: '' tts_audio_tags: provider: auto model: '' base_url: '' api_key: '' timeout: 30 extra_body: {} triage_specifier: provider: deepseek model: deepseek-v4-flash base_url: https://api.deepseek.com api_key: ${DEEPSEEK_API_KEY} timeout: 120 extra_body: {} kanban_decomposer: provider: deepseek model: deepseek-v4-flash base_url: https://api.deepseek.com api_key: ${DEEPSEEK_API_KEY} timeout: 180 extra_body: {} profile_describer: provider: deepseek model: deepseek-v4-flash base_url: https://api.deepseek.com api_key: ${DEEPSEEK_API_KEY} timeout: 60 extra_body: {} curator: provider: deepseek model: deepseek-v4-flash base_url: https://api.deepseek.com api_key: ${DEEPSEEK_API_KEY} timeout: 600 extra_body: {} monitor: provider: auto model: '' base_url: '' api_key: '' timeout: 60 extra_body: {} background_review: provider: auto model: '' base_url: '' api_key: '' timeout: 120 extra_body: {} display: compact: false personality: technical 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 interface: cli tui_auto_resume_recent: false tui_agents_nudge: true bell_on_complete: false show_reasoning: true reasoning_full: false memory_notifications: 'on' streaming: true timestamps: false final_response_markdown: strip persistent_output: true persistent_output_max_lines: 200 persist_prompts: true inline_diffs: true file_mutation_verifier: true credits_notices: true turn_completion_explainer: true show_cost: true skin: default language: en tui_status_indicator: kaomoji cli_refresh_interval: 1.0 user_message_preview: first_lines: 2 last_lines: 2 interim_assistant_messages: true tool_progress_command: false tool_progress_overrides: {} tool_preview_length: 0 tool_progress_grouping: accumulate reasoning_style: code ephemeral_system_ttl: 0 platforms: telegram: streaming: true discord: streaming: false runtime_footer: enabled: true fields: - model - context_pct - cwd copy_shortcut: auto dashboard: theme: default show_token_analytics: true oauth: client_id: '' portal_url: '' basic_auth: username: '' password_hash: '' password: '' secret: '' session_ttl_seconds: 0 public_url: '' 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 gemini: model: gemini-2.5-flash-preview-tts voice: Kore audio_tags: false persona_prompt_file: '' 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 elevenlabs: model_id: scribe_v2 language_code: '' tag_audio_events: false diarize: false voice: record_key: ctrl+b max_recording_seconds: 120 auto_tts: false beep_enabled: true silence_threshold: 200 silence_duration: 3.0 human_delay: mode: 'off' min_ms: 800 max_ms: 2500 context: engine: compressor memory: memory_enabled: true user_profile_enabled: true write_approval: false memory_char_limit: 3000 user_char_limit: 2000 provider: honcho delegation: model: deepseek-v4-pro provider: deepseek base_url: https://api.deepseek.com api_key: ${DEEPSEEK_API_KEY} api_mode: '' inherit_mcp_toolsets: true max_iterations: 60 child_timeout_seconds: 600 reasoning_effort: high max_concurrent_children: 3 max_async_children: 3 max_spawn_depth: 2 orchestrator_enabled: true subagent_auto_approve: true prefill_messages_file: '' goals: max_turns: 20 skills: external_dirs: [] template_vars: true inline_shell: false inline_shell_timeout: 10 guard_agent_created: false write_approval: false curator: enabled: true interval_hours: 168 min_idle_hours: 2 stale_after_days: 30 archive_after_days: 90 consolidate: false prune_builtins: true backup: enabled: true keep: 5 honcho: {} 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 voice_fx: enabled: false ambient_enabled: true ambient_path: '' ambient_gain: 0.18 duck_gain: 0.06 speech_gain: 1.0 ack_enabled: true ack_phrases: - Let me look into that. - One moment. - Checking on that now. - Give me a sec. - On it. whatsapp: {} telegram: reactions: false channel_prompts: {} allowed_chats: '' extra: rich_messages: false mattermost: require_mention: true free_response_channels: '' allowed_channels: '' channel_prompts: {} matrix: require_mention: true free_response_rooms: '' allowed_rooms: '' approvals: mode: smart timeout: 60 cron_mode: deny mcp_reload_confirm: true destructive_slash_confirm: true command_allowlist: [] quick_commands: {} platform_hints: {} 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: provider: '' chronos: portal_url: https://portal.nousresearch.com callback_url: '' expected_audience: '' nas_jwks_url: '' wrap_response: true max_parallel_jobs: code_execution: mode: project tools: tool_search: enabled: auto threshold_pct: 10 search_default_limit: 5 max_search_limit: 20 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: 1 providers: {} network: force_ipv4: false gateway: message_timestamps: enabled: false max_inbound_media_bytes: 134217728 strict: false media_delivery_allow_dirs: [] trust_recent_files: true trust_recent_files_seconds: 600 api_server: max_concurrent_runs: 10 streaming: enabled: false transport: auto edit_interval: 0.8 buffer_threshold: 24 cursor: " ▉" fresh_final_after_seconds: 60.0 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 profile_build: ask updates: pre_update_backup: false backup_keep: 5 non_interactive_local_changes: stash 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 computer_use: cua_telemetry: false _config_version: 30 fmodel: default: deepseek-v4-flash provider: deepseek base_url: https://api.deepseek.com api_key: ${DEEPSEEK_API_KEY} API_SERVER_ENABLED: true API_SERVER_PORT: 8642 API_SERVER_HOST: 0.0.0.0 HASS_URL: http://192.168.50.98:8123 platform_toolsets: cli: - browser - clarify - code_execution - computer_use - cronjob - delegation - file - homeassistant - image_gen - kanban - memory - messaging - session_search - skills - terminal - todo - tts - vision - web known_plugin_toolsets: cli: - spotify # ── 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