Skip to content

0.1.38

Choose a tag to compare

@db-aeon db-aeon released this 30 Jul 16:58
· 14 commits to main since this release

Deterministic passphrase-lock voice prompts: locked PSTN calls are voiced from pre-rendered clips in the box voice, not by the speech-to-speech model (which paraphrased rejections as "Unlocked"). Clips live in a dedicated joshu_voice_clips volume and heal on voice-realtime startup.

Highlights

Deterministic lock prompts

  • Fixed lock lines (greeting, retry, unlock, hang-up, session timeout) are rendered ahead of time via Gemini/OpenAI TTS in the box Joshu voice
  • While locked, the model is muted — it still hears the caller for passphrase transcription, but nothing it generates reaches them
  • Partial clip sets keep the old model-spoken fallback rather than risk a silent call
  • ensureLockPromptClips() runs when voice-realtime starts listening for PSTN

Runtime

  • New writable volume joshu_voice_clips/var/lib/joshu-voice (ArozOS stays read-only for voice-realtime)
  • Docs: passphrase tips for phone ASR (short words blur into neighbours); lock-prompt troubleshooting in voice-realtime.md

Docker images

ghcr.io/db-aeon/joshu-oss:0.1.38
ghcr.io/db-aeon/joshu-oss-voice-realtime:0.1.38

Pins

Component Ref
Hermes a91a57fa5a13d516c38b07a141a9ce8a3daabeb0
gbrain fa2c7a6990a7a57b251979ef6e1988ff09529021
Camofox base ghcr.io/jo-inc/camofox-browser@sha256:3ab61b4742105922aab6f8c99460f55563b6f93e906975383ddce16ec8917f3f

How to update

Existing self-host VPS — full guide: VPS quickstart → Upgrade.

cd /opt/joshu && git pull origin main
# pin instance.env:
JOSHU_RELEASE_VERSION=0.1.38
JOSHU_IMAGE_REF=ghcr.io/db-aeon/joshu-oss:0.1.38
JOSHU_VOICE_IMAGE_REF=ghcr.io/db-aeon/joshu-oss-voice-realtime:0.1.38

set -a && source /etc/joshu/instance.env && set +a
docker pull "$JOSHU_IMAGE_REF"
docker pull "$JOSHU_VOICE_IMAGE_REF" 2>/dev/null || true
bash scripts/sync-dist-from-image.sh
bash deploy/scripts/render-caddyfile.sh /etc/joshu/instance.env
cd deploy && docker compose -f docker-compose.yml --env-file /etc/joshu/instance.env --profile voice-rt up -d --force-recreate