Lebenslauf privat mit KI anpassen: lokal mit Ollama
Den Lebenslauf privat mit einem lokalen KI-Modell anpassen: was Cloud-Anbieter erhalten, wie du ein Ollama-Modell wählst und was du bei Tempo, Qualität und Timeouts abwägst.
Jedes Mal, wenn du ein KI-Modell bittest, deinen Lebenslauf anzupassen, liest es das ganze Dokument: deinen Namen, deine Telefonnummer, deine E-Mail, jeden Arbeitgeber und jedes Datum und was sonst noch in der Datei steht. Bei einem Cloud-Anbieter verlässt dieser Text deinen Rechner. Den Lebenslauf privat mit KI anzupassen heißt, das Modell stattdessen auf deiner eigenen Hardware laufen zu lassen, sodass der Lebenslauf (CV) und die Stellenbeschreibung sie nie verlassen. Dieser Beitrag behandelt, warum du das wollen könntest, was ein Cloud-Anbieter erhält, wenn du es nicht tust, wie du mit Ollama ein lokales Modell auswählst und was du bei Tempo, Qualität und Timeouts abwägen musst.
Die Einrichtungsschritte stehen in der Dokumentation. Siehe Ollama-Einrichtung (auf Englisch) für den Ablauf mit Docker und Eigenen KI-Schlüssel verwenden für die Einstellungsseite und die Umgebungsvariablen. Dieser Beitrag behandelt das Warum und das Was.
Warum du deinen Lebenslauf lokal halten solltest
Ein Lebenslauf gehört zu den persönlicheren Dokumenten, die du besitzt. Er enthält deinen vollen Namen, eine Telefonnummer, eine E-Mail, deine Stadt und eine datierte Aufstellung, wo du gearbeitet hast. Wenn du einen Master-Lebenslauf führst, enthält er vielleicht auch Dinge, die du nie in eine angepasste Version schreiben würdest: Notizen dazu, warum du eine Stelle verlassen hast, eine Gehaltszahl aus einem Angebot, den Namen einer Vorgesetzten. Kopierst du das in ein Chatfenster, hast du es an eine Firma geschickt, deren Bedingungen zum Umgang mit Daten du vielleicht nicht gelesen hast.
Drei Gruppen haben einen konkreten Grund, darauf zu achten.
Menschen mit einer Verschwiegenheitspflicht. Wenn der Name deines aktuellen Arbeitgebers, Codenamen von Projekten oder eine Kundenliste in deinen Stichpunkten stehen, enthält dein Lebenslauf Informationen, die du laut Vertrag vielleicht schützen musst.
Menschen, die still suchen. Du willst nicht, dass „Lebenslauf für eine Stelle bei der Konkurrenz anpassen“ irgendwo anders als auf deiner eigenen Festplatte gespeichert ist.
Menschen, die die Richtlinien der Anbieter lesen. Die Bedingungen unterscheiden sich je nach Anbieter und Tarif. Die Seite von Anthropic zu kommerziellen Produkten zum Beispiel sagt, dass Eingaben und Ausgaben aus der API und den Business-Produkten standardmäßig nicht zum Training verwendet werden, mit Ausnahmen für Feedback, das du einreichst (Anthropic privacy centre, Stand August 2026; die Verbraucher-Tarife werden auf einer separaten Seite behandelt). Andere Anbieter veröffentlichen ihre eigenen Bedingungen. Wenn du nicht davon abhängen willst, sie richtig zu lesen, nimmt dir ein lokales Modell die Frage ab. Für Leser in der EU kommt dazu: Mit einem lokalen Modell stellt sich die Frage, in welches Land deine Daten übertragen werden, gar nicht erst.
Was ein Cloud-Anbieter erhält
Resume Matcher ist ein Werkzeug („Harness“): Es schickt Prompts an das Modell, das du verbindest, und prüft das Ergebnis mit Code. Vor dem Senden schwärzt es nichts. Die Tabelle unten, aus dem Code des Projekts, listet auf, was jede Funktion an den Anbieter schickt, den du gewählt hast.
| Funktion | An den Anbieter gesendet |
|---|---|
| Lebenslauf hochladen (Parsing) | Der vollständige extrahierte Lebenslauftext, einschließlich Name, E-Mail, Telefon und Links |
| Analyse der Stellenbeschreibung, Titel des Lebenslaufs | Die Stellenbeschreibung |
| Anpassung (Skill-Plan, Diff-Änderungen) | Stellenbeschreibung plus der vollständige Lebenslauf als strukturiertes JSON, persönliche Angaben eingeschlossen |
| Keyword-Durchgang nach der Anpassung | JSON des angepassten und des Master-Lebenslaufs plus die ersten 2.000 Zeichen der Stellenbeschreibung |
| Bewertung der Stichpunkte | Text der Stichpunkte, Stellenbeschreibung und extrahierte Keywords |
| Anschreiben, Kontaktnachricht | Vollständiges Lebenslauf-JSON plus Stellenbeschreibung |
| Interviewvorbereitung | Lebenslauf-JSON (bis zu 30.000 Zeichen) plus Stellenbeschreibung (bis zu 12.000) |
| Anreicherung, Neugenerierung, Resume Wizard | Der Lebenslauf oder ein Eintrag plus deine Antworten und Anweisungen |
| Test Connection | Das Wort „Hi“ |
Nichts geht an die Autoren von Resume Matcher; die App enthält keinen Analyse-Code. Deine API-Schlüssel für andere Anbieter, die Datenbank, das Tracker-Board, die Einstellungen und die erzeugten PDFs bleiben auf der Festplatte. Die einzige andere ausgehende Anfrage stellt die KI-Bibliothek (LiteLLM), die beim Start eine öffentliche Preisliste der Modelle abruft; sie enthält keine deiner Daten und greift offline auf eine mitgelieferte Kopie zurück.
Wer von Hand in ChatGPT oder Claude kopiert, schickt dasselbe, nur weniger strukturiert. Jeder Ablauf, in dem ein Cloud-Modell deinen Lebenslauf liest, schickt deinen Lebenslauf in diese Cloud.
Wie es aussieht, den Lebenslauf privat mit KI anzupassen
Richte dasselbe Werkzeug auf ein Modell, das auf deinem Rechner läuft, und jede Zeile dieser Tabelle bleibt lokal. Das Modell liest den Lebenslauf, schlägt Änderungen vor, der Code prüft sie, und keine Netzwerkanfrage trägt den Text irgendwohin.
In Resume Matcher heißt das einer von zwei Anbietern in den Einstellungen:
- Ollama, ein kostenloses Werkzeug, das offene Modelle herunterlädt und unter
http://localhost:11434bereitstellt. - Jeder OpenAI-kompatible Server: llama.cpp, vLLM, LM Studio oder alles andere, was die Chat Completions API von OpenAI spricht.
Vier Details schränken das Wort „privat“ ein.
Die Installation braucht Internet, die Nutzung nicht. Du lädst einmal die App, ihre Abhängigkeiten, den Browser, den sie für den PDF-Export nutzt, und die Gewichte des Modells herunter. Danach läuft die Anpassung offline. Der Abruf der Preisliste durch LiteLLM beim Start greift offline auf eine mitgelieferte Kopie zurück.
Deine Daten liegen in einem Ordner. Lebensläufe, Stellenbeschreibungen, angepasste Versionen und das Tracker-Board liegen in einer SQLite-Datei im Datenverzeichnis der App oder in einem Docker-Volume. Die Einstellungen liegen in einer kleinen Konfigurationsdatei daneben. API-Schlüssel, falls du welche gespeichert hast, sind mit einer Schlüsseldatei verschlüsselt, die nur dein Benutzerkonto lesen kann. Der Inhalt des Lebenslaufs selbst liegt als normale Daten in dieser SQLite-Datei, der Ordner ist also genau so privat wie die Festplatte, auf der er liegt; ein Laptop mit vollständiger Festplattenverschlüsselung deckt das ab.
Keine Analyse in der App. Der Code enthält kein Tracking-SDK. Das Docker-Image schaltet auch die eigene Framework-Telemetrie von Next.js ab; wenn du das Frontend aus dem Quellcode mit npm run dev startest, liegt diese Einstellung auf Framework-Ebene bei dir.
Ein lokaler Server bekommt nie deinen Cloud-Schlüssel. Wenn du den Schlüssel eines bezahlten Anbieters in deiner Umgebung hast und zu Ollama wechselst, hält das Backend diesen Schlüssel vom lokalen Server zurück, ein Wechsel des Anbieters kann ihn also nicht preisgeben.
Ein lokales Modell auswählen
Ollama ist der Weg des geringsten Widerstands. Es lädt Modelle über ihren Namen und stellt sie an einem lokalen Port bereit. Die Einstellungsseite von Resume Matcher schlägt gemma3:4b als Standard für Ollama vor, und die Einrichtungsanleitung des Projekts nennt llama3.2 und mistral als weitere Optionen. Jedes Modell, das Ollama bereitstellt, kannst du ins Modellfeld eintragen.
Fang mit dem Standard an. gemma3:4b ist der vom Projekt vorgeschlagene Ausgangspunkt und laut Modellseite von Ollama ein Download von 3,4 GB, Stand Oktober 2026. Es ist ein kleines Modell, lies also den Absatz zu strukturierten Änderungen unten, um zu wissen, was du erwarten kannst.
Geh größer, wenn deine Hardware es erlaubt. Dieselbe Seite nennt gemma3:12b mit 8,2 GB und gemma3:27b mit 17 GB. Das sind Downloadgrößen, und der Speicher, den ein Modell zur Laufzeit braucht, ist eine andere Zahl, die von Quantisierung und Kontextlänge abhängt. Die Dokumentation von Resume Matcher nennt keine RAM-Anforderung, und ich werde keine erfinden. Die FAQ von Ollama erklärt, wie du prüfst, ob ein Modell auf deine GPU, in den Arbeitsspeicher oder in eine Mischung aus beidem geladen wurde, und das ist der schnellste Weg herauszufinden, ob eine bestimmte Größe auf deinen Rechner passt.
Rechne damit, dass kleine Modelle mit strukturierten Änderungen Mühe haben. Das ist das bekannte Problem. Resume Matcher bittet das Modell nicht um einen komplett neuen Lebenslauf. Es bittet um eine Liste gezielter Änderungen in einem strengen Format, jede mit dem zitierten Originaltext, damit der Code sie vor dem Anwenden prüfen kann. Die Designnotizen des Projekts halten fest, dass kleinere Modelle mit diesem Format Mühe haben: Sie liefern fehlerhafte Ausgaben, zitieren Text, der nicht passt, oder lassen die Struktur weg. Der Code versucht es eine begrenzte Anzahl von Malen erneut; schlagen die Versuche fehl, bekommst du einen Fehler und kannst neu erzeugen oder zu einem größeren Modell wechseln. Ein schwaches Modell kostet dich Zeit, und die Schutzmechanismen gelten unabhängig vom Modell: gesperrte Namen, Arbeitgeber, Titel, Daten und Abschlüsse, und neue Zahlen werden rückgängig gemacht.
Zwei Dinge tut das Werkzeug, um lokalen Modellen zu helfen:
- Der JSON-Modus ist bei Ollama immer an, mit einem Rückfall auf reine Prompt-Anweisungen, wenn der Server ihn ablehnt, sodass das Modell in Richtung gültiger Struktur gedrückt wird.
- Denkspuren werden entfernt. Manche Reasoning-Modelle geben vor ihrer Antwort einen Block
<think>aus. Der Code entfernt diese Blöcke vor dem Parsen, damit ein „denkendes“ Modell das Format der Änderungen nicht zerbricht.
Wenn dir das Standardmodell bei deinem Lebenslauf fehlerhafte Vorschauen liefert, probier als Nächstes ein mittelgroßes Modell, bevor du dem Prompt die Schuld gibst.
Was du abwägen musst: Tempo, Qualität, Timeouts
Tempo. Ein Cloud-Modell beantwortet eine Anfrage zum Anpassen in Sekunden. Ein lokales Modell auf der CPU eines Laptops kann für denselben Prompt Minuten brauchen, und der Ablauf der Anpassung ruft das Modell pro Durchlauf mehrmals auf: Extraktion der Keywords aus der Anzeige, Bewertung der Relevanz der Stichpunkte, ein Skill-Plan, die Liste der Änderungen und danach ein Keyword-Durchgang. Jeder Aufruf wartet auf den vorherigen. Ein Modell, das pro Aufruf fünfmal langsamer ist, macht den ganzen Durchlauf fünfmal langsamer.
Qualität. Größere Modelle formulieren flüssiger um, bleiben näher am Vokabular der Anzeige und erzeugen weniger kaputte Änderungen. Kleinere formulieren steifer und erzeugen mehr verworfene Änderungen. Die Prüfungen im Code sorgen dafür, dass die Untergrenze für beide gleich ist: Ein kleines Modell kann ebenso wenig eine Kennzahl erfinden oder deine Daten ändern wie ein großes, weil diese Änderungen blockiert werden, bevor sie dich erreichen. Die Obergrenze ist verschieden.
Timeouts. Jede KI-Anfrage in Resume Matcher läuft unter einer einzigen Frist, REQUEST_TIMEOUT_SECONDS, standardmäßig 240 Sekunden, mit erlaubten Werten von 30 bis 1.800. Diese Frist gilt für den ganzen Durchlauf der Anpassung, alle Aufrufe des Modells eingeschlossen. Lokale Anbieter bekommen einen verdoppelten Timeout-Faktor, aber ein großes Modell auf bescheidener Hardware kann trotzdem darüber hinauslaufen. Wenn du Timeouts siehst, erhöhe REQUEST_TIMEOUT_SECONDS in der Backend-Umgebung und passend dazu NEXT_PUBLIC_REQUEST_TIMEOUT_MS in der Frontend-Umgebung; die Seite Eigenen KI-Schlüssel verwenden nennt beide.
Kosten. Mit einem lokalen Modell null pro Anfrage, gegenüber einer Gebühr pro Aufruf bei einem Cloud-Anbieter. Über eine Jobsuche mit vierzig Bewerbungen, jede mit angepasstem Lebenslauf, Anschreiben und Interviewvorbereitung, ist der Unterschied für manche echtes Geld und für andere Kleingeld. Das Argument Datenschutz steht so oder so für sich.
Wie alles zusammenpasst
Ein Absatz zur Orientierung; die Befehle stehen in der Dokumentation.
Ollama läuft auf deinem Rechner und lauscht auf Port 11434. Resume Matcher läuft daneben, aus dem Quellcode oder in Docker, und stellt die App auf Port 3000 bereit. In den Einstellungen wählst du Ollama als Anbieter, trägst den Namen des Modells ein, das du heruntergeladen hast, und klickst auf Test Connection, das das Wort „Hi“ schickt und meldet, ob das Modell geantwortet hat. Aus Docker heraus erreicht die App Ollama über http://host.docker.internal:11434 statt über localhost, weil der Container seinen eigenen Netzwerk-Namensraum hat. Danach nutzt jede Funktion der App (Anpassen, Anschreiben, Interviewvorbereitung, Anreicherung) das lokale Modell, und der Browser druckt deine PDFs auf demselben Rechner.
Die Seite Ollama-Einrichtung (auf Englisch) enthält die Anleitung für Docker, und Eigenen KI-Schlüssel verwenden behandelt Einstellungen, Umgebungsvariablen und Fehlerbehebung für den Weg über den Quellcode und über Docker.
Wann ein Cloud-Modell die bessere Wahl ist
Lokal ist eine Abwägung, und für manche gewinnt die Cloud. Wenn dein Laptop schwach ist, ist das Modell, das du laufen lassen kannst, klein, und kleine Modelle erzeugen öfter verworfene als nützliche Änderungen. Wenn du dich diese Woche bewirbst und jeder Durchlauf vier Minuten dauert, zählt Tempo mehr als der Datenfluss. Wenn dein Lebenslauf nichts enthält, was ein Anbieter nicht lesen dürfte, und du die Bedingungen des Anbieters gelesen hast, ist das Argument Datenschutz für dich akademisch.
Ein Mittelweg funktioniert auch. Lass das lokale Modell den Großteil deiner Anpassungen machen und wechsle in den Einstellungen den Anbieter für die eine Bewerbung, bei der du die beste Prosa willst. Die App speichert einen Schlüssel pro Anbieter, ein Wechsel ist also eine Auswahl im Menü. Der Code der Schutzmechanismen bleibt gleich: Egal welches Modell du verbindest, dein Name, deine Arbeitgeber, Titel, Daten und Abschlüsse bleiben gesperrt, und jede Zahl, die das Modell erfindet, wird rückgängig gemacht, bevor du sie siehst.
Resume Matcher ist kostenlos, Open Source unter der Lizenz Apache 2.0 und wird von mehr als 200.000 Jobsuchenden genutzt. Es bringt kein Modell mit und betreibt keine Website, und darum geht es in diesem ganzen Beitrag: Das Modell gehört dir, und die Daten auch.
Wenn dir das geholfen hat
Wenn das Modell auf deinem eigenen Rechner die Variante ist, die du gesucht hast, hilft ein Stern für Resume Matcher auf GitHub anderen Jobsuchenden, es zu finden. Du kannst mir, Saurabh Rai, auf GitHub, X und LinkedIn folgen.
[Dieser Artikel wurde mit Hilfe von KI entworfen, übersetzt und formatiert. Produktangaben wurden mit dem Quellcode von Resume Matcher abgeglichen, und externe Quellen sind dort verlinkt, wo sie verwendet werden.]
Hat dir der Artikel geholfen? Gib Resume Matcher einen Stern auf GitHub und bleib auf dem Laufenden