Ctrl K
ComunidadGuías…

config.example.yml

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

Archivo original ↗Preguntar a KiBot
# Topic Watch Configuration
# Copy this file to data/config.yml and fill in your values.
# All settings can be overridden via environment variables with the prefix TOPIC_WATCH_
# Example: TOPIC_WATCH_LLM__API_KEY=sk-abc123

# LLM provider settings (required)
llm:
  # Model string in LiteLLM format: provider/model-name
  # Examples: openai/gpt-5.4-nano, anthropic/claude-haiku-4-5, ollama/llama3.3
  model: "openai/gpt-5.4-nano"

  # API key for your LLM provider
  api_key: "your-api-key-here"

  # Optional: Base URL for a self-hosted (Ollama) or OpenAI-compatible gateway endpoint.
  # Honored for any provider; leave unset to use the provider's default endpoint.
  # A local or LAN endpoint may use plain http, as the Ollama examples below do;
  # a public one must use https, since the request carries your API key.
  #
  # Ollama (self-hosted). In Docker use host.docker.internal instead of localhost:
  # base_url: "http://host.docker.internal:11434"   # or http://localhost:11434 outside Docker
  #
  # OpenAI-compatible gateway (e.g. OpenCode Go, a LiteLLM proxy) — use the openai/ prefix:
  # model: "openai/<gateway-model-id>"
  # base_url: "https://opencode.ai/zen/go/v1"

# Exa AI search source (optional). A paid semantic web-search API (https://exa.ai)
# that a topic can use instead of RSS by selecting the "Exa AI search" source mode.
# Bring your own key; also settable via TOPIC_WATCH_EXA__API_KEY.
# NOTE: each check runs one paid Exa search — mind your per-topic check interval.
exa:
  enabled: false
  api_key: ""
  # Optional advanced/proxy override; defaults to https://api.exa.ai when unset.
  # Must be https: the request carries your Exa API key, so a plain-http
  # endpoint is refused rather than sent in cleartext.
  # base_url: "https://api.exa.ai"

# Notification settings
# Uses Apprise URL format. See: https://github.com/caronc/apprise/wiki
# No notifications are sent until you add at least one URL (here or on the
# Settings page). Uncomment an example below and replace the placeholder with
# your own — placeholder values are ignored, so leaving one as-is sends nothing.
notifications:
  urls: []
    # - "ntfy://your-topic-name"
    # - "discord://webhook_id/webhook_token"
    # - "tgram://bot_token/chat_id"
    # - "slack://token_a/token_b/token_c/channel"

  # Custom webhook URLs for JSON POST notifications
  # Each URL receives a POST with JSON body:
  # {"topic": "name", "reasoning": "...", "summary": "...", "key_facts": [...], "source_urls": [...], "confidence": 0.85, "relevance": 0.88, "importance": 3, "timestamp": "..."}
  webhook_urls: []
    # - "https://your-server.com/webhook/topic-watch"
    # - "https://hooks.example.com/trigger"

# Default check interval (how often to check each topic for updates)
# Supported units: m (minutes), h (hours), d (days), w (weeks), M (months)
# Combine units: "1w 3d", "2h 30m" — min 10m, max 6M
check_interval: "6h"

# Maximum number of articles to process per check per topic
# Higher values use more LLM tokens but catch more updates
max_articles_per_check: 10

# Maximum token budget for the knowledge state summary
# The LLM will compress older facts when approaching this limit.
# Note: this is a prompt-level budget. LLM output is separately hard-capped
# internally (8192 tokens, or the model's own max output if lower) to stay below
# providers' non-streaming limits, so raising this above ~8000 has no effect.
knowledge_state_max_tokens: 2000

# How many knowledge revisions to keep per topic for the diff timeline on the
# topic detail page. Each revision stores a full copy of the knowledge summary
# — roughly 8 KB at the default 2000-token budget, ~40 KB at the 10000-token
# ceiling — so this bounds history growth. Oldest revisions are pruned as new
# ones land, and the cap is also applied across every topic at startup, so
# lowering it reclaims history from topics that have stopped updating.
# Config-only: there is no field for this on the Settings page.
knowledge_revision_limit: 50

# Number of days to retain articles before automatic cleanup
# Older articles are deleted daily at 4 AM
article_retention_days: 90

# --- Advanced settings (optional, sensible defaults) ---
# Set the Secure flag on cookies. Enable when TLS is terminated at a reverse
# proxy (recommended for any remote deployment — see SECURITY.md). Default: false.
# secure_cookies: true
# llm_temperature: 0.2
# min_confidence_threshold: 0.7
# min_relevance_threshold: 0.5
# Consecutive checks with no usable source before a "sources failing" alert.
# Counted in checks, not hours. Set to 0 to turn the heartbeat off.
# silence_heartbeat_checks: 3
# web_page_size: 20
# feed_max_retries: 2
# content_fetch_concurrency: 3
# topic_check_concurrency: 3
# scheduler_misfire_grace_time: 300
# scheduler_jitter_seconds: 30
# llm_max_retries: 2