{ "shell": { "mode": "local", "timeout": 60, "max_retries": 3, "retry_interval": 3.0, "default_shell": "/bin/bash", "working_dir": null, "env": {}, "conda_env": null }, "web": { "timeout": 60, "max_retries": 3, "search": { "search_model": "claude-sonnet-4-20250514", "search_api_key": "${ANTHROPIC_API_KEY}", "search_base_url": "https://api.anthropic.com/v1", "max_searches_per_call": 8, "allowed_domains": [], "blocked_domains": [], "fallback_search_provider": "duckduckgo" }, "fetch": { "summarize_model": "", "max_content_length": 100000, "request_timeout": 60, "user_agent": "OpenSpace WebFetch", "preapproved_domains": [ "docs.python.org", "developer.mozilla.org" ] } }, "mcp": { "timeout": 30, "max_retries": 3, "retry_interval": 2.0, "sandbox": false, "auto_initialize": true, "eager_sessions": false, "sse_read_timeout": 300.0, "check_dependencies": true, "auto_install": true }, "gui": { "mode": "local", "timeout": 90, "max_retries": 3, "retry_interval": 5.0, "driver_type": "pyautogui", "failsafe": false, "screenshot_on_error": true, "enable_visual_analysis": true, "visual_analysis_mode": "fallback", "visual_analysis_timeout": 60.0, "visual_analysis_model": null, "pkgs_prefix": "import pyautogui; import time; pyautogui.FAILSAFE = {failsafe}; {command}" }, "meta": {}, "tool_search": { "embedding_model": "BAAI/bge-small-en-v1.5", "max_tools": 40, "search_mode": "hybrid", "enable_llm_filter": true, "llm_filter_threshold": 50, "enable_cache_persistence": true, "cache_dir": null }, "tool_quality": { "enabled": true, "enable_persistence": true, "enable_quality_ranking": true }, "skills": { "enabled": true, "skill_dirs": [], "listing_enabled": true, "listing_budget_context_percent": 0.01, "listing_max_description_chars": 250, "discovery_enabled": true, "discovery_max_results": 5, "post_tool_query_builder_enabled": false, "post_tool_query_builder_model": null, "post_tool_query_builder_max_chars": 4000, "quality_enabled": true }, "tool_cache_ttl": 600, "tool_cache_maxsize": 500, "debug": false, "log_level": "INFO", "enabled_backends": [ { "name": "shell", "provider_cls": "openspace.grounding.backends.shell.ShellProvider" }, { "name": "web", "provider_cls": "openspace.grounding.backends.web.WebProvider" }, { "name": "mcp", "provider_cls": "openspace.grounding.backends.mcp.MCPProvider" }, { "name": "gui", "provider_cls": "openspace.grounding.backends.gui.GUIProvider" } ], "_comment_meta_backend": "Note: 'meta' backend is automatically registered and always available. It provides meta-level tools for querying backend state. Do not add it to enabled_backends as it requires special initialization." }