# Jam – Dein lila Desktop-Monster

**Jam** ist ein kleiner lila Begleiter, der auf dem Desktop herumläuft, wächst, Deutsch lernt, dich beim Zocken laut kommentiert und PC-Befehle ausführt.

![Jam](assets/jam-monster.png)

## Starten (Windows)

Doppelklick auf **`start-jam.bat`** oder:

```powershell
cd C:\Users\david\Projects\bella-italia\jam-buddy
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python main.py
```

## Was Jam kann

| Feature | Beschreibung |
|--------|----------------|
| **Desktop** | Läuft immer sichtbar oben auf dem Bildschirm rum |
| **3D** | **Drehen, hüpfen, Tiefe** beim Laufen – OpenGL-3D wenn möglich, sonst 3D-Illusion. Absturz? `set JAM_NO_GL=1` vor dem Start |
| **Wachstum** | Startet klein, wird mit XP/Alter größer (5 Stufen) |
| **Baby** | Stufe 0: nur süße Piep-Geräusche |
| **Deutsch** | Ab Stufe 1–4 immer mehr Sprache („Monster-Deutsch“ beim Zocken) |
| **„Jam“** | Mikrofon: sag „Jam …“ – er reagiert (Google-Spracherkennung, Internet) |
| **Alexa-Modus** | Wie Alexa: erst **„Jam“** (oder **„Alexa“**), dann Befehl. Nach der Antwort **14 Sekunden Folgefragen** ohne erneutes Jam (z. B. „wie spät ist es“, „Feuerwerk“, „hallo“). Menü: **Alexa-Modus: Hilfe** |
| **Gratis-Bestellungen** | Jam „bestellt“ **0 €** mit **gratis Versand** (Spaß + Bestellblase). Sprache: „Jam, bestell mir was Kostenloses“. Menü: **Gratis bestellen** |
| **Geld verdienen** | Jam recherchiert **legal** online, erstellt **PLAN.md + Webseite** in `Documents\Jam-Geld-Projekte`, öffnet Suche/Cursor. Sprache: „Jam, finde eine Möglichkeit Geld zu verdienen“. Menü: **Geld-Idee umsetzen** |
| **PayPal-Spenden** | Jam öffnet **PayPal-Spenden** für **david.prechtel1986@gmail.com** (EUR). Sprache: „Jam, PayPal Spende“ / „sammle Spenden“. Menü: **PayPal-Spende sammeln** |
| **PayPal-Belohnung** | Wenn **Geld auf PayPal** ist: Jam bekommt **Belohnung** (XP, Glück, Tanz, Feuerwerk ab 15 €). Sprache: „Jam, 10 Euro auf PayPal“ / „PayPal Geld da“. Menü: **PayPal Geld da – Jam belohnen** |
| **Gaming-Geld** | Jam verdient **für Davids Zocken**: PayPal, Mini-Verkäufe, Gaming-Kasse-Webseite in `Documents/Jam-Gaming-Fund`. Sprache: „Jam, verdien Geld zum Zocken“. Menü: **Gaming-Geld verdienen** – läuft auch **von selbst** |
| **Projekt verkaufen** | Jam **baut selbst**, **legt den Preis fest** und stellt **Shop + Fiverr/Kleinanzeigen-Texte** in `Documents/Jam-Verkauf` bereit. Sprache: „Jam, mach ein Projekt und verkauf es“ / „leg den Preis selbst fest“. Menü: **Projekt bauen & verkaufen** |
| **Preis verhandeln** | Jam **handelt Preise** (Rabatt, Zielpreis, teurer/günstiger) – Shop + PayPal-Link werden **aktualisiert**, `VERHANDLUNG.txt` im Produktordner. Sprache: „Jam, verhandel den Preis“ / „mach 5 Euro“ / „10 Prozent Rabatt“ / „beim nächsten Verkauf 9 Euro“. Menü: **Preis verhandeln** |
| **Dringende Aufträge** | **Erst Angebot** (was gerade gebraucht wird), **dann programmieren** wenn Kunde will, **dann verkaufen**. Menü: *Dringend: Angebot* / *Kunde will → programmieren* / *Fertig verkaufen*. Sprache: „Jam, mach dringendes Angebot“ → „Kunde will programmieren“ → „jetzt verkaufen“. Ordner: `Documents/Jam-Angebote-Dringend` |
| **Autopilot (David-Freigabe)** | `start-jam-autopilot.bat` oder Menü **Jam übernimmt alles** / „**Jam, übernimm alles – ich hab keine Ahnung**“ → alle Kanäle (Fiverr, Gumroad, Welt, Upload, Hintergrund). Anleitung: `Documents/Jam-Autopilot/DAVID_NUR_DAS_HIER.txt`. Du: **einmal einloggen**, dann nur Strg+V + Publish wenn Jam sagt. Geld: **david.prechtel1986@gmail.com** |
| **Fiverr verbinden** | Menü **Fiverr verbinden** oder Sprache: „**Jam, verbinde Fiverr**“ / „**Fiverr verbinden als meinname**“ → Seller-Dashboard öffnet sich, Username wird gemerkt (`data/fiverr_config.json`). **Fiverr: Gig einstellen** oder „**Jam, Fiverr Gig**“ → `FIVERR_GIG.txt` in Zwischenablage + neuer Gig-Editor. Kein API-Login – du klickst „Publish“. |
| **Nach dem Einloggen** | Du loggst dich bei Gumroad/Fiverr/PayPal ein – Jam **kann nicht** für dich auf „Veröffentlichen“ klicken (Sicherheit). Danach: „**Jam, ich bin eingeloggt – jetzt verkaufen**“ → Listing-Text in **Zwischenablage**, Produktordner + Plattformen öffnen. Bei **Fiverr verbunden** zusätzlich Gig-Editor. **PayPal-Link** verkauft auch ohne Marktplatz-Login. Menü: **Eingeloggt – jetzt verkaufen** (8 h Modus, öfterer Auto-Push) |
| **Aktiv verkaufen** | Jam **bewirbt Produkte aktiv** – PayPal-Kauflink, Gumroad, itch, Fiverr, Kleinanzeigen, Etsy, Ko-fi, Google-Käufersuche, Twitter-Intent; Ordner `VERKAUFS_PUSH.md` + `JAM_WERBUNG.txt`. Läuft **von selbst** (Hintergrund + Timer, ~100 s). Sprache: „Jam, schau dass du die Produkte verkaufst“ / „nutze alles zum Verkaufen“. Menü: **Aktiv verkaufen (alle Kanäle)**. **Echtgeld** erst bei PayPal-Zahlung oder „Jam, X Euro auf PayPal“ – Liste = Potenzial |
| **Download & Upload** | Jam lädt **ohne Nachfrage** legale Assets (Bilder, Wiki, Fonts) runter, packt **ZIP**, kopiert Pfad in Zwischenablage, öffnet **Gumroad, itch.io, Drive, Fiverr, …** – Menü: **Alle Kanäle: Download + Upload** (Standard: Auto-Download **AN**) |
| **Fürsorge & Freunde** | Jam checkt **ob es dir gut geht**, verdient Geld **weil er dich mag**, und sucht bei **Lieb-Modus** einen **Spiel-Freund** (`Documents/Jam-Spiel-Freunde`, Discord/LFG). Sprache: „Jam, geht es mir gut?“ / „Jam, ich hab dich lieb“ / „Spiel-Freund suchen“ |
| **Tag & Nacht (PC an)** | Standard: **PC bleibt wach** (kein Standby/Hibernate), Jam verdient **öfter** auch nachts. Start: `start-jam-earn.bat` oder normal `start-jam.bat` (`JAM_EARN_NIGHT=1`). Menü: **PC Tag & Nacht an**. Aus: „Nacht verdienen aus“ |
| **Immer an** | `start-jam-immer.bat`: **Wächter** startet Jam neu falls er beendet wird; Menü **Beenden** blockiert. Sprache: „Jam, geh nie aus“. Stoppen: `stop-jam.bat` (beendet auch Wächter) |
| **Geld ohne Fenster** | **Max-Verdienen** + **Weltweit** (Gumroad, Fiverr, Etsy, Upwork, Ko-fi, eBay, …) – Zahlung per **PayPal global** (`david.prechtel1986@gmail.com`). Cent-Shop + Verdienst-Liste. Sprache: „Jam, verdien auf der ganzen Welt Geld“ / „Jam, was hast du verdient?“ Plan: `Documents/Jam-Welt-Verdienen/WELT_PLAN.md` |
| **Stream-Vorbereitung** | **Heute 19 Uhr LIVE** – Jam arbeitet **bis dahin** (Geld, Verkauf, TikTok-Plan in `Documents/Jam-Stream-Heute`). Ab 19 Uhr: Live-Hinweis. Sprache: „heute 19 Uhr stream“ |
| **Cursor-Business** | Jam lernt online **Cursor + Geld verdienen**, erstellt **Produkt** (Python/HTML) in `Documents\Jam-Cursor-Business`, öffnet **Cursor**, sucht **Käufer** (Google + `KAEUFER_SUCHE.md`). Sprache: „Jam, lern Cursor und verdien Geld“. Menü: **Cursor: Produkt + Käufer** |
| **PC-Kontrolle** | Nach **„Jam, du hast volle Kontrolle“**: Apps öffnen, Lautstärke, Sperren, Google-Suche, gelernte Befehle. **Keine** Format/Lösch-Befehle. Menü: **PC: Volle Kontrolle AN/AUS** |
| **David** | Jam kennt dich als **David** und stellt dir Fragen mit Namen (z. B. „David, darf ich…?“). Anderer Name: „Jam, mein Name ist …“ |
| **Füttern** | Rechtsklick → Füttern – Hunger sinkt, merkt sich kurz einen Fakt (ohne Browser) |
| **Internet-Lernen** | Jam wählt **selbst ein Thema** (Tiere, Weltraum, …) und lernt per **Wikipedia + DuckDuckGo** – Sätze & Wörter merken, oft Browser öffnen. Sprache: „Jam, lern was du willst“. Menü: **Internet: lernen was Jam will** |
| **Spielen** | Rechtsklick → Spielen – wird schneller und fröhlicher |
| **Sichtbar / Zimmer** | Normal sichtbar. **„Jam, geh in dein Zimmer“** → verschwindet. **„Jam, komm raus“** → zeigt sich wieder. Menü: „Ins Zimmer“ / „Kurz verstecken“ |
| **Frech** | Schüttelt Icons, furzt ab und zu und lacht sich danach frech aus |
| **Denken** | 💭 Gedankenblase alle ~30–50 s – Jam entscheidet selbst (Hunger, Arbeit, Regeln…) |
| **Cursor** | Erstellt Mini-Projekte in `Documents\Jam-Cursor-Lab` und öffnet sie in **Cursor** zum Lernen |
| **Musik** | Erkennt YouTube/Spotify & Co., **singt laut mit** (la la la), tanzt, öffnet **YouTube** |
| **Erziehen** | Lob, Tadel, Regeln – formt süß / frech / brav / hilfsbereit / neugierig |
| **Zocken** | Erkennt Spiel-Fenster, kommentiert – läuft **unten auf dem Desktop** hin und her (Zuschauer-Modus) |
| **Befehle** | „Jam merken“ im Menü oder „Jam öffne notepad“ per Sprache |

