api_key = "API_KEY_PLACEHOLDER" default_provider = "custom:https://llm.lambda.coredump.ru/v1" default_model = "qwen3.5-122b" default_temperature = 0.7 provider_timeout_secs = 120 model_routes = [] embedding_routes = [] [model_providers] [extra_headers] [observability] backend = "none" runtime_trace_mode = "none" runtime_trace_path = "state/runtime-trace.jsonl" runtime_trace_max_entries = 200 [autonomy] level = "full" workspace_only = true allowed_commands = [ "git", "npm", "cargo", "ls", "cat", "grep", "find", "echo", "pwd", "wc", "head", "tail", "date", "curl", "wget", ] forbidden_paths = [ "/etc", "/root", "/home", "/usr", "/bin", "/sbin", "/lib", "/opt", "/boot", "/dev", "/proc", "/sys", "/var", "/tmp", "~/.ssh", "~/.gnupg", "~/.aws", "~/.config", ] max_actions_per_hour = 20 max_cost_per_day_cents = 500 require_approval_for_medium_risk = true block_high_risk_commands = true shell_env_passthrough = [] auto_approve = [ "file_read", "memory_recall", "http_request", "browser", "web_fetch", "web_search", ] always_ask = [] allowed_roots = [] non_cli_excluded_tools = [] [security.sandbox] backend = "none" firejail_args = [] [security.resources] max_memory_mb = 512 max_cpu_time_seconds = 60 max_subprocesses = 20 memory_monitoring = true [security.audit] enabled = true log_path = "audit.log" max_size_mb = 100 sign_events = false [security.otp] enabled = false method = "totp" token_ttl_secs = 30 cache_valid_secs = 300 gated_actions = [ "shell", "file_write", "browser_open", "browser", "memory_forget", ] gated_domains = [] gated_domain_categories = [] [security.estop] enabled = false state_file = "~/.zeroclaw/estop-state.json" require_otp_to_resume = true [security.nevis] enabled = false instance_url = "" realm = "master" client_id = "" token_validation = "local" role_mapping = [] require_mfa = false session_timeout_secs = 3600 [backup] enabled = true max_keep = 10 include_dirs = [ "config", "memory", "audit", "knowledge", ] destination_dir = "state/backups" compress = true encrypt = false [data_retention] enabled = false retention_days = 90 dry_run = false categories = [] [cloud_ops] enabled = false default_cloud = "aws" supported_clouds = [ "aws", "azure", "gcp", ] iac_tools = ["terraform"] cost_threshold_monthly_usd = 100.0 well_architected_frameworks = ["aws-waf"] [conversational_ai] enabled = false default_language = "en" supported_languages = [ "en", "de", "fr", "it", ] auto_detect_language = true escalation_confidence_threshold = 0.3 max_conversation_turns = 50 conversation_timeout_secs = 1800 analytics_enabled = false [security_ops] enabled = false playbooks_dir = "~/.zeroclaw/playbooks" auto_triage = false require_approval_for_actions = true max_auto_severity = "low" report_output_dir = "~/.zeroclaw/security-reports" [runtime] kind = "native" [runtime.docker] image = "alpine:3.20" network = "none" memory_limit_mb = 512 cpu_limit = 1.0 read_only_rootfs = true mount_workspace = true allowed_workspace_roots = [] [reliability] provider_retries = 2 provider_backoff_ms = 500 fallback_providers = [] api_keys = [] channel_initial_backoff_secs = 2 channel_max_backoff_secs = 60 scheduler_poll_secs = 15 scheduler_retries = 2 [reliability.model_fallbacks] [scheduler] enabled = true max_tasks = 64 max_concurrent = 4 [agent] compact_context = false max_tool_iterations = 20 max_history_messages = 50 max_context_tokens = 32000 parallel_tools = false tool_dispatcher = "auto" tool_call_dedup_exempt = [] tool_filter_groups = [] [skills] open_skills_enabled = true prompt_injection_mode = "full" enabled = ["ege-checker"] [query_classification] enabled = false rules = [] [heartbeat] enabled = true interval_minutes = 30 two_phase = false adaptive = true min_interval_minutes = 5 max_interval_minutes = 120 deadman_timeout_minutes = 0 max_run_history = 100 [cron] enabled = true max_run_history = 50 [channels_config] cli = true message_timeout_secs = 300 ack_reactions = true show_tool_calls = true session_persistence = true session_backend = "sqlite" session_ttl_hours = 0 [channels_config.telegram] bot_token = "TELEGRAM_TOKEN_PLACEHOLDER" stream_mode = "off" allowed_users = ["*"] draft_update_interval_ms = 1000 interrupt_on_new_message = false mention_only = false [memory] backend = "sqlite" auto_save = true hygiene_enabled = true archive_after_days = 7 purge_after_days = 30 conversation_retention_days = 30 embedding_provider = "none" embedding_model = "text-embedding-3-small" embedding_dimensions = 1536 vector_weight = 0.7 keyword_weight = 0.3 min_relevance_score = 0.4 embedding_cache_size = 10000 chunk_max_tokens = 512 response_cache_enabled = false response_cache_ttl_minutes = 60 response_cache_max_entries = 5000 response_cache_hot_entries = 256 snapshot_enabled = false snapshot_on_hygiene = false auto_hydrate = true [memory.qdrant] collection = "zeroclaw_memories" [storage.provider.config] provider = "" schema = "public" table = "memories" [tunnel] provider = "none" [gateway] port = 42617 host = "127.0.0.1" require_pairing = true allow_public_bind = false paired_tokens = ["enc2:78a946f8656a7b3aae8634282887e0bde369e156b95ed86570ae4b3c08fa17e69a3cdad4d6a331b4c824c4b0b1870e2ca3b10901ca3d2731cfb82facbda531a3b55c16da7b723d335f89178462a2131f720a95c4de46683209cf0826"] pair_rate_limit_per_minute = 10 webhook_rate_limit_per_minute = 60 trust_forwarded_headers = false rate_limit_max_keys = 10000 idempotency_ttl_secs = 300 idempotency_max_keys = 10000 [composio] enabled = false entity_id = "default" [microsoft365] enabled = false auth_flow = "client_credentials" scopes = ["https://graph.microsoft.com/.default"] token_cache_encrypted = true [secrets] encrypt = true [browser] enabled = true allowed_domains = ["*"] backend = "agent_browser" native_headless = true native_webdriver_url = "http://127.0.0.1:9515" [browser.computer_use] endpoint = "http://127.0.0.1:8787/v1/actions" timeout_ms = 15000 allow_remote_endpoint = true window_allowlist = [] [http_request] enabled = true allowed_domains = ["*"] max_response_size = 100000000 timeout_secs = 60 allow_private_hosts = true [multimodal] max_images = 4 max_image_size_mb = 5 allow_remote_fetch = true [web_fetch] enabled = true allowed_domains = ["*"] blocked_domains = [] max_response_size = 50000000 timeout_secs = 30 [web_search] enabled = true provider = "duckduckgo" max_results = 25 timeout_secs = 30 [project_intel] enabled = false default_language = "en" report_output_dir = "~/.zeroclaw/project-reports" risk_sensitivity = "medium" include_git_data = true include_jira_data = false [proxy] enabled = true no_proxy = ["*"] scope = "zeroclaw" services = [] [identity] format = "openclaw" [cost] enabled = false daily_limit_usd = 10.0 monthly_limit_usd = 100.0 warn_at_percent = 80 allow_override = false [cost.prices."anthropic/claude-sonnet-4-20250514"] input = 3.0 output = 15.0 [cost.prices."openai/gpt-4o-mini"] input = 0.15 output = 0.6 [cost.prices."openai/o1-preview"] input = 15.0 output = 60.0 [cost.prices."openai/gpt-4o"] input = 5.0 output = 15.0 [cost.prices."google/gemini-1.5-pro"] input = 1.25 output = 5.0 [cost.prices."anthropic/claude-3-haiku"] input = 0.25 output = 1.25 [cost.prices."anthropic/claude-opus-4-20250514"] input = 15.0 output = 75.0 [cost.prices."google/gemini-2.0-flash"] input = 0.1 output = 0.4 [cost.prices."anthropic/claude-3.5-sonnet"] input = 3.0 output = 15.0 [peripherals] enabled = false boards = [] [agents] [swarms] [hooks] enabled = true [hooks.builtin] command_logger = false [hooks.builtin.webhook_audit] enabled = false url = "" tool_patterns = [] include_args = false max_args_bytes = 4096 [hardware] enabled = false transport = "None" baud_rate = 115200 workspace_datasheets = false [transcription] enabled = false api_url = "https://api.groq.com/openai/v1/audio/transcriptions" model = "whisper-large-v3-turbo" max_duration_secs = 120 [tts] enabled = false default_provider = "openai" default_voice = "alloy" default_format = "mp3" max_text_length = 4096 [mcp] enabled = false deferred_loading = true servers = [] [nodes] enabled = false max_nodes = 16 [workspace] enabled = false workspaces_dir = "~/.zeroclaw/workspaces" isolate_memory = true isolate_secrets = true isolate_audit = true cross_workspace_search = false [notion] enabled = false api_key = "" database_id = "" poll_interval_secs = 5 status_property = "Status" input_property = "Input" result_property = "Result" max_concurrent = 4 recover_stale = true [node_transport] enabled = true shared_secret = "" max_request_age_secs = 300 require_https = true allowed_peers = [] mutual_tls = false connection_pool_size = 4