${esc(c.notes)}
`:''}Kalender · 7 Tage
Aufgaben
KI Kanban
Einkaufsliste
Essensplanung
Rezepte
Erinnerungen
RAG Memory
Wake Protocol
Wake-Word aus. Jeder Modul-Button und der globale Voice-Core starten Push-to-talk.
+$1').replace(/\n/g,'${esc(fmtDay(parseDate(ev.start)))} · ${esc(ev.allDay?'Ganztägig':fmtClock(ev.start))}${ev.location?' · '+esc(ev.location):''}
`:'Keine TermineDein Kalender ist frei.
'; + const task=tasks[0],taskEl=$('#cleanNextTask');if(taskEl)taskEl.innerHTML=task?`${esc(task.title)}${task.priority==='high'?'Hohe Priorität':'Offen'}${task.due?' · '+esc(fmtTime(task.due)):''}
`:'Keine offenen AufgabenDu bist auf dem aktuellen Stand.
'; + const meal=nextMeal,mealEl=$('#cleanNextMeal');if(mealEl)mealEl.innerHTML=meal?`${esc(meal.title||meal.recipeTitle||'Geplante Mahlzeit')}${esc(fmtDay(parseDate(meal.date)))} · ${esc(mealName(meal.meal))}${meal.servings?` · ${meal.servings} Portionen`:''}
`:'Noch nichts geplantPlane eine Mahlzeit für heute oder morgen.
'; + const sys=state.system||{},ollama=sys.ollama||{},voice=sys.voice||{};if($('#cleanCoreQuick'))$('#cleanCoreQuick').textContent=ollama.chatReady===false?'Nicht bereit':String(ollama.model||sys.model||'Lokal');if($('#cleanRagQuick'))$('#cleanRagQuick').textContent=Number(sys.ragChunks||0)?`${sys.ragChunks} Chunks`:'Leer';if($('#cleanVoiceQuick'))$('#cleanVoiceQuick').textContent=voice.sttReady?'Bereit':'Setup';if($('#cleanModelStatus'))$('#cleanModelStatus').textContent=ollama.chatReady===false?'Modell fehlt':String(ollama.model||sys.model||'Online'); +} +function renderBrief(){const start=new Date();start.setHours(0,0,0,0);const until=new Date(start);until.setDate(until.getDate()+7);$('#briefEvents').textContent=(state.events||[]).filter(e=>{const d=parseDate(e.start);return d&&d>=start&&d${esc(c.notes)}
`:''}${esc(r.description||`${(r.ingredients||[]).length} Zutaten · ${(r.steps||[]).length} Schritte`)}
Dein Zuhause, Termine und Aufgaben auf einen Blick.
Jarvis synchronisiert gerade deinen lokalen Home-State.
Dein Kalender ist frei.
Du bist auf dem aktuellen Stand.
Plane eine Mahlzeit für heute oder morgen.
Wake-Word aus. Jeder Modul-Button und der globale Voice-Core starten Push-to-talk.
+