# Vendoo 1.41.2

Vendoo 1.41.1 ist die korrigierte Produktionsgrundlage für den Betrieb über **Coolify**, GitHub und `https://vendoo.flatlined.de`. Der Container bleibt unveränderlich: Vendoo führt weder `git pull` noch Docker-Befehle aus, sondern delegiert freigegebene Deployments nach einem verifizierten Vorab-Backup an Coolify.

## Hotfix 1.41.2: native Module zuverlässig in Git

Runtimeordner werden in `.gitignore` ausschließlich am Projektroot ausgeschlossen. Dadurch bleiben `app/modules/` und `app/modules/sessions/` normale, versionierte Quellordner. Der Deploy-Assistent prüft vor jedem Push, dass alle produktiven Moduldateien physisch vorhanden und durch Git getrackt sind.

## CI-Hotfix 1.41.1

- `Archiv/`, `archive/` und `archives/` werden nicht mehr als produktiver Quellcode geprüft, nach GitHub übertragen oder in Releases gepackt.
- Das ESM-Gate prüft ausschließlich `server.mjs`, `bootstrap.mjs`, `app/`, `lib/`, `public/`, `scripts/` und `tools/`.
- Die produktiven Listings-/Inventory-Moduldateien werden separat als Pflichtdateien geprüft.
- Ein Regressionstest beweist: Archivstände werden ignoriert, echte fehlende Imports im Source-Root bleiben ein harter Fehler.

## Coolify-Produktionsbetrieb

- Dockerfile-Build direkt aus dem privaten GitHub-Repository
- Domain und HTTPS über den Coolify-Reverse-Proxy
- interner Anwendungsport `8124` ohne öffentliches Host-Port-Mapping
- ein persistentes Volume unter `/app/data`
- Healthcheck über `/readyz`
- FLUX Studio beim ersten Produktionsstart standardmäßig deaktiviert
- keine Weitergabe des Docker-Sockets an Vendoo
- genaue Anleitung: `docs/COOLIFY_PRODUCTION_1_41_0.md`

## Kontrollierte Web-Updates

- geschütztes natives Modul `vendoo.deployments`
- Coolify-Deploy-Webhook oder minimal berechtigter API-Token
- Coolify-Zugangsdaten AES-256-GCM-verschlüsselt im Secret Store
- exakte Administratorbestätigung `DEPLOY`
- verpflichtendes Vorab-Backup vor dem Deploymentauftrag
- GitHub-Repository, Produktionsbranch und Update-Kanal im Update Center
- kein selbstverändernder Container, kein `git pull`, kein Docker-Socket
- vollständiger Ablauf: `docs/WEB_UPDATE_CENTER_1_41_0.md`

## GitHub-, Merge- und Releaseprozess

- Entwicklung und Import ausschließlich über Release-Branches
- vollständiges Sicherheits-Staging mit `GitHub-Deploy-Assistent.bat`
- Pull Request und GitHub Actions vor jedem Merge
- empfohlenes `Squash and merge` nach `main`
- GitHub Release `v1.41.1` erzeugt Release-Artefakte und GHCR-Images
- GHCR-Tags: `1.41.1`, `1.41`, `stable` und `latest`
- genaue Klick-für-Klick-Anleitung: `docs/GITHUB_MERGE_RELEASE_1_41_0.md`

## Plattformstand

- 17 registrierte Module
- 15 native Module
- 2 transparente Legacy Bridges: System und Operations
- 38 vollständig aufgelöste Capabilities
- geschützte Kernmodule und kontrollierbare optionale Module
- `.vmod`-Import/Export, Quarantäne und Abhängigkeitssteuerung
- Theme-, Security-, Identity-, Catalog-, Media-, Publishing-, AI-, FLUX- und Quality-Module bleiben enthalten

## FLUX Studio

Für Coolify wird beim ersten Start gesetzt:

```env
VENDOO_INITIAL_DISABLED_MODULES=vendoo.flux-studio
LOCAL_IMAGE_ENABLED=false
```

