# second-brain runtime configuration # Copy this file and edit paths to match your setup. # Override the config file path with SECOND_BRAIN_CONFIG env var. # Path to the SQLite database db_path = "~/.local/share/second-brain/second_brain.db" # Path to your Obsidian vault (git-managed directory) vault_path = "~/Documents/second-brain-vault" # Directory where downloaded media files are stored media_dir = "~/.local/share/second-brain/media" # Directory where Whisper SRT transcripts are stored subtitles_dir = "~/.local/share/second-brain/subtitles" # Whisper model size: tiny | base | small | medium | large # small is a good balance of speed and accuracy whisper_model = "small" # Active knowledge domains domains = ["development", "content", "business", "homelab"] [extractor] # "cli" → runs `claude -p` under your Max OAuth (no per-token billing). # "api" → uses Anthropic SDK, requires ANTHROPIC_API_KEY. backend = "cli" model = "claude-sonnet-4-6" cli_binary = "claude" timeout_sec = 600 [scheduler] # Time window for overnight processing (24h format, may cross midnight) window_start = "22:00" window_end = "06:00" # CLI backend: cap calls per rolling hour (Max sub has 5h-window message caps). max_calls_per_hour = 30 # Minimum seconds between extraction calls (rate-limit smoother) min_gap_seconds = 120 # Legacy API-backend budget (only enforced when extractor.backend = "api"). max_tokens_per_hour = 100_000