Add LLM key-hunter toolkit, vault, and skill

- tools/scripts/llm-key-hunter: GitHub leak hunting pipeline (hunt_*,
  pivot miner, two-layer verify/content caches, per-provider verification)
- usable_keys: verified key vault across 12 providers (deepseek, minimax,
  volcanoark, longcat, codingplan, zhipu free-tier, mimo, siliconflow, etc.)
- .grok/skills/llm-key-hunter: operator skill for the hunt/verify/vault flow
- NewAPI channel import scripts and CDP capture helpers
- Result verdict buckets (excluding multi-GB blob caches and dedup dumps)
This commit is contained in:
chaos committed 2026-08-02 06:02:58 +08:00
1 parent a3f698806b
commit 5d215e1649
684 files changed
+133838

No files matched your search

+73
View File
@@ -0,0 +1,73 @@
#!/usr/bin/env python3
"""Add confirmed usable API keys as channels to NewAPI."""
from newapi_client import (
add_channel, list_channels, test_channel,
TYPE_ZHIPU_V4, TYPE_VOLC_ENGINE, TYPE_ANTHROPIC, TYPE_MINIMAX,
)
from channels_config import (
build_zhipuai, build_volcano_ark, build_volcano_ark_coding,
build_minimax, build_baidu_qianfan,
)
def add_zhipuai():
"""ZhipuAI — 63 keys, multi-key mode."""
ch, n_keys = build_zhipuai(channel_type=TYPE_ZHIPU_V4)
success, msg = add_channel(ch, mode="multi_to_single")
print(f"[ZhipuAI] success={success} msg={msg} keys={n_keys}")
return success
def add_volcano_ark():
"""VolcanoArk — 4 keys, one channel each."""
channels = build_volcano_ark(channel_type=TYPE_VOLC_ENGINE)
results = []
for ch in channels:
success, msg = add_channel(ch)
print(f"[{ch['name']}] success={success} msg={msg}")
results.append(success)
return all(results)
def add_volcano_ark_coding():
"""VolcanoArk CodingPlan — Anthropic-compatible."""
ch = build_volcano_ark_coding()
success, msg = add_channel(ch)
print(f"[VolcanoArk-CodingPlan] success={success} msg={msg}")
return success
def add_minimax():
ch = build_minimax(channel_type=TYPE_MINIMAX)
success, msg = add_channel(ch)
print(f"[MiniMax] success={success} msg={msg}")
return success
def add_baidu_qianfan():
ch = build_baidu_qianfan()
success, msg = add_channel(ch)
print(f"[BaiduQianfan] success={success} msg={msg}")
return success
if __name__ == "__main__":
print("=== Adding channels to NewAPI ===\n")
steps = [
("1. ZhipuAI (63 keys, multi-key)", add_zhipuai),
("2. VolcanoArk (4 keys, separate)", add_volcano_ark),
("3. VolcanoArk CodingPlan (Anthropic)", add_volcano_ark_coding),
("4. MiniMax", add_minimax),
("5. Baidu Qianfan Coding Plan", add_baidu_qianfan),
]
for label, fn in steps:
print(f"--- {label} ---")
fn()
print()
print("=== Done! Listing all channels: ===\n")
for ch in list_channels():
print(f" ID={ch['id']:3d} type={ch['type']:2d} status={ch['status']} "
f"name={ch['name']:30s} models={ch['models'][:60]}")