Skip to content

v0.2.65 — Welcome Wizard, ElevenLabs, /load & /help redesign

Choose a tag to compare

@KevRojo KevRojo released this 13 May 23:18
· 512 commits to main since this release

✨ Highlights

🆕 First-run welcome wizard

  • New welcome.py + soul.py — pip install dulus && dulus ahora corre un
    wizard de 30 segundos: pregunta tu nombre, provider/model favorito, API key,
    e inicializa MemPalace + siembra soul.md desde el CREATOR_BLOCK baked en
    código.
  • Wizard solo aparece en first-run (no hay ~/.dulus/config.json). Skippable
    con Enter en cada paso.

🎙 ElevenLabs TTS provider

  • pip install dulus[voice] ahora incluye elevenlabs>=1.0.0.
  • Default voice "Roger" (cambiable via /config elevenlabs_voice_id=...).
  • Eager-import en daemon thread al boot — primer /say baja de ~40s → 1.6s
    (pydantic v2 + sys.modules scan era el culpable).
  • /tts provider ahora acepta elevenlabs y edge.

📋 /load redesign — day-grouped pagination

  • Sesiones agrupadas por día, 7 por día visibles (con contador "+N more").
  • Selección con syntax *D*S (ej. *1*3 = día 1, sesión 3).
  • Multi-pick + merge: *1*3,*2*7,*6*9.

📖 /help Mr-Robot style

  • 7 páginas categorizadas (Core · Session · Memory · Skills/Plugins · Voice ·
    Web/Cloud · Advanced).
  • Cada page re-renderiza con ANSI clear + toggle status footer.
  • /help vía Telegram bridge → render plano (sin pagination).

🎤 Wake-word polish

  • /wake feedback [on|off] — off = solo beep, sin TTS reply.
  • WSL-friendly beep — fallback cross-platform vía sounddevice synth.
  • Fix double-load del modelo Whisper (double-checked locking).
  • Local Whisper preferido sobre Riva cloud (Riva estaba starving TLS calls).
  • /voice status ahora reporta el backend y modelo reales.

💾 Session hygiene

  • Auto-save gateado a ≥20 turns (MIN_AUTO_SAVE_TURNS). Sesiones cortas
    ya no llenan el daily folder de basura.
  • /exit → si dices "Y" a consolidate, force-save explícito sin importar
    longitud.
  • voice_lang ahora persiste a config (era global en memoria).

🎭 Personalization

  • context.py system prompt usa {user_name} desde config (default KevRojo).
  • Composio plugin: kevrojo_falcon → dulus_user (17 spots).
  • Cross-OS path cleanup en dulus_tools/export_import.py.

🔧 Other fixes

  • /wake feedback agregado al autocomplete de /wake.
  • Whisper warm-up dummy transcribe() removido (movido a background prewarm).
  • Background prewarm separa STT (wake) y TTS (elevenlabs) triggers — no carga
    Whisper si solo TTS está on.

📊 By the numbers

  • 16 commits desde v0.2.62
  • Soul system + welcome = ~270 nuevas líneas
  • /help redesign = ~120 líneas categorizadas
  • ElevenLabs integration = ~150 líneas en voice/tts.py