ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment ajouter la recherche API à Hermes sans navigateur
Tutoriel

Comment ajouter la recherche API à Hermes sans navigateur

Donner à l'agent Hermes une recherche web sans navigateur. Remplacer Chrome sans tête par un seul appel API. 0,005 $/recherche.

Obtenez une clé API gratuiteDocumentation API

Les agents Hermes dépendent de navigateurs sans tête ou de SearXNG pour la recherche web, ce qui est lent, fragile et gourmand en ressources. Ce tutoriel remplace la recherche basée sur un navigateur par un appel API direct. L'agent obtient des résultats structurés en 300 ms au lieu de 3 à 5 secondes, sans Puppeteer, sans Chrome et sans dépendance Docker. Chaque recherche coûte 0,005 $.

Prérequis

  • Python 3.8+
  • bibliothèque requests
  • Une clé API Scavio depuis scavio.dev
  • Framework agent Hermes installé

Parcours

Étape 1: Créer l'outil de recherche sans navigateur

Construire une fonction de recherche qui renvoie des résultats structurés sans aucune dépendance de navigateur.

Python
import os, requests, json

API_KEY = os.environ['SCAVIO_API_KEY']
SH = {'x-api-key': API_KEY, 'Content-Type': 'application/json'}

def web_search(query, num_results=5):
    """Browser-free web search for Hermes agents.
    Returns structured results in ~300ms vs 3-5s with headless Chrome.
    """
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json={'query': query, 'country_code': 'us'}, timeout=10)
    resp.raise_for_status()
    data = resp.json()
    results = []
    for r in data.get('organic_results', [])[:num_results]:
        results.append({
            'title': r.get('title', ''),
            'url': r.get('link', ''),
            'content': r.get('snippet', ''),
        })
    # Include People Also Ask for richer context
    paa = [q.get('question', '') for q in data.get('people_also_ask', [])[:3]]
    return {'results': results, 'related': paa, 'count': len(results)}

# Test - no browser needed
result = web_search('python async database tutorial 2026')
print(f'Results: {result["count"]} (no browser, no Chrome, no Docker)')
for r in result['results'][:3]:
    print(f'  {r["title"][:50]}')
    print(f'  {r["url"]}')
if result['related']:
    print(f'\nRelated questions:')
    for q in result['related']:
        print(f'  - {q}')
print(f'\nCost: $0.005/search')

Étape 2: Enregistrer en tant qu'outil Hermes

Envelopper la fonction de recherche en tant qu'outil que Hermes peut découvrir et invoquer.

Python
HERMES_SEARCH_TOOL = {
    'type': 'function',
    'function': {
        'name': 'web_search',
        'description': 'Search the web for current information. Use when you need to find documentation, verify facts, check APIs, or answer questions requiring up-to-date data. No browser required.',
        'parameters': {
            'type': 'object',
            'properties': {
                'query': {
                    'type': 'string',
                    'description': 'The search query. Be specific for better results.'
                },
                'num_results': {
                    'type': 'integer',
                    'description': 'Number of results to return (1-10, default 5)',
                    'default': 5
                }
            },
            'required': ['query']
        }
    }
}

def handle_hermes_tool(name, args):
    """Handle tool calls from Hermes agent."""
    if name == 'web_search':
        query = args.get('query', '')
        num = args.get('num_results', 5)
        result = web_search(query, num)
        return json.dumps(result)
    return json.dumps({'error': f'Unknown tool: {name}'})

# Simulate Hermes calling the tool
print('Hermes tool registered: web_search')
print('Dependencies removed: puppeteer, chromium, selenium')
result = handle_hermes_tool('web_search', {'query': 'FastAPI deployment best practices'})
parsed = json.loads(result)
print(f'\nTool returned {parsed["count"]} results')

Étape 3: Remplacer la recherche par navigateur dans la configuration Hermes

Mettre à jour la configuration de l'agent Hermes pour utiliser la recherche API au lieu de la recherche par navigateur.

Python
# BEFORE: Hermes with browser search (in hermes_config.py)
# search_tool = BrowserSearchTool()
# Requires: puppeteer, chromium, 500MB+ disk, 3-5s per search

# AFTER: Hermes with API search
# search_tool = web_search  # The function we built above
# Requires: requests library only, 300ms per search

