---
seo_title: Dify Plugin für Webseiten und Dateikonvertierung | EnConvert
meta_desc: Installiere das EnConvert Dify Plugin aus dem GitHub Release: sechs Tools, um Seiten als Markdown zu lesen, das Web zu durchsuchen und Dateien zu konvertieren.
keywords: dify plugin, dify web scraping tool, dify url zu markdown, dify agent websuche, dify datei zu pdf konvertieren, dify docx zu markdown, dify plugin von github installieren, dify difypkg, dify force verifying signature, enconvert dify plugin
---

# Dify Plugin für Webseiten und Dateikonvertierung

Das EnConvert Plugin für [Dify](https://dify.ai) ergänzt jeden Agenten und jeden Workflow um sechs Tools: eine Webseite als Markdown lesen, das Web durchsuchen, die URLs einer Site auflisten, strukturierte Felder extrahieren und eine hochgeladene Datei nach Markdown oder PDF konvertieren. Jeder Seiten-Render trägt einen `render_quality`-Wert von 0.0 bis 1.0, sodass eine Challenge-Seite oder die leere Hülle einer Single-Page-App markiert ankommt, statt als echter Inhalt weiterverarbeitet zu werden.

<div class="alert alert-info">
<strong>Paket:</strong> <code>enconvert</code> · <strong>Quelle:</strong> <a href="https://github.com/enconvert/dify-enconvert">enconvert/dify-enconvert</a> · <strong>Mindestversion Dify:</strong> 1.0.0 · <strong>Lizenz:</strong> MIT
</div>

---

## Die sechs Tools

| Tool | Endpunkt | Was es macht |
|------|----------|--------------|
| **Perceive URL** | `POST /v2/perceive` | Rendert eine Seite nach Markdown, bereinigtem HTML, rohem HTML, einem Screenshot, einem PDF, Links, Bildern oder strukturierten Daten, mit einem `render_quality`-Wert. Basiert auf [Perceive](/de/docs/endpoints/perceive.md). |
| **Web Search** | `POST /v2/lookup` | Web-, News-, Bild-, Scholar-, Patent- und Kartensuche, mit Titel, URL, Snippet und Position. Basiert auf [Lookup](/de/docs/coming-soon/lookup.md). |
| **Discover URLs** | `POST /v2/discover` | Listet die URLs einer Site per Sitemap, Crawl oder beidem auf, ohne sie zu rendern. Basiert auf [Discover](/de/docs/coming-soon/discover.md). |
| **Extract Structured** | `POST /v2/distill` | Holt benannte Felder aus einer oder aus vielen Seiten, oder aus einer Site, die die API für dich crawlt. Basiert auf [Distill](/de/docs/endpoints/distill.md). |
| **Convert File to Markdown** | `POST /v1/convert/anything-to-markdown` | Macht aus Word-, PowerPoint-, Excel-, PDF-, EPUB-, RTF-, HTML- und Textdateien Markdown. Basiert auf [Anything to Markdown](/de/docs/endpoints/convert/documents/anything-to-markdown.md). |
| **Convert File to PDF** | `POST /v1/convert/anything-to-pdf` | Macht aus einem Dokument, einer Tabelle, einer Präsentation, einem Bild, einer HTML- oder Textdatei ein PDF. Basiert auf [Anything to PDF](/de/docs/endpoints/convert/documents/anything-to-pdf.md). |

Alles läuft gegen dieselbe REST-API, die auf dieser Site dokumentiert ist, also greifen dein Plan-Kontingent, deine Rate-Limits und deine Features genau so wie überall sonst.

---

## Installation

Das Plugin installierst du aus seinem GitHub Release, solange der Marketplace-Eintrag noch in Prüfung ist.

1. Öffne in Dify oben rechts **Plugins**.
2. Klicke auf **Install Plugin** und dann auf **From GitHub**.
3. Füge die Repository-URL ein:

```text
https://github.com/enconvert/dify-enconvert
```

4. Wähle die Version aus dem Dropdown. Dify holt das passende `.difypkg`-Asset aus diesem Release.
5. Prüfe die Berechtigungen und klicke auf **Install**.

Das Plugin fragt ausschließlich die Tool-Berechtigung an und deklariert ausgehenden Zugriff auf `api.enconvert.com`, `www.enconvert.com` und den Storage-Host, der die konvertierten Dateien ausliefert.

<div class="alert alert-warning">
<strong>Selbst gehostete Dify-Instanzen prüfen Plugin-Signaturen standardmäßig.</strong> Nur Marketplace-Pakete tragen eine Signatur, die Dify kennt, deshalb scheitert eine GitHub-Installation mit <code>plugin verification has been enabled, and the plugin you want to install has a bad signature</code>. Die Lösung steht unter <a href="#troubleshooting">Fehlerbehebung</a>. Dify Cloud ist nicht betroffen.
</div>

---

## API-Key hinterlegen

Das Plugin braucht genau eine Zugangsberechtigung: **EnConvert API Key**.

1. Erzeuge im [Dashboard](/de/dashboard/api-keys) einen **privaten** API-Key. Private Keys beginnen mit `sk_`.
2. Öffne das EnConvert-Plugin, klicke auf **To authorize** und füge den Key ein.
3. Speichere.

Das Speichern ruft `GET /v1/whoami` auf, und dieser Endpunkt akzeptiert ausschließlich private Keys. Ein öffentlicher `pk_`-Key wird also schon in dem Moment abgewiesen, in dem du ihn einfügst, statt später mitten in einem Workflow-Lauf zu scheitern. Der Key reist bei jedem Request des Plugins im Header `X-API-Key` mit.

<div class="alert alert-warning">
<strong>Öffentliche Keys funktionieren nicht.</strong> Keys, die mit <code>pk_</code> beginnen, sind für Browser-Widgets gedacht und werden von jedem Tool in diesem Plugin abgelehnt. Mehr dazu unter <a href="/de/docs/authentication#private-keys">Private Keys</a>.
</div>

---

## Eine Seite lesen

**Perceive URL** bekommt die URL vom Agenten und zwei Einstellungen aus dem Formular:

| Parameter | Gesetzt von | Standard | Zweck |
|-----------|--------|---------|---------|
| URL | Dem Agenten | -- | Die absolute URL, die gerendert wird |
| Outputs | Dem Formular | `markdown,structured` | Beliebige aus `markdown`, `html_cleaned`, `html_raw`, `screenshot`, `screenshot_full_page`, `pdf`, `links`, `images`, `structured`, kommagetrennt |
| Only Main Content | Dem Formular | Aus | Navigation, Kopf- und Fußzeilen entfernen und den Artikel behalten |

Die API gibt jedes Artefakt als signierte URL zurück, die nach 15 Minuten abläuft, nicht als Inline-Text, und ein Agent kann keine URL öffnen. Deshalb liest das Plugin die Text-Artefakte für dich: Markdown, bereinigtes HTML und rohes HTML werden abgeholt und bis zu je 256 KB direkt in das Tool-Ergebnis eingebettet. Alles Größere und alles Binäre bleibt ein Link. Die Ausnahme ist die `structured`-Ausgabe, die inline auf der obersten Ebene der Antwort ankommt.

---

## Der render_quality-Wert

Jedes Perceive-Ergebnis trägt `render_quality`, eine Zahl von 0.0 bis 1.0. Null heißt, die Seite war blockiert oder leer, Eins heißt sauberer Render. Der Inhalt kommt in beiden Fällen zurück, markiert, sodass ein schlechter Lesevorgang nie stillschweigend in eine Zusammenfassung oder einen Vector Store wandert.

Verzweige darauf mit einem IF/ELSE-Node, bevor der LLM-Node das Markdown verarbeitet. In einem Agenten steht der Wert im Tool-Ergebnis, das das Modell ohnehin liest, also reicht ein Satz im System-Prompt, damit das Modell einem niedrigen Wert misstraut.

---

## Felder extrahieren

**Extract Structured** braucht ein Schema und genau eine Quelle. Das Schema ist ein JSON-Objekt in einer von zwei Formen. Die schnelle ist eine flache Zuordnung von Feldname zu einer Beschreibung in normaler Sprache:

```json
{"title": "the page title", "price": "the monthly price in USD"}
```

Die andere ist ein vollständiges JSON Schema, `{"type": "object", "properties": {...}}`, und den Tippaufwand wert, sobald du Typen oder verschachtelte Objekte erzwingen willst.

Als Quelle übergibst du **URLs**, eine kommagetrennte Liste mit höchstens 50 Einträgen, oder **Discover From URL**, eine einzelne Site, die die API für dich crawlt, gesteuert über **Discover Mode** und **Discover Max Pages**. Übergibst du beides oder nichts, bekommst du eine Meldung, die genau das sagt.

Die Ergebnisse kommen als `results[]`, ein Eintrag pro URL, jeder mit eigenen Daten und eigenem `extraction_tier`, das sagt, ob ein deterministischer Durchlauf oder ein Modell, das die Seite liest, die Antwort geliefert hat.

---

## Dateien konvertieren

**Convert File to Markdown** und **Convert File to PDF** nehmen eine Dify-**Datei** entgegen, keine URL. Verdrahte eine Datei aus dem File-Input eines Start-Nodes oder eine Datei-Variable aus einem früheren Node. Das Plugin lädt die Bytes als Multipart hoch und gibt eine signierte Download-URL für das Ergebnis zurück, rund 15 Minuten gültig und mit einem einfachen GET ohne API-Key abrufbar.

Die Endung des hochgeladenen Dateinamens entscheidet über das Eingabeformat. Dify reicht den ursprünglichen Namen durch, das bleibt also normalerweise unsichtbar, aber eine Datei ohne brauchbare Endung fällt auf ihre eigenen Bytes zurück: Ein PDF, ein Bild oder ein DOCX wird an seiner Signatur erkannt, ein Textformat wie CSV oder HTML hat keine und wird mit einem 400 abgelehnt.

---

## Damit bauen

### Ein Agent, der recherchiert

Gib einem Agenten **Web Search**, **Perceive URL** und **Discover URLs**. Die Suche findet Kandidatenseiten, Perceive liest die vielversprechenden als Markdown, und Discover kartiert eine Site, wenn der Agent wissen muss, was sonst noch darauf liegt, ohne irgendetwas zu rendern.

### Ein Workflow, der aus einem Upload eine Antwort macht

```text
Start (file input)  ->  Convert File to Markdown  ->  LLM  ->  Answer
```

Difys eigene Dokumentenextraktion deckt die gängigen Formate ab. Dieser Weg ergänzt die, die sie nicht abdeckt.

---

## Fehlerbehebung

**`plugin verification has been enabled, and the plugin you want to install has a bad signature`.**
Eine selbst gehostete Dify-Instanz erzwingt die Signaturprüfung für Plugin-Pakete standardmäßig, und nur Marketplace-Pakete tragen eine Signatur, die sie kennt. Trage `FORCE_VERIFYING_SIGNATURE=false` in `docker/.env` ein und starte dann neu:

```bash
cd docker
docker compose down
docker compose up -d
```

Diese Einstellung gilt für jedes Nicht-Marketplace-Plugin auf der Instanz, behandle sie also als Entscheidung über die Instanz und nicht über eine einzelne Installation. Dify Cloud ist nicht betroffen.

**Im Install-Dialog erscheinen keine Versionen.**
Dify listet ein Release nur, wenn ein `.difypkg`-Asset daran hängt. Öffne das [neueste Release](https://github.com/enconvert/dify-enconvert/releases/latest) und prüfe unter **Assets**, ob das Asset da ist. Ein leeres Dropdown heißt: kein Paket, nicht das falsche.

**Das Speichern der Zugangsdaten schlägt fehl.**
Der Key ist falsch, oder es ist ein öffentlicher `pk_`-Key. Erzeuge im [Dashboard](/de/dashboard/api-keys) einen privaten Key. Das Speichern ruft `GET /v1/whoami` auf, das ausschließlich private Keys akzeptiert.

**Ein Tool meldet, die Operation sei nicht in meinem Plan enthalten.**
Perceive, Web Search, Discover und Extract Structured zehren vom monatlichen Ops-Kontingent deines Plans. Prüfe deine Nutzung auf der [Preisseite](/de/pricing.md).

**Perceive liefert einen Link, wo Markdown erwartet war.**
Das Markdown hat die Inline-Grenze von 256 KB überschritten, deshalb hat das Plugin stattdessen die signierte URL übergeben. Hol sie mit einem einfachen GET ohne API-Key ab. **Only Main Content** bringt eine lange Seite meist wieder unter die Grenze.

**Ein Convert-Tool sagt, es habe eine hochgeladene Datei erwartet.**
In den Parameter **File** wurde ein URL-String verdrahtet. Beide Convert-Tools nehmen eine Dify-Datei entgegen. Um eine Webseite zu konvertieren, nutze **Perceive URL** mit `pdf` oder `markdown` unter Outputs.

---

## Quellen und Links

- **Quelle**: [enconvert/dify-enconvert](https://github.com/enconvert/dify-enconvert)
- **Neuestes Release**: [releases/latest](https://github.com/enconvert/dify-enconvert/releases/latest)
- **Lizenz**: MIT
- **Dify Plugin-Dokumentation**: [docs.dify.ai](https://docs.dify.ai/en/plugins/introduction)
- **Zugrunde liegende API**: [Einführung](/de/docs/introduction.md)

---

## Häufig gestellte Fragen

### Wie installiere ich das EnConvert-Plugin in Dify?

Öffne **Plugins**, klicke auf **Install Plugin**, dann auf **From GitHub**, und füge `https://github.com/enconvert/dify-enconvert` ein. Wähle die Version aus dem Dropdown, prüfe die Berechtigungen und klicke auf **Install**. Dify holt das `.difypkg`-Asset direkt aus diesem GitHub Release, ein dokumentierter Installationsweg, der keinen Marketplace-Eintrag braucht.

### Kann ich es installieren, bevor der Marketplace-Eintrag freigegeben ist?

Ja. Die Installation aus einem GitHub Release ist einer von Difys eigenen Veröffentlichungswegen und kostet etwa gleich viele Klicks wie der Marketplace. Der einzige Unterschied: Eine selbst gehostete Instanz mit aktivierter Signaturprüfung verweigert ein Nicht-Marketplace-Paket, bis du in `docker/.env` `FORCE_VERIFYING_SIGNATURE=false` setzt.

### Wie lese ich in einem Dify-Agenten eine Webseite als Markdown?

Füge **Perceive URL** als Tool hinzu und lass Outputs auf dem Standard. Der Agent übergibt die URL, und das Plugin gibt das Markdown inline im Tool-Ergebnis zurück, bis zu 256 KB, sodass das Modell die Seite liest und nicht einen Link, den es nicht öffnen kann. Schalte **Only Main Content** ein, um Navigation und Fußzeilen wegzulassen.

### Warum bekomme ich von Perceive einen Link statt des Textes?

Jedes Artefakt, das die API erzeugt, ist eine signierte URL mit 15 Minuten Gültigkeit. Das Plugin holt die Text-Artefakte und bettet sie ein, bis zu 256 KB. Eine größere Seite oder eine binäre Ausgabe wie ein Screenshot oder ein PDF bleibt ein Link, abrufbar mit einem einfachen GET ohne API-Key.

### Wie konvertiere ich in einem Dify-Workflow eine hochgeladene DOCX zu PDF?

Füge dem Start-Node einen File-Input hinzu und verdrahte diese Datei-Variable in **Convert File to PDF**. Das Tool lädt die Bytes hoch und gibt eine signierte Download-URL für das PDF zurück. Die Endung des Dateinamens entscheidet über das Eingabeformat, behalte also den ursprünglichen Namen.
