-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.example.yml
More file actions
99 lines (87 loc) · 4.42 KB
/
Copy pathconfig.example.yml
File metadata and controls
99 lines (87 loc) · 4.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# 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.
#
# 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.
# 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 only on a write: lowering this later will not retro-prune a
# topic that has 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