FLUX Studio ist damit zunächst deaktiviert. Eine spätere bewusste Aktivierung über **Administration → Module** wird persistent gespeichert und nicht bei jedem Neustart wieder überschrieben.

## Einfachster Start

- **Windows lokal:** `setup.bat` starten und den geführten Assistenten verwenden.
- **Linux/NAS:** `chmod +x setup.sh && ./setup.sh`.
- **Coolify-Produktion:** GitHub-Repository per GitHub App anbinden, Dockerfile-Build wählen, Port `8124`, Domain und Volume `/app/data` setzen.
- **GitHub-Erstimport:** `GitHub-Deploy-Assistent.bat` starten, Sicherheitsbericht prüfen und erst danach `PUSH` eingeben.

## Sicherheit

- `.env`, Datenbanken, Uploads, Backups, Logs, Secret Store, Master-Key, installierte Module und lokale Updatearchive werden nicht committed.
- der Produktionscontainer besitzt keinen Docker-Socket.
- Coolify-Token und Deploy-Webhook werden nie im Klartext an den Browser zurückgegeben.
- Deployments benötigen `updates.manage`, CSRF-Schutz, Rate Limit, Audit und die Bestätigung `DEPLOY`.
- Updates löschen keine persistenten Daten.

---

## Vorheriger Stand 1.31.0

Vendoo 1.31.0 schafft die Grundlage für einen kontrollierten Mehrbenutzer- und Serverbetrieb. Rollen und Berechtigungen werden nicht nur in der Oberfläche, sondern an jeder geschützten API erzwungen. Artikelbearbeitung wird mit kurzlebigen Sperren koordiniert; Sitzungen, fehlgeschlagene Logins, Audit-Ereignisse und Rate Limits sind nachvollziehbar.

## Rollen

- **Administrator:** vollständiger Zugriff einschließlich Benutzer, Backups, Updates und Sicherheit.
- **Manager:** operative Verwaltung von Artikeln, Medien und Publishing, ohne Benutzer- oder Systemadministration.
- **Editor:** Artikel, Bilder, AI, FLUX, Bildproduktion und Qualitätsprüfung.
- **Publisher:** Artikel lesen, Qualität prüfen und Veröffentlichungen ausführen.
- **Leser:** reiner Lesezugriff.

## Sicherer Netzwerkbetrieb

Standardmäßig bindet Vendoo ausschließlich an `127.0.0.1`. Einen privaten LAN-Zugriff aktiviert der Installationsassistent nur nach bewusster Auswahl und setzt die erforderlichen Werte automatisch. Für öffentlichen Zugriff verwendet der VPS-Assistent den getrennten Caddy-Stack mit HTTPS; Port 8124 wird dabei nicht direkt veröffentlicht.

## Bestehende Funktionen

Alle Funktionen aus 1.30.0 bleiben enthalten: Operations Center, Publishing Hardening, Quality Center, Batch Image Factory, FLUX Studio Pro, Advanced Image Editor, Galerie und Browser-Extensions.

## Betriebszentrale (1.30.0)

Unter **Admin → System** stehen jetzt drei zusammenhängende Bereiche bereit:

- **Backup & Restore** mit SQLite-Snapshot, Datei-Prüfsummen, Integritätsprüfung, Download, Rotation und Wiederherstellungs-Staging
- **Update Center** mit Versionsprüfung, Paketvalidierung, Migrationsstatus, Sicherheitsbackup und bewusstem Offline-Anwenden über `setup.bat`
- **Extension-Diagnose** mit Paketversionen, Heartbeats, zuletzt verbundenen Browsern und Live-/Offline-Status

Update und Wiederherstellung ersetzen niemals während des laufenden Servers Dateien. Nach erfolgreicher Prüfung wird eine Operation vorbereitet und anschließend bei beendetem Vendoo über Setup-Menüpunkt 11 angewendet. Menüpunkt 12 stellt den zuvor gesicherten Programm- und Datenstand wieder her.

## Sicherheitsprinzipien

