원클릭으로
model-scout
Find the best free cloud models and update models.json from OpenRouter leaderboard
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Find the best free cloud models and update models.json from OpenRouter leaderboard
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Communicate with other abtars agents — delegate tasks, ask questions
Full browser capability — managed Browsie session or emergency Main direct mode
Fetch web content — 4-level escalation chain from curl to full browser
When to use skill_create (procedures) vs memory_store (facts)
Fetch Twitter/X content — single tweets (no auth) or feeds (cookies)
Search, install, and update community skills from ClawHub (clawhub.ai)
| name | model-scout |
| description | Find the best free cloud models and update models.json from OpenRouter leaderboard |
| user-invocable | true |
Scout OpenRouter models — free tier, leaderboard top N, single model inspection.
scout-openrouter.py — free model scan, single model inspection, leaderboard fetchscout-leaderboard.py — dedicated leaderboard fetcher (top N by popularity)scout-ollama.py — Ollama cloud modelsscout-add-model.py — manual model addition# List free models vs catalog
python3 {baseDir}/scout-openrouter.py
# List + liveness test + write status to models.json
python3 {baseDir}/scout-openrouter.py --test
# Print top 20 (no changes)
python3 {baseDir}/scout-leaderboard.py 20
# Add/update top 20 in models.json (no liveness test)
python3 {baseDir}/scout-leaderboard.py 20 --update
# Test each model + update
python3 {baseDir}/scout-leaderboard.py 20 --test
Also available via scout-openrouter.py:
python3 {baseDir}/scout-openrouter.py --leaderboard 20
python3 {baseDir}/scout-openrouter.py --model tencent/hy3:free
This fetches model metadata from /api/v1/models/{id} and provider endpoints from /api/v1/models/{id}/endpoints, tests liveness, and updates models.json.
python3 {baseDir}/scout-ollama.py
Each model entry in models.json gets:
contextWindow, maxOutput — from API context_length and top_provider.max_completion_tokensrank — 1 (≥500K ctx), 2 (≥200K), 3 (smaller)cost — per token, raw OpenRouter pricing (from pricing.prompt / pricing.completion). Accurate for calculations; picker display converts to $/1M via the display field derived in transport-config.ts.transports — ["openrouter"]status — "alive" or "dead" (from liveness test)providers — dict of provider_name → {status, uptime_30m, latency_p50, throughput_p50, quant, max_completion_tokens}validatedAt — ISO datePass ?sort= to /api/v1/models:
most-popular — default leaderboard order (usage-based)top-weekly — weekly usageintelligence-high-to-low — benchmark scorespricing-low-to-high — cheapest firstcontext-high-to-low — largest context firstthroughput-high-to-low — fastest firstlatency-low-to-high — lowest latency first{
"model-id": {
"contextWindow": 262144,
"maxOutput": 16384,
"rank": 2,
"cost": { "input": 0.0, "output": 0.0 },
"transports": ["openrouter"],
"description": "Why this model was added",
"validatedAt": "2026-07-10",
"status": "alive",
"providers": {
"Novita": {
"status": 0,
"uptime_30m": 99.91,
"latency_p50": 2756,
"throughput_p50": 44,
"quant": "unknown",
"max_completion_tokens": 262144
}
}
}
}
curl -s https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"model-id","messages":[{"role":"user","content":"Say OK"}],"max_tokens":50}'
~/.abtars/config/models.json (hot-reloaded)~/.abtars/config/transport.json