v0.1.1
What's new
ElevenLabs voice replies
- Bot replies with voice notes when you send voice notes (ElevenLabs TTS)
- Add via
/add-voice-replyskill or setELEVENLABS_API_KEYin.env - Kelly voice default, configurable via
ELEVENLABS_VOICE_ID
Model selection
GHOSTCLAW_MODELenv var — default Sonnet, switchable to Opus or Haiku- Setup wizard now asks which model to use
Heartbeat is now core
- Heartbeat monitoring set up automatically during
/setup-ghostclaw - Every 30 minutes, checks logs and disk — only messages you if something needs attention
Bug fixes
Scheduled tasks no longer block messages (critical)
Previously, heartbeat and other scheduled tasks would hold the group slot for up to 30 minutes after completing their work. During that time, every Telegram/WhatsApp message was silently queued and never processed. Now:
- Scheduled tasks exit immediately after completing instead of idling
- Idle task containers are preempted when user messages arrive
Fresh clone reliability
npm installnow automatically bootstrapscontainer/agent-runnervia postinstall- No more manual
cd container/agent-runner && npm installstep
Build and test hardening
setup/verify.tsdead code removed (was referencing unimported functions)tsconfig.check.jsoncoverssetup/,scripts/,skills-engine/— not justsrc/npm run typecheckruns both configs- Voice note test properly mocked and deterministic across environments
- 388/388 tests pass on clean clone
Other
- Agent process names renamed from
nanoclaw-*toghostclaw-* - Heartbeat no longer checks Gmail by default (fails without Gmail skill)
- Heartbeat task prompt uses explicit path for
HEARTBEAT.md - Launchd template includes
/opt/homebrew/binfor Apple Silicon - Setup skill references plist template file instead of inlining stale XML
- MIT licence and
.nvmrcadded
Full changelog: v0.1.0...v0.1.1