- Keine direkte Kopie einer geöffneten SQLite-Datei; Backups verwenden die SQLite-Backup-API.
- Jedes Backup enthält ein Manifest mit SHA-256-Prüfsummen und wird sofort geprüft.
- Eine Wiederherstellung erzeugt vorab automatisch ein vollständiges Sicherheitsbackup.
- Update-ZIPs mit `.env`, Datenbank, Uploads oder `node_modules` werden abgelehnt.
- Zugangsdaten aus `.env` werden nur nach ausdrücklicher Auswahl in manuelle Backups aufgenommen.
- Automatische Backups enthalten niemals `.env`.
- Update und Restore besitzen einen lokalen Rollback-Snapshot.

## Publishing Hardening (1.29.0)

- persistente Publishing-Queue für API- und Extension-Aufträge
- Schutz vor Doppelveröffentlichungen
- automatische Wiederholungen mit wachsendem Abstand
- Abbruch, manueller Retry und sichere Protokolllöschung
- Fehlerzentrale mit Audit-Ereignissen
- externe IDs, URLs und eBay Offer-IDs
- eBay Statusabgleich, Aktualisierung und Beenden über offizielle API
- Etsy Statusabgleich über offizielle API
- Vinted/Kleinanzeigen als bestätigungspflichtiger Extension-Workflow
- Wiederaufnahme laufender API-Aufträge nach Vendoo-Neustart
- geplante Veröffentlichungen werden an dieselbe gehärtete Queue übergeben

Vendoo 1.28.0 ergänzt die produktive **Batch Image Factory**. Mehrere Bilder aus der zentralen Galerie können in einem persistenten Auftrag über ein oder mehrere Produktionsprofile für Marktplätze, Webshops und Social Media verarbeitet werden. Ergebnisse bleiben nicht destruktiv, erscheinen wieder in der Galerie und lassen sich gesammelt als ZIP exportieren.

## Batch Image Factory (1.28.0)

- Hauptmenü **Bildproduktion** mit Quellenwahl aus der zentralen Bildergalerie
- Acht integrierte Ausgabeprofile sowie eigene speicherbare Profile
- Mehrfachprofile pro Auftrag und bis zu 200 Quellbilder
- Hintergrundentfernung, Sensitivität und Wasserzeichen als globale Auftragsoptionen
- persistente Job- und Positionshistorie mit Pause, Fortsetzen, Abbruch und Retry
- Wiederaufnahme nach Vendoo-Neustart
- nicht destruktive Ergebnisse unter `uploads/batch/`
- automatische Galerieintegration und ZIP-Export pro Auftrag


## Neu in 1.12.0

Der mobile QR-Upload bietet nun zwei eindeutige Wege: **Kamera öffnen** und **Mediathek auswählen**. Dadurch erzwingt das Smartphone nicht mehr ausschließlich die Kamera. Mehrere vorhandene Bilder können direkt gewählt werden; HEIC/HEIF werden nach Möglichkeit serverseitig zu JPG konvertiert.

OpenRouter wurde zusätzlich gehärtet: Vendoo erkennt Free-Bildmodelle präziser, prüft Bildinput-Fähigkeit, versucht mehrere kompatible Request-Formen und wechselt bei Fehlern automatisch zum nächsten Modell. Sind aktuell keine kostenlosen Bildmodelle vorhanden, zeigt die Diagnose das ausdrücklich an.

## Neu in 1.11.0

Der QR-Handy-Upload erzeugt jetzt automatisch Links mit der erkannten LAN-IP des Vendoo-PCs. Unter **Einstellungen → Vendoo LAN-Adresse für QR-Upload** kann die Adresse erkannt, geprüft und dauerhaft gespeichert werden. Die mobile Navigation wurde für Smartphone und Tablet komplett stabilisiert. Bei OpenRouter-Bildgenerierung versucht Vendoo automatisch mehrere passende Free-Modelle nacheinander und nutzt im Auto-Modus anschließend OpenAI als Fallback.

## Neu in 1.10.0

Vendoo unterstützt jetzt eine **AI-Job-Queue** für Bildgenerierung. Kleidung kann mit **1 bis 3** Varianten als **Model**, **Ghost Mannequin** oder **Flatlay** generiert werden. Im Listing-Editor gibt es zusätzlich eine **Historie früherer AI-Generierungen**, damit erzeugte Bilder schnell wiederverwendet werden können.