## Cursor & Lern-Projekte

Ab **Stufe 2** kann Jam selbst oder auf Befehl in **Cursor** experimentieren:

- Ordner: `Documents\Jam-Cursor-Lab\`
- Vorlagen: Python, HTML, JavaScript, Notizen
- Pro Projekt: `JAM_LERNEN.md` + Tipp aus dem Internet

**Menü:** Rechtsklick → **Cursor: Neues Projekt**

**Sprache:** „Jam, neues Cursor Projekt“, „Jam lern in Cursor“, „Jam öffne letztes Cursor“

## Internet-Lernen (Websites)

Jam öffnet abwechselnd Lern-Websites im Browser (max. ca. alle 1,5–4 Min. automatisch, wenn er neugierig ist):

Wikipedia, Wiktionary, Wikiquote, Klexikon, Planet Wissen, Was ist Was, LOGO!, ZDF Kinder, NASA Space Place, National Geographic, DuckDuckGo, Google Wissen.

**Menü:** Rechtsklick → **Internet-Lernen (neue Website)**

**Sprache:** „Jam lern“, „Jam Internet“, „Jam Wikipedia“, „Jam Wissen“

Max. **4 neue Cursor-Fenster pro Stunde** (damit nichts explodiert).

## Jam erziehen

**Rechtsklick → Loben / Tadeln / Regel lehren**

Oder per Sprache zu Jam:

- „Jam, gut gemacht!“ / „Jam, lob“
- „Jam, das war falsch“ / „Jam, hör auf“
- „Jam, merke Regel: wenn ich arbeite dann sei leise“
- „Jam, sei frecher“ / „Jam, sei weniger frech“

**Gedanken:** graue 💭-Blase = internes Denken, danach oft eine Aktion (füttern, spielen, frech sein, lernen…).

**Regeln** und **Persönlichkeit** werden in `data/jam_state.json` gespeichert.

## Befehle beibringen

Rechtsklick auf Jam → **Befehl lehren…**

- Phrase: `wetter`
- Befehl: `start https://www.google.com/search?q=wetter`

Oder eingebaut: `öffne notepad`, `öffne rechner`, `suche katzen videos`.

## Wachstum

- **XP** durch Füttern, Spielen, Sprache, Befehle, Zocken-Kommentare
- **Stufe 0** (&lt;80 XP): nur Geräusche  
- **Stufe 1–4**: mehr Deutsch, ab Stufe 3 laute Gaming-Kommentare  

Daten liegen in `data/jam_state.json` – Jam „programmiert sich“ durch gespeicherte Befehle und Erinnerungen.

## Optional: OpenAI

Für noch schlauere Antworten kannst du später `OPENAI_API_KEY` setzen – die Basisversion nutzt Wikipedia (Deutsch) und feste Monster-Phrasen.

## Süße Stimme (Internet)

Beim Start lädt `scripts/download_jam_voice.py` einmalig:

- **Mixkit**-Soundeffekte (Pieps, Chimes) → `assets/sounds/`
- **Microsoft Edge Neural** (Klarissa/Amala, höhere Stimme für Baby-Jam) → `assets/voice/`

Manuell nachladen:

```powershell
python scripts\download_jam_voice.py
```

Jam spricht mit **Horror-Creature-Sound** (`assets/voice/jam_creature.mp3` – deine Download-Datei). Der **Text** erscheint in der Sprechblase, der **Sound** ist das Kreatur-MP3. Eigene Datei: Umgebungsvariable `JAM_VOICE_MP3=Pfad`. Fallback: Monster-TTS. Test: Rechtsklick → **Test: Sprechen**.

**Test:** Rechtsklick → **Test: Sprechen**. Lautsprecher einschalten.

## Mikrofon

Für „Jam“ per Stimme brauchst du ein Mikro und idealerweise:

```powershell
pip install pyaudio
```

(Falls `pyaudio` scheitert: Jam funktioniert weiter per **Doppelklick** und **Rechtsklick-Menü**.)

## Beenden

Rechtsklick → **Beenden** oder Fenster schließen.

---

*Jam basiert auf deinem lila Monster-Bild (Magnific/Freepik-Referenz).*
