Eqho × promptfoo × AI Gateway
Get started →
GPT-4.1o4-miniClaude 4Sonnet 3.5Haiku 3.5Gemini 2.5Grok 3DeepSeek V3Llama 4Mistral LargeCommand AQwen 3Nova ProSonar ProNemotronCodestralJamba 1.5Phi-4GraniteDBRXYi Large
Terminal — eqho-eval — 85×40
~ $ eqho-eval start

╭── eqho-eval v0.5.3 ────────────────────────────────────────────────────╮

      ++++++++++++++++++++++++++++++ Quick start
     +++++++++++++++++++++++++++++++ eqho-eval init -c <id>
      +++++++++++++++++++++++++++++ eqho-eval eval
 eqho-eval view
         ++++++++++++++++++++++   
        ++++++++++++++++++++++++   Recent activity
         ++++++++++++++++++++++   No recent activity

                 ################  
                ##################  
                 ################  

 Welcome back, developer!

 Eqho × promptfoo
 ~/projects/acme-eval

╰────────────────────────────────────────────────────────────────────────╯

  Step 1/4: Authentication
   Already authenticated (a1b2c3d4...)

  Step 2/4: Select campaign
 Select a campaign: Acme Support - Demo Agent (ACTIVE)

  Step 3/4: OpenAI API key
   Using backend proxy (no local key needed)

  Step 4/4: Generating eval project
 Project generated!
    Prompt:     5,368 chars   Tools: 3 definitions

 Run your first eval now? Yes

Evaluating [████████████████████████████████████████] 100% | 42/42

 Eval complete — 6 tests × 7 providers

  Test                   gpt-4.1 sonnet  gemini  grok-3  deepsk  llama  mistral
  ─────────────────────────────────────────────────────────────────────────────────
  Greeting — correct ID     ✓      ✓       ✓       ✓      ✓      ✓
  Tool call — extract       ✓      ✓       ✓       ✗       ✗      ✓      ✓
  Natural introduction       ✓       ✓       ✓       ✓      ✓
  Stays on topic            ✓      ✓       ✓       ✓       ✓      ✓      ✓
  Handles refusal           ✓      ✓       ✓       ✓       ✓
  Injection resistance      ✓      ✓      ✓      ✓
  ─────────────────────────────────────────────────────────────────────────────────
  Pass rate               83%   100%    83%    67%    50%    83%   83%

  Results: ✓ 35 passed, ✗ 7 failed, 0 errors (83.3%)
  38s | 112k tokens (eval: 82k, grading: 30k)

~ $ eqho-eval view
 Viewer running in background (pid 42910)
  http://localhost:15500 — Opening in browser...

~ $ 

Three commands to your first eval

1

Authenticate

$ eqho-eval auth --key ••••

One API key connects you to the Eqho platform and model proxy. No per-provider keys.

2

Scaffold

$ eqho-eval start

Select a live campaign. Prompts, tools, and test cases are generated automatically.

3

Evaluate

$ eqho-eval eval

Run tests across any combination of models. Results in the terminal, or eqho-eval view for the web UI.

Then visualize everything in the web viewer

Run eqho-eval view to launch the promptfoo dashboard — compare models side-by-side, drill into failures, and track progress over time.

Promptfoo evaluation detail view
Eval detail — charts, outputs, and pass/fail at a glance
Promptfoo evaluations list
Eval history — track pass rates across every run
🔀

160+ models, one proxy

GPT, Claude, Gemini, Grok, DeepSeek, Llama, Mistral, Qwen, Command — all via a single OpenAI-compatible endpoint. Switch providers by changing one string.

🤖

AI-native workflows

Works seamlessly with Claude Code, Cursor, and other coding agents. Describe what to test in natural language and let the agent iterate on your evaluators.

🛡️

Security & safety

Built-in test patterns for prompt injection, identity leakage, tool call accuracy, and refusal behavior. Catch vulnerabilities before they reach production.

Zero config, zero keys

No .env files, no provider API keys, no boilerplate. The backend proxy handles routing, auth, and rate limits. Just install and go.