Der Weg von der Box in die IDE endete bisher am Repo: der Commander klont es,
oeffnet Zed/OpenCode — und der Agent weiss nicht, dass hier bereits ein
gehaertetes Konzept liegt. Ohne Anleitung plant er entweder neu (projekt-start
springt an) oder fragt ins Blaue.
- client/ide-skills/projekt-uebernehmen/SKILL.md (Quelle im Repo, installiert
nach ~/.agents/skills/ — dort liegen die uebrigen PC-Skills, OpenCode 1.18
laedt von dort). Ablauf: einlesen (Konzept/Roadmap/Savepoint + git-Stand) ->
3-6 blockierende Fragen MIT Empfehlung -> Etappe-1-Plan -> "los" -> bauen,
Savepoints, live testen. Zwei Abbruch-Faelle: schon Code da (dann Fortsetzung
nach SAVEPOINT) und nur KONZEPT.md ohne ROADMAP (das ist ein geprueftes
Ideen-Repo -> Hinweis auf "Gefaellt mir - Projekt daraus machen").
Modus-Wechsel ist Teil des Skills: lesen/fragen im Planer, bauen im Coder.
- deploy/projektstart-SOUL.md: die von der Box erzeugte AGENTS.md nennt den
Skill jetzt woertlich. AGENTS.md wird automatisch als Kontext geladen — das
ist der zuverlaessige Kanal; auf spontane Skill-Wahl ist bei den lokalen
Modellen kein Verlass (nachgemessen: heavy und coder greifen bei einem vagen
"ich moechte hier loslegen" NICHT von selbst zum Skill).
- ~/.agents/skills/projekt-start/SKILL.md (ausserhalb des Repos) bekam eine
Abgrenzungszeile: nicht nutzen, wenn KONZEPT.md + ROADMAP.md schon liegen.
Sonst plant er ein vorbereitetes Projekt neu.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Der erste Live-Lauf der Lucy-Annahme (wartung/pc-annahme-und-turncheck-aus) fand
zwei Bugs im Box-Runner — der Build selbst war gruen, nur Start und Abschluss
mussten manuell nachgezogen werden:
1) Start-Process -ArgumentList quotet Elemente NICHT (PS 5.1): der Runner-Pfad
'F:\Coding Stuff\lucy\...' zerbrach am Leerzeichen, die gespawnte powershell
starb still (kein Status, kein Log). Fix: Anfuehrungszeichen ins -File-Element
eingebettet. (Der Probe-Test lief ueber einen Pfad OHNE Leerzeichen — deshalb
nicht gefangen.)
2) Poll-Parser: \" in f-String-Ausdruecken ist seit Python 3.12 ein SyntaxError
(Box: 3.14) -> der Poll blieb blind und haette den GRUENEN Merge nach 25 min
revertiert. Fix: keine f-String-Quote-Akrobatik mehr, Werte in Variablen.
Neuer Parser 1:1 auf der Box getestet.
3) executor.py /shell: CREATE_NO_WINDOW — der Executor laeuft unter pythonw,
jede gespawnte powershell bekam ein SICHTBARES Konsolenfenster (Polling
blitzte im 10-s-Takt auf dem Desktop). Nach Annahme: PC-Checkout pullen +
HermesPCExecutor-Task neu starten (mache ich, steht auch in FALLEN.md).
Beide Fallen + Fensterblitz in docs/wissen/FALLEN.md; OFFENE-FAEDEN: S3-Stand.
Geprueft: bash -n gruen, py_compile gruen, Parser auf Box-Python 3.14 verifiziert.
Der v0.18-Security-Scan flaggt schemenlose URLs (wttr.in/... = MEDIUM) -> Approval-Umweg;
dazu hing ein wttr.in-curl 31s ohne Timeout. Beides ist Prompt-steuerbar.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
User-Feedback 'sehr langsam' diagnostiziert (voice_metrics): (1) zwei App-Instanzen liefen
parallel (Dev-Instanz vergessen — beendet), (2) Semantik-Hold hielt echte Saetze auf.
- useVAD: warten NUR noch bei sehr sicherem 'unfertig' (P(fertig) < 0.15 statt < 0.5),
max. eine Warterunde pro Aeusserung, HOLD 1,8s -> 1,2s, Not-Aus localStorage
lucy_turncheck=0, Entscheidung wird bei lucy_perf=1 geloggt (fuer echtes Nachtunen)
- voice_service: Smart Turn beim Start vorwaermen (Probe-Inferenz auf Stille) — der
3,3s-Kaltstart traf sonst den ersten gesprochenen Satz; deployt + verifiziert (0,16s)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- voice_service /turn: smart-turn-v3.2 (8MB ONNX, ~110ms warm inkl. Features); Audio muss
LINKS gepadded werden (rechts-Padding -> konstant 'complete', live diagnostiziert) und
der Output ist empirisch P(unfertig) — Doku sagt es andersherum, Messung gewinnt
- backend /api/voice/turn: Proxy mit fail-open (Turn-Check ist Optimierung, kein Blocker)
- useVAD: Semantik-Hold — bei 'incomplete' bis 1,8s auf Fortsetzung warten und anhaengen,
statt mitten im Gedanken zu antworten; Deckel 30s; fail-open bei Netzfehlern
- Verifiziert: fertig=true(0.74), mitten-im-Wort=false(0.04), via :9001 ok
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Mauszeiger-Verfolgung: Hoch/Runter war invertiert -> Vorzeichen fuer Augen + Kopf/Nacken gedreht
- Performance: animierten filter:blur (Aurora) entfernt, dpr auf [1,1.5] gedeckelt,
Partikel auf eine Ebene reduziert (Ruckeln gemeldet)
- (visuelle Abnahme durch User steht noch aus)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Mauszeiger-Verfolgung: Main pollt globalen Cursor (screen.getCursorScreenPoint), Renderer richtet
Augen (lookAt-Offset in Kamera-Achsen) + dezent Kopf/Nacken danach aus
- Antippen/Streicheln: Klick auf den Avatar -> kurze freudige Reaktion (Laecheln + Kopf-Wackeln)
- Ziehen: im Overlay ist der Avatar eine Drag-Region (am Koerper greifen -> Fenster verschieben),
Kamera-Drehung (OrbitControls) im Overlay aus; Blasen/Knoepfe bleiben no-drag
- neue IPC-Events: lucy:cursor (+ preload onCursor)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Chat:
- react-markdown/remark-gfm: Lucys Antworten formatiert (fett/listen/inline-code)
- Code-Bloecke mit Kopier-Knopf; Links oeffnen im System-Browser (shell.openExternal via IPC)
- Kopier-Knopf pro Antwort (Hover)
- Persona erlaubt Code/Links SCHRIFTLICH auf Nachfrage; Stimme liest nur kurze Einleitung (cleanForTTS filtert)
Digitaler Raum:
- driftendes Aurora-Licht + schwebende Partikel (2 Parallax-Ebenen) + Vignette ueber dem Neon-Gitter
- reine CSS-Animation (GPU), im Overlay weiter ausgeblendet
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- alle ~20-35s ein Einmal-Clip (Strecken/Umschauen), dann zurueck in die Ruhe
- bricht sauber ab, sobald zugehoert/gedacht/gesprochen wird
- kurze passende Mimik (Laecheln beim Strecken)
- (visuelle Abnahme durch User steht noch aus)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- @pixiv/three-vrm-animation: VRMA-Clips laden/abspielen (AnimationMixer)
- Ruhiger prozeduraler Leerlauf als Basis; echte Thinking-Pose blendet beim Nachdenken ein
- (.vrma sind Gesten, kein Ruhe-Loop -> nicht als Dauerschleife; Einmal-Einschuebe folgen)
- Blick-Sakkaden gegen eingefrorenes Gesicht
- VRMA-Clips: tk256ailab/vrm-viewer (MIT), siehe public/vrma/ATTRIBUTION.md
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Lippensync: spektraler Schwerpunkt -> aa/ih/ou-Mundformen statt nur Pegel ("Mund auf/zu")
- Augen blicken auf weit entfernten Punkt in Kamerarichtung -> kein Konvergenz-Schielen bei naher Kamera
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
executor.py erzwingt jetzt HERMES_PC_TOKEN auf allen Steuer-Endpunkten
(/shell,/screenshot,/type,/key,/open,/search), fail-closed (503) wenn kein
Token gesetzt ist; /health bleibt offen für den Reachability-Check. CORS-
Wildcard entfernt, Bind-Host konfigurierbar (HERMES_PC_HOST). mcp_pc.py sendet
PC_EXECUTOR_TOKEN als Authorization-Bearer mit.
Schließt die unauthentifizierte Remote-Code-Execution auf dem Windows-PC
(host=0.0.0.0, kein Token) — Teil von Stufe 0 (Security) des Stack-Reviews.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
mcp_mc.py: 7 -> 23 Tools (hf_search/quants, install/delete/load/unload_model,
set_model_role, list_jobs, cancel_job, list_services, backup_now, list_backups,
token_stats, check_updates, apply_update, service_logs). Hermes kann den Stack jetzt
vollständig steuern (alles was die MC2-UI kann).
executor.py: _ensure_streams() — unter pythonw (kein Konsolenfenster, für
Scheduled-Task-Autostart) sind sys.stdout/stderr=None und uvicorn-Logging crasht
beim Start. Jetzt Umleitung auf %LOCALAPPDATA%\HermesPCExecutor\executor.log.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
client/hermes-agent/ war ein veralteter Eigenentwicklungs-Daemon (Port 8765),
der durch hermes-gateway (NousResearch) + mcp_pc.py ersetzt wurde.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Windows-Desktop-Script: Energy VAD + Whisper Wake Detection,
faster-whisper STT, mss Screen Capture, MC2 Vision/Chat API,
Edge TTS Ausgabe, pystray System Tray. Kein Account nötig —
Wake Word frei konfigurierbar via WAKE_WORDS in config.py.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>