Ctrl K
ComunidadGuías…

config.yaml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
server:
  host: 0.0.0.0 # API host to bind
  port: 7000 # API port to bind
  debug: false # Enable debug logs and force browser UI mode
  verbose: false # Enable debug-level request logs
  raw_requests: false # true = raw HTTP mode, false = browser mode
  insecure: true # Allow insecure TLS connections

app:
  log_format: "text" # json|text
  log_level: "" # error|warn|info|debug|trace; empty = warn for CLI, info for serve
  save_log: true # Also write logs to ./logs.txt in serve mode; false = stderr only
  timeout: 15 # Browser/search timeout in seconds, per attempt; the request deadline is derived from this x retries
  browser_path: "" # Custom browser binary path (chrome/chromium/edge..)
  profiles: "" # Overriding built-in browser profiles
  head: false # Headful mode
  leakless: false # Force browser process cleanup after request
  leave_head: false # Keep tabs open after request
  block_resources: "image,font,css,media" # Block heavy subresources in browser mode
  block_trackers: true # Block known tracker domains
  max_processes: 6 # Concurrent Chrome processes
  idle_ttl: 5m # close a Chrome that has not served traffic for this long

  mega_timeout: 90s # max total wait for /mega/* requests; slow engines return partial results

extract:
  enabled: true
  default_mode: auto # auto|fast|rendered
  timeout: 20s
  max_bytes: 2000000
  max_concurrent: 2

proxies:
  allow_request_proxy_url: true
  # Force a single proxy for all engines.
  # Same behavior as passing --proxy on the CLI.
  #global: http://127.0.0.1:8080

  # Advanced mode: define tagged proxy pools and opt engines in with `proxy: <tag>`.
  #entries:
  #  - url: http://127.0.0.1:8080
  #    tags: [default, us]
  #  - url: socks5h://127.0.0.1:1080
  #    tags: [eu]
  health:
    failure_threshold: 2 # Disable proxy after this many consecutive failures
  lanes:
    enabled: true # Reuse browser profile/cookies per engine + proxy session ID
    max_lanes: 100 # LRU cap for sticky lanes kept in worker memory
    drop_cookies_on_challenge: true # Clear lane cookies on captcha/challenge only

cache:
  ttl_seconds: 120 # Dedicated endpoint cache TTL in seconds (0 disables cache)
  max_size: 1000 # Maximum cached dedicated responses before oldest-entry eviction

resilience:
  max_retries: 1 # Retry attempts per engine request (0 disables retries)
  allow_endpoint_fallback: false # Keep dedicated endpoints engine-pure by default

# circuit_breaker:
#   failures: 5 # Consecutive failures required to open circuit
#   recovery_seconds: 60 # Wait time before moving open circuit to half-open
#   successes: 2 # Consecutive half-open successes required to close circuit

cors:
  enabled: true
  allow_origins: "*"
  allow_methods: "GET, POST, OPTIONS"
  allow_headers: "Origin, Content-Type, Accept, Authorization, X-Use-Proxy, X-Proxy-URL, X-Proxy-Country, X-Proxy-Class, X-Proxy-Provider, X-Proxy-Session-ID, X-Request-ID, X-Tenant, X-Use-Profile"
  max_age: 86400

# 2captcha:
#   apikey: "123123123123123"

captcha:
  solver_enabled: false # Global captcha solver gate (requires 2captcha.apikey)

google:
  rate_requests: 60 # Allowed average requests per minute
  rate_burst: 3 # Burst requests before limiter applies
  resolve_urls: true # Default: true = all, false/0 = off, N = top N organic results
  resolve_concurrency: 4 # Concurrent redirect requests per search
  resolve_timeout: 3s # Total URL resolution budget per search
  resolve_cooldown: 10m # Pause resolution through an exit after a challenge
  #captcha: true # Engine-level solver flag (also requires captcha.solver_enabled=true)
  #disabled: true # Leave this engine out of serve: no endpoints, not used by mega (env: OPENSERP_GOOGLE_DISABLED)

yandex:
  rate_requests: 60
  rate_burst: 3

baidu:
  rate_requests: 60
  rate_burst: 3
  # No proxy tag means direct traffic

bing:
  rate_requests: 60
  rate_burst: 3
  search_box: true # Submit through the homepage; false uses legacy /search URLs (env: OPENSERP_BING_SEARCH_BOX)
  # No proxy tag means direct traffic

duckduckgo:
  rate_requests: 60
  rate_burst: 3

ecosia:
  rate_requests: 60
  rate_burst: 3
  # No proxy tag means direct traffic