Communitygithub.com

OpenTechIL/markitdown-for-ai

MarkItDown ist ein Python-Tool, das verschiedene Dokumentformate in Markdown konvertiert. Dieses Docker-Image bietet eine portable, einfach zu verwendende containerisierte Version, die sofort einsatzbereit ist.

Was ist markitdown-for-ai?

Die Skill 'Document to Markdown Conversion' ermöglicht KI-Agenten (wie Claude Code, Cursor, Codex) die Konvertierung von Dokumenten in verschiedenen Formaten (PDF, DOCX, PPTX, XLSX, HTML) in Markdown, ohne dass eine lokale Python-Installation erforderlich ist. Sie nutzt das Docker-Image `ghcr.io/opentechil/markitdown-for-ai:latest` und unterstützt sowohl Docker als auch Podman als Container-Laufzeitumgebungen. Der Agent kann Befehle über stdin oder durch Einhängen lokaler Verzeichnisse ausführen und die Ausgabe direkt als Markdown erfassen – ideal zum Lesen, Zusammenfassen oder zur Weiterverarbeitung von Dokumentinhalten. Die Skill eignet sich besonders für Workflows wie Zusammenfassungen von PDFs, Extraktion von Text aus Office-Dokumenten, Batch-Konvertierungen und RAG-Pipelines, bei denen Dokumente für Vektor-Speicher und Embedding vorbereitet werden müssen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add OpenTechIL/markitdown-for-ai

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Dokument-zu-Markdown-Konvertierung

Konvertieren Sie Dokumente in Markdown mit dem Docker-Image markitdown-for-ai. Keine lokale Python-Installation erforderlich — läuft vollständig in Docker.

Voraussetzungen

⚠️ Dieser Skill erfordert, dass Docker oder Podman auf Ihrem System installiert und verfügbar ist. Stellen Sie sicher, dass entweder Docker Desktop oder Podman läuft, bevor Sie diesen Skill verwenden.

Schnellbefehle

Dieser Skill verwendet standardmäßig Docker. Falls Docker nicht verfügbar ist, wird automatisch Podman versucht.

Von stdin (Pipe):

# Zuerst Docker versuchen
docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < datei.pdf

# Falls Docker nicht verfügbar ist, Podman verwenden:
podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < datei.pdf

Von einer lokalen Datei (aktuelles Verzeichnis einhängen):

# Zuerst Docker versuchen
docker run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest datei.docx

# Falls Docker nicht verfügbar ist, Podman verwenden:
podman run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest datei.docx

Ausgabe in eine Datei speichern:

# Zuerst Docker versuchen
docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < eingabe.pptx > ausgabe.md

# Falls Docker nicht verfügbar ist, Podman verwenden:
podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < eingabe.pptx > ausgabe.md

Pipe von cat:

# Zuerst Docker versuchen
cat datei.xlsx | docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest

# Falls Docker nicht verfügbar ist, Podman verwenden:
cat datei.xlsx | podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest

Unterstützte Formate

FormatErweiterung
PDF.pdf
Word.docx
PowerPoint.pptx
Excel.xlsx
HTML.html

Image pullen (erstmalig)

docker pull ghcr.io/opentechil/markitdown-for-ai:latest

Agenten-Workflow

Wenn ein Benutzer Ihnen eine Dokumentdatei zum Lesen oder Analysieren gibt:

  1. Prüfen Sie, ob Docker verfügbar ist — falls nicht, versuchen Sie Podman (der Skill greift automatisch darauf zurück)
  2. Führen Sie den obigen Konvertierungsbefehl aus
  3. Erfassen Sie stdout als Markdown-Inhalt
  4. Lesen und verarbeiten Sie das Markdown direkt — keine temporären Dateien erforderlich

Beispiel — Benutzer sagt "fasse dieses PDF zusammen":

# Markdown in eine Shell-Variable erfassen oder direkt an den nächsten Schritt weiterleiten
docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < bericht.pdf

# Falls Docker fehlschlägt, Podman versuchen:
podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < bericht.pdf

Wann dieser Skill verwendet werden sollte

Verwenden Sie diesen Skill immer dann, wenn Sie Inhalte aus Dokumenten extrahieren oder verarbeiten müssen. Hier sind häufige Szenarien:

Dokumentenkonvertierung & -extraktion

  • DOCX-Dateien lesen: "Lies dieses Word-Dokument", "extrahiere Text aus docx"

    docker run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest dokument.docx
    
    # Oder mit Podman, falls Docker nicht verfügbar ist:
    podman run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest dokument.docx
    
  • PDF-Dateien lesen: "Konvertiere PDF in Markdown", "extrahiere PDF-Inhalt"

    docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < bericht.pdf
    
    # Oder mit Podman:
    podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < bericht.pdf
    
  • PowerPoint verarbeiten: "Extrahiere Folien aus pptx", "konvertiere Präsentation"

    docker run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest folien.pptx
    
    # Oder mit Podman:
    podman run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest folien.pptx
    
  • Excel-Daten extrahieren: "Lies Tabelle", "konvertiere xlsx in Markdown"

    docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < daten.xlsx
    
    # Oder mit Podman:
    podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < daten.xlsx
    
  • HTML scrapen: "Konvertiere Webseite in Markdown", "extrahiere Artikelinhalt"

    docker run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest seite.html
    
    # Oder mit Podman:
    podman run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest seite.html
    