def demo_hermes_agent():
    """Demonstrate Hermes agent using API search instead of browser."""
    print('Hermes Agent Starting...')
    print('  Search backend: Scavio API (no browser)')
    print('  Dependencies: requests only')
    print('  Avg latency: ~300ms')
    # Agent task: research a topic
    task = 'Find the best Python web framework for async APIs in 2026'
    print(f'\nTask: {task}')
    # Step 1: Search
    print('\n  Step 1: Searching...')
    result = web_search(task)
    print(f'  Found {result["count"]} results in ~300ms')
    # Step 2: Process results
    print('\n  Step 2: Processing top results...')
    for r in result['results'][:3]:
        print(f'    - {r["title"][:50]}')
    # Step 3: Follow-up search
    if result['related']:
        print(f'\n  Step 3: Follow-up search...')
        followup = web_search(result['related'][0])
        print(f'  Follow-up: {followup["count"]} more results')
    print(f'\n  Total cost: $0.010 (2 searches)')
    print(f'  Browser equivalent: 6-10 seconds, 500MB RAM')
    print(f'  API equivalent: 600ms, 0MB extra RAM')

demo_hermes_agent()

Exemple Python

Python
import os, requests
SH = {'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'}

def hermes_search(query):
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json={'query': query, 'country_code': 'us'}, timeout=10).json()
    return [{'title': r['title'], 'url': r['link']} for r in data.get('organic_results', [])[:5]]

for r in hermes_search('python async database'):
    print(f'{r["title"][:50]}')
print('No browser. $0.005/search.')

Exemple JavaScript

JavaScript
const SH = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
const data = await fetch('https://api.scavio.dev/api/v1/search', {
  method: 'POST', headers: SH,
  body: JSON.stringify({ query: 'python async database', country_code: 'us' })
}).then(r => r.json());
(data.organic_results || []).slice(0, 5).forEach(r => console.log(r.title));
console.log('No browser needed.');

Sortie attendue

JSON
Results: 5 (no browser, no Chrome, no Docker)
  FastAPI with Async SQLAlchemy - Complete Guide
  https://fastapi.tiangolo.com/advanced/async-sql/
  Python Async Database Tutorial 2026 - Real Python
  https://realpython.com/async-database-python/

Hermes Agent Starting...
  Search backend: Scavio API (no browser)
  Dependencies: requests only
  Avg latency: ~300ms

Task: Find the best Python web framework for async APIs in 2026

  Total cost: $0.010 (2 searches)
  Browser equivalent: 6-10 seconds, 500MB RAM
  API equivalent: 600ms, 0MB extra RAM

Tutoriels associés

  • Comment corriger le blocage de SearXNG par Hermes avec un repli API
  • Comment construire un pipeline de recherche Hermes en utilisant l'API de recherche
  • Comment configurer l'agent Pi avec plusieurs backends de recherche

Questions fréquentes

La plupart des développeurs terminent ce tutoriel en 15 à 30 minutes. Vous aurez besoin d'une clé API Scavio (l'offre gratuite suffit) et d'un environnement Python ou JavaScript fonctionnel.

Python 3.8+. bibliothèque requests. Une clé API Scavio depuis scavio.dev. Framework agent Hermes installé. Une clé API Scavio vous donne 50 crédits gratuits à l'inscription.

Oui. L'offre gratuite comprend 50 crédits à l'inscription, ce qui est largement suffisant pour terminer ce tutoriel et prototyper une solution fonctionnelle.

Scavio dispose d'un package natif LangChain (langchain-scavio), d'un serveur MCP et d'une API REST simple qui fonctionne avec tout client HTTP. Ce tutoriel utilise the raw REST API, mais vous pouvez l'adapter à votre framework de prédilection.

Ressources connexes

Best Of

Meilleure API de recherche pour agent Hermes en 2026

Read more
Best Of

Meilleurs backends de recherche pour l'agent Hermes (mai 2026)

Read more
Use Case

Fiabilité de l'API Hermes Agent Search

Read more
Use Case

Recherche Web de l'Agent Hermes

Read more
Glossary

Paysage des fournisseurs d'API de recherche (2026)

Read more
Glossary

Intégration de la recherche dans Hermes Agent

Read more

Commencer

Donner à l'agent Hermes une recherche web sans navigateur. Remplacer Chrome sans tête par un seul appel API. 0,005 $/recherche.

Obtenez une clé API gratuiteLire la documentation
ScavioScavio

API de recherche en temps réel pour agents IA. Recherchez sur toutes les plateformes, pas seulement Google.

Produit

  • Fonctionnalités
  • Tarifs
  • Tableau de bord
  • Affiliés

Développeurs

  • Documentation
  • Référence API
  • Démarrage rapide
  • Intégration MCP
  • SDK Python

Alternatives

  • Alternative à Tavily
  • Alternative à SerpAPI
  • Alternative à Firecrawl
  • Alternative à Exa

Outils

  • Formateur JSON
  • cURL vers code
  • Compteur de jetons
  • Tous les outils

© 2026 Scavio. Tous droits réservés.

Featured on TAAFT
Conditions d'utilisationPolitique de confidentialité