## Neu in 1.9.0

Die Einstellungen wurden um ein eigenes Steuerzentrum für **AI-Model-Fotos** erweitert. Dort lassen sich Provider, Free-Filter, Safety-Blocker, Standard-Preset, Variantenanzahl und das OpenAI-Fallback-Modell pflegen. Zusätzlich kann die UI die aktuell verfügbaren OpenRouter-Bildmodelle direkt laden und anzeigen.

## Neu in 1.8.0

Vendoo kann jetzt neben OpenAI auch OpenRouter für AI-Model-Fotos verwenden. Wenn `ai_model_photo_provider=auto` gesetzt ist und `OPENROUTER_API_KEY` vorhanden ist, fragt Vendoo automatisch aktuelle Bildmodelle von OpenRouter ab, filtert auf Bildausgabe und – sofern aktiviert – nur kostenlose Varianten. Gibt es kein passendes freies Modell mehr, fällt Vendoo sauber auf OpenAI zurück.

### Neue relevante Settings

- `ai_model_photo_provider`: `auto`, `openrouter`, `openai`
- `ai_model_photo_openrouter_free_only`: `1` oder `0`
- `ai_model_photo_openrouter_model`: optional feste OpenRouter-Model-ID
- `ai_model_photo_openai_model`: OpenAI-Fallback-Modell, Default `gpt-image-1`

### Neue ENV-Variablen

- `OPENROUTER_API_KEY`
- optional `OPENROUTER_SITE_URL`
- optional `OPENROUTER_APP_NAME`

## Neu in 1.7.0

Vendoo kann jetzt für geeignete Kleidungsstücke sichere AI-Model-Fotos erzeugen. Der Workflow prüft zuerst, ob ein Kleidungsartikel ohne Person vorliegt, blockiert sensible Kategorien und erstellt danach 1–3 zusätzliche Lifestyle-/Studio-Bilder mit fiktiven erwachsenen Personen oder alternative Ghost-Mannequin-/Flatlay-Varianten. Die Bilder lassen sich direkt in Generator und Listing-Editor übernehmen.


## Neu in 1.26.0

- Hauptnavigation mit **Neuer Artikel** direkt unter dem Dashboard und **Artikel** statt Listings
- repariertes Publish Center mit zuverlässigem Smart-Copy-Popup
- zoombare Medienvorschau mit Fit, 100 %, Mausrad und Verschieben
- kompakte lokale SVG-Iconbibliothek für Galerieaktionen
- aktualisierte Verkäufergebühren für eBay, Vinted, Kleinanzeigen und Etsy
- eigenes Extension Center für Chrome, Edge, Firefox und Safari

# Vendoo

Lokaler Multi-Plattform Listing-Generator mit AI, Lagerverwaltung und Publishing-System.

## Aktueller Entwicklungsstand

- Version: `1.39.0`
- UI-Slice: `UI 2026 / Slice 07 – Cross-Browser Extensions, Responsive UI & Mobile Upload`
- Startseite: `Studio Flow`
- Tech Stack: Node.js, Express (ESM), Vanilla JS, SQLite (`better-sqlite3`)

Die vollständige Funktionsbeschreibung steht in [`FEATURES.md`](FEATURES.md). Die freigegebene Designrichtung liegt unter [`MockupDesign/`](MockupDesign/). Der vollständige Listing-Editor ist in [`docs/FULL_LISTING_EDITOR_2026.md`](docs/FULL_LISTING_EDITOR_2026.md) dokumentiert.

## Lokaler Start

```bash
npm install
npm start
```

Danach ist Vendoo standardmäßig unter `http://localhost:8124` erreichbar.

## Wichtige Sicherheitsregel

Nicht versionieren oder weitergeben:

- `.env`
- `db/vendoo.db*`
- `uploads/`
- Backups und Logs
- API-Schlüssel, OAuth-Tokens und SMTP-Passwörter

