用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Supernor/openclaw-skills --skill model-api-speed-test命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | model-api-speed-test |
| description | Benchmark model APIs for speed, quality, and stream stability. Configurable for any endpoint. |
| tags | ["benchmark","api","speed","quality","models","nim","gemini","testing"] |
| version | 1.1.0 |
Test any model API endpoint for speed, output quality, and stream stability. Produces structured data for routing decisions.
/root/.openclaw/scripts/api-speed-test.py
# Test specific NIM models
python3 /root/.openclaw/scripts/api-speed-test.py --provider nim --models "mistral-small-4,ministral-14b"
# Test all NIM models
python3 /root/.openclaw/scripts/api-speed-test.py --provider nim --all
# Test Gemini models
python3 /root/.openclaw/scripts/api-speed-test.py --provider gemini --models "gemini-2.5-flash,gemini-2.0-flash"
# Custom prompt (test domain-specific quality)
python3 /root/.openclaw/scripts/api-speed-test.py --provider nim --models "mistral-small-4" --prompt "Write a Python function to parse crontab entries"
# Stream stability only (long response test)
python3 /root/.openclaw/scripts/api-speed-test.py --provider nim --models "mistral-large-3" --stream-only
# Quick reachability check (no quality test)
python3 /root/.openclaw/scripts/api-speed-test.py --provider nim --all --ping-only
# Output as JSON for Bridge display
python3 /root/.openclaw/scripts/api-speed-test.py --provider nim --all --json
The overall model score is a weighted composite. These weights reflect what matters most for OpenClaw's use case: reliable streaming to Telegram users on mobile, fast response for interactive menus, and correct structured output for agent tasks.
| Metric | Weight | Rationale |
|---|---|---|
| Total latency | 15% | End-to-end matters for interactive UX (Tap menus, Bridge) |
| TTFT (time to first token) | 15% | Perceived responsiveness — user sees "typing..." faster |
Scoring: <1s = 100, <2s = 80, <3s = 60, <5s = 40, <10s = 20, >10s = 0
| Metric | Weight | Rationale |
|---|---|---|
| Chars per second (sustained) | 10% | Throughput during active streaming |
| Max gap duration | 15% | The freeze/resume pattern — worst single pause. This is what users feel. |
| Gap count (>2s) | 10% | Frequency of noticeable pauses |
Scoring (max gap): 0s = 100, <1s = 90, <2s = 70, <3s = 50, <5s = 30, <8s = 10, >8s = 0 Scoring (cps): >500 = 100, >300 = 80, >150 = 60, >50 = 40, >20 = 20, <20 = 0
| Metric | Weight | Rationale |
|---|---|---|
| Structured format compliance | 15% | Can the model follow "list 5 items numbered 1-5"? Agents need this. |
| Response completeness | 10% | Did it answer the full prompt, not just part of it? |
Scoring (format): 5/5 items = 100, 4/5 = 80, 3/5 = 50, <3 = 0
| Metric | Weight | Rationale |
|---|---|---|
| Success rate (no errors/timeouts) | 10% | A model that fails 1 in 3 calls wastes tokens on retries |
Scoring: Pass = 100, Timeout = 20, Error = 0
| Composite Score | Grade | Recommendation |
|---|---|---|
| 85-100 | A | Primary candidate |
| 70-84 | B | Good fallback |
| 50-69 | C | Use for non-critical tasks only |
| 30-49 | D | Avoid — too slow or unreliable |
| 0-29 | F | Broken — disable this route |
| Model | Speed | Stream | Quality | Reliability | Composite | Grade |
|---|---|---|---|---|---|---|
| Mistral Small 4 (119B) | 80 | 100 | 100 | 100 | 94 | A |
| Ministral (14B) | 60 | 100 | 100 | 100 | 89 | A |
| Llama 3.3 70B | 100 | 50 | 100 | 100 | 78 | B |
| Mistral Medium 3 | 40 | 90 | 100 | 100 | 77 | B |
| Mistral Large 3 (675B) | 40 | 40 | 100 | 100 | 60 | C |
| DeepSeek V3.2 | 0 | 0 | 0 | 20 | 5 | F |
--json/root/.openclaw/logs/api-speed-test.jsonl for trend tracking/root/.openclaw/model-benchmark-latest.json/root/.openclaw/docs/model-benchmark-YYYY-MM-DD.json/api/routing-auditNVIDIA_NIM_API_KEYGEMINI_FREE_API_KEY