Files
thomasandClaude ddf909502a Browser-Plugin: Multi-User/X-API-Key + Footer-Download
Plugin (Manifest V3) refactored für gehostete Multi-User-Instanz:
- Tracker-URL hardcoded https://nextjobs.cc (keine URL-Eingabe mehr)
- Authentifizierung ausschließlich über persönlichen REST-API-Key
  (Header X-API-Key), pro Benutzer in chrome.storage.sync
- Server: /api/indeed-import nutzt neuen requireApiKey-Middleware,
  ordnet Import dem Benutzerkonto mit passendem cfg:API_TOKEN zu

Download: /plugin/nextjobs-stellen-import.zip packt extension/ on the
fly (dep-freier STORE-Zip in lib/zipdir.js, deterministischer Timestamp),
route hinter requireAuth. Footer-Link im App-Footer. Dockerfile kopiert
extension/ ins Image.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-20 09:44:41 +02:00

61 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# NextJobs Stellen-Import (Browser-Erweiterung)
Chromium-Erweiterung (Manifest V3), die **auf jeder Webseite** Stellen
ausliest und an NextJobs (`https://nextjobs.cc`) sendet. Auf Indeed wird
zusätzlich ein Button *direkt neben der Stellenbeschreibung* eingeblendet.
Die Stelle wird im Tracker als **Entwurf** angelegt; die KI erstellt daraus
zugeschnittene Bewerbungsunterlagen (auf Basis der hinterlegten Vorlagen).
## Multi-User & Authentifizierung
Die Tracker-Adresse ist fest `https://nextjobs.cc` (hardcodiert). Jeder
Benutzer authentifiziert sich mit seinem **persönlichen REST-API-Key**:
- Im Tracker unter **Einstellungen → API-Token (X-API-Key)** einen Token
setzen (falls noch keiner da ist: neu vergeben).
- In der Erweiterung auf das Symbol klicken → **Einstellungen** → Token
eintragen → **Speichern** + **Verbindung testen**.
Der Key wird im `X-API-Key`-Header gesendet; der Server ordnet den Import dem
Benutzerkonto zu, das diesen Token hinterlegt hat. Ohne (oder mit ungültigem)
Key antwortet der Server mit **401**. Der Key wird pro Browser-Profil in der
`chrome.storage.sync` gespeichert — wer mehrere Konten verwaltet, kann den Key
jederzeit in den Einstellungen wechseln.
## Installation (Entwicklermodus)
1. In Chrome/Edge/Brave `chrome://extensions` öffnen.
2. **Entwicklermodus** oben rechts aktivieren.
3. **Entpackte Erweiterung laden** klicken und diesen `extension/`-Ordner
auswählen.
4. API-Key eintragen (siehe oben).
## Verwendung
1. Auf einer Stellenanzeige das Erweiterungs-Symbol klicken. Die Felder werden
automatisch ausgelesen (Schema.org/JSON-LD → OpenGraph → Auswahl/Text).
Text auf der Seite markieren → wird als Beschreibung übernommen.
2. Felder prüfen, ggf. korrigieren und **An Tracker senden** klicken.
Auf Indeed alternativ den grünen Button **„An NextJobs senden"** neben
der Stellenbeschreibung.
3. Über den Link **Entwurf öffnen** gelangst du direkt zur Bewerbung im Tracker.
## Voraussetzungen im Tracker
- Unter **Vorlagen** mindestens ein Basis-Dokument (z. B. Anschreiben,
Lebenslauf) hinterlegen — diese dienen der KI als Faktengrundlage.
- `OLLAMA_API_KEY` (Ollama Cloud) gesetzt z. B. in den Einstellungen des
Benutzers damit die KI-Generierung läuft.
- Ein **API-Token (X-API-Key)** für den benutzten Account.
## Berechtigungen
| Berechtigung | Zweck |
|---|---|
| `storage` | API-Key speichern (`chrome.storage.sync`) |
| `scripting` + `activeTab` | Stelle auf der aktiven Seite auslesen (nur auf Klick) |
| `https://nextjobs.cc/*` | Import an den Tracker senden |
| `*://*.indeed.com/*` | Inline-Button auf Indeed einblenden |
Die Erweiterung liest nur die aktive Seite aus, wenn du sie aufrufst, und
sendet die Daten ausschließlich an `https://nextjobs.cc`.