Die bereitgestellte Projektversion enthält ausschließlich `.env.example` und keine produktiven Laufzeitdaten.

## Browser-Erweiterungen

Die aktuellen Erweiterungen liegen getrennt unter `extensions/chrome`, `extensions/edge`, `extensions/firefox` und `extensions/safari`. Über den Vendoo-Menüpunkt **Extensions** wird der aktive Browser erkannt, der Installationsordner geöffnet und der Pfad kopiert. Safari benötigt auf macOS zusätzlich Xcode und die mitgelieferte WebExtension-Konvertierung.

## Mobiler Foto-Upload

Im Generator und im Listing-Editor kann ein zeitlich begrenzter QR-Code erzeugt werden. Nach dem Scan können Fotos direkt vom Smartphone aufgenommen und ohne Neuladen an Vendoo übertragen werden. Für andere Geräte muss Vendoo über eine erreichbare LAN-IP oder `PUBLIC_BASE_URL` geöffnet sein; `localhost` funktioniert nur auf demselben Gerät.

## Browser-Erweiterung 1.4.0

Die Erweiterungen für Chrome, Edge und Firefox verwenden jetzt eine kompakte, aktionsorientierte Oberfläche. Die primäre Aktion **Nur ausfüllen** trägt ein Listing in das geöffnete Vinted-Formular ein, ohne einen Entwurf zu speichern und ohne eine Veröffentlichung auszulösen. Abschlussaktionen sind davon deutlich getrennt.


## Aktueller UI-Stand

Slice 10 ergänzt das interaktive Dashboard, den aufgeräumten Studio Flow, robuste Publish-Initialisierung, ZIP-Fotodownloads und erweiterte Responsive-Gates.


## Branding

Logo, App-Icons, mobile Größen und Favicons liegen unter `public/brand/`. Die Browser-Erweiterungen für Chrome, Edge und Firefox verwenden dieselbe Icon-Familie.


## Local FLUX / ComfyUI
Vendoo can now prefer a local image backend for AI model photos. The intended order is: **Local FLUX / ComfyUI -> OpenRouter Free -> OpenAI**.

### What was added
- Settings for local URL, token, workflow path and install path
- Backend-only access to the local image server
- PowerShell bootstrap via `setup.ps1` or Settings UI
- Token regeneration for restricted local access

### Default assumptions
- ComfyUI is reachable at `http://127.0.0.1:8188`
- Workflow file: `local-ai/workflows/vendoo_flux_schnell_api.json`
- Vendoo talks to the local server from the backend, not directly from the browser

> Note: the included workflow template is a bootstrap starter and may need adjustment to the exact ComfyUI / FLUX node setup on the target machine.


## Vollautomatische lokale FLUX-Installation

Vendoo kann ComfyUI Portable und optional FLUX.1-schnell FP8 direkt aus der Einstellungsseite oder über `setup.bat` installieren.

### Über die Benutzeroberfläche

1. **Einstellungen → AI-Model-Fotos** öffnen.
2. Als Provider `Auto` oder `Nur lokales FLUX / ComfyUI` auswählen.
3. Installationsoptionen wählen.
4. **Lokales FLUX installieren** anklicken.
5. Den Fortschritt direkt in Vendoo verfolgen.

### Über setup.bat

- `7` – lokales FLUX / ComfyUI installieren oder aktualisieren
- `8` – Status anzeigen
- `9` – lokalen Server starten
- `10` – lokalen Server stoppen

### Sicherheitsmodell

ComfyUI wird ausschließlich an `127.0.0.1:8188` gebunden. Der Browser greift nicht direkt auf ComfyUI zu; nur das Vendoo-Backend sendet Bildjobs. Standardmäßig werden Remote-URLs abgelehnt. Ein zufälliger lokaler Token wird zusätzlich in der `.env` gespeichert. Das schützt den Dienst vor Zugriff aus dem LAN, ersetzt aber keine vollständige Prozessisolation gegenüber anderer Software auf demselben Windows-PC.

### Große Downloads

Der Modell-Download ist optional und wird vor dem Start ausdrücklich bestätigt. Bereits vorhandene ComfyUI- oder Modelldateien werden nicht ohne `Force` überschrieben. Downloads und Installationsfortschritt werden protokolliert.


## FLUX installer status and recovery
The local FLUX installer now records a detailed, resumable state in `local-ai/install-state.json`. The settings page displays individual checks for 7-Zip, the ComfyUI archive, embedded Python, ComfyUI, the FLUX model, workflow and runtime scripts. Failed installations can be started again without blindly discarding complete downloads.

The PowerShell 5.1 path bug that could turn `C:\Program Files\7-Zip\7z.exe` into the command `C` has been fixed.


## FLUX installer status hotfix (1.14.2)
The local FLUX installer now supervises 7-Zip instead of waiting without feedback. During extraction Vendoo shows files, extracted MB, elapsed time, heartbeat and the current 7-Zip log. A stale installer is marked as **stalled** and can be resumed without downloading the complete ComfyUI archive again.

## FLUX Studio ab 1.21.0

Vendoo enthält einen eigenen Hauptmenüpunkt **FLUX Studio**. Dort werden Bilder ausschließlich aus freien Prompts über das lokale ComfyUI/FLUX erzeugt. Einstellbar sind Stil, Ausgabeformat, Seed und Inferenzschritte. Ergebnisse werden in einer lokalen Bibliothek gespeichert, können heruntergeladen, in den Listing-Generator übernommen oder mit dem integrierten Editor nachbearbeitet werden.

Der frühere FASHN-/Virtual-Try-on-Stack wurde vollständig aufgegeben. Es werden kein Python-, Torch-, ONNX- oder separater VTO-Dienst mehr installiert. Beim ersten Start des aktualisierten Setups werden alte VTO-Runtime, Autostarts und Einstellungen entfernt; eigene frühere Modelbilder werden zur Sicherheit nach `uploads/ai-generated/legacy-models` verschoben.

### Update
1. Vendoo schließen.
2. Paketinhalt über die bestehende Installation kopieren und Dateien ersetzen.
3. `setup.bat` starten und **Reparieren** ausführen.
4. Vendoo starten und den Menüpunkt **FLUX Studio** öffnen.
## FLUX Studio Pro ab 1.22.0

Slice 30 erweitert das reine Prompt-Studio zu einem persistenten Job-Center. Aufträge können 1, 2 oder 4 Varianten mit eigenen Seeds erzeugen. Seed Lock, Wiederholen, „Ähnlich erneut erzeugen“, Favoriten, Queue-/History-Anbindung, System-/GPU-Daten und Wiederaufnahme nach Vendoo-Neustart sind integriert.

Die Fortschrittsanzeige verwendet im FLUX-Studio-Pro-Pfad ausschließlich reale Phasen und verstrichene Laufzeit. Es werden keine Prozentwerte aus einer angenommenen Renderdauer errechnet.

### Update auf 1.22.0

1. Vendoo und ComfyUI-Fenster schließen.
2. Den Inhalt des Paket-Unterordners `vendoo` über die bestehende Installation kopieren und Dateien ersetzen.
3. Den bestehenden Zielordner und Laufzeitdaten nicht löschen.
4. `setup.bat` starten und **3 – Update** ausführen.
5. Bei Bedarf **9 – Lokales FLUX / ComfyUI starten**, danach **8 – Status** prüfen.
6. Vendoo starten und FLUX Studio öffnen.



## Artikel Quality Center

Vendoo 1.28.0 prüft Artikel vor dem Publishing auf Blocker, Vollständigkeit, Bildqualität, mögliche Duplikate und Plattformtauglichkeit. AI-Verbesserungen werden nur als Vorschlag angezeigt und erst nach ausdrücklicher Bestätigung gespeichert.

## Installationsziel wählen (1.36.0)

`setup.bat` führt auf Windows durch lokale Node-Installation oder Docker Desktop. Für Linux, NAS, Portainer und VPS steht `setup.sh` bereit. Beide Wege verwenden dieselbe `.env`, dieselben Compose-Dateien und dieselben persistenten Datenbereiche.