KI- & Automatisierungs-Anwendungsfälle

  • Dokumente zusammenfassen: "Fasse dieses PDF/den Bericht/das Dokument zusammen" — zuerst in Markdown konvertieren, dann den extrahierten Inhalt für die Zusammenfassung verwenden

    inhalt=$(docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < dokument.pdf)
    
    # Falls Docker fehlschlägt, Podman versuchen:
    inhalt=$(podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < dokument.pdf)
    
    # Dann $inhalt an Ihr Zusammenfassungs-Prompt übergeben
    
  • Verträge/Vereinbarungen analysieren: "Extrahiere Schlüsselbegriffe aus diesem PDF", "lies den Vertrag"

    docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < vertrag.pdf
    
    # Oder mit Podman:
    podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < vertrag.pdf
    
  • Hochgeladene Dateien verarbeiten: Wenn Benutzer Dokumente zur Analyse hochladen — zuerst konvertieren, dann über das Markdown nachdenken

  • Batch-Dokumentenverarbeitung: Mehrere Dateien in einer Schleife konvertieren, zur Indizierung oder Analyse

    for f in *.pdf; do
      docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < "$f" > "${f%.pdf}.md"
      # Bei Bedarf auch mit Podman versuchen:
      # podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < "$f" > "${f%.pdf}.md"
    done
    
  • RAG/Embedding-Pipelines: "Bereite Dokumente für die Vektorspeicherung vor" — Dokumente in Markdown konvertieren zum Chunken und Einbetten

    docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < dokument.pdf | text-embeddings-cli embed
    
    # Oder mit Podman:
    podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < dokument.pdf | text-embeddings-cli embed
    

Beispiele

BenutzeranfrageAktion
"Lies dieses PDF für mich"PDF in Markdown konvertieren und Inhalt anzeigen
"Was steht in diesem Word-Dokument?"DOCX in Markdown konvertieren und zusammenfassen
"Extrahiere die Tabelle aus dieser Excel-Datei"XLSX konvertieren — Tabellen bleiben im Markdown-Format erhalten
"Konvertiere diese Webseite in Markdown"HTML in Markdown konvertieren
"Fasse die Präsentation zusammen"PPTX-Folien in Markdown konvertieren

Häufige Fehler

FehlerBehebung
{owner} Platzhalter verwendenghcr.io/opentechil/markitdown-for-ai:latest verwenden
-i-Flag für stdin vergessenImmer -i hinzufügen beim Piping
Falschen Pfad einhängen$(pwd) und -w /data zusammen verwenden
Erwartet, dass Docker relative Pfade ohne Einhängen findetMit -v "$(pwd):/data" einhängen

Docker vs. Podman

Dieser Skill unterstützt sowohl Docker als auch Podman. Wählen Sie basierend auf Ihrer Umgebung:

Wann Docker verwenden

  • Entwicklungsarbeitsplatz - Docker Desktop auf macOS/Windows
  • Produktionsserver - Linux-Systeme mit Docker Engine
  • Die meisten Anwendungsfälle - Volle Funktionsparität, einfachere Einrichtung

Wann Podman verwenden

  • Rootless-Container - Bessere Sicherheit und Isolation
  • Linux-Server ohne Docker - Kein Daemon erforderlich
  • Cloud Native-Umgebungen - Funktioniert mit Kubernetes und Container-Orchestrierung
  • Sicherheitsanforderungen - Läuft ohne Root-Berechtigungen

Den richtigen Befehl wählen

Die obigen Beispiele bieten sowohl Docker- als auch Podman-Befehle. Der Skill empfiehlt, zuerst Docker zu versuchen — falls dies mit "Befehl nicht gefunden" oder anderen Ausführungsfehlern fehlschlägt, verwenden Sie einfach den Podman-Befehl.

Sowohl Docker als auch Podman verwenden dasselbe Image (ghcr.io/opentechil/markitdown-for-ai:latest), daher sind die Befehle bis auf docker vs. podman identisch.

Überprüfen, was verfügbar ist

Prüfen Sie, welche Container-Laufzeitumgebung installiert ist:

# Auf Docker prüfen
docker --version

# Auf Podman prüfen
podman --version

Falls Docker nicht verfügbar ist, kann Podman als direkter Ersatz verwendet werden.

Image pullen (einmalige Einrichtung)

Da Docker und Podman dieselbe Registry verwenden, ist der Pull-Befehl identisch:

docker pull ghcr.io/opentechil/markitdown-for-ai:latest
podman pull ghcr.io/opentechil/markitdown-for-ai:latest

Einmalig mit Ihrer bevorzugten Laufzeitumgebung pullen – beide haben dann lokalen Zugriff auf das Image.

Verwandte Skills