> ## Documentation Index
> Fetch the complete documentation index at: https://docs.one.fim.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Exa

> Optionales Exa-Web-Such-Backend für FIM One-Agenten — Neural-, Fast-, Deep-Reasoning- und Instant-Modi mit sinnvollen Standardwerten.

[Exa](https://exa.ai) ist als optionales Web-Such-Backend in FIM One verfügbar. Wenn Sie es aktivieren, erhalten Agenten Zugriff auf die gesamte Exa-Such-Oberfläche — `auto` (Exas empfohlener Suchtyp), `neural`, `fast`, `deep-lite`, `deep`, `deep-reasoning` und `instant` — sowie strukturierte Inhaltsabfrage (Highlights, Text, Zusammenfassungen) und umfangreiche Filterung (Kategorien, Domänen einschließen/ausschließen, Datumsbereiche und Max-Age-Fenster). Sinnvolle Exa-seitige Standardwerte werden standardmäßig bereitgestellt, sodass Sie Best Practices von Exa ohne manuelle Abstimmung erhalten.

## Warum Exa in FIM One

* **Neural Search für Agent-Reasoning** — Exa's Embedding-native Suche liefert semantisch relevante Ergebnisse, nicht nur Keyword-Treffer. Das ist wichtig für Research-Agenten, die über Web-Inhalte nachdenken.
* **Deep-Reasoning-Modus für schwierige Anfragen** — Single-Call Multi-Hop-Reasoning über das offene Web, ohne dass der Agent Sub-Queries selbst orchestrieren muss.
* **Integrierte Content-Extraktion** — Highlights + Text + optionale Zusammenfassungen werden mit dem Such-Call bereitgestellt, was eine zweite Roundtrip zum Abrufen und Bereinigen von Seiteninhalten eliminiert.
* **Enge Domain- / Aktualitätskontrollen** — umfasst Include/Exclude-Domain-Listen (bis zu 1200 Einträge), ISO-8601-Datumsfenster und `maxAgeHours` für zeitkritische Workflows.

## Schnelleinstieg

### 1. Exa API-Schlüssel abrufen

Melden Sie sich bei [exa.ai](https://exa.ai) an und holen Sie sich Ihren API-Schlüssel aus dem Dashboard.

### 2. Exa in FIM One aktivieren

Fügen Sie Folgendes zu Ihrer `.env` hinzu:

```bash theme={null}
WEB_SEARCH_PROVIDER=exa
EXA_API_KEY=your_key_here
```

Setzen Sie beide Variablen, damit `web_search` über Exa läuft. Bevorzugen Sie ein explizites `WEB_SEARCH_PROVIDER=exa` gegenüber der alleinigen Abhängigkeit von der automatischen Schlüsselerkennung.

### 3. Nutzen Sie es von jedem Agent aus

Die Websuche wird Agenten als integriertes Tool bereitgestellt — keine zusätzliche Verkabelung erforderlich. Mit Exa, das wie oben konfiguriert ist, leiten Agenten, bei denen `web_search` aktiviert ist, Suchanfragen über Exa weiter.

## Konfiguration

Alle Exa-spezifischen Parameter haben sinnvolle Standardwerte. Überschreiben Sie diese über Umgebungsvariablen:

| Variable                   | Standard | Beschreibung                                                                                  |
| -------------------------- | -------- | --------------------------------------------------------------------------------------------- |
| `EXA_API_KEY`              | —        | **Erforderlich.** Ihr Exa-API-Schlüssel.                                                      |
| `EXA_SEARCH_TYPE`          | `auto`   | Einer von `auto`, `neural`, `fast`, `deep-lite`, `deep`, `deep-reasoning`, `instant`.         |
| `EXA_CATEGORY`             | —        | Einer von `company`, `research paper`, `news`, `personal site`, `financial report`, `people`. |
| `EXA_INCLUDE_DOMAINS`      | —        | Komma-getrennte Allowlist (max. 1200 Einträge).                                               |
| `EXA_EXCLUDE_DOMAINS`      | —        | Komma-getrennte Blocklist (max. 1200 Einträge).                                               |
| `EXA_START_PUBLISHED_DATE` | —        | ISO-8601, z. B. `2025-01-01`.                                                                 |
| `EXA_END_PUBLISHED_DATE`   | —        | ISO-8601.                                                                                     |
| `EXA_MAX_AGE_HOURS`        | —        | Nur Seiten zurückgeben, die in den letzten N Stunden indexiert wurden.                        |
| `EXA_INCLUDE_HIGHLIGHTS`   | `true`   | Highlight-Snippets aus Ergebnissen abrufen.                                                   |
| `EXA_TEXT_MAX_CHARS`       | `800`    | Obergrenze für Text-/Snippet-Länge pro Ergebnis.                                              |
| `EXA_SUMMARY_QUERY`        | —        | Optionale benutzerdefinierte Zusammenfassungsaufforderung pro Ergebnis.                       |

### Wie Snippets zusammengestellt werden

FIM One durchläuft kaskadenförmig die Inhaltsfelder von Exa, um bei jedem Ergebnis ein nützliches Snippet zu erzeugen, unabhängig davon, welche Inhaltstypen die API gefüllt hat:

1. `highlights` (verbunden mit `…`) — bevorzugt, wenn vorhanden
2. `text` — Fallback auf extrahierter Artikeltext, gekürzt auf `EXA_TEXT_MAX_CHARS`
3. `summary` — verwendet, wenn beide oben genannten leer sind

Dies garantiert, dass nachgelagerte Agenten immer ein nicht-leeres Snippet zum Analysieren haben, auch bei Ergebnissen, bei denen Exa keine Highlights extrahieren konnte.

### Voreinstellung: Nachrichtenüberwachung

```bash theme={null}
EXA_SEARCH_TYPE=fast
EXA_CATEGORY=news
EXA_MAX_AGE_HOURS=24
EXA_TEXT_MAX_CHARS=1200
```

### Voreinstellung: Abruf von Forschungsarbeiten

```bash theme={null}
EXA_SEARCH_TYPE=neural
EXA_CATEGORY=research paper
EXA_INCLUDE_HIGHLIGHTS=true
EXA_TEXT_MAX_CHARS=2000
```

# Voreinstellung: Deep-Reasoning-Agent

```bash theme={null}
EXA_SEARCH_TYPE=deep-reasoning
EXA_TEXT_MAX_CHARS=1500
EXA_SUMMARY_QUERY=What is the key finding and its supporting evidence?
```

## Zuordnung

Jede Exa-Anfrage von FIM One enthält einen `x-exa-integration: fim-one` Header, damit Exa die API-Nutzung in Maintainer-Dashboards dieser Integration zuordnen kann. Dies wird nur für die Zuordnung auf Integrationsebene verwendet — keine Identifizierung oder Verfolgung von Endbenutzern.

Der Exa-Connector befindet sich unter [`src/fim_one/core/web/search/exa.py`](https://github.com/fim-ai/fim-one/blob/master/src/fim_one/core/web/search/exa.py) und folgt demselben `BaseWebSearch`-Protokoll wie Jina, Tavily und Brave — der Wechsel von Providern ist eine einfache Umgebungsvariablenänderung.

## Links

* [Exa homepage](https://exa.ai) · [Exa API reference](https://exa.ai/docs/reference/search)
* [FIM One quickstart](/quickstart) · [Environment variables reference](/configuration/environment-